@nxtedition/rocksdb 15.2.2 → 15.2.4

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 (1707) hide show
  1. package/.claude/settings.local.json +15 -1
  2. package/binding.cc +186 -128
  3. package/binding.gyp +32 -113
  4. package/build.sh +3 -0
  5. package/deps/rocksdb/rocksdb.gyp +3 -1
  6. package/index.js +3 -5
  7. package/package.json +1 -1
  8. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  9. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  10. package/util.h +62 -63
  11. package/deps/abseil-cpp/BUILD.bazel +0 -35
  12. package/deps/abseil-cpp/CMake/AbseilDll.cmake +0 -938
  13. package/deps/abseil-cpp/CMake/AbseilHelpers.cmake +0 -465
  14. package/deps/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +0 -14
  15. package/deps/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +0 -41
  16. package/deps/abseil-cpp/CMake/abslConfig.cmake.in +0 -8
  17. package/deps/abseil-cpp/CMake/install_test_project/CMakeLists.txt +0 -25
  18. package/deps/abseil-cpp/CMake/install_test_project/simple.cc +0 -32
  19. package/deps/abseil-cpp/CMake/install_test_project/test.sh +0 -113
  20. package/deps/abseil-cpp/CMakeLists.txt +0 -280
  21. package/deps/abseil-cpp/LICENSE +0 -203
  22. package/deps/abseil-cpp/MODULE.bazel +0 -43
  23. package/deps/abseil-cpp/PrivacyInfo.xcprivacy +0 -14
  24. package/deps/abseil-cpp/absl/BUILD.bazel +0 -62
  25. package/deps/abseil-cpp/absl/CMakeLists.txt +0 -45
  26. package/deps/abseil-cpp/absl/abseil.podspec.gen.py +0 -245
  27. package/deps/abseil-cpp/absl/algorithm/BUILD.bazel +0 -92
  28. package/deps/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -72
  29. package/deps/abseil-cpp/absl/algorithm/algorithm.h +0 -64
  30. package/deps/abseil-cpp/absl/algorithm/algorithm_test.cc +0 -60
  31. package/deps/abseil-cpp/absl/algorithm/container.h +0 -1864
  32. package/deps/abseil-cpp/absl/algorithm/container_test.cc +0 -2232
  33. package/deps/abseil-cpp/absl/base/BUILD.bazel +0 -1036
  34. package/deps/abseil-cpp/absl/base/CMakeLists.txt +0 -881
  35. package/deps/abseil-cpp/absl/base/attributes.h +0 -1081
  36. package/deps/abseil-cpp/absl/base/attributes_test.cc +0 -43
  37. package/deps/abseil-cpp/absl/base/bit_cast_test.cc +0 -109
  38. package/deps/abseil-cpp/absl/base/c_header_test.c +0 -30
  39. package/deps/abseil-cpp/absl/base/call_once.h +0 -228
  40. package/deps/abseil-cpp/absl/base/call_once_test.cc +0 -107
  41. package/deps/abseil-cpp/absl/base/casts.cc +0 -61
  42. package/deps/abseil-cpp/absl/base/casts.h +0 -313
  43. package/deps/abseil-cpp/absl/base/casts_test.cc +0 -148
  44. package/deps/abseil-cpp/absl/base/config.h +0 -854
  45. package/deps/abseil-cpp/absl/base/config_test.cc +0 -60
  46. package/deps/abseil-cpp/absl/base/const_init.h +0 -76
  47. package/deps/abseil-cpp/absl/base/dynamic_annotations.h +0 -480
  48. package/deps/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -958
  49. package/deps/abseil-cpp/absl/base/fast_type_id.h +0 -73
  50. package/deps/abseil-cpp/absl/base/fast_type_id_test.cc +0 -130
  51. package/deps/abseil-cpp/absl/base/internal/atomic_hook.h +0 -200
  52. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test.cc +0 -97
  53. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +0 -32
  54. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +0 -34
  55. package/deps/abseil-cpp/absl/base/internal/cmake_thread_test.cc +0 -22
  56. package/deps/abseil-cpp/absl/base/internal/cycleclock.cc +0 -72
  57. package/deps/abseil-cpp/absl/base/internal/cycleclock.h +0 -144
  58. package/deps/abseil-cpp/absl/base/internal/cycleclock_config.h +0 -55
  59. package/deps/abseil-cpp/absl/base/internal/direct_mmap.h +0 -170
  60. package/deps/abseil-cpp/absl/base/internal/dynamic_annotations.h +0 -398
  61. package/deps/abseil-cpp/absl/base/internal/endian.h +0 -279
  62. package/deps/abseil-cpp/absl/base/internal/endian_test.cc +0 -263
  63. package/deps/abseil-cpp/absl/base/internal/errno_saver.h +0 -43
  64. package/deps/abseil-cpp/absl/base/internal/errno_saver_test.cc +0 -45
  65. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.cc +0 -79
  66. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.h +0 -1109
  67. package/deps/abseil-cpp/absl/base/internal/exception_testing.h +0 -42
  68. package/deps/abseil-cpp/absl/base/internal/hide_ptr.h +0 -51
  69. package/deps/abseil-cpp/absl/base/internal/iterator_traits.h +0 -75
  70. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test.cc +0 -85
  71. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +0 -97
  72. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.cc +0 -661
  73. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.h +0 -133
  74. package/deps/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +0 -180
  75. package/deps/abseil-cpp/absl/base/internal/low_level_scheduling.h +0 -134
  76. package/deps/abseil-cpp/absl/base/internal/nullability_traits.h +0 -71
  77. package/deps/abseil-cpp/absl/base/internal/nullability_traits_test.cc +0 -98
  78. package/deps/abseil-cpp/absl/base/internal/per_thread_tls.h +0 -52
  79. package/deps/abseil-cpp/absl/base/internal/poison.cc +0 -85
  80. package/deps/abseil-cpp/absl/base/internal/poison.h +0 -59
  81. package/deps/abseil-cpp/absl/base/internal/poison_test.cc +0 -41
  82. package/deps/abseil-cpp/absl/base/internal/pretty_function.h +0 -33
  83. package/deps/abseil-cpp/absl/base/internal/raw_logging.cc +0 -279
  84. package/deps/abseil-cpp/absl/base/internal/raw_logging.h +0 -217
  85. package/deps/abseil-cpp/absl/base/internal/scheduling_mode.h +0 -58
  86. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.cc +0 -81
  87. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.h +0 -45
  88. package/deps/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +0 -99
  89. package/deps/abseil-cpp/absl/base/internal/spinlock.cc +0 -225
  90. package/deps/abseil-cpp/absl/base/internal/spinlock.h +0 -310
  91. package/deps/abseil-cpp/absl/base/internal/spinlock_akaros.inc +0 -35
  92. package/deps/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +0 -80
  93. package/deps/abseil-cpp/absl/base/internal/spinlock_linux.inc +0 -71
  94. package/deps/abseil-cpp/absl/base/internal/spinlock_posix.inc +0 -46
  95. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.cc +0 -81
  96. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.h +0 -95
  97. package/deps/abseil-cpp/absl/base/internal/spinlock_win32.inc +0 -40
  98. package/deps/abseil-cpp/absl/base/internal/strerror.cc +0 -88
  99. package/deps/abseil-cpp/absl/base/internal/strerror.h +0 -39
  100. package/deps/abseil-cpp/absl/base/internal/strerror_benchmark.cc +0 -29
  101. package/deps/abseil-cpp/absl/base/internal/strerror_test.cc +0 -89
  102. package/deps/abseil-cpp/absl/base/internal/sysinfo.cc +0 -494
  103. package/deps/abseil-cpp/absl/base/internal/sysinfo.h +0 -74
  104. package/deps/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -82
  105. package/deps/abseil-cpp/absl/base/internal/thread_identity.cc +0 -163
  106. package/deps/abseil-cpp/absl/base/internal/thread_identity.h +0 -273
  107. package/deps/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +0 -38
  108. package/deps/abseil-cpp/absl/base/internal/thread_identity_test.cc +0 -129
  109. package/deps/abseil-cpp/absl/base/internal/throw_delegate.cc +0 -203
  110. package/deps/abseil-cpp/absl/base/internal/throw_delegate.h +0 -75
  111. package/deps/abseil-cpp/absl/base/internal/tracing.cc +0 -39
  112. package/deps/abseil-cpp/absl/base/internal/tracing.h +0 -81
  113. package/deps/abseil-cpp/absl/base/internal/tracing_strong_test.cc +0 -117
  114. package/deps/abseil-cpp/absl/base/internal/tracing_weak_test.cc +0 -34
  115. package/deps/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +0 -68
  116. package/deps/abseil-cpp/absl/base/internal/unaligned_access.h +0 -89
  117. package/deps/abseil-cpp/absl/base/internal/unique_small_name_test.cc +0 -77
  118. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -134
  119. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.h +0 -113
  120. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +0 -62
  121. package/deps/abseil-cpp/absl/base/log_severity.cc +0 -56
  122. package/deps/abseil-cpp/absl/base/log_severity.h +0 -185
  123. package/deps/abseil-cpp/absl/base/log_severity_test.cc +0 -251
  124. package/deps/abseil-cpp/absl/base/macros.h +0 -243
  125. package/deps/abseil-cpp/absl/base/no_destructor.h +0 -191
  126. package/deps/abseil-cpp/absl/base/no_destructor_benchmark.cc +0 -165
  127. package/deps/abseil-cpp/absl/base/no_destructor_test.cc +0 -205
  128. package/deps/abseil-cpp/absl/base/nullability.h +0 -317
  129. package/deps/abseil-cpp/absl/base/nullability_default_nonnull_test.cc +0 -44
  130. package/deps/abseil-cpp/absl/base/nullability_test.cc +0 -90
  131. package/deps/abseil-cpp/absl/base/optimization.h +0 -310
  132. package/deps/abseil-cpp/absl/base/optimization_test.cc +0 -141
  133. package/deps/abseil-cpp/absl/base/options.h +0 -158
  134. package/deps/abseil-cpp/absl/base/policy_checks.h +0 -115
  135. package/deps/abseil-cpp/absl/base/port.h +0 -25
  136. package/deps/abseil-cpp/absl/base/prefetch.h +0 -209
  137. package/deps/abseil-cpp/absl/base/prefetch_test.cc +0 -64
  138. package/deps/abseil-cpp/absl/base/raw_logging_test.cc +0 -98
  139. package/deps/abseil-cpp/absl/base/spinlock_test_common.cc +0 -302
  140. package/deps/abseil-cpp/absl/base/thread_annotations.h +0 -333
  141. package/deps/abseil-cpp/absl/base/throw_delegate_test.cc +0 -175
  142. package/deps/abseil-cpp/absl/cleanup/BUILD.bazel +0 -74
  143. package/deps/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -55
  144. package/deps/abseil-cpp/absl/cleanup/cleanup.h +0 -142
  145. package/deps/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -309
  146. package/deps/abseil-cpp/absl/cleanup/internal/cleanup.h +0 -99
  147. package/deps/abseil-cpp/absl/container/BUILD.bazel +0 -1394
  148. package/deps/abseil-cpp/absl/container/CMakeLists.txt +0 -1239
  149. package/deps/abseil-cpp/absl/container/btree_benchmark.cc +0 -806
  150. package/deps/abseil-cpp/absl/container/btree_map.h +0 -941
  151. package/deps/abseil-cpp/absl/container/btree_set.h +0 -872
  152. package/deps/abseil-cpp/absl/container/btree_test.cc +0 -3653
  153. package/deps/abseil-cpp/absl/container/btree_test.h +0 -166
  154. package/deps/abseil-cpp/absl/container/chunked_queue.h +0 -755
  155. package/deps/abseil-cpp/absl/container/chunked_queue_benchmark.cc +0 -386
  156. package/deps/abseil-cpp/absl/container/chunked_queue_test.cc +0 -768
  157. package/deps/abseil-cpp/absl/container/fixed_array.h +0 -547
  158. package/deps/abseil-cpp/absl/container/fixed_array_benchmark.cc +0 -67
  159. package/deps/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +0 -201
  160. package/deps/abseil-cpp/absl/container/fixed_array_test.cc +0 -874
  161. package/deps/abseil-cpp/absl/container/flat_hash_map.h +0 -702
  162. package/deps/abseil-cpp/absl/container/flat_hash_map_test.cc +0 -451
  163. package/deps/abseil-cpp/absl/container/flat_hash_set.h +0 -590
  164. package/deps/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -401
  165. package/deps/abseil-cpp/absl/container/hash_container_defaults.h +0 -45
  166. package/deps/abseil-cpp/absl/container/inlined_vector.h +0 -1025
  167. package/deps/abseil-cpp/absl/container/inlined_vector_benchmark.cc +0 -829
  168. package/deps/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +0 -508
  169. package/deps/abseil-cpp/absl/container/inlined_vector_test.cc +0 -2278
  170. package/deps/abseil-cpp/absl/container/internal/btree.h +0 -3149
  171. package/deps/abseil-cpp/absl/container/internal/btree_container.h +0 -876
  172. package/deps/abseil-cpp/absl/container/internal/chunked_queue.h +0 -173
  173. package/deps/abseil-cpp/absl/container/internal/common.h +0 -301
  174. package/deps/abseil-cpp/absl/container/internal/common_policy_traits.h +0 -151
  175. package/deps/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +0 -157
  176. package/deps/abseil-cpp/absl/container/internal/compressed_tuple.h +0 -275
  177. package/deps/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +0 -469
  178. package/deps/abseil-cpp/absl/container/internal/container_memory.h +0 -561
  179. package/deps/abseil-cpp/absl/container/internal/container_memory_test.cc +0 -359
  180. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults.h +0 -281
  181. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +0 -633
  182. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -54
  183. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.h +0 -172
  184. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -173
  185. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +0 -45
  186. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -195
  187. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +0 -149
  188. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +0 -527
  189. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +0 -259
  190. package/deps/abseil-cpp/absl/container/internal/hashtable_debug.h +0 -102
  191. package/deps/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +0 -85
  192. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +0 -316
  193. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -311
  194. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +0 -31
  195. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +0 -534
  196. package/deps/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +0 -80
  197. package/deps/abseil-cpp/absl/container/internal/inlined_vector.h +0 -1094
  198. package/deps/abseil-cpp/absl/container/internal/layout.h +0 -828
  199. package/deps/abseil-cpp/absl/container/internal/layout_benchmark.cc +0 -295
  200. package/deps/abseil-cpp/absl/container/internal/layout_test.cc +0 -2034
  201. package/deps/abseil-cpp/absl/container/internal/node_slot_policy.h +0 -95
  202. package/deps/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +0 -71
  203. package/deps/abseil-cpp/absl/container/internal/raw_hash_map.h +0 -382
  204. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.cc +0 -2090
  205. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.h +0 -3763
  206. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +0 -525
  207. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +0 -696
  208. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +0 -583
  209. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +0 -79
  210. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +0 -66
  211. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +0 -4184
  212. package/deps/abseil-cpp/absl/container/internal/test_allocator.h +0 -387
  213. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.cc +0 -29
  214. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.h +0 -274
  215. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +0 -184
  216. package/deps/abseil-cpp/absl/container/internal/tracked.h +0 -83
  217. package/deps/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +0 -435
  218. package/deps/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +0 -112
  219. package/deps/abseil-cpp/absl/container/internal/unordered_map_members_test.h +0 -87
  220. package/deps/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +0 -336
  221. package/deps/abseil-cpp/absl/container/internal/unordered_map_test.cc +0 -50
  222. package/deps/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +0 -437
  223. package/deps/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +0 -88
  224. package/deps/abseil-cpp/absl/container/internal/unordered_set_members_test.h +0 -86
  225. package/deps/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +0 -215
  226. package/deps/abseil-cpp/absl/container/internal/unordered_set_test.cc +0 -41
  227. package/deps/abseil-cpp/absl/container/linked_hash_map.h +0 -666
  228. package/deps/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +0 -140
  229. package/deps/abseil-cpp/absl/container/linked_hash_map_test.cc +0 -987
  230. package/deps/abseil-cpp/absl/container/linked_hash_set.h +0 -527
  231. package/deps/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +0 -84
  232. package/deps/abseil-cpp/absl/container/linked_hash_set_test.cc +0 -947
  233. package/deps/abseil-cpp/absl/container/node_hash_map.h +0 -698
  234. package/deps/abseil-cpp/absl/container/node_hash_map_test.cc +0 -348
  235. package/deps/abseil-cpp/absl/container/node_hash_set.h +0 -589
  236. package/deps/abseil-cpp/absl/container/node_hash_set_test.cc +0 -188
  237. package/deps/abseil-cpp/absl/container/sample_element_size_test.cc +0 -118
  238. package/deps/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +0 -106
  239. package/deps/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +0 -303
  240. package/deps/abseil-cpp/absl/copts/GENERATED_copts.bzl +0 -304
  241. package/deps/abseil-cpp/absl/copts/configure_copts.bzl +0 -39
  242. package/deps/abseil-cpp/absl/copts/copts.py +0 -205
  243. package/deps/abseil-cpp/absl/copts/generate_copts.py +0 -109
  244. package/deps/abseil-cpp/absl/crc/BUILD.bazel +0 -228
  245. package/deps/abseil-cpp/absl/crc/CMakeLists.txt +0 -177
  246. package/deps/abseil-cpp/absl/crc/crc32c.cc +0 -95
  247. package/deps/abseil-cpp/absl/crc/crc32c.h +0 -192
  248. package/deps/abseil-cpp/absl/crc/crc32c_benchmark.cc +0 -196
  249. package/deps/abseil-cpp/absl/crc/crc32c_test.cc +0 -257
  250. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.cc +0 -359
  251. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.h +0 -69
  252. package/deps/abseil-cpp/absl/crc/internal/crc.cc +0 -435
  253. package/deps/abseil-cpp/absl/crc/internal/crc.h +0 -83
  254. package/deps/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -278
  255. package/deps/abseil-cpp/absl/crc/internal/crc32c.h +0 -39
  256. package/deps/abseil-cpp/absl/crc/internal/crc32c_inline.h +0 -72
  257. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.cc +0 -131
  258. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.h +0 -159
  259. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +0 -124
  260. package/deps/abseil-cpp/absl/crc/internal/crc_internal.h +0 -161
  261. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy.h +0 -122
  262. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +0 -78
  263. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +0 -177
  264. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +0 -459
  265. package/deps/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +0 -93
  266. package/deps/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +0 -762
  267. package/deps/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +0 -90
  268. package/deps/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +0 -81
  269. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +0 -195
  270. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +0 -90
  271. package/deps/abseil-cpp/absl/debugging/BUILD.bazel +0 -483
  272. package/deps/abseil-cpp/absl/debugging/CMakeLists.txt +0 -448
  273. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.cc +0 -434
  274. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.h +0 -121
  275. package/deps/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +0 -166
  276. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.cc +0 -98
  277. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.h +0 -32
  278. package/deps/abseil-cpp/absl/debugging/internal/addresses.h +0 -57
  279. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +0 -118
  280. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +0 -71
  281. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +0 -97
  282. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +0 -126
  283. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence_test.cc +0 -126
  284. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +0 -258
  285. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +0 -55
  286. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode_test.cc +0 -606
  287. package/deps/abseil-cpp/absl/debugging/internal/demangle.cc +0 -2958
  288. package/deps/abseil-cpp/absl/debugging/internal/demangle.h +0 -76
  289. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.cc +0 -925
  290. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.h +0 -42
  291. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust_test.cc +0 -584
  292. package/deps/abseil-cpp/absl/debugging/internal/demangle_test.cc +0 -2050
  293. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +0 -413
  294. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.h +0 -141
  295. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.cc +0 -334
  296. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.h +0 -70
  297. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.cc +0 -206
  298. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.h +0 -50
  299. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +0 -50
  300. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +0 -288
  301. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +0 -148
  302. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_config.h +0 -96
  303. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -112
  304. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +0 -114
  305. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +0 -270
  306. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +0 -204
  307. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +0 -25
  308. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +0 -81
  309. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +0 -410
  310. package/deps/abseil-cpp/absl/debugging/internal/symbolize.h +0 -153
  311. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +0 -70
  312. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +0 -47
  313. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point_test.cc +0 -175
  314. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.cc +0 -209
  315. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.h +0 -158
  316. package/deps/abseil-cpp/absl/debugging/leak_check.cc +0 -73
  317. package/deps/abseil-cpp/absl/debugging/leak_check.h +0 -150
  318. package/deps/abseil-cpp/absl/debugging/leak_check_fail_test.cc +0 -41
  319. package/deps/abseil-cpp/absl/debugging/leak_check_test.cc +0 -41
  320. package/deps/abseil-cpp/absl/debugging/stacktrace.cc +0 -244
  321. package/deps/abseil-cpp/absl/debugging/stacktrace.h +0 -302
  322. package/deps/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +0 -78
  323. package/deps/abseil-cpp/absl/debugging/stacktrace_test.cc +0 -505
  324. package/deps/abseil-cpp/absl/debugging/symbolize.cc +0 -44
  325. package/deps/abseil-cpp/absl/debugging/symbolize.h +0 -99
  326. package/deps/abseil-cpp/absl/debugging/symbolize_darwin.inc +0 -102
  327. package/deps/abseil-cpp/absl/debugging/symbolize_elf.inc +0 -1756
  328. package/deps/abseil-cpp/absl/debugging/symbolize_emscripten.inc +0 -63
  329. package/deps/abseil-cpp/absl/debugging/symbolize_test.cc +0 -619
  330. package/deps/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +0 -40
  331. package/deps/abseil-cpp/absl/debugging/symbolize_win32.inc +0 -99
  332. package/deps/abseil-cpp/absl/extend/CMakeLists.txt +0 -140
  333. package/deps/abseil-cpp/absl/extend/internal/BUILD.bazel +0 -127
  334. package/deps/abseil-cpp/absl/extend/internal/aggregate.h +0 -1687
  335. package/deps/abseil-cpp/absl/extend/internal/aggregate_test.cc +0 -867
  336. package/deps/abseil-cpp/absl/extend/internal/dependencies.h +0 -83
  337. package/deps/abseil-cpp/absl/extend/internal/dependencies_test.cc +0 -117
  338. package/deps/abseil-cpp/absl/extend/internal/is_tuple_hashable.h +0 -45
  339. package/deps/abseil-cpp/absl/extend/internal/num_bases.h +0 -87
  340. package/deps/abseil-cpp/absl/extend/internal/num_bases_test.cc +0 -91
  341. package/deps/abseil-cpp/absl/extend/internal/num_initializers.h +0 -113
  342. package/deps/abseil-cpp/absl/extend/internal/num_initializers_test.cc +0 -250
  343. package/deps/abseil-cpp/absl/extend/internal/reflection.cc +0 -112
  344. package/deps/abseil-cpp/absl/extend/internal/reflection.h +0 -75
  345. package/deps/abseil-cpp/absl/extend/internal/tuple.h +0 -51
  346. package/deps/abseil-cpp/absl/flags/BUILD.bazel +0 -618
  347. package/deps/abseil-cpp/absl/flags/CMakeLists.txt +0 -482
  348. package/deps/abseil-cpp/absl/flags/commandlineflag.cc +0 -35
  349. package/deps/abseil-cpp/absl/flags/commandlineflag.h +0 -219
  350. package/deps/abseil-cpp/absl/flags/commandlineflag_test.cc +0 -236
  351. package/deps/abseil-cpp/absl/flags/config.h +0 -68
  352. package/deps/abseil-cpp/absl/flags/config_test.cc +0 -61
  353. package/deps/abseil-cpp/absl/flags/declare.h +0 -77
  354. package/deps/abseil-cpp/absl/flags/flag.h +0 -307
  355. package/deps/abseil-cpp/absl/flags/flag_benchmark.cc +0 -251
  356. package/deps/abseil-cpp/absl/flags/flag_benchmark.lds +0 -13
  357. package/deps/abseil-cpp/absl/flags/flag_test.cc +0 -1381
  358. package/deps/abseil-cpp/absl/flags/flag_test_defs.cc +0 -24
  359. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.cc +0 -26
  360. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.h +0 -68
  361. package/deps/abseil-cpp/absl/flags/internal/flag.cc +0 -712
  362. package/deps/abseil-cpp/absl/flags/internal/flag.h +0 -969
  363. package/deps/abseil-cpp/absl/flags/internal/parse.h +0 -70
  364. package/deps/abseil-cpp/absl/flags/internal/path_util.h +0 -62
  365. package/deps/abseil-cpp/absl/flags/internal/path_util_test.cc +0 -46
  366. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +0 -69
  367. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.h +0 -64
  368. package/deps/abseil-cpp/absl/flags/internal/program_name.cc +0 -61
  369. package/deps/abseil-cpp/absl/flags/internal/program_name.h +0 -50
  370. package/deps/abseil-cpp/absl/flags/internal/program_name_test.cc +0 -61
  371. package/deps/abseil-cpp/absl/flags/internal/registry.h +0 -98
  372. package/deps/abseil-cpp/absl/flags/internal/sequence_lock.h +0 -187
  373. package/deps/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +0 -169
  374. package/deps/abseil-cpp/absl/flags/internal/usage.cc +0 -558
  375. package/deps/abseil-cpp/absl/flags/internal/usage.h +0 -106
  376. package/deps/abseil-cpp/absl/flags/internal/usage_test.cc +0 -550
  377. package/deps/abseil-cpp/absl/flags/marshalling.cc +0 -276
  378. package/deps/abseil-cpp/absl/flags/marshalling.h +0 -361
  379. package/deps/abseil-cpp/absl/flags/marshalling_test.cc +0 -1220
  380. package/deps/abseil-cpp/absl/flags/parse.cc +0 -952
  381. package/deps/abseil-cpp/absl/flags/parse.h +0 -130
  382. package/deps/abseil-cpp/absl/flags/parse_test.cc +0 -1094
  383. package/deps/abseil-cpp/absl/flags/reflection.cc +0 -368
  384. package/deps/abseil-cpp/absl/flags/reflection.h +0 -90
  385. package/deps/abseil-cpp/absl/flags/reflection_test.cc +0 -268
  386. package/deps/abseil-cpp/absl/flags/usage.cc +0 -66
  387. package/deps/abseil-cpp/absl/flags/usage.h +0 -43
  388. package/deps/abseil-cpp/absl/flags/usage_config.cc +0 -170
  389. package/deps/abseil-cpp/absl/flags/usage_config.h +0 -135
  390. package/deps/abseil-cpp/absl/flags/usage_config_test.cc +0 -205
  391. package/deps/abseil-cpp/absl/functional/BUILD.bazel +0 -173
  392. package/deps/abseil-cpp/absl/functional/CMakeLists.txt +0 -140
  393. package/deps/abseil-cpp/absl/functional/any_invocable.h +0 -336
  394. package/deps/abseil-cpp/absl/functional/any_invocable_test.cc +0 -1687
  395. package/deps/abseil-cpp/absl/functional/bind_front.h +0 -200
  396. package/deps/abseil-cpp/absl/functional/bind_front_test.cc +0 -227
  397. package/deps/abseil-cpp/absl/functional/function_ref.h +0 -249
  398. package/deps/abseil-cpp/absl/functional/function_ref_test.cc +0 -416
  399. package/deps/abseil-cpp/absl/functional/function_type_benchmark.cc +0 -176
  400. package/deps/abseil-cpp/absl/functional/internal/any_invocable.h +0 -787
  401. package/deps/abseil-cpp/absl/functional/internal/front_binder.h +0 -93
  402. package/deps/abseil-cpp/absl/functional/internal/function_ref.h +0 -151
  403. package/deps/abseil-cpp/absl/functional/overload.h +0 -72
  404. package/deps/abseil-cpp/absl/functional/overload_test.cc +0 -207
  405. package/deps/abseil-cpp/absl/hash/BUILD.bazel +0 -220
  406. package/deps/abseil-cpp/absl/hash/CMakeLists.txt +0 -179
  407. package/deps/abseil-cpp/absl/hash/hash.h +0 -466
  408. package/deps/abseil-cpp/absl/hash/hash_benchmark.cc +0 -398
  409. package/deps/abseil-cpp/absl/hash/hash_instantiated_test.cc +0 -224
  410. package/deps/abseil-cpp/absl/hash/hash_test.cc +0 -1320
  411. package/deps/abseil-cpp/absl/hash/hash_testing.h +0 -380
  412. package/deps/abseil-cpp/absl/hash/internal/city.cc +0 -337
  413. package/deps/abseil-cpp/absl/hash/internal/city.h +0 -78
  414. package/deps/abseil-cpp/absl/hash/internal/city_test.cc +0 -597
  415. package/deps/abseil-cpp/absl/hash/internal/hash.cc +0 -430
  416. package/deps/abseil-cpp/absl/hash/internal/hash.h +0 -1563
  417. package/deps/abseil-cpp/absl/hash/internal/hash_test.h +0 -87
  418. package/deps/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +0 -509
  419. package/deps/abseil-cpp/absl/hash/internal/print_hash_of.cc +0 -23
  420. package/deps/abseil-cpp/absl/hash/internal/spy_hash_state.h +0 -286
  421. package/deps/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +0 -38
  422. package/deps/abseil-cpp/absl/log/BUILD.bazel +0 -686
  423. package/deps/abseil-cpp/absl/log/CMakeLists.txt +0 -1239
  424. package/deps/abseil-cpp/absl/log/absl_check.h +0 -117
  425. package/deps/abseil-cpp/absl/log/absl_check_test.cc +0 -58
  426. package/deps/abseil-cpp/absl/log/absl_log.h +0 -115
  427. package/deps/abseil-cpp/absl/log/absl_log_basic_test.cc +0 -22
  428. package/deps/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -95
  429. package/deps/abseil-cpp/absl/log/check.h +0 -210
  430. package/deps/abseil-cpp/absl/log/check_test.cc +0 -58
  431. package/deps/abseil-cpp/absl/log/check_test_impl.inc +0 -1035
  432. package/deps/abseil-cpp/absl/log/die_if_null.cc +0 -34
  433. package/deps/abseil-cpp/absl/log/die_if_null.h +0 -97
  434. package/deps/abseil-cpp/absl/log/die_if_null_test.cc +0 -107
  435. package/deps/abseil-cpp/absl/log/flags.cc +0 -143
  436. package/deps/abseil-cpp/absl/log/flags.h +0 -43
  437. package/deps/abseil-cpp/absl/log/flags_test.cc +0 -195
  438. package/deps/abseil-cpp/absl/log/globals.cc +0 -178
  439. package/deps/abseil-cpp/absl/log/globals.h +0 -230
  440. package/deps/abseil-cpp/absl/log/globals_test.cc +0 -156
  441. package/deps/abseil-cpp/absl/log/initialize.cc +0 -38
  442. package/deps/abseil-cpp/absl/log/initialize.h +0 -45
  443. package/deps/abseil-cpp/absl/log/internal/BUILD.bazel +0 -581
  444. package/deps/abseil-cpp/absl/log/internal/append_truncated.h +0 -75
  445. package/deps/abseil-cpp/absl/log/internal/check_impl.h +0 -151
  446. package/deps/abseil-cpp/absl/log/internal/check_op.cc +0 -147
  447. package/deps/abseil-cpp/absl/log/internal/check_op.h +0 -565
  448. package/deps/abseil-cpp/absl/log/internal/conditions.cc +0 -85
  449. package/deps/abseil-cpp/absl/log/internal/conditions.h +0 -247
  450. package/deps/abseil-cpp/absl/log/internal/config.h +0 -45
  451. package/deps/abseil-cpp/absl/log/internal/container.h +0 -312
  452. package/deps/abseil-cpp/absl/log/internal/container_test.cc +0 -254
  453. package/deps/abseil-cpp/absl/log/internal/flags.h +0 -59
  454. package/deps/abseil-cpp/absl/log/internal/fnmatch.cc +0 -73
  455. package/deps/abseil-cpp/absl/log/internal/fnmatch.h +0 -35
  456. package/deps/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc +0 -29
  457. package/deps/abseil-cpp/absl/log/internal/fnmatch_test.cc +0 -60
  458. package/deps/abseil-cpp/absl/log/internal/globals.cc +0 -145
  459. package/deps/abseil-cpp/absl/log/internal/globals.h +0 -101
  460. package/deps/abseil-cpp/absl/log/internal/log_format.cc +0 -205
  461. package/deps/abseil-cpp/absl/log/internal/log_format.h +0 -78
  462. package/deps/abseil-cpp/absl/log/internal/log_impl.h +0 -280
  463. package/deps/abseil-cpp/absl/log/internal/log_message.cc +0 -787
  464. package/deps/abseil-cpp/absl/log/internal/log_message.h +0 -455
  465. package/deps/abseil-cpp/absl/log/internal/log_sink_set.cc +0 -296
  466. package/deps/abseil-cpp/absl/log/internal/log_sink_set.h +0 -54
  467. package/deps/abseil-cpp/absl/log/internal/nullguard.cc +0 -35
  468. package/deps/abseil-cpp/absl/log/internal/nullguard.h +0 -88
  469. package/deps/abseil-cpp/absl/log/internal/nullstream.h +0 -128
  470. package/deps/abseil-cpp/absl/log/internal/proto.cc +0 -218
  471. package/deps/abseil-cpp/absl/log/internal/proto.h +0 -298
  472. package/deps/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +0 -105
  473. package/deps/abseil-cpp/absl/log/internal/strip.h +0 -99
  474. package/deps/abseil-cpp/absl/log/internal/structured.h +0 -160
  475. package/deps/abseil-cpp/absl/log/internal/structured_proto.cc +0 -115
  476. package/deps/abseil-cpp/absl/log/internal/structured_proto.h +0 -107
  477. package/deps/abseil-cpp/absl/log/internal/structured_proto_test.cc +0 -120
  478. package/deps/abseil-cpp/absl/log/internal/test_actions.cc +0 -75
  479. package/deps/abseil-cpp/absl/log/internal/test_actions.h +0 -90
  480. package/deps/abseil-cpp/absl/log/internal/test_helpers.cc +0 -82
  481. package/deps/abseil-cpp/absl/log/internal/test_helpers.h +0 -71
  482. package/deps/abseil-cpp/absl/log/internal/test_matchers.cc +0 -216
  483. package/deps/abseil-cpp/absl/log/internal/test_matchers.h +0 -94
  484. package/deps/abseil-cpp/absl/log/internal/vlog_config.cc +0 -347
  485. package/deps/abseil-cpp/absl/log/internal/vlog_config.h +0 -164
  486. package/deps/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +0 -187
  487. package/deps/abseil-cpp/absl/log/internal/voidify.h +0 -50
  488. package/deps/abseil-cpp/absl/log/log.h +0 -378
  489. package/deps/abseil-cpp/absl/log/log_basic_test.cc +0 -22
  490. package/deps/abseil-cpp/absl/log/log_basic_test_impl.inc +0 -654
  491. package/deps/abseil-cpp/absl/log/log_benchmark.cc +0 -164
  492. package/deps/abseil-cpp/absl/log/log_entry.cc +0 -263
  493. package/deps/abseil-cpp/absl/log/log_entry.h +0 -223
  494. package/deps/abseil-cpp/absl/log/log_entry_test.cc +0 -468
  495. package/deps/abseil-cpp/absl/log/log_format_test.cc +0 -2261
  496. package/deps/abseil-cpp/absl/log/log_macro_hygiene_test.cc +0 -187
  497. package/deps/abseil-cpp/absl/log/log_modifier_methods_test.cc +0 -244
  498. package/deps/abseil-cpp/absl/log/log_sink.cc +0 -23
  499. package/deps/abseil-cpp/absl/log/log_sink.h +0 -71
  500. package/deps/abseil-cpp/absl/log/log_sink_registry.h +0 -64
  501. package/deps/abseil-cpp/absl/log/log_sink_test.cc +0 -418
  502. package/deps/abseil-cpp/absl/log/log_streamer.h +0 -181
  503. package/deps/abseil-cpp/absl/log/log_streamer_test.cc +0 -451
  504. package/deps/abseil-cpp/absl/log/scoped_mock_log.cc +0 -86
  505. package/deps/abseil-cpp/absl/log/scoped_mock_log.h +0 -203
  506. package/deps/abseil-cpp/absl/log/scoped_mock_log_test.cc +0 -295
  507. package/deps/abseil-cpp/absl/log/stripping_test.cc +0 -502
  508. package/deps/abseil-cpp/absl/log/structured.h +0 -75
  509. package/deps/abseil-cpp/absl/log/structured_test.cc +0 -64
  510. package/deps/abseil-cpp/absl/log/vlog_is_on.h +0 -74
  511. package/deps/abseil-cpp/absl/log/vlog_is_on_test.cc +0 -233
  512. package/deps/abseil-cpp/absl/memory/BUILD.bazel +0 -62
  513. package/deps/abseil-cpp/absl/memory/CMakeLists.txt +0 -41
  514. package/deps/abseil-cpp/absl/memory/memory.h +0 -278
  515. package/deps/abseil-cpp/absl/memory/memory_test.cc +0 -222
  516. package/deps/abseil-cpp/absl/meta/BUILD.bazel +0 -112
  517. package/deps/abseil-cpp/absl/meta/CMakeLists.txt +0 -100
  518. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing.h +0 -73
  519. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +0 -40
  520. package/deps/abseil-cpp/absl/meta/internal/requires.h +0 -67
  521. package/deps/abseil-cpp/absl/meta/internal/requires_test.cc +0 -66
  522. package/deps/abseil-cpp/absl/meta/type_traits.h +0 -582
  523. package/deps/abseil-cpp/absl/meta/type_traits_test.cc +0 -378
  524. package/deps/abseil-cpp/absl/numeric/BUILD.bazel +0 -145
  525. package/deps/abseil-cpp/absl/numeric/CMakeLists.txt +0 -104
  526. package/deps/abseil-cpp/absl/numeric/bits.h +0 -262
  527. package/deps/abseil-cpp/absl/numeric/bits_benchmark.cc +0 -73
  528. package/deps/abseil-cpp/absl/numeric/bits_test.cc +0 -724
  529. package/deps/abseil-cpp/absl/numeric/int128.cc +0 -344
  530. package/deps/abseil-cpp/absl/numeric/int128.h +0 -1224
  531. package/deps/abseil-cpp/absl/numeric/int128_benchmark.cc +0 -281
  532. package/deps/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -303
  533. package/deps/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +0 -347
  534. package/deps/abseil-cpp/absl/numeric/int128_stream_test.cc +0 -1400
  535. package/deps/abseil-cpp/absl/numeric/int128_test.cc +0 -1407
  536. package/deps/abseil-cpp/absl/numeric/internal/bits.h +0 -394
  537. package/deps/abseil-cpp/absl/numeric/internal/representation.h +0 -55
  538. package/deps/abseil-cpp/absl/profiling/BUILD.bazel +0 -188
  539. package/deps/abseil-cpp/absl/profiling/CMakeLists.txt +0 -132
  540. package/deps/abseil-cpp/absl/profiling/hashtable.cc +0 -135
  541. package/deps/abseil-cpp/absl/profiling/hashtable.h +0 -40
  542. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.cc +0 -93
  543. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.h +0 -130
  544. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +0 -203
  545. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +0 -53
  546. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.h +0 -211
  547. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +0 -79
  548. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +0 -177
  549. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.cc +0 -463
  550. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.h +0 -161
  551. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder.h +0 -253
  552. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +0 -188
  553. package/deps/abseil-cpp/absl/random/BUILD.bazel +0 -550
  554. package/deps/abseil-cpp/absl/random/CMakeLists.txt +0 -1250
  555. package/deps/abseil-cpp/absl/random/benchmarks.cc +0 -376
  556. package/deps/abseil-cpp/absl/random/bernoulli_distribution.h +0 -202
  557. package/deps/abseil-cpp/absl/random/bernoulli_distribution_test.cc +0 -217
  558. package/deps/abseil-cpp/absl/random/beta_distribution.h +0 -429
  559. package/deps/abseil-cpp/absl/random/beta_distribution_test.cc +0 -615
  560. package/deps/abseil-cpp/absl/random/bit_gen_ref.h +0 -187
  561. package/deps/abseil-cpp/absl/random/bit_gen_ref_test.cc +0 -107
  562. package/deps/abseil-cpp/absl/random/discrete_distribution.cc +0 -108
  563. package/deps/abseil-cpp/absl/random/discrete_distribution.h +0 -249
  564. package/deps/abseil-cpp/absl/random/discrete_distribution_test.cc +0 -251
  565. package/deps/abseil-cpp/absl/random/distributions.h +0 -450
  566. package/deps/abseil-cpp/absl/random/distributions_test.cc +0 -516
  567. package/deps/abseil-cpp/absl/random/examples_test.cc +0 -98
  568. package/deps/abseil-cpp/absl/random/exponential_distribution.h +0 -166
  569. package/deps/abseil-cpp/absl/random/exponential_distribution_test.cc +0 -426
  570. package/deps/abseil-cpp/absl/random/gaussian_distribution.cc +0 -104
  571. package/deps/abseil-cpp/absl/random/gaussian_distribution.h +0 -276
  572. package/deps/abseil-cpp/absl/random/gaussian_distribution_test.cc +0 -561
  573. package/deps/abseil-cpp/absl/random/generators_test.cc +0 -185
  574. package/deps/abseil-cpp/absl/random/internal/BUILD.bazel +0 -863
  575. package/deps/abseil-cpp/absl/random/internal/chi_square.cc +0 -230
  576. package/deps/abseil-cpp/absl/random/internal/chi_square.h +0 -89
  577. package/deps/abseil-cpp/absl/random/internal/chi_square_test.cc +0 -364
  578. package/deps/abseil-cpp/absl/random/internal/distribution_caller.h +0 -96
  579. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.cc +0 -418
  580. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.h +0 -113
  581. package/deps/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +0 -193
  582. package/deps/abseil-cpp/absl/random/internal/entropy_pool.cc +0 -185
  583. package/deps/abseil-cpp/absl/random/internal/entropy_pool.h +0 -35
  584. package/deps/abseil-cpp/absl/random/internal/entropy_pool_test.cc +0 -119
  585. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq.h +0 -92
  586. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +0 -241
  587. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits.h +0 -271
  588. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +0 -336
  589. package/deps/abseil-cpp/absl/random/internal/fastmath.h +0 -57
  590. package/deps/abseil-cpp/absl/random/internal/fastmath_test.cc +0 -95
  591. package/deps/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +0 -142
  592. package/deps/abseil-cpp/absl/random/internal/generate_real.h +0 -144
  593. package/deps/abseil-cpp/absl/random/internal/generate_real_test.cc +0 -496
  594. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver.h +0 -248
  595. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +0 -373
  596. package/deps/abseil-cpp/absl/random/internal/mock_helpers.h +0 -160
  597. package/deps/abseil-cpp/absl/random/internal/mock_overload_set.h +0 -122
  598. package/deps/abseil-cpp/absl/random/internal/mock_validators.h +0 -98
  599. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.cc +0 -804
  600. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.h +0 -172
  601. package/deps/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +0 -79
  602. package/deps/abseil-cpp/absl/random/internal/nonsecure_base.h +0 -160
  603. package/deps/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +0 -267
  604. package/deps/abseil-cpp/absl/random/internal/pcg_engine.h +0 -287
  605. package/deps/abseil-cpp/absl/random/internal/pcg_engine_test.cc +0 -638
  606. package/deps/abseil-cpp/absl/random/internal/platform.h +0 -158
  607. package/deps/abseil-cpp/absl/random/internal/randen.cc +0 -91
  608. package/deps/abseil-cpp/absl/random/internal/randen.h +0 -96
  609. package/deps/abseil-cpp/absl/random/internal/randen_benchmarks.cc +0 -177
  610. package/deps/abseil-cpp/absl/random/internal/randen_detect.cc +0 -280
  611. package/deps/abseil-cpp/absl/random/internal/randen_detect.h +0 -33
  612. package/deps/abseil-cpp/absl/random/internal/randen_engine.h +0 -265
  613. package/deps/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -654
  614. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.cc +0 -526
  615. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.h +0 -50
  616. package/deps/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +0 -99
  617. package/deps/abseil-cpp/absl/random/internal/randen_round_keys.cc +0 -462
  618. package/deps/abseil-cpp/absl/random/internal/randen_slow.cc +0 -471
  619. package/deps/abseil-cpp/absl/random/internal/randen_slow.h +0 -40
  620. package/deps/abseil-cpp/absl/random/internal/randen_slow_test.cc +0 -61
  621. package/deps/abseil-cpp/absl/random/internal/randen_test.cc +0 -75
  622. package/deps/abseil-cpp/absl/random/internal/randen_traits.h +0 -88
  623. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq.h +0 -165
  624. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +0 -172
  625. package/deps/abseil-cpp/absl/random/internal/seed_material.cc +0 -249
  626. package/deps/abseil-cpp/absl/random/internal/seed_material.h +0 -104
  627. package/deps/abseil-cpp/absl/random/internal/seed_material_test.cc +0 -205
  628. package/deps/abseil-cpp/absl/random/internal/sequence_urbg.h +0 -60
  629. package/deps/abseil-cpp/absl/random/internal/traits.h +0 -149
  630. package/deps/abseil-cpp/absl/random/internal/traits_test.cc +0 -123
  631. package/deps/abseil-cpp/absl/random/internal/uniform_helper.h +0 -244
  632. package/deps/abseil-cpp/absl/random/internal/uniform_helper_test.cc +0 -279
  633. package/deps/abseil-cpp/absl/random/internal/wide_multiply.h +0 -95
  634. package/deps/abseil-cpp/absl/random/internal/wide_multiply_test.cc +0 -119
  635. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution.h +0 -253
  636. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +0 -277
  637. package/deps/abseil-cpp/absl/random/mock_distributions.h +0 -269
  638. package/deps/abseil-cpp/absl/random/mock_distributions_test.cc +0 -281
  639. package/deps/abseil-cpp/absl/random/mocking_bit_gen.h +0 -237
  640. package/deps/abseil-cpp/absl/random/mocking_bit_gen_test.cc +0 -403
  641. package/deps/abseil-cpp/absl/random/poisson_distribution.h +0 -262
  642. package/deps/abseil-cpp/absl/random/poisson_distribution_test.cc +0 -569
  643. package/deps/abseil-cpp/absl/random/random.h +0 -224
  644. package/deps/abseil-cpp/absl/random/seed_gen_exception.cc +0 -45
  645. package/deps/abseil-cpp/absl/random/seed_gen_exception.h +0 -55
  646. package/deps/abseil-cpp/absl/random/seed_sequences.cc +0 -33
  647. package/deps/abseil-cpp/absl/random/seed_sequences.h +0 -112
  648. package/deps/abseil-cpp/absl/random/seed_sequences_test.cc +0 -126
  649. package/deps/abseil-cpp/absl/random/uniform_int_distribution.h +0 -276
  650. package/deps/abseil-cpp/absl/random/uniform_int_distribution_test.cc +0 -259
  651. package/deps/abseil-cpp/absl/random/uniform_real_distribution.h +0 -204
  652. package/deps/abseil-cpp/absl/random/uniform_real_distribution_test.cc +0 -394
  653. package/deps/abseil-cpp/absl/random/zipf_distribution.h +0 -273
  654. package/deps/abseil-cpp/absl/random/zipf_distribution_test.cc +0 -423
  655. package/deps/abseil-cpp/absl/status/BUILD.bazel +0 -211
  656. package/deps/abseil-cpp/absl/status/CMakeLists.txt +0 -159
  657. package/deps/abseil-cpp/absl/status/internal/status_internal.cc +0 -251
  658. package/deps/abseil-cpp/absl/status/internal/status_internal.h +0 -133
  659. package/deps/abseil-cpp/absl/status/internal/status_matchers.cc +0 -69
  660. package/deps/abseil-cpp/absl/status/internal/status_matchers.h +0 -246
  661. package/deps/abseil-cpp/absl/status/internal/statusor_internal.h +0 -657
  662. package/deps/abseil-cpp/absl/status/status.cc +0 -421
  663. package/deps/abseil-cpp/absl/status/status.h +0 -948
  664. package/deps/abseil-cpp/absl/status/status_benchmark.cc +0 -37
  665. package/deps/abseil-cpp/absl/status/status_matchers.h +0 -166
  666. package/deps/abseil-cpp/absl/status/status_matchers_test.cc +0 -211
  667. package/deps/abseil-cpp/absl/status/status_payload_printer.cc +0 -36
  668. package/deps/abseil-cpp/absl/status/status_payload_printer.h +0 -52
  669. package/deps/abseil-cpp/absl/status/status_test.cc +0 -580
  670. package/deps/abseil-cpp/absl/status/statusor.cc +0 -106
  671. package/deps/abseil-cpp/absl/status/statusor.h +0 -743
  672. package/deps/abseil-cpp/absl/status/statusor_benchmark.cc +0 -480
  673. package/deps/abseil-cpp/absl/status/statusor_test.cc +0 -2124
  674. package/deps/abseil-cpp/absl/strings/BUILD.bazel +0 -1593
  675. package/deps/abseil-cpp/absl/strings/CMakeLists.txt +0 -1295
  676. package/deps/abseil-cpp/absl/strings/ascii.cc +0 -296
  677. package/deps/abseil-cpp/absl/strings/ascii.h +0 -289
  678. package/deps/abseil-cpp/absl/strings/ascii_benchmark.cc +0 -157
  679. package/deps/abseil-cpp/absl/strings/ascii_test.cc +0 -374
  680. package/deps/abseil-cpp/absl/strings/atod_manual_test.cc +0 -193
  681. package/deps/abseil-cpp/absl/strings/char_formatting_test.cc +0 -169
  682. package/deps/abseil-cpp/absl/strings/charconv.cc +0 -1442
  683. package/deps/abseil-cpp/absl/strings/charconv.h +0 -123
  684. package/deps/abseil-cpp/absl/strings/charconv_benchmark.cc +0 -203
  685. package/deps/abseil-cpp/absl/strings/charconv_test.cc +0 -787
  686. package/deps/abseil-cpp/absl/strings/charset.h +0 -163
  687. package/deps/abseil-cpp/absl/strings/charset_benchmark.cc +0 -57
  688. package/deps/abseil-cpp/absl/strings/charset_test.cc +0 -181
  689. package/deps/abseil-cpp/absl/strings/cord.cc +0 -1582
  690. package/deps/abseil-cpp/absl/strings/cord.h +0 -1763
  691. package/deps/abseil-cpp/absl/strings/cord_analysis.cc +0 -196
  692. package/deps/abseil-cpp/absl/strings/cord_analysis.h +0 -63
  693. package/deps/abseil-cpp/absl/strings/cord_buffer.h +0 -572
  694. package/deps/abseil-cpp/absl/strings/cord_buffer_test.cc +0 -322
  695. package/deps/abseil-cpp/absl/strings/cord_test.cc +0 -3421
  696. package/deps/abseil-cpp/absl/strings/cord_test_helpers.h +0 -122
  697. package/deps/abseil-cpp/absl/strings/cordz_test.cc +0 -468
  698. package/deps/abseil-cpp/absl/strings/cordz_test_helpers.h +0 -152
  699. package/deps/abseil-cpp/absl/strings/escaping.cc +0 -1035
  700. package/deps/abseil-cpp/absl/strings/escaping.h +0 -185
  701. package/deps/abseil-cpp/absl/strings/escaping_benchmark.cc +0 -124
  702. package/deps/abseil-cpp/absl/strings/escaping_test.cc +0 -760
  703. package/deps/abseil-cpp/absl/strings/has_absl_stringify.h +0 -64
  704. package/deps/abseil-cpp/absl/strings/has_absl_stringify_test.cc +0 -40
  705. package/deps/abseil-cpp/absl/strings/has_ostream_operator.h +0 -42
  706. package/deps/abseil-cpp/absl/strings/has_ostream_operator_test.cc +0 -41
  707. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite.h +0 -93
  708. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +0 -95
  709. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.cc +0 -357
  710. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.h +0 -433
  711. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +0 -260
  712. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.cc +0 -504
  713. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.h +0 -99
  714. package/deps/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +0 -357
  715. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge.h +0 -63
  716. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +0 -130
  717. package/deps/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -70
  718. package/deps/abseil-cpp/absl/strings/internal/cord_internal.h +0 -942
  719. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -1237
  720. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.h +0 -944
  721. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +0 -187
  722. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +0 -267
  723. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +0 -346
  724. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +0 -69
  725. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +0 -212
  726. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +0 -293
  727. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +0 -1568
  728. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +0 -64
  729. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.h +0 -47
  730. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +0 -56
  731. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.h +0 -103
  732. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +0 -130
  733. package/deps/abseil-cpp/absl/strings/internal/cord_rep_flat.h +0 -195
  734. package/deps/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +0 -205
  735. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.cc +0 -102
  736. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.h +0 -87
  737. package/deps/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +0 -147
  738. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.cc +0 -165
  739. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.h +0 -98
  740. package/deps/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +0 -265
  741. package/deps/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -424
  742. package/deps/abseil-cpp/absl/strings/internal/cordz_info.h +0 -295
  743. package/deps/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +0 -510
  744. package/deps/abseil-cpp/absl/strings/internal/cordz_info_test.cc +0 -342
  745. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +0 -64
  746. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.h +0 -97
  747. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +0 -208
  748. package/deps/abseil-cpp/absl/strings/internal/cordz_statistics.h +0 -88
  749. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope.h +0 -71
  750. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +0 -49
  751. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +0 -123
  752. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +0 -147
  753. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +0 -99
  754. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +0 -35
  755. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +0 -56
  756. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +0 -99
  757. package/deps/abseil-cpp/absl/strings/internal/escaping.cc +0 -209
  758. package/deps/abseil-cpp/absl/strings/internal/escaping.h +0 -59
  759. package/deps/abseil-cpp/absl/strings/internal/escaping_test_common.h +0 -133
  760. package/deps/abseil-cpp/absl/strings/internal/generic_printer.cc +0 -107
  761. package/deps/abseil-cpp/absl/strings/internal/generic_printer.h +0 -115
  762. package/deps/abseil-cpp/absl/strings/internal/generic_printer_internal.h +0 -423
  763. package/deps/abseil-cpp/absl/strings/internal/generic_printer_test.cc +0 -685
  764. package/deps/abseil-cpp/absl/strings/internal/memutil.cc +0 -48
  765. package/deps/abseil-cpp/absl/strings/internal/memutil.h +0 -40
  766. package/deps/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +0 -127
  767. package/deps/abseil-cpp/absl/strings/internal/memutil_test.cc +0 -41
  768. package/deps/abseil-cpp/absl/strings/internal/numbers_test_common.h +0 -184
  769. package/deps/abseil-cpp/absl/strings/internal/ostringstream.cc +0 -43
  770. package/deps/abseil-cpp/absl/strings/internal/ostringstream.h +0 -114
  771. package/deps/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +0 -105
  772. package/deps/abseil-cpp/absl/strings/internal/ostringstream_test.cc +0 -131
  773. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.cc +0 -122
  774. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.h +0 -40
  775. package/deps/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +0 -122
  776. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -119
  777. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +0 -108
  778. package/deps/abseil-cpp/absl/strings/internal/stl_type_traits.h +0 -248
  779. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.cc +0 -615
  780. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.h +0 -661
  781. package/deps/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +0 -162
  782. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.cc +0 -275
  783. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.h +0 -237
  784. package/deps/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +0 -157
  785. package/deps/abseil-cpp/absl/strings/internal/str_format/checker.h +0 -98
  786. package/deps/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +0 -176
  787. package/deps/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +0 -357
  788. package/deps/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +0 -1471
  789. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -53
  790. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.h +0 -456
  791. package/deps/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +0 -110
  792. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +0 -1945
  793. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +0 -37
  794. package/deps/abseil-cpp/absl/strings/internal/str_format/output.cc +0 -74
  795. package/deps/abseil-cpp/absl/strings/internal/str_format/output.h +0 -97
  796. package/deps/abseil-cpp/absl/strings/internal/str_format/output_test.cc +0 -79
  797. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.cc +0 -140
  798. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.h +0 -271
  799. package/deps/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +0 -446
  800. package/deps/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -341
  801. package/deps/abseil-cpp/absl/strings/internal/str_split_internal.h +0 -525
  802. package/deps/abseil-cpp/absl/strings/internal/string_constant.h +0 -67
  803. package/deps/abseil-cpp/absl/strings/internal/string_constant_test.cc +0 -60
  804. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.cc +0 -28
  805. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.h +0 -57
  806. package/deps/abseil-cpp/absl/strings/internal/utf8.cc +0 -148
  807. package/deps/abseil-cpp/absl/strings/internal/utf8.h +0 -64
  808. package/deps/abseil-cpp/absl/strings/internal/utf8_test.cc +0 -259
  809. package/deps/abseil-cpp/absl/strings/match.cc +0 -133
  810. package/deps/abseil-cpp/absl/strings/match.h +0 -129
  811. package/deps/abseil-cpp/absl/strings/match_test.cc +0 -291
  812. package/deps/abseil-cpp/absl/strings/numbers.cc +0 -1230
  813. package/deps/abseil-cpp/absl/strings/numbers.h +0 -359
  814. package/deps/abseil-cpp/absl/strings/numbers_benchmark.cc +0 -288
  815. package/deps/abseil-cpp/absl/strings/numbers_test.cc +0 -2324
  816. package/deps/abseil-cpp/absl/strings/resize_and_overwrite.h +0 -194
  817. package/deps/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +0 -154
  818. package/deps/abseil-cpp/absl/strings/str_cat.cc +0 -247
  819. package/deps/abseil-cpp/absl/strings/str_cat.h +0 -633
  820. package/deps/abseil-cpp/absl/strings/str_cat_benchmark.cc +0 -288
  821. package/deps/abseil-cpp/absl/strings/str_cat_test.cc +0 -692
  822. package/deps/abseil-cpp/absl/strings/str_format.h +0 -887
  823. package/deps/abseil-cpp/absl/strings/str_format_test.cc +0 -1230
  824. package/deps/abseil-cpp/absl/strings/str_join.h +0 -301
  825. package/deps/abseil-cpp/absl/strings/str_join_benchmark.cc +0 -106
  826. package/deps/abseil-cpp/absl/strings/str_join_test.cc +0 -645
  827. package/deps/abseil-cpp/absl/strings/str_replace.cc +0 -91
  828. package/deps/abseil-cpp/absl/strings/str_replace.h +0 -222
  829. package/deps/abseil-cpp/absl/strings/str_replace_benchmark.cc +0 -121
  830. package/deps/abseil-cpp/absl/strings/str_replace_test.cc +0 -345
  831. package/deps/abseil-cpp/absl/strings/str_split.cc +0 -144
  832. package/deps/abseil-cpp/absl/strings/str_split.h +0 -582
  833. package/deps/abseil-cpp/absl/strings/str_split_benchmark.cc +0 -180
  834. package/deps/abseil-cpp/absl/strings/str_split_test.cc +0 -1069
  835. package/deps/abseil-cpp/absl/strings/string_view.h +0 -60
  836. package/deps/abseil-cpp/absl/strings/string_view_test.cc +0 -86
  837. package/deps/abseil-cpp/absl/strings/strip.h +0 -99
  838. package/deps/abseil-cpp/absl/strings/strip_test.cc +0 -198
  839. package/deps/abseil-cpp/absl/strings/substitute.cc +0 -187
  840. package/deps/abseil-cpp/absl/strings/substitute.h +0 -769
  841. package/deps/abseil-cpp/absl/strings/substitute_benchmark.cc +0 -158
  842. package/deps/abseil-cpp/absl/strings/substitute_test.cc +0 -288
  843. package/deps/abseil-cpp/absl/synchronization/BUILD.bazel +0 -410
  844. package/deps/abseil-cpp/absl/synchronization/CMakeLists.txt +0 -293
  845. package/deps/abseil-cpp/absl/synchronization/barrier.cc +0 -52
  846. package/deps/abseil-cpp/absl/synchronization/barrier.h +0 -79
  847. package/deps/abseil-cpp/absl/synchronization/barrier_test.cc +0 -75
  848. package/deps/abseil-cpp/absl/synchronization/blocking_counter.cc +0 -73
  849. package/deps/abseil-cpp/absl/synchronization/blocking_counter.h +0 -107
  850. package/deps/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +0 -84
  851. package/deps/abseil-cpp/absl/synchronization/blocking_counter_test.cc +0 -146
  852. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +0 -152
  853. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -56
  854. package/deps/abseil-cpp/absl/synchronization/internal/futex.h +0 -177
  855. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -107
  856. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.h +0 -63
  857. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.cc +0 -714
  858. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.h +0 -146
  859. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +0 -43
  860. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +0 -483
  861. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -220
  862. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +0 -178
  863. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +0 -406
  864. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -106
  865. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +0 -119
  866. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +0 -194
  867. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -163
  868. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +0 -60
  869. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -118
  870. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.h +0 -65
  871. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -87
  872. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +0 -56
  873. package/deps/abseil-cpp/absl/synchronization/internal/thread_pool.h +0 -96
  874. package/deps/abseil-cpp/absl/synchronization/internal/waiter.h +0 -69
  875. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -38
  876. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.h +0 -90
  877. package/deps/abseil-cpp/absl/synchronization/internal/waiter_test.cc +0 -192
  878. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -147
  879. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.h +0 -72
  880. package/deps/abseil-cpp/absl/synchronization/lifetime_test.cc +0 -180
  881. package/deps/abseil-cpp/absl/synchronization/mutex.cc +0 -2820
  882. package/deps/abseil-cpp/absl/synchronization/mutex.h +0 -1352
  883. package/deps/abseil-cpp/absl/synchronization/mutex_benchmark.cc +0 -321
  884. package/deps/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +0 -138
  885. package/deps/abseil-cpp/absl/synchronization/mutex_test.cc +0 -2065
  886. package/deps/abseil-cpp/absl/synchronization/notification.cc +0 -85
  887. package/deps/abseil-cpp/absl/synchronization/notification.h +0 -133
  888. package/deps/abseil-cpp/absl/synchronization/notification_test.cc +0 -230
  889. package/deps/abseil-cpp/absl/time/BUILD.bazel +0 -244
  890. package/deps/abseil-cpp/absl/time/CMakeLists.txt +0 -218
  891. package/deps/abseil-cpp/absl/time/civil_time.cc +0 -200
  892. package/deps/abseil-cpp/absl/time/civil_time.h +0 -589
  893. package/deps/abseil-cpp/absl/time/civil_time_benchmark.cc +0 -129
  894. package/deps/abseil-cpp/absl/time/civil_time_test.cc +0 -1351
  895. package/deps/abseil-cpp/absl/time/clock.cc +0 -603
  896. package/deps/abseil-cpp/absl/time/clock.h +0 -78
  897. package/deps/abseil-cpp/absl/time/clock_benchmark.cc +0 -74
  898. package/deps/abseil-cpp/absl/time/clock_interface.cc +0 -71
  899. package/deps/abseil-cpp/absl/time/clock_interface.h +0 -91
  900. package/deps/abseil-cpp/absl/time/clock_interface_test.cc +0 -128
  901. package/deps/abseil-cpp/absl/time/clock_test.cc +0 -122
  902. package/deps/abseil-cpp/absl/time/duration.cc +0 -918
  903. package/deps/abseil-cpp/absl/time/duration_benchmark.cc +0 -608
  904. package/deps/abseil-cpp/absl/time/duration_test.cc +0 -1901
  905. package/deps/abseil-cpp/absl/time/flag_test.cc +0 -147
  906. package/deps/abseil-cpp/absl/time/format.cc +0 -162
  907. package/deps/abseil-cpp/absl/time/format_benchmark.cc +0 -64
  908. package/deps/abseil-cpp/absl/time/format_test.cc +0 -441
  909. package/deps/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +0 -195
  910. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +0 -332
  911. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +0 -644
  912. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +0 -460
  913. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +0 -102
  914. package/deps/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +0 -436
  915. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +0 -94
  916. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +0 -1066
  917. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +0 -515
  918. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +0 -33
  919. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +0 -140
  920. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +0 -52
  921. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +0 -1068
  922. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +0 -1773
  923. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +0 -47
  924. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +0 -80
  925. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +0 -115
  926. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +0 -97
  927. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +0 -1070
  928. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +0 -128
  929. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +0 -333
  930. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +0 -60
  931. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -217
  932. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +0 -918
  933. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +0 -186
  934. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +0 -37
  935. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +0 -159
  936. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +0 -132
  937. package/deps/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +0 -120
  938. package/deps/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +0 -116
  939. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +0 -38
  940. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/version +0 -1
  941. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  942. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  943. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  944. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  945. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  946. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  947. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  948. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  949. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  950. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  951. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  952. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  953. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  954. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  955. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  956. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  957. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  958. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  959. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  960. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  961. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  962. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  963. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  964. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  965. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  966. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  967. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  968. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  969. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  970. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  971. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  972. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  973. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  974. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  975. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  976. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  977. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  978. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  979. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  980. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  981. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  982. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  983. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  984. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  985. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  986. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  987. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  988. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  989. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  990. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  991. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  992. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  993. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  994. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  995. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  996. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  997. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  998. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  999. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  1000. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1001. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  1002. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  1003. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  1004. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  1005. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  1006. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  1007. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  1008. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  1009. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  1010. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  1011. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  1012. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  1013. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  1014. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  1015. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  1016. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  1017. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  1018. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  1019. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  1020. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  1021. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  1022. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  1023. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  1024. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  1025. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  1026. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  1027. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  1028. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  1029. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  1030. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  1031. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  1032. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  1033. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  1034. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  1035. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  1036. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  1037. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  1038. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  1039. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  1040. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  1041. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  1042. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  1043. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  1044. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  1045. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  1046. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  1047. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  1048. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  1049. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  1050. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  1051. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  1052. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  1053. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  1054. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  1055. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  1056. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  1057. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  1058. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  1059. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  1060. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  1061. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  1062. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  1063. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  1064. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  1065. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  1066. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  1067. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  1068. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  1069. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  1070. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  1071. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  1072. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  1073. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  1074. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  1075. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  1076. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  1077. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  1078. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  1079. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  1080. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  1081. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  1082. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  1083. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  1084. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  1085. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  1086. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  1087. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  1088. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  1089. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  1090. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  1091. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  1092. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  1093. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  1094. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  1095. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  1096. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  1097. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  1098. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  1099. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  1100. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  1101. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  1102. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  1103. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  1104. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  1105. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  1106. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  1107. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  1108. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  1109. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1110. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1111. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1112. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1113. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1114. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1115. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1116. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1117. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1118. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1119. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1120. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1121. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1122. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1123. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1124. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1125. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1126. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1127. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1128. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1129. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1130. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1131. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1132. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1133. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1134. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1135. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1136. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1137. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1138. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1139. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1140. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1141. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1142. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1143. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1144. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1145. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1146. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1147. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1148. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1149. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1150. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1151. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1152. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1153. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1154. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1155. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1156. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1157. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1158. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1159. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1160. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1161. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1162. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1163. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1164. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1165. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1166. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1167. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1168. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1169. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1170. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1171. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1172. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1173. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1174. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1175. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1176. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1177. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1178. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1179. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1180. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1181. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1182. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1183. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1184. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1185. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1186. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1187. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1188. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1189. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1190. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1191. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1192. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1193. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1194. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1195. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1196. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1197. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1198. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1199. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1200. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1201. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1202. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1203. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1204. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1205. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1206. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1207. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1208. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1209. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1210. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1211. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1212. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1213. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1214. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1215. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1216. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1217. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1218. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1219. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1220. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1221. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1222. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1223. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1224. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1225. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1226. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1227. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1228. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1229. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1230. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1231. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1232. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1233. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1234. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1235. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1236. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1237. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1238. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1239. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1240. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1241. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1242. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1243. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1244. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1245. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1246. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1247. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1248. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1249. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1250. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1251. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1252. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1253. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1254. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1255. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1256. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1257. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1258. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1259. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1260. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1261. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1262. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1263. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1264. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1265. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1266. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1267. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1268. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1269. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1270. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1271. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1272. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1273. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1274. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1275. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1276. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1277. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1278. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1279. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1280. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1281. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1282. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1283. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1284. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1285. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1286. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1287. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1288. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1289. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1290. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1291. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1292. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1293. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1294. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1295. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1296. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1297. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1298. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1299. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1300. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1301. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1302. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1303. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1304. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1305. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1306. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1307. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1308. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1309. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1310. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1311. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1312. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1313. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1314. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1315. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1316. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1317. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1318. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1319. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1320. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1321. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1322. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1323. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1324. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1325. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1326. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1327. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1328. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1329. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1330. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1331. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1332. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1333. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1334. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1335. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1336. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1337. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1338. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1339. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1340. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1341. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1342. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1343. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1344. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1345. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1346. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1347. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1348. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1349. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1350. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1351. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1352. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1353. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1354. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1355. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1356. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1357. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1358. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1359. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1360. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1361. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1362. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1363. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1364. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1365. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1366. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1367. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1368. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1369. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1370. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1371. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1372. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1373. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1374. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1375. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1376. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1377. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1378. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1379. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1380. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1381. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1382. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1383. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1384. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1385. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1386. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1387. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1388. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1389. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1390. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1391. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1392. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1393. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1394. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1395. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1396. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1397. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1398. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1399. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1400. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1401. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1402. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1403. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1404. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1405. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1406. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1407. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1408. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1409. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1410. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1411. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1412. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1413. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1414. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1415. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1416. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1417. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1418. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1419. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1420. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1421. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1422. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1423. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1424. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1425. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1426. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1427. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1428. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1429. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1430. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1431. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1432. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1433. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1434. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1435. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1436. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1437. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1438. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1439. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1440. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1441. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1442. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1443. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1444. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1445. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1446. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1447. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1448. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1449. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1450. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1451. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1452. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1453. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1454. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1455. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1456. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1457. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1458. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1459. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1460. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1461. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1462. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1463. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1464. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1465. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1466. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1467. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1468. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1469. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1470. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1471. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1472. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1473. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1474. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1475. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1476. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1477. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1478. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1479. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1480. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1481. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1482. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1483. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1484. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1485. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1486. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1487. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1488. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1489. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1490. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1491. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1492. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1493. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1494. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1495. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1496. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1497. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1498. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1499. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1500. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1501. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1502. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1503. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1504. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1505. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1506. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1507. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1508. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1509. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1510. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1511. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1512. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1513. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1514. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1515. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1516. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1517. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1518. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1519. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1520. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1521. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1522. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1523. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1524. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1525. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1526. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1527. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1528. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1529. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1530. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1531. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1532. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1533. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1534. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1535. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1536. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1537. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1538. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1539. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +0 -279
  1540. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +0 -375
  1541. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +0 -296
  1542. package/deps/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +0 -31
  1543. package/deps/abseil-cpp/absl/time/internal/get_current_time_posix.inc +0 -24
  1544. package/deps/abseil-cpp/absl/time/internal/test_util.cc +0 -32
  1545. package/deps/abseil-cpp/absl/time/internal/test_util.h +0 -33
  1546. package/deps/abseil-cpp/absl/time/simulated_clock.cc +0 -225
  1547. package/deps/abseil-cpp/absl/time/simulated_clock.h +0 -108
  1548. package/deps/abseil-cpp/absl/time/simulated_clock_test.cc +0 -614
  1549. package/deps/abseil-cpp/absl/time/time.cc +0 -507
  1550. package/deps/abseil-cpp/absl/time/time.h +0 -1926
  1551. package/deps/abseil-cpp/absl/time/time_benchmark.cc +0 -321
  1552. package/deps/abseil-cpp/absl/time/time_test.cc +0 -1365
  1553. package/deps/abseil-cpp/absl/time/time_zone_test.cc +0 -97
  1554. package/deps/abseil-cpp/absl/types/BUILD.bazel +0 -166
  1555. package/deps/abseil-cpp/absl/types/CMakeLists.txt +0 -179
  1556. package/deps/abseil-cpp/absl/types/any.h +0 -44
  1557. package/deps/abseil-cpp/absl/types/compare.h +0 -506
  1558. package/deps/abseil-cpp/absl/types/compare_test.cc +0 -300
  1559. package/deps/abseil-cpp/absl/types/internal/span.h +0 -141
  1560. package/deps/abseil-cpp/absl/types/optional.h +0 -41
  1561. package/deps/abseil-cpp/absl/types/span.h +0 -830
  1562. package/deps/abseil-cpp/absl/types/span_test.cc +0 -915
  1563. package/deps/abseil-cpp/absl/types/variant.h +0 -82
  1564. package/deps/abseil-cpp/absl/types/variant_test.cc +0 -164
  1565. package/deps/abseil-cpp/absl/utility/BUILD.bazel +0 -46
  1566. package/deps/abseil-cpp/absl/utility/CMakeLists.txt +0 -28
  1567. package/deps/abseil-cpp/absl/utility/utility.h +0 -68
  1568. package/deps/abseil-cpp/ci/absl_alternate_options.h +0 -28
  1569. package/deps/abseil-cpp/ci/cmake_common.sh +0 -19
  1570. package/deps/abseil-cpp/ci/cmake_install_test.sh +0 -64
  1571. package/deps/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +0 -106
  1572. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +0 -114
  1573. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +0 -107
  1574. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +0 -106
  1575. package/deps/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +0 -104
  1576. package/deps/abseil-cpp/ci/linux_docker_containers.sh +0 -22
  1577. package/deps/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +0 -100
  1578. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +0 -105
  1579. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +0 -85
  1580. package/deps/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +0 -85
  1581. package/deps/abseil-cpp/ci/macos_xcode_bazel.sh +0 -70
  1582. package/deps/abseil-cpp/ci/macos_xcode_cmake.sh +0 -78
  1583. package/deps/abseil-cpp/ci/windows_clangcl_bazel.bat +0 -70
  1584. package/deps/abseil-cpp/ci/windows_msvc_bazel.bat +0 -61
  1585. package/deps/abseil-cpp/ci/windows_msvc_cmake.bat +0 -69
  1586. package/deps/abseil-cpp/conanfile.py +0 -51
  1587. package/deps/abseil-cpp/create_lts.py +0 -139
  1588. package/deps/re2/.bazelrc +0 -20
  1589. package/deps/re2/.bcr/metadata.template.json +0 -16
  1590. package/deps/re2/.bcr/presubmit.yml +0 -57
  1591. package/deps/re2/.bcr/source.template.json +0 -5
  1592. package/deps/re2/BUILD.bazel +0 -463
  1593. package/deps/re2/CMakeLists.txt +0 -283
  1594. package/deps/re2/LICENSE +0 -27
  1595. package/deps/re2/MODULE.bazel +0 -29
  1596. package/deps/re2/Makefile +0 -408
  1597. package/deps/re2/WORKSPACE.bazel +0 -7
  1598. package/deps/re2/WORKSPACE.bzlmod +0 -7
  1599. package/deps/re2/app/BUILD.bazel +0 -24
  1600. package/deps/re2/app/_re2.cc +0 -94
  1601. package/deps/re2/app/_re2.d.ts +0 -23
  1602. package/deps/re2/app/app.ts +0 -111
  1603. package/deps/re2/app/build.sh +0 -32
  1604. package/deps/re2/app/index.html +0 -5
  1605. package/deps/re2/app/package.json +0 -14
  1606. package/deps/re2/app/rollup.config.js +0 -28
  1607. package/deps/re2/app/tsconfig.json +0 -17
  1608. package/deps/re2/benchlog/benchplot.py +0 -98
  1609. package/deps/re2/benchlog/mktable +0 -155
  1610. package/deps/re2/doc/mksyntaxgo +0 -42
  1611. package/deps/re2/doc/mksyntaxhtml +0 -42
  1612. package/deps/re2/doc/mksyntaxwiki +0 -36
  1613. package/deps/re2/doc/syntax.html +0 -477
  1614. package/deps/re2/doc/syntax.txt +0 -463
  1615. package/deps/re2/lib/git/commit-msg.hook +0 -104
  1616. package/deps/re2/libre2.symbols +0 -16
  1617. package/deps/re2/libre2.symbols.darwin +0 -12
  1618. package/deps/re2/python/BUILD.bazel +0 -80
  1619. package/deps/re2/python/_re2.cc +0 -352
  1620. package/deps/re2/python/re2.py +0 -583
  1621. package/deps/re2/python/re2_test.py +0 -495
  1622. package/deps/re2/python/setup.py +0 -159
  1623. package/deps/re2/python/toolchains/generate.py +0 -100
  1624. package/deps/re2/re2/bitmap256.cc +0 -43
  1625. package/deps/re2/re2/bitmap256.h +0 -88
  1626. package/deps/re2/re2/bitstate.cc +0 -389
  1627. package/deps/re2/re2/compile.cc +0 -1265
  1628. package/deps/re2/re2/dfa.cc +0 -2135
  1629. package/deps/re2/re2/filtered_re2.cc +0 -138
  1630. package/deps/re2/re2/filtered_re2.h +0 -115
  1631. package/deps/re2/re2/fuzzing/re2_fuzzer.cc +0 -284
  1632. package/deps/re2/re2/make_perl_groups.pl +0 -116
  1633. package/deps/re2/re2/make_unicode_casefold.py +0 -151
  1634. package/deps/re2/re2/make_unicode_groups.py +0 -117
  1635. package/deps/re2/re2/mimics_pcre.cc +0 -196
  1636. package/deps/re2/re2/nfa.cc +0 -714
  1637. package/deps/re2/re2/onepass.cc +0 -623
  1638. package/deps/re2/re2/parse.cc +0 -2529
  1639. package/deps/re2/re2/perl_groups.cc +0 -119
  1640. package/deps/re2/re2/pod_array.h +0 -55
  1641. package/deps/re2/re2/prefilter.cc +0 -711
  1642. package/deps/re2/re2/prefilter.h +0 -168
  1643. package/deps/re2/re2/prefilter_tree.cc +0 -376
  1644. package/deps/re2/re2/prefilter_tree.h +0 -153
  1645. package/deps/re2/re2/prog.cc +0 -1181
  1646. package/deps/re2/re2/prog.h +0 -493
  1647. package/deps/re2/re2/re2.cc +0 -1355
  1648. package/deps/re2/re2/re2.h +0 -1074
  1649. package/deps/re2/re2/regexp.cc +0 -1004
  1650. package/deps/re2/re2/regexp.h +0 -693
  1651. package/deps/re2/re2/set.cc +0 -185
  1652. package/deps/re2/re2/set.h +0 -91
  1653. package/deps/re2/re2/simplify.cc +0 -689
  1654. package/deps/re2/re2/sparse_array.h +0 -394
  1655. package/deps/re2/re2/sparse_set.h +0 -266
  1656. package/deps/re2/re2/stringpiece.h +0 -18
  1657. package/deps/re2/re2/testing/backtrack.cc +0 -274
  1658. package/deps/re2/re2/testing/charclass_test.cc +0 -228
  1659. package/deps/re2/re2/testing/compile_test.cc +0 -431
  1660. package/deps/re2/re2/testing/dfa_test.cc +0 -376
  1661. package/deps/re2/re2/testing/dump.cc +0 -172
  1662. package/deps/re2/re2/testing/exhaustive1_test.cc +0 -40
  1663. package/deps/re2/re2/testing/exhaustive2_test.cc +0 -72
  1664. package/deps/re2/re2/testing/exhaustive3_test.cc +0 -100
  1665. package/deps/re2/re2/testing/exhaustive_test.cc +0 -35
  1666. package/deps/re2/re2/testing/exhaustive_tester.cc +0 -204
  1667. package/deps/re2/re2/testing/exhaustive_tester.h +0 -105
  1668. package/deps/re2/re2/testing/filtered_re2_test.cc +0 -343
  1669. package/deps/re2/re2/testing/mimics_pcre_test.cc +0 -79
  1670. package/deps/re2/re2/testing/null_walker.cc +0 -48
  1671. package/deps/re2/re2/testing/parse_test.cc +0 -586
  1672. package/deps/re2/re2/testing/possible_match_test.cc +0 -251
  1673. package/deps/re2/re2/testing/random_test.cc +0 -102
  1674. package/deps/re2/re2/testing/re2_arg_test.cc +0 -182
  1675. package/deps/re2/re2/testing/re2_test.cc +0 -1699
  1676. package/deps/re2/re2/testing/regexp_benchmark.cc +0 -1605
  1677. package/deps/re2/re2/testing/regexp_generator.cc +0 -284
  1678. package/deps/re2/re2/testing/regexp_generator.h +0 -77
  1679. package/deps/re2/re2/testing/regexp_test.cc +0 -87
  1680. package/deps/re2/re2/testing/required_prefix_test.cc +0 -201
  1681. package/deps/re2/re2/testing/search_test.cc +0 -338
  1682. package/deps/re2/re2/testing/set_test.cc +0 -235
  1683. package/deps/re2/re2/testing/simplify_test.cc +0 -289
  1684. package/deps/re2/re2/testing/string_generator.cc +0 -144
  1685. package/deps/re2/re2/testing/string_generator.h +0 -76
  1686. package/deps/re2/re2/testing/string_generator_test.cc +0 -114
  1687. package/deps/re2/re2/testing/tester.cc +0 -690
  1688. package/deps/re2/re2/testing/tester.h +0 -121
  1689. package/deps/re2/re2/tostring.cc +0 -351
  1690. package/deps/re2/re2/unicode.py +0 -284
  1691. package/deps/re2/re2/unicode_casefold.cc +0 -604
  1692. package/deps/re2/re2/unicode_casefold.h +0 -77
  1693. package/deps/re2/re2/unicode_groups.cc +0 -6517
  1694. package/deps/re2/re2/unicode_groups.h +0 -66
  1695. package/deps/re2/re2/walker-inl.h +0 -249
  1696. package/deps/re2/re2.pc.in +0 -9
  1697. package/deps/re2/re2Config.cmake.in +0 -26
  1698. package/deps/re2/runtests +0 -33
  1699. package/deps/re2/testinstall.cc +0 -27
  1700. package/deps/re2/ucs2.diff +0 -567
  1701. package/deps/re2/util/malloc_counter.h +0 -19
  1702. package/deps/re2/util/pcre.cc +0 -957
  1703. package/deps/re2/util/pcre.h +0 -671
  1704. package/deps/re2/util/rune.cc +0 -260
  1705. package/deps/re2/util/strutil.cc +0 -26
  1706. package/deps/re2/util/strutil.h +0 -16
  1707. package/deps/re2/util/utf.h +0 -44
@@ -1,2529 +0,0 @@
1
- // Copyright 2006 The RE2 Authors. All Rights Reserved.
2
- // Use of this source code is governed by a BSD-style
3
- // license that can be found in the LICENSE file.
4
-
5
- // Regular expression parser.
6
-
7
- // The parser is a simple precedence-based parser with a
8
- // manual stack. The parsing work is done by the methods
9
- // of the ParseState class. The Regexp::Parse function is
10
- // essentially just a lexer that calls the ParseState method
11
- // for each token.
12
-
13
- // The parser recognizes POSIX extended regular expressions
14
- // excluding backreferences, collating elements, and collating
15
- // classes. It also allows the empty string as a regular expression
16
- // and recognizes the Perl escape sequences \d, \s, \w, \D, \S, and \W.
17
- // See regexp.h for rationale.
18
-
19
- #include <stddef.h>
20
- #include <stdint.h>
21
- #include <string.h>
22
-
23
- #include <algorithm>
24
- #include <string>
25
- #include <vector>
26
-
27
- #include "absl/base/macros.h"
28
- #include "absl/log/absl_log.h"
29
- #include "absl/strings/ascii.h"
30
- #include "absl/strings/string_view.h"
31
- #include "re2/pod_array.h"
32
- #include "re2/regexp.h"
33
- #include "re2/unicode_casefold.h"
34
- #include "re2/unicode_groups.h"
35
- #include "re2/walker-inl.h"
36
- #include "util/utf.h"
37
-
38
- #if defined(RE2_USE_ICU)
39
- #include "unicode/uniset.h"
40
- #include "unicode/unistr.h"
41
- #include "unicode/utypes.h"
42
- #endif
43
-
44
- namespace re2 {
45
-
46
- // Controls the maximum repeat count permitted by the parser.
47
- static int maximum_repeat_count = 1000;
48
-
49
- void Regexp::FUZZING_ONLY_set_maximum_repeat_count(int i) {
50
- maximum_repeat_count = i;
51
- }
52
-
53
- // Regular expression parse state.
54
- // The list of parsed regexps so far is maintained as a vector of
55
- // Regexp pointers called the stack. Left parenthesis and vertical
56
- // bar markers are also placed on the stack, as Regexps with
57
- // non-standard opcodes.
58
- // Scanning a left parenthesis causes the parser to push a left parenthesis
59
- // marker on the stack.
60
- // Scanning a vertical bar causes the parser to pop the stack until it finds a
61
- // vertical bar or left parenthesis marker (not popping the marker),
62
- // concatenate all the popped results, and push them back on
63
- // the stack (DoConcatenation).
64
- // Scanning a right parenthesis causes the parser to act as though it
65
- // has seen a vertical bar, which then leaves the top of the stack in the
66
- // form LeftParen regexp VerticalBar regexp VerticalBar ... regexp VerticalBar.
67
- // The parser pops all this off the stack and creates an alternation of the
68
- // regexps (DoAlternation).
69
-
70
- class Regexp::ParseState {
71
- public:
72
- ParseState(ParseFlags flags, absl::string_view whole_regexp,
73
- RegexpStatus* status);
74
- ~ParseState();
75
-
76
- ParseFlags flags() { return flags_; }
77
- int rune_max() { return rune_max_; }
78
-
79
- // Parse methods. All public methods return a bool saying
80
- // whether parsing should continue. If a method returns
81
- // false, it has set fields in *status_, and the parser
82
- // should return NULL.
83
-
84
- // Pushes the given regular expression onto the stack.
85
- // Could check for too much memory used here.
86
- bool PushRegexp(Regexp* re);
87
-
88
- // Pushes the literal rune r onto the stack.
89
- bool PushLiteral(Rune r);
90
-
91
- // Pushes a regexp with the given op (and no args) onto the stack.
92
- bool PushSimpleOp(RegexpOp op);
93
-
94
- // Pushes a ^ onto the stack.
95
- bool PushCaret();
96
-
97
- // Pushes a \b (word == true) or \B (word == false) onto the stack.
98
- bool PushWordBoundary(bool word);
99
-
100
- // Pushes a $ onto the stack.
101
- bool PushDollar();
102
-
103
- // Pushes a . onto the stack
104
- bool PushDot();
105
-
106
- // Pushes a repeat operator regexp onto the stack.
107
- // A valid argument for the operator must already be on the stack.
108
- // s is the name of the operator, for use in error messages.
109
- bool PushRepeatOp(RegexpOp op, absl::string_view s, bool nongreedy);
110
-
111
- // Pushes a repetition regexp onto the stack.
112
- // A valid argument for the operator must already be on the stack.
113
- bool PushRepetition(int min, int max, absl::string_view s, bool nongreedy);
114
-
115
- // Checks whether a particular regexp op is a marker.
116
- bool IsMarker(RegexpOp op);
117
-
118
- // Processes a left parenthesis in the input.
119
- // Pushes a marker onto the stack.
120
- bool DoLeftParen(absl::string_view name);
121
- bool DoLeftParenNoCapture();
122
-
123
- // Processes a vertical bar in the input.
124
- bool DoVerticalBar();
125
-
126
- // Processes a right parenthesis in the input.
127
- bool DoRightParen();
128
-
129
- // Processes the end of input, returning the final regexp.
130
- Regexp* DoFinish();
131
-
132
- // Finishes the regexp if necessary, preparing it for use
133
- // in a more complicated expression.
134
- // If it is a CharClassBuilder, converts into a CharClass.
135
- Regexp* FinishRegexp(Regexp*);
136
-
137
- // These routines don't manipulate the parse stack
138
- // directly, but they do need to look at flags_.
139
- // ParseCharClass also manipulates the internals of Regexp
140
- // while creating *out_re.
141
-
142
- // Parse a character class into *out_re.
143
- // Removes parsed text from s.
144
- bool ParseCharClass(absl::string_view* s, Regexp** out_re,
145
- RegexpStatus* status);
146
-
147
- // Parse a character class character into *rp.
148
- // Removes parsed text from s.
149
- bool ParseCCCharacter(absl::string_view* s, Rune* rp,
150
- absl::string_view whole_class,
151
- RegexpStatus* status);
152
-
153
- // Parse a character class range into rr.
154
- // Removes parsed text from s.
155
- bool ParseCCRange(absl::string_view* s, RuneRange* rr,
156
- absl::string_view whole_class,
157
- RegexpStatus* status);
158
-
159
- // Parse a Perl flag set or non-capturing group from s.
160
- bool ParsePerlFlags(absl::string_view* s);
161
-
162
- // Finishes the current concatenation,
163
- // collapsing it into a single regexp on the stack.
164
- void DoConcatenation();
165
-
166
- // Finishes the current alternation,
167
- // collapsing it to a single regexp on the stack.
168
- void DoAlternation();
169
-
170
- // Generalized DoAlternation/DoConcatenation.
171
- void DoCollapse(RegexpOp op);
172
-
173
- // Maybe concatenate Literals into LiteralString.
174
- bool MaybeConcatString(int r, ParseFlags flags);
175
-
176
- private:
177
- ParseFlags flags_;
178
- absl::string_view whole_regexp_;
179
- RegexpStatus* status_;
180
- Regexp* stacktop_;
181
- int ncap_; // number of capturing parens seen
182
- int rune_max_; // maximum char value for this encoding
183
-
184
- ParseState(const ParseState&) = delete;
185
- ParseState& operator=(const ParseState&) = delete;
186
- };
187
-
188
- // Pseudo-operators - only on parse stack.
189
- const RegexpOp kLeftParen = static_cast<RegexpOp>(kMaxRegexpOp+1);
190
- const RegexpOp kVerticalBar = static_cast<RegexpOp>(kMaxRegexpOp+2);
191
-
192
- Regexp::ParseState::ParseState(ParseFlags flags,
193
- absl::string_view whole_regexp,
194
- RegexpStatus* status)
195
- : flags_(flags), whole_regexp_(whole_regexp),
196
- status_(status), stacktop_(NULL), ncap_(0) {
197
- if (flags_ & Latin1)
198
- rune_max_ = 0xFF;
199
- else
200
- rune_max_ = Runemax;
201
- }
202
-
203
- // Cleans up by freeing all the regexps on the stack.
204
- Regexp::ParseState::~ParseState() {
205
- Regexp* next;
206
- for (Regexp* re = stacktop_; re != NULL; re = next) {
207
- next = re->down_;
208
- re->down_ = NULL;
209
- if (re->op() == kLeftParen)
210
- delete re->name_;
211
- re->Decref();
212
- }
213
- }
214
-
215
- // Finishes the regexp if necessary, preparing it for use in
216
- // a more complex expression.
217
- // If it is a CharClassBuilder, converts into a CharClass.
218
- Regexp* Regexp::ParseState::FinishRegexp(Regexp* re) {
219
- if (re == NULL)
220
- return NULL;
221
- re->down_ = NULL;
222
-
223
- if (re->op_ == kRegexpCharClass && re->ccb_ != NULL) {
224
- CharClassBuilder* ccb = re->ccb_;
225
- re->ccb_ = NULL;
226
- re->cc_ = ccb->GetCharClass();
227
- delete ccb;
228
- }
229
-
230
- return re;
231
- }
232
-
233
- // Pushes the given regular expression onto the stack.
234
- // Could check for too much memory used here.
235
- bool Regexp::ParseState::PushRegexp(Regexp* re) {
236
- MaybeConcatString(-1, NoParseFlags);
237
-
238
- // Special case: a character class of one character is just
239
- // a literal. This is a common idiom for escaping
240
- // single characters (e.g., [.] instead of \.), and some
241
- // analysis does better with fewer character classes.
242
- // Similarly, [Aa] can be rewritten as a literal A with ASCII case folding.
243
- if (re->op_ == kRegexpCharClass && re->ccb_ != NULL) {
244
- re->ccb_->RemoveAbove(rune_max_);
245
- if (re->ccb_->size() == 1) {
246
- Rune r = re->ccb_->begin()->lo;
247
- re->Decref();
248
- re = new Regexp(kRegexpLiteral, flags_);
249
- re->rune_ = r;
250
- } else if (re->ccb_->size() == 2) {
251
- Rune r = re->ccb_->begin()->lo;
252
- if ('A' <= r && r <= 'Z' && re->ccb_->Contains(r + 'a' - 'A')) {
253
- re->Decref();
254
- re = new Regexp(kRegexpLiteral, flags_ | FoldCase);
255
- re->rune_ = r + 'a' - 'A';
256
- }
257
- }
258
- }
259
-
260
- if (!IsMarker(re->op()))
261
- re->simple_ = re->ComputeSimple();
262
- re->down_ = stacktop_;
263
- stacktop_ = re;
264
- return true;
265
- }
266
-
267
- // Searches the case folding tables and returns the CaseFold* that contains r.
268
- // If there isn't one, returns the CaseFold* with smallest f->lo bigger than r.
269
- // If there isn't one, returns NULL.
270
- const CaseFold* LookupCaseFold(const CaseFold* f, int n, Rune r) {
271
- const CaseFold* ef = f + n;
272
-
273
- // Binary search for entry containing r.
274
- while (n > 0) {
275
- int m = n/2;
276
- if (f[m].lo <= r && r <= f[m].hi)
277
- return &f[m];
278
- if (r < f[m].lo) {
279
- n = m;
280
- } else {
281
- f += m+1;
282
- n -= m+1;
283
- }
284
- }
285
-
286
- // There is no entry that contains r, but f points
287
- // where it would have been. Unless f points at
288
- // the end of the array, it points at the next entry
289
- // after r.
290
- if (f < ef)
291
- return f;
292
-
293
- // No entry contains r; no entry contains runes > r.
294
- return NULL;
295
- }
296
-
297
- // Returns the result of applying the fold f to the rune r.
298
- Rune ApplyFold(const CaseFold* f, Rune r) {
299
- switch (f->delta) {
300
- default:
301
- return r + f->delta;
302
-
303
- case EvenOddSkip: // even <-> odd but only applies to every other
304
- if ((r - f->lo) % 2)
305
- return r;
306
- [[fallthrough]];
307
- case EvenOdd: // even <-> odd
308
- if (r%2 == 0)
309
- return r + 1;
310
- return r - 1;
311
-
312
- case OddEvenSkip: // odd <-> even but only applies to every other
313
- if ((r - f->lo) % 2)
314
- return r;
315
- [[fallthrough]];
316
- case OddEven: // odd <-> even
317
- if (r%2 == 1)
318
- return r + 1;
319
- return r - 1;
320
- }
321
- }
322
-
323
- // Returns the next Rune in r's folding cycle (see unicode_casefold.h).
324
- // Examples:
325
- // CycleFoldRune('A') = 'a'
326
- // CycleFoldRune('a') = 'A'
327
- //
328
- // CycleFoldRune('K') = 'k'
329
- // CycleFoldRune('k') = 0x212A (Kelvin)
330
- // CycleFoldRune(0x212A) = 'K'
331
- //
332
- // CycleFoldRune('?') = '?'
333
- Rune CycleFoldRune(Rune r) {
334
- const CaseFold* f = LookupCaseFold(unicode_casefold, num_unicode_casefold, r);
335
- if (f == NULL || r < f->lo)
336
- return r;
337
- return ApplyFold(f, r);
338
- }
339
-
340
- // Add lo-hi to the class, along with their fold-equivalent characters.
341
- static void AddFoldedRangeLatin1(CharClassBuilder* cc, Rune lo, Rune hi) {
342
- while (lo <= hi) {
343
- cc->AddRange(lo, lo);
344
- if ('A' <= lo && lo <= 'Z') {
345
- cc->AddRange(lo - 'A' + 'a', lo - 'A' + 'a');
346
- }
347
- if ('a' <= lo && lo <= 'z') {
348
- cc->AddRange(lo - 'a' + 'A', lo - 'a' + 'A');
349
- }
350
- lo++;
351
- }
352
- }
353
-
354
- // Add lo-hi to the class, along with their fold-equivalent characters.
355
- // If lo-hi is already in the class, assume that the fold-equivalent
356
- // chars are there too, so there's no work to do.
357
- static void AddFoldedRange(CharClassBuilder* cc, Rune lo, Rune hi, int depth) {
358
- // AddFoldedRange calls itself recursively for each rune in the fold cycle.
359
- // Most folding cycles are small: there aren't any bigger than four in the
360
- // current Unicode tables. make_unicode_casefold.py checks that
361
- // the cycles are not too long, and we double-check here using depth.
362
- if (depth > 10) {
363
- ABSL_LOG(DFATAL) << "AddFoldedRange recurses too much.";
364
- return;
365
- }
366
-
367
- if (!cc->AddRange(lo, hi)) // lo-hi was already there? we're done
368
- return;
369
-
370
- while (lo <= hi) {
371
- const CaseFold* f = LookupCaseFold(unicode_casefold, num_unicode_casefold, lo);
372
- if (f == NULL) // lo has no fold, nor does anything above lo
373
- break;
374
- if (lo < f->lo) { // lo has no fold; next rune with a fold is f->lo
375
- lo = f->lo;
376
- continue;
377
- }
378
-
379
- // Add in the result of folding the range lo - f->hi
380
- // and that range's fold, recursively.
381
- Rune lo1 = lo;
382
- Rune hi1 = std::min<Rune>(hi, f->hi);
383
- switch (f->delta) {
384
- default:
385
- lo1 += f->delta;
386
- hi1 += f->delta;
387
- break;
388
- case EvenOdd:
389
- if (lo1%2 == 1)
390
- lo1--;
391
- if (hi1%2 == 0)
392
- hi1++;
393
- break;
394
- case OddEven:
395
- if (lo1%2 == 0)
396
- lo1--;
397
- if (hi1%2 == 1)
398
- hi1++;
399
- break;
400
- }
401
- AddFoldedRange(cc, lo1, hi1, depth+1);
402
-
403
- // Pick up where this fold left off.
404
- lo = f->hi + 1;
405
- }
406
- }
407
-
408
- // Pushes the literal rune r onto the stack.
409
- bool Regexp::ParseState::PushLiteral(Rune r) {
410
- // Do case folding if needed.
411
- if (flags_ & FoldCase) {
412
- if (flags_ & Latin1 && (('A' <= r && r <= 'Z') ||
413
- ('a' <= r && r <= 'z'))) {
414
- Regexp* re = new Regexp(kRegexpCharClass, flags_ & ~FoldCase);
415
- re->ccb_ = new CharClassBuilder;
416
- AddFoldedRangeLatin1(re->ccb_, r, r);
417
- return PushRegexp(re);
418
- }
419
- if (!(flags_ & Latin1) && CycleFoldRune(r) != r) {
420
- Regexp* re = new Regexp(kRegexpCharClass, flags_ & ~FoldCase);
421
- re->ccb_ = new CharClassBuilder;
422
- Rune r1 = r;
423
- do {
424
- if (!(flags_ & NeverNL) || r != '\n') {
425
- re->ccb_->AddRange(r, r);
426
- }
427
- r = CycleFoldRune(r);
428
- } while (r != r1);
429
- return PushRegexp(re);
430
- }
431
- }
432
-
433
- // Exclude newline if applicable.
434
- if ((flags_ & NeverNL) && r == '\n')
435
- return PushRegexp(new Regexp(kRegexpNoMatch, flags_));
436
-
437
- // No fancy stuff worked. Ordinary literal.
438
- if (MaybeConcatString(r, flags_))
439
- return true;
440
-
441
- Regexp* re = new Regexp(kRegexpLiteral, flags_);
442
- re->rune_ = r;
443
- return PushRegexp(re);
444
- }
445
-
446
- // Pushes a ^ onto the stack.
447
- bool Regexp::ParseState::PushCaret() {
448
- if (flags_ & OneLine) {
449
- return PushSimpleOp(kRegexpBeginText);
450
- }
451
- return PushSimpleOp(kRegexpBeginLine);
452
- }
453
-
454
- // Pushes a \b or \B onto the stack.
455
- bool Regexp::ParseState::PushWordBoundary(bool word) {
456
- if (word)
457
- return PushSimpleOp(kRegexpWordBoundary);
458
- return PushSimpleOp(kRegexpNoWordBoundary);
459
- }
460
-
461
- // Pushes a $ onto the stack.
462
- bool Regexp::ParseState::PushDollar() {
463
- if (flags_ & OneLine) {
464
- // Clumsy marker so that MimicsPCRE() can tell whether
465
- // this kRegexpEndText was a $ and not a \z.
466
- Regexp::ParseFlags oflags = flags_;
467
- flags_ = flags_ | WasDollar;
468
- bool ret = PushSimpleOp(kRegexpEndText);
469
- flags_ = oflags;
470
- return ret;
471
- }
472
- return PushSimpleOp(kRegexpEndLine);
473
- }
474
-
475
- // Pushes a . onto the stack.
476
- bool Regexp::ParseState::PushDot() {
477
- if ((flags_ & DotNL) && !(flags_ & NeverNL))
478
- return PushSimpleOp(kRegexpAnyChar);
479
- // Rewrite . into [^\n]
480
- Regexp* re = new Regexp(kRegexpCharClass, flags_ & ~FoldCase);
481
- re->ccb_ = new CharClassBuilder;
482
- re->ccb_->AddRange(0, '\n' - 1);
483
- re->ccb_->AddRange('\n' + 1, rune_max_);
484
- return PushRegexp(re);
485
- }
486
-
487
- // Pushes a regexp with the given op (and no args) onto the stack.
488
- bool Regexp::ParseState::PushSimpleOp(RegexpOp op) {
489
- Regexp* re = new Regexp(op, flags_);
490
- return PushRegexp(re);
491
- }
492
-
493
- // Pushes a repeat operator regexp onto the stack.
494
- // A valid argument for the operator must already be on the stack.
495
- // The char c is the name of the operator, for use in error messages.
496
- bool Regexp::ParseState::PushRepeatOp(RegexpOp op, absl::string_view s,
497
- bool nongreedy) {
498
- if (stacktop_ == NULL || IsMarker(stacktop_->op())) {
499
- status_->set_code(kRegexpRepeatArgument);
500
- status_->set_error_arg(s);
501
- return false;
502
- }
503
- Regexp::ParseFlags fl = flags_;
504
- if (nongreedy)
505
- fl = fl ^ NonGreedy;
506
-
507
- // Squash **, ++ and ??. Regexp::Star() et al. handle this too, but
508
- // they're mostly for use during simplification, not during parsing.
509
- if (op == stacktop_->op() && fl == stacktop_->parse_flags())
510
- return true;
511
-
512
- // Squash *+, *?, +*, +?, ?* and ?+. They all squash to *, so because
513
- // op is a repeat, we just have to check that stacktop_->op() is too,
514
- // then adjust stacktop_.
515
- if ((stacktop_->op() == kRegexpStar ||
516
- stacktop_->op() == kRegexpPlus ||
517
- stacktop_->op() == kRegexpQuest) &&
518
- fl == stacktop_->parse_flags()) {
519
- stacktop_->op_ = kRegexpStar;
520
- return true;
521
- }
522
-
523
- Regexp* re = new Regexp(op, fl);
524
- re->AllocSub(1);
525
- re->down_ = stacktop_->down_;
526
- re->sub()[0] = FinishRegexp(stacktop_);
527
- re->simple_ = re->ComputeSimple();
528
- stacktop_ = re;
529
- return true;
530
- }
531
-
532
- // RepetitionWalker reports whether the repetition regexp is valid.
533
- // Valid means that the combination of the top-level repetition
534
- // and any inner repetitions does not exceed n copies of the
535
- // innermost thing.
536
- // This rewalks the regexp tree and is called for every repetition,
537
- // so we have to worry about inducing quadratic behavior in the parser.
538
- // We avoid this by only using RepetitionWalker when min or max >= 2.
539
- // In that case the depth of any >= 2 nesting can only get to 9 without
540
- // triggering a parse error, so each subtree can only be rewalked 9 times.
541
- class RepetitionWalker : public Regexp::Walker<int> {
542
- public:
543
- RepetitionWalker() {}
544
- virtual int PreVisit(Regexp* re, int parent_arg, bool* stop);
545
- virtual int PostVisit(Regexp* re, int parent_arg, int pre_arg,
546
- int* child_args, int nchild_args);
547
- virtual int ShortVisit(Regexp* re, int parent_arg);
548
-
549
- private:
550
- RepetitionWalker(const RepetitionWalker&) = delete;
551
- RepetitionWalker& operator=(const RepetitionWalker&) = delete;
552
- };
553
-
554
- int RepetitionWalker::PreVisit(Regexp* re, int parent_arg, bool* stop) {
555
- int arg = parent_arg;
556
- if (re->op() == kRegexpRepeat) {
557
- int m = re->max();
558
- if (m < 0) {
559
- m = re->min();
560
- }
561
- if (m > 0) {
562
- arg /= m;
563
- }
564
- }
565
- return arg;
566
- }
567
-
568
- int RepetitionWalker::PostVisit(Regexp* re, int parent_arg, int pre_arg,
569
- int* child_args, int nchild_args) {
570
- int arg = pre_arg;
571
- for (int i = 0; i < nchild_args; i++) {
572
- if (child_args[i] < arg) {
573
- arg = child_args[i];
574
- }
575
- }
576
- return arg;
577
- }
578
-
579
- int RepetitionWalker::ShortVisit(Regexp* re, int parent_arg) {
580
- // Should never be called: we use Walk(), not WalkExponential().
581
- #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
582
- ABSL_LOG(DFATAL) << "RepetitionWalker::ShortVisit called";
583
- #endif
584
- return 0;
585
- }
586
-
587
- // Pushes a repetition regexp onto the stack.
588
- // A valid argument for the operator must already be on the stack.
589
- bool Regexp::ParseState::PushRepetition(int min, int max, absl::string_view s,
590
- bool nongreedy) {
591
- if ((max != -1 && max < min) ||
592
- min > maximum_repeat_count ||
593
- max > maximum_repeat_count) {
594
- status_->set_code(kRegexpRepeatSize);
595
- status_->set_error_arg(s);
596
- return false;
597
- }
598
- if (stacktop_ == NULL || IsMarker(stacktop_->op())) {
599
- status_->set_code(kRegexpRepeatArgument);
600
- status_->set_error_arg(s);
601
- return false;
602
- }
603
- Regexp::ParseFlags fl = flags_;
604
- if (nongreedy)
605
- fl = fl ^ NonGreedy;
606
- Regexp* re = new Regexp(kRegexpRepeat, fl);
607
- re->min_ = min;
608
- re->max_ = max;
609
- re->AllocSub(1);
610
- re->down_ = stacktop_->down_;
611
- re->sub()[0] = FinishRegexp(stacktop_);
612
- re->simple_ = re->ComputeSimple();
613
- stacktop_ = re;
614
- if (min >= 2 || max >= 2) {
615
- RepetitionWalker w;
616
- if (w.Walk(stacktop_, maximum_repeat_count) == 0) {
617
- status_->set_code(kRegexpRepeatSize);
618
- status_->set_error_arg(s);
619
- return false;
620
- }
621
- }
622
- return true;
623
- }
624
-
625
- // Checks whether a particular regexp op is a marker.
626
- bool Regexp::ParseState::IsMarker(RegexpOp op) {
627
- return op >= kLeftParen;
628
- }
629
-
630
- // Processes a left parenthesis in the input.
631
- // Pushes a marker onto the stack.
632
- bool Regexp::ParseState::DoLeftParen(absl::string_view name) {
633
- Regexp* re = new Regexp(kLeftParen, flags_);
634
- re->cap_ = ++ncap_;
635
- if (name.data() != NULL)
636
- re->name_ = new std::string(name);
637
- return PushRegexp(re);
638
- }
639
-
640
- // Pushes a non-capturing marker onto the stack.
641
- bool Regexp::ParseState::DoLeftParenNoCapture() {
642
- Regexp* re = new Regexp(kLeftParen, flags_);
643
- re->cap_ = -1;
644
- return PushRegexp(re);
645
- }
646
-
647
- // Processes a vertical bar in the input.
648
- bool Regexp::ParseState::DoVerticalBar() {
649
- MaybeConcatString(-1, NoParseFlags);
650
- DoConcatenation();
651
-
652
- // Below the vertical bar is a list to alternate.
653
- // Above the vertical bar is a list to concatenate.
654
- // We just did the concatenation, so either swap
655
- // the result below the vertical bar or push a new
656
- // vertical bar on the stack.
657
- Regexp* r1;
658
- Regexp* r2;
659
- if ((r1 = stacktop_) != NULL &&
660
- (r2 = r1->down_) != NULL &&
661
- r2->op() == kVerticalBar) {
662
- Regexp* r3;
663
- if ((r3 = r2->down_) != NULL &&
664
- (r1->op() == kRegexpAnyChar || r3->op() == kRegexpAnyChar)) {
665
- // AnyChar is above or below the vertical bar. Let it subsume
666
- // the other when the other is Literal, CharClass or AnyChar.
667
- if (r3->op() == kRegexpAnyChar &&
668
- (r1->op() == kRegexpLiteral ||
669
- r1->op() == kRegexpCharClass ||
670
- r1->op() == kRegexpAnyChar)) {
671
- // Discard r1.
672
- stacktop_ = r2;
673
- r1->Decref();
674
- return true;
675
- }
676
- if (r1->op() == kRegexpAnyChar &&
677
- (r3->op() == kRegexpLiteral ||
678
- r3->op() == kRegexpCharClass ||
679
- r3->op() == kRegexpAnyChar)) {
680
- // Rearrange the stack and discard r3.
681
- r1->down_ = r3->down_;
682
- r2->down_ = r1;
683
- stacktop_ = r2;
684
- r3->Decref();
685
- return true;
686
- }
687
- }
688
- // Swap r1 below vertical bar (r2).
689
- r1->down_ = r2->down_;
690
- r2->down_ = r1;
691
- stacktop_ = r2;
692
- return true;
693
- }
694
- return PushSimpleOp(kVerticalBar);
695
- }
696
-
697
- // Processes a right parenthesis in the input.
698
- bool Regexp::ParseState::DoRightParen() {
699
- // Finish the current concatenation and alternation.
700
- DoAlternation();
701
-
702
- // The stack should be: LeftParen regexp
703
- // Remove the LeftParen, leaving the regexp,
704
- // parenthesized.
705
- Regexp* r1;
706
- Regexp* r2;
707
- if ((r1 = stacktop_) == NULL ||
708
- (r2 = r1->down_) == NULL ||
709
- r2->op() != kLeftParen) {
710
- status_->set_code(kRegexpUnexpectedParen);
711
- status_->set_error_arg(whole_regexp_);
712
- return false;
713
- }
714
-
715
- // Pop off r1, r2. Will Decref or reuse below.
716
- stacktop_ = r2->down_;
717
-
718
- // Restore flags from when paren opened.
719
- Regexp* re = r2;
720
- flags_ = re->parse_flags();
721
-
722
- // Rewrite LeftParen as capture if needed.
723
- if (re->cap_ > 0) {
724
- re->op_ = kRegexpCapture;
725
- // re->cap_ is already set
726
- re->AllocSub(1);
727
- re->sub()[0] = FinishRegexp(r1);
728
- re->simple_ = re->ComputeSimple();
729
- } else {
730
- re->Decref();
731
- re = r1;
732
- }
733
- return PushRegexp(re);
734
- }
735
-
736
- // Processes the end of input, returning the final regexp.
737
- Regexp* Regexp::ParseState::DoFinish() {
738
- DoAlternation();
739
- Regexp* re = stacktop_;
740
- if (re != NULL && re->down_ != NULL) {
741
- status_->set_code(kRegexpMissingParen);
742
- status_->set_error_arg(whole_regexp_);
743
- return NULL;
744
- }
745
- stacktop_ = NULL;
746
- return FinishRegexp(re);
747
- }
748
-
749
- // Returns the leading regexp that re starts with.
750
- // The returned Regexp* points into a piece of re,
751
- // so it must not be used after the caller calls re->Decref().
752
- Regexp* Regexp::LeadingRegexp(Regexp* re) {
753
- if (re->op() == kRegexpEmptyMatch)
754
- return NULL;
755
- if (re->op() == kRegexpConcat && re->nsub() >= 2) {
756
- Regexp** sub = re->sub();
757
- if (sub[0]->op() == kRegexpEmptyMatch)
758
- return NULL;
759
- return sub[0];
760
- }
761
- return re;
762
- }
763
-
764
- // Removes LeadingRegexp(re) from re and returns what's left.
765
- // Consumes the reference to re and may edit it in place.
766
- // If caller wants to hold on to LeadingRegexp(re),
767
- // must have already Incref'ed it.
768
- Regexp* Regexp::RemoveLeadingRegexp(Regexp* re) {
769
- if (re->op() == kRegexpEmptyMatch)
770
- return re;
771
- if (re->op() == kRegexpConcat && re->nsub() >= 2) {
772
- Regexp** sub = re->sub();
773
- if (sub[0]->op() == kRegexpEmptyMatch)
774
- return re;
775
- sub[0]->Decref();
776
- sub[0] = NULL;
777
- if (re->nsub() == 2) {
778
- // Collapse concatenation to single regexp.
779
- Regexp* nre = sub[1];
780
- sub[1] = NULL;
781
- re->Decref();
782
- return nre;
783
- }
784
- // 3 or more -> 2 or more.
785
- re->nsub_--;
786
- memmove(sub, sub + 1, re->nsub_ * sizeof sub[0]);
787
- return re;
788
- }
789
- Regexp::ParseFlags pf = re->parse_flags();
790
- re->Decref();
791
- return new Regexp(kRegexpEmptyMatch, pf);
792
- }
793
-
794
- // Returns the leading string that re starts with.
795
- // The returned Rune* points into a piece of re,
796
- // so it must not be used after the caller calls re->Decref().
797
- Rune* Regexp::LeadingString(Regexp* re, int* nrune,
798
- Regexp::ParseFlags* flags) {
799
- while (re->op() == kRegexpConcat && re->nsub() > 0)
800
- re = re->sub()[0];
801
-
802
- *flags = static_cast<Regexp::ParseFlags>(re->parse_flags_ &
803
- (Regexp::FoldCase | Regexp::Latin1));
804
-
805
- if (re->op() == kRegexpLiteral) {
806
- *nrune = 1;
807
- return &re->rune_;
808
- }
809
-
810
- if (re->op() == kRegexpLiteralString) {
811
- *nrune = re->nrunes_;
812
- return re->runes_;
813
- }
814
-
815
- *nrune = 0;
816
- return NULL;
817
- }
818
-
819
- // Removes the first n leading runes from the beginning of re.
820
- // Edits re in place.
821
- void Regexp::RemoveLeadingString(Regexp* re, int n) {
822
- // Chase down concats to find first string.
823
- // For regexps generated by parser, nested concats are
824
- // flattened except when doing so would overflow the 16-bit
825
- // limit on the size of a concatenation, so we should never
826
- // see more than two here.
827
- Regexp* stk[4];
828
- size_t d = 0;
829
- while (re->op() == kRegexpConcat) {
830
- if (d < ABSL_ARRAYSIZE(stk))
831
- stk[d++] = re;
832
- re = re->sub()[0];
833
- }
834
-
835
- // Remove leading string from re.
836
- if (re->op() == kRegexpLiteral) {
837
- re->rune_ = 0;
838
- re->op_ = kRegexpEmptyMatch;
839
- } else if (re->op() == kRegexpLiteralString) {
840
- if (n >= re->nrunes_) {
841
- delete[] re->runes_;
842
- re->runes_ = NULL;
843
- re->nrunes_ = 0;
844
- re->op_ = kRegexpEmptyMatch;
845
- } else if (n == re->nrunes_ - 1) {
846
- Rune rune = re->runes_[re->nrunes_ - 1];
847
- delete[] re->runes_;
848
- re->runes_ = NULL;
849
- re->nrunes_ = 0;
850
- re->rune_ = rune;
851
- re->op_ = kRegexpLiteral;
852
- } else {
853
- re->nrunes_ -= n;
854
- memmove(re->runes_, re->runes_ + n, re->nrunes_ * sizeof re->runes_[0]);
855
- }
856
- }
857
-
858
- // If re is now empty, concatenations might simplify too.
859
- while (d > 0) {
860
- re = stk[--d];
861
- Regexp** sub = re->sub();
862
- if (sub[0]->op() == kRegexpEmptyMatch) {
863
- sub[0]->Decref();
864
- sub[0] = NULL;
865
- // Delete first element of concat.
866
- switch (re->nsub()) {
867
- case 0:
868
- case 1:
869
- // Impossible.
870
- ABSL_LOG(DFATAL) << "Concat of " << re->nsub();
871
- re->submany_ = NULL;
872
- re->op_ = kRegexpEmptyMatch;
873
- break;
874
-
875
- case 2: {
876
- // Replace re with sub[1].
877
- Regexp* old = sub[1];
878
- sub[1] = NULL;
879
- re->Swap(old);
880
- old->Decref();
881
- break;
882
- }
883
-
884
- default:
885
- // Slide down.
886
- re->nsub_--;
887
- memmove(sub, sub + 1, re->nsub_ * sizeof sub[0]);
888
- break;
889
- }
890
- }
891
- }
892
- }
893
-
894
- // In the context of factoring alternations, a Splice is: a factored prefix or
895
- // merged character class computed by one iteration of one round of factoring;
896
- // the span of subexpressions of the alternation to be "spliced" (i.e. removed
897
- // and replaced); and, for a factored prefix, the number of suffixes after any
898
- // factoring that might have subsequently been performed on them. For a merged
899
- // character class, there are no suffixes, of course, so the field is ignored.
900
- struct Splice {
901
- Splice(Regexp* prefix, Regexp** sub, int nsub)
902
- : prefix(prefix),
903
- sub(sub),
904
- nsub(nsub),
905
- nsuffix(-1) {}
906
-
907
- Regexp* prefix;
908
- Regexp** sub;
909
- int nsub;
910
- int nsuffix;
911
- };
912
-
913
- // Named so because it is used to implement an explicit stack, a Frame is: the
914
- // span of subexpressions of the alternation to be factored; the current round
915
- // of factoring; any Splices computed; and, for a factored prefix, an iterator
916
- // to the next Splice to be factored (i.e. in another Frame) because suffixes.
917
- struct Frame {
918
- Frame(Regexp** sub, int nsub)
919
- : sub(sub),
920
- nsub(nsub),
921
- round(0) {}
922
-
923
- Regexp** sub;
924
- int nsub;
925
- int round;
926
- std::vector<Splice> splices;
927
- int spliceidx;
928
- };
929
-
930
- // Bundled into a class for friend access to Regexp without needing to declare
931
- // (or define) Splice in regexp.h.
932
- class FactorAlternationImpl {
933
- public:
934
- static void Round1(Regexp** sub, int nsub,
935
- Regexp::ParseFlags flags,
936
- std::vector<Splice>* splices);
937
- static void Round2(Regexp** sub, int nsub,
938
- Regexp::ParseFlags flags,
939
- std::vector<Splice>* splices);
940
- static void Round3(Regexp** sub, int nsub,
941
- Regexp::ParseFlags flags,
942
- std::vector<Splice>* splices);
943
- };
944
-
945
- // Factors common prefixes from alternation.
946
- // For example,
947
- // ABC|ABD|AEF|BCX|BCY
948
- // simplifies to
949
- // A(B(C|D)|EF)|BC(X|Y)
950
- // and thence to
951
- // A(B[CD]|EF)|BC[XY]
952
- //
953
- // Rewrites sub to contain simplified list to alternate and returns
954
- // the new length of sub. Adjusts reference counts accordingly
955
- // (incoming sub[i] decremented, outgoing sub[i] incremented).
956
- int Regexp::FactorAlternation(Regexp** sub, int nsub, ParseFlags flags) {
957
- std::vector<Frame> stk;
958
- stk.emplace_back(sub, nsub);
959
-
960
- for (;;) {
961
- auto& sub = stk.back().sub;
962
- auto& nsub = stk.back().nsub;
963
- auto& round = stk.back().round;
964
- auto& splices = stk.back().splices;
965
- auto& spliceidx = stk.back().spliceidx;
966
-
967
- if (splices.empty()) {
968
- // Advance to the next round of factoring. Note that this covers
969
- // the initialised state: when splices is empty and round is 0.
970
- round++;
971
- } else if (spliceidx < static_cast<int>(splices.size())) {
972
- // We have at least one more Splice to factor. Recurse logically.
973
- stk.emplace_back(splices[spliceidx].sub, splices[spliceidx].nsub);
974
- continue;
975
- } else {
976
- // We have no more Splices to factor. Apply them.
977
- auto iter = splices.begin();
978
- int out = 0;
979
- for (int i = 0; i < nsub; ) {
980
- // Copy until we reach where the next Splice begins.
981
- while (sub + i < iter->sub)
982
- sub[out++] = sub[i++];
983
- switch (round) {
984
- case 1:
985
- case 2: {
986
- // Assemble the Splice prefix and the suffixes.
987
- Regexp* re[2];
988
- re[0] = iter->prefix;
989
- re[1] = Regexp::AlternateNoFactor(iter->sub, iter->nsuffix, flags);
990
- sub[out++] = Regexp::Concat(re, 2, flags);
991
- i += iter->nsub;
992
- break;
993
- }
994
- case 3:
995
- // Just use the Splice prefix.
996
- sub[out++] = iter->prefix;
997
- i += iter->nsub;
998
- break;
999
- default:
1000
- ABSL_LOG(DFATAL) << "unknown round: " << round;
1001
- break;
1002
- }
1003
- // If we are done, copy until the end of sub.
1004
- if (++iter == splices.end()) {
1005
- while (i < nsub)
1006
- sub[out++] = sub[i++];
1007
- }
1008
- }
1009
- splices.clear();
1010
- nsub = out;
1011
- // Advance to the next round of factoring.
1012
- round++;
1013
- }
1014
-
1015
- switch (round) {
1016
- case 1:
1017
- FactorAlternationImpl::Round1(sub, nsub, flags, &splices);
1018
- break;
1019
- case 2:
1020
- FactorAlternationImpl::Round2(sub, nsub, flags, &splices);
1021
- break;
1022
- case 3:
1023
- FactorAlternationImpl::Round3(sub, nsub, flags, &splices);
1024
- break;
1025
- case 4:
1026
- if (stk.size() == 1) {
1027
- // We are at the top of the stack. Just return.
1028
- return nsub;
1029
- } else {
1030
- // Pop the stack and set the number of suffixes.
1031
- // (Note that references will be invalidated!)
1032
- int nsuffix = nsub;
1033
- stk.pop_back();
1034
- stk.back().splices[stk.back().spliceidx].nsuffix = nsuffix;
1035
- ++stk.back().spliceidx;
1036
- continue;
1037
- }
1038
- default:
1039
- ABSL_LOG(DFATAL) << "unknown round: " << round;
1040
- break;
1041
- }
1042
-
1043
- // Set spliceidx depending on whether we have Splices to factor.
1044
- if (splices.empty() || round == 3) {
1045
- spliceidx = static_cast<int>(splices.size());
1046
- } else {
1047
- spliceidx = 0;
1048
- }
1049
- }
1050
- }
1051
-
1052
- void FactorAlternationImpl::Round1(Regexp** sub, int nsub,
1053
- Regexp::ParseFlags flags,
1054
- std::vector<Splice>* splices) {
1055
- // Round 1: Factor out common literal prefixes.
1056
- int start = 0;
1057
- Rune* rune = NULL;
1058
- int nrune = 0;
1059
- Regexp::ParseFlags runeflags = Regexp::NoParseFlags;
1060
- for (int i = 0; i <= nsub; i++) {
1061
- // Invariant: sub[start:i] consists of regexps that all
1062
- // begin with rune[0:nrune].
1063
- Rune* rune_i = NULL;
1064
- int nrune_i = 0;
1065
- Regexp::ParseFlags runeflags_i = Regexp::NoParseFlags;
1066
- if (i < nsub) {
1067
- rune_i = Regexp::LeadingString(sub[i], &nrune_i, &runeflags_i);
1068
- if (runeflags_i == runeflags) {
1069
- int same = 0;
1070
- while (same < nrune && same < nrune_i && rune[same] == rune_i[same])
1071
- same++;
1072
- if (same > 0) {
1073
- // Matches at least one rune in current range. Keep going around.
1074
- nrune = same;
1075
- continue;
1076
- }
1077
- }
1078
- }
1079
-
1080
- // Found end of a run with common leading literal string:
1081
- // sub[start:i] all begin with rune[0:nrune],
1082
- // but sub[i] does not even begin with rune[0].
1083
- if (i == start) {
1084
- // Nothing to do - first iteration.
1085
- } else if (i == start+1) {
1086
- // Just one: don't bother factoring.
1087
- } else {
1088
- Regexp* prefix = Regexp::LiteralString(rune, nrune, runeflags);
1089
- for (int j = start; j < i; j++)
1090
- Regexp::RemoveLeadingString(sub[j], nrune);
1091
- splices->emplace_back(prefix, sub + start, i - start);
1092
- }
1093
-
1094
- // Prepare for next iteration (if there is one).
1095
- if (i < nsub) {
1096
- start = i;
1097
- rune = rune_i;
1098
- nrune = nrune_i;
1099
- runeflags = runeflags_i;
1100
- }
1101
- }
1102
- }
1103
-
1104
- void FactorAlternationImpl::Round2(Regexp** sub, int nsub,
1105
- Regexp::ParseFlags flags,
1106
- std::vector<Splice>* splices) {
1107
- // Round 2: Factor out common simple prefixes,
1108
- // just the first piece of each concatenation.
1109
- // This will be good enough a lot of the time.
1110
- //
1111
- // Complex subexpressions (e.g. involving quantifiers)
1112
- // are not safe to factor because that collapses their
1113
- // distinct paths through the automaton, which affects
1114
- // correctness in some cases.
1115
- int start = 0;
1116
- Regexp* first = NULL;
1117
- for (int i = 0; i <= nsub; i++) {
1118
- // Invariant: sub[start:i] consists of regexps that all
1119
- // begin with first.
1120
- Regexp* first_i = NULL;
1121
- if (i < nsub) {
1122
- first_i = Regexp::LeadingRegexp(sub[i]);
1123
- if (first != NULL &&
1124
- // first must be an empty-width op
1125
- // OR a char class, any char or any byte
1126
- // OR a fixed repeat of a literal, char class, any char or any byte.
1127
- (first->op() == kRegexpBeginLine ||
1128
- first->op() == kRegexpEndLine ||
1129
- first->op() == kRegexpWordBoundary ||
1130
- first->op() == kRegexpNoWordBoundary ||
1131
- first->op() == kRegexpBeginText ||
1132
- first->op() == kRegexpEndText ||
1133
- first->op() == kRegexpCharClass ||
1134
- first->op() == kRegexpAnyChar ||
1135
- first->op() == kRegexpAnyByte ||
1136
- (first->op() == kRegexpRepeat &&
1137
- first->min() == first->max() &&
1138
- (first->sub()[0]->op() == kRegexpLiteral ||
1139
- first->sub()[0]->op() == kRegexpCharClass ||
1140
- first->sub()[0]->op() == kRegexpAnyChar ||
1141
- first->sub()[0]->op() == kRegexpAnyByte))) &&
1142
- Regexp::Equal(first, first_i))
1143
- continue;
1144
- }
1145
-
1146
- // Found end of a run with common leading regexp:
1147
- // sub[start:i] all begin with first,
1148
- // but sub[i] does not.
1149
- if (i == start) {
1150
- // Nothing to do - first iteration.
1151
- } else if (i == start+1) {
1152
- // Just one: don't bother factoring.
1153
- } else {
1154
- Regexp* prefix = first->Incref();
1155
- for (int j = start; j < i; j++)
1156
- sub[j] = Regexp::RemoveLeadingRegexp(sub[j]);
1157
- splices->emplace_back(prefix, sub + start, i - start);
1158
- }
1159
-
1160
- // Prepare for next iteration (if there is one).
1161
- if (i < nsub) {
1162
- start = i;
1163
- first = first_i;
1164
- }
1165
- }
1166
- }
1167
-
1168
- void FactorAlternationImpl::Round3(Regexp** sub, int nsub,
1169
- Regexp::ParseFlags flags,
1170
- std::vector<Splice>* splices) {
1171
- // Round 3: Merge runs of literals and/or character classes.
1172
- int start = 0;
1173
- Regexp* first = NULL;
1174
- for (int i = 0; i <= nsub; i++) {
1175
- // Invariant: sub[start:i] consists of regexps that all
1176
- // are either literals (i.e. runes) or character classes.
1177
- Regexp* first_i = NULL;
1178
- if (i < nsub) {
1179
- first_i = sub[i];
1180
- if (first != NULL &&
1181
- (first->op() == kRegexpLiteral ||
1182
- first->op() == kRegexpCharClass) &&
1183
- (first_i->op() == kRegexpLiteral ||
1184
- first_i->op() == kRegexpCharClass))
1185
- continue;
1186
- }
1187
-
1188
- // Found end of a run of Literal/CharClass:
1189
- // sub[start:i] all are either one or the other,
1190
- // but sub[i] is not.
1191
- if (i == start) {
1192
- // Nothing to do - first iteration.
1193
- } else if (i == start+1) {
1194
- // Just one: don't bother factoring.
1195
- } else {
1196
- CharClassBuilder ccb;
1197
- for (int j = start; j < i; j++) {
1198
- Regexp* re = sub[j];
1199
- if (re->op() == kRegexpCharClass) {
1200
- CharClass* cc = re->cc();
1201
- for (CharClass::iterator it = cc->begin(); it != cc->end(); ++it)
1202
- ccb.AddRangeFlags(it->lo, it->hi, re->parse_flags());
1203
- } else if (re->op() == kRegexpLiteral) {
1204
- if (re->parse_flags() & Regexp::FoldCase) {
1205
- // AddFoldedRange() can terminate prematurely if the character class
1206
- // already contains the rune. For example, if it contains 'a' and we
1207
- // want to add folded 'a', it sees 'a' and stops without adding 'A'.
1208
- // To avoid that, we use an empty character class and then merge it.
1209
- CharClassBuilder tmp;
1210
- tmp.AddRangeFlags(re->rune(), re->rune(), re->parse_flags());
1211
- ccb.AddCharClass(&tmp);
1212
- } else {
1213
- ccb.AddRangeFlags(re->rune(), re->rune(), re->parse_flags());
1214
- }
1215
- } else {
1216
- ABSL_LOG(DFATAL) << "RE2: unexpected op: " << re->op() << " "
1217
- << re->ToString();
1218
- }
1219
- re->Decref();
1220
- }
1221
- Regexp* re = Regexp::NewCharClass(ccb.GetCharClass(), flags & ~Regexp::FoldCase);
1222
- splices->emplace_back(re, sub + start, i - start);
1223
- }
1224
-
1225
- // Prepare for next iteration (if there is one).
1226
- if (i < nsub) {
1227
- start = i;
1228
- first = first_i;
1229
- }
1230
- }
1231
- }
1232
-
1233
- // Collapse the regexps on top of the stack, down to the
1234
- // first marker, into a new op node (op == kRegexpAlternate
1235
- // or op == kRegexpConcat).
1236
- void Regexp::ParseState::DoCollapse(RegexpOp op) {
1237
- // Scan backward to marker, counting children of composite.
1238
- int n = 0;
1239
- Regexp* next = NULL;
1240
- Regexp* sub;
1241
- for (sub = stacktop_; sub != NULL && !IsMarker(sub->op()); sub = next) {
1242
- next = sub->down_;
1243
- if (sub->op_ == op)
1244
- n += sub->nsub_;
1245
- else
1246
- n++;
1247
- }
1248
-
1249
- // If there's just one child, leave it alone.
1250
- // (Concat of one thing is that one thing; alternate of one thing is same.)
1251
- if (stacktop_ != NULL && stacktop_->down_ == next)
1252
- return;
1253
-
1254
- // Construct op (alternation or concatenation), flattening op of op.
1255
- PODArray<Regexp*> subs(n);
1256
- next = NULL;
1257
- int i = n;
1258
- for (sub = stacktop_; sub != NULL && !IsMarker(sub->op()); sub = next) {
1259
- next = sub->down_;
1260
- if (sub->op_ == op) {
1261
- Regexp** sub_subs = sub->sub();
1262
- for (int k = sub->nsub_ - 1; k >= 0; k--)
1263
- subs[--i] = sub_subs[k]->Incref();
1264
- sub->Decref();
1265
- } else {
1266
- subs[--i] = FinishRegexp(sub);
1267
- }
1268
- }
1269
-
1270
- Regexp* re = ConcatOrAlternate(op, subs.data(), n, flags_, true);
1271
- re->simple_ = re->ComputeSimple();
1272
- re->down_ = next;
1273
- stacktop_ = re;
1274
- }
1275
-
1276
- // Finishes the current concatenation,
1277
- // collapsing it into a single regexp on the stack.
1278
- void Regexp::ParseState::DoConcatenation() {
1279
- Regexp* r1 = stacktop_;
1280
- if (r1 == NULL || IsMarker(r1->op())) {
1281
- // empty concatenation is special case
1282
- Regexp* re = new Regexp(kRegexpEmptyMatch, flags_);
1283
- PushRegexp(re);
1284
- }
1285
- DoCollapse(kRegexpConcat);
1286
- }
1287
-
1288
- // Finishes the current alternation,
1289
- // collapsing it to a single regexp on the stack.
1290
- void Regexp::ParseState::DoAlternation() {
1291
- DoVerticalBar();
1292
- // Now stack top is kVerticalBar.
1293
- Regexp* r1 = stacktop_;
1294
- stacktop_ = r1->down_;
1295
- r1->Decref();
1296
- DoCollapse(kRegexpAlternate);
1297
- }
1298
-
1299
- // Incremental conversion of concatenated literals into strings.
1300
- // If top two elements on stack are both literal or string,
1301
- // collapse into single string.
1302
- // Don't walk down the stack -- the parser calls this frequently
1303
- // enough that below the bottom two is known to be collapsed.
1304
- // Only called when another regexp is about to be pushed
1305
- // on the stack, so that the topmost literal is not being considered.
1306
- // (Otherwise ab* would turn into (ab)*.)
1307
- // If r >= 0, consider pushing a literal r on the stack.
1308
- // Return whether that happened.
1309
- bool Regexp::ParseState::MaybeConcatString(int r, ParseFlags flags) {
1310
- Regexp* re1;
1311
- Regexp* re2;
1312
- if ((re1 = stacktop_) == NULL || (re2 = re1->down_) == NULL)
1313
- return false;
1314
-
1315
- if (re1->op_ != kRegexpLiteral && re1->op_ != kRegexpLiteralString)
1316
- return false;
1317
- if (re2->op_ != kRegexpLiteral && re2->op_ != kRegexpLiteralString)
1318
- return false;
1319
- if ((re1->parse_flags_ & FoldCase) != (re2->parse_flags_ & FoldCase))
1320
- return false;
1321
-
1322
- if (re2->op_ == kRegexpLiteral) {
1323
- // convert into string
1324
- Rune rune = re2->rune_;
1325
- re2->op_ = kRegexpLiteralString;
1326
- re2->nrunes_ = 0;
1327
- re2->runes_ = NULL;
1328
- re2->AddRuneToString(rune);
1329
- }
1330
-
1331
- // push re1 into re2.
1332
- if (re1->op_ == kRegexpLiteral) {
1333
- re2->AddRuneToString(re1->rune_);
1334
- } else {
1335
- for (int i = 0; i < re1->nrunes_; i++)
1336
- re2->AddRuneToString(re1->runes_[i]);
1337
- re1->nrunes_ = 0;
1338
- delete[] re1->runes_;
1339
- re1->runes_ = NULL;
1340
- }
1341
-
1342
- // reuse re1 if possible
1343
- if (r >= 0) {
1344
- re1->op_ = kRegexpLiteral;
1345
- re1->rune_ = r;
1346
- re1->parse_flags_ = static_cast<uint16_t>(flags);
1347
- return true;
1348
- }
1349
-
1350
- stacktop_ = re2;
1351
- re1->Decref();
1352
- return false;
1353
- }
1354
-
1355
- // Lexing routines.
1356
-
1357
- // Parses a decimal integer, storing it in *np.
1358
- // Sets *s to span the remainder of the string.
1359
- static bool ParseInteger(absl::string_view* s, int* np) {
1360
- if (s->empty() || !absl::ascii_isdigit((*s)[0] & 0xFF))
1361
- return false;
1362
- // Disallow leading zeros.
1363
- if (s->size() >= 2 && (*s)[0] == '0' && absl::ascii_isdigit((*s)[1] & 0xFF))
1364
- return false;
1365
- int n = 0;
1366
- int c;
1367
- while (!s->empty() && absl::ascii_isdigit(c = (*s)[0] & 0xFF)) {
1368
- // Avoid overflow.
1369
- if (n >= 100000000)
1370
- return false;
1371
- n = n*10 + c - '0';
1372
- s->remove_prefix(1); // digit
1373
- }
1374
- *np = n;
1375
- return true;
1376
- }
1377
-
1378
- // Parses a repetition suffix like {1,2} or {2} or {2,}.
1379
- // Sets *s to span the remainder of the string on success.
1380
- // Sets *lo and *hi to the given range.
1381
- // In the case of {2,}, the high number is unbounded;
1382
- // sets *hi to -1 to signify this.
1383
- // {,2} is NOT a valid suffix.
1384
- // The Maybe in the name signifies that the regexp parse
1385
- // doesn't fail even if ParseRepetition does, so the string_view
1386
- // s must NOT be edited unless MaybeParseRepetition returns true.
1387
- static bool MaybeParseRepetition(absl::string_view* sp, int* lo, int* hi) {
1388
- absl::string_view s = *sp;
1389
- if (s.empty() || s[0] != '{')
1390
- return false;
1391
- s.remove_prefix(1); // '{'
1392
- if (!ParseInteger(&s, lo))
1393
- return false;
1394
- if (s.empty())
1395
- return false;
1396
- if (s[0] == ',') {
1397
- s.remove_prefix(1); // ','
1398
- if (s.empty())
1399
- return false;
1400
- if (s[0] == '}') {
1401
- // {2,} means at least 2
1402
- *hi = -1;
1403
- } else {
1404
- // {2,4} means 2, 3, or 4.
1405
- if (!ParseInteger(&s, hi))
1406
- return false;
1407
- }
1408
- } else {
1409
- // {2} means exactly two
1410
- *hi = *lo;
1411
- }
1412
- if (s.empty() || s[0] != '}')
1413
- return false;
1414
- s.remove_prefix(1); // '}'
1415
- *sp = s;
1416
- return true;
1417
- }
1418
-
1419
- // Removes the next Rune from the string_view and stores it in *r.
1420
- // Returns number of bytes removed from sp.
1421
- // Behaves as though there is a terminating NUL at the end of sp.
1422
- // Argument order is backwards from usual Google style
1423
- // but consistent with chartorune.
1424
- static int StringViewToRune(Rune* r, absl::string_view* sp,
1425
- RegexpStatus* status) {
1426
- // fullrune() takes int, not size_t. However, it just looks
1427
- // at the leading byte and treats any length >= 4 the same.
1428
- if (fullrune(sp->data(), static_cast<int>(std::min(size_t{4}, sp->size())))) {
1429
- int n = chartorune(r, sp->data());
1430
- // Some copies of chartorune have a bug that accepts
1431
- // encodings of values in (10FFFF, 1FFFFF] as valid.
1432
- // Those values break the character class algorithm,
1433
- // which assumes Runemax is the largest rune.
1434
- if (*r > Runemax) {
1435
- n = 1;
1436
- *r = Runeerror;
1437
- }
1438
- if (!(n == 1 && *r == Runeerror)) { // no decoding error
1439
- sp->remove_prefix(n);
1440
- return n;
1441
- }
1442
- }
1443
-
1444
- if (status != NULL) {
1445
- status->set_code(kRegexpBadUTF8);
1446
- status->set_error_arg(absl::string_view());
1447
- }
1448
- return -1;
1449
- }
1450
-
1451
- // Returns whether name is valid UTF-8.
1452
- // If not, sets status to kRegexpBadUTF8.
1453
- static bool IsValidUTF8(absl::string_view s, RegexpStatus* status) {
1454
- absl::string_view t = s;
1455
- Rune r;
1456
- while (!t.empty()) {
1457
- if (StringViewToRune(&r, &t, status) < 0)
1458
- return false;
1459
- }
1460
- return true;
1461
- }
1462
-
1463
- // Is c a hex digit?
1464
- static int IsHex(int c) {
1465
- return ('0' <= c && c <= '9') ||
1466
- ('A' <= c && c <= 'F') ||
1467
- ('a' <= c && c <= 'f');
1468
- }
1469
-
1470
- // Convert hex digit to value.
1471
- static int UnHex(int c) {
1472
- if ('0' <= c && c <= '9')
1473
- return c - '0';
1474
- if ('A' <= c && c <= 'F')
1475
- return c - 'A' + 10;
1476
- if ('a' <= c && c <= 'f')
1477
- return c - 'a' + 10;
1478
- ABSL_LOG(DFATAL) << "Bad hex digit " << c;
1479
- return 0;
1480
- }
1481
-
1482
- // Parse an escape sequence (e.g., \n, \{).
1483
- // Sets *s to span the remainder of the string.
1484
- // Sets *rp to the named character.
1485
- static bool ParseEscape(absl::string_view* s, Rune* rp,
1486
- RegexpStatus* status, int rune_max) {
1487
- const char* begin = s->data();
1488
- if (s->empty() || (*s)[0] != '\\') {
1489
- // Should not happen - caller always checks.
1490
- status->set_code(kRegexpInternalError);
1491
- status->set_error_arg(absl::string_view());
1492
- return false;
1493
- }
1494
- if (s->size() == 1) {
1495
- status->set_code(kRegexpTrailingBackslash);
1496
- status->set_error_arg(absl::string_view());
1497
- return false;
1498
- }
1499
- Rune c, c1;
1500
- s->remove_prefix(1); // backslash
1501
- if (StringViewToRune(&c, s, status) < 0)
1502
- return false;
1503
- int code;
1504
- switch (c) {
1505
- default:
1506
- if (c < Runeself && !absl::ascii_isalnum(c)) {
1507
- // Escaped non-word characters are always themselves.
1508
- // PCRE is not quite so rigorous: it accepts things like
1509
- // \q, but we don't. We once rejected \_, but too many
1510
- // programs and people insist on using it, so allow \_.
1511
- *rp = c;
1512
- return true;
1513
- }
1514
- goto BadEscape;
1515
-
1516
- // Octal escapes.
1517
- case '1':
1518
- case '2':
1519
- case '3':
1520
- case '4':
1521
- case '5':
1522
- case '6':
1523
- case '7':
1524
- // Single non-zero octal digit is a backreference; not supported.
1525
- if (s->empty() || (*s)[0] < '0' || (*s)[0] > '7')
1526
- goto BadEscape;
1527
- [[fallthrough]];
1528
- case '0':
1529
- // consume up to three octal digits; already have one.
1530
- code = c - '0';
1531
- if (!s->empty() && '0' <= (c = (*s)[0]) && c <= '7') {
1532
- code = code * 8 + c - '0';
1533
- s->remove_prefix(1); // digit
1534
- if (!s->empty()) {
1535
- c = (*s)[0];
1536
- if ('0' <= c && c <= '7') {
1537
- code = code * 8 + c - '0';
1538
- s->remove_prefix(1); // digit
1539
- }
1540
- }
1541
- }
1542
- if (code > rune_max)
1543
- goto BadEscape;
1544
- *rp = code;
1545
- return true;
1546
-
1547
- // Hexadecimal escapes
1548
- case 'x':
1549
- if (s->empty())
1550
- goto BadEscape;
1551
- if (StringViewToRune(&c, s, status) < 0)
1552
- return false;
1553
- if (c == '{') {
1554
- // Any number of digits in braces.
1555
- // Update n as we consume the string, so that
1556
- // the whole thing gets shown in the error message.
1557
- // Perl accepts any text at all; it ignores all text
1558
- // after the first non-hex digit. We require only hex digits,
1559
- // and at least one.
1560
- if (StringViewToRune(&c, s, status) < 0)
1561
- return false;
1562
- int nhex = 0;
1563
- code = 0;
1564
- while (IsHex(c)) {
1565
- nhex++;
1566
- code = code * 16 + UnHex(c);
1567
- if (code > rune_max)
1568
- goto BadEscape;
1569
- if (s->empty())
1570
- goto BadEscape;
1571
- if (StringViewToRune(&c, s, status) < 0)
1572
- return false;
1573
- }
1574
- if (c != '}' || nhex == 0)
1575
- goto BadEscape;
1576
- *rp = code;
1577
- return true;
1578
- }
1579
- // Easy case: two hex digits.
1580
- if (s->empty())
1581
- goto BadEscape;
1582
- if (StringViewToRune(&c1, s, status) < 0)
1583
- return false;
1584
- if (!IsHex(c) || !IsHex(c1))
1585
- goto BadEscape;
1586
- *rp = UnHex(c) * 16 + UnHex(c1);
1587
- return true;
1588
-
1589
- // C escapes.
1590
- case 'n':
1591
- *rp = '\n';
1592
- return true;
1593
- case 'r':
1594
- *rp = '\r';
1595
- return true;
1596
- case 't':
1597
- *rp = '\t';
1598
- return true;
1599
-
1600
- // Less common C escapes.
1601
- case 'a':
1602
- *rp = '\a';
1603
- return true;
1604
- case 'f':
1605
- *rp = '\f';
1606
- return true;
1607
- case 'v':
1608
- *rp = '\v';
1609
- return true;
1610
-
1611
- // This code is disabled to avoid misparsing
1612
- // the Perl word-boundary \b as a backspace
1613
- // when in POSIX regexp mode. Surprisingly,
1614
- // in Perl, \b means word-boundary but [\b]
1615
- // means backspace. We don't support that:
1616
- // if you want a backspace embed a literal
1617
- // backspace character or use \x08.
1618
- //
1619
- // case 'b':
1620
- // *rp = '\b';
1621
- // return true;
1622
- }
1623
-
1624
- BadEscape:
1625
- // Unrecognized escape sequence.
1626
- status->set_code(kRegexpBadEscape);
1627
- status->set_error_arg(
1628
- absl::string_view(begin, static_cast<size_t>(s->data() - begin)));
1629
- return false;
1630
- }
1631
-
1632
- // Add a range to the character class, but exclude newline if asked.
1633
- // Also handle case folding.
1634
- void CharClassBuilder::AddRangeFlags(
1635
- Rune lo, Rune hi, Regexp::ParseFlags parse_flags) {
1636
-
1637
- // Take out \n if the flags say so.
1638
- bool cutnl = !(parse_flags & Regexp::ClassNL) ||
1639
- (parse_flags & Regexp::NeverNL);
1640
- if (cutnl && lo <= '\n' && '\n' <= hi) {
1641
- if (lo < '\n')
1642
- AddRangeFlags(lo, '\n' - 1, parse_flags);
1643
- if (hi > '\n')
1644
- AddRangeFlags('\n' + 1, hi, parse_flags);
1645
- return;
1646
- }
1647
-
1648
- // If folding case, add fold-equivalent characters too.
1649
- if (parse_flags & Regexp::FoldCase) {
1650
- if (parse_flags & Regexp::Latin1) {
1651
- AddFoldedRangeLatin1(this, lo, hi);
1652
- } else {
1653
- AddFoldedRange(this, lo, hi, 0);
1654
- }
1655
- } else {
1656
- AddRange(lo, hi);
1657
- }
1658
- }
1659
-
1660
- // Look for a group with the given name.
1661
- static const UGroup* LookupGroup(absl::string_view name,
1662
- const UGroup* groups, int ngroups) {
1663
- // Simple name lookup.
1664
- for (int i = 0; i < ngroups; i++)
1665
- if (absl::string_view(groups[i].name) == name)
1666
- return &groups[i];
1667
- return NULL;
1668
- }
1669
-
1670
- // Look for a POSIX group with the given name (e.g., "[:^alpha:]")
1671
- static const UGroup* LookupPosixGroup(absl::string_view name) {
1672
- return LookupGroup(name, posix_groups, num_posix_groups);
1673
- }
1674
-
1675
- static const UGroup* LookupPerlGroup(absl::string_view name) {
1676
- return LookupGroup(name, perl_groups, num_perl_groups);
1677
- }
1678
-
1679
- #if !defined(RE2_USE_ICU)
1680
- // Fake UGroup containing all Runes
1681
- static URange16 any16[] = { { 0, 65535 } };
1682
- static URange32 any32[] = { { 65536, Runemax } };
1683
- static UGroup anygroup = { "Any", +1, any16, 1, any32, 1 };
1684
-
1685
- // Look for a Unicode group with the given name (e.g., "Han")
1686
- static const UGroup* LookupUnicodeGroup(absl::string_view name) {
1687
- // Special case: "Any" means any.
1688
- if (name == absl::string_view("Any"))
1689
- return &anygroup;
1690
- return LookupGroup(name, unicode_groups, num_unicode_groups);
1691
- }
1692
- #endif
1693
-
1694
- // Add a UGroup or its negation to the character class.
1695
- static void AddUGroup(CharClassBuilder* cc, const UGroup* g, int sign,
1696
- Regexp::ParseFlags parse_flags) {
1697
- if (sign == +1) {
1698
- for (int i = 0; i < g->nr16; i++) {
1699
- cc->AddRangeFlags(g->r16[i].lo, g->r16[i].hi, parse_flags);
1700
- }
1701
- for (int i = 0; i < g->nr32; i++) {
1702
- cc->AddRangeFlags(g->r32[i].lo, g->r32[i].hi, parse_flags);
1703
- }
1704
- } else {
1705
- if (parse_flags & Regexp::FoldCase) {
1706
- // Normally adding a case-folded group means
1707
- // adding all the extra fold-equivalent runes too.
1708
- // But if we're adding the negation of the group,
1709
- // we have to exclude all the runes that are fold-equivalent
1710
- // to what's already missing. Too hard, so do in two steps.
1711
- CharClassBuilder ccb1;
1712
- AddUGroup(&ccb1, g, +1, parse_flags);
1713
- // If the flags say to take out \n, put it in, so that negating will take it out.
1714
- // Normally AddRangeFlags does this, but we're bypassing AddRangeFlags.
1715
- bool cutnl = !(parse_flags & Regexp::ClassNL) ||
1716
- (parse_flags & Regexp::NeverNL);
1717
- if (cutnl) {
1718
- ccb1.AddRange('\n', '\n');
1719
- }
1720
- ccb1.Negate();
1721
- cc->AddCharClass(&ccb1);
1722
- return;
1723
- }
1724
- int next = 0;
1725
- for (int i = 0; i < g->nr16; i++) {
1726
- if (next < g->r16[i].lo)
1727
- cc->AddRangeFlags(next, g->r16[i].lo - 1, parse_flags);
1728
- next = g->r16[i].hi + 1;
1729
- }
1730
- for (int i = 0; i < g->nr32; i++) {
1731
- if (next < g->r32[i].lo)
1732
- cc->AddRangeFlags(next, g->r32[i].lo - 1, parse_flags);
1733
- next = g->r32[i].hi + 1;
1734
- }
1735
- if (next <= Runemax)
1736
- cc->AddRangeFlags(next, Runemax, parse_flags);
1737
- }
1738
- }
1739
-
1740
- // Maybe parse a Perl character class escape sequence.
1741
- // Only recognizes the Perl character classes (\d \s \w \D \S \W),
1742
- // not the Perl empty-string classes (\b \B \A \Z \z).
1743
- // On success, sets *s to span the remainder of the string
1744
- // and returns the corresponding UGroup.
1745
- // The string_view must *NOT* be edited unless the call succeeds.
1746
- const UGroup* MaybeParsePerlCCEscape(absl::string_view* s,
1747
- Regexp::ParseFlags parse_flags) {
1748
- if (!(parse_flags & Regexp::PerlClasses))
1749
- return NULL;
1750
- if (s->size() < 2 || (*s)[0] != '\\')
1751
- return NULL;
1752
- // Could use StringViewToRune, but there aren't
1753
- // any non-ASCII Perl group names.
1754
- absl::string_view name(s->data(), 2);
1755
- const UGroup* g = LookupPerlGroup(name);
1756
- if (g == NULL)
1757
- return NULL;
1758
- s->remove_prefix(name.size());
1759
- return g;
1760
- }
1761
-
1762
- enum ParseStatus {
1763
- kParseOk, // Did some parsing.
1764
- kParseError, // Found an error.
1765
- kParseNothing, // Decided not to parse.
1766
- };
1767
-
1768
- // Maybe parses a Unicode character group like \p{Han} or \P{Han}
1769
- // (the latter is a negated group).
1770
- ParseStatus ParseUnicodeGroup(absl::string_view* s,
1771
- Regexp::ParseFlags parse_flags,
1772
- CharClassBuilder* cc, RegexpStatus* status) {
1773
- // Decide whether to parse.
1774
- if (!(parse_flags & Regexp::UnicodeGroups))
1775
- return kParseNothing;
1776
- if (s->size() < 2 || (*s)[0] != '\\')
1777
- return kParseNothing;
1778
- Rune c = (*s)[1];
1779
- if (c != 'p' && c != 'P')
1780
- return kParseNothing;
1781
-
1782
- // Committed to parse. Results:
1783
- int sign = +1; // -1 = negated char class
1784
- if (c == 'P')
1785
- sign = -sign;
1786
- absl::string_view seq = *s; // \p{Han} or \pL
1787
- absl::string_view name; // Han or L
1788
- s->remove_prefix(2); // '\\', 'p'
1789
-
1790
- if (!StringViewToRune(&c, s, status))
1791
- return kParseError;
1792
- if (c != '{') {
1793
- // Name is the bit of string we just skipped over for c.
1794
- const char* p = seq.data() + 2;
1795
- name = absl::string_view(p, static_cast<size_t>(s->data() - p));
1796
- } else {
1797
- // Name is in braces. Look for closing }
1798
- size_t end = s->find('}', 0);
1799
- if (end == absl::string_view::npos) {
1800
- if (!IsValidUTF8(seq, status))
1801
- return kParseError;
1802
- status->set_code(kRegexpBadCharRange);
1803
- status->set_error_arg(seq);
1804
- return kParseError;
1805
- }
1806
- name = absl::string_view(s->data(), end); // without '}'
1807
- s->remove_prefix(end + 1); // with '}'
1808
- if (!IsValidUTF8(name, status))
1809
- return kParseError;
1810
- }
1811
-
1812
- // Chop seq where s now begins.
1813
- seq = absl::string_view(seq.data(), static_cast<size_t>(s->data() - seq.data()));
1814
-
1815
- if (!name.empty() && name[0] == '^') {
1816
- sign = -sign;
1817
- name.remove_prefix(1); // '^'
1818
- }
1819
-
1820
- #if !defined(RE2_USE_ICU)
1821
- // Look up the group in the RE2 Unicode data.
1822
- const UGroup* g = LookupUnicodeGroup(name);
1823
- if (g == NULL) {
1824
- status->set_code(kRegexpBadCharRange);
1825
- status->set_error_arg(seq);
1826
- return kParseError;
1827
- }
1828
-
1829
- AddUGroup(cc, g, sign, parse_flags);
1830
- #else
1831
- // Look up the group in the ICU Unicode data. Because ICU provides full
1832
- // Unicode properties support, this could be more than a lookup by name.
1833
- ::icu::UnicodeString ustr = ::icu::UnicodeString::fromUTF8(
1834
- std::string("\\p{") + std::string(name) + std::string("}"));
1835
- UErrorCode uerr = U_ZERO_ERROR;
1836
- ::icu::UnicodeSet uset(ustr, uerr);
1837
- if (U_FAILURE(uerr)) {
1838
- status->set_code(kRegexpBadCharRange);
1839
- status->set_error_arg(seq);
1840
- return kParseError;
1841
- }
1842
-
1843
- // Convert the UnicodeSet to a URange32 and UGroup that we can add.
1844
- int nr = uset.getRangeCount();
1845
- PODArray<URange32> r(nr);
1846
- for (int i = 0; i < nr; i++) {
1847
- r[i].lo = uset.getRangeStart(i);
1848
- r[i].hi = uset.getRangeEnd(i);
1849
- }
1850
- UGroup g = {"", +1, 0, 0, r.data(), nr};
1851
- AddUGroup(cc, &g, sign, parse_flags);
1852
- #endif
1853
-
1854
- return kParseOk;
1855
- }
1856
-
1857
- // Parses a character class name like [:alnum:].
1858
- // Sets *s to span the remainder of the string.
1859
- // Adds the ranges corresponding to the class to ranges.
1860
- static ParseStatus ParseCCName(absl::string_view* s,
1861
- Regexp::ParseFlags parse_flags,
1862
- CharClassBuilder* cc, RegexpStatus* status) {
1863
- // Check begins with [:
1864
- const char* p = s->data();
1865
- const char* ep = s->data() + s->size();
1866
- if (ep - p < 2 || p[0] != '[' || p[1] != ':')
1867
- return kParseNothing;
1868
-
1869
- // Look for closing :].
1870
- const char* q;
1871
- for (q = p+2; q <= ep-2 && (*q != ':' || *(q+1) != ']'); q++)
1872
- ;
1873
-
1874
- // If no closing :], then ignore.
1875
- if (q > ep-2)
1876
- return kParseNothing;
1877
-
1878
- // Got it. Check that it's valid.
1879
- q += 2;
1880
- absl::string_view name(p, static_cast<size_t>(q - p));
1881
-
1882
- const UGroup* g = LookupPosixGroup(name);
1883
- if (g == NULL) {
1884
- status->set_code(kRegexpBadCharRange);
1885
- status->set_error_arg(name);
1886
- return kParseError;
1887
- }
1888
-
1889
- s->remove_prefix(name.size());
1890
- AddUGroup(cc, g, g->sign, parse_flags);
1891
- return kParseOk;
1892
- }
1893
-
1894
- // Parses a character inside a character class.
1895
- // There are fewer special characters here than in the rest of the regexp.
1896
- // Sets *s to span the remainder of the string.
1897
- // Sets *rp to the character.
1898
- bool Regexp::ParseState::ParseCCCharacter(absl::string_view* s, Rune* rp,
1899
- absl::string_view whole_class,
1900
- RegexpStatus* status) {
1901
- if (s->empty()) {
1902
- status->set_code(kRegexpMissingBracket);
1903
- status->set_error_arg(whole_class);
1904
- return false;
1905
- }
1906
-
1907
- // Allow regular escape sequences even though
1908
- // many need not be escaped in this context.
1909
- if ((*s)[0] == '\\')
1910
- return ParseEscape(s, rp, status, rune_max_);
1911
-
1912
- // Otherwise take the next rune.
1913
- return StringViewToRune(rp, s, status) >= 0;
1914
- }
1915
-
1916
- // Parses a character class character, or, if the character
1917
- // is followed by a hyphen, parses a character class range.
1918
- // For single characters, rr->lo == rr->hi.
1919
- // Sets *s to span the remainder of the string.
1920
- // Sets *rp to the character.
1921
- bool Regexp::ParseState::ParseCCRange(absl::string_view* s, RuneRange* rr,
1922
- absl::string_view whole_class,
1923
- RegexpStatus* status) {
1924
- absl::string_view os = *s;
1925
- if (!ParseCCCharacter(s, &rr->lo, whole_class, status))
1926
- return false;
1927
- // [a-] means (a|-), so check for final ].
1928
- if (s->size() >= 2 && (*s)[0] == '-' && (*s)[1] != ']') {
1929
- s->remove_prefix(1); // '-'
1930
- if (!ParseCCCharacter(s, &rr->hi, whole_class, status))
1931
- return false;
1932
- if (rr->hi < rr->lo) {
1933
- status->set_code(kRegexpBadCharRange);
1934
- status->set_error_arg(absl::string_view(
1935
- os.data(), static_cast<size_t>(s->data() - os.data())));
1936
- return false;
1937
- }
1938
- } else {
1939
- rr->hi = rr->lo;
1940
- }
1941
- return true;
1942
- }
1943
-
1944
- // Parses a possibly-negated character class expression like [^abx-z[:digit:]].
1945
- // Sets *s to span the remainder of the string.
1946
- // Sets *out_re to the regexp for the class.
1947
- bool Regexp::ParseState::ParseCharClass(absl::string_view* s, Regexp** out_re,
1948
- RegexpStatus* status) {
1949
- absl::string_view whole_class = *s;
1950
- if (s->empty() || (*s)[0] != '[') {
1951
- // Caller checked this.
1952
- status->set_code(kRegexpInternalError);
1953
- status->set_error_arg(absl::string_view());
1954
- return false;
1955
- }
1956
- bool negated = false;
1957
- Regexp* re = new Regexp(kRegexpCharClass, flags_ & ~FoldCase);
1958
- re->ccb_ = new CharClassBuilder;
1959
- s->remove_prefix(1); // '['
1960
- if (!s->empty() && (*s)[0] == '^') {
1961
- s->remove_prefix(1); // '^'
1962
- negated = true;
1963
- if (!(flags_ & ClassNL) || (flags_ & NeverNL)) {
1964
- // If NL can't match implicitly, then pretend
1965
- // negated classes include a leading \n.
1966
- re->ccb_->AddRange('\n', '\n');
1967
- }
1968
- }
1969
- bool first = true; // ] is okay as first char in class
1970
- while (!s->empty() && ((*s)[0] != ']' || first)) {
1971
- // - is only okay unescaped as first or last in class.
1972
- // Except that Perl allows - anywhere.
1973
- if ((*s)[0] == '-' && !first && !(flags_&PerlX) &&
1974
- (s->size() == 1 || (*s)[1] != ']')) {
1975
- absl::string_view t = *s;
1976
- t.remove_prefix(1); // '-'
1977
- Rune r;
1978
- int n = StringViewToRune(&r, &t, status);
1979
- if (n < 0) {
1980
- re->Decref();
1981
- return false;
1982
- }
1983
- status->set_code(kRegexpBadCharRange);
1984
- status->set_error_arg(absl::string_view(s->data(), 1+n));
1985
- re->Decref();
1986
- return false;
1987
- }
1988
- first = false;
1989
-
1990
- // Look for [:alnum:] etc.
1991
- if (s->size() > 2 && (*s)[0] == '[' && (*s)[1] == ':') {
1992
- switch (ParseCCName(s, flags_, re->ccb_, status)) {
1993
- case kParseOk:
1994
- continue;
1995
- case kParseError:
1996
- re->Decref();
1997
- return false;
1998
- case kParseNothing:
1999
- break;
2000
- }
2001
- }
2002
-
2003
- // Look for Unicode character group like \p{Han}
2004
- if (s->size() > 2 &&
2005
- (*s)[0] == '\\' &&
2006
- ((*s)[1] == 'p' || (*s)[1] == 'P')) {
2007
- switch (ParseUnicodeGroup(s, flags_, re->ccb_, status)) {
2008
- case kParseOk:
2009
- continue;
2010
- case kParseError:
2011
- re->Decref();
2012
- return false;
2013
- case kParseNothing:
2014
- break;
2015
- }
2016
- }
2017
-
2018
- // Look for Perl character class symbols (extension).
2019
- const UGroup* g = MaybeParsePerlCCEscape(s, flags_);
2020
- if (g != NULL) {
2021
- AddUGroup(re->ccb_, g, g->sign, flags_);
2022
- continue;
2023
- }
2024
-
2025
- // Otherwise assume single character or simple range.
2026
- RuneRange rr;
2027
- if (!ParseCCRange(s, &rr, whole_class, status)) {
2028
- re->Decref();
2029
- return false;
2030
- }
2031
- // AddRangeFlags is usually called in response to a class like
2032
- // \p{Foo} or [[:foo:]]; for those, it filters \n out unless
2033
- // Regexp::ClassNL is set. In an explicit range or singleton
2034
- // like we just parsed, we do not filter \n out, so set ClassNL
2035
- // in the flags.
2036
- re->ccb_->AddRangeFlags(rr.lo, rr.hi, flags_ | Regexp::ClassNL);
2037
- }
2038
- if (s->empty()) {
2039
- status->set_code(kRegexpMissingBracket);
2040
- status->set_error_arg(whole_class);
2041
- re->Decref();
2042
- return false;
2043
- }
2044
- s->remove_prefix(1); // ']'
2045
-
2046
- if (negated)
2047
- re->ccb_->Negate();
2048
-
2049
- *out_re = re;
2050
- return true;
2051
- }
2052
-
2053
- // Returns whether name is a valid capture name.
2054
- static bool IsValidCaptureName(absl::string_view name) {
2055
- if (name.empty())
2056
- return false;
2057
-
2058
- // Historically, we effectively used [0-9A-Za-z_]+ to validate; that
2059
- // followed Python 2 except for not restricting the first character.
2060
- // As of Python 3, Unicode characters beyond ASCII are also allowed;
2061
- // accordingly, we permit the Lu, Ll, Lt, Lm, Lo, Nl, Mn, Mc, Nd and
2062
- // Pc categories, but again without restricting the first character.
2063
- // Also, Unicode normalization (e.g. NFKC) isn't performed: Python 3
2064
- // performs it for identifiers, but seemingly not for capture names;
2065
- // if they start doing that for capture names, we won't follow suit.
2066
- static const CharClass* const cc = []() {
2067
- CharClassBuilder ccb;
2068
- for (absl::string_view group :
2069
- {"Lu", "Ll", "Lt", "Lm", "Lo", "Nl", "Mn", "Mc", "Nd", "Pc"})
2070
- AddUGroup(&ccb, LookupGroup(group, unicode_groups, num_unicode_groups),
2071
- +1, Regexp::NoParseFlags);
2072
- return ccb.GetCharClass();
2073
- }();
2074
-
2075
- absl::string_view t = name;
2076
- Rune r;
2077
- while (!t.empty()) {
2078
- if (StringViewToRune(&r, &t, NULL) < 0)
2079
- return false;
2080
- if (cc->Contains(r))
2081
- continue;
2082
- return false;
2083
- }
2084
- return true;
2085
- }
2086
-
2087
- // Parses a Perl flag setting or non-capturing group or both,
2088
- // like (?i) or (?: or (?i:. Removes from s, updates parse state.
2089
- // The caller must check that s begins with "(?".
2090
- // Returns true on success. If the Perl flag is not
2091
- // well-formed or not supported, sets status_ and returns false.
2092
- bool Regexp::ParseState::ParsePerlFlags(absl::string_view* s) {
2093
- absl::string_view t = *s;
2094
-
2095
- // Caller is supposed to check this.
2096
- if (!(flags_ & PerlX) || t.size() < 2 || t[0] != '(' || t[1] != '?') {
2097
- status_->set_code(kRegexpInternalError);
2098
- ABSL_LOG(DFATAL) << "Bad call to ParseState::ParsePerlFlags";
2099
- return false;
2100
- }
2101
-
2102
- // Check for look-around assertions. This is NOT because we support them! ;)
2103
- // As per https://github.com/google/re2/issues/468, we really want to report
2104
- // kRegexpBadPerlOp (not kRegexpBadNamedCapture) for look-behind assertions.
2105
- // Additionally, it would be nice to report not "(?<", but "(?<=" or "(?<!".
2106
- if ((t.size() > 3 && (t[2] == '=' || t[2] == '!')) ||
2107
- (t.size() > 4 && t[2] == '<' && (t[3] == '=' || t[3] == '!'))) {
2108
- status_->set_code(kRegexpBadPerlOp);
2109
- status_->set_error_arg(absl::string_view(t.data(), t[2] == '<' ? 4 : 3));
2110
- return false;
2111
- }
2112
-
2113
- // Check for named captures, first introduced in Python's regexp library.
2114
- // As usual, there are three slightly different syntaxes:
2115
- //
2116
- // (?P<name>expr) the original, introduced by Python
2117
- // (?<name>expr) the .NET alteration, adopted by Perl 5.10
2118
- // (?'name'expr) another .NET alteration, adopted by Perl 5.10
2119
- //
2120
- // Perl 5.10 gave in and implemented the Python version too,
2121
- // but they claim that the last two are the preferred forms.
2122
- // PCRE and languages based on it (specifically, PHP and Ruby)
2123
- // support all three as well. EcmaScript 4 uses only the Python form.
2124
- //
2125
- // In both the open source world (via Code Search) and the
2126
- // Google source tree, (?P<name>expr) and (?<name>expr) are the
2127
- // dominant forms of named captures and both are supported.
2128
- if ((t.size() > 4 && t[2] == 'P' && t[3] == '<') ||
2129
- (t.size() > 3 && t[2] == '<')) {
2130
- // Pull out name.
2131
- size_t begin = t[2] == 'P' ? 4 : 3;
2132
- size_t end = t.find('>', begin);
2133
- if (end == absl::string_view::npos) {
2134
- if (!IsValidUTF8(t, status_))
2135
- return false;
2136
- status_->set_code(kRegexpBadNamedCapture);
2137
- status_->set_error_arg(t);
2138
- return false;
2139
- }
2140
-
2141
- absl::string_view capture(t.data(), end+1);
2142
- absl::string_view name(t.data()+begin, end-begin);
2143
- if (!IsValidUTF8(name, status_))
2144
- return false;
2145
- if (!IsValidCaptureName(name)) {
2146
- status_->set_code(kRegexpBadNamedCapture);
2147
- status_->set_error_arg(capture);
2148
- return false;
2149
- }
2150
-
2151
- if (!DoLeftParen(name)) {
2152
- // DoLeftParen's failure set status_.
2153
- return false;
2154
- }
2155
-
2156
- s->remove_prefix(capture.size());
2157
- return true;
2158
- }
2159
-
2160
- t.remove_prefix(2); // "(?"
2161
-
2162
- bool negated = false;
2163
- bool sawflags = false;
2164
- int nflags = flags_;
2165
- Rune c;
2166
- for (bool done = false; !done; ) {
2167
- if (t.empty())
2168
- goto BadPerlOp;
2169
- if (StringViewToRune(&c, &t, status_) < 0)
2170
- return false;
2171
- switch (c) {
2172
- default:
2173
- goto BadPerlOp;
2174
-
2175
- // Parse flags.
2176
- case 'i':
2177
- sawflags = true;
2178
- if (negated)
2179
- nflags &= ~FoldCase;
2180
- else
2181
- nflags |= FoldCase;
2182
- break;
2183
-
2184
- case 'm': // opposite of our OneLine
2185
- sawflags = true;
2186
- if (negated)
2187
- nflags |= OneLine;
2188
- else
2189
- nflags &= ~OneLine;
2190
- break;
2191
-
2192
- case 's':
2193
- sawflags = true;
2194
- if (negated)
2195
- nflags &= ~DotNL;
2196
- else
2197
- nflags |= DotNL;
2198
- break;
2199
-
2200
- case 'U':
2201
- sawflags = true;
2202
- if (negated)
2203
- nflags &= ~NonGreedy;
2204
- else
2205
- nflags |= NonGreedy;
2206
- break;
2207
-
2208
- // Negation
2209
- case '-':
2210
- if (negated)
2211
- goto BadPerlOp;
2212
- negated = true;
2213
- sawflags = false;
2214
- break;
2215
-
2216
- // Open new group.
2217
- case ':':
2218
- if (!DoLeftParenNoCapture()) {
2219
- // DoLeftParenNoCapture's failure set status_.
2220
- return false;
2221
- }
2222
- done = true;
2223
- break;
2224
-
2225
- // Finish flags.
2226
- case ')':
2227
- done = true;
2228
- break;
2229
- }
2230
- }
2231
-
2232
- if (negated && !sawflags)
2233
- goto BadPerlOp;
2234
-
2235
- flags_ = static_cast<Regexp::ParseFlags>(nflags);
2236
- *s = t;
2237
- return true;
2238
-
2239
- BadPerlOp:
2240
- status_->set_code(kRegexpBadPerlOp);
2241
- status_->set_error_arg(
2242
- absl::string_view(s->data(), static_cast<size_t>(t.data() - s->data())));
2243
- return false;
2244
- }
2245
-
2246
- // Converts latin1 (assumed to be encoded as Latin1 bytes)
2247
- // into UTF8 encoding in string.
2248
- // Can't use EncodingUtils::EncodeLatin1AsUTF8 because it is
2249
- // deprecated and because it rejects code points 0x80-0x9F.
2250
- void ConvertLatin1ToUTF8(absl::string_view latin1, std::string* utf) {
2251
- char buf[UTFmax];
2252
-
2253
- utf->clear();
2254
- for (size_t i = 0; i < latin1.size(); i++) {
2255
- Rune r = latin1[i] & 0xFF;
2256
- int n = runetochar(buf, &r);
2257
- utf->append(buf, n);
2258
- }
2259
- }
2260
-
2261
- // Parses the regular expression given by s,
2262
- // returning the corresponding Regexp tree.
2263
- // The caller must Decref the return value when done with it.
2264
- // Returns NULL on error.
2265
- Regexp* Regexp::Parse(absl::string_view s, ParseFlags global_flags,
2266
- RegexpStatus* status) {
2267
- // Make status non-NULL (easier on everyone else).
2268
- RegexpStatus xstatus;
2269
- if (status == NULL)
2270
- status = &xstatus;
2271
-
2272
- ParseState ps(global_flags, s, status);
2273
- absl::string_view t = s;
2274
-
2275
- // Convert regexp to UTF-8 (easier on the rest of the parser).
2276
- if (global_flags & Latin1) {
2277
- std::string* tmp = new std::string;
2278
- ConvertLatin1ToUTF8(t, tmp);
2279
- status->set_tmp(tmp);
2280
- t = *tmp;
2281
- }
2282
-
2283
- if (global_flags & Literal) {
2284
- // Special parse loop for literal string.
2285
- while (!t.empty()) {
2286
- Rune r;
2287
- if (StringViewToRune(&r, &t, status) < 0)
2288
- return NULL;
2289
- if (!ps.PushLiteral(r))
2290
- return NULL;
2291
- }
2292
- return ps.DoFinish();
2293
- }
2294
-
2295
- absl::string_view lastunary = absl::string_view();
2296
- while (!t.empty()) {
2297
- absl::string_view isunary = absl::string_view();
2298
- switch (t[0]) {
2299
- default: {
2300
- Rune r;
2301
- if (StringViewToRune(&r, &t, status) < 0)
2302
- return NULL;
2303
- if (!ps.PushLiteral(r))
2304
- return NULL;
2305
- break;
2306
- }
2307
-
2308
- case '(':
2309
- // "(?" introduces Perl escape.
2310
- if ((ps.flags() & PerlX) && (t.size() >= 2 && t[1] == '?')) {
2311
- // Flag changes and non-capturing groups.
2312
- if (!ps.ParsePerlFlags(&t))
2313
- return NULL;
2314
- break;
2315
- }
2316
- if (ps.flags() & NeverCapture) {
2317
- if (!ps.DoLeftParenNoCapture())
2318
- return NULL;
2319
- } else {
2320
- if (!ps.DoLeftParen(absl::string_view()))
2321
- return NULL;
2322
- }
2323
- t.remove_prefix(1); // '('
2324
- break;
2325
-
2326
- case '|':
2327
- if (!ps.DoVerticalBar())
2328
- return NULL;
2329
- t.remove_prefix(1); // '|'
2330
- break;
2331
-
2332
- case ')':
2333
- if (!ps.DoRightParen())
2334
- return NULL;
2335
- t.remove_prefix(1); // ')'
2336
- break;
2337
-
2338
- case '^': // Beginning of line.
2339
- if (!ps.PushCaret())
2340
- return NULL;
2341
- t.remove_prefix(1); // '^'
2342
- break;
2343
-
2344
- case '$': // End of line.
2345
- if (!ps.PushDollar())
2346
- return NULL;
2347
- t.remove_prefix(1); // '$'
2348
- break;
2349
-
2350
- case '.': // Any character (possibly except newline).
2351
- if (!ps.PushDot())
2352
- return NULL;
2353
- t.remove_prefix(1); // '.'
2354
- break;
2355
-
2356
- case '[': { // Character class.
2357
- Regexp* re;
2358
- if (!ps.ParseCharClass(&t, &re, status))
2359
- return NULL;
2360
- if (!ps.PushRegexp(re))
2361
- return NULL;
2362
- break;
2363
- }
2364
-
2365
- case '*': { // Zero or more.
2366
- RegexpOp op;
2367
- op = kRegexpStar;
2368
- goto Rep;
2369
- case '+': // One or more.
2370
- op = kRegexpPlus;
2371
- goto Rep;
2372
- case '?': // Zero or one.
2373
- op = kRegexpQuest;
2374
- goto Rep;
2375
- Rep:
2376
- absl::string_view opstr = t;
2377
- bool nongreedy = false;
2378
- t.remove_prefix(1); // '*' or '+' or '?'
2379
- if (ps.flags() & PerlX) {
2380
- if (!t.empty() && t[0] == '?') {
2381
- nongreedy = true;
2382
- t.remove_prefix(1); // '?'
2383
- }
2384
- if (!lastunary.empty()) {
2385
- // In Perl it is not allowed to stack repetition operators:
2386
- // a** is a syntax error, not a double-star.
2387
- // (and a++ means something else entirely, which we don't support!)
2388
- status->set_code(kRegexpRepeatOp);
2389
- status->set_error_arg(absl::string_view(
2390
- lastunary.data(),
2391
- static_cast<size_t>(t.data() - lastunary.data())));
2392
- return NULL;
2393
- }
2394
- }
2395
- opstr = absl::string_view(opstr.data(),
2396
- static_cast<size_t>(t.data() - opstr.data()));
2397
- if (!ps.PushRepeatOp(op, opstr, nongreedy))
2398
- return NULL;
2399
- isunary = opstr;
2400
- break;
2401
- }
2402
-
2403
- case '{': { // Counted repetition.
2404
- int lo, hi;
2405
- absl::string_view opstr = t;
2406
- if (!MaybeParseRepetition(&t, &lo, &hi)) {
2407
- // Treat like a literal.
2408
- if (!ps.PushLiteral('{'))
2409
- return NULL;
2410
- t.remove_prefix(1); // '{'
2411
- break;
2412
- }
2413
- bool nongreedy = false;
2414
- if (ps.flags() & PerlX) {
2415
- if (!t.empty() && t[0] == '?') {
2416
- nongreedy = true;
2417
- t.remove_prefix(1); // '?'
2418
- }
2419
- if (!lastunary.empty()) {
2420
- // Not allowed to stack repetition operators.
2421
- status->set_code(kRegexpRepeatOp);
2422
- status->set_error_arg(absl::string_view(
2423
- lastunary.data(),
2424
- static_cast<size_t>(t.data() - lastunary.data())));
2425
- return NULL;
2426
- }
2427
- }
2428
- opstr = absl::string_view(opstr.data(),
2429
- static_cast<size_t>(t.data() - opstr.data()));
2430
- if (!ps.PushRepetition(lo, hi, opstr, nongreedy))
2431
- return NULL;
2432
- isunary = opstr;
2433
- break;
2434
- }
2435
-
2436
- case '\\': { // Escaped character or Perl sequence.
2437
- // \b and \B: word boundary or not
2438
- if ((ps.flags() & Regexp::PerlB) &&
2439
- t.size() >= 2 && (t[1] == 'b' || t[1] == 'B')) {
2440
- if (!ps.PushWordBoundary(t[1] == 'b'))
2441
- return NULL;
2442
- t.remove_prefix(2); // '\\', 'b'
2443
- break;
2444
- }
2445
-
2446
- if ((ps.flags() & Regexp::PerlX) && t.size() >= 2) {
2447
- if (t[1] == 'A') {
2448
- if (!ps.PushSimpleOp(kRegexpBeginText))
2449
- return NULL;
2450
- t.remove_prefix(2); // '\\', 'A'
2451
- break;
2452
- }
2453
- if (t[1] == 'z') {
2454
- if (!ps.PushSimpleOp(kRegexpEndText))
2455
- return NULL;
2456
- t.remove_prefix(2); // '\\', 'z'
2457
- break;
2458
- }
2459
- // Do not recognize \Z, because this library can't
2460
- // implement the exact Perl/PCRE semantics.
2461
- // (This library treats "(?-m)$" as \z, even though
2462
- // in Perl and PCRE it is equivalent to \Z.)
2463
-
2464
- if (t[1] == 'C') { // \C: any byte [sic]
2465
- if (!ps.PushSimpleOp(kRegexpAnyByte))
2466
- return NULL;
2467
- t.remove_prefix(2); // '\\', 'C'
2468
- break;
2469
- }
2470
-
2471
- if (t[1] == 'Q') { // \Q ... \E: the ... is always literals
2472
- t.remove_prefix(2); // '\\', 'Q'
2473
- while (!t.empty()) {
2474
- if (t.size() >= 2 && t[0] == '\\' && t[1] == 'E') {
2475
- t.remove_prefix(2); // '\\', 'E'
2476
- break;
2477
- }
2478
- Rune r;
2479
- if (StringViewToRune(&r, &t, status) < 0)
2480
- return NULL;
2481
- if (!ps.PushLiteral(r))
2482
- return NULL;
2483
- }
2484
- break;
2485
- }
2486
- }
2487
-
2488
- if (t.size() >= 2 && (t[1] == 'p' || t[1] == 'P')) {
2489
- Regexp* re = new Regexp(kRegexpCharClass, ps.flags() & ~FoldCase);
2490
- re->ccb_ = new CharClassBuilder;
2491
- switch (ParseUnicodeGroup(&t, ps.flags(), re->ccb_, status)) {
2492
- case kParseOk:
2493
- if (!ps.PushRegexp(re))
2494
- return NULL;
2495
- goto Break2;
2496
- case kParseError:
2497
- re->Decref();
2498
- return NULL;
2499
- case kParseNothing:
2500
- re->Decref();
2501
- break;
2502
- }
2503
- }
2504
-
2505
- const UGroup* g = MaybeParsePerlCCEscape(&t, ps.flags());
2506
- if (g != NULL) {
2507
- Regexp* re = new Regexp(kRegexpCharClass, ps.flags() & ~FoldCase);
2508
- re->ccb_ = new CharClassBuilder;
2509
- AddUGroup(re->ccb_, g, g->sign, ps.flags());
2510
- if (!ps.PushRegexp(re))
2511
- return NULL;
2512
- break;
2513
- }
2514
-
2515
- Rune r;
2516
- if (!ParseEscape(&t, &r, status, ps.rune_max()))
2517
- return NULL;
2518
- if (!ps.PushLiteral(r))
2519
- return NULL;
2520
- break;
2521
- }
2522
- }
2523
- Break2:
2524
- lastunary = isunary;
2525
- }
2526
- return ps.DoFinish();
2527
- }
2528
-
2529
- } // namespace re2