react-native-update 10.34.1 → 10.34.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (908) hide show
  1. package/.gitmodules +6 -0
  2. package/harmony/pushy/src/main/cpp/HDiffPatch/CHANGELOG.md +291 -0
  3. package/harmony/pushy/src/main/cpp/HDiffPatch/LICENSE +48 -0
  4. package/harmony/pushy/src/main/cpp/HDiffPatch/Makefile +473 -0
  5. package/harmony/pushy/src/main/cpp/HDiffPatch/README.md +552 -0
  6. package/harmony/pushy/src/main/cpp/HDiffPatch/README_cn.md +547 -0
  7. package/harmony/pushy/src/main/cpp/HDiffPatch/_atosize.h +127 -0
  8. package/harmony/pushy/src/main/cpp/HDiffPatch/_clock_for_demo.h +59 -0
  9. package/harmony/pushy/src/main/cpp/HDiffPatch/_dir_ignore.h +191 -0
  10. package/harmony/pushy/src/main/cpp/HDiffPatch/_hextobytes.h +112 -0
  11. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.cpp +389 -0
  12. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.h +73 -0
  13. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.c +266 -0
  14. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.h +58 -0
  15. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +190 -0
  16. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +8 -0
  17. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  18. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  19. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.bat +1 -0
  20. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.sh +1 -0
  21. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +49 -0
  22. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +31 -0
  23. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +38 -0
  24. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +26 -0
  25. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffPatch.sln +155 -0
  26. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj +364 -0
  27. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj +348 -0
  28. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/bzip2.vcxproj +228 -0
  29. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/hpatchz_test.vcxproj +215 -0
  30. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/libdeflate.vcxproj +256 -0
  31. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/longPathAware.exe.manifest +7 -0
  32. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/lzma.vcxproj +271 -0
  33. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/testHashClash.vcxproj +228 -0
  34. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj +296 -0
  35. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zlib.vcxproj +242 -0
  36. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zstd.vcxproj +287 -0
  37. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +39 -0
  38. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  39. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  40. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +447 -0
  41. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +703 -0
  42. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +463 -0
  43. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/libdeflate.xcodeproj/project.pbxproj +286 -0
  44. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  45. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +585 -0
  46. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  47. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +591 -0
  48. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zlib.xcodeproj/project.pbxproj +308 -0
  49. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +524 -0
  50. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.h +33 -0
  51. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.m +33 -0
  52. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.pbxproj +774 -0
  53. package/harmony/pushy/src/main/cpp/HDiffPatch/checksum_plugin_demo.h +799 -0
  54. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.cpp +201 -0
  55. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.h +59 -0
  56. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_plugin_demo.h +1526 -0
  57. package/harmony/pushy/src/main/cpp/HDiffPatch/decompress_plugin_demo.h +1637 -0
  58. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +846 -0
  59. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +79 -0
  60. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +339 -0
  61. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +190 -0
  62. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +339 -0
  63. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  64. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +43 -0
  65. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +836 -0
  66. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +246 -0
  67. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  68. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
  69. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +69 -0
  70. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +65 -0
  71. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +346 -0
  72. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +149 -0
  73. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  74. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  75. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  76. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  77. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  78. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  79. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.c +735 -0
  80. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.h +240 -0
  81. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz.cpp +1971 -0
  82. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.c +31 -0
  83. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.h +42 -0
  84. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatch_dir_listener.h +307 -0
  85. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatchz.c +1786 -0
  86. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1746 -0
  87. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.h +201 -0
  88. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_for_hpatch_lite.h +74 -0
  89. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +187 -0
  90. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.cpp +478 -0
  91. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.h +222 -0
  92. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +383 -0
  93. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +73 -0
  94. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +184 -0
  95. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +88 -0
  96. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  97. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +325 -0
  98. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.cpp +10 -0
  99. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +97 -0
  100. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.cpp +14 -0
  101. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +108 -0
  102. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +186 -0
  103. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +780 -0
  104. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +579 -0
  105. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +415 -0
  106. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +144 -0
  107. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +164 -0
  108. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +148 -0
  109. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +769 -0
  110. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +97 -0
  111. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +954 -0
  112. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +299 -0
  113. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.cpp +168 -0
  114. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.h +44 -0
  115. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +72 -0
  116. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +130 -0
  117. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/qsort_parallel.h +125 -0
  118. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +428 -0
  119. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +133 -0
  120. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  121. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.c +243 -0
  122. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.h +51 -0
  123. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.c +153 -0
  124. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.h +54 -0
  125. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.c +158 -0
  126. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.h +49 -0
  127. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.c +294 -0
  128. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.h +59 -0
  129. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_patch_private_mt.h +217 -0
  130. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.c +349 -0
  131. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.h +110 -0
  132. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.c +2643 -0
  133. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.h +253 -0
  134. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +245 -0
  135. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +361 -0
  136. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.c +366 -0
  137. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.h +91 -0
  138. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_input_cache.h +31 -0
  139. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_types.h +106 -0
  140. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.cpp +170 -0
  141. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.h +250 -0
  142. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.h +67 -0
  143. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.c +497 -0
  144. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.h +106 -0
  145. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.cpp +254 -0
  146. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.h +39 -0
  147. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_sign_diff_type.h +37 -0
  148. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.cpp +62 -0
  149. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.h +44 -0
  150. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dict_decompress_plugin.h +156 -0
  151. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.cpp +440 -0
  152. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.h +88 -0
  153. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.cpp +332 -0
  154. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.h +48 -0
  155. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_types.h +198 -0
  156. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.cpp +697 -0
  157. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.h +74 -0
  158. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_private.h +262 -0
  159. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type.h +174 -0
  160. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type_private.h +174 -0
  161. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.cpp +252 -0
  162. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.h +67 -0
  163. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.cpp +680 -0
  164. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.h +137 -0
  165. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dict_compress_plugin.h +83 -0
  166. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.cpp +125 -0
  167. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.h +56 -0
  168. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/hsynz_plugin.h +55 -0
  169. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.cpp +147 -0
  170. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.h +38 -0
  171. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.cpp +354 -0
  172. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.h +76 -0
  173. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.cpp +521 -0
  174. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.h +69 -0
  175. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_hash_clash.h +122 -0
  176. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_private.h +66 -0
  177. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type.h +36 -0
  178. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type_private.h +81 -0
  179. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.cpp +247 -0
  180. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.h +71 -0
  181. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.cpp +351 -0
  182. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.h +42 -0
  183. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.cpp +124 -0
  184. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.h +38 -0
  185. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.cpp +203 -0
  186. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.h +55 -0
  187. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.cpp +79 -0
  188. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.h +66 -0
  189. package/harmony/pushy/src/main/cpp/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  190. package/harmony/pushy/src/main/cpp/HDiffPatch/test/hpatchz_test.cpp +291 -0
  191. package/harmony/pushy/src/main/cpp/HDiffPatch/test/testHashClash.cpp +630 -0
  192. package/harmony/pushy/src/main/cpp/HDiffPatch/test/unit_test.cpp +889 -0
  193. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.cpp +628 -0
  194. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.h +95 -0
  195. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_code_table.h +78 -0
  196. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.c +950 -0
  197. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.h +72 -0
  198. package/harmony/pushy/src/main/cpp/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  199. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/7zAsm.S +181 -0
  200. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/LzmaDecOpt.S +1487 -0
  201. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zAsm.asm +341 -0
  202. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zCrcOpt.asm +258 -0
  203. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/AesOpt.asm +742 -0
  204. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzFindOpt.asm +540 -0
  205. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzmaDecOpt.asm +1339 -0
  206. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sha256Opt.asm +275 -0
  207. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sort.asm +860 -0
  208. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/XzCrc64Opt.asm +523 -0
  209. package/harmony/pushy/src/main/cpp/lzma/C/7z.h +204 -0
  210. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.c +89 -0
  211. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.h +19 -0
  212. package/harmony/pushy/src/main/cpp/lzma/C/7zArcIn.c +1786 -0
  213. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.c +36 -0
  214. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.h +35 -0
  215. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf2.c +52 -0
  216. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.c +464 -0
  217. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.h +28 -0
  218. package/harmony/pushy/src/main/cpp/lzma/C/7zCrcOpt.c +199 -0
  219. package/harmony/pushy/src/main/cpp/lzma/C/7zDec.c +673 -0
  220. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.c +443 -0
  221. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.h +92 -0
  222. package/harmony/pushy/src/main/cpp/lzma/C/7zStream.c +199 -0
  223. package/harmony/pushy/src/main/cpp/lzma/C/7zTypes.h +597 -0
  224. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.h +27 -0
  225. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.rc +55 -0
  226. package/harmony/pushy/src/main/cpp/lzma/C/7zWindows.h +101 -0
  227. package/harmony/pushy/src/main/cpp/lzma/C/7zip_gcc_c.mak +360 -0
  228. package/harmony/pushy/src/main/cpp/lzma/C/Aes.c +429 -0
  229. package/harmony/pushy/src/main/cpp/lzma/C/Aes.h +60 -0
  230. package/harmony/pushy/src/main/cpp/lzma/C/AesOpt.c +1002 -0
  231. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.c +605 -0
  232. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.h +76 -0
  233. package/harmony/pushy/src/main/cpp/lzma/C/Asm_c.mak +12 -0
  234. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.c +290 -0
  235. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.h +332 -0
  236. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2Enc.c +506 -0
  237. package/harmony/pushy/src/main/cpp/lzma/C/Bra.c +709 -0
  238. package/harmony/pushy/src/main/cpp/lzma/C/Bra.h +105 -0
  239. package/harmony/pushy/src/main/cpp/lzma/C/Bra86.c +187 -0
  240. package/harmony/pushy/src/main/cpp/lzma/C/BraIA64.c +14 -0
  241. package/harmony/pushy/src/main/cpp/lzma/C/Compiler.h +246 -0
  242. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.c +970 -0
  243. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.h +686 -0
  244. package/harmony/pushy/src/main/cpp/lzma/C/Delta.c +169 -0
  245. package/harmony/pushy/src/main/cpp/lzma/C/Delta.h +19 -0
  246. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.c +99 -0
  247. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.h +20 -0
  248. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.c +1746 -0
  249. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.h +160 -0
  250. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.c +1422 -0
  251. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.h +114 -0
  252. package/harmony/pushy/src/main/cpp/lzma/C/LzFindOpt.c +578 -0
  253. package/harmony/pushy/src/main/cpp/lzma/C/LzHash.h +34 -0
  254. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.c +493 -0
  255. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.h +121 -0
  256. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.c +1095 -0
  257. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.h +81 -0
  258. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.c +807 -0
  259. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.h +58 -0
  260. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86.h +111 -0
  261. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Dec.c +53 -0
  262. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Enc.c +103 -0
  263. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.c +1363 -0
  264. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.h +237 -0
  265. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.c +3150 -0
  266. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.h +85 -0
  267. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.c +42 -0
  268. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.h +138 -0
  269. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.c +604 -0
  270. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.h +144 -0
  271. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.c +1124 -0
  272. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.h +202 -0
  273. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd.h +169 -0
  274. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.c +1131 -0
  275. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.h +181 -0
  276. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Dec.c +312 -0
  277. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Enc.c +337 -0
  278. package/harmony/pushy/src/main/cpp/lzma/C/Precomp.h +127 -0
  279. package/harmony/pushy/src/main/cpp/lzma/C/RotateDefs.h +50 -0
  280. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.c +492 -0
  281. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.h +86 -0
  282. package/harmony/pushy/src/main/cpp/lzma/C/Sha256Opt.c +451 -0
  283. package/harmony/pushy/src/main/cpp/lzma/C/Sort.c +268 -0
  284. package/harmony/pushy/src/main/cpp/lzma/C/Sort.h +15 -0
  285. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.c +835 -0
  286. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.h +17 -0
  287. package/harmony/pushy/src/main/cpp/lzma/C/Threads.c +812 -0
  288. package/harmony/pushy/src/main/cpp/lzma/C/Threads.h +260 -0
  289. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsp +249 -0
  290. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsw +29 -0
  291. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7zMain.c +889 -0
  292. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.c +4 -0
  293. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.h +13 -0
  294. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile +44 -0
  295. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile.gcc +32 -0
  296. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.c +313 -0
  297. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsp +192 -0
  298. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  299. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/Precomp.h +13 -0
  300. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile +30 -0
  301. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile.gcc +21 -0
  302. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  303. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  304. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  305. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  306. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.c +4 -0
  307. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.h +13 -0
  308. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/makefile +59 -0
  309. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/resource.rc +3 -0
  310. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  311. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.h +13 -0
  312. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.c +657 -0
  313. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  314. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  315. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile +44 -0
  316. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile_con +40 -0
  317. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/resource.rc +5 -0
  318. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/setup.ico +0 -0
  319. package/harmony/pushy/src/main/cpp/lzma/C/Xz.c +92 -0
  320. package/harmony/pushy/src/main/cpp/lzma/C/Xz.h +542 -0
  321. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.c +140 -0
  322. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.h +26 -0
  323. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64Opt.c +261 -0
  324. package/harmony/pushy/src/main/cpp/lzma/C/XzDec.c +2876 -0
  325. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.c +1384 -0
  326. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.h +64 -0
  327. package/harmony/pushy/src/main/cpp/lzma/C/XzIn.c +385 -0
  328. package/harmony/pushy/src/main/cpp/lzma/C/var_clang.mak +11 -0
  329. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_arm64.mak +12 -0
  330. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x64.mak +11 -0
  331. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x86.mak +11 -0
  332. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc.mak +12 -0
  333. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_arm64.mak +12 -0
  334. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x64.mak +10 -0
  335. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x86.mak +10 -0
  336. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_arm64.mak +11 -0
  337. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_x64.mak +11 -0
  338. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang.mak +1 -0
  339. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang_mac.mak +1 -0
  340. package/harmony/pushy/src/main/cpp/lzma/C/warn_gcc.mak +51 -0
  341. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip.mak +240 -0
  342. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip_gcc.mak +1370 -0
  343. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Aes.mak +10 -0
  344. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  345. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  346. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  347. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  348. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +721 -0
  349. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  350. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  351. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  352. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  353. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +795 -0
  354. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  355. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  356. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  357. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  358. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1764 -0
  359. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.h +454 -0
  360. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zItem.h +207 -0
  361. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  362. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.h +346 -0
  363. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  364. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  365. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  366. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  367. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  368. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +3088 -0
  369. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  370. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  371. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  372. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive.def +14 -0
  373. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive2.def +21 -0
  374. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  375. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  376. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  377. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  378. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  379. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  380. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  381. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  382. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  383. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  384. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  385. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  386. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  387. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  388. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  389. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  390. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  391. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  392. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/DllExports2.cpp +175 -0
  393. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/IArchive.h +754 -0
  394. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  395. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/LzmaHandler.cpp +608 -0
  396. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  397. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/StdAfx.h +11 -0
  398. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  399. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  400. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Asm.mak +12 -0
  401. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  402. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  403. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  404. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  405. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  406. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile.gcc +279 -0
  407. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  408. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  409. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  410. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  411. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  412. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  413. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  414. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  415. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  416. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +817 -0
  417. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  418. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  419. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  420. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  421. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  422. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  423. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  424. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  425. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  426. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  427. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  428. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  429. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  430. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  431. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  432. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  433. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  434. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  435. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  436. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  437. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  438. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  439. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  440. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +371 -0
  441. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  442. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  443. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  444. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  445. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  446. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  447. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  448. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  449. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  450. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  451. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  452. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  453. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  454. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  455. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  456. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.cpp +358 -0
  457. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.h +182 -0
  458. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.cpp +548 -0
  459. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.h +200 -0
  460. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  461. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  462. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.cpp +923 -0
  463. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.h +205 -0
  464. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.cpp +577 -0
  465. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.h +201 -0
  466. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.cpp +182 -0
  467. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.h +121 -0
  468. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  469. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  470. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.cpp +393 -0
  471. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.h +221 -0
  472. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  473. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  474. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  475. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.h +10 -0
  476. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.cpp +765 -0
  477. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.h +349 -0
  478. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  479. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.h +160 -0
  480. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.cpp +37 -0
  481. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.h +22 -0
  482. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  483. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.h +133 -0
  484. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  485. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.h +33 -0
  486. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/PropId.cpp +117 -0
  487. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterArc.h +80 -0
  488. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  489. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StdAfx.h +11 -0
  490. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.cpp +151 -0
  491. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.h +78 -0
  492. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.cpp +290 -0
  493. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.h +146 -0
  494. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.cpp +101 -0
  495. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.h +31 -0
  496. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  497. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.h +41 -0
  498. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.cpp +47 -0
  499. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  500. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  501. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  502. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  503. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  504. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.h +37 -0
  505. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  506. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  507. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.h +59 -0
  508. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  509. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  510. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CodecExports.cpp +378 -0
  511. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  512. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.h +34 -0
  513. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  514. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  515. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  516. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  517. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  518. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  519. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  520. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  521. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  522. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  523. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  524. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  525. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  526. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  527. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  528. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  529. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  530. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/StdAfx.h +11 -0
  531. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  532. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.h +86 -0
  533. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  534. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.h +35 -0
  535. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc.mak +8 -0
  536. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc64.mak +8 -0
  537. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.cpp +315 -0
  538. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.h +130 -0
  539. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  540. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.cpp +277 -0
  541. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.h +122 -0
  542. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  543. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.cpp +241 -0
  544. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.h +41 -0
  545. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/StdAfx.h +11 -0
  546. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/GuiCommon.rc +119 -0
  547. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Guid.txt +243 -0
  548. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/ICoder.h +480 -0
  549. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IDecl.h +76 -0
  550. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IPassword.h +54 -0
  551. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IProgress.h +20 -0
  552. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IStream.h +210 -0
  553. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzFindOpt.mak +7 -0
  554. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec.mak +7 -0
  555. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec_gcc.mak +14 -0
  556. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersion.h +2 -0
  557. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  558. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/PropID.h +178 -0
  559. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sha256.mak +13 -0
  560. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sort.mak +6 -0
  561. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/SubBuild.mak +3 -0
  562. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  563. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  564. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  565. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  566. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  567. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile +29 -0
  568. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  569. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  570. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1799 -0
  571. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  572. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3077 -0
  573. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +641 -0
  574. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  575. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  576. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +398 -0
  577. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  578. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.cpp +5026 -0
  579. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.h +121 -0
  580. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  581. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  582. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DirItem.h +407 -0
  583. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  584. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  585. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  586. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.cpp +575 -0
  587. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.h +107 -0
  588. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  589. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +296 -0
  590. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  591. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  592. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.h +322 -0
  593. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  594. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1337 -0
  595. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  596. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3702 -0
  597. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  598. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +745 -0
  599. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  600. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  601. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  602. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  603. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  604. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  605. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/StdAfx.h +11 -0
  606. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  607. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.h +19 -0
  608. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.cpp +1931 -0
  609. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.h +221 -0
  610. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  611. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  612. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +1069 -0
  613. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  614. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +302 -0
  615. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  616. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +74 -0
  617. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  618. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  619. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.h +30 -0
  620. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  621. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  622. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  623. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.mak +46 -0
  624. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.manifest +16 -0
  625. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  626. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  627. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +946 -0
  628. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  629. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  630. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.h +58 -0
  631. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.cpp +1417 -0
  632. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.h +42 -0
  633. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Main.cpp +1635 -0
  634. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  635. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  636. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  637. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  638. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  639. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  640. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.h +11 -0
  641. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +998 -0
  642. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  643. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  644. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  645. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile +68 -0
  646. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile.gcc +187 -0
  647. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  648. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  649. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  650. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  651. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  652. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  653. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  654. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  655. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  656. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  657. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1272 -0
  658. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  659. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  660. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  661. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  662. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  663. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  664. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  665. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  666. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  667. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  668. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  669. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  670. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  671. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  672. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  673. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  674. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  675. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  676. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  677. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1483 -0
  678. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  679. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  680. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  681. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  682. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  683. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  684. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  685. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  686. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  687. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +351 -0
  688. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  689. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resource.h +199 -0
  690. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  691. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  692. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  693. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +421 -0
  694. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  695. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  696. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  697. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  698. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  699. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  700. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  701. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  702. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang.mak +3 -0
  703. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  704. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x64.mak +3 -0
  705. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x86.mak +3 -0
  706. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc.mak +3 -0
  707. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  708. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  709. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  710. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  711. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_x64.mak +3 -0
  712. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang.mak +11 -0
  713. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_arm64.mak +19 -0
  714. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x64.mak +11 -0
  715. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x86.mak +11 -0
  716. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc.mak +12 -0
  717. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_arm64.mak +12 -0
  718. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x64.mak +11 -0
  719. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x86.mak +10 -0
  720. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_arm64.mak +13 -0
  721. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_x64.mak +11 -0
  722. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang.mak +3 -0
  723. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang_mac.mak +9 -0
  724. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_gcc.mak +55 -0
  725. package/harmony/pushy/src/main/cpp/lzma/CPP/Build.mak +252 -0
  726. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/AutoPtr.h +46 -0
  727. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CRC.cpp +7 -0
  728. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.cpp +3 -0
  729. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.h +6 -0
  730. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ComTry.h +21 -0
  731. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.cpp +231 -0
  732. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.h +63 -0
  733. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common.h +28 -0
  734. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common0.h +330 -0
  735. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CrcReg.cpp +77 -0
  736. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Defs.h +16 -0
  737. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.cpp +93 -0
  738. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.h +41 -0
  739. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynamicBuffer.h +76 -0
  740. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.cpp +215 -0
  741. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.h +54 -0
  742. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Lang.h +30 -0
  743. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.cpp +150 -0
  744. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.h +18 -0
  745. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/LzFindPrepare.cpp +7 -0
  746. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer.h +297 -0
  747. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer2.h +185 -0
  748. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyCom.h +693 -0
  749. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyException.h +14 -0
  750. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyGuidDef.h +63 -0
  751. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyInitGuid.h +57 -0
  752. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyLinux.h +75 -0
  753. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.cpp +1842 -0
  754. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.h +1079 -0
  755. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyTypes.h +38 -0
  756. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyUnknown.h +8 -0
  757. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.cpp +3 -0
  758. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.h +724 -0
  759. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.cpp +292 -0
  760. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.h +325 -0
  761. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.cpp +340 -0
  762. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.h +121 -0
  763. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Prepare.cpp +7 -0
  764. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Reg.cpp +67 -0
  765. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdAfx.h +8 -0
  766. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.cpp +98 -0
  767. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.h +46 -0
  768. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.cpp +248 -0
  769. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.h +87 -0
  770. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.cpp +762 -0
  771. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.h +110 -0
  772. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.cpp +154 -0
  773. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.h +38 -0
  774. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.cpp +123 -0
  775. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.h +19 -0
  776. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.cpp +863 -0
  777. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.h +384 -0
  778. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.cpp +789 -0
  779. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.h +231 -0
  780. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  781. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Reg.cpp +39 -0
  782. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/COM.h +86 -0
  783. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.cpp +130 -0
  784. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.h +28 -0
  785. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.cpp +269 -0
  786. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.h +43 -0
  787. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  788. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.h +77 -0
  789. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  790. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.cpp +446 -0
  791. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.h +213 -0
  792. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Edit.h +19 -0
  793. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  794. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.h +87 -0
  795. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.cpp +162 -0
  796. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.h +156 -0
  797. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  798. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.cpp +165 -0
  799. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  800. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ReBar.h +34 -0
  801. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Static.h +28 -0
  802. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  803. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StdAfx.h +11 -0
  804. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  805. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  806. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.cpp +202 -0
  807. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.h +53 -0
  808. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.cpp +178 -0
  809. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.h +103 -0
  810. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Defs.h +17 -0
  811. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.cpp +133 -0
  812. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.h +16 -0
  813. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.cpp +1362 -0
  814. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.h +172 -0
  815. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.cpp +1449 -0
  816. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.h +347 -0
  817. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.cpp +954 -0
  818. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.h +467 -0
  819. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileLink.cpp +697 -0
  820. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.cpp +12 -0
  821. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.h +66 -0
  822. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.cpp +911 -0
  823. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.h +142 -0
  824. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.cpp +187 -0
  825. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.h +31 -0
  826. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Handle.h +39 -0
  827. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.cpp +36 -0
  828. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.h +55 -0
  829. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.cpp +127 -0
  830. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.h +40 -0
  831. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/NtCheck.h +58 -0
  832. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.cpp +393 -0
  833. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.h +173 -0
  834. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.cpp +274 -0
  835. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.h +47 -0
  836. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.cpp +474 -0
  837. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.h +96 -0
  838. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.cpp +103 -0
  839. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.h +17 -0
  840. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.cpp +186 -0
  841. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.h +150 -0
  842. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.cpp +839 -0
  843. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.h +129 -0
  844. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/StdAfx.h +11 -0
  845. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.cpp +87 -0
  846. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.h +386 -0
  847. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.cpp +421 -0
  848. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.h +189 -0
  849. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.cpp +1251 -0
  850. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.h +19 -0
  851. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Thread.h +46 -0
  852. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.cpp +467 -0
  853. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.h +146 -0
  854. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.cpp +179 -0
  855. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.h +363 -0
  856. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CRC.cs +55 -0
  857. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  858. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  859. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  860. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  861. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  862. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  863. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  864. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  865. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  866. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  867. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  868. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  869. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  870. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  871. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  872. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  873. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  874. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  875. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  876. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/ICoder.cs +157 -0
  877. package/harmony/pushy/src/main/cpp/lzma/DOC/7zC.txt +187 -0
  878. package/harmony/pushy/src/main/cpp/lzma/DOC/7zFormat.txt +469 -0
  879. package/harmony/pushy/src/main/cpp/lzma/DOC/Methods.txt +177 -0
  880. package/harmony/pushy/src/main/cpp/lzma/DOC/installer.txt +166 -0
  881. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-history.txt +651 -0
  882. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-sdk.txt +437 -0
  883. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-specification.txt +1176 -0
  884. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma.txt +345 -0
  885. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/CRC.java +52 -0
  886. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  887. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  888. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  889. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  890. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  891. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  892. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  893. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  894. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  895. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  896. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  897. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  898. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaBench.java +392 -0
  899. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2.sfx +0 -0
  900. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2con.sfx +0 -0
  901. package/harmony/pushy/src/main/cpp/lzma/bin/7zSD.sfx +0 -0
  902. package/harmony/pushy/src/main/cpp/lzma/bin/7zdec.exe +0 -0
  903. package/harmony/pushy/src/main/cpp/lzma/bin/7zr.exe +0 -0
  904. package/harmony/pushy/src/main/cpp/lzma/bin/installer/config.txt +5 -0
  905. package/harmony/pushy/src/main/cpp/lzma/bin/installer/cr.bat +5 -0
  906. package/harmony/pushy/src/main/cpp/lzma/bin/lzma.exe +0 -0
  907. package/harmony/pushy/src/main/cpp/lzma/bin/x64/7zr.exe +0 -0
  908. package/package.json +1 -1
@@ -0,0 +1,1480 @@
1
+ // LzmaEncoder.cs
2
+
3
+ using System;
4
+
5
+ namespace SevenZip.Compression.LZMA
6
+ {
7
+ using RangeCoder;
8
+
9
+ public class Encoder : ICoder, ISetCoderProperties, IWriteCoderProperties
10
+ {
11
+ enum EMatchFinderType
12
+ {
13
+ BT2,
14
+ BT4,
15
+ };
16
+
17
+ const UInt32 kIfinityPrice = 0xFFFFFFF;
18
+
19
+ static Byte[] g_FastPos = new Byte[1 << 11];
20
+
21
+ static Encoder()
22
+ {
23
+ const Byte kFastSlots = 22;
24
+ int c = 2;
25
+ g_FastPos[0] = 0;
26
+ g_FastPos[1] = 1;
27
+ for (Byte slotFast = 2; slotFast < kFastSlots; slotFast++)
28
+ {
29
+ UInt32 k = ((UInt32)1 << ((slotFast >> 1) - 1));
30
+ for (UInt32 j = 0; j < k; j++, c++)
31
+ g_FastPos[c] = slotFast;
32
+ }
33
+ }
34
+
35
+ static UInt32 GetPosSlot(UInt32 pos)
36
+ {
37
+ if (pos < (1 << 11))
38
+ return g_FastPos[pos];
39
+ if (pos < (1 << 21))
40
+ return (UInt32)(g_FastPos[pos >> 10] + 20);
41
+ return (UInt32)(g_FastPos[pos >> 20] + 40);
42
+ }
43
+
44
+ static UInt32 GetPosSlot2(UInt32 pos)
45
+ {
46
+ if (pos < (1 << 17))
47
+ return (UInt32)(g_FastPos[pos >> 6] + 12);
48
+ if (pos < (1 << 27))
49
+ return (UInt32)(g_FastPos[pos >> 16] + 32);
50
+ return (UInt32)(g_FastPos[pos >> 26] + 52);
51
+ }
52
+
53
+ Base.State _state = new Base.State();
54
+ Byte _previousByte;
55
+ UInt32[] _repDistances = new UInt32[Base.kNumRepDistances];
56
+
57
+ void BaseInit()
58
+ {
59
+ _state.Init();
60
+ _previousByte = 0;
61
+ for (UInt32 i = 0; i < Base.kNumRepDistances; i++)
62
+ _repDistances[i] = 0;
63
+ }
64
+
65
+ const int kDefaultDictionaryLogSize = 22;
66
+ const UInt32 kNumFastBytesDefault = 0x20;
67
+
68
+ class LiteralEncoder
69
+ {
70
+ public struct Encoder2
71
+ {
72
+ BitEncoder[] m_Encoders;
73
+
74
+ public void Create() { m_Encoders = new BitEncoder[0x300]; }
75
+
76
+ public void Init() { for (int i = 0; i < 0x300; i++) m_Encoders[i].Init(); }
77
+
78
+ public void Encode(RangeCoder.Encoder rangeEncoder, byte symbol)
79
+ {
80
+ uint context = 1;
81
+ for (int i = 7; i >= 0; i--)
82
+ {
83
+ uint bit = (uint)((symbol >> i) & 1);
84
+ m_Encoders[context].Encode(rangeEncoder, bit);
85
+ context = (context << 1) | bit;
86
+ }
87
+ }
88
+
89
+ public void EncodeMatched(RangeCoder.Encoder rangeEncoder, byte matchByte, byte symbol)
90
+ {
91
+ uint context = 1;
92
+ bool same = true;
93
+ for (int i = 7; i >= 0; i--)
94
+ {
95
+ uint bit = (uint)((symbol >> i) & 1);
96
+ uint state = context;
97
+ if (same)
98
+ {
99
+ uint matchBit = (uint)((matchByte >> i) & 1);
100
+ state += ((1 + matchBit) << 8);
101
+ same = (matchBit == bit);
102
+ }
103
+ m_Encoders[state].Encode(rangeEncoder, bit);
104
+ context = (context << 1) | bit;
105
+ }
106
+ }
107
+
108
+ public uint GetPrice(bool matchMode, byte matchByte, byte symbol)
109
+ {
110
+ uint price = 0;
111
+ uint context = 1;
112
+ int i = 7;
113
+ if (matchMode)
114
+ {
115
+ for (; i >= 0; i--)
116
+ {
117
+ uint matchBit = (uint)(matchByte >> i) & 1;
118
+ uint bit = (uint)(symbol >> i) & 1;
119
+ price += m_Encoders[((1 + matchBit) << 8) + context].GetPrice(bit);
120
+ context = (context << 1) | bit;
121
+ if (matchBit != bit)
122
+ {
123
+ i--;
124
+ break;
125
+ }
126
+ }
127
+ }
128
+ for (; i >= 0; i--)
129
+ {
130
+ uint bit = (uint)(symbol >> i) & 1;
131
+ price += m_Encoders[context].GetPrice(bit);
132
+ context = (context << 1) | bit;
133
+ }
134
+ return price;
135
+ }
136
+ }
137
+
138
+ Encoder2[] m_Coders;
139
+ int m_NumPrevBits;
140
+ int m_NumPosBits;
141
+ uint m_PosMask;
142
+
143
+ public void Create(int numPosBits, int numPrevBits)
144
+ {
145
+ if (m_Coders != null && m_NumPrevBits == numPrevBits && m_NumPosBits == numPosBits)
146
+ return;
147
+ m_NumPosBits = numPosBits;
148
+ m_PosMask = ((uint)1 << numPosBits) - 1;
149
+ m_NumPrevBits = numPrevBits;
150
+ uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits);
151
+ m_Coders = new Encoder2[numStates];
152
+ for (uint i = 0; i < numStates; i++)
153
+ m_Coders[i].Create();
154
+ }
155
+
156
+ public void Init()
157
+ {
158
+ uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits);
159
+ for (uint i = 0; i < numStates; i++)
160
+ m_Coders[i].Init();
161
+ }
162
+
163
+ public Encoder2 GetSubCoder(UInt32 pos, Byte prevByte)
164
+ { return m_Coders[((pos & m_PosMask) << m_NumPrevBits) + (uint)(prevByte >> (8 - m_NumPrevBits))]; }
165
+ }
166
+
167
+ class LenEncoder
168
+ {
169
+ RangeCoder.BitEncoder _choice = new RangeCoder.BitEncoder();
170
+ RangeCoder.BitEncoder _choice2 = new RangeCoder.BitEncoder();
171
+ RangeCoder.BitTreeEncoder[] _lowCoder = new RangeCoder.BitTreeEncoder[Base.kNumPosStatesEncodingMax];
172
+ RangeCoder.BitTreeEncoder[] _midCoder = new RangeCoder.BitTreeEncoder[Base.kNumPosStatesEncodingMax];
173
+ RangeCoder.BitTreeEncoder _highCoder = new RangeCoder.BitTreeEncoder(Base.kNumHighLenBits);
174
+
175
+ public LenEncoder()
176
+ {
177
+ for (UInt32 posState = 0; posState < Base.kNumPosStatesEncodingMax; posState++)
178
+ {
179
+ _lowCoder[posState] = new RangeCoder.BitTreeEncoder(Base.kNumLowLenBits);
180
+ _midCoder[posState] = new RangeCoder.BitTreeEncoder(Base.kNumMidLenBits);
181
+ }
182
+ }
183
+
184
+ public void Init(UInt32 numPosStates)
185
+ {
186
+ _choice.Init();
187
+ _choice2.Init();
188
+ for (UInt32 posState = 0; posState < numPosStates; posState++)
189
+ {
190
+ _lowCoder[posState].Init();
191
+ _midCoder[posState].Init();
192
+ }
193
+ _highCoder.Init();
194
+ }
195
+
196
+ public void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbol, UInt32 posState)
197
+ {
198
+ if (symbol < Base.kNumLowLenSymbols)
199
+ {
200
+ _choice.Encode(rangeEncoder, 0);
201
+ _lowCoder[posState].Encode(rangeEncoder, symbol);
202
+ }
203
+ else
204
+ {
205
+ symbol -= Base.kNumLowLenSymbols;
206
+ _choice.Encode(rangeEncoder, 1);
207
+ if (symbol < Base.kNumMidLenSymbols)
208
+ {
209
+ _choice2.Encode(rangeEncoder, 0);
210
+ _midCoder[posState].Encode(rangeEncoder, symbol);
211
+ }
212
+ else
213
+ {
214
+ _choice2.Encode(rangeEncoder, 1);
215
+ _highCoder.Encode(rangeEncoder, symbol - Base.kNumMidLenSymbols);
216
+ }
217
+ }
218
+ }
219
+
220
+ public void SetPrices(UInt32 posState, UInt32 numSymbols, UInt32[] prices, UInt32 st)
221
+ {
222
+ UInt32 a0 = _choice.GetPrice0();
223
+ UInt32 a1 = _choice.GetPrice1();
224
+ UInt32 b0 = a1 + _choice2.GetPrice0();
225
+ UInt32 b1 = a1 + _choice2.GetPrice1();
226
+ UInt32 i = 0;
227
+ for (i = 0; i < Base.kNumLowLenSymbols; i++)
228
+ {
229
+ if (i >= numSymbols)
230
+ return;
231
+ prices[st + i] = a0 + _lowCoder[posState].GetPrice(i);
232
+ }
233
+ for (; i < Base.kNumLowLenSymbols + Base.kNumMidLenSymbols; i++)
234
+ {
235
+ if (i >= numSymbols)
236
+ return;
237
+ prices[st + i] = b0 + _midCoder[posState].GetPrice(i - Base.kNumLowLenSymbols);
238
+ }
239
+ for (; i < numSymbols; i++)
240
+ prices[st + i] = b1 + _highCoder.GetPrice(i - Base.kNumLowLenSymbols - Base.kNumMidLenSymbols);
241
+ }
242
+ };
243
+
244
+ const UInt32 kNumLenSpecSymbols = Base.kNumLowLenSymbols + Base.kNumMidLenSymbols;
245
+
246
+ class LenPriceTableEncoder : LenEncoder
247
+ {
248
+ UInt32[] _prices = new UInt32[Base.kNumLenSymbols << Base.kNumPosStatesBitsEncodingMax];
249
+ UInt32 _tableSize;
250
+ UInt32[] _counters = new UInt32[Base.kNumPosStatesEncodingMax];
251
+
252
+ public void SetTableSize(UInt32 tableSize) { _tableSize = tableSize; }
253
+
254
+ public UInt32 GetPrice(UInt32 symbol, UInt32 posState)
255
+ {
256
+ return _prices[posState * Base.kNumLenSymbols + symbol];
257
+ }
258
+
259
+ void UpdateTable(UInt32 posState)
260
+ {
261
+ SetPrices(posState, _tableSize, _prices, posState * Base.kNumLenSymbols);
262
+ _counters[posState] = _tableSize;
263
+ }
264
+
265
+ public void UpdateTables(UInt32 numPosStates)
266
+ {
267
+ for (UInt32 posState = 0; posState < numPosStates; posState++)
268
+ UpdateTable(posState);
269
+ }
270
+
271
+ public new void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbol, UInt32 posState)
272
+ {
273
+ base.Encode(rangeEncoder, symbol, posState);
274
+ if (--_counters[posState] == 0)
275
+ UpdateTable(posState);
276
+ }
277
+ }
278
+
279
+ const UInt32 kNumOpts = 1 << 12;
280
+ class Optimal
281
+ {
282
+ public Base.State State;
283
+
284
+ public bool Prev1IsChar;
285
+ public bool Prev2;
286
+
287
+ public UInt32 PosPrev2;
288
+ public UInt32 BackPrev2;
289
+
290
+ public UInt32 Price;
291
+ public UInt32 PosPrev;
292
+ public UInt32 BackPrev;
293
+
294
+ public UInt32 Backs0;
295
+ public UInt32 Backs1;
296
+ public UInt32 Backs2;
297
+ public UInt32 Backs3;
298
+
299
+ public void MakeAsChar() { BackPrev = 0xFFFFFFFF; Prev1IsChar = false; }
300
+ public void MakeAsShortRep() { BackPrev = 0; ; Prev1IsChar = false; }
301
+ public bool IsShortRep() { return (BackPrev == 0); }
302
+ };
303
+ Optimal[] _optimum = new Optimal[kNumOpts];
304
+ LZ.IMatchFinder _matchFinder = null;
305
+ RangeCoder.Encoder _rangeEncoder = new RangeCoder.Encoder();
306
+
307
+ RangeCoder.BitEncoder[] _isMatch = new RangeCoder.BitEncoder[Base.kNumStates << Base.kNumPosStatesBitsMax];
308
+ RangeCoder.BitEncoder[] _isRep = new RangeCoder.BitEncoder[Base.kNumStates];
309
+ RangeCoder.BitEncoder[] _isRepG0 = new RangeCoder.BitEncoder[Base.kNumStates];
310
+ RangeCoder.BitEncoder[] _isRepG1 = new RangeCoder.BitEncoder[Base.kNumStates];
311
+ RangeCoder.BitEncoder[] _isRepG2 = new RangeCoder.BitEncoder[Base.kNumStates];
312
+ RangeCoder.BitEncoder[] _isRep0Long = new RangeCoder.BitEncoder[Base.kNumStates << Base.kNumPosStatesBitsMax];
313
+
314
+ RangeCoder.BitTreeEncoder[] _posSlotEncoder = new RangeCoder.BitTreeEncoder[Base.kNumLenToPosStates];
315
+
316
+ RangeCoder.BitEncoder[] _posEncoders = new RangeCoder.BitEncoder[Base.kNumFullDistances - Base.kEndPosModelIndex];
317
+ RangeCoder.BitTreeEncoder _posAlignEncoder = new RangeCoder.BitTreeEncoder(Base.kNumAlignBits);
318
+
319
+ LenPriceTableEncoder _lenEncoder = new LenPriceTableEncoder();
320
+ LenPriceTableEncoder _repMatchLenEncoder = new LenPriceTableEncoder();
321
+
322
+ LiteralEncoder _literalEncoder = new LiteralEncoder();
323
+
324
+ UInt32[] _matchDistances = new UInt32[Base.kMatchMaxLen * 2 + 2];
325
+
326
+ UInt32 _numFastBytes = kNumFastBytesDefault;
327
+ UInt32 _longestMatchLength;
328
+ UInt32 _numDistancePairs;
329
+
330
+ UInt32 _additionalOffset;
331
+
332
+ UInt32 _optimumEndIndex;
333
+ UInt32 _optimumCurrentIndex;
334
+
335
+ bool _longestMatchWasFound;
336
+
337
+ UInt32[] _posSlotPrices = new UInt32[1 << (Base.kNumPosSlotBits + Base.kNumLenToPosStatesBits)];
338
+ UInt32[] _distancesPrices = new UInt32[Base.kNumFullDistances << Base.kNumLenToPosStatesBits];
339
+ UInt32[] _alignPrices = new UInt32[Base.kAlignTableSize];
340
+ UInt32 _alignPriceCount;
341
+
342
+ UInt32 _distTableSize = (kDefaultDictionaryLogSize * 2);
343
+
344
+ int _posStateBits = 2;
345
+ UInt32 _posStateMask = (4 - 1);
346
+ int _numLiteralPosStateBits = 0;
347
+ int _numLiteralContextBits = 3;
348
+
349
+ UInt32 _dictionarySize = (1 << kDefaultDictionaryLogSize);
350
+ UInt32 _dictionarySizePrev = 0xFFFFFFFF;
351
+ UInt32 _numFastBytesPrev = 0xFFFFFFFF;
352
+
353
+ Int64 nowPos64;
354
+ bool _finished;
355
+ System.IO.Stream _inStream;
356
+
357
+ EMatchFinderType _matchFinderType = EMatchFinderType.BT4;
358
+ bool _writeEndMark = false;
359
+
360
+ bool _needReleaseMFStream;
361
+
362
+ void Create()
363
+ {
364
+ if (_matchFinder == null)
365
+ {
366
+ LZ.BinTree bt = new LZ.BinTree();
367
+ int numHashBytes = 4;
368
+ if (_matchFinderType == EMatchFinderType.BT2)
369
+ numHashBytes = 2;
370
+ bt.SetType(numHashBytes);
371
+ _matchFinder = bt;
372
+ }
373
+ _literalEncoder.Create(_numLiteralPosStateBits, _numLiteralContextBits);
374
+
375
+ if (_dictionarySize == _dictionarySizePrev && _numFastBytesPrev == _numFastBytes)
376
+ return;
377
+ _matchFinder.Create(_dictionarySize, kNumOpts, _numFastBytes, Base.kMatchMaxLen + 1);
378
+ _dictionarySizePrev = _dictionarySize;
379
+ _numFastBytesPrev = _numFastBytes;
380
+ }
381
+
382
+ public Encoder()
383
+ {
384
+ for (int i = 0; i < kNumOpts; i++)
385
+ _optimum[i] = new Optimal();
386
+ for (int i = 0; i < Base.kNumLenToPosStates; i++)
387
+ _posSlotEncoder[i] = new RangeCoder.BitTreeEncoder(Base.kNumPosSlotBits);
388
+ }
389
+
390
+ void SetWriteEndMarkerMode(bool writeEndMarker)
391
+ {
392
+ _writeEndMark = writeEndMarker;
393
+ }
394
+
395
+ void Init()
396
+ {
397
+ BaseInit();
398
+ _rangeEncoder.Init();
399
+
400
+ uint i;
401
+ for (i = 0; i < Base.kNumStates; i++)
402
+ {
403
+ for (uint j = 0; j <= _posStateMask; j++)
404
+ {
405
+ uint complexState = (i << Base.kNumPosStatesBitsMax) + j;
406
+ _isMatch[complexState].Init();
407
+ _isRep0Long[complexState].Init();
408
+ }
409
+ _isRep[i].Init();
410
+ _isRepG0[i].Init();
411
+ _isRepG1[i].Init();
412
+ _isRepG2[i].Init();
413
+ }
414
+ _literalEncoder.Init();
415
+ for (i = 0; i < Base.kNumLenToPosStates; i++)
416
+ _posSlotEncoder[i].Init();
417
+ for (i = 0; i < Base.kNumFullDistances - Base.kEndPosModelIndex; i++)
418
+ _posEncoders[i].Init();
419
+
420
+ _lenEncoder.Init((UInt32)1 << _posStateBits);
421
+ _repMatchLenEncoder.Init((UInt32)1 << _posStateBits);
422
+
423
+ _posAlignEncoder.Init();
424
+
425
+ _longestMatchWasFound = false;
426
+ _optimumEndIndex = 0;
427
+ _optimumCurrentIndex = 0;
428
+ _additionalOffset = 0;
429
+ }
430
+
431
+ void ReadMatchDistances(out UInt32 lenRes, out UInt32 numDistancePairs)
432
+ {
433
+ lenRes = 0;
434
+ numDistancePairs = _matchFinder.GetMatches(_matchDistances);
435
+ if (numDistancePairs > 0)
436
+ {
437
+ lenRes = _matchDistances[numDistancePairs - 2];
438
+ if (lenRes == _numFastBytes)
439
+ lenRes += _matchFinder.GetMatchLen((int)lenRes - 1, _matchDistances[numDistancePairs - 1],
440
+ Base.kMatchMaxLen - lenRes);
441
+ }
442
+ _additionalOffset++;
443
+ }
444
+
445
+
446
+ void MovePos(UInt32 num)
447
+ {
448
+ if (num > 0)
449
+ {
450
+ _matchFinder.Skip(num);
451
+ _additionalOffset += num;
452
+ }
453
+ }
454
+
455
+ UInt32 GetRepLen1Price(Base.State state, UInt32 posState)
456
+ {
457
+ return _isRepG0[state.Index].GetPrice0() +
458
+ _isRep0Long[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0();
459
+ }
460
+
461
+ UInt32 GetPureRepPrice(UInt32 repIndex, Base.State state, UInt32 posState)
462
+ {
463
+ UInt32 price;
464
+ if (repIndex == 0)
465
+ {
466
+ price = _isRepG0[state.Index].GetPrice0();
467
+ price += _isRep0Long[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1();
468
+ }
469
+ else
470
+ {
471
+ price = _isRepG0[state.Index].GetPrice1();
472
+ if (repIndex == 1)
473
+ price += _isRepG1[state.Index].GetPrice0();
474
+ else
475
+ {
476
+ price += _isRepG1[state.Index].GetPrice1();
477
+ price += _isRepG2[state.Index].GetPrice(repIndex - 2);
478
+ }
479
+ }
480
+ return price;
481
+ }
482
+
483
+ UInt32 GetRepPrice(UInt32 repIndex, UInt32 len, Base.State state, UInt32 posState)
484
+ {
485
+ UInt32 price = _repMatchLenEncoder.GetPrice(len - Base.kMatchMinLen, posState);
486
+ return price + GetPureRepPrice(repIndex, state, posState);
487
+ }
488
+
489
+ UInt32 GetPosLenPrice(UInt32 pos, UInt32 len, UInt32 posState)
490
+ {
491
+ UInt32 price;
492
+ UInt32 lenToPosState = Base.GetLenToPosState(len);
493
+ if (pos < Base.kNumFullDistances)
494
+ price = _distancesPrices[(lenToPosState * Base.kNumFullDistances) + pos];
495
+ else
496
+ price = _posSlotPrices[(lenToPosState << Base.kNumPosSlotBits) + GetPosSlot2(pos)] +
497
+ _alignPrices[pos & Base.kAlignMask];
498
+ return price + _lenEncoder.GetPrice(len - Base.kMatchMinLen, posState);
499
+ }
500
+
501
+ UInt32 Backward(out UInt32 backRes, UInt32 cur)
502
+ {
503
+ _optimumEndIndex = cur;
504
+ UInt32 posMem = _optimum[cur].PosPrev;
505
+ UInt32 backMem = _optimum[cur].BackPrev;
506
+ do
507
+ {
508
+ if (_optimum[cur].Prev1IsChar)
509
+ {
510
+ _optimum[posMem].MakeAsChar();
511
+ _optimum[posMem].PosPrev = posMem - 1;
512
+ if (_optimum[cur].Prev2)
513
+ {
514
+ _optimum[posMem - 1].Prev1IsChar = false;
515
+ _optimum[posMem - 1].PosPrev = _optimum[cur].PosPrev2;
516
+ _optimum[posMem - 1].BackPrev = _optimum[cur].BackPrev2;
517
+ }
518
+ }
519
+ UInt32 posPrev = posMem;
520
+ UInt32 backCur = backMem;
521
+
522
+ backMem = _optimum[posPrev].BackPrev;
523
+ posMem = _optimum[posPrev].PosPrev;
524
+
525
+ _optimum[posPrev].BackPrev = backCur;
526
+ _optimum[posPrev].PosPrev = cur;
527
+ cur = posPrev;
528
+ }
529
+ while (cur > 0);
530
+ backRes = _optimum[0].BackPrev;
531
+ _optimumCurrentIndex = _optimum[0].PosPrev;
532
+ return _optimumCurrentIndex;
533
+ }
534
+
535
+ UInt32[] reps = new UInt32[Base.kNumRepDistances];
536
+ UInt32[] repLens = new UInt32[Base.kNumRepDistances];
537
+
538
+
539
+ UInt32 GetOptimum(UInt32 position, out UInt32 backRes)
540
+ {
541
+ if (_optimumEndIndex != _optimumCurrentIndex)
542
+ {
543
+ UInt32 lenRes = _optimum[_optimumCurrentIndex].PosPrev - _optimumCurrentIndex;
544
+ backRes = _optimum[_optimumCurrentIndex].BackPrev;
545
+ _optimumCurrentIndex = _optimum[_optimumCurrentIndex].PosPrev;
546
+ return lenRes;
547
+ }
548
+ _optimumCurrentIndex = _optimumEndIndex = 0;
549
+
550
+ UInt32 lenMain, numDistancePairs;
551
+ if (!_longestMatchWasFound)
552
+ {
553
+ ReadMatchDistances(out lenMain, out numDistancePairs);
554
+ }
555
+ else
556
+ {
557
+ lenMain = _longestMatchLength;
558
+ numDistancePairs = _numDistancePairs;
559
+ _longestMatchWasFound = false;
560
+ }
561
+
562
+ UInt32 numAvailableBytes = _matchFinder.GetNumAvailableBytes() + 1;
563
+ if (numAvailableBytes < 2)
564
+ {
565
+ backRes = 0xFFFFFFFF;
566
+ return 1;
567
+ }
568
+ if (numAvailableBytes > Base.kMatchMaxLen)
569
+ numAvailableBytes = Base.kMatchMaxLen;
570
+
571
+ UInt32 repMaxIndex = 0;
572
+ UInt32 i;
573
+ for (i = 0; i < Base.kNumRepDistances; i++)
574
+ {
575
+ reps[i] = _repDistances[i];
576
+ repLens[i] = _matchFinder.GetMatchLen(0 - 1, reps[i], Base.kMatchMaxLen);
577
+ if (repLens[i] > repLens[repMaxIndex])
578
+ repMaxIndex = i;
579
+ }
580
+ if (repLens[repMaxIndex] >= _numFastBytes)
581
+ {
582
+ backRes = repMaxIndex;
583
+ UInt32 lenRes = repLens[repMaxIndex];
584
+ MovePos(lenRes - 1);
585
+ return lenRes;
586
+ }
587
+
588
+ if (lenMain >= _numFastBytes)
589
+ {
590
+ backRes = _matchDistances[numDistancePairs - 1] + Base.kNumRepDistances;
591
+ MovePos(lenMain - 1);
592
+ return lenMain;
593
+ }
594
+
595
+ Byte currentByte = _matchFinder.GetIndexByte(0 - 1);
596
+ Byte matchByte = _matchFinder.GetIndexByte((Int32)(0 - _repDistances[0] - 1 - 1));
597
+
598
+ if (lenMain < 2 && currentByte != matchByte && repLens[repMaxIndex] < 2)
599
+ {
600
+ backRes = (UInt32)0xFFFFFFFF;
601
+ return 1;
602
+ }
603
+
604
+ _optimum[0].State = _state;
605
+
606
+ UInt32 posState = (position & _posStateMask);
607
+
608
+ _optimum[1].Price = _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0() +
609
+ _literalEncoder.GetSubCoder(position, _previousByte).GetPrice(!_state.IsCharState(), matchByte, currentByte);
610
+ _optimum[1].MakeAsChar();
611
+
612
+ UInt32 matchPrice = _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1();
613
+ UInt32 repMatchPrice = matchPrice + _isRep[_state.Index].GetPrice1();
614
+
615
+ if (matchByte == currentByte)
616
+ {
617
+ UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(_state, posState);
618
+ if (shortRepPrice < _optimum[1].Price)
619
+ {
620
+ _optimum[1].Price = shortRepPrice;
621
+ _optimum[1].MakeAsShortRep();
622
+ }
623
+ }
624
+
625
+ UInt32 lenEnd = ((lenMain >= repLens[repMaxIndex]) ? lenMain : repLens[repMaxIndex]);
626
+
627
+ if(lenEnd < 2)
628
+ {
629
+ backRes = _optimum[1].BackPrev;
630
+ return 1;
631
+ }
632
+
633
+ _optimum[1].PosPrev = 0;
634
+
635
+ _optimum[0].Backs0 = reps[0];
636
+ _optimum[0].Backs1 = reps[1];
637
+ _optimum[0].Backs2 = reps[2];
638
+ _optimum[0].Backs3 = reps[3];
639
+
640
+ UInt32 len = lenEnd;
641
+ do
642
+ _optimum[len--].Price = kIfinityPrice;
643
+ while (len >= 2);
644
+
645
+ for (i = 0; i < Base.kNumRepDistances; i++)
646
+ {
647
+ UInt32 repLen = repLens[i];
648
+ if (repLen < 2)
649
+ continue;
650
+ UInt32 price = repMatchPrice + GetPureRepPrice(i, _state, posState);
651
+ do
652
+ {
653
+ UInt32 curAndLenPrice = price + _repMatchLenEncoder.GetPrice(repLen - 2, posState);
654
+ Optimal optimum = _optimum[repLen];
655
+ if (curAndLenPrice < optimum.Price)
656
+ {
657
+ optimum.Price = curAndLenPrice;
658
+ optimum.PosPrev = 0;
659
+ optimum.BackPrev = i;
660
+ optimum.Prev1IsChar = false;
661
+ }
662
+ }
663
+ while (--repLen >= 2);
664
+ }
665
+
666
+ UInt32 normalMatchPrice = matchPrice + _isRep[_state.Index].GetPrice0();
667
+
668
+ len = ((repLens[0] >= 2) ? repLens[0] + 1 : 2);
669
+ if (len <= lenMain)
670
+ {
671
+ UInt32 offs = 0;
672
+ while (len > _matchDistances[offs])
673
+ offs += 2;
674
+ for (; ; len++)
675
+ {
676
+ UInt32 distance = _matchDistances[offs + 1];
677
+ UInt32 curAndLenPrice = normalMatchPrice + GetPosLenPrice(distance, len, posState);
678
+ Optimal optimum = _optimum[len];
679
+ if (curAndLenPrice < optimum.Price)
680
+ {
681
+ optimum.Price = curAndLenPrice;
682
+ optimum.PosPrev = 0;
683
+ optimum.BackPrev = distance + Base.kNumRepDistances;
684
+ optimum.Prev1IsChar = false;
685
+ }
686
+ if (len == _matchDistances[offs])
687
+ {
688
+ offs += 2;
689
+ if (offs == numDistancePairs)
690
+ break;
691
+ }
692
+ }
693
+ }
694
+
695
+ UInt32 cur = 0;
696
+
697
+ while (true)
698
+ {
699
+ cur++;
700
+ if (cur == lenEnd)
701
+ return Backward(out backRes, cur);
702
+ UInt32 newLen;
703
+ ReadMatchDistances(out newLen, out numDistancePairs);
704
+ if (newLen >= _numFastBytes)
705
+ {
706
+ _numDistancePairs = numDistancePairs;
707
+ _longestMatchLength = newLen;
708
+ _longestMatchWasFound = true;
709
+ return Backward(out backRes, cur);
710
+ }
711
+ position++;
712
+ UInt32 posPrev = _optimum[cur].PosPrev;
713
+ Base.State state;
714
+ if (_optimum[cur].Prev1IsChar)
715
+ {
716
+ posPrev--;
717
+ if (_optimum[cur].Prev2)
718
+ {
719
+ state = _optimum[_optimum[cur].PosPrev2].State;
720
+ if (_optimum[cur].BackPrev2 < Base.kNumRepDistances)
721
+ state.UpdateRep();
722
+ else
723
+ state.UpdateMatch();
724
+ }
725
+ else
726
+ state = _optimum[posPrev].State;
727
+ state.UpdateChar();
728
+ }
729
+ else
730
+ state = _optimum[posPrev].State;
731
+ if (posPrev == cur - 1)
732
+ {
733
+ if (_optimum[cur].IsShortRep())
734
+ state.UpdateShortRep();
735
+ else
736
+ state.UpdateChar();
737
+ }
738
+ else
739
+ {
740
+ UInt32 pos;
741
+ if (_optimum[cur].Prev1IsChar && _optimum[cur].Prev2)
742
+ {
743
+ posPrev = _optimum[cur].PosPrev2;
744
+ pos = _optimum[cur].BackPrev2;
745
+ state.UpdateRep();
746
+ }
747
+ else
748
+ {
749
+ pos = _optimum[cur].BackPrev;
750
+ if (pos < Base.kNumRepDistances)
751
+ state.UpdateRep();
752
+ else
753
+ state.UpdateMatch();
754
+ }
755
+ Optimal opt = _optimum[posPrev];
756
+ if (pos < Base.kNumRepDistances)
757
+ {
758
+ if (pos == 0)
759
+ {
760
+ reps[0] = opt.Backs0;
761
+ reps[1] = opt.Backs1;
762
+ reps[2] = opt.Backs2;
763
+ reps[3] = opt.Backs3;
764
+ }
765
+ else if (pos == 1)
766
+ {
767
+ reps[0] = opt.Backs1;
768
+ reps[1] = opt.Backs0;
769
+ reps[2] = opt.Backs2;
770
+ reps[3] = opt.Backs3;
771
+ }
772
+ else if (pos == 2)
773
+ {
774
+ reps[0] = opt.Backs2;
775
+ reps[1] = opt.Backs0;
776
+ reps[2] = opt.Backs1;
777
+ reps[3] = opt.Backs3;
778
+ }
779
+ else
780
+ {
781
+ reps[0] = opt.Backs3;
782
+ reps[1] = opt.Backs0;
783
+ reps[2] = opt.Backs1;
784
+ reps[3] = opt.Backs2;
785
+ }
786
+ }
787
+ else
788
+ {
789
+ reps[0] = (pos - Base.kNumRepDistances);
790
+ reps[1] = opt.Backs0;
791
+ reps[2] = opt.Backs1;
792
+ reps[3] = opt.Backs2;
793
+ }
794
+ }
795
+ _optimum[cur].State = state;
796
+ _optimum[cur].Backs0 = reps[0];
797
+ _optimum[cur].Backs1 = reps[1];
798
+ _optimum[cur].Backs2 = reps[2];
799
+ _optimum[cur].Backs3 = reps[3];
800
+ UInt32 curPrice = _optimum[cur].Price;
801
+
802
+ currentByte = _matchFinder.GetIndexByte(0 - 1);
803
+ matchByte = _matchFinder.GetIndexByte((Int32)(0 - reps[0] - 1 - 1));
804
+
805
+ posState = (position & _posStateMask);
806
+
807
+ UInt32 curAnd1Price = curPrice +
808
+ _isMatch[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0() +
809
+ _literalEncoder.GetSubCoder(position, _matchFinder.GetIndexByte(0 - 2)).
810
+ GetPrice(!state.IsCharState(), matchByte, currentByte);
811
+
812
+ Optimal nextOptimum = _optimum[cur + 1];
813
+
814
+ bool nextIsChar = false;
815
+ if (curAnd1Price < nextOptimum.Price)
816
+ {
817
+ nextOptimum.Price = curAnd1Price;
818
+ nextOptimum.PosPrev = cur;
819
+ nextOptimum.MakeAsChar();
820
+ nextIsChar = true;
821
+ }
822
+
823
+ matchPrice = curPrice + _isMatch[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1();
824
+ repMatchPrice = matchPrice + _isRep[state.Index].GetPrice1();
825
+
826
+ if (matchByte == currentByte &&
827
+ !(nextOptimum.PosPrev < cur && nextOptimum.BackPrev == 0))
828
+ {
829
+ UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(state, posState);
830
+ if (shortRepPrice <= nextOptimum.Price)
831
+ {
832
+ nextOptimum.Price = shortRepPrice;
833
+ nextOptimum.PosPrev = cur;
834
+ nextOptimum.MakeAsShortRep();
835
+ nextIsChar = true;
836
+ }
837
+ }
838
+
839
+ UInt32 numAvailableBytesFull = _matchFinder.GetNumAvailableBytes() + 1;
840
+ numAvailableBytesFull = Math.Min(kNumOpts - 1 - cur, numAvailableBytesFull);
841
+ numAvailableBytes = numAvailableBytesFull;
842
+
843
+ if (numAvailableBytes < 2)
844
+ continue;
845
+ if (numAvailableBytes > _numFastBytes)
846
+ numAvailableBytes = _numFastBytes;
847
+ if (!nextIsChar && matchByte != currentByte)
848
+ {
849
+ // try Literal + rep0
850
+ UInt32 t = Math.Min(numAvailableBytesFull - 1, _numFastBytes);
851
+ UInt32 lenTest2 = _matchFinder.GetMatchLen(0, reps[0], t);
852
+ if (lenTest2 >= 2)
853
+ {
854
+ Base.State state2 = state;
855
+ state2.UpdateChar();
856
+ UInt32 posStateNext = (position + 1) & _posStateMask;
857
+ UInt32 nextRepMatchPrice = curAnd1Price +
858
+ _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1() +
859
+ _isRep[state2.Index].GetPrice1();
860
+ {
861
+ UInt32 offset = cur + 1 + lenTest2;
862
+ while (lenEnd < offset)
863
+ _optimum[++lenEnd].Price = kIfinityPrice;
864
+ UInt32 curAndLenPrice = nextRepMatchPrice + GetRepPrice(
865
+ 0, lenTest2, state2, posStateNext);
866
+ Optimal optimum = _optimum[offset];
867
+ if (curAndLenPrice < optimum.Price)
868
+ {
869
+ optimum.Price = curAndLenPrice;
870
+ optimum.PosPrev = cur + 1;
871
+ optimum.BackPrev = 0;
872
+ optimum.Prev1IsChar = true;
873
+ optimum.Prev2 = false;
874
+ }
875
+ }
876
+ }
877
+ }
878
+
879
+ UInt32 startLen = 2; // speed optimization
880
+
881
+ for (UInt32 repIndex = 0; repIndex < Base.kNumRepDistances; repIndex++)
882
+ {
883
+ UInt32 lenTest = _matchFinder.GetMatchLen(0 - 1, reps[repIndex], numAvailableBytes);
884
+ if (lenTest < 2)
885
+ continue;
886
+ UInt32 lenTestTemp = lenTest;
887
+ do
888
+ {
889
+ while (lenEnd < cur + lenTest)
890
+ _optimum[++lenEnd].Price = kIfinityPrice;
891
+ UInt32 curAndLenPrice = repMatchPrice + GetRepPrice(repIndex, lenTest, state, posState);
892
+ Optimal optimum = _optimum[cur + lenTest];
893
+ if (curAndLenPrice < optimum.Price)
894
+ {
895
+ optimum.Price = curAndLenPrice;
896
+ optimum.PosPrev = cur;
897
+ optimum.BackPrev = repIndex;
898
+ optimum.Prev1IsChar = false;
899
+ }
900
+ }
901
+ while(--lenTest >= 2);
902
+ lenTest = lenTestTemp;
903
+
904
+ if (repIndex == 0)
905
+ startLen = lenTest + 1;
906
+
907
+ // if (_maxMode)
908
+ if (lenTest < numAvailableBytesFull)
909
+ {
910
+ UInt32 t = Math.Min(numAvailableBytesFull - 1 - lenTest, _numFastBytes);
911
+ UInt32 lenTest2 = _matchFinder.GetMatchLen((Int32)lenTest, reps[repIndex], t);
912
+ if (lenTest2 >= 2)
913
+ {
914
+ Base.State state2 = state;
915
+ state2.UpdateRep();
916
+ UInt32 posStateNext = (position + lenTest) & _posStateMask;
917
+ UInt32 curAndLenCharPrice =
918
+ repMatchPrice + GetRepPrice(repIndex, lenTest, state, posState) +
919
+ _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice0() +
920
+ _literalEncoder.GetSubCoder(position + lenTest,
921
+ _matchFinder.GetIndexByte((Int32)lenTest - 1 - 1)).GetPrice(true,
922
+ _matchFinder.GetIndexByte((Int32)((Int32)lenTest - 1 - (Int32)(reps[repIndex] + 1))),
923
+ _matchFinder.GetIndexByte((Int32)lenTest - 1));
924
+ state2.UpdateChar();
925
+ posStateNext = (position + lenTest + 1) & _posStateMask;
926
+ UInt32 nextMatchPrice = curAndLenCharPrice + _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1();
927
+ UInt32 nextRepMatchPrice = nextMatchPrice + _isRep[state2.Index].GetPrice1();
928
+
929
+ // for(; lenTest2 >= 2; lenTest2--)
930
+ {
931
+ UInt32 offset = lenTest + 1 + lenTest2;
932
+ while(lenEnd < cur + offset)
933
+ _optimum[++lenEnd].Price = kIfinityPrice;
934
+ UInt32 curAndLenPrice = nextRepMatchPrice + GetRepPrice(0, lenTest2, state2, posStateNext);
935
+ Optimal optimum = _optimum[cur + offset];
936
+ if (curAndLenPrice < optimum.Price)
937
+ {
938
+ optimum.Price = curAndLenPrice;
939
+ optimum.PosPrev = cur + lenTest + 1;
940
+ optimum.BackPrev = 0;
941
+ optimum.Prev1IsChar = true;
942
+ optimum.Prev2 = true;
943
+ optimum.PosPrev2 = cur;
944
+ optimum.BackPrev2 = repIndex;
945
+ }
946
+ }
947
+ }
948
+ }
949
+ }
950
+
951
+ if (newLen > numAvailableBytes)
952
+ {
953
+ newLen = numAvailableBytes;
954
+ for (numDistancePairs = 0; newLen > _matchDistances[numDistancePairs]; numDistancePairs += 2) ;
955
+ _matchDistances[numDistancePairs] = newLen;
956
+ numDistancePairs += 2;
957
+ }
958
+ if (newLen >= startLen)
959
+ {
960
+ normalMatchPrice = matchPrice + _isRep[state.Index].GetPrice0();
961
+ while (lenEnd < cur + newLen)
962
+ _optimum[++lenEnd].Price = kIfinityPrice;
963
+
964
+ UInt32 offs = 0;
965
+ while (startLen > _matchDistances[offs])
966
+ offs += 2;
967
+
968
+ for (UInt32 lenTest = startLen; ; lenTest++)
969
+ {
970
+ UInt32 curBack = _matchDistances[offs + 1];
971
+ UInt32 curAndLenPrice = normalMatchPrice + GetPosLenPrice(curBack, lenTest, posState);
972
+ Optimal optimum = _optimum[cur + lenTest];
973
+ if (curAndLenPrice < optimum.Price)
974
+ {
975
+ optimum.Price = curAndLenPrice;
976
+ optimum.PosPrev = cur;
977
+ optimum.BackPrev = curBack + Base.kNumRepDistances;
978
+ optimum.Prev1IsChar = false;
979
+ }
980
+
981
+ if (lenTest == _matchDistances[offs])
982
+ {
983
+ if (lenTest < numAvailableBytesFull)
984
+ {
985
+ UInt32 t = Math.Min(numAvailableBytesFull - 1 - lenTest, _numFastBytes);
986
+ UInt32 lenTest2 = _matchFinder.GetMatchLen((Int32)lenTest, curBack, t);
987
+ if (lenTest2 >= 2)
988
+ {
989
+ Base.State state2 = state;
990
+ state2.UpdateMatch();
991
+ UInt32 posStateNext = (position + lenTest) & _posStateMask;
992
+ UInt32 curAndLenCharPrice = curAndLenPrice +
993
+ _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice0() +
994
+ _literalEncoder.GetSubCoder(position + lenTest,
995
+ _matchFinder.GetIndexByte((Int32)lenTest - 1 - 1)).
996
+ GetPrice(true,
997
+ _matchFinder.GetIndexByte((Int32)lenTest - (Int32)(curBack + 1) - 1),
998
+ _matchFinder.GetIndexByte((Int32)lenTest - 1));
999
+ state2.UpdateChar();
1000
+ posStateNext = (position + lenTest + 1) & _posStateMask;
1001
+ UInt32 nextMatchPrice = curAndLenCharPrice + _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1();
1002
+ UInt32 nextRepMatchPrice = nextMatchPrice + _isRep[state2.Index].GetPrice1();
1003
+
1004
+ UInt32 offset = lenTest + 1 + lenTest2;
1005
+ while (lenEnd < cur + offset)
1006
+ _optimum[++lenEnd].Price = kIfinityPrice;
1007
+ curAndLenPrice = nextRepMatchPrice + GetRepPrice(0, lenTest2, state2, posStateNext);
1008
+ optimum = _optimum[cur + offset];
1009
+ if (curAndLenPrice < optimum.Price)
1010
+ {
1011
+ optimum.Price = curAndLenPrice;
1012
+ optimum.PosPrev = cur + lenTest + 1;
1013
+ optimum.BackPrev = 0;
1014
+ optimum.Prev1IsChar = true;
1015
+ optimum.Prev2 = true;
1016
+ optimum.PosPrev2 = cur;
1017
+ optimum.BackPrev2 = curBack + Base.kNumRepDistances;
1018
+ }
1019
+ }
1020
+ }
1021
+ offs += 2;
1022
+ if (offs == numDistancePairs)
1023
+ break;
1024
+ }
1025
+ }
1026
+ }
1027
+ }
1028
+ }
1029
+
1030
+ bool ChangePair(UInt32 smallDist, UInt32 bigDist)
1031
+ {
1032
+ const int kDif = 7;
1033
+ return (smallDist < ((UInt32)(1) << (32 - kDif)) && bigDist >= (smallDist << kDif));
1034
+ }
1035
+
1036
+ void WriteEndMarker(UInt32 posState)
1037
+ {
1038
+ if (!_writeEndMark)
1039
+ return;
1040
+
1041
+ _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].Encode(_rangeEncoder, 1);
1042
+ _isRep[_state.Index].Encode(_rangeEncoder, 0);
1043
+ _state.UpdateMatch();
1044
+ UInt32 len = Base.kMatchMinLen;
1045
+ _lenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState);
1046
+ UInt32 posSlot = (1 << Base.kNumPosSlotBits) - 1;
1047
+ UInt32 lenToPosState = Base.GetLenToPosState(len);
1048
+ _posSlotEncoder[lenToPosState].Encode(_rangeEncoder, posSlot);
1049
+ int footerBits = 30;
1050
+ UInt32 posReduced = (((UInt32)1) << footerBits) - 1;
1051
+ _rangeEncoder.EncodeDirectBits(posReduced >> Base.kNumAlignBits, footerBits - Base.kNumAlignBits);
1052
+ _posAlignEncoder.ReverseEncode(_rangeEncoder, posReduced & Base.kAlignMask);
1053
+ }
1054
+
1055
+ void Flush(UInt32 nowPos)
1056
+ {
1057
+ ReleaseMFStream();
1058
+ WriteEndMarker(nowPos & _posStateMask);
1059
+ _rangeEncoder.FlushData();
1060
+ _rangeEncoder.FlushStream();
1061
+ }
1062
+
1063
+ public void CodeOneBlock(out Int64 inSize, out Int64 outSize, out bool finished)
1064
+ {
1065
+ inSize = 0;
1066
+ outSize = 0;
1067
+ finished = true;
1068
+
1069
+ if (_inStream != null)
1070
+ {
1071
+ _matchFinder.SetStream(_inStream);
1072
+ _matchFinder.Init();
1073
+ _needReleaseMFStream = true;
1074
+ _inStream = null;
1075
+ if (_trainSize > 0)
1076
+ _matchFinder.Skip(_trainSize);
1077
+ }
1078
+
1079
+ if (_finished)
1080
+ return;
1081
+ _finished = true;
1082
+
1083
+
1084
+ Int64 progressPosValuePrev = nowPos64;
1085
+ if (nowPos64 == 0)
1086
+ {
1087
+ if (_matchFinder.GetNumAvailableBytes() == 0)
1088
+ {
1089
+ Flush((UInt32)nowPos64);
1090
+ return;
1091
+ }
1092
+ UInt32 len, numDistancePairs; // it's not used
1093
+ ReadMatchDistances(out len, out numDistancePairs);
1094
+ UInt32 posState = (UInt32)(nowPos64) & _posStateMask;
1095
+ _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].Encode(_rangeEncoder, 0);
1096
+ _state.UpdateChar();
1097
+ Byte curByte = _matchFinder.GetIndexByte((Int32)(0 - _additionalOffset));
1098
+ _literalEncoder.GetSubCoder((UInt32)(nowPos64), _previousByte).Encode(_rangeEncoder, curByte);
1099
+ _previousByte = curByte;
1100
+ _additionalOffset--;
1101
+ nowPos64++;
1102
+ }
1103
+ if (_matchFinder.GetNumAvailableBytes() == 0)
1104
+ {
1105
+ Flush((UInt32)nowPos64);
1106
+ return;
1107
+ }
1108
+ while (true)
1109
+ {
1110
+ UInt32 pos;
1111
+ UInt32 len = GetOptimum((UInt32)nowPos64, out pos);
1112
+
1113
+ UInt32 posState = ((UInt32)nowPos64) & _posStateMask;
1114
+ UInt32 complexState = (_state.Index << Base.kNumPosStatesBitsMax) + posState;
1115
+ if (len == 1 && pos == 0xFFFFFFFF)
1116
+ {
1117
+ _isMatch[complexState].Encode(_rangeEncoder, 0);
1118
+ Byte curByte = _matchFinder.GetIndexByte((Int32)(0 - _additionalOffset));
1119
+ LiteralEncoder.Encoder2 subCoder = _literalEncoder.GetSubCoder((UInt32)nowPos64, _previousByte);
1120
+ if (!_state.IsCharState())
1121
+ {
1122
+ Byte matchByte = _matchFinder.GetIndexByte((Int32)(0 - _repDistances[0] - 1 - _additionalOffset));
1123
+ subCoder.EncodeMatched(_rangeEncoder, matchByte, curByte);
1124
+ }
1125
+ else
1126
+ subCoder.Encode(_rangeEncoder, curByte);
1127
+ _previousByte = curByte;
1128
+ _state.UpdateChar();
1129
+ }
1130
+ else
1131
+ {
1132
+ _isMatch[complexState].Encode(_rangeEncoder, 1);
1133
+ if (pos < Base.kNumRepDistances)
1134
+ {
1135
+ _isRep[_state.Index].Encode(_rangeEncoder, 1);
1136
+ if (pos == 0)
1137
+ {
1138
+ _isRepG0[_state.Index].Encode(_rangeEncoder, 0);
1139
+ if (len == 1)
1140
+ _isRep0Long[complexState].Encode(_rangeEncoder, 0);
1141
+ else
1142
+ _isRep0Long[complexState].Encode(_rangeEncoder, 1);
1143
+ }
1144
+ else
1145
+ {
1146
+ _isRepG0[_state.Index].Encode(_rangeEncoder, 1);
1147
+ if (pos == 1)
1148
+ _isRepG1[_state.Index].Encode(_rangeEncoder, 0);
1149
+ else
1150
+ {
1151
+ _isRepG1[_state.Index].Encode(_rangeEncoder, 1);
1152
+ _isRepG2[_state.Index].Encode(_rangeEncoder, pos - 2);
1153
+ }
1154
+ }
1155
+ if (len == 1)
1156
+ _state.UpdateShortRep();
1157
+ else
1158
+ {
1159
+ _repMatchLenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState);
1160
+ _state.UpdateRep();
1161
+ }
1162
+ UInt32 distance = _repDistances[pos];
1163
+ if (pos != 0)
1164
+ {
1165
+ for (UInt32 i = pos; i >= 1; i--)
1166
+ _repDistances[i] = _repDistances[i - 1];
1167
+ _repDistances[0] = distance;
1168
+ }
1169
+ }
1170
+ else
1171
+ {
1172
+ _isRep[_state.Index].Encode(_rangeEncoder, 0);
1173
+ _state.UpdateMatch();
1174
+ _lenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState);
1175
+ pos -= Base.kNumRepDistances;
1176
+ UInt32 posSlot = GetPosSlot(pos);
1177
+ UInt32 lenToPosState = Base.GetLenToPosState(len);
1178
+ _posSlotEncoder[lenToPosState].Encode(_rangeEncoder, posSlot);
1179
+
1180
+ if (posSlot >= Base.kStartPosModelIndex)
1181
+ {
1182
+ int footerBits = (int)((posSlot >> 1) - 1);
1183
+ UInt32 baseVal = ((2 | (posSlot & 1)) << footerBits);
1184
+ UInt32 posReduced = pos - baseVal;
1185
+
1186
+ if (posSlot < Base.kEndPosModelIndex)
1187
+ RangeCoder.BitTreeEncoder.ReverseEncode(_posEncoders,
1188
+ baseVal - posSlot - 1, _rangeEncoder, footerBits, posReduced);
1189
+ else
1190
+ {
1191
+ _rangeEncoder.EncodeDirectBits(posReduced >> Base.kNumAlignBits, footerBits - Base.kNumAlignBits);
1192
+ _posAlignEncoder.ReverseEncode(_rangeEncoder, posReduced & Base.kAlignMask);
1193
+ _alignPriceCount++;
1194
+ }
1195
+ }
1196
+ UInt32 distance = pos;
1197
+ for (UInt32 i = Base.kNumRepDistances - 1; i >= 1; i--)
1198
+ _repDistances[i] = _repDistances[i - 1];
1199
+ _repDistances[0] = distance;
1200
+ _matchPriceCount++;
1201
+ }
1202
+ _previousByte = _matchFinder.GetIndexByte((Int32)(len - 1 - _additionalOffset));
1203
+ }
1204
+ _additionalOffset -= len;
1205
+ nowPos64 += len;
1206
+ if (_additionalOffset == 0)
1207
+ {
1208
+ // if (!_fastMode)
1209
+ if (_matchPriceCount >= (1 << 7))
1210
+ FillDistancesPrices();
1211
+ if (_alignPriceCount >= Base.kAlignTableSize)
1212
+ FillAlignPrices();
1213
+ inSize = nowPos64;
1214
+ outSize = _rangeEncoder.GetProcessedSizeAdd();
1215
+ if (_matchFinder.GetNumAvailableBytes() == 0)
1216
+ {
1217
+ Flush((UInt32)nowPos64);
1218
+ return;
1219
+ }
1220
+
1221
+ if (nowPos64 - progressPosValuePrev >= (1 << 12))
1222
+ {
1223
+ _finished = false;
1224
+ finished = false;
1225
+ return;
1226
+ }
1227
+ }
1228
+ }
1229
+ }
1230
+
1231
+ void ReleaseMFStream()
1232
+ {
1233
+ if (_matchFinder != null && _needReleaseMFStream)
1234
+ {
1235
+ _matchFinder.ReleaseStream();
1236
+ _needReleaseMFStream = false;
1237
+ }
1238
+ }
1239
+
1240
+ void SetOutStream(System.IO.Stream outStream) { _rangeEncoder.SetStream(outStream); }
1241
+ void ReleaseOutStream() { _rangeEncoder.ReleaseStream(); }
1242
+
1243
+ void ReleaseStreams()
1244
+ {
1245
+ ReleaseMFStream();
1246
+ ReleaseOutStream();
1247
+ }
1248
+
1249
+ void SetStreams(System.IO.Stream inStream, System.IO.Stream outStream,
1250
+ Int64 inSize, Int64 outSize)
1251
+ {
1252
+ _inStream = inStream;
1253
+ _finished = false;
1254
+ Create();
1255
+ SetOutStream(outStream);
1256
+ Init();
1257
+
1258
+ // if (!_fastMode)
1259
+ {
1260
+ FillDistancesPrices();
1261
+ FillAlignPrices();
1262
+ }
1263
+
1264
+ _lenEncoder.SetTableSize(_numFastBytes + 1 - Base.kMatchMinLen);
1265
+ _lenEncoder.UpdateTables((UInt32)1 << _posStateBits);
1266
+ _repMatchLenEncoder.SetTableSize(_numFastBytes + 1 - Base.kMatchMinLen);
1267
+ _repMatchLenEncoder.UpdateTables((UInt32)1 << _posStateBits);
1268
+
1269
+ nowPos64 = 0;
1270
+ }
1271
+
1272
+
1273
+ public void Code(System.IO.Stream inStream, System.IO.Stream outStream,
1274
+ Int64 inSize, Int64 outSize, ICodeProgress progress)
1275
+ {
1276
+ _needReleaseMFStream = false;
1277
+ try
1278
+ {
1279
+ SetStreams(inStream, outStream, inSize, outSize);
1280
+ while (true)
1281
+ {
1282
+ Int64 processedInSize;
1283
+ Int64 processedOutSize;
1284
+ bool finished;
1285
+ CodeOneBlock(out processedInSize, out processedOutSize, out finished);
1286
+ if (finished)
1287
+ return;
1288
+ if (progress != null)
1289
+ {
1290
+ progress.SetProgress(processedInSize, processedOutSize);
1291
+ }
1292
+ }
1293
+ }
1294
+ finally
1295
+ {
1296
+ ReleaseStreams();
1297
+ }
1298
+ }
1299
+
1300
+ const int kPropSize = 5;
1301
+ Byte[] properties = new Byte[kPropSize];
1302
+
1303
+ public void WriteCoderProperties(System.IO.Stream outStream)
1304
+ {
1305
+ properties[0] = (Byte)((_posStateBits * 5 + _numLiteralPosStateBits) * 9 + _numLiteralContextBits);
1306
+ for (int i = 0; i < 4; i++)
1307
+ properties[1 + i] = (Byte)((_dictionarySize >> (8 * i)) & 0xFF);
1308
+ outStream.Write(properties, 0, kPropSize);
1309
+ }
1310
+
1311
+ UInt32[] tempPrices = new UInt32[Base.kNumFullDistances];
1312
+ UInt32 _matchPriceCount;
1313
+
1314
+ void FillDistancesPrices()
1315
+ {
1316
+ for (UInt32 i = Base.kStartPosModelIndex; i < Base.kNumFullDistances; i++)
1317
+ {
1318
+ UInt32 posSlot = GetPosSlot(i);
1319
+ int footerBits = (int)((posSlot >> 1) - 1);
1320
+ UInt32 baseVal = ((2 | (posSlot & 1)) << footerBits);
1321
+ tempPrices[i] = BitTreeEncoder.ReverseGetPrice(_posEncoders,
1322
+ baseVal - posSlot - 1, footerBits, i - baseVal);
1323
+ }
1324
+
1325
+ for (UInt32 lenToPosState = 0; lenToPosState < Base.kNumLenToPosStates; lenToPosState++)
1326
+ {
1327
+ UInt32 posSlot;
1328
+ RangeCoder.BitTreeEncoder encoder = _posSlotEncoder[lenToPosState];
1329
+
1330
+ UInt32 st = (lenToPosState << Base.kNumPosSlotBits);
1331
+ for (posSlot = 0; posSlot < _distTableSize; posSlot++)
1332
+ _posSlotPrices[st + posSlot] = encoder.GetPrice(posSlot);
1333
+ for (posSlot = Base.kEndPosModelIndex; posSlot < _distTableSize; posSlot++)
1334
+ _posSlotPrices[st + posSlot] += ((((posSlot >> 1) - 1) - Base.kNumAlignBits) << RangeCoder.BitEncoder.kNumBitPriceShiftBits);
1335
+
1336
+ UInt32 st2 = lenToPosState * Base.kNumFullDistances;
1337
+ UInt32 i;
1338
+ for (i = 0; i < Base.kStartPosModelIndex; i++)
1339
+ _distancesPrices[st2 + i] = _posSlotPrices[st + i];
1340
+ for (; i < Base.kNumFullDistances; i++)
1341
+ _distancesPrices[st2 + i] = _posSlotPrices[st + GetPosSlot(i)] + tempPrices[i];
1342
+ }
1343
+ _matchPriceCount = 0;
1344
+ }
1345
+
1346
+ void FillAlignPrices()
1347
+ {
1348
+ for (UInt32 i = 0; i < Base.kAlignTableSize; i++)
1349
+ _alignPrices[i] = _posAlignEncoder.ReverseGetPrice(i);
1350
+ _alignPriceCount = 0;
1351
+ }
1352
+
1353
+
1354
+ static string[] kMatchFinderIDs =
1355
+ {
1356
+ "BT2",
1357
+ "BT4",
1358
+ };
1359
+
1360
+ static int FindMatchFinder(string s)
1361
+ {
1362
+ for (int m = 0; m < kMatchFinderIDs.Length; m++)
1363
+ if (s == kMatchFinderIDs[m])
1364
+ return m;
1365
+ return -1;
1366
+ }
1367
+
1368
+ public void SetCoderProperties(CoderPropID[] propIDs, object[] properties)
1369
+ {
1370
+ for (UInt32 i = 0; i < properties.Length; i++)
1371
+ {
1372
+ object prop = properties[i];
1373
+ switch (propIDs[i])
1374
+ {
1375
+ case CoderPropID.NumFastBytes:
1376
+ {
1377
+ if (!(prop is Int32))
1378
+ throw new InvalidParamException();
1379
+ Int32 numFastBytes = (Int32)prop;
1380
+ if (numFastBytes < 5 || numFastBytes > Base.kMatchMaxLen)
1381
+ throw new InvalidParamException();
1382
+ _numFastBytes = (UInt32)numFastBytes;
1383
+ break;
1384
+ }
1385
+ case CoderPropID.Algorithm:
1386
+ {
1387
+ /*
1388
+ if (!(prop is Int32))
1389
+ throw new InvalidParamException();
1390
+ Int32 maximize = (Int32)prop;
1391
+ _fastMode = (maximize == 0);
1392
+ _maxMode = (maximize >= 2);
1393
+ */
1394
+ break;
1395
+ }
1396
+ case CoderPropID.MatchFinder:
1397
+ {
1398
+ if (!(prop is String))
1399
+ throw new InvalidParamException();
1400
+ EMatchFinderType matchFinderIndexPrev = _matchFinderType;
1401
+ int m = FindMatchFinder(((string)prop).ToUpper());
1402
+ if (m < 0)
1403
+ throw new InvalidParamException();
1404
+ _matchFinderType = (EMatchFinderType)m;
1405
+ if (_matchFinder != null && matchFinderIndexPrev != _matchFinderType)
1406
+ {
1407
+ _dictionarySizePrev = 0xFFFFFFFF;
1408
+ _matchFinder = null;
1409
+ }
1410
+ break;
1411
+ }
1412
+ case CoderPropID.DictionarySize:
1413
+ {
1414
+ const int kDicLogSizeMaxCompress = 30;
1415
+ if (!(prop is Int32))
1416
+ throw new InvalidParamException(); ;
1417
+ Int32 dictionarySize = (Int32)prop;
1418
+ if (dictionarySize < (UInt32)(1 << Base.kDicLogSizeMin) ||
1419
+ dictionarySize > (UInt32)(1 << kDicLogSizeMaxCompress))
1420
+ throw new InvalidParamException();
1421
+ _dictionarySize = (UInt32)dictionarySize;
1422
+ int dicLogSize;
1423
+ for (dicLogSize = 0; dicLogSize < (UInt32)kDicLogSizeMaxCompress; dicLogSize++)
1424
+ if (dictionarySize <= ((UInt32)(1) << dicLogSize))
1425
+ break;
1426
+ _distTableSize = (UInt32)dicLogSize * 2;
1427
+ break;
1428
+ }
1429
+ case CoderPropID.PosStateBits:
1430
+ {
1431
+ if (!(prop is Int32))
1432
+ throw new InvalidParamException();
1433
+ Int32 v = (Int32)prop;
1434
+ if (v < 0 || v > (UInt32)Base.kNumPosStatesBitsEncodingMax)
1435
+ throw new InvalidParamException();
1436
+ _posStateBits = (int)v;
1437
+ _posStateMask = (((UInt32)1) << (int)_posStateBits) - 1;
1438
+ break;
1439
+ }
1440
+ case CoderPropID.LitPosBits:
1441
+ {
1442
+ if (!(prop is Int32))
1443
+ throw new InvalidParamException();
1444
+ Int32 v = (Int32)prop;
1445
+ if (v < 0 || v > (UInt32)Base.kNumLitPosStatesBitsEncodingMax)
1446
+ throw new InvalidParamException();
1447
+ _numLiteralPosStateBits = (int)v;
1448
+ break;
1449
+ }
1450
+ case CoderPropID.LitContextBits:
1451
+ {
1452
+ if (!(prop is Int32))
1453
+ throw new InvalidParamException();
1454
+ Int32 v = (Int32)prop;
1455
+ if (v < 0 || v > (UInt32)Base.kNumLitContextBitsMax)
1456
+ throw new InvalidParamException(); ;
1457
+ _numLiteralContextBits = (int)v;
1458
+ break;
1459
+ }
1460
+ case CoderPropID.EndMarker:
1461
+ {
1462
+ if (!(prop is Boolean))
1463
+ throw new InvalidParamException();
1464
+ SetWriteEndMarkerMode((Boolean)prop);
1465
+ break;
1466
+ }
1467
+ default:
1468
+ throw new InvalidParamException();
1469
+ }
1470
+ }
1471
+ }
1472
+
1473
+ uint _trainSize = 0;
1474
+ public void SetTrainSize(uint trainSize)
1475
+ {
1476
+ _trainSize = trainSize;
1477
+ }
1478
+
1479
+ }
1480
+ }