fluent-plugin-openlineage 0.1.0 → 0.1.1

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 (2465) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/.idea/fluentd.iml +50 -54
  4. data/.idea/modules.xml +33 -0
  5. data/README.md +249 -222
  6. data/Rakefile +1 -1
  7. data/fluent-plugin-openlineage.gemspec +1 -1
  8. data/spec/fluent/plugin/test_parser_openlineage.rb +31 -31
  9. data/spec/spec_helper.rb +1 -1
  10. metadata +2 -2457
  11. data/.idea/vcs.xml +0 -6
  12. data/vendor/bundle/ruby/3.3.0/bin/fluent-binlog-reader +0 -29
  13. data/vendor/bundle/ruby/3.3.0/bin/fluent-binlog-reader.bat +0 -2
  14. data/vendor/bundle/ruby/3.3.0/bin/fluent-binlog-reader.lock +0 -0
  15. data/vendor/bundle/ruby/3.3.0/bin/fluent-ca-generate +0 -29
  16. data/vendor/bundle/ruby/3.3.0/bin/fluent-ca-generate.bat +0 -2
  17. data/vendor/bundle/ruby/3.3.0/bin/fluent-ca-generate.lock +0 -0
  18. data/vendor/bundle/ruby/3.3.0/bin/fluent-cap-ctl +0 -29
  19. data/vendor/bundle/ruby/3.3.0/bin/fluent-cap-ctl.bat +0 -2
  20. data/vendor/bundle/ruby/3.3.0/bin/fluent-cap-ctl.lock +0 -0
  21. data/vendor/bundle/ruby/3.3.0/bin/fluent-cat +0 -29
  22. data/vendor/bundle/ruby/3.3.0/bin/fluent-cat.bat +0 -2
  23. data/vendor/bundle/ruby/3.3.0/bin/fluent-cat.lock +0 -0
  24. data/vendor/bundle/ruby/3.3.0/bin/fluent-ctl +0 -29
  25. data/vendor/bundle/ruby/3.3.0/bin/fluent-ctl.bat +0 -2
  26. data/vendor/bundle/ruby/3.3.0/bin/fluent-ctl.lock +0 -0
  27. data/vendor/bundle/ruby/3.3.0/bin/fluent-debug +0 -29
  28. data/vendor/bundle/ruby/3.3.0/bin/fluent-debug.bat +0 -2
  29. data/vendor/bundle/ruby/3.3.0/bin/fluent-debug.lock +0 -0
  30. data/vendor/bundle/ruby/3.3.0/bin/fluent-gem +0 -29
  31. data/vendor/bundle/ruby/3.3.0/bin/fluent-gem.bat +0 -2
  32. data/vendor/bundle/ruby/3.3.0/bin/fluent-gem.lock +0 -0
  33. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-config-format +0 -29
  34. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-config-format.bat +0 -2
  35. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-config-format.lock +0 -0
  36. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-generate +0 -29
  37. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-generate.bat +0 -2
  38. data/vendor/bundle/ruby/3.3.0/bin/fluent-plugin-generate.lock +0 -0
  39. data/vendor/bundle/ruby/3.3.0/bin/fluentd +0 -29
  40. data/vendor/bundle/ruby/3.3.0/bin/fluentd.bat +0 -2
  41. data/vendor/bundle/ruby/3.3.0/bin/fluentd.lock +0 -0
  42. data/vendor/bundle/ruby/3.3.0/bin/rake +0 -29
  43. data/vendor/bundle/ruby/3.3.0/bin/rake.bat +0 -2
  44. data/vendor/bundle/ruby/3.3.0/bin/rake.lock +0 -0
  45. data/vendor/bundle/ruby/3.3.0/cache/base64-0.2.0.gem +0 -0
  46. data/vendor/bundle/ruby/3.3.0/cache/certstore_c-0.1.7.gem +0 -0
  47. data/vendor/bundle/ruby/3.3.0/cache/concurrent-ruby-1.3.3.gem +0 -0
  48. data/vendor/bundle/ruby/3.3.0/cache/cool.io-1.8.1.gem +0 -0
  49. data/vendor/bundle/ruby/3.3.0/cache/csv-3.3.0.gem +0 -0
  50. data/vendor/bundle/ruby/3.3.0/cache/drb-2.2.1.gem +0 -0
  51. data/vendor/bundle/ruby/3.3.0/cache/ffi-1.17.0-x64-mingw-ucrt.gem +0 -0
  52. data/vendor/bundle/ruby/3.3.0/cache/ffi-win32-extensions-1.0.4.gem +0 -0
  53. data/vendor/bundle/ruby/3.3.0/cache/fluentd-1.17.0-x64-mingw-ucrt.gem +0 -0
  54. data/vendor/bundle/ruby/3.3.0/cache/http_parser.rb-0.8.0.gem +0 -0
  55. data/vendor/bundle/ruby/3.3.0/cache/json-2.7.2.gem +0 -0
  56. data/vendor/bundle/ruby/3.3.0/cache/minitar-0.9.gem +0 -0
  57. data/vendor/bundle/ruby/3.3.0/cache/msgpack-1.7.2.gem +0 -0
  58. data/vendor/bundle/ruby/3.3.0/cache/power_assert-2.0.3.gem +0 -0
  59. data/vendor/bundle/ruby/3.3.0/cache/rake-13.2.1.gem +0 -0
  60. data/vendor/bundle/ruby/3.3.0/cache/rusty_json_schema-0.15.0.gem +0 -0
  61. data/vendor/bundle/ruby/3.3.0/cache/serverengine-2.3.2.gem +0 -0
  62. data/vendor/bundle/ruby/3.3.0/cache/sigdump-0.2.5.gem +0 -0
  63. data/vendor/bundle/ruby/3.3.0/cache/strptime-0.2.5.gem +0 -0
  64. data/vendor/bundle/ruby/3.3.0/cache/test-unit-3.6.2.gem +0 -0
  65. data/vendor/bundle/ruby/3.3.0/cache/thermite-0.13.0.gem +0 -0
  66. data/vendor/bundle/ruby/3.3.0/cache/tomlrb-1.3.0.gem +0 -0
  67. data/vendor/bundle/ruby/3.3.0/cache/tzinfo-2.0.6.gem +0 -0
  68. data/vendor/bundle/ruby/3.3.0/cache/tzinfo-data-1.2024.1.gem +0 -0
  69. data/vendor/bundle/ruby/3.3.0/cache/webrick-1.8.1.gem +0 -0
  70. data/vendor/bundle/ruby/3.3.0/cache/win32-event-0.6.3.gem +0 -0
  71. data/vendor/bundle/ruby/3.3.0/cache/win32-ipc-0.7.0.gem +0 -0
  72. data/vendor/bundle/ruby/3.3.0/cache/win32-service-2.3.2.gem +0 -0
  73. data/vendor/bundle/ruby/3.3.0/cache/yajl-ruby-1.4.3.gem +0 -0
  74. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/certstore_c-0.1.7/gem.build_complete +0 -0
  75. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/certstore_c-0.1.7/gem_make.out +0 -23
  76. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/cool.io-1.8.1/gem.build_complete +0 -0
  77. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/cool.io-1.8.1/gem_make.out +0 -23
  78. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/http_parser.rb-0.8.0/gem.build_complete +0 -0
  79. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/http_parser.rb-0.8.0/gem_make.out +0 -20
  80. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/json-2.7.2/gem.build_complete +0 -0
  81. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/json-2.7.2/gem_make.out +0 -16
  82. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/msgpack-1.7.2/gem.build_complete +0 -0
  83. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/msgpack-1.7.2/gem_make.out +0 -41
  84. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/rusty_json_schema-0.15.0/gem_make.out +0 -34
  85. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/strptime-0.2.5/gem.build_complete +0 -0
  86. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/strptime-0.2.5/gem_make.out +0 -24
  87. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/yajl-ruby-1.4.3/gem.build_complete +0 -0
  88. data/vendor/bundle/ruby/3.3.0/extensions/x64-mingw-ucrt/3.3.0/yajl-ruby-1.4.3/gem_make.out +0 -245
  89. data/vendor/bundle/ruby/3.3.0/gems/base64-0.2.0/LICENSE.txt +0 -22
  90. data/vendor/bundle/ruby/3.3.0/gems/base64-0.2.0/README.md +0 -48
  91. data/vendor/bundle/ruby/3.3.0/gems/base64-0.2.0/lib/base64.rb +0 -363
  92. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/.clang-format +0 -5
  93. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/.gitignore +0 -10
  94. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/Gemfile +0 -4
  95. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/LICENSE.txt +0 -202
  96. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/README.md +0 -39
  97. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/Rakefile +0 -38
  98. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/appveyor.yml +0 -33
  99. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/bin/console +0 -14
  100. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/bin/setup +0 -8
  101. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/certstore_c.gemspec +0 -45
  102. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/example/manage_certstore.rb +0 -13
  103. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/example/open_tls_socket.rb +0 -33
  104. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/Makefile +0 -273
  105. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/certstore.c +0 -22
  106. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/certstore.h +0 -41
  107. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/certstore_util.c +0 -32
  108. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/extconf.rb +0 -20
  109. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/ext/certstore/loader.c +0 -527
  110. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/lib/certstore/loader.rb +0 -35
  111. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/lib/certstore/openssl/loader.rb +0 -77
  112. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/lib/certstore/version.rb +0 -19
  113. data/vendor/bundle/ruby/3.3.0/gems/certstore_c-0.1.7/lib/certstore.rb +0 -12
  114. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/CHANGELOG.md +0 -588
  115. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/Gemfile +0 -36
  116. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/LICENSE.txt +0 -21
  117. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/README.md +0 -407
  118. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/Rakefile +0 -339
  119. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/ConcurrentRubyService.java +0 -17
  120. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/AtomicReferenceLibrary.java +0 -175
  121. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/JRubyMapBackendLibrary.java +0 -248
  122. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicBooleanLibrary.java +0 -93
  123. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaAtomicFixnumLibrary.java +0 -113
  124. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/JavaSemaphoreLibrary.java +0 -189
  125. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/SynchronizationLibrary.java +0 -292
  126. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMap.java +0 -31
  127. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/ConcurrentHashMapV8.java +0 -3863
  128. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/LongAdder.java +0 -203
  129. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/Striped64.java +0 -342
  130. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/ConcurrentHashMapV8.java +0 -3800
  131. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/LongAdder.java +0 -204
  132. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166e/nounsafe/Striped64.java +0 -291
  133. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/ext/concurrent-ruby/com/concurrent_ruby/ext/jsr166y/ThreadLocalRandom.java +0 -199
  134. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/agent.rb +0 -588
  135. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/array.rb +0 -56
  136. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/async.rb +0 -449
  137. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atom.rb +0 -222
  138. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb +0 -127
  139. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb +0 -144
  140. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb +0 -167
  141. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb +0 -135
  142. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb +0 -100
  143. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb +0 -128
  144. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/event.rb +0 -109
  145. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/fiber_local_var.rb +0 -109
  146. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb +0 -43
  147. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/locals.rb +0 -189
  148. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb +0 -28
  149. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb +0 -68
  150. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb +0 -81
  151. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb +0 -44
  152. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb +0 -131
  153. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb +0 -255
  154. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb +0 -379
  155. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/semaphore.rb +0 -163
  156. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb +0 -111
  157. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/atomic_direct_update.rb +0 -37
  158. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb +0 -67
  159. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb +0 -28
  160. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomics.rb +0 -10
  161. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb +0 -107
  162. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb +0 -111
  163. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb +0 -84
  164. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb +0 -160
  165. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb +0 -66
  166. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb +0 -148
  167. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb +0 -85
  168. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/map/truffleruby_map_backend.rb +0 -14
  169. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb +0 -143
  170. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb +0 -160
  171. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concern/deprecation.rb +0 -34
  172. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb +0 -73
  173. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concern/logging.rb +0 -116
  174. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concern/obligation.rb +0 -220
  175. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concern/observable.rb +0 -110
  176. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/concurrent_ruby.jar +0 -0
  177. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/configuration.rb +0 -105
  178. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/constants.rb +0 -8
  179. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/dataflow.rb +0 -81
  180. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/delay.rb +0 -199
  181. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/errors.rb +0 -74
  182. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/exchanger.rb +0 -353
  183. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb +0 -131
  184. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb +0 -62
  185. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/executor_service.rb +0 -185
  186. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +0 -224
  187. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb +0 -66
  188. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb +0 -44
  189. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb +0 -100
  190. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb +0 -30
  191. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +0 -145
  192. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb +0 -82
  193. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb +0 -21
  194. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +0 -373
  195. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb +0 -35
  196. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb +0 -34
  197. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb +0 -107
  198. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb +0 -28
  199. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb +0 -103
  200. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb +0 -57
  201. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb +0 -88
  202. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/timer_set.rb +0 -176
  203. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executors.rb +0 -20
  204. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/future.rb +0 -141
  205. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/hash.rb +0 -52
  206. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/immutable_struct.rb +0 -101
  207. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/ivar.rb +0 -208
  208. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb +0 -350
  209. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/maybe.rb +0 -229
  210. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/mutable_struct.rb +0 -239
  211. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/mvar.rb +0 -242
  212. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/options.rb +0 -42
  213. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/promise.rb +0 -580
  214. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/promises.rb +0 -2178
  215. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/re_include.rb +0 -60
  216. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/scheduled_task.rb +0 -331
  217. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/set.rb +0 -64
  218. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/settable_struct.rb +0 -139
  219. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb +0 -102
  220. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb +0 -22
  221. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb +0 -171
  222. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/condition.rb +0 -62
  223. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb +0 -29
  224. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb +0 -15
  225. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/lock.rb +0 -38
  226. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb +0 -75
  227. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb +0 -89
  228. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/object.rb +0 -151
  229. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb +0 -36
  230. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/volatile.rb +0 -101
  231. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization.rb +0 -13
  232. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb +0 -47
  233. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb +0 -74
  234. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb +0 -52
  235. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb +0 -38
  236. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb +0 -246
  237. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb +0 -75
  238. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb +0 -50
  239. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/thread_safe/util.rb +0 -16
  240. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/timer_task.rb +0 -361
  241. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/tuple.rb +0 -82
  242. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/tvar.rb +0 -222
  243. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/utility/engine.rb +0 -45
  244. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb +0 -19
  245. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb +0 -77
  246. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/utility/native_integer.rb +0 -54
  247. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/utility/processor_counter.rb +0 -190
  248. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/version.rb +0 -3
  249. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent-ruby.rb +0 -5
  250. data/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent.rb +0 -134
  251. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/.github/workflows/test.yaml +0 -53
  252. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/.gitignore +0 -29
  253. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/.rspec +0 -3
  254. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/.travis.yml +0 -16
  255. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/CHANGES.md +0 -301
  256. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/Gemfile +0 -4
  257. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/LICENSE +0 -20
  258. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/README.md +0 -169
  259. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/Rakefile +0 -78
  260. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/appveyor.yml +0 -18
  261. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/cool.io.gemspec +0 -25
  262. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/callbacked_echo_server.rb +0 -24
  263. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/dslified_echo_client.rb +0 -34
  264. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/dslified_echo_server.rb +0 -24
  265. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/echo_client.rb +0 -38
  266. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/echo_server.rb +0 -27
  267. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/examples/google.rb +0 -9
  268. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/.gitignore +0 -5
  269. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/cool.io.h +0 -70
  270. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/cool.io_ext.c +0 -25
  271. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/ev_wrap.h +0 -10
  272. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/extconf.rb +0 -75
  273. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/iowatcher.c +0 -198
  274. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/libev.c +0 -8
  275. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/loop.c +0 -253
  276. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/stat_watcher.c +0 -269
  277. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/timer_watcher.c +0 -219
  278. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/utils.c +0 -127
  279. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/watcher.c +0 -264
  280. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/cool.io/watcher.h +0 -71
  281. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/iobuffer/Makefile +0 -273
  282. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/iobuffer/extconf.rb +0 -10
  283. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/iobuffer/iobuffer.c +0 -777
  284. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/Changes +0 -513
  285. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/LICENSE +0 -37
  286. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/README +0 -58
  287. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/README.embed +0 -3
  288. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev.c +0 -5238
  289. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev.h +0 -854
  290. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_epoll.c +0 -285
  291. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_kqueue.c +0 -218
  292. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_poll.c +0 -151
  293. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_port.c +0 -189
  294. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_select.c +0 -364
  295. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_vars.h +0 -204
  296. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_win32.c +0 -162
  297. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/ev_wrap.h +0 -200
  298. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/ext/libev/test_libev_win32.c +0 -123
  299. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/.gitignore +0 -2
  300. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/async_watcher.rb +0 -43
  301. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/custom_require.rb +0 -9
  302. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/dns_resolver.rb +0 -228
  303. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/dsl.rb +0 -139
  304. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/io.rb +0 -194
  305. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/iowatcher.rb +0 -17
  306. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/listener.rb +0 -111
  307. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/loop.rb +0 -122
  308. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/meta.rb +0 -50
  309. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/server.rb +0 -75
  310. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/socket.rb +0 -233
  311. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/timer_watcher.rb +0 -17
  312. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io/version.rb +0 -7
  313. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/cool.io.rb +0 -34
  314. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/lib/coolio.rb +0 -2
  315. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/libev_ruby_gil.diff +0 -175
  316. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/libev_win_select.diff +0 -130
  317. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/async_watcher_spec.rb +0 -57
  318. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/dns_spec.rb +0 -58
  319. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/iobuffer_spec.rb +0 -147
  320. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/spec_helper.rb +0 -19
  321. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/stat_watcher_spec.rb +0 -81
  322. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/tcp_server_spec.rb +0 -225
  323. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/tcp_socket_spec.rb +0 -185
  324. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/timer_watcher_spec.rb +0 -59
  325. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/udp_socket_spec.rb +0 -58
  326. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/unix_listener_spec.rb +0 -25
  327. data/vendor/bundle/ruby/3.3.0/gems/cool.io-1.8.1/spec/unix_server_spec.rb +0 -27
  328. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/LICENSE.txt +0 -33
  329. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/NEWS.md +0 -907
  330. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/README.md +0 -55
  331. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/arguments/io.rdoc +0 -5
  332. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/common/col_sep.rdoc +0 -57
  333. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/common/quote_char.rdoc +0 -42
  334. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/common/row_sep.rdoc +0 -91
  335. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/force_quotes.rdoc +0 -17
  336. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/quote_empty.rdoc +0 -12
  337. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/write_converters.rdoc +0 -25
  338. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/write_empty_value.rdoc +0 -15
  339. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/write_headers.rdoc +0 -29
  340. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/generating/write_nil_value.rdoc +0 -14
  341. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/converters.rdoc +0 -46
  342. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/empty_value.rdoc +0 -13
  343. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/field_size_limit.rdoc +0 -39
  344. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/header_converters.rdoc +0 -43
  345. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/headers.rdoc +0 -63
  346. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/liberal_parsing.rdoc +0 -38
  347. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/nil_value.rdoc +0 -12
  348. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/return_headers.rdoc +0 -22
  349. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/skip_blanks.rdoc +0 -31
  350. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/skip_lines.rdoc +0 -37
  351. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/strip.rdoc +0 -15
  352. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/unconverted_fields.rdoc +0 -27
  353. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/recipes/filtering.rdoc +0 -158
  354. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/recipes/generating.rdoc +0 -298
  355. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/recipes/parsing.rdoc +0 -545
  356. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/recipes/recipes.rdoc +0 -6
  357. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/core_ext/array.rb +0 -9
  358. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/core_ext/string.rb +0 -9
  359. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/fields_converter.rb +0 -89
  360. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/input_record_separator.rb +0 -18
  361. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/parser.rb +0 -1297
  362. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/row.rb +0 -757
  363. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/table.rb +0 -1055
  364. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/version.rb +0 -6
  365. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv/writer.rb +0 -210
  366. data/vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/lib/csv.rb +0 -2882
  367. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/LICENSE.txt +0 -22
  368. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/drb.gemspec +0 -41
  369. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/acl.rb +0 -239
  370. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/drb.rb +0 -1943
  371. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/eq.rb +0 -15
  372. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/extserv.rb +0 -44
  373. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/extservm.rb +0 -94
  374. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/gw.rb +0 -161
  375. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/invokemethod.rb +0 -35
  376. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/observer.rb +0 -26
  377. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/ssl.rb +0 -354
  378. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/timeridconv.rb +0 -97
  379. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/unix.rb +0 -118
  380. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/version.rb +0 -3
  381. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb/weakidconv.rb +0 -59
  382. data/vendor/bundle/ruby/3.3.0/gems/drb-2.2.1/lib/drb.rb +0 -3
  383. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/CHANGELOG.md +0 -456
  384. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/COPYING +0 -49
  385. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/Gemfile +0 -21
  386. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/LICENSE +0 -24
  387. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/LICENSE.SPECS +0 -22
  388. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/README.md +0 -137
  389. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/Rakefile +0 -206
  390. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/ffi.gemspec +0 -42
  391. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/abstract_memory.rb +0 -44
  392. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/autopointer.rb +0 -180
  393. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/buffer.rb +0 -4
  394. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/callback.rb +0 -4
  395. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/compat.rb +0 -43
  396. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/data_converter.rb +0 -67
  397. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/dynamic_library.rb +0 -118
  398. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/enum.rb +0 -302
  399. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/errno.rb +0 -43
  400. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/ffi.rb +0 -50
  401. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/function.rb +0 -71
  402. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/io.rb +0 -62
  403. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/library.rb +0 -576
  404. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/library_path.rb +0 -109
  405. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/managedstruct.rb +0 -84
  406. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/memorypointer.rb +0 -1
  407. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-darwin/types.conf +0 -130
  408. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-freebsd/types.conf +0 -128
  409. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-freebsd12/types.conf +0 -181
  410. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-linux/types.conf +0 -175
  411. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-openbsd/types.conf +0 -134
  412. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/aarch64-windows/types.conf +0 -52
  413. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/arm-freebsd/types.conf +0 -152
  414. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/arm-freebsd12/types.conf +0 -152
  415. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/arm-linux/types.conf +0 -132
  416. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/hppa1.1-linux/types.conf +0 -178
  417. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/hppa2.0-linux/types.conf +0 -178
  418. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-cygwin/types.conf +0 -3
  419. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-darwin/types.conf +0 -100
  420. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-freebsd/types.conf +0 -152
  421. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-freebsd12/types.conf +0 -152
  422. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-gnu/types.conf +0 -107
  423. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-linux/types.conf +0 -103
  424. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-netbsd/types.conf +0 -126
  425. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-openbsd/types.conf +0 -128
  426. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-solaris/types.conf +0 -122
  427. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/i386-windows/types.conf +0 -52
  428. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/ia64-linux/types.conf +0 -104
  429. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/loongarch64-linux/types.conf +0 -141
  430. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mips-linux/types.conf +0 -102
  431. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mips64-linux/types.conf +0 -104
  432. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mips64el-linux/types.conf +0 -104
  433. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mipsel-linux/types.conf +0 -102
  434. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mipsisa32r6-linux/types.conf +0 -102
  435. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mipsisa32r6el-linux/types.conf +0 -102
  436. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mipsisa64r6-linux/types.conf +0 -104
  437. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/mipsisa64r6el-linux/types.conf +0 -104
  438. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc-aix/types.conf +0 -180
  439. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc-darwin/types.conf +0 -100
  440. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc-linux/types.conf +0 -130
  441. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc-openbsd/types.conf +0 -156
  442. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc64-linux/types.conf +0 -104
  443. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/powerpc64le-linux/types.conf +0 -100
  444. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/riscv64-linux/types.conf +0 -104
  445. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/s390-linux/types.conf +0 -102
  446. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/s390x-linux/types.conf +0 -102
  447. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sparc-linux/types.conf +0 -102
  448. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sparc-solaris/types.conf +0 -128
  449. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sparcv9-linux/types.conf +0 -102
  450. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sparcv9-openbsd/types.conf +0 -156
  451. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sparcv9-solaris/types.conf +0 -128
  452. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/sw_64-linux/types.conf +0 -141
  453. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-cygwin/types.conf +0 -3
  454. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-darwin/types.conf +0 -130
  455. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-dragonflybsd/types.conf +0 -130
  456. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-freebsd/types.conf +0 -128
  457. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-freebsd12/types.conf +0 -158
  458. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-haiku/types.conf +0 -117
  459. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-linux/types.conf +0 -132
  460. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-msys/types.conf +0 -119
  461. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-netbsd/types.conf +0 -128
  462. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-openbsd/types.conf +0 -134
  463. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-solaris/types.conf +0 -122
  464. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform/x86_64-windows/types.conf +0 -52
  465. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/platform.rb +0 -187
  466. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/pointer.rb +0 -167
  467. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/struct.rb +0 -317
  468. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/struct_by_reference.rb +0 -72
  469. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/struct_layout.rb +0 -96
  470. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/struct_layout_builder.rb +0 -227
  471. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/tools/const_generator.rb +0 -232
  472. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/tools/generator.rb +0 -105
  473. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/tools/generator_task.rb +0 -32
  474. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/tools/struct_generator.rb +0 -195
  475. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/tools/types_generator.rb +0 -137
  476. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/types.rb +0 -222
  477. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/union.rb +0 -43
  478. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/variadic.rb +0 -80
  479. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi/version.rb +0 -3
  480. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/lib/ffi.rb +0 -27
  481. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/rakelib/ffi_gem_helper.rb +0 -65
  482. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/getlogin.rb +0 -8
  483. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/getpid.rb +0 -8
  484. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/gettimeofday.rb +0 -18
  485. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/hello.rb +0 -8
  486. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/hello_ractor.rb +0 -11
  487. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/inotify.rb +0 -60
  488. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/pty.rb +0 -75
  489. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/qsort.rb +0 -20
  490. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/samples/qsort_ractor.rb +0 -28
  491. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/abstract_memory.rbs +0 -165
  492. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/auto_pointer.rbs +0 -27
  493. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/buffer.rbs +0 -18
  494. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/data_converter.rbs +0 -10
  495. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/dynamic_library.rbs +0 -9
  496. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/enum.rbs +0 -38
  497. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/function.rbs +0 -39
  498. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/library.rbs +0 -42
  499. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/native_type.rbs +0 -86
  500. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/pointer.rbs +0 -42
  501. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/struct.rbs +0 -76
  502. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/struct_by_reference.rbs +0 -11
  503. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/struct_by_value.rbs +0 -7
  504. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/struct_layout.rbs +0 -9
  505. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/struct_layout_builder.rbs +0 -5
  506. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi/type.rbs +0 -39
  507. data/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x64-mingw-ucrt/sig/ffi.rbs +0 -26
  508. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/CHANGELOG.md +0 -31
  509. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/CODE_OF_CONDUCT.md +0 -1
  510. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/Gemfile +0 -22
  511. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/LICENSE +0 -201
  512. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/MANIFEST +0 -9
  513. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/README +0 -48
  514. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/README.md +0 -57
  515. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/Rakefile +0 -53
  516. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/VERSION +0 -1
  517. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/ffi-win32-extensions.gemspec +0 -19
  518. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/lib/ffi/win32/extensions.rb +0 -133
  519. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/lib/ffi-win32-extensions.rb +0 -1
  520. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/test/test_ffi_extensions.rb +0 -41
  521. data/vendor/bundle/ruby/3.3.0/gems/ffi-win32-extensions-1.0.4/test/test_string_extensions.rb +0 -20
  522. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.deepsource.toml +0 -13
  523. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/DISCUSSION_TEMPLATE/q-a-japanese.yml +0 -50
  524. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/DISCUSSION_TEMPLATE/q-a.yml +0 -47
  525. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/ISSUE_TEMPLATE/bug_report.yml +0 -71
  526. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/ISSUE_TEMPLATE/config.yml +0 -5
  527. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/ISSUE_TEMPLATE/feature_request.yml +0 -39
  528. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/ISSUE_TEMPLATE.md +0 -17
  529. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  530. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/workflows/stale-actions.yml +0 -24
  531. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/workflows/test-ruby-head.yml +0 -31
  532. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.github/workflows/test.yml +0 -32
  533. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/.gitignore +0 -30
  534. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/ADOPTERS.md +0 -5
  535. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/AUTHORS +0 -2
  536. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/CHANGELOG.md +0 -2786
  537. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/CONTRIBUTING.md +0 -45
  538. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/GOVERNANCE.md +0 -55
  539. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/Gemfile +0 -9
  540. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/GithubWorkflow.md +0 -78
  541. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/LICENSE +0 -202
  542. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/MAINTAINERS.md +0 -13
  543. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/README.md +0 -75
  544. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/Rakefile +0 -79
  545. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/SECURITY.md +0 -14
  546. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-binlog-reader +0 -7
  547. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-ca-generate +0 -6
  548. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-cap-ctl +0 -7
  549. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-ctl +0 -7
  550. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-debug +0 -5
  551. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-plugin-config-format +0 -5
  552. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/bin/fluent-plugin-generate +0 -5
  553. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/code-of-conduct.md +0 -3
  554. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/docs/SECURITY_AUDIT.pdf +0 -0
  555. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/copy_roundrobin.conf +0 -39
  556. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/counter.conf +0 -18
  557. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/filter_stdout.conf +0 -22
  558. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward.conf +0 -14
  559. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward_client.conf +0 -37
  560. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward_shared_key.conf +0 -15
  561. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward_tls.conf +0 -14
  562. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward_users.conf +0 -24
  563. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_forward_workers.conf +0 -21
  564. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_http.conf +0 -16
  565. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_out_forward.conf +0 -17
  566. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_sample_blocks.conf +0 -17
  567. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_sample_with_compression.conf +0 -23
  568. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_syslog.conf +0 -15
  569. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_tail.conf +0 -14
  570. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_tcp.conf +0 -13
  571. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/in_udp.conf +0 -13
  572. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/logevents.conf +0 -25
  573. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/multi_filters.conf +0 -61
  574. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_copy.conf +0 -20
  575. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_exec_filter.conf +0 -42
  576. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_file.conf +0 -13
  577. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward.conf +0 -35
  578. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_buf_file.conf +0 -23
  579. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_client.conf +0 -109
  580. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_heartbeat_none.conf +0 -16
  581. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_sd.conf +0 -17
  582. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_shared_key.conf +0 -36
  583. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_tls.conf +0 -18
  584. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_forward_users.conf +0 -65
  585. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/out_null.conf +0 -36
  586. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/sd.yaml +0 -8
  587. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/secondary_file.conf +0 -42
  588. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/suppress_config_dump.conf +0 -7
  589. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/v0_12_filter.conf +0 -78
  590. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/v1_literal_example.conf +0 -36
  591. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/example/worker_section.conf +0 -36
  592. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/fluent.conf +0 -139
  593. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/fluentd.gemspec +0 -62
  594. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/agent.rb +0 -168
  595. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/capability.rb +0 -87
  596. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/clock.rb +0 -66
  597. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/binlog_reader.rb +0 -244
  598. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/bundler_injection.rb +0 -45
  599. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/ca_generate.rb +0 -184
  600. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/cap_ctl.rb +0 -174
  601. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/cat.rb +0 -365
  602. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/ctl.rb +0 -180
  603. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/debug.rb +0 -103
  604. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/fluentd.rb +0 -374
  605. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/plugin_config_formatter.rb +0 -308
  606. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/command/plugin_generator.rb +0 -365
  607. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/call_super_mixin.rb +0 -76
  608. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/detach_process_mixin.rb +0 -33
  609. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/exec_util.rb +0 -129
  610. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/file_util.rb +0 -54
  611. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/filter.rb +0 -68
  612. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/formatter.rb +0 -111
  613. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/formatter_utils.rb +0 -85
  614. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/handle_tag_and_time_mixin.rb +0 -62
  615. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/handle_tag_name_mixin.rb +0 -53
  616. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/input.rb +0 -49
  617. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/output.rb +0 -721
  618. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/output_chain.rb +0 -60
  619. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/parser.rb +0 -310
  620. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/parser_utils.rb +0 -40
  621. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/propagate_default.rb +0 -62
  622. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/record_filter_mixin.rb +0 -34
  623. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/set_tag_key_mixin.rb +0 -50
  624. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/set_time_key_mixin.rb +0 -69
  625. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/socket_util.rb +0 -165
  626. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/string_util.rb +0 -34
  627. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/structured_format_mixin.rb +0 -26
  628. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/compat/type_converter.rb +0 -90
  629. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/basic_parser.rb +0 -123
  630. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/configure_proxy.rb +0 -424
  631. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/dsl.rb +0 -152
  632. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/element.rb +0 -265
  633. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/error.rb +0 -44
  634. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/literal_parser.rb +0 -286
  635. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/parser.rb +0 -107
  636. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/section.rb +0 -272
  637. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/types.rb +0 -249
  638. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/v1_parser.rb +0 -192
  639. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/yaml_parser/fluent_value.rb +0 -47
  640. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/yaml_parser/loader.rb +0 -108
  641. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/yaml_parser/parser.rb +0 -166
  642. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/yaml_parser/section_builder.rb +0 -107
  643. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config/yaml_parser.rb +0 -56
  644. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/config.rb +0 -89
  645. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/configurable.rb +0 -201
  646. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/base_socket.rb +0 -44
  647. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/client.rb +0 -297
  648. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/error.rb +0 -86
  649. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/mutex_hash.rb +0 -163
  650. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/server.rb +0 -273
  651. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/store.rb +0 -205
  652. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter/validator.rb +0 -145
  653. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/counter.rb +0 -23
  654. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/daemon.rb +0 -13
  655. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/daemonizer.rb +0 -88
  656. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/engine.rb +0 -253
  657. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/env.rb +0 -40
  658. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/error.rb +0 -37
  659. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/event.rb +0 -330
  660. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/event_router.rb +0 -315
  661. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/ext_monitor_require.rb +0 -28
  662. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/file_wrapper.rb +0 -137
  663. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/filter.rb +0 -21
  664. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/fluent_log_event_router.rb +0 -139
  665. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/formatter.rb +0 -23
  666. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/input.rb +0 -21
  667. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/label.rb +0 -46
  668. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/load.rb +0 -34
  669. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/log/console_adapter.rb +0 -66
  670. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/log.rb +0 -752
  671. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/match.rb +0 -187
  672. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/mixin.rb +0 -31
  673. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/msgpack_factory.rb +0 -111
  674. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/oj_options.rb +0 -61
  675. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/output.rb +0 -29
  676. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/output_chain.rb +0 -23
  677. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/parser.rb +0 -23
  678. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/bare_output.rb +0 -104
  679. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/base.rb +0 -214
  680. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buf_file.rb +0 -242
  681. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buf_file_single.rb +0 -254
  682. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buf_memory.rb +0 -34
  683. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buffer/chunk.rb +0 -240
  684. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buffer/file_chunk.rb +0 -413
  685. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buffer/file_single_chunk.rb +0 -310
  686. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buffer/memory_chunk.rb +0 -91
  687. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/buffer.rb +0 -948
  688. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/compressable.rb +0 -96
  689. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/exec_util.rb +0 -22
  690. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/file_util.rb +0 -22
  691. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/filter.rb +0 -127
  692. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/filter_grep.rb +0 -189
  693. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/filter_parser.rb +0 -148
  694. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/filter_record_transformer.rb +0 -324
  695. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/filter_stdout.rb +0 -53
  696. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter.rb +0 -75
  697. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_csv.rb +0 -78
  698. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_hash.rb +0 -35
  699. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_json.rb +0 -59
  700. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_ltsv.rb +0 -44
  701. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_msgpack.rb +0 -33
  702. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_out_file.rb +0 -53
  703. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_single_value.rb +0 -36
  704. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_stdout.rb +0 -76
  705. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/formatter_tsv.rb +0 -40
  706. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_debug_agent.rb +0 -71
  707. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_dummy.rb +0 -18
  708. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_exec.rb +0 -110
  709. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_forward.rb +0 -473
  710. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_gc_stat.rb +0 -72
  711. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_http.rb +0 -642
  712. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_monitor_agent.rb +0 -412
  713. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_object_space.rb +0 -93
  714. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_sample.rb +0 -141
  715. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_syslog.rb +0 -276
  716. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_tail/group_watch.rb +0 -204
  717. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_tail/position_file.rb +0 -269
  718. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_tail.rb +0 -1343
  719. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_tcp.rb +0 -226
  720. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_udp.rb +0 -92
  721. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/in_unix.rb +0 -195
  722. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/input.rb +0 -75
  723. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/metrics.rb +0 -119
  724. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/metrics_local.rb +0 -96
  725. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/multi_output.rb +0 -195
  726. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_copy.rb +0 -120
  727. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_exec.rb +0 -105
  728. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_exec_filter.rb +0 -319
  729. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_file.rb +0 -340
  730. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/ack_handler.rb +0 -176
  731. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/connection_manager.rb +0 -113
  732. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/error.rb +0 -28
  733. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/failure_detector.rb +0 -84
  734. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/handshake_protocol.rb +0 -125
  735. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/load_balancer.rb +0 -114
  736. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward/socket_cache.rb +0 -142
  737. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_forward.rb +0 -826
  738. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_http.rb +0 -387
  739. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_null.rb +0 -74
  740. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_relabel.rb +0 -32
  741. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_roundrobin.rb +0 -84
  742. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_secondary_file.rb +0 -148
  743. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_stdout.rb +0 -74
  744. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/out_stream.rb +0 -130
  745. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/output.rb +0 -1603
  746. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/owned_by_mixin.rb +0 -41
  747. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser.rb +0 -274
  748. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_apache.rb +0 -28
  749. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_apache2.rb +0 -88
  750. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_apache_error.rb +0 -26
  751. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_csv.rb +0 -114
  752. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_json.rb +0 -113
  753. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_ltsv.rb +0 -51
  754. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_msgpack.rb +0 -71
  755. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_multiline.rb +0 -152
  756. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_nginx.rb +0 -28
  757. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_none.rb +0 -36
  758. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_regexp.rb +0 -68
  759. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_syslog.rb +0 -496
  760. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/parser_tsv.rb +0 -42
  761. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/sd_file.rb +0 -156
  762. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/sd_srv.rb +0 -135
  763. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/sd_static.rb +0 -58
  764. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/service_discovery.rb +0 -65
  765. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/socket_util.rb +0 -22
  766. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/storage.rb +0 -84
  767. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/storage_local.rb +0 -162
  768. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin/string_util.rb +0 -22
  769. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin.rb +0 -206
  770. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/cert_option.rb +0 -191
  771. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/child_process.rb +0 -369
  772. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/compat_parameters.rb +0 -343
  773. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/counter.rb +0 -51
  774. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/event_emitter.rb +0 -100
  775. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/event_loop.rb +0 -170
  776. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/extract.rb +0 -104
  777. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/formatter.rb +0 -147
  778. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/app.rb +0 -79
  779. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/compat/server.rb +0 -92
  780. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/compat/ssl_context_extractor.rb +0 -52
  781. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/compat/webrick_handler.rb +0 -58
  782. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/methods.rb +0 -35
  783. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/request.rb +0 -42
  784. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/router.rb +0 -54
  785. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/server.rb +0 -94
  786. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server/ssl_context_builder.rb +0 -41
  787. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/http_server.rb +0 -135
  788. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/inject.rb +0 -154
  789. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/metrics.rb +0 -129
  790. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/parser.rb +0 -147
  791. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/record_accessor.rb +0 -207
  792. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/retry_state.rb +0 -219
  793. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/server.rb +0 -828
  794. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/service_discovery/manager.rb +0 -146
  795. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/service_discovery/round_robin_balancer.rb +0 -43
  796. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/service_discovery.rb +0 -125
  797. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/socket.rb +0 -288
  798. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/socket_option.rb +0 -98
  799. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/storage.rb +0 -349
  800. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/thread.rb +0 -180
  801. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper/timer.rb +0 -92
  802. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_helper.rb +0 -75
  803. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/plugin_id.rb +0 -93
  804. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/process.rb +0 -22
  805. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/registry.rb +0 -117
  806. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/root_agent.rb +0 -372
  807. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/rpc.rb +0 -95
  808. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/static_config_analysis.rb +0 -194
  809. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/supervisor.rb +0 -1076
  810. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/system_config.rb +0 -189
  811. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/base.rb +0 -78
  812. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/base.rb +0 -231
  813. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/base_owned.rb +0 -83
  814. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/base_owner.rb +0 -135
  815. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/event_feeder.rb +0 -98
  816. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/filter.rb +0 -61
  817. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/formatter.rb +0 -30
  818. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/input.rb +0 -31
  819. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/multi_output.rb +0 -53
  820. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/output.rb +0 -102
  821. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/parser.rb +0 -30
  822. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/storage.rb +0 -30
  823. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/driver/test_event_router.rb +0 -45
  824. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/filter_test.rb +0 -77
  825. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/formatter_test.rb +0 -65
  826. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/helpers.rb +0 -134
  827. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/input_test.rb +0 -174
  828. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/log.rb +0 -79
  829. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/output_test.rb +0 -156
  830. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/parser_test.rb +0 -70
  831. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test/startup_shutdown.rb +0 -44
  832. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/test.rb +0 -58
  833. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/time.rb +0 -512
  834. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/timezone.rb +0 -171
  835. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/tls.rb +0 -81
  836. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/unique_id.rb +0 -39
  837. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/variable_store.rb +0 -40
  838. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/version.rb +0 -21
  839. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/win32api.rb +0 -38
  840. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/lib/fluent/winsvc.rb +0 -100
  841. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/Gemfile +0 -3
  842. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/README.md.erb +0 -43
  843. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/Rakefile +0 -13
  844. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/fluent-plugin.gemspec.erb +0 -27
  845. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/filter.rb.erb +0 -14
  846. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/formatter.rb.erb +0 -14
  847. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/input.rb.erb +0 -11
  848. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/output.rb.erb +0 -11
  849. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/parser.rb.erb +0 -15
  850. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/lib/fluent/plugin/storage.rb.erb +0 -40
  851. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/helper.rb.erb +0 -7
  852. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_filter.rb.erb +0 -18
  853. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_formatter.rb.erb +0 -18
  854. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_input.rb.erb +0 -18
  855. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_output.rb.erb +0 -18
  856. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_parser.rb.erb +0 -18
  857. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/new_gem/test/plugin/test_storage.rb.erb +0 -18
  858. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/plugin_config_formatter/param.md-compact.erb +0 -25
  859. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/plugin_config_formatter/param.md-table.erb +0 -10
  860. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/plugin_config_formatter/param.md.erb +0 -34
  861. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/templates/plugin_config_formatter/section.md.erb +0 -12
  862. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_binlog_reader.rb +0 -362
  863. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ca_generate.rb +0 -70
  864. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_cap_ctl.rb +0 -100
  865. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_cat.rb +0 -128
  866. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_ctl.rb +0 -56
  867. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_fluentd.rb +0 -1291
  868. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_plugin_config_formatter.rb +0 -397
  869. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/command/test_plugin_generator.rb +0 -109
  870. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/compat/test_calls_super.rb +0 -166
  871. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/compat/test_parser.rb +0 -92
  872. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/assertions.rb +0 -42
  873. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_config_parser.rb +0 -551
  874. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_configurable.rb +0 -1784
  875. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_configure_proxy.rb +0 -604
  876. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_dsl.rb +0 -415
  877. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_element.rb +0 -518
  878. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_literal_parser.rb +0 -309
  879. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_plugin_configuration.rb +0 -56
  880. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_section.rb +0 -191
  881. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_system_config.rb +0 -195
  882. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/config/test_types.rb +0 -408
  883. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_client.rb +0 -563
  884. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_error.rb +0 -44
  885. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_mutex_hash.rb +0 -179
  886. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_server.rb +0 -589
  887. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_store.rb +0 -258
  888. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/counter/test_validator.rb +0 -137
  889. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/helper.rb +0 -155
  890. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/helpers/fuzzy_assert.rb +0 -89
  891. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/helpers/process_extenstion.rb +0 -33
  892. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/log/test_console_adapter.rb +0 -117
  893. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/2010/01/20100102-030405.log +0 -0
  894. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/2010/01/20100102-030406.log +0 -0
  895. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/2010/01/20100102.log +0 -0
  896. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log/bar +0 -0
  897. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log/foo/bar.log +0 -0
  898. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log/foo/bar2 +0 -0
  899. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log/test.log +0 -0
  900. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log_numeric/01.log +0 -0
  901. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log_numeric/02.log +0 -0
  902. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log_numeric/12.log +0 -0
  903. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/log_numeric/14.log +0 -0
  904. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/sd_file/config +0 -11
  905. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/sd_file/config.json +0 -17
  906. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/sd_file/config.yaml +0 -11
  907. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/sd_file/config.yml +0 -11
  908. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/data/sd_file/invalid_config.yml +0 -7
  909. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/in_tail/test_fifo.rb +0 -121
  910. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/in_tail/test_io_handler.rb +0 -150
  911. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/in_tail/test_position_file.rb +0 -346
  912. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/out_forward/test_ack_handler.rb +0 -140
  913. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/out_forward/test_connection_manager.rb +0 -145
  914. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/out_forward/test_handshake_protocol.rb +0 -112
  915. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/out_forward/test_load_balancer.rb +0 -106
  916. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/out_forward/test_socket_cache.rb +0 -174
  917. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_bare_output.rb +0 -131
  918. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_base.rb +0 -247
  919. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buf_file.rb +0 -1314
  920. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buf_file_single.rb +0 -898
  921. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buf_memory.rb +0 -42
  922. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buffer.rb +0 -1493
  923. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buffer_chunk.rb +0 -209
  924. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buffer_file_chunk.rb +0 -871
  925. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buffer_file_single_chunk.rb +0 -611
  926. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_buffer_memory_chunk.rb +0 -339
  927. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_compressable.rb +0 -87
  928. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_file_util.rb +0 -96
  929. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_filter.rb +0 -368
  930. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_filter_grep.rb +0 -697
  931. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_filter_parser.rb +0 -731
  932. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_filter_record_transformer.rb +0 -577
  933. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_filter_stdout.rb +0 -207
  934. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_csv.rb +0 -136
  935. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_hash.rb +0 -38
  936. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_json.rb +0 -61
  937. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_ltsv.rb +0 -70
  938. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_msgpack.rb +0 -28
  939. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_out_file.rb +0 -116
  940. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_single_value.rb +0 -44
  941. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_formatter_tsv.rb +0 -76
  942. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_debug_agent.rb +0 -49
  943. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_exec.rb +0 -261
  944. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_forward.rb +0 -1178
  945. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_gc_stat.rb +0 -62
  946. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_http.rb +0 -1124
  947. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_monitor_agent.rb +0 -922
  948. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_object_space.rb +0 -66
  949. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_sample.rb +0 -190
  950. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_syslog.rb +0 -505
  951. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_tail.rb +0 -3429
  952. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_tcp.rb +0 -328
  953. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_udp.rb +0 -296
  954. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_in_unix.rb +0 -181
  955. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_input.rb +0 -137
  956. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_metadata.rb +0 -89
  957. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_metrics.rb +0 -294
  958. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_metrics_local.rb +0 -96
  959. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_multi_output.rb +0 -204
  960. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_copy.rb +0 -308
  961. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_exec.rb +0 -312
  962. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_exec_filter.rb +0 -606
  963. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_file.rb +0 -1038
  964. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_forward.rb +0 -1349
  965. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_http.rb +0 -557
  966. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_null.rb +0 -105
  967. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_relabel.rb +0 -28
  968. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_roundrobin.rb +0 -146
  969. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_secondary_file.rb +0 -458
  970. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_stdout.rb +0 -205
  971. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_out_stream.rb +0 -103
  972. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output.rb +0 -1334
  973. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered.rb +0 -2024
  974. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered_backup.rb +0 -363
  975. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered_compress.rb +0 -179
  976. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered_overflow.rb +0 -250
  977. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered_retries.rb +0 -966
  978. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_buffered_secondary.rb +0 -882
  979. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_output_as_standard.rb +0 -374
  980. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_owned_by.rb +0 -34
  981. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser.rb +0 -399
  982. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_apache.rb +0 -42
  983. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_apache2.rb +0 -47
  984. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_apache_error.rb +0 -45
  985. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_csv.rb +0 -200
  986. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_json.rb +0 -244
  987. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_labeled_tsv.rb +0 -160
  988. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_msgpack.rb +0 -127
  989. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_multiline.rb +0 -111
  990. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_nginx.rb +0 -88
  991. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_none.rb +0 -52
  992. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_regexp.rb +0 -284
  993. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_syslog.rb +0 -650
  994. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_parser_tsv.rb +0 -122
  995. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_sd_file.rb +0 -228
  996. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_sd_srv.rb +0 -230
  997. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_storage.rb +0 -166
  998. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_storage_local.rb +0 -335
  999. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin/test_string_util.rb +0 -26
  1000. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert-key.pem +0 -27
  1001. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert-with-CRLF.pem +0 -19
  1002. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert-with-no-newline.pem +0 -19
  1003. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert.pem +0 -19
  1004. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert_chains/ca-cert-key.pem +0 -27
  1005. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert_chains/ca-cert.pem +0 -20
  1006. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert_chains/cert-key.pem +0 -27
  1007. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/cert_chains/cert.pem +0 -40
  1008. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/empty.pem +0 -0
  1009. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/generate_cert.rb +0 -125
  1010. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/ca-cert-key-pass.pem +0 -30
  1011. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/ca-cert-key.pem +0 -27
  1012. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/ca-cert-pass.pem +0 -20
  1013. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/ca-cert.pem +0 -20
  1014. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/cert-key-pass.pem +0 -30
  1015. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/cert-key.pem +0 -27
  1016. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/cert-pass.pem +0 -21
  1017. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/with_ca/cert.pem +0 -21
  1018. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/without_ca/cert-key-pass.pem +0 -30
  1019. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/without_ca/cert-key.pem +0 -27
  1020. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/without_ca/cert-pass.pem +0 -20
  1021. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/data/cert/without_ca/cert.pem +0 -20
  1022. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/http_server/test_app.rb +0 -65
  1023. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/http_server/test_route.rb +0 -32
  1024. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/service_discovery/test_manager.rb +0 -93
  1025. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +0 -21
  1026. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_cert_option.rb +0 -25
  1027. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_child_process.rb +0 -862
  1028. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_compat_parameters.rb +0 -358
  1029. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_event_emitter.rb +0 -80
  1030. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_event_loop.rb +0 -52
  1031. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_extract.rb +0 -194
  1032. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_formatter.rb +0 -255
  1033. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_http_server_helper.rb +0 -372
  1034. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_inject.rb +0 -561
  1035. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_metrics.rb +0 -137
  1036. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_parser.rb +0 -264
  1037. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_record_accessor.rb +0 -238
  1038. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_retry_state.rb +0 -1006
  1039. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_server.rb +0 -1895
  1040. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_service_discovery.rb +0 -165
  1041. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_socket.rb +0 -146
  1042. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_storage.rb +0 -542
  1043. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_thread.rb +0 -164
  1044. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/plugin_helper/test_timer.rb +0 -130
  1045. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/exec_script.rb +0 -32
  1046. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/formatter1/formatter_test1.rb +0 -7
  1047. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/formatter2/formatter_test2.rb +0 -7
  1048. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/formatter_known.rb +0 -8
  1049. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/out_test.rb +0 -81
  1050. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/out_test2.rb +0 -80
  1051. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/scripts/fluent/plugin/parser_known.rb +0 -4
  1052. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_capability.rb +0 -74
  1053. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_clock.rb +0 -164
  1054. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_config.rb +0 -369
  1055. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_configdsl.rb +0 -148
  1056. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_daemonizer.rb +0 -91
  1057. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_engine.rb +0 -203
  1058. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_event.rb +0 -531
  1059. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_event_router.rb +0 -348
  1060. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_event_time.rb +0 -199
  1061. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_file_wrapper.rb +0 -53
  1062. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_filter.rb +0 -121
  1063. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_fluent_log_event_router.rb +0 -99
  1064. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_formatter.rb +0 -369
  1065. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_input.rb +0 -31
  1066. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_log.rb +0 -1076
  1067. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_match.rb +0 -148
  1068. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_mixin.rb +0 -351
  1069. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_msgpack_factory.rb +0 -50
  1070. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_oj_options.rb +0 -55
  1071. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_output.rb +0 -278
  1072. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_plugin.rb +0 -251
  1073. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_plugin_classes.rb +0 -370
  1074. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_plugin_helper.rb +0 -81
  1075. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_plugin_id.rb +0 -119
  1076. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_process.rb +0 -14
  1077. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_root_agent.rb +0 -951
  1078. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_static_config_analysis.rb +0 -177
  1079. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_supervisor.rb +0 -821
  1080. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_test_drivers.rb +0 -136
  1081. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_time_formatter.rb +0 -301
  1082. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_time_parser.rb +0 -362
  1083. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_tls.rb +0 -65
  1084. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_unique_id.rb +0 -47
  1085. data/vendor/bundle/ruby/3.3.0/gems/fluentd-1.17.0-x64-mingw-ucrt/test/test_variable_store.rb +0 -65
  1086. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/.github/workflows/linux.yml +0 -23
  1087. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/.github/workflows/windows.yml +0 -23
  1088. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/.gitignore +0 -12
  1089. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/.gitmodules +0 -6
  1090. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/Gemfile +0 -2
  1091. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/LICENSE-MIT +0 -20
  1092. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/README.md +0 -90
  1093. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/Rakefile +0 -8
  1094. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/bench/standalone.rb +0 -23
  1095. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/bench/thin.rb +0 -58
  1096. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/.gitignore +0 -1
  1097. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/RubyHttpParserService.java +0 -18
  1098. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ext_help.h +0 -18
  1099. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/extconf.rb +0 -24
  1100. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java +0 -502
  1101. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/ruby_http_parser.c +0 -561
  1102. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/.gitkeep +0 -0
  1103. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/AUTHORS +0 -68
  1104. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT +0 -19
  1105. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/README.md +0 -246
  1106. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/bench.c +0 -128
  1107. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/parsertrace.c +0 -157
  1108. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/contrib/url_parser.c +0 -47
  1109. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.c +0 -2440
  1110. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp +0 -111
  1111. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/http_parser.h +0 -433
  1112. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser/test.c +0 -4456
  1113. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS +0 -32
  1114. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +0 -48
  1115. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/README.md +0 -183
  1116. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/TODO +0 -28
  1117. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/build.xml +0 -74
  1118. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +0 -2175
  1119. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp +0 -79
  1120. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +0 -304
  1121. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml +0 -22
  1122. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java +0 -41
  1123. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java +0 -8
  1124. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java +0 -34
  1125. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java +0 -12
  1126. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java +0 -9
  1127. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +0 -107
  1128. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java +0 -36
  1129. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java +0 -76
  1130. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +0 -256
  1131. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java +0 -13
  1132. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java +0 -111
  1133. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java +0 -5
  1134. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java +0 -25
  1135. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java +0 -7
  1136. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +0 -2161
  1137. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +0 -83
  1138. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +0 -374
  1139. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java +0 -51
  1140. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +0 -69
  1141. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +0 -52
  1142. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +0 -16
  1143. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +0 -48
  1144. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +0 -212
  1145. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +0 -62
  1146. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +0 -117
  1147. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +0 -27
  1148. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java +0 -127
  1149. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +0 -236
  1150. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +0 -59
  1151. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/test.c +0 -3425
  1152. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +0 -845
  1153. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 +0 -17
  1154. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb +0 -6
  1155. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb +0 -13
  1156. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb +0 -15
  1157. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb +0 -33
  1158. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/http_parser.rb.gemspec +0 -32
  1159. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/lib/http/parser.rb +0 -1
  1160. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/lib/http_parser.rb +0 -21
  1161. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/spec/parser_spec.rb +0 -428
  1162. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/spec/spec_helper.rb +0 -1
  1163. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/spec/support/requests.json +0 -612
  1164. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/spec/support/responses.json +0 -395
  1165. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/tasks/compile.rake +0 -42
  1166. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/tasks/fixtures.rake +0 -71
  1167. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/tasks/spec.rake +0 -5
  1168. data/vendor/bundle/ruby/3.3.0/gems/http_parser.rb-0.8.0/tasks/submodules.rake +0 -7
  1169. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/CHANGES.md +0 -503
  1170. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/LICENSE +0 -56
  1171. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/README.md +0 -416
  1172. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/Makefile +0 -205
  1173. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/fbuffer/fbuffer.h +0 -187
  1174. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/generator/Makefile +0 -274
  1175. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/generator/depend +0 -1
  1176. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/generator/extconf.rb +0 -4
  1177. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/generator/generator.c +0 -1703
  1178. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/generator/generator.h +0 -177
  1179. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/Makefile +0 -274
  1180. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/depend +0 -1
  1181. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/extconf.rb +0 -32
  1182. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/parser.c +0 -2211
  1183. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/parser.h +0 -96
  1184. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/ext/parser/parser.rl +0 -971
  1185. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/ext/json/extconf.rb +0 -3
  1186. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/json.gemspec +0 -68
  1187. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/bigdecimal.rb +0 -58
  1188. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/complex.rb +0 -51
  1189. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/core.rb +0 -12
  1190. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/date.rb +0 -54
  1191. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/date_time.rb +0 -67
  1192. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/exception.rb +0 -49
  1193. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/ostruct.rb +0 -54
  1194. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/range.rb +0 -54
  1195. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/rational.rb +0 -49
  1196. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/regexp.rb +0 -48
  1197. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/set.rb +0 -48
  1198. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/struct.rb +0 -52
  1199. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/symbol.rb +0 -48
  1200. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/add/time.rb +0 -59
  1201. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/common.rb +0 -698
  1202. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/ext.rb +0 -15
  1203. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/generic_object.rb +0 -75
  1204. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/pure/generator.rb +0 -513
  1205. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/pure/parser.rb +0 -337
  1206. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/pure.rb +0 -15
  1207. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json/version.rb +0 -9
  1208. data/vendor/bundle/ruby/3.3.0/gems/json-2.7.2/lib/json.rb +0 -592
  1209. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/Code-of-Conduct.md +0 -74
  1210. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/Contributing.md +0 -91
  1211. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/History.md +0 -170
  1212. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/Licence.md +0 -15
  1213. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/Manifest.txt +0 -24
  1214. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/README.rdoc +0 -97
  1215. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/Rakefile +0 -52
  1216. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/docs/bsdl.txt +0 -19
  1217. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/docs/ruby.txt +0 -56
  1218. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar/input.rb +0 -243
  1219. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar/output.rb +0 -79
  1220. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar/posix_header.rb +0 -276
  1221. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar/reader.rb +0 -272
  1222. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar/writer.rb +0 -317
  1223. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive/tar/minitar.rb +0 -310
  1224. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/archive-tar-minitar.rb +0 -3
  1225. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/lib/minitar.rb +0 -12
  1226. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/minitest_helper.rb +0 -11
  1227. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/support/tar_test_helpers.rb +0 -131
  1228. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/test_tar_header.rb +0 -113
  1229. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/test_tar_input.rb +0 -227
  1230. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/test_tar_output.rb +0 -54
  1231. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/test_tar_reader.rb +0 -174
  1232. data/vendor/bundle/ruby/3.3.0/gems/minitar-0.9/test/test_tar_writer.rb +0 -228
  1233. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ChangeLog +0 -351
  1234. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/LICENSE +0 -177
  1235. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/README.md +0 -293
  1236. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Buffer.java +0 -233
  1237. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Decoder.java +0 -307
  1238. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Encoder.java +0 -456
  1239. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/ExtensionRegistry.java +0 -167
  1240. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/ExtensionValue.java +0 -128
  1241. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Factory.java +0 -130
  1242. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/MessagePackLibrary.java +0 -45
  1243. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Packer.java +0 -266
  1244. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Types.java +0 -37
  1245. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/java/org/msgpack/jruby/Unpacker.java +0 -336
  1246. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/Makefile +0 -273
  1247. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/buffer.c +0 -668
  1248. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/buffer.h +0 -500
  1249. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/buffer_class.c +0 -616
  1250. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/buffer_class.h +0 -33
  1251. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/compat.h +0 -26
  1252. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/extconf.rb +0 -51
  1253. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/extension_value_class.c +0 -34
  1254. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/extension_value_class.h +0 -31
  1255. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/factory_class.c +0 -276
  1256. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/factory_class.h +0 -33
  1257. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer.c +0 -199
  1258. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer.h +0 -506
  1259. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer_class.c +0 -442
  1260. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer_class.h +0 -43
  1261. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer_ext_registry.c +0 -74
  1262. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/packer_ext_registry.h +0 -140
  1263. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/rbinit.c +0 -35
  1264. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/rmem.c +0 -93
  1265. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/rmem.h +0 -109
  1266. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/sysdep.h +0 -118
  1267. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/sysdep_endian.h +0 -50
  1268. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/sysdep_types.h +0 -46
  1269. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker.c +0 -880
  1270. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker.h +0 -142
  1271. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker_class.c +0 -437
  1272. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker_class.h +0 -43
  1273. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker_ext_registry.c +0 -74
  1274. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/ext/msgpack/unpacker_ext_registry.h +0 -62
  1275. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/bigint.rb +0 -69
  1276. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/buffer.rb +0 -9
  1277. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/core_ext.rb +0 -139
  1278. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/factory.rb +0 -211
  1279. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/packer.rb +0 -37
  1280. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/symbol.rb +0 -26
  1281. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/time.rb +0 -29
  1282. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/timestamp.rb +0 -76
  1283. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/unpacker.rb +0 -41
  1284. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/version.rb +0 -6
  1285. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack.rb +0 -48
  1286. data/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/msgpack.gemspec +0 -34
  1287. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/.github/dependabot.yml +0 -6
  1288. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/.github/workflows/ci.yml +0 -32
  1289. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/.gitignore +0 -9
  1290. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/BSDL +0 -22
  1291. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/COPYING +0 -57
  1292. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/Gemfile +0 -9
  1293. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/LEGAL +0 -4
  1294. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/README.md +0 -98
  1295. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/Rakefile +0 -59
  1296. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/colorize.rb +0 -7
  1297. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/configuration.rb +0 -46
  1298. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/context.rb +0 -233
  1299. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/enable_tracepoint_events.rb +0 -60
  1300. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/inspector.rb +0 -66
  1301. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/parser.rb +0 -251
  1302. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert/version.rb +0 -3
  1303. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/lib/power_assert.rb +0 -91
  1304. data/vendor/bundle/ruby/3.3.0/gems/power_assert-2.0.3/power_assert.gemspec +0 -31
  1305. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/History.rdoc +0 -2403
  1306. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/MIT-LICENSE +0 -21
  1307. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/README.rdoc +0 -155
  1308. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/command_line_usage.rdoc +0 -158
  1309. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/example/Rakefile1 +0 -38
  1310. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/example/Rakefile2 +0 -35
  1311. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/example/a.c +0 -6
  1312. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/example/b.c +0 -6
  1313. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/example/main.c +0 -11
  1314. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/glossary.rdoc +0 -42
  1315. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/jamis.rb +0 -592
  1316. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/proto_rake.rdoc +0 -127
  1317. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/rake.1 +0 -156
  1318. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/rakefile.rdoc +0 -622
  1319. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/doc/rational.rdoc +0 -151
  1320. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake +0 -27
  1321. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb +0 -861
  1322. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/backtrace.rb +0 -25
  1323. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/clean.rb +0 -78
  1324. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/cloneable.rb +0 -17
  1325. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/cpu_counter.rb +0 -107
  1326. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/default_loader.rb +0 -15
  1327. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/dsl_definition.rb +0 -196
  1328. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/early_time.rb +0 -22
  1329. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/ext/core.rb +0 -26
  1330. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/ext/string.rb +0 -176
  1331. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/file_creation_task.rb +0 -25
  1332. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/file_list.rb +0 -435
  1333. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/file_task.rb +0 -58
  1334. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/file_utils.rb +0 -132
  1335. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/file_utils_ext.rb +0 -134
  1336. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/invocation_chain.rb +0 -57
  1337. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/invocation_exception_mixin.rb +0 -17
  1338. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/late_time.rb +0 -18
  1339. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/linked_list.rb +0 -112
  1340. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/loaders/makefile.rb +0 -54
  1341. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/multi_task.rb +0 -14
  1342. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/name_space.rb +0 -38
  1343. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/packagetask.rb +0 -222
  1344. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/phony.rb +0 -16
  1345. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/private_reader.rb +0 -21
  1346. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/promise.rb +0 -100
  1347. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/pseudo_status.rb +0 -30
  1348. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/rake_module.rb +0 -67
  1349. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/rake_test_loader.rb +0 -27
  1350. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/rule_recursion_overflow_error.rb +0 -20
  1351. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/scope.rb +0 -43
  1352. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task.rb +0 -434
  1353. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task_argument_error.rb +0 -8
  1354. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task_arguments.rb +0 -109
  1355. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/task_manager.rb +0 -331
  1356. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/tasklib.rb +0 -12
  1357. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/testtask.rb +0 -189
  1358. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/thread_history_display.rb +0 -49
  1359. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/thread_pool.rb +0 -163
  1360. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/trace_output.rb +0 -23
  1361. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/version.rb +0 -10
  1362. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/win32.rb +0 -51
  1363. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake.rb +0 -70
  1364. data/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/rake.gemspec +0 -101
  1365. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/Cargo.toml +0 -14
  1366. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/README.md +0 -76
  1367. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/ext/Rakefile +0 -51
  1368. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/ext/json_schema.so.x64-mingw32.default +0 -0
  1369. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/ext/json_schema.so.x86_64-darwin.default +0 -0
  1370. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/ext/json_schema.so.x86_64-linux.default +0 -0
  1371. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/rusty_json_schema/binding.rb +0 -22
  1372. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/rusty_json_schema/nodes_array.rb +0 -26
  1373. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/rusty_json_schema/validator.rb +0 -47
  1374. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/rusty_json_schema/version.rb +0 -7
  1375. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/rusty_json_schema.rb +0 -51
  1376. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/lib/tasks/thermite_dir_patch.rb +0 -13
  1377. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/rusty_json_schema.gemspec +0 -46
  1378. data/vendor/bundle/ruby/3.3.0/gems/rusty_json_schema-0.15.0/src/lib.rs +0 -267
  1379. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/.github/workflows/linux.yml +0 -31
  1380. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/.github/workflows/windows.yml +0 -42
  1381. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/.gitignore +0 -5
  1382. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/.rspec +0 -2
  1383. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/Changelog +0 -208
  1384. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/Gemfile +0 -2
  1385. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/LICENSE +0 -202
  1386. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/NOTICE +0 -3
  1387. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/README.md +0 -517
  1388. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/Rakefile +0 -10
  1389. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/examples/server.rb +0 -138
  1390. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/examples/spawn_worker_script.rb +0 -38
  1391. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/blocking_flag.rb +0 -77
  1392. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/command_sender.rb +0 -89
  1393. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/config_loader.rb +0 -82
  1394. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/daemon.rb +0 -232
  1395. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/daemon_logger.rb +0 -172
  1396. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/embedded_server.rb +0 -67
  1397. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/multi_process_server.rb +0 -173
  1398. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/multi_spawn_server.rb +0 -88
  1399. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/multi_thread_server.rb +0 -83
  1400. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/multi_worker_server.rb +0 -173
  1401. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/privilege.rb +0 -57
  1402. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/process_manager.rb +0 -534
  1403. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/server.rb +0 -183
  1404. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/signal_thread.rb +0 -116
  1405. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/signals.rb +0 -31
  1406. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/socket_manager.rb +0 -259
  1407. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/socket_manager_unix.rb +0 -131
  1408. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/socket_manager_win.rb +0 -158
  1409. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/supervisor.rb +0 -317
  1410. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/utils.rb +0 -62
  1411. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/version.rb +0 -3
  1412. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/winsock.rb +0 -133
  1413. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine/worker.rb +0 -84
  1414. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/lib/serverengine.rb +0 -61
  1415. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/serverengine.gemspec +0 -32
  1416. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/blocking_flag_spec.rb +0 -71
  1417. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/daemon_logger_spec.rb +0 -200
  1418. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/daemon_spec.rb +0 -184
  1419. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/multi_process_server_spec.rb +0 -259
  1420. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/multi_spawn_server_spec.rb +0 -225
  1421. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/server_worker_context.rb +0 -278
  1422. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/signal_thread_spec.rb +0 -94
  1423. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/socket_manager_spec.rb +0 -282
  1424. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/spec_helper.rb +0 -21
  1425. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/supervisor_spec.rb +0 -237
  1426. data/vendor/bundle/ruby/3.3.0/gems/serverengine-2.3.2/spec/winsock_spec.rb +0 -17
  1427. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/.gitignore +0 -2
  1428. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/ChangeLog +0 -36
  1429. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/Gemfile +0 -3
  1430. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/LICENSE +0 -202
  1431. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/README.md +0 -134
  1432. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/Rakefile +0 -5
  1433. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/lib/sigdump/setup.rb +0 -4
  1434. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/lib/sigdump.rb +0 -150
  1435. data/vendor/bundle/ruby/3.3.0/gems/sigdump-0.2.5/sigdump.gemspec +0 -21
  1436. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/.clang-format +0 -67
  1437. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/.gitignore +0 -15
  1438. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/.rspec +0 -2
  1439. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/.travis.yml +0 -24
  1440. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/Gemfile +0 -4
  1441. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/LICENSE.txt +0 -26
  1442. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/README.md +0 -54
  1443. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/Rakefile +0 -36
  1444. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/appveyor.yml +0 -18
  1445. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/bin/console +0 -14
  1446. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/bin/setup +0 -7
  1447. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/Makefile +0 -273
  1448. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/extconf.rb +0 -7
  1449. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/ruby_time.c +0 -694
  1450. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/strftime.c +0 -510
  1451. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/strptime.c +0 -742
  1452. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/ext/strptime/strptime.h +0 -29
  1453. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/lib/strptime/version.rb +0 -3
  1454. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/lib/strptime.rb +0 -10
  1455. data/vendor/bundle/ruby/3.3.0/gems/strptime-0.2.5/strptime.gemspec +0 -30
  1456. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/BSDL +0 -24
  1457. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/COPYING +0 -64
  1458. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/PSFL +0 -271
  1459. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/README.md +0 -108
  1460. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/Rakefile +0 -68
  1461. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/doc/text/getting-started.md +0 -246
  1462. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/doc/text/how-to.md +0 -90
  1463. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/doc/text/news.md +0 -1782
  1464. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/assertion-failed-error.rb +0 -60
  1465. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/assertions.rb +0 -2541
  1466. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/attribute-matcher.rb +0 -26
  1467. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/attribute.rb +0 -228
  1468. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/auto-runner-loader.rb +0 -17
  1469. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/autorunner.rb +0 -606
  1470. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/code-snippet-fetcher.rb +0 -58
  1471. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector/descendant.rb +0 -20
  1472. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector/dir.rb +0 -110
  1473. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector/load.rb +0 -201
  1474. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector/objectspace.rb +0 -35
  1475. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector/xml.rb +0 -249
  1476. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/collector.rb +0 -104
  1477. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/color-scheme.rb +0 -225
  1478. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/color.rb +0 -134
  1479. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/data-sets.rb +0 -127
  1480. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/data.rb +0 -371
  1481. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/diff.rb +0 -745
  1482. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/error.rb +0 -158
  1483. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/exception-handler.rb +0 -82
  1484. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/failure.rb +0 -169
  1485. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/fault-location-detector.rb +0 -100
  1486. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/fixture.rb +0 -304
  1487. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/notification.rb +0 -138
  1488. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/omission.rb +0 -198
  1489. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/pending.rb +0 -155
  1490. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/priority.rb +0 -194
  1491. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/runner/console.rb +0 -78
  1492. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/runner/emacs.rb +0 -8
  1493. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/runner/xml.rb +0 -15
  1494. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/test-suite-creator.rb +0 -103
  1495. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/testcase.rb +0 -938
  1496. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/testresult.rb +0 -132
  1497. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/testsuite.rb +0 -175
  1498. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/console/outputlevel.rb +0 -15
  1499. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/console/testrunner.rb +0 -804
  1500. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/emacs/testrunner.rb +0 -49
  1501. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/testrunner.rb +0 -53
  1502. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnermediator.rb +0 -114
  1503. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  1504. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/ui/xml/testrunner.rb +0 -224
  1505. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/backtracefilter.rb +0 -59
  1506. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/memory-usage.rb +0 -47
  1507. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/method-owner-finder.rb +0 -28
  1508. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/observable.rb +0 -90
  1509. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/output.rb +0 -32
  1510. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/util/procwrapper.rb +0 -48
  1511. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/version.rb +0 -5
  1512. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit/warning.rb +0 -3
  1513. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test/unit.rb +0 -521
  1514. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/lib/test-unit.rb +0 -19
  1515. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/sample/adder.rb +0 -13
  1516. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/sample/subtracter.rb +0 -12
  1517. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/sample/test_adder.rb +0 -20
  1518. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/sample/test_subtracter.rb +0 -20
  1519. data/vendor/bundle/ruby/3.3.0/gems/test-unit-3.6.2/sample/test_user.rb +0 -23
  1520. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/.appveyor.yml +0 -27
  1521. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/.gitignore +0 -5
  1522. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/.rubocop.yml +0 -33
  1523. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/.travis.yml +0 -24
  1524. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/.yardopts +0 -2
  1525. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/CONTRIBUTING.md +0 -67
  1526. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/Gemfile +0 -10
  1527. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/LICENSE +0 -9
  1528. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/NEWS.md +0 -173
  1529. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/README.md +0 -134
  1530. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/Rakefile +0 -32
  1531. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/ci/after_success.py +0 -54
  1532. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/cargo.rb +0 -125
  1533. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/config.rb +0 -290
  1534. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/custom_binary.rb +0 -66
  1535. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/fiddle.rb +0 -45
  1536. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/github_release_binary.rb +0 -122
  1537. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/package.rb +0 -95
  1538. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/tasks.rb +0 -157
  1539. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/lib/thermite/util.rb +0 -59
  1540. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/fixtures/config/Cargo.toml +0 -5
  1541. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/fixtures/github/releases.atom +0 -30
  1542. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/cargo_test.rb +0 -95
  1543. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/config_test.rb +0 -232
  1544. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/custom_binary_test.rb +0 -59
  1545. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/github_release_binary_test.rb +0 -160
  1546. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/package_test.rb +0 -119
  1547. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/lib/thermite/util_test.rb +0 -55
  1548. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/test/test_helper.rb +0 -56
  1549. data/vendor/bundle/ruby/3.3.0/gems/thermite-0.13.0/thermite.gemspec +0 -28
  1550. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/LICENSE.txt +0 -21
  1551. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/generated_parser.rb +0 -570
  1552. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/handler.rb +0 -73
  1553. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/parser.rb +0 -19
  1554. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/parser.y +0 -106
  1555. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/scanner.rb +0 -58
  1556. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/string_utils.rb +0 -33
  1557. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb/version.rb +0 -3
  1558. data/vendor/bundle/ruby/3.3.0/gems/tomlrb-1.3.0/lib/tomlrb.rb +0 -44
  1559. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/.yardopts +0 -9
  1560. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/CHANGES.md +0 -1026
  1561. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/LICENSE +0 -19
  1562. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/README.md +0 -406
  1563. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/annual_rules.rb +0 -71
  1564. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/country.rb +0 -208
  1565. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/country_timezone.rb +0 -93
  1566. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_source.rb +0 -446
  1567. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/constant_offset_data_timezone_info.rb +0 -56
  1568. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/country_info.rb +0 -42
  1569. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/data_timezone_info.rb +0 -91
  1570. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/linked_timezone_info.rb +0 -33
  1571. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/posix_time_zone_parser.rb +0 -177
  1572. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/ruby_data_source.rb +0 -141
  1573. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/timezone_info.rb +0 -47
  1574. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/transitions_data_timezone_info.rb +0 -214
  1575. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/zoneinfo_data_source.rb +0 -592
  1576. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources/zoneinfo_reader.rb +0 -482
  1577. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_sources.rb +0 -8
  1578. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/data_timezone.rb +0 -44
  1579. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/datetime_with_offset.rb +0 -153
  1580. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1/country_definer.rb +0 -17
  1581. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1/country_index_definition.rb +0 -64
  1582. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1/timezone_definer.rb +0 -64
  1583. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1/timezone_definition.rb +0 -39
  1584. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1/timezone_index_definition.rb +0 -77
  1585. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format1.rb +0 -10
  1586. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/country_definer.rb +0 -68
  1587. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/country_index_definer.rb +0 -68
  1588. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/country_index_definition.rb +0 -46
  1589. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/timezone_definer.rb +0 -94
  1590. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/timezone_definition.rb +0 -73
  1591. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/timezone_index_definer.rb +0 -45
  1592. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2/timezone_index_definition.rb +0 -55
  1593. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/format2.rb +0 -10
  1594. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/info_timezone.rb +0 -35
  1595. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/linked_timezone.rb +0 -44
  1596. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/offset_timezone_period.rb +0 -42
  1597. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/ruby_core_support.rb +0 -38
  1598. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/string_deduper.rb +0 -118
  1599. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/time_with_offset.rb +0 -154
  1600. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timestamp.rb +0 -552
  1601. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timestamp_with_offset.rb +0 -85
  1602. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone.rb +0 -1160
  1603. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone_offset.rb +0 -111
  1604. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone_period.rb +0 -179
  1605. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone_proxy.rb +0 -96
  1606. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone_transition.rb +0 -98
  1607. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/transition_rule.rb +0 -455
  1608. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/transitions_timezone_period.rb +0 -63
  1609. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/version.rb +0 -7
  1610. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/with_offset.rb +0 -61
  1611. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo.rb +0 -81
  1612. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/.yardopts +0 -8
  1613. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/CONTRIBUTING.md +0 -7
  1614. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/LICENSE +0 -19
  1615. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/README.md +0 -42
  1616. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Abidjan.rb +0 -23
  1617. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Accra.rb +0 -18
  1618. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Addis_Ababa.rb +0 -18
  1619. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Algiers.rb +0 -60
  1620. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Asmara.rb +0 -18
  1621. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Asmera.rb +0 -18
  1622. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Bamako.rb +0 -18
  1623. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Bangui.rb +0 -18
  1624. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Banjul.rb +0 -18
  1625. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Bissau.rb +0 -25
  1626. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Blantyre.rb +0 -18
  1627. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Brazzaville.rb +0 -18
  1628. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Bujumbura.rb +0 -18
  1629. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Cairo.rb +0 -254
  1630. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Casablanca.rb +0 -196
  1631. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Ceuta.rb +0 -225
  1632. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Conakry.rb +0 -18
  1633. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Dakar.rb +0 -18
  1634. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Dar_es_Salaam.rb +0 -18
  1635. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Djibouti.rb +0 -18
  1636. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Douala.rb +0 -18
  1637. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/El_Aaiun.rb +0 -186
  1638. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Freetown.rb +0 -18
  1639. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Gaborone.rb +0 -18
  1640. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Harare.rb +0 -18
  1641. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Johannesburg.rb +0 -30
  1642. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Juba.rb +0 -59
  1643. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Kampala.rb +0 -18
  1644. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Khartoum.rb +0 -59
  1645. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Kigali.rb +0 -18
  1646. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Kinshasa.rb +0 -18
  1647. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Lagos.rb +0 -28
  1648. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Libreville.rb +0 -18
  1649. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Lome.rb +0 -18
  1650. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Luanda.rb +0 -18
  1651. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Lubumbashi.rb +0 -18
  1652. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Lusaka.rb +0 -18
  1653. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Malabo.rb +0 -18
  1654. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Maputo.rb +0 -23
  1655. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Maseru.rb +0 -18
  1656. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Mbabane.rb +0 -18
  1657. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Mogadishu.rb +0 -18
  1658. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Monrovia.rb +0 -27
  1659. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Nairobi.rb +0 -29
  1660. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Ndjamena.rb +0 -26
  1661. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Niamey.rb +0 -18
  1662. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Nouakchott.rb +0 -18
  1663. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Ouagadougou.rb +0 -18
  1664. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Porto__m__Novo.rb +0 -18
  1665. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Sao_Tome.rb +0 -28
  1666. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Timbuktu.rb +0 -18
  1667. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Tripoli.rb +0 -56
  1668. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Tunis.rb +0 -58
  1669. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Africa/Windhoek.rb +0 -79
  1670. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Adak.rb +0 -249
  1671. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Anchorage.rb +0 -249
  1672. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Anguilla.rb +0 -18
  1673. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Antigua.rb +0 -18
  1674. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Araguaina.rb +0 -74
  1675. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +0 -89
  1676. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Catamarca.rb +0 -89
  1677. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/ComodRivadavia.rb +0 -20
  1678. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Cordoba.rb +0 -89
  1679. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Jujuy.rb +0 -87
  1680. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/La_Rioja.rb +0 -90
  1681. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Mendoza.rb +0 -89
  1682. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Rio_Gallegos.rb +0 -89
  1683. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Salta.rb +0 -87
  1684. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/San_Juan.rb +0 -90
  1685. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/San_Luis.rb +0 -90
  1686. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Tucuman.rb +0 -91
  1687. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Argentina/Ushuaia.rb +0 -89
  1688. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Aruba.rb +0 -18
  1689. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Asuncion.rb +0 -227
  1690. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Atikokan.rb +0 -18
  1691. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Atka.rb +0 -18
  1692. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Bahia.rb +0 -84
  1693. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Bahia_Banderas.rb +0 -89
  1694. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Barbados.rb +0 -39
  1695. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Belem.rb +0 -52
  1696. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Belize.rb +0 -124
  1697. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Blanc__m__Sablon.rb +0 -18
  1698. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Boa_Vista.rb +0 -56
  1699. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Bogota.rb +0 -28
  1700. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Boise.rb +0 -252
  1701. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Buenos_Aires.rb +0 -18
  1702. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cambridge_Bay.rb +0 -239
  1703. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Campo_Grande.rb +0 -114
  1704. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cancun.rb +0 -67
  1705. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Caracas.rb +0 -29
  1706. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Catamarca.rb +0 -18
  1707. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cayenne.rb +0 -25
  1708. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cayman.rb +0 -18
  1709. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Chicago.rb +0 -336
  1710. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Chihuahua.rb +0 -85
  1711. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Ciudad_Juarez.rb +0 -190
  1712. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Coral_Harbour.rb +0 -18
  1713. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cordoba.rb +0 -18
  1714. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Costa_Rica.rb +0 -34
  1715. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Creston.rb +0 -18
  1716. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Cuiaba.rb +0 -112
  1717. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Curacao.rb +0 -18
  1718. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Danmarkshavn.rb +0 -58
  1719. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Dawson.rb +0 -122
  1720. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Dawson_Creek.rb +0 -84
  1721. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Denver.rb +0 -257
  1722. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Detroit.rb +0 -241
  1723. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Dominica.rb +0 -18
  1724. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Edmonton.rb +0 -249
  1725. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Eirunepe.rb +0 -57
  1726. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/El_Salvador.rb +0 -28
  1727. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Ensenada.rb +0 -18
  1728. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Fort_Nelson.rb +0 -169
  1729. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Fort_Wayne.rb +0 -18
  1730. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Fortaleza.rb +0 -62
  1731. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Glace_Bay.rb +0 -239
  1732. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Godthab.rb +0 -18
  1733. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Goose_Bay.rb +0 -308
  1734. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Grand_Turk.rb +0 -214
  1735. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Grenada.rb +0 -18
  1736. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Guadeloupe.rb +0 -18
  1737. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Guatemala.rb +0 -32
  1738. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Guayaquil.rb +0 -28
  1739. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Guyana.rb +0 -28
  1740. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Halifax.rb +0 -327
  1741. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Havana.rb +0 -254
  1742. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Hermosillo.rb +0 -40
  1743. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Indianapolis.rb +0 -202
  1744. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Knox.rb +0 -256
  1745. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Marengo.rb +0 -206
  1746. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Petersburg.rb +0 -219
  1747. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Tell_City.rb +0 -201
  1748. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Vevay.rb +0 -184
  1749. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Vincennes.rb +0 -204
  1750. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indiana/Winamac.rb +0 -210
  1751. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Indianapolis.rb +0 -18
  1752. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Inuvik.rb +0 -232
  1753. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Iqaluit.rb +0 -236
  1754. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Jamaica.rb +0 -46
  1755. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Jujuy.rb +0 -18
  1756. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Juneau.rb +0 -248
  1757. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Kentucky/Louisville.rb +0 -281
  1758. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Kentucky/Monticello.rb +0 -251
  1759. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Knox_IN.rb +0 -18
  1760. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Kralendijk.rb +0 -18
  1761. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/La_Paz.rb +0 -27
  1762. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Lima.rb +0 -40
  1763. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Los_Angeles.rb +0 -285
  1764. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Louisville.rb +0 -18
  1765. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Lower_Princes.rb +0 -18
  1766. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Maceio.rb +0 -64
  1767. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Managua.rb +0 -41
  1768. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Manaus.rb +0 -54
  1769. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Marigot.rb +0 -18
  1770. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Martinique.rb +0 -28
  1771. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Matamoros.rb +0 -184
  1772. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Mazatlan.rb +0 -88
  1773. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Mendoza.rb +0 -18
  1774. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Menominee.rb +0 -243
  1775. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Merida.rb +0 -81
  1776. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Metlakatla.rb +0 -183
  1777. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Mexico_City.rb +0 -94
  1778. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Miquelon.rb +0 -202
  1779. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Moncton.rb +0 -307
  1780. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Monterrey.rb +0 -80
  1781. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Montevideo.rb +0 -115
  1782. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Montreal.rb +0 -18
  1783. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Montserrat.rb +0 -18
  1784. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Nassau.rb +0 -18
  1785. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/New_York.rb +0 -335
  1786. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Nipigon.rb +0 -18
  1787. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Nome.rb +0 -249
  1788. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Noronha.rb +0 -62
  1789. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/North_Dakota/Beulah.rb +0 -253
  1790. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/North_Dakota/Center.rb +0 -253
  1791. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/North_Dakota/New_Salem.rb +0 -253
  1792. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Nuuk.rb +0 -215
  1793. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Ojinaga.rb +0 -189
  1794. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Panama.rb +0 -25
  1795. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Pangnirtung.rb +0 -18
  1796. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Paramaribo.rb +0 -29
  1797. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Phoenix.rb +0 -35
  1798. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Port__m__au__m__Prince.rb +0 -184
  1799. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Port_of_Spain.rb +0 -18
  1800. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Porto_Acre.rb +0 -18
  1801. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Porto_Velho.rb +0 -52
  1802. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Puerto_Rico.rb +0 -28
  1803. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Punta_Arenas.rb +0 -144
  1804. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Rainy_River.rb +0 -18
  1805. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Rankin_Inlet.rb +0 -231
  1806. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Recife.rb +0 -62
  1807. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Regina.rb +0 -79
  1808. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Resolute.rb +0 -231
  1809. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Rio_Branco.rb +0 -55
  1810. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Rosario.rb +0 -18
  1811. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Santa_Isabel.rb +0 -18
  1812. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Santarem.rb +0 -54
  1813. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Santiago.rb +0 -258
  1814. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Santo_Domingo.rb +0 -43
  1815. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Sao_Paulo.rb +0 -114
  1816. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Scoresbysund.rb +0 -216
  1817. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Shiprock.rb +0 -18
  1818. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Sitka.rb +0 -247
  1819. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Barthelemy.rb +0 -18
  1820. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Johns.rb +0 -341
  1821. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Kitts.rb +0 -18
  1822. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Lucia.rb +0 -18
  1823. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Thomas.rb +0 -18
  1824. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/St_Vincent.rb +0 -18
  1825. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Swift_Current.rb +0 -49
  1826. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Tegucigalpa.rb +0 -30
  1827. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Thule.rb +0 -192
  1828. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Thunder_Bay.rb +0 -18
  1829. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Tijuana.rb +0 -249
  1830. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Toronto.rb +0 -332
  1831. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Tortola.rb +0 -18
  1832. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Vancouver.rb +0 -289
  1833. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Virgin.rb +0 -18
  1834. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Whitehorse.rb +0 -122
  1835. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Winnipeg.rb +0 -285
  1836. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Yakutat.rb +0 -246
  1837. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/America/Yellowknife.rb +0 -18
  1838. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Casey.rb +0 -40
  1839. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Davis.rb +0 -30
  1840. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/DumontDUrville.rb +0 -18
  1841. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Macquarie.rb +0 -240
  1842. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Mawson.rb +0 -25
  1843. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/McMurdo.rb +0 -18
  1844. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Palmer.rb +0 -107
  1845. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Rothera.rb +0 -23
  1846. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/South_Pole.rb +0 -18
  1847. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Syowa.rb +0 -18
  1848. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Troll.rb +0 -164
  1849. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Antarctica/Vostok.rb +0 -27
  1850. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Arctic/Longyearbyen.rb +0 -18
  1851. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Aden.rb +0 -18
  1852. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Almaty.rb +0 -77
  1853. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Amman.rb +0 -111
  1854. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Anadyr.rb +0 -91
  1855. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Aqtau.rb +0 -76
  1856. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Aqtobe.rb +0 -77
  1857. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ashgabat.rb +0 -50
  1858. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ashkhabad.rb +0 -18
  1859. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Atyrau.rb +0 -77
  1860. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Baghdad.rb +0 -78
  1861. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Bahrain.rb +0 -18
  1862. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Baku.rb +0 -91
  1863. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Bangkok.rb +0 -25
  1864. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Barnaul.rb +0 -92
  1865. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Beirut.rb +0 -238
  1866. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Bishkek.rb +0 -77
  1867. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Brunei.rb +0 -18
  1868. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Calcutta.rb +0 -18
  1869. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Chita.rb +0 -92
  1870. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Choibalsan.rb +0 -77
  1871. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Chongqing.rb +0 -18
  1872. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Chungking.rb +0 -18
  1873. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Colombo.rb +0 -35
  1874. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Dacca.rb +0 -18
  1875. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Damascus.rb +0 -145
  1876. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Dhaka.rb +0 -33
  1877. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Dili.rb +0 -27
  1878. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Dubai.rb +0 -23
  1879. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Dushanbe.rb +0 -49
  1880. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Famagusta.rb +0 -224
  1881. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Gaza.rb +0 -285
  1882. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Harbin.rb +0 -18
  1883. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Hebron.rb +0 -287
  1884. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ho_Chi_Minh.rb +0 -34
  1885. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Hong_Kong.rb +0 -94
  1886. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Hovd.rb +0 -74
  1887. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Irkutsk.rb +0 -93
  1888. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Istanbul.rb +0 -18
  1889. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Jakarta.rb +0 -35
  1890. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Jayapura.rb +0 -27
  1891. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Jerusalem.rb +0 -248
  1892. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kabul.rb +0 -25
  1893. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kamchatka.rb +0 -89
  1894. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Karachi.rb +0 -37
  1895. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kashgar.rb +0 -18
  1896. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kathmandu.rb +0 -25
  1897. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Katmandu.rb +0 -18
  1898. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Khandyga.rb +0 -95
  1899. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kolkata.rb +0 -32
  1900. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Krasnoyarsk.rb +0 -91
  1901. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kuala_Lumpur.rb +0 -18
  1902. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kuching.rb +0 -43
  1903. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Kuwait.rb +0 -18
  1904. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Macao.rb +0 -18
  1905. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Macau.rb +0 -96
  1906. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Magadan.rb +0 -92
  1907. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Makassar.rb +0 -29
  1908. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Manila.rb +0 -35
  1909. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Muscat.rb +0 -18
  1910. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Nicosia.rb +0 -224
  1911. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Novokuznetsk.rb +0 -89
  1912. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Novosibirsk.rb +0 -92
  1913. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Omsk.rb +0 -91
  1914. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Oral.rb +0 -78
  1915. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Phnom_Penh.rb +0 -18
  1916. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Pontianak.rb +0 -35
  1917. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Pyongyang.rb +0 -29
  1918. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Qatar.rb +0 -25
  1919. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Qostanay.rb +0 -78
  1920. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Qyzylorda.rb +0 -78
  1921. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Rangoon.rb +0 -18
  1922. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Riyadh.rb +0 -23
  1923. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Saigon.rb +0 -18
  1924. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Sakhalin.rb +0 -92
  1925. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Samarkand.rb +0 -49
  1926. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Seoul.rb +0 -55
  1927. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Shanghai.rb +0 -52
  1928. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Singapore.rb +0 -36
  1929. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Srednekolymsk.rb +0 -91
  1930. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Taipei.rb +0 -65
  1931. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tashkent.rb +0 -49
  1932. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tbilisi.rb +0 -78
  1933. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tehran.rb +0 -97
  1934. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tel_Aviv.rb +0 -18
  1935. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Thimbu.rb +0 -18
  1936. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Thimphu.rb +0 -25
  1937. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tokyo.rb +0 -32
  1938. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Tomsk.rb +0 -92
  1939. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ujung_Pandang.rb +0 -18
  1940. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ulaanbaatar.rb +0 -74
  1941. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ulan_Bator.rb +0 -18
  1942. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Urumqi.rb +0 -23
  1943. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Ust__m__Nera.rb +0 -94
  1944. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Vientiane.rb +0 -18
  1945. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Vladivostok.rb +0 -91
  1946. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Yakutsk.rb +0 -91
  1947. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Yangon.rb +0 -28
  1948. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Yekaterinburg.rb +0 -93
  1949. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Asia/Yerevan.rb +0 -87
  1950. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Azores.rb +0 -325
  1951. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Bermuda.rb +0 -255
  1952. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Canary.rb +0 -216
  1953. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Cape_Verde.rb +0 -28
  1954. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Faeroe.rb +0 -18
  1955. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Faroe.rb +0 -212
  1956. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Jan_Mayen.rb +0 -18
  1957. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Madeira.rb +0 -324
  1958. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Reykjavik.rb +0 -18
  1959. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/South_Georgia.rb +0 -23
  1960. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/St_Helena.rb +0 -18
  1961. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Atlantic/Stanley.rb +0 -96
  1962. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/ACT.rb +0 -18
  1963. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Adelaide.rb +0 -240
  1964. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Brisbane.rb +0 -40
  1965. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Broken_Hill.rb +0 -242
  1966. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Canberra.rb +0 -18
  1967. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Currie.rb +0 -18
  1968. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Darwin.rb +0 -34
  1969. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Eucla.rb +0 -42
  1970. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Hobart.rb +0 -250
  1971. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/LHI.rb +0 -18
  1972. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Lindeman.rb +0 -44
  1973. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Lord_Howe.rb +0 -213
  1974. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Melbourne.rb +0 -238
  1975. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/NSW.rb +0 -18
  1976. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/North.rb +0 -18
  1977. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Perth.rb +0 -42
  1978. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Queensland.rb +0 -18
  1979. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/South.rb +0 -18
  1980. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Sydney.rb +0 -238
  1981. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Tasmania.rb +0 -18
  1982. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Victoria.rb +0 -18
  1983. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/West.rb +0 -18
  1984. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Australia/Yancowinna.rb +0 -18
  1985. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Brazil/Acre.rb +0 -18
  1986. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Brazil/DeNoronha.rb +0 -18
  1987. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Brazil/East.rb +0 -18
  1988. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Brazil/West.rb +0 -18
  1989. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/CET.rb +0 -230
  1990. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/CST6CDT.rb +0 -245
  1991. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Atlantic.rb +0 -18
  1992. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Central.rb +0 -18
  1993. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Eastern.rb +0 -18
  1994. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Mountain.rb +0 -18
  1995. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Newfoundland.rb +0 -18
  1996. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Pacific.rb +0 -18
  1997. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Saskatchewan.rb +0 -18
  1998. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Canada/Yukon.rb +0 -18
  1999. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Chile/Continental.rb +0 -18
  2000. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Chile/EasterIsland.rb +0 -18
  2001. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Cuba.rb +0 -16
  2002. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/EET.rb +0 -216
  2003. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/EST.rb +0 -19
  2004. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/EST5EDT.rb +0 -245
  2005. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Egypt.rb +0 -16
  2006. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Eire.rb +0 -16
  2007. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT.rb +0 -21
  2008. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT0.rb +0 -18
  2009. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__0.rb +0 -18
  2010. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__1.rb +0 -21
  2011. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__10.rb +0 -21
  2012. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__11.rb +0 -21
  2013. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__12.rb +0 -21
  2014. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__13.rb +0 -21
  2015. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__14.rb +0 -21
  2016. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__2.rb +0 -21
  2017. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__3.rb +0 -21
  2018. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__4.rb +0 -21
  2019. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__5.rb +0 -21
  2020. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__6.rb +0 -21
  2021. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__7.rb +0 -21
  2022. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__8.rb +0 -21
  2023. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__m__9.rb +0 -21
  2024. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__0.rb +0 -18
  2025. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__1.rb +0 -21
  2026. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__10.rb +0 -21
  2027. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__11.rb +0 -21
  2028. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__12.rb +0 -21
  2029. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__2.rb +0 -21
  2030. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__3.rb +0 -21
  2031. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__4.rb +0 -21
  2032. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__5.rb +0 -21
  2033. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__6.rb +0 -21
  2034. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__7.rb +0 -21
  2035. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__8.rb +0 -21
  2036. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/GMT__p__9.rb +0 -21
  2037. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/Greenwich.rb +0 -18
  2038. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/UCT.rb +0 -18
  2039. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/UTC.rb +0 -21
  2040. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/Universal.rb +0 -18
  2041. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Etc/Zulu.rb +0 -18
  2042. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Amsterdam.rb +0 -18
  2043. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Andorra.rb +0 -206
  2044. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Astrakhan.rb +0 -89
  2045. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Athens.rb +0 -238
  2046. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Belfast.rb +0 -18
  2047. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Belgrade.rb +0 -216
  2048. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Berlin.rb +0 -241
  2049. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Bratislava.rb +0 -18
  2050. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Brussels.rb +0 -285
  2051. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Bucharest.rb +0 -234
  2052. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Budapest.rb +0 -248
  2053. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Busingen.rb +0 -18
  2054. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Chisinau.rb +0 -244
  2055. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Copenhagen.rb +0 -18
  2056. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Dublin.rb +0 -329
  2057. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Gibraltar.rb +0 -298
  2058. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Guernsey.rb +0 -18
  2059. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Helsinki.rb +0 -216
  2060. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Isle_of_Man.rb +0 -18
  2061. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Istanbul.rb +0 -141
  2062. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Jersey.rb +0 -18
  2063. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Kaliningrad.rb +0 -108
  2064. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Kiev.rb +0 -18
  2065. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Kirov.rb +0 -90
  2066. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Kyiv.rb +0 -223
  2067. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Lisbon.rb +0 -323
  2068. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Ljubljana.rb +0 -18
  2069. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/London.rb +0 -341
  2070. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Luxembourg.rb +0 -18
  2071. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Madrid.rb +0 -262
  2072. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Malta.rb +0 -266
  2073. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Mariehamn.rb +0 -18
  2074. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Minsk.rb +0 -97
  2075. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Monaco.rb +0 -18
  2076. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Moscow.rb +0 -109
  2077. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Nicosia.rb +0 -18
  2078. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Oslo.rb +0 -18
  2079. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Paris.rb +0 -285
  2080. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Podgorica.rb +0 -18
  2081. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Prague.rb +0 -243
  2082. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Riga.rb +0 -229
  2083. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Rome.rb +0 -268
  2084. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Samara.rb +0 -90
  2085. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/San_Marino.rb +0 -18
  2086. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Sarajevo.rb +0 -18
  2087. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Saratov.rb +0 -89
  2088. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Simferopol.rb +0 -104
  2089. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Skopje.rb +0 -18
  2090. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Sofia.rb +0 -226
  2091. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Stockholm.rb +0 -18
  2092. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Tallinn.rb +0 -225
  2093. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Tirane.rb +0 -230
  2094. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Tiraspol.rb +0 -18
  2095. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Ulyanovsk.rb +0 -93
  2096. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Uzhgorod.rb +0 -18
  2097. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Vaduz.rb +0 -18
  2098. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Vatican.rb +0 -18
  2099. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Vienna.rb +0 -236
  2100. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Vilnius.rb +0 -223
  2101. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Volgograd.rb +0 -92
  2102. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Warsaw.rb +0 -265
  2103. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Zagreb.rb +0 -18
  2104. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Zaporozhye.rb +0 -18
  2105. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Europe/Zurich.rb +0 -218
  2106. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Factory.rb +0 -19
  2107. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GB.rb +0 -16
  2108. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GB__m__Eire.rb +0 -16
  2109. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GMT.rb +0 -16
  2110. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GMT0.rb +0 -16
  2111. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GMT__m__0.rb +0 -16
  2112. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/GMT__p__0.rb +0 -16
  2113. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Greenwich.rb +0 -16
  2114. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/HST.rb +0 -19
  2115. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Hongkong.rb +0 -16
  2116. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Iceland.rb +0 -16
  2117. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Antananarivo.rb +0 -18
  2118. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Chagos.rb +0 -25
  2119. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Christmas.rb +0 -18
  2120. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Cocos.rb +0 -18
  2121. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Comoro.rb +0 -18
  2122. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Kerguelen.rb +0 -18
  2123. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Mahe.rb +0 -18
  2124. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Maldives.rb +0 -25
  2125. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Mauritius.rb +0 -28
  2126. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Mayotte.rb +0 -18
  2127. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Indian/Reunion.rb +0 -18
  2128. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Iran.rb +0 -16
  2129. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Israel.rb +0 -16
  2130. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Jamaica.rb +0 -16
  2131. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Japan.rb +0 -16
  2132. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Kwajalein.rb +0 -16
  2133. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Libya.rb +0 -16
  2134. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/MET.rb +0 -230
  2135. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/MST.rb +0 -19
  2136. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/MST7MDT.rb +0 -245
  2137. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Mexico/BajaNorte.rb +0 -18
  2138. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Mexico/BajaSur.rb +0 -18
  2139. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Mexico/General.rb +0 -18
  2140. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/NZ.rb +0 -16
  2141. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/NZ__m__CHAT.rb +0 -16
  2142. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Navajo.rb +0 -16
  2143. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/PRC.rb +0 -16
  2144. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/PST8PDT.rb +0 -245
  2145. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Apia.rb +0 -53
  2146. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Auckland.rb +0 -255
  2147. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Bougainville.rb +0 -30
  2148. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Chatham.rb +0 -226
  2149. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Chuuk.rb +0 -18
  2150. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Easter.rb +0 -238
  2151. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Efate.rb +0 -46
  2152. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Enderbury.rb +0 -18
  2153. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Fakaofo.rb +0 -25
  2154. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Fiji.rb +0 -52
  2155. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Funafuti.rb +0 -18
  2156. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Galapagos.rb +0 -28
  2157. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Gambier.rb +0 -23
  2158. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Guadalcanal.rb +0 -23
  2159. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Guam.rb +0 -47
  2160. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Honolulu.rb +0 -33
  2161. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Johnston.rb +0 -18
  2162. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Kanton.rb +0 -27
  2163. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Kiritimati.rb +0 -27
  2164. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Kosrae.rb +0 -35
  2165. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Kwajalein.rb +0 -32
  2166. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Majuro.rb +0 -18
  2167. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Marquesas.rb +0 -23
  2168. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Midway.rb +0 -18
  2169. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Nauru.rb +0 -28
  2170. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Niue.rb +0 -25
  2171. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Norfolk.rb +0 -141
  2172. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Noumea.rb +0 -30
  2173. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Pago_Pago.rb +0 -25
  2174. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Palau.rb +0 -25
  2175. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Pitcairn.rb +0 -25
  2176. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Pohnpei.rb +0 -18
  2177. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Ponape.rb +0 -18
  2178. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Port_Moresby.rb +0 -25
  2179. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Rarotonga.rb +0 -53
  2180. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Saipan.rb +0 -18
  2181. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Samoa.rb +0 -18
  2182. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Tahiti.rb +0 -23
  2183. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Tarawa.rb +0 -23
  2184. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Tongatapu.rb +0 -34
  2185. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Truk.rb +0 -18
  2186. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Wake.rb +0 -18
  2187. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Wallis.rb +0 -18
  2188. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Pacific/Yap.rb +0 -18
  2189. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Poland.rb +0 -16
  2190. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Portugal.rb +0 -16
  2191. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/ROC.rb +0 -16
  2192. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/ROK.rb +0 -16
  2193. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Singapore.rb +0 -16
  2194. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Turkey.rb +0 -16
  2195. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/UCT.rb +0 -16
  2196. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Alaska.rb +0 -18
  2197. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Aleutian.rb +0 -18
  2198. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Arizona.rb +0 -18
  2199. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Central.rb +0 -18
  2200. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/East__m__Indiana.rb +0 -18
  2201. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Eastern.rb +0 -18
  2202. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Hawaii.rb +0 -18
  2203. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Indiana__m__Starke.rb +0 -18
  2204. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Michigan.rb +0 -18
  2205. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Mountain.rb +0 -18
  2206. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Pacific.rb +0 -18
  2207. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/US/Samoa.rb +0 -18
  2208. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/UTC.rb +0 -16
  2209. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Universal.rb +0 -16
  2210. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/WET.rb +0 -216
  2211. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/W__m__SU.rb +0 -16
  2212. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/definitions/Zulu.rb +0 -16
  2213. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/indexes/countries.rb +0 -932
  2214. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/indexes/timezones.rb +0 -612
  2215. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/tzdataparser.rb +0 -1350
  2216. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data/version.rb +0 -20
  2217. data/vendor/bundle/ruby/3.3.0/gems/tzinfo-data-1.2024.1/lib/tzinfo/data.rb +0 -8
  2218. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/Gemfile +0 -6
  2219. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/LICENSE.txt +0 -22
  2220. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/README.md +0 -61
  2221. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/Rakefile +0 -17
  2222. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/accesslog.rb +0 -157
  2223. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/cgi.rb +0 -313
  2224. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/compat.rb +0 -36
  2225. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/config.rb +0 -158
  2226. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/cookie.rb +0 -172
  2227. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/htmlutils.rb +0 -30
  2228. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/authenticator.rb +0 -117
  2229. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/basicauth.rb +0 -116
  2230. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/digestauth.rb +0 -395
  2231. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/htdigest.rb +0 -132
  2232. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/htgroup.rb +0 -97
  2233. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/htpasswd.rb +0 -158
  2234. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth/userdb.rb +0 -53
  2235. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpauth.rb +0 -96
  2236. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpproxy.rb +0 -354
  2237. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httprequest.rb +0 -640
  2238. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpresponse.rb +0 -588
  2239. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/https.rb +0 -152
  2240. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpserver.rb +0 -294
  2241. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/abstract.rb +0 -152
  2242. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/cgi_runner.rb +0 -47
  2243. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/cgihandler.rb +0 -126
  2244. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/erbhandler.rb +0 -88
  2245. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/filehandler.rb +0 -552
  2246. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet/prochandler.rb +0 -48
  2247. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpservlet.rb +0 -23
  2248. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpstatus.rb +0 -194
  2249. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httputils.rb +0 -523
  2250. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/httpversion.rb +0 -76
  2251. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/log.rb +0 -156
  2252. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/server.rb +0 -381
  2253. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/ssl.rb +0 -219
  2254. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/utils.rb +0 -265
  2255. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick/version.rb +0 -18
  2256. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/lib/webrick.rb +0 -232
  2257. data/vendor/bundle/ruby/3.3.0/gems/webrick-1.8.1/webrick.gemspec +0 -70
  2258. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/CHANGES +0 -71
  2259. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/MANIFEST +0 -9
  2260. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/README +0 -51
  2261. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/Rakefile +0 -28
  2262. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/certs/djberg96_pub.pem +0 -21
  2263. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/lib/win32/event.rb +0 -189
  2264. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/lib/win32-event.rb +0 -1
  2265. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/test/test_win32_event.rb +0 -200
  2266. data/vendor/bundle/ruby/3.3.0/gems/win32-event-0.6.3/win32-event.gemspec +0 -27
  2267. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/CHANGES +0 -96
  2268. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/MANIFEST +0 -8
  2269. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/README +0 -32
  2270. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/Rakefile +0 -28
  2271. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/certs/djberg96_pub.pem +0 -21
  2272. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/lib/win32/ipc.rb +0 -185
  2273. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/lib/win32-ipc.rb +0 -1
  2274. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/test/test_win32_ipc.rb +0 -88
  2275. data/vendor/bundle/ruby/3.3.0/gems/win32-ipc-0.7.0/win32-ipc.gemspec +0 -25
  2276. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/daemon.rb +0 -366
  2277. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/service.rb +0 -1666
  2278. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/windows/constants.rb +0 -143
  2279. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/windows/functions.rb +0 -75
  2280. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/windows/structs.rb +0 -121
  2281. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32/windows/version.rb +0 -6
  2282. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32-daemon.rb +0 -1
  2283. data/vendor/bundle/ruby/3.3.0/gems/win32-service-2.3.2/lib/win32-service.rb +0 -1
  2284. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/.codeclimate.yml +0 -40
  2285. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/.github/workflows/ci.yml +0 -26
  2286. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/.gitignore +0 -13
  2287. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/.rspec +0 -2
  2288. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/CHANGELOG.md +0 -332
  2289. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/Gemfile +0 -3
  2290. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/LICENSE +0 -21
  2291. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/README.md +0 -367
  2292. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/Rakefile +0 -2
  2293. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/encode.rb +0 -72
  2294. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/encode_json_and_marshal.rb +0 -42
  2295. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/encode_json_and_yaml.rb +0 -53
  2296. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/http.rb +0 -32
  2297. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/parse.rb +0 -94
  2298. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/parse_json_and_marshal.rb +0 -50
  2299. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/parse_json_and_yaml.rb +0 -55
  2300. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/parse_stream.rb +0 -54
  2301. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/item.json +0 -1
  2302. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/ohai.json +0 -1216
  2303. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/ohai.marshal_dump +0 -0
  2304. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/ohai.yml +0 -975
  2305. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/twitter_search.json +0 -1
  2306. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/twitter_stream.json +0 -430
  2307. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/benchmark/subjects/unicode.json +0 -1
  2308. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/encoding/chunked_encoding.rb +0 -27
  2309. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/encoding/one_shot.rb +0 -13
  2310. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/encoding/to_an_io.rb +0 -12
  2311. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/http/twitter_search_api.rb +0 -12
  2312. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/http/twitter_stream_api.rb +0 -26
  2313. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/parsing/from_file.rb +0 -14
  2314. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/parsing/from_stdin.rb +0 -9
  2315. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/examples/parsing/from_string.rb +0 -13
  2316. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/api/yajl_common.h +0 -95
  2317. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/api/yajl_gen.h +0 -166
  2318. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/api/yajl_parse.h +0 -198
  2319. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/api/yajl_version.h +0 -23
  2320. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/extconf.rb +0 -12
  2321. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl.c +0 -180
  2322. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_alloc.c +0 -65
  2323. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_alloc.h +0 -51
  2324. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_buf.c +0 -200
  2325. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_buf.h +0 -89
  2326. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_bytestack.h +0 -102
  2327. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_encode.c +0 -237
  2328. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_encode.h +0 -55
  2329. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_ext.c +0 -1424
  2330. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_ext.h +0 -135
  2331. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_gen.c +0 -378
  2332. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_lex.c +0 -758
  2333. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_lex.h +0 -148
  2334. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_parser.c +0 -464
  2335. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_parser.h +0 -84
  2336. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/ext/yajl/yajl_version.c +0 -7
  2337. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/bzip2/stream_reader.rb +0 -31
  2338. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/bzip2/stream_writer.rb +0 -14
  2339. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/bzip2.rb +0 -11
  2340. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/deflate/stream_reader.rb +0 -43
  2341. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/deflate/stream_writer.rb +0 -20
  2342. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/deflate.rb +0 -6
  2343. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/gzip/stream_reader.rb +0 -30
  2344. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/gzip/stream_writer.rb +0 -13
  2345. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/gzip.rb +0 -6
  2346. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/http_stream.rb +0 -213
  2347. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/json_gem/encoding.rb +0 -50
  2348. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/json_gem/parsing.rb +0 -26
  2349. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/json_gem.rb +0 -13
  2350. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl/version.rb +0 -3
  2351. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/lib/yajl.rb +0 -83
  2352. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/script/bootstrap +0 -5
  2353. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/encoding/encoding_spec.rb +0 -341
  2354. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/global/global_spec.rb +0 -54
  2355. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.bzip2.dump +0 -0
  2356. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.chunked.dump +0 -11
  2357. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.deflate.dump +0 -0
  2358. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.error.dump +0 -12
  2359. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.gzip.dump +0 -0
  2360. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.html.dump +0 -1220
  2361. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/fixtures/http.raw.dump +0 -1226
  2362. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_delete_spec.rb +0 -98
  2363. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_error_spec.rb +0 -31
  2364. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_get_spec.rb +0 -109
  2365. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_post_spec.rb +0 -123
  2366. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_put_spec.rb +0 -105
  2367. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/http/http_stream_options_spec.rb +0 -27
  2368. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/json_gem_compatibility/compatibility_spec.rb +0 -207
  2369. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/active_support_spec.rb +0 -64
  2370. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/chunked_spec.rb +0 -96
  2371. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail.15.json +0 -1
  2372. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail.16.json +0 -1
  2373. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail.17.json +0 -1
  2374. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail.26.json +0 -1
  2375. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail11.json +0 -1
  2376. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail12.json +0 -1
  2377. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail13.json +0 -1
  2378. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail14.json +0 -1
  2379. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail19.json +0 -1
  2380. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail20.json +0 -1
  2381. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail21.json +0 -1
  2382. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail22.json +0 -1
  2383. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail23.json +0 -1
  2384. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail24.json +0 -1
  2385. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail25.json +0 -1
  2386. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail27.json +0 -2
  2387. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail28.json +0 -2
  2388. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail3.json +0 -1
  2389. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail4.json +0 -1
  2390. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail5.json +0 -1
  2391. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail6.json +0 -1
  2392. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/fail9.json +0 -1
  2393. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.array.json +0 -6
  2394. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.codepoints_from_unicode_org.json +0 -1
  2395. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.contacts.json +0 -1
  2396. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.db100.xml.json +0 -1
  2397. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.db1000.xml.json +0 -1
  2398. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.dc_simple_with_comments.json +0 -11
  2399. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.deep_arrays.json +0 -1
  2400. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.difficult_json_c_test_case.json +0 -1
  2401. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.difficult_json_c_test_case_with_comments.json +0 -1
  2402. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.doubles.json +0 -1
  2403. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.empty_array.json +0 -1
  2404. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.empty_string.json +0 -1
  2405. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.escaped_bulgarian.json +0 -4
  2406. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.escaped_foobar.json +0 -1
  2407. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.item.json +0 -1
  2408. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample1.json +0 -23
  2409. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample2.json +0 -11
  2410. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample3.json +0 -26
  2411. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample4-nows.json +0 -88
  2412. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample4.json +0 -89
  2413. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.json-org-sample5.json +0 -27
  2414. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.map-spain.xml.json +0 -1
  2415. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.ns-invoice100.xml.json +0 -1
  2416. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.ns-soap.xml.json +0 -1
  2417. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.numbers-fp-4k.json +0 -6
  2418. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.numbers-fp-64k.json +0 -61
  2419. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.numbers-int-4k.json +0 -11
  2420. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.numbers-int-64k.json +0 -154
  2421. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.twitter-search.json +0 -1
  2422. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.twitter-search2.json +0 -1
  2423. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.unicode.json +0 -3315
  2424. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass.yelp.json +0 -1
  2425. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass1.json +0 -56
  2426. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass2.json +0 -1
  2427. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures/pass3.json +0 -6
  2428. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/fixtures_spec.rb +0 -40
  2429. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/large_number_spec.rb +0 -60
  2430. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/parsing/one_off_spec.rb +0 -97
  2431. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/projection/project_file.rb +0 -41
  2432. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/projection/projection.rb +0 -498
  2433. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/rcov.opts +0 -3
  2434. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/spec/spec_helper.rb +0 -13
  2435. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/tasks/compile.rake +0 -35
  2436. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/tasks/rspec.rake +0 -16
  2437. data/vendor/bundle/ruby/3.3.0/gems/yajl-ruby-1.4.3/yajl-ruby.gemspec +0 -23
  2438. data/vendor/bundle/ruby/3.3.0/specifications/base64-0.2.0.gemspec +0 -23
  2439. data/vendor/bundle/ruby/3.3.0/specifications/certstore_c-0.1.7.gemspec +0 -34
  2440. data/vendor/bundle/ruby/3.3.0/specifications/concurrent-ruby-1.3.3.gemspec +0 -24
  2441. data/vendor/bundle/ruby/3.3.0/specifications/cool.io-1.8.1.gemspec +0 -0
  2442. data/vendor/bundle/ruby/3.3.0/specifications/csv-3.3.0.gemspec +0 -31
  2443. data/vendor/bundle/ruby/3.3.0/specifications/drb-2.2.1.gemspec +0 -22
  2444. data/vendor/bundle/ruby/3.3.0/specifications/ffi-1.17.0-x64-mingw-ucrt.gemspec +0 -31
  2445. data/vendor/bundle/ruby/3.3.0/specifications/ffi-win32-extensions-1.0.4.gemspec +0 -24
  2446. data/vendor/bundle/ruby/3.3.0/specifications/fluentd-1.17.0-x64-mingw-ucrt.gemspec +0 -59
  2447. data/vendor/bundle/ruby/3.3.0/specifications/http_parser.rb-0.8.0.gemspec +0 -32
  2448. data/vendor/bundle/ruby/3.3.0/specifications/json-2.7.2.gemspec +0 -0
  2449. data/vendor/bundle/ruby/3.3.0/specifications/minitar-0.9.gemspec +0 -38
  2450. data/vendor/bundle/ruby/3.3.0/specifications/msgpack-1.7.2.gemspec +0 -35
  2451. data/vendor/bundle/ruby/3.3.0/specifications/power_assert-2.0.3.gemspec +0 -34
  2452. data/vendor/bundle/ruby/3.3.0/specifications/rake-13.2.1.gemspec +0 -26
  2453. data/vendor/bundle/ruby/3.3.0/specifications/serverengine-2.3.2.gemspec +0 -31
  2454. data/vendor/bundle/ruby/3.3.0/specifications/sigdump-0.2.5.gemspec +0 -24
  2455. data/vendor/bundle/ruby/3.3.0/specifications/strptime-0.2.5.gemspec +0 -34
  2456. data/vendor/bundle/ruby/3.3.0/specifications/test-unit-3.6.2.gemspec +0 -30
  2457. data/vendor/bundle/ruby/3.3.0/specifications/thermite-0.13.0.gemspec +0 -31
  2458. data/vendor/bundle/ruby/3.3.0/specifications/tomlrb-1.3.0.gemspec +0 -21
  2459. data/vendor/bundle/ruby/3.3.0/specifications/tzinfo-2.0.6.gemspec +0 -30
  2460. data/vendor/bundle/ruby/3.3.0/specifications/tzinfo-data-1.2024.1.gemspec +0 -29
  2461. data/vendor/bundle/ruby/3.3.0/specifications/webrick-1.8.1.gemspec +0 -22
  2462. data/vendor/bundle/ruby/3.3.0/specifications/win32-event-0.6.3.gemspec +0 -29
  2463. data/vendor/bundle/ruby/3.3.0/specifications/win32-ipc-0.7.0.gemspec +0 -28
  2464. data/vendor/bundle/ruby/3.3.0/specifications/win32-service-2.3.2.gemspec +0 -31
  2465. data/vendor/bundle/ruby/3.3.0/specifications/yajl-ruby-1.4.3.gemspec +0 -31
@@ -1,3429 +0,0 @@
1
- require_relative '../helper'
2
- require 'fluent/test/driver/input'
3
- require 'fluent/plugin/in_tail'
4
- require 'fluent/plugin/buffer'
5
- require 'fluent/system_config'
6
- require 'fluent/file_wrapper'
7
- require 'net/http'
8
- require 'flexmock/test_unit'
9
- require 'timecop'
10
- require 'tmpdir'
11
- require 'securerandom'
12
-
13
- class TailInputTest < Test::Unit::TestCase
14
- include FlexMock::TestCase
15
-
16
- def tmp_dir
17
- File.join(File.dirname(__FILE__), "..", "tmp", "tail#{ENV['TEST_ENV_NUMBER']}", SecureRandom.hex(10))
18
- end
19
-
20
- def setup
21
- Fluent::Test.setup
22
- @tmp_dir = tmp_dir
23
- cleanup_directory(@tmp_dir)
24
- end
25
-
26
- def teardown
27
- super
28
- cleanup_directory(@tmp_dir)
29
- Fluent::Engine.stop
30
- Timecop.return
31
- end
32
-
33
- def cleanup_directory(path)
34
- unless Dir.exist?(path)
35
- FileUtils.mkdir_p(path)
36
- return
37
- end
38
-
39
- FileUtils.remove_entry_secure(path, true)
40
- end
41
-
42
- def cleanup_file(path)
43
- FileUtils.remove_entry_secure(path, true)
44
- end
45
-
46
- def create_target_info(path)
47
- Fluent::Plugin::TailInput::TargetInfo.new(path, Fluent::FileWrapper.stat(path).ino)
48
- end
49
-
50
- ROOT_CONFIG = config_element("ROOT", "", {
51
- "tag" => "t1",
52
- "rotate_wait" => "2s",
53
- "refresh_interval" => "1s"
54
- })
55
-
56
- def base_config
57
- ROOT_CONFIG + config_element("", "", { "path" => "#{@tmp_dir}/tail.txt" })
58
- end
59
-
60
- def common_config
61
- base_config + config_element("", "", { "pos_file" => "#{@tmp_dir}/tail.pos" })
62
- end
63
-
64
- def common_follow_inode_config
65
- config_element("ROOT", "", {
66
- "path" => "#{@tmp_dir}/tail.txt*",
67
- "pos_file" => "#{@tmp_dir}/tail.pos",
68
- "tag" => "t1",
69
- "refresh_interval" => "1s",
70
- "read_from_head" => "true",
71
- "format" => "none",
72
- "rotate_wait" => "1s",
73
- "follow_inodes" => "true"
74
- })
75
- end
76
-
77
- CONFIG_READ_FROM_HEAD = config_element("", "", { "read_from_head" => true })
78
- CONFIG_DISABLE_WATCH_TIMER = config_element("", "", { "enable_watch_timer" => false })
79
- CONFIG_DISABLE_STAT_WATCHER = config_element("", "", { "enable_stat_watcher" => false })
80
- CONFIG_OPEN_ON_EVERY_UPDATE = config_element("", "", { "open_on_every_update" => true })
81
- SINGLE_LINE_CONFIG = config_element("", "", { "format" => "/(?<message>.*)/" })
82
- PARSE_SINGLE_LINE_CONFIG = config_element("", "", {}, [config_element("parse", "", { "@type" => "/(?<message>.*)/" })])
83
- MULTILINE_CONFIG = config_element(
84
- "", "", {
85
- "format" => "multiline",
86
- "format1" => "/^s (?<message1>[^\\n]+)(\\nf (?<message2>[^\\n]+))?(\\nf (?<message3>.*))?/",
87
- "format_firstline" => "/^[s]/"
88
- })
89
- PARSE_MULTILINE_CONFIG = config_element(
90
- "", "", {},
91
- [config_element("parse", "", {
92
- "@type" => "multiline",
93
- "format1" => "/^s (?<message1>[^\\n]+)(\\nf (?<message2>[^\\n]+))?(\\nf (?<message3>.*))?/",
94
- "format_firstline" => "/^[s]/"
95
- })
96
- ])
97
-
98
- MULTILINE_CONFIG_WITH_NEWLINE = config_element(
99
- "", "", {
100
- "format" => "multiline",
101
- "format1" => "/^s (?<message1>[^\\n]+)(\\nf (?<message2>[^\\n]+))?(\\nf (?<message3>.[^\\n]+))?/",
102
- "format_firstline" => "/^[s]/"
103
- })
104
- PARSE_MULTILINE_CONFIG_WITH_NEWLINE = config_element(
105
- "", "", {},
106
- [config_element("parse", "", {
107
- "@type" => "multiline",
108
- "format1" => "/^s (?<message1>[^\\n]+)(\\nf (?<message2>[^\\n]+))?(\\nf (?<message3>.[^\\n]+))?/",
109
- "format_firstline" => "/^[s]/"
110
- })
111
- ])
112
-
113
- EX_ROTATE_WAIT = 0
114
- EX_FOLLOW_INODES = false
115
-
116
- def ex_config
117
- config_element("", "", {
118
- "tag" => "tail",
119
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
120
- "format" => "none",
121
- "pos_file" => "#{@tmp_dir}/tail.pos",
122
- "read_from_head" => true,
123
- "refresh_interval" => 30,
124
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
125
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
126
- })
127
- end
128
-
129
- def tailing_group_pattern
130
- "/#{@tmp_dir}\/(?<podname>[a-z0-9]([-a-z0-9]*[a-z0-9])?(\/[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?<namespace>[^_]+)_(?<container>.+)-(?<docker_id>[a-z0-9]{6})\.log$/"
131
- end
132
-
133
- DEBUG_LOG_LEVEL = config_element("", "", {
134
- "@log_level" => "debug"
135
- })
136
-
137
- def create_group_directive(pattern, rate_period, *rules)
138
- config_element("", "", {}, [
139
- config_element("group", "", {
140
- "pattern" => pattern,
141
- "rate_period" => rate_period
142
- }, rules)
143
- ])
144
- end
145
-
146
- def create_rule_directive(match_named_captures, limit)
147
- params = {
148
- "limit" => limit,
149
- "match" => match_named_captures,
150
- }
151
-
152
- config_element("rule", "", params)
153
- end
154
-
155
- def create_path_element(path)
156
- config_element("source", "", { "path" => "#{@tmp_dir}/#{path}" })
157
- end
158
-
159
- def create_driver(conf = SINGLE_LINE_CONFIG, use_common_conf = true)
160
- config = use_common_conf ? common_config + conf : conf
161
- Fluent::Test::Driver::Input.new(Fluent::Plugin::TailInput).configure(config)
162
- end
163
-
164
- sub_test_case "configure" do
165
- test "plain single line" do
166
- d = create_driver
167
- assert_equal(["#{@tmp_dir}/tail.txt"], d.instance.paths)
168
- assert_equal("t1", d.instance.tag)
169
- assert_equal(2, d.instance.rotate_wait)
170
- assert_equal("#{@tmp_dir}/tail.pos", d.instance.pos_file)
171
- assert_equal(1000, d.instance.read_lines_limit)
172
- assert_equal(-1, d.instance.read_bytes_limit_per_second)
173
- assert_equal(false, d.instance.ignore_repeated_permission_error)
174
- assert_nothing_raised do
175
- d.instance.have_read_capability?
176
- end
177
- end
178
-
179
- data("empty" => config_element,
180
- "w/o @type" => config_element("", "", {}, [config_element("parse", "", {})]))
181
- test "w/o parse section" do |conf|
182
- assert_raise(Fluent::ConfigError) do
183
- create_driver(conf)
184
- end
185
- end
186
-
187
- test "multi paths with path_delimiter" do
188
- c = config_element("ROOT", "", { "path" => "tail.txt|test2|tmp,dev", "tag" => "t1", "path_delimiter" => "|" })
189
- d = create_driver(c + PARSE_SINGLE_LINE_CONFIG, false)
190
- assert_equal(["tail.txt", "test2", "tmp,dev"], d.instance.paths)
191
- end
192
-
193
- test "multi paths with same path configured twice" do
194
- c = config_element("ROOT", "", { "path" => "test1.txt,test2.txt,test1.txt", "tag" => "t1", "path_delimiter" => "," })
195
- d = create_driver(c + PARSE_SINGLE_LINE_CONFIG, false)
196
- assert_equal(["test2.txt","test1.txt"].sort, d.instance.paths.sort)
197
- end
198
-
199
- test "multi paths with invaid path_delimiter" do
200
- c = config_element("ROOT", "", { "path" => "tail.txt|test2|tmp,dev", "tag" => "t1", "path_delimiter" => "*" })
201
- assert_raise(Fluent::ConfigError) do
202
- create_driver(c + PARSE_SINGLE_LINE_CONFIG, false)
203
- end
204
- end
205
-
206
- test "follow_inodes w/o pos file" do
207
- assert_raise(Fluent::ConfigError) do
208
- create_driver(base_config + config_element('', '', {'follow_inodes' => 'true'}))
209
- end
210
- end
211
-
212
- sub_test_case "log throttling per file" do
213
- test "w/o watcher timer is invalid" do
214
- conf = CONFIG_DISABLE_WATCH_TIMER + config_element("ROOT", "", {"read_bytes_limit_per_second" => "8k"})
215
- assert_raise(Fluent::ConfigError) do
216
- create_driver(conf)
217
- end
218
- end
219
-
220
- test "valid" do
221
- conf = config_element("ROOT", "", {"read_bytes_limit_per_second" => "8k"})
222
- assert_raise(Fluent::ConfigError) do
223
- create_driver(conf)
224
- end
225
- end
226
- end
227
-
228
- test "both enable_watch_timer and enable_stat_watcher are false" do
229
- assert_raise(Fluent::ConfigError) do
230
- create_driver(CONFIG_DISABLE_WATCH_TIMER + CONFIG_DISABLE_STAT_WATCHER + PARSE_SINGLE_LINE_CONFIG)
231
- end
232
- end
233
-
234
- sub_test_case "encoding" do
235
- test "valid" do
236
- conf = SINGLE_LINE_CONFIG + config_element("", "", { "encoding" => "utf-8" })
237
- d = create_driver(conf)
238
- assert_equal(Encoding::UTF_8, d.instance.encoding)
239
- end
240
-
241
- test "invalid" do
242
- conf = SINGLE_LINE_CONFIG + config_element("", "", { "encoding" => "no-such-encoding" })
243
- assert_raise(Fluent::ConfigError) do
244
- create_driver(conf)
245
- end
246
- end
247
- end
248
-
249
- sub_test_case "from_encoding" do
250
- test "only specified from_encoding raise ConfigError" do
251
- conf = SINGLE_LINE_CONFIG + config_element("", "", { "from_encoding" => "utf-8" })
252
- assert_raise(Fluent::ConfigError) do
253
- create_driver(conf)
254
- end
255
- end
256
-
257
- test "valid" do
258
- conf = SINGLE_LINE_CONFIG + config_element("", "", {
259
- "from_encoding" => "utf-8",
260
- "encoding" => "utf-8"
261
- })
262
- d = create_driver(conf)
263
- assert_equal(Encoding::UTF_8, d.instance.from_encoding)
264
- end
265
-
266
- test "invalid" do
267
- conf = SINGLE_LINE_CONFIG + config_element("", "", {
268
- "from_encoding" => "no-such-encoding",
269
- "encoding" => "utf-8"
270
- })
271
- assert_raise(Fluent::ConfigError) do
272
- create_driver(conf)
273
- end
274
- end
275
- end
276
- end
277
-
278
- sub_test_case "configure group" do
279
- test "<rule> required" do
280
- conf = create_group_directive('.', '1m') + SINGLE_LINE_CONFIG
281
- assert_raise(Fluent::ConfigError) do
282
- create_driver(conf)
283
- end
284
- end
285
-
286
- test "valid configuration" do
287
- rule1 = create_rule_directive({
288
- "namespace"=> "/namespace-a/",
289
- "podname"=> "/podname-[b|c]/"
290
- }, 100)
291
- rule2 = create_rule_directive({
292
- "namespace"=> "/namespace-[d|e]/",
293
- "podname"=> "/podname-f/",
294
- }, 50)
295
- rule3 = create_rule_directive({
296
- "podname"=> "/podname-g/",
297
- }, -1)
298
- rule4 = create_rule_directive({
299
- "namespace"=> "/namespace-h/",
300
- }, 0)
301
-
302
- conf = create_group_directive(tailing_group_pattern, '1m', rule1, rule2, rule3, rule4) + SINGLE_LINE_CONFIG
303
- assert_nothing_raised do
304
- create_driver(conf)
305
- end
306
- end
307
-
308
- test "limit should be greater than DEFAULT_LIMIT (-1)" do
309
- rule1 = create_rule_directive({
310
- "namespace"=> "/namespace-a/",
311
- "podname"=> "/podname-[b|c]/",
312
- }, -100)
313
- rule2 = create_rule_directive({
314
- "namespace"=> "/namespace-[d|e]/",
315
- "podname"=> "/podname-f/",
316
- }, 50)
317
- conf = create_group_directive(tailing_group_pattern, '1m', rule1, rule2) + SINGLE_LINE_CONFIG
318
- assert_raise(RuntimeError) do
319
- create_driver(conf)
320
- end
321
- end
322
- end
323
-
324
- sub_test_case "group rules line limit resolution" do
325
- test "valid" do
326
- rule1 = create_rule_directive({
327
- "namespace"=> "/namespace-a/",
328
- "podname"=> "/podname-[b|c]/",
329
- }, 50)
330
- rule2 = create_rule_directive({
331
- "podname"=> "/podname-[b|c]/",
332
- }, 400)
333
- rule3 = create_rule_directive({
334
- "namespace"=> "/namespace-a/",
335
- }, 100)
336
-
337
- conf = create_group_directive(tailing_group_pattern, '1m', rule3, rule1, rule2) + SINGLE_LINE_CONFIG
338
- assert_nothing_raised do
339
- d = create_driver(conf)
340
- instance = d.instance
341
-
342
- metadata = {
343
- "namespace"=> "namespace-a",
344
- "podname"=> "podname-b",
345
- }
346
- assert_equal(50, instance.find_group(metadata).limit)
347
-
348
- metadata = {
349
- "namespace" => "namespace-a",
350
- "podname" => "podname-c",
351
- }
352
- assert_equal(50, instance.find_group(metadata).limit)
353
-
354
- metadata = {
355
- "namespace" => "namespace-a",
356
- "podname" => "podname-d",
357
- }
358
- assert_equal(100, instance.find_group(metadata).limit)
359
-
360
- metadata = {
361
- "namespace" => "namespace-f",
362
- "podname" => "podname-b",
363
- }
364
- assert_equal(400, instance.find_group(metadata).limit)
365
-
366
- metadata = {
367
- "podname" => "podname-c",
368
- }
369
- assert_equal(400, instance.find_group(metadata).limit)
370
-
371
- assert_equal(-1, instance.find_group({}).limit)
372
- end
373
- end
374
- end
375
-
376
- sub_test_case "files should be placed in groups" do
377
- test "invalid regex pattern places files in default group" do
378
- rule1 = create_rule_directive({}, 100) ## limits default groups
379
- conf = ROOT_CONFIG + DEBUG_LOG_LEVEL + create_group_directive(tailing_group_pattern, '1m', rule1) + create_path_element("test*.txt") + SINGLE_LINE_CONFIG
380
-
381
- d = create_driver(conf, false)
382
- Fluent::FileWrapper.open("#{@tmp_dir}/test1.txt", 'w')
383
- Fluent::FileWrapper.open("#{@tmp_dir}/test2.txt", 'w')
384
- Fluent::FileWrapper.open("#{@tmp_dir}/test3.txt", 'w')
385
-
386
- d.run do
387
- ## checking default group_watcher's paths
388
- instance = d.instance
389
- key = instance.default_group_key
390
-
391
- assert_equal(3, instance.log.logs.count{|a| a.match?("Cannot find group from metadata, Adding file in the default group\n")})
392
- assert_equal(3, instance.group_watchers[key].size)
393
- assert_true(instance.group_watchers[key].include? File.join(@tmp_dir, 'test1.txt'))
394
- assert_true(instance.group_watchers[key].include? File.join(@tmp_dir, 'test2.txt'))
395
- assert_true(instance.group_watchers[key].include? File.join(@tmp_dir, 'test3.txt'))
396
- end
397
- end
398
-
399
- test "valid regex pattern places file in their respective groups" do
400
- rule1 = create_rule_directive({
401
- "namespace"=> "/test-namespace1/",
402
- "podname"=> "/test-podname1/",
403
- }, 100)
404
- rule2 = create_rule_directive({
405
- "namespace"=> "/test-namespace1/",
406
- }, 200)
407
- rule3 = create_rule_directive({
408
- "podname"=> "/test-podname2/",
409
- }, 300)
410
- rule4 = create_rule_directive({}, 400)
411
-
412
- path_element = create_path_element("test-podname*.log")
413
-
414
- conf = ROOT_CONFIG + create_group_directive(tailing_group_pattern, '1m', rule4, rule3, rule2, rule1) + path_element + SINGLE_LINE_CONFIG
415
- d = create_driver(conf, false)
416
-
417
- file1 = File.join(@tmp_dir, "test-podname1_test-namespace1_test-container-15fabq.log")
418
- file2 = File.join(@tmp_dir, "test-podname3_test-namespace1_test-container-15fabq.log")
419
- file3 = File.join(@tmp_dir, "test-podname2_test-namespace2_test-container-15fabq.log")
420
- file4 = File.join(@tmp_dir, "test-podname4_test-namespace3_test-container-15fabq.log")
421
-
422
- d.run do
423
- Fluent::FileWrapper.open(file1, 'w')
424
- Fluent::FileWrapper.open(file2, 'w')
425
- Fluent::FileWrapper.open(file3, 'w')
426
- Fluent::FileWrapper.open(file4, 'w')
427
-
428
- instance = d.instance
429
- assert_equal(100, instance.find_group_from_metadata(file1).limit)
430
- assert_equal(200, instance.find_group_from_metadata(file2).limit)
431
- assert_equal(300, instance.find_group_from_metadata(file3).limit)
432
- assert_equal(400, instance.find_group_from_metadata(file4).limit)
433
- end
434
- end
435
- end
436
-
437
- sub_test_case "singleline" do
438
- data(flat: SINGLE_LINE_CONFIG,
439
- parse: PARSE_SINGLE_LINE_CONFIG)
440
- def test_emit(data)
441
- config = data
442
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
443
- f.puts "test1"
444
- f.puts "test2"
445
- }
446
-
447
- d = create_driver(config)
448
-
449
- d.run(expect_emits: 1) do
450
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
451
- f.puts "test3\ntest4"
452
- }
453
- end
454
-
455
- events = d.events
456
- assert_equal(true, events.length > 0)
457
- assert_equal({"message" => "test3"}, events[0][2])
458
- assert_equal({"message" => "test4"}, events[1][2])
459
- assert(events[0][1].is_a?(Fluent::EventTime))
460
- assert(events[1][1].is_a?(Fluent::EventTime))
461
- assert_equal(1, d.emit_count)
462
- end
463
-
464
- def test_emit_with_emit_unmatched_lines_true
465
- config = config_element("", "", { "format" => "/^(?<message>test.*)/", "emit_unmatched_lines" => true })
466
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
467
-
468
- d = create_driver(config)
469
- d.run(expect_emits: 1) do
470
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
471
- f.puts "test line 1"
472
- f.puts "test line 2"
473
- f.puts "bad line 1"
474
- f.puts "test line 3"
475
- }
476
- end
477
-
478
- events = d.events
479
- assert_equal(4, events.length)
480
- assert_equal({"message" => "test line 1"}, events[0][2])
481
- assert_equal({"message" => "test line 2"}, events[1][2])
482
- assert_equal({"unmatched_line" => "bad line 1"}, events[2][2])
483
- assert_equal({"message" => "test line 3"}, events[3][2])
484
- end
485
-
486
- data('flat 1' => [:flat, 1, 2],
487
- 'flat 10' => [:flat, 10, 1],
488
- 'parse 1' => [:parse, 1, 2],
489
- 'parse 10' => [:parse, 10, 1])
490
- def test_emit_with_read_lines_limit(data)
491
- config_style, limit, num_events = data
492
- case config_style
493
- when :flat
494
- config = CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG + config_element("", "", { "read_lines_limit" => limit })
495
- when :parse
496
- config = CONFIG_READ_FROM_HEAD + config_element("", "", { "read_lines_limit" => limit }) + PARSE_SINGLE_LINE_CONFIG
497
- end
498
- d = create_driver(config)
499
- msg = 'test' * 2000 # in_tail reads 8192 bytes at once.
500
-
501
- d.run(expect_emits: num_events, timeout: 2) do
502
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
503
- f.puts msg
504
- f.puts msg
505
- }
506
- end
507
-
508
- events = d.events
509
- assert_equal(true, events.length > 0)
510
- assert_equal({"message" => msg}, events[0][2])
511
- assert_equal({"message" => msg}, events[1][2])
512
- assert num_events <= d.emit_count
513
- end
514
-
515
- sub_test_case "log throttling per file" do
516
- teardown do
517
- cleanup_file("#{@tmp_dir}/tail.txt")
518
- end
519
-
520
- sub_test_case "reads_bytes_per_second w/o throttled" do
521
- data("flat 8192 bytes, 2 events" => [:flat, 100, 8192, 2],
522
- "flat 8192 bytes, 2 events w/o stat watcher" => [:flat_without_stat, 100, 8192, 2],
523
- "flat #{8192*10} bytes, 20 events" => [:flat, 100, (8192 * 10), 20],
524
- "flat #{8192*10} bytes, 20 events w/o stat watcher" => [:flat_without_stat, 100, (8192 * 10), 20],
525
- "parse #{8192*4} bytes, 8 events" => [:parse, 100, (8192 * 4), 8],
526
- "parse #{8192*4} bytes, 8 events w/o stat watcher" => [:parse_without_stat, 100, (8192 * 4), 8],
527
- "parse #{8192*10} bytes, 20 events" => [:parse, 100, (8192 * 10), 20],
528
- "parse #{8192*10} bytes, 20 events w/o stat watcher" => [:parse_without_stat, 100, (8192 * 10), 20],
529
- "flat 8k bytes with unit, 2 events" => [:flat, 100, "8k", 2])
530
- def test_emit_with_read_bytes_limit_per_second(data)
531
- config_style, limit, limit_bytes, num_events = data
532
- case config_style
533
- when :flat
534
- config = CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes })
535
- when :parse
536
- config = CONFIG_READ_FROM_HEAD + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes }) + PARSE_SINGLE_LINE_CONFIG
537
- when :flat_without_stat
538
- config = CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG + CONFIG_DISABLE_STAT_WATCHER + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes })
539
- when :parse_without_stat
540
- config = CONFIG_READ_FROM_HEAD + CONFIG_DISABLE_STAT_WATCHER + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes }) + PARSE_SINGLE_LINE_CONFIG
541
- end
542
-
543
- msg = 'test' * 2000 # in_tail reads 8192 bytes at once.
544
- start_time = Fluent::Clock.now
545
-
546
- d = create_driver(config)
547
- d.run(expect_emits: 2) do
548
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
549
- 100.times do
550
- f.puts msg
551
- end
552
- }
553
- end
554
-
555
- assert_true(Fluent::Clock.now - start_time > 1)
556
- assert_equal(num_events.times.map { {"message" => msg} },
557
- d.events.collect { |event| event[2] })
558
- end
559
-
560
- def test_read_bytes_limit_precede_read_lines_limit
561
- config = CONFIG_READ_FROM_HEAD +
562
- SINGLE_LINE_CONFIG +
563
- config_element("", "", {
564
- "read_lines_limit" => 1000,
565
- "read_bytes_limit_per_second" => 8192
566
- })
567
- msg = 'abc'
568
- start_time = Fluent::Clock.now
569
- d = create_driver(config)
570
- d.run(expect_emits: 2) do
571
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
572
- 8000.times do
573
- f.puts msg
574
- end
575
- }
576
- end
577
-
578
- assert_true(Fluent::Clock.now - start_time > 1)
579
- assert_equal(4096.times.map { {"message" => msg} },
580
- d.events.collect { |event| event[2] })
581
- end
582
- end
583
-
584
- sub_test_case "reads_bytes_per_second w/ throttled already" do
585
- data("flat 8192 bytes" => [:flat, 100, 8192],
586
- "parse 8192 bytes" => [:parse, 100, 8192])
587
- def test_emit_with_read_bytes_limit_per_second(data)
588
- config_style, limit, limit_bytes = data
589
- case config_style
590
- when :flat
591
- config = CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes })
592
- when :parse
593
- config = CONFIG_READ_FROM_HEAD + config_element("", "", { "read_lines_limit" => limit, "read_bytes_limit_per_second" => limit_bytes }) + PARSE_SINGLE_LINE_CONFIG
594
- end
595
- d = create_driver(config)
596
- msg = 'test' * 2000 # in_tail reads 8192 bytes at once.
597
-
598
- mock.proxy(d.instance).io_handler(anything, anything) do |io_handler|
599
- require 'fluent/config/types'
600
- limit_bytes_value = Fluent::Config.size_value(limit_bytes)
601
- io_handler.instance_variable_set(:@number_bytes_read, limit_bytes_value)
602
- if Fluent.linux?
603
- mock.proxy(io_handler).handle_notify.at_least(5)
604
- else
605
- mock.proxy(io_handler).handle_notify.twice
606
- end
607
- io_handler
608
- end
609
-
610
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") do |f|
611
- 100.times do
612
- f.puts msg
613
- end
614
- end
615
-
616
- # We should not do shutdown here due to hard timeout.
617
- d.run do
618
- start_time = Fluent::Clock.now
619
- while Fluent::Clock.now - start_time < 0.8 do
620
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") do |f|
621
- f.puts msg
622
- f.flush
623
- end
624
- sleep 0.05
625
- end
626
- end
627
-
628
- assert_equal([], d.events)
629
- end
630
- end
631
-
632
- sub_test_case "EOF with reads_bytes_per_second" do
633
- def test_longer_than_rotate_wait
634
- limit_bytes = 8192
635
- num_lines = 1024 * 3
636
- msg = "08bytes"
637
-
638
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") do |f|
639
- f.write("#{msg}\n" * num_lines)
640
- end
641
-
642
- config = CONFIG_READ_FROM_HEAD +
643
- SINGLE_LINE_CONFIG +
644
- config_element("", "", {
645
- "read_bytes_limit_per_second" => limit_bytes,
646
- "rotate_wait" => 0.1,
647
- "refresh_interval" => 0.5,
648
- })
649
-
650
- rotated = false
651
- d = create_driver(config)
652
- d.run(timeout: 10) do
653
- while d.events.size < num_lines do
654
- if d.events.size > 0 && !rotated
655
- cleanup_file("#{@tmp_dir}/tail.txt")
656
- FileUtils.touch("#{@tmp_dir}/tail.txt")
657
- rotated = true
658
- end
659
- sleep 0.3
660
- end
661
- end
662
-
663
- assert_equal(num_lines,
664
- d.events.count do |event|
665
- event[2]["message"] == msg
666
- end)
667
- end
668
-
669
- def test_shorter_than_rotate_wait
670
- limit_bytes = 8192
671
- num_lines = 1024 * 2
672
- msg = "08bytes"
673
-
674
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") do |f|
675
- f.write("#{msg}\n" * num_lines)
676
- end
677
-
678
- config = CONFIG_READ_FROM_HEAD +
679
- SINGLE_LINE_CONFIG +
680
- config_element("", "", {
681
- "read_bytes_limit_per_second" => limit_bytes,
682
- "rotate_wait" => 2,
683
- "refresh_interval" => 0.5,
684
- })
685
-
686
- start_time = Fluent::Clock.now
687
- rotated = false
688
- detached = false
689
- d = create_driver(config)
690
- mock.proxy(d.instance).setup_watcher(anything, anything) do |tw|
691
- mock.proxy(tw).detach(anything) do |v|
692
- detached = true
693
- v
694
- end
695
- tw
696
- end.twice
697
-
698
- d.run(timeout: 10) do
699
- until detached do
700
- if d.events.size > 0 && !rotated
701
- cleanup_file("#{@tmp_dir}/tail.txt")
702
- FileUtils.touch("#{@tmp_dir}/tail.txt")
703
- rotated = true
704
- end
705
- sleep 0.3
706
- end
707
- end
708
-
709
- assert_true(Fluent::Clock.now - start_time > 2)
710
- assert_equal(num_lines,
711
- d.events.count do |event|
712
- event[2]["message"] == msg
713
- end)
714
- end
715
- end
716
- end
717
-
718
- data(flat: CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG,
719
- parse: CONFIG_READ_FROM_HEAD + PARSE_SINGLE_LINE_CONFIG)
720
- def test_emit_with_read_from_head(data)
721
- config = data
722
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
723
- f.puts "test1"
724
- f.puts "test2"
725
- }
726
-
727
- d = create_driver(config)
728
-
729
- d.run(expect_emits: 2) do
730
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
731
- f.puts "test3"
732
- f.puts "test4"
733
- }
734
- end
735
-
736
- events = d.events
737
- assert(events.length > 0)
738
- assert_equal({"message" => "test1"}, events[0][2])
739
- assert_equal({"message" => "test2"}, events[1][2])
740
- assert_equal({"message" => "test3"}, events[2][2])
741
- assert_equal({"message" => "test4"}, events[3][2])
742
- end
743
-
744
- data(flat: CONFIG_DISABLE_WATCH_TIMER + SINGLE_LINE_CONFIG,
745
- parse: CONFIG_DISABLE_WATCH_TIMER + PARSE_SINGLE_LINE_CONFIG)
746
- def test_emit_without_watch_timer(data)
747
- config = data
748
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
749
- f.puts "test1"
750
- f.puts "test2"
751
- }
752
-
753
- d = create_driver(config)
754
-
755
- d.run(expect_emits: 1) do
756
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
757
- f.puts "test3"
758
- f.puts "test4"
759
- }
760
- # according to cool.io's stat_watcher.c, systems without inotify will use
761
- # an "automatic" value, typically around 5 seconds
762
- end
763
-
764
- events = d.events
765
- assert(events.length > 0)
766
- assert_equal({"message" => "test3"}, events[0][2])
767
- assert_equal({"message" => "test4"}, events[1][2])
768
- end
769
-
770
- # https://github.com/fluent/fluentd/pull/3541#discussion_r740197711
771
- def test_watch_wildcard_path_without_watch_timer
772
- omit "need inotify" unless Fluent.linux?
773
-
774
- config = config_element("ROOT", "", {
775
- "path" => "#{@tmp_dir}/tail*.txt",
776
- "tag" => "t1",
777
- })
778
- config = config + CONFIG_DISABLE_WATCH_TIMER + SINGLE_LINE_CONFIG
779
-
780
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
781
- f.puts "test1"
782
- f.puts "test2"
783
- }
784
-
785
- d = create_driver(config, false)
786
-
787
- d.run(expect_emits: 1, timeout: 1) do
788
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
789
- f.puts "test3"
790
- f.puts "test4"
791
- }
792
- end
793
-
794
- assert_equal(
795
- [
796
- {"message" => "test3"},
797
- {"message" => "test4"},
798
- ],
799
- d.events.collect { |event| event[2] })
800
- end
801
-
802
- data(flat: CONFIG_DISABLE_STAT_WATCHER + SINGLE_LINE_CONFIG,
803
- parse: CONFIG_DISABLE_STAT_WATCHER + PARSE_SINGLE_LINE_CONFIG)
804
- def test_emit_with_disable_stat_watcher(data)
805
- config = data
806
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
807
- f.puts "test1"
808
- f.puts "test2"
809
- }
810
-
811
- d = create_driver(config)
812
-
813
- d.run(expect_emits: 1) do
814
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
815
- f.puts "test3"
816
- f.puts "test4"
817
- }
818
- end
819
-
820
- events = d.events
821
- assert(events.length > 0)
822
- assert_equal({"message" => "test3"}, events[0][2])
823
- assert_equal({"message" => "test4"}, events[1][2])
824
- end
825
-
826
- def test_always_read_from_head_on_detecting_a_new_file
827
- d = create_driver(SINGLE_LINE_CONFIG)
828
-
829
- d.run(expect_emits: 1, timeout: 3) do
830
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
831
- f.puts "test1\ntest2\n"
832
- }
833
- end
834
-
835
- assert_equal(
836
- [
837
- {"message" => "test1"},
838
- {"message" => "test2"},
839
- ],
840
- d.events.collect { |event| event[2] })
841
- end
842
- end
843
-
844
- class TestWithSystem < self
845
- include Fluent::SystemConfig::Mixin
846
-
847
- OVERRIDE_FILE_PERMISSION = 0620
848
- CONFIG_SYSTEM = %[
849
- <system>
850
- file_permission #{OVERRIDE_FILE_PERMISSION}
851
- </system>
852
- ]
853
-
854
- def setup
855
- omit "NTFS doesn't support UNIX like permissions" if Fluent.windows?
856
- super
857
- # Store default permission
858
- @default_permission = system_config.instance_variable_get(:@file_permission)
859
- end
860
-
861
- def teardown
862
- return if Fluent.windows?
863
- super
864
- # Restore default permission
865
- system_config.instance_variable_set(:@file_permission, @default_permission)
866
- end
867
-
868
- def parse_system(text)
869
- basepath = File.expand_path(File.dirname(__FILE__) + '/../../')
870
- Fluent::Config.parse(text, '(test)', basepath, true).elements.find { |e| e.name == 'system' }
871
- end
872
-
873
- def test_emit_with_system
874
- system_conf = parse_system(CONFIG_SYSTEM)
875
- sc = Fluent::SystemConfig.new(system_conf)
876
- Fluent::Engine.init(sc)
877
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
878
- f.puts "test1"
879
- f.puts "test2"
880
- }
881
-
882
- d = create_driver
883
-
884
- d.run(expect_emits: 1) do
885
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
886
- f.puts "test3"
887
- f.puts "test4"
888
- }
889
- end
890
-
891
- events = d.events
892
- assert_equal(true, events.length > 0)
893
- assert_equal({"message" => "test3"}, events[0][2])
894
- assert_equal({"message" => "test4"}, events[1][2])
895
- assert(events[0][1].is_a?(Fluent::EventTime))
896
- assert(events[1][1].is_a?(Fluent::EventTime))
897
- assert_equal(1, d.emit_count)
898
- pos = d.instance.instance_variable_get(:@pf_file)
899
- mode = "%o" % File.stat(pos).mode
900
- assert_equal OVERRIDE_FILE_PERMISSION, mode[-3, 3].to_i
901
- end
902
- end
903
-
904
- sub_test_case "rotate file" do
905
- def create_driver(conf = SINGLE_LINE_CONFIG)
906
- config = common_config + conf
907
- Fluent::Test::Driver::Input.new(Fluent::Plugin::TailInput).configure(config)
908
- end
909
-
910
- data(flat: SINGLE_LINE_CONFIG,
911
- parse: PARSE_SINGLE_LINE_CONFIG)
912
- def test_rotate_file(data)
913
- config = data
914
- events = sub_test_rotate_file(config, expect_emits: 2)
915
- assert_equal(3.upto(6).collect { |i| {"message" => "test#{i}"} },
916
- events.collect { |event| event[2] })
917
- end
918
-
919
- data(flat: CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG,
920
- parse: CONFIG_READ_FROM_HEAD + PARSE_SINGLE_LINE_CONFIG)
921
- def test_rotate_file_with_read_from_head(data)
922
- config = data
923
- events = sub_test_rotate_file(config, expect_records: 6)
924
- assert_equal(1.upto(6).collect { |i| {"message" => "test#{i}"} },
925
- events.collect { |event| event[2] })
926
- end
927
-
928
- data(flat: CONFIG_OPEN_ON_EVERY_UPDATE + CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG,
929
- parse: CONFIG_OPEN_ON_EVERY_UPDATE + CONFIG_READ_FROM_HEAD + PARSE_SINGLE_LINE_CONFIG)
930
- def test_rotate_file_with_open_on_every_update(data)
931
- config = data
932
- events = sub_test_rotate_file(config, expect_records: 6)
933
- assert_equal(1.upto(6).collect { |i| {"message" => "test#{i}"} },
934
- events.collect { |event| event[2] })
935
- end
936
-
937
- data(flat: SINGLE_LINE_CONFIG,
938
- parse: PARSE_SINGLE_LINE_CONFIG)
939
- def test_rotate_file_with_write_old(data)
940
- config = data
941
- events = sub_test_rotate_file(config, expect_emits: 3) { |rotated_file|
942
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
943
- rotated_file.puts "test7"
944
- rotated_file.puts "test8"
945
- rotated_file.flush
946
-
947
- sleep 1
948
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
949
- f.puts "test5"
950
- f.puts "test6"
951
- }
952
- }
953
- # This test sometimes fails and it shows a potential bug of in_tail
954
- # https://github.com/fluent/fluentd/issues/1434
955
- assert_equal([3, 4, 7, 8, 5, 6].collect { |i| {"message" => "test#{i}"} },
956
- events.collect { |event| event[2] })
957
- end
958
-
959
- data(flat: SINGLE_LINE_CONFIG,
960
- parse: PARSE_SINGLE_LINE_CONFIG)
961
- def test_rotate_file_with_write_old_and_no_new_file(data)
962
- config = data
963
- events = sub_test_rotate_file(config, expect_emits: 2) { |rotated_file|
964
- rotated_file.puts "test7"
965
- rotated_file.puts "test8"
966
- rotated_file.flush
967
- }
968
- assert_equal([3, 4, 7, 8].collect { |i| {"message" => "test#{i}"} },
969
- events.collect { |event| event[2] })
970
- end
971
-
972
- def sub_test_rotate_file(config = nil, expect_emits: nil, expect_records: nil, timeout: 5)
973
- file = Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb")
974
- file.puts "test1"
975
- file.puts "test2"
976
- file.flush
977
-
978
- d = create_driver(config)
979
- d.run(expect_emits: expect_emits, expect_records: expect_records, timeout: timeout) do
980
- sleep(0.1) while d.instance.instance_variable_get(:@startup)
981
- size = d.emit_count
982
- file.puts "test3"
983
- file.puts "test4"
984
- file.flush
985
- sleep(0.1) until d.emit_count >= size + 1
986
- size = d.emit_count
987
-
988
- if Fluent.windows?
989
- file.close
990
- FileUtils.mv("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail2.txt", force: true)
991
- file = Fluent::FileWrapper.open("#{@tmp_dir}/tail2.txt", "ab")
992
- else
993
- FileUtils.mv("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail2.txt")
994
- end
995
- if block_given?
996
- yield file
997
- else
998
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
999
- sleep 1
1000
-
1001
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1002
- f.puts "test5"
1003
- f.puts "test6"
1004
- }
1005
- end
1006
- end
1007
-
1008
- d.events
1009
- ensure
1010
- file.close if file && !file.closed?
1011
- end
1012
- end
1013
-
1014
- def test_truncate_file
1015
- config = SINGLE_LINE_CONFIG
1016
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
1017
- f.puts "test1"
1018
- f.puts "test2"
1019
- f.flush
1020
- }
1021
-
1022
- d = create_driver(config)
1023
-
1024
- d.run(expect_emits: 2) do
1025
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
1026
- f.puts "test3\ntest4"
1027
- f.flush
1028
- }
1029
- waiting(2) { sleep 0.1 until d.events.length == 2 }
1030
- if Fluent.windows?
1031
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f|
1032
- f.puts("test1");
1033
- }
1034
- else
1035
- File.truncate("#{@tmp_dir}/tail.txt", 6)
1036
- end
1037
- end
1038
-
1039
- expected = {
1040
- emit_count: 2,
1041
- events: [
1042
- [Fluent::EventTime, {"message" => "test3"}],
1043
- [Fluent::EventTime, {"message" => "test4"}],
1044
- [Fluent::EventTime, {"message" => "test1"}],
1045
- ]
1046
- }
1047
- actual = {
1048
- emit_count: d.emit_count,
1049
- events: d.events.collect{|event| [event[1].class, event[2]]}
1050
- }
1051
- assert_equal(expected, actual)
1052
- end
1053
-
1054
- def test_move_truncate_move_back
1055
- config = SINGLE_LINE_CONFIG
1056
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
1057
- f.puts "test1"
1058
- f.puts "test2"
1059
- }
1060
-
1061
- d = create_driver(config)
1062
-
1063
- d.run(expect_emits: 1) do
1064
- if Fluent.windows?
1065
- FileUtils.mv("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail2.txt", force: true)
1066
- else
1067
- FileUtils.mv("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail2.txt")
1068
- end
1069
- sleep(1)
1070
- if Fluent.windows?
1071
- Fluent::FileWrapper.open("#{@tmp_dir}/tail2.txt", "wb") { |f|
1072
- f.puts("test1");
1073
- }
1074
- else
1075
- File.truncate("#{@tmp_dir}/tail2.txt", 6)
1076
- end
1077
- sleep(1)
1078
- if Fluent.windows?
1079
- FileUtils.mv("#{@tmp_dir}/tail2.txt", "#{@tmp_dir}/tail.txt", force: true)
1080
- else
1081
- FileUtils.mv("#{@tmp_dir}/tail2.txt", "#{@tmp_dir}/tail.txt")
1082
- end
1083
- end
1084
-
1085
- events = d.events
1086
- assert_equal(1, events.length)
1087
- assert_equal({"message" => "test1"}, events[0][2])
1088
- assert(events[0][1].is_a?(Fluent::EventTime))
1089
- assert_equal(1, d.emit_count)
1090
- end
1091
-
1092
- def test_lf
1093
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| }
1094
-
1095
- d = create_driver
1096
-
1097
- d.run(expect_emits: 1) do
1098
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
1099
- f.print "test3"
1100
- }
1101
- sleep 1
1102
-
1103
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
1104
- f.puts "test4"
1105
- }
1106
- end
1107
-
1108
- events = d.events
1109
- assert_equal(true, events.length > 0)
1110
- assert_equal({"message" => "test3test4"}, events[0][2])
1111
- end
1112
-
1113
- def test_whitespace
1114
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| }
1115
-
1116
- d = create_driver
1117
-
1118
- d.run(expect_emits: 1) do
1119
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
1120
- f.puts " " # 4 spaces
1121
- f.puts " 4 spaces"
1122
- f.puts "4 spaces "
1123
- f.puts " " # tab
1124
- f.puts " tab"
1125
- f.puts "tab "
1126
- }
1127
- end
1128
-
1129
- events = d.events
1130
- assert_equal(true, events.length > 0)
1131
- assert_equal({"message" => " "}, events[0][2])
1132
- assert_equal({"message" => " 4 spaces"}, events[1][2])
1133
- assert_equal({"message" => "4 spaces "}, events[2][2])
1134
- assert_equal({"message" => " "}, events[3][2])
1135
- assert_equal({"message" => " tab"}, events[4][2])
1136
- assert_equal({"message" => "tab "}, events[5][2])
1137
- end
1138
-
1139
- data(
1140
- 'flat default encoding' => [SINGLE_LINE_CONFIG, Encoding::ASCII_8BIT],
1141
- 'flat explicit encoding config' => [SINGLE_LINE_CONFIG + config_element("", "", { "encoding" => "utf-8" }), Encoding::UTF_8],
1142
- 'parse default encoding' => [PARSE_SINGLE_LINE_CONFIG, Encoding::ASCII_8BIT],
1143
- 'parse explicit encoding config' => [PARSE_SINGLE_LINE_CONFIG + config_element("", "", { "encoding" => "utf-8" }), Encoding::UTF_8])
1144
- def test_encoding(data)
1145
- encoding_config, encoding = data
1146
-
1147
- d = create_driver(CONFIG_READ_FROM_HEAD + encoding_config)
1148
-
1149
- d.run(expect_emits: 1) do
1150
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
1151
- f.puts "test"
1152
- }
1153
- end
1154
-
1155
- events = d.events
1156
- assert_equal(encoding, events[0][2]['message'].encoding)
1157
- end
1158
-
1159
- def test_from_encoding
1160
- conf = config_element(
1161
- "", "", {
1162
- "format" => "/(?<message>.*)/",
1163
- "read_from_head" => "true",
1164
- "from_encoding" => "cp932",
1165
- "encoding" => "utf-8"
1166
- })
1167
- d = create_driver(conf)
1168
- cp932_message = "\x82\xCD\x82\xEB\x81\x5B\x82\xED\x81\x5B\x82\xE9\x82\xC7".force_encoding(Encoding::CP932)
1169
- utf8_message = cp932_message.encode(Encoding::UTF_8)
1170
-
1171
- d.run(expect_emits: 1) do
1172
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "w:cp932") {|f|
1173
- f.puts cp932_message
1174
- }
1175
- end
1176
-
1177
- events = d.events
1178
- assert_equal(utf8_message, events[0][2]['message'])
1179
- assert_equal(Encoding::UTF_8, events[0][2]['message'].encoding)
1180
- end
1181
-
1182
- def test_from_encoding_utf16
1183
- conf = config_element(
1184
- "", "", {
1185
- "format" => "/(?<message>.*)/",
1186
- "read_from_head" => "true",
1187
- "from_encoding" => "utf-16le",
1188
- "encoding" => "utf-8"
1189
- })
1190
- d = create_driver(conf)
1191
- utf16_message = "\u306F\u308D\u30FC\u308F\u30FC\u308B\u3069\n".encode(Encoding::UTF_16LE)
1192
- utf8_message = utf16_message.encode(Encoding::UTF_8).strip
1193
-
1194
- d.run(expect_emits: 1) do
1195
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "w:utf-16le") { |f|
1196
- f.write utf16_message
1197
- }
1198
- end
1199
-
1200
- events = d.events
1201
- assert_equal(utf8_message, events[0][2]['message'])
1202
- assert_equal(Encoding::UTF_8, events[0][2]['message'].encoding)
1203
- end
1204
-
1205
- def test_encoding_with_bad_character
1206
- conf = config_element(
1207
- "", "", {
1208
- "format" => "/(?<message>.*)/",
1209
- "read_from_head" => "true",
1210
- "from_encoding" => "ASCII-8BIT",
1211
- "encoding" => "utf-8"
1212
- })
1213
- d = create_driver(conf)
1214
-
1215
- d.run(expect_emits: 1) do
1216
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "w") { |f|
1217
- f.write "te\x86st\n"
1218
- }
1219
- end
1220
-
1221
- events = d.events
1222
- assert_equal("te\uFFFDst", events[0][2]['message'])
1223
- assert_equal(Encoding::UTF_8, events[0][2]['message'].encoding)
1224
- end
1225
-
1226
- sub_test_case "multiline" do
1227
- data(flat: MULTILINE_CONFIG,
1228
- parse: PARSE_MULTILINE_CONFIG)
1229
- def test_multiline(data)
1230
- config = data
1231
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1232
-
1233
- d = create_driver(config)
1234
- d.run(expect_emits: 1) do
1235
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1236
- f.puts "f test1"
1237
- f.puts "s test2"
1238
- f.puts "f test3"
1239
- f.puts "f test4"
1240
- f.puts "s test5"
1241
- f.puts "s test6"
1242
- f.puts "f test7"
1243
- f.puts "s test8"
1244
- }
1245
- end
1246
-
1247
- events = d.events
1248
- assert_equal(4, events.length)
1249
- assert_equal({"message1" => "test2", "message2" => "test3", "message3" => "test4"}, events[0][2])
1250
- assert_equal({"message1" => "test5"}, events[1][2])
1251
- assert_equal({"message1" => "test6", "message2" => "test7"}, events[2][2])
1252
- assert_equal({"message1" => "test8"}, events[3][2])
1253
- end
1254
-
1255
- data(flat: MULTILINE_CONFIG,
1256
- parse: PARSE_MULTILINE_CONFIG)
1257
- def test_multiline_with_emit_unmatched_lines_true(data)
1258
- config = data + config_element("", "", { "emit_unmatched_lines" => true })
1259
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1260
-
1261
- d = create_driver(config)
1262
- d.run(expect_emits: 1) do
1263
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1264
- f.puts "f test1"
1265
- f.puts "s test2"
1266
- f.puts "f test3"
1267
- f.puts "f test4"
1268
- f.puts "s test5"
1269
- f.puts "s test6"
1270
- f.puts "f test7"
1271
- f.puts "s test8"
1272
- }
1273
- end
1274
-
1275
- events = d.events
1276
- assert_equal(5, events.length)
1277
- assert_equal({"unmatched_line" => "f test1"}, events[0][2])
1278
- assert_equal({"message1" => "test2", "message2" => "test3", "message3" => "test4"}, events[1][2])
1279
- assert_equal({"message1" => "test5"}, events[2][2])
1280
- assert_equal({"message1" => "test6", "message2" => "test7"}, events[3][2])
1281
- assert_equal({"message1" => "test8"}, events[4][2])
1282
- end
1283
-
1284
- data(
1285
- flat: MULTILINE_CONFIG_WITH_NEWLINE,
1286
- parse: PARSE_MULTILINE_CONFIG_WITH_NEWLINE)
1287
- def test_multiline_with_emit_unmatched_lines2(data)
1288
- config = data + config_element("", "", { "emit_unmatched_lines" => true })
1289
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1290
-
1291
- d = create_driver(config)
1292
- d.run(expect_emits: 0, timeout: 1) do
1293
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1294
- f.puts "s test0"
1295
- f.puts "f test1"
1296
- f.puts "f test2"
1297
-
1298
- f.puts "f test3"
1299
-
1300
- f.puts "s test4"
1301
- f.puts "f test5"
1302
- f.puts "f test6"
1303
- }
1304
- end
1305
-
1306
- events = d.events
1307
- assert_equal({"message1" => "test0", "message2" => "test1", "message3" => "test2"}, events[0][2])
1308
- assert_equal({ 'unmatched_line' => "f test3" }, events[1][2])
1309
- assert_equal({"message1" => "test4", "message2" => "test5", "message3" => "test6"}, events[2][2])
1310
- end
1311
-
1312
- data(flat: MULTILINE_CONFIG,
1313
- parse: PARSE_MULTILINE_CONFIG)
1314
- def test_multiline_with_flush_interval(data)
1315
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1316
-
1317
- config = data + config_element("", "", { "multiline_flush_interval" => "2s" })
1318
- d = create_driver(config)
1319
-
1320
- assert_equal(2, d.instance.multiline_flush_interval)
1321
-
1322
- d.run(expect_emits: 1) do
1323
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1324
- f.puts "f test1"
1325
- f.puts "s test2"
1326
- f.puts "f test3"
1327
- f.puts "f test4"
1328
- f.puts "s test5"
1329
- f.puts "s test6"
1330
- f.puts "f test7"
1331
- f.puts "s test8"
1332
- }
1333
- end
1334
-
1335
- events = d.events
1336
- assert_equal(4, events.length)
1337
- assert_equal({"message1" => "test2", "message2" => "test3", "message3" => "test4"}, events[0][2])
1338
- assert_equal({"message1" => "test5"}, events[1][2])
1339
- assert_equal({"message1" => "test6", "message2" => "test7"}, events[2][2])
1340
- assert_equal({"message1" => "test8"}, events[3][2])
1341
- end
1342
-
1343
- data(
1344
- 'flat default encoding' => [MULTILINE_CONFIG, Encoding::ASCII_8BIT],
1345
- 'flat explicit encoding config' => [MULTILINE_CONFIG + config_element("", "", { "encoding" => "utf-8" }), Encoding::UTF_8],
1346
- 'parse default encoding' => [PARSE_MULTILINE_CONFIG, Encoding::ASCII_8BIT],
1347
- 'parse explicit encoding config' => [PARSE_MULTILINE_CONFIG + config_element("", "", { "encoding" => "utf-8" }), Encoding::UTF_8])
1348
- def test_multiline_encoding_of_flushed_record(data)
1349
- encoding_config, encoding = data
1350
-
1351
- config = config_element("", "", {
1352
- "multiline_flush_interval" => "2s",
1353
- "read_from_head" => "true",
1354
- })
1355
- d = create_driver(config + encoding_config)
1356
-
1357
- d.run(expect_emits: 1) do
1358
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f|
1359
- f.puts "s test"
1360
- }
1361
- end
1362
- events = d.events
1363
- assert_equal(1, events.length)
1364
- assert_equal(encoding, events[0][2]['message1'].encoding)
1365
- end
1366
-
1367
- def test_multiline_from_encoding_of_flushed_record
1368
- conf = MULTILINE_CONFIG + config_element(
1369
- "", "",
1370
- {
1371
- "multiline_flush_interval" => "1s",
1372
- "read_from_head" => "true",
1373
- "from_encoding" => "cp932",
1374
- "encoding" => "utf-8"
1375
- })
1376
- d = create_driver(conf)
1377
-
1378
- cp932_message = "s \x82\xCD\x82\xEB\x81\x5B\x82\xED\x81\x5B\x82\xE9\x82\xC7".force_encoding(Encoding::CP932)
1379
- utf8_message = "\x82\xCD\x82\xEB\x81\x5B\x82\xED\x81\x5B\x82\xE9\x82\xC7".encode(Encoding::UTF_8, Encoding::CP932)
1380
- d.run(expect_emits: 1) do
1381
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "w:cp932") { |f|
1382
- f.puts cp932_message
1383
- }
1384
- end
1385
-
1386
- events = d.events
1387
- assert_equal(1, events.length)
1388
- assert_equal(utf8_message, events[0][2]['message1'])
1389
- assert_equal(Encoding::UTF_8, events[0][2]['message1'].encoding)
1390
- end
1391
-
1392
- data(flat: config_element(
1393
- "", "", {
1394
- "format" => "multiline",
1395
- "format1" => "/^s (?<message1>[^\\n]+)\\n?/",
1396
- "format2" => "/(f (?<message2>[^\\n]+)\\n?)?/",
1397
- "format3" => "/(f (?<message3>.*))?/",
1398
- "format_firstline" => "/^[s]/"
1399
- }),
1400
- parse: config_element(
1401
- "", "", {},
1402
- [config_element("parse", "", {
1403
- "@type" => "multiline",
1404
- "format1" => "/^s (?<message1>[^\\n]+)\\n?/",
1405
- "format2" => "/(f (?<message2>[^\\n]+)\\n?)?/",
1406
- "format3" => "/(f (?<message3>.*))?/",
1407
- "format_firstline" => "/^[s]/"
1408
- })
1409
- ])
1410
- )
1411
- def test_multiline_with_multiple_formats(data)
1412
- config = data
1413
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1414
-
1415
- d = create_driver(config)
1416
- d.run(expect_emits: 1) do
1417
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1418
- f.puts "f test1"
1419
- f.puts "s test2"
1420
- f.puts "f test3"
1421
- f.puts "f test4"
1422
- f.puts "s test5"
1423
- f.puts "s test6"
1424
- f.puts "f test7"
1425
- f.puts "s test8"
1426
- }
1427
- end
1428
-
1429
- events = d.events
1430
- assert(events.length > 0)
1431
- assert_equal({"message1" => "test2", "message2" => "test3", "message3" => "test4"}, events[0][2])
1432
- assert_equal({"message1" => "test5"}, events[1][2])
1433
- assert_equal({"message1" => "test6", "message2" => "test7"}, events[2][2])
1434
- assert_equal({"message1" => "test8"}, events[3][2])
1435
- end
1436
-
1437
- data(flat: config_element(
1438
- "", "", {
1439
- "format" => "multiline",
1440
- "format1" => "/^[s|f] (?<message>.*)/",
1441
- "format_firstline" => "/^[s]/"
1442
- }),
1443
- parse: config_element(
1444
- "", "", {},
1445
- [config_element("parse", "", {
1446
- "@type" => "multiline",
1447
- "format1" => "/^[s|f] (?<message>.*)/",
1448
- "format_firstline" => "/^[s]/"
1449
- })
1450
- ])
1451
- )
1452
- def test_multilinelog_with_multiple_paths(data)
1453
- files = ["#{@tmp_dir}/tail1.txt", "#{@tmp_dir}/tail2.txt"]
1454
- files.each { |file| Fluent::FileWrapper.open(file, "wb") { |f| } }
1455
-
1456
- config = data + config_element("", "", {
1457
- "path" => "#{files[0]},#{files[1]}",
1458
- "tag" => "t1",
1459
- })
1460
- d = create_driver(config, false)
1461
- d.run(expect_emits: 2) do
1462
- files.each do |file|
1463
- Fluent::FileWrapper.open(file, 'ab') { |f|
1464
- f.puts "f #{file} line should be ignored"
1465
- f.puts "s test1"
1466
- f.puts "f test2"
1467
- f.puts "f test3"
1468
- f.puts "s test4"
1469
- }
1470
- end
1471
- end
1472
-
1473
- events = d.events
1474
- assert_equal({"message" => "test1\nf test2\nf test3"}, events[0][2])
1475
- assert_equal({"message" => "test1\nf test2\nf test3"}, events[1][2])
1476
- # "test4" events are here because these events are flushed at shutdown phase
1477
- assert_equal({"message" => "test4"}, events[2][2])
1478
- assert_equal({"message" => "test4"}, events[3][2])
1479
- end
1480
-
1481
- data(flat: config_element("", "", {
1482
- "format" => "multiline",
1483
- "format1" => "/(?<var1>foo \\d)\\n/",
1484
- "format2" => "/(?<var2>bar \\d)\\n/",
1485
- "format3" => "/(?<var3>baz \\d)/"
1486
- }),
1487
- parse: config_element(
1488
- "", "", {},
1489
- [config_element("parse", "", {
1490
- "@type" => "multiline",
1491
- "format1" => "/(?<var1>foo \\d)\\n/",
1492
- "format2" => "/(?<var2>bar \\d)\\n/",
1493
- "format3" => "/(?<var3>baz \\d)/"
1494
- })
1495
- ])
1496
- )
1497
- def test_multiline_without_firstline(data)
1498
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
1499
-
1500
- config = data
1501
- d = create_driver(config)
1502
- d.run(expect_emits: 1) do
1503
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
1504
- f.puts "foo 1"
1505
- f.puts "bar 1"
1506
- f.puts "baz 1"
1507
- f.puts "foo 2"
1508
- f.puts "bar 2"
1509
- f.puts "baz 2"
1510
- }
1511
- end
1512
-
1513
- events = d.events
1514
- assert_equal(2, events.length)
1515
- assert_equal({"var1" => "foo 1", "var2" => "bar 1", "var3" => "baz 1"}, events[0][2])
1516
- assert_equal({"var1" => "foo 2", "var2" => "bar 2", "var3" => "baz 2"}, events[1][2])
1517
- end
1518
- end
1519
-
1520
- sub_test_case "path" do
1521
- # * path test
1522
- # TODO: Clean up tests
1523
- def test_expand_paths
1524
- ex_paths = [
1525
- create_target_info('test/plugin/data/2010/01/20100102-030405.log'),
1526
- create_target_info('test/plugin/data/log/foo/bar.log'),
1527
- create_target_info('test/plugin/data/log/test.log')
1528
- ]
1529
- plugin = create_driver(ex_config, false).instance
1530
- flexstub(Time) do |timeclass|
1531
- timeclass.should_receive(:now).with_no_args.and_return(Time.new(2010, 1, 2, 3, 4, 5))
1532
- assert_equal(ex_paths, plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1533
- end
1534
-
1535
- # Test exclusion
1536
- exclude_config = ex_config + config_element("", "", { "exclude_path" => %Q(["#{ex_paths.last.path}"]) })
1537
- plugin = create_driver(exclude_config, false).instance
1538
- assert_equal(ex_paths - [ex_paths.last], plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1539
- end
1540
-
1541
- sub_test_case "expand_paths with glob" do |data|
1542
- sub_test_case "extended_glob" do
1543
- data("curly braces" => [true, "always", "test/plugin/data/log_numeric/{0,1}*.log"],
1544
- "square brackets" => [true, "always", "test/plugin/data/log_numeric/[0-1][2-4].log"],
1545
- "asterisk" => [true, "always", "test/plugin/data/log/*.log"],
1546
- "one character matcher" => [true, "always", "test/plugin/data/log/tes?.log"],
1547
- )
1548
- def test_expand_paths_with_use_glob_p_and_almost_set_of_patterns
1549
- result, option, path = data
1550
- config = config_element("", "", {
1551
- "tag" => "tail",
1552
- "path" => path,
1553
- "format" => "none",
1554
- "pos_file" => "#{@tmp_dir}/tail.pos",
1555
- "read_from_head" => true,
1556
- "refresh_interval" => 30,
1557
- "glob_policy" => option,
1558
- "path_delimiter" => "|",
1559
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1560
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1561
- })
1562
- plugin = create_driver(config, false).instance
1563
- assert_equal(result, !!plugin.use_glob?(path))
1564
- end
1565
-
1566
- data("curly braces" => [true, false, "extended", "test/plugin/data/log_numeric/{0,1}*.log"],
1567
- "square brackets" => [false, true, "extended", "test/plugin/data/log_numeric/[0-1][2-4].log"],
1568
- "asterisk" => [false, true, "extended", "test/plugin/data/log/*.log"],
1569
- "one character matcher" => [false, true, "extended", "test/plugin/data/log/tes?.log"],
1570
- )
1571
- def test_expand_paths_with_use_glob_p
1572
- emit_exception_p, result, option, path = data
1573
- config = config_element("", "", {
1574
- "tag" => "tail",
1575
- "path" => path,
1576
- "format" => "none",
1577
- "pos_file" => "#{@tmp_dir}/tail.pos",
1578
- "read_from_head" => true,
1579
- "refresh_interval" => 30,
1580
- "glob_policy" => option,
1581
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1582
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1583
- })
1584
- if emit_exception_p
1585
- assert_raise(Fluent::ConfigError) do
1586
- plugin = create_driver(config, false).instance
1587
- end
1588
- else
1589
- plugin = create_driver(config, false).instance
1590
- assert_equal(result, !!plugin.use_glob?(path))
1591
- end
1592
- end
1593
- end
1594
-
1595
- sub_test_case "only_use_backward_compatible" do
1596
- data("square brackets" => [false, "backward_compatible", "test/plugin/data/log_numeric/[0-1][2-4].log"],
1597
- "asterisk" => [true, "backward_compatible", "test/plugin/data/log/*.log"],
1598
- "one character matcher" => [false, "backward_compatible", "test/plugin/data/log/tes?.log"],
1599
- )
1600
- def test_expand_paths_with_use_glob_p
1601
- result, option, path = data
1602
- config = config_element("", "", {
1603
- "tag" => "tail",
1604
- "path" => path,
1605
- "format" => "none",
1606
- "pos_file" => "#{@tmp_dir}/tail.pos",
1607
- "read_from_head" => true,
1608
- "refresh_interval" => 30,
1609
- "glob_policy" => option,
1610
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1611
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1612
- })
1613
- plugin = create_driver(config, false).instance
1614
- assert_equal(result, !!plugin.use_glob?(path))
1615
- end
1616
- end
1617
- end
1618
-
1619
- def ex_config_with_brackets
1620
- config_element("", "", {
1621
- "tag" => "tail",
1622
- "path" => "test/plugin/data/log_numeric/[0-1][2-4].log",
1623
- "format" => "none",
1624
- "pos_file" => "#{@tmp_dir}/tail.pos",
1625
- "read_from_head" => true,
1626
- "refresh_interval" => 30,
1627
- "glob_policy" => "extended",
1628
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1629
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1630
- })
1631
- end
1632
-
1633
- def test_config_with_always_with_default_delimiter
1634
- assert_raise(Fluent::ConfigError) do
1635
- config = config_element("", "", {
1636
- "tag" => "tail",
1637
- "path" => "test/plugin/data/log_numeric/[0-1][2-4].log",
1638
- "format" => "none",
1639
- "pos_file" => "#{@tmp_dir}/tail.pos",
1640
- "read_from_head" => true,
1641
- "refresh_interval" => 30,
1642
- "glob_policy" => "always",
1643
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1644
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1645
- })
1646
-
1647
- create_driver(config, false).instance
1648
- end
1649
- end
1650
-
1651
- def test_config_with_always_with_custom_delimiter
1652
- assert_nothing_raised do
1653
- config = config_element("", "", {
1654
- "tag" => "tail",
1655
- "path" => "test/plugin/data/log_numeric/[0-1][2-4].log",
1656
- "format" => "none",
1657
- "pos_file" => "#{@tmp_dir}/tail.pos",
1658
- "read_from_head" => true,
1659
- "refresh_interval" => 30,
1660
- "glob_policy" => "always",
1661
- "path_delimiter" => "|",
1662
- "rotate_wait" => "#{EX_ROTATE_WAIT}s",
1663
- "follow_inodes" => "#{EX_FOLLOW_INODES}",
1664
- })
1665
-
1666
- create_driver(config, false).instance
1667
- end
1668
- end
1669
-
1670
- def test_expand_paths_with_brackets
1671
- expanded_paths = [
1672
- create_target_info('test/plugin/data/log_numeric/01.log'),
1673
- create_target_info('test/plugin/data/log_numeric/02.log'),
1674
- create_target_info('test/plugin/data/log_numeric/12.log'),
1675
- create_target_info('test/plugin/data/log_numeric/14.log'),
1676
- ]
1677
-
1678
- plugin = create_driver(ex_config_with_brackets, false).instance
1679
- assert_equal(expanded_paths - [expanded_paths.first], plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1680
- end
1681
-
1682
- def test_expand_paths_with_duplicate_configuration
1683
- expanded_paths = [
1684
- create_target_info('test/plugin/data/log/foo/bar.log'),
1685
- create_target_info('test/plugin/data/log/test.log')
1686
- ]
1687
- duplicate_config = ex_config.dup
1688
- duplicate_config["path"]="test/plugin/data/log/**/*.log, test/plugin/data/log/**/*.log"
1689
- plugin = create_driver(ex_config, false).instance
1690
- assert_equal(expanded_paths, plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1691
- end
1692
-
1693
- def test_expand_paths_with_timezone
1694
- ex_paths = [
1695
- create_target_info('test/plugin/data/2010/01/20100102-030405.log'),
1696
- create_target_info('test/plugin/data/log/foo/bar.log'),
1697
- create_target_info('test/plugin/data/log/test.log')
1698
- ]
1699
- ['Asia/Taipei', '+08'].each do |tz_type|
1700
- taipei_config = ex_config + config_element("", "", {"path_timezone" => tz_type})
1701
- plugin = create_driver(taipei_config, false).instance
1702
-
1703
- # Test exclude
1704
- exclude_config = taipei_config + config_element("", "", { "exclude_path" => %Q(["test/plugin/**/%Y%m%d-%H%M%S.log"]) })
1705
- exclude_plugin = create_driver(exclude_config, false).instance
1706
-
1707
- with_timezone('utc') do
1708
- flexstub(Time) do |timeclass|
1709
- # env : 2010-01-01 19:04:05 (UTC), tail path : 2010-01-02 03:04:05 (Asia/Taipei)
1710
- timeclass.should_receive(:now).with_no_args.and_return(Time.new(2010, 1, 1, 19, 4, 5))
1711
-
1712
- assert_equal(ex_paths, plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1713
- assert_equal(ex_paths - [ex_paths.first], exclude_plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1714
- end
1715
- end
1716
- end
1717
- end
1718
-
1719
- def test_log_file_without_extension
1720
- expected_files = [
1721
- create_target_info('test/plugin/data/log/bar'),
1722
- create_target_info('test/plugin/data/log/foo/bar.log'),
1723
- create_target_info('test/plugin/data/log/foo/bar2'),
1724
- create_target_info('test/plugin/data/log/test.log')
1725
- ]
1726
-
1727
- config = config_element("", "", {
1728
- "tag" => "tail",
1729
- "path" => "test/plugin/data/log/**/*",
1730
- "format" => "none",
1731
- "pos_file" => "#{@tmp_dir}/tail.pos"
1732
- })
1733
-
1734
- plugin = create_driver(config, false).instance
1735
- assert_equal(expected_files, plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
1736
- end
1737
-
1738
- def test_unwatched_files_should_be_removed
1739
- config = config_element("", "", {
1740
- "tag" => "tail",
1741
- "path" => "#{@tmp_dir}/*.txt",
1742
- "format" => "none",
1743
- "pos_file" => "#{@tmp_dir}/tail.pos",
1744
- "read_from_head" => true,
1745
- "refresh_interval" => 1,
1746
- })
1747
- d = create_driver(config, false)
1748
- d.end_if { d.instance.instance_variable_get(:@tails).keys.size >= 1 }
1749
- d.run(expect_emits: 1, shutdown: false) do
1750
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f| f.puts "test3\n" }
1751
- end
1752
-
1753
- cleanup_file("#{@tmp_dir}/tail.txt")
1754
- waiting(20) { sleep 0.1 until Dir.glob("#{@tmp_dir}/*.txt").size == 0 } # Ensure file is deleted on Windows
1755
- waiting(5) { sleep 0.1 until d.instance.instance_variable_get(:@tails).keys.size <= 0 }
1756
-
1757
- assert_equal(
1758
- {
1759
- files: [],
1760
- tails: []
1761
- },
1762
- {
1763
- files: Dir.glob("#{@tmp_dir}/*.txt"),
1764
- tails: d.instance.instance_variable_get(:@tails).keys
1765
- }
1766
- )
1767
- ensure
1768
- d.instance_shutdown if d && d.instance
1769
- cleanup_directory(@tmp_dir)
1770
- end
1771
-
1772
- def count_timer_object
1773
- num = 0
1774
- ObjectSpace.each_object(Fluent::PluginHelper::Timer::TimerWatcher) { |obj|
1775
- num += 1
1776
- }
1777
- num
1778
- end
1779
- end
1780
-
1781
- sub_test_case "path w/ Linux capability" do
1782
- def capability_enabled?
1783
- if Fluent.linux?
1784
- begin
1785
- require 'capng'
1786
- true
1787
- rescue LoadError
1788
- false
1789
- end
1790
- else
1791
- false
1792
- end
1793
- end
1794
-
1795
- setup do
1796
- omit "This environment is not enabled Linux capability handling feature" unless capability_enabled?
1797
-
1798
- @capng = CapNG.new(:current_process)
1799
- flexstub(Fluent::Capability) do |klass|
1800
- klass.should_receive(:new).with(:current_process).and_return(@capng)
1801
- end
1802
- end
1803
-
1804
- data("dac_read_search" => [:dac_read_search, true, 1],
1805
- "dac_override" => [:dac_override, true, 1],
1806
- "chown" => [:chown, false, 0],
1807
- )
1808
- test "with partially elevated privileges" do |data|
1809
- cap, result, readable_paths = data
1810
- @capng.update(:add, :effective, cap)
1811
-
1812
- d = create_driver(
1813
- config_element("ROOT", "", {
1814
- "path" => "/var/log/ker*.log", # Use /var/log/kern.log
1815
- "tag" => "t1",
1816
- "rotate_wait" => "2s"
1817
- }) + PARSE_SINGLE_LINE_CONFIG, false)
1818
-
1819
- assert_equal(readable_paths, d.instance.expand_paths.length)
1820
- assert_equal(result, d.instance.have_read_capability?)
1821
- end
1822
- end
1823
-
1824
- def test_pos_file_dir_creation
1825
- config = config_element("", "", {
1826
- "tag" => "tail",
1827
- "path" => "#{@tmp_dir}/*.txt",
1828
- "format" => "none",
1829
- "pos_file" => "#{@tmp_dir}/pos/tail.pos",
1830
- "read_from_head" => true,
1831
- "refresh_interval" => 1
1832
- })
1833
-
1834
- assert_path_not_exist("#{@tmp_dir}/pos")
1835
- d = create_driver(config, false)
1836
- d.run
1837
- assert_path_exist("#{@tmp_dir}/pos")
1838
- assert_equal('755', File.stat("#{@tmp_dir}/pos").mode.to_s(8)[-3, 3])
1839
- ensure
1840
- cleanup_directory(@tmp_dir)
1841
- end
1842
-
1843
- def test_pos_file_dir_creation_with_system_dir_permission
1844
- config = config_element("", "", {
1845
- "tag" => "tail",
1846
- "path" => "#{@tmp_dir}/*.txt",
1847
- "format" => "none",
1848
- "pos_file" => "#{@tmp_dir}/pos/tail.pos",
1849
- "read_from_head" => true,
1850
- "refresh_interval" => 1
1851
- })
1852
-
1853
- assert_path_not_exist("#{@tmp_dir}/pos")
1854
-
1855
- Fluent::SystemConfig.overwrite_system_config({ "dir_permission" => "744" }) do
1856
- d = create_driver(config, false)
1857
- d.run
1858
- end
1859
-
1860
- assert_path_exist("#{@tmp_dir}/pos")
1861
- if Fluent.windows?
1862
- assert_equal('755', File.stat("#{@tmp_dir}/pos").mode.to_s(8)[-3, 3])
1863
- else
1864
- assert_equal('744', File.stat("#{@tmp_dir}/pos").mode.to_s(8)[-3, 3])
1865
- end
1866
- ensure
1867
- cleanup_directory(@tmp_dir)
1868
- end
1869
-
1870
- def test_z_refresh_watchers
1871
- ex_paths = [
1872
- create_target_info('test/plugin/data/2010/01/20100102-030405.log'),
1873
- create_target_info('test/plugin/data/log/foo/bar.log'),
1874
- create_target_info('test/plugin/data/log/test.log'),
1875
- ]
1876
- plugin = create_driver(ex_config, false).instance
1877
- sio = StringIO.new
1878
- plugin.instance_eval do
1879
- @pf = Fluent::Plugin::TailInput::PositionFile.load(sio, EX_FOLLOW_INODES, {}, logger: $log)
1880
- @loop = Coolio::Loop.new
1881
- opened_file_metrics = Fluent::Plugin::LocalMetrics.new
1882
- opened_file_metrics.configure(config_element('metrics', '', {}))
1883
- closed_file_metrics = Fluent::Plugin::LocalMetrics.new
1884
- closed_file_metrics.configure(config_element('metrics', '', {}))
1885
- rotated_file_metrics = Fluent::Plugin::LocalMetrics.new
1886
- rotated_file_metrics.configure(config_element('metrics', '', {}))
1887
- @metrics = Fluent::Plugin::TailInput::MetricsInfo.new(opened_file_metrics, closed_file_metrics, rotated_file_metrics)
1888
- end
1889
-
1890
- Timecop.freeze(2010, 1, 2, 3, 4, 5) do
1891
- ex_paths.each do |target_info|
1892
- mock.proxy(Fluent::Plugin::TailInput::TailWatcher).new(target_info, anything, anything, true, false, anything, nil, anything, anything).once
1893
- end
1894
-
1895
- plugin.refresh_watchers
1896
- end
1897
-
1898
- path = 'test/plugin/data/2010/01/20100102-030405.log'
1899
- mock.proxy(plugin).detach_watcher_after_rotate_wait(plugin.instance_variable_get(:@tails)[path], Fluent::FileWrapper.stat(path).ino)
1900
-
1901
- Timecop.freeze(2010, 1, 2, 3, 4, 6) do
1902
- path = "test/plugin/data/2010/01/20100102-030406.log"
1903
- inode = Fluent::FileWrapper.stat(path).ino
1904
- target_info = Fluent::Plugin::TailInput::TargetInfo.new(path, inode)
1905
- mock.proxy(Fluent::Plugin::TailInput::TailWatcher).new(target_info, anything, anything, true, false, anything, nil, anything, anything).once
1906
- plugin.refresh_watchers
1907
-
1908
- flexstub(Fluent::Plugin::TailInput::TailWatcher) do |watcherclass|
1909
- watcherclass.should_receive(:new).never
1910
- plugin.refresh_watchers
1911
- end
1912
- end
1913
- end
1914
-
1915
- sub_test_case "refresh of pos file" do
1916
- test 'type of pos_file_compaction_interval is time' do
1917
- tail = {
1918
- "tag" => "tail",
1919
- "path" => "#{@tmp_dir}/*.txt",
1920
- "format" => "none",
1921
- "pos_file" => "#{@tmp_dir}/pos/tail.pos",
1922
- "refresh_interval" => 1,
1923
- "read_from_head" => true,
1924
- 'pos_file_compaction_interval' => '24h',
1925
- }
1926
- config = config_element("", "", tail)
1927
- d = create_driver(config, false)
1928
- mock(d.instance).timer_execute(:in_tail_refresh_watchers, 1.0).once
1929
- mock(d.instance).timer_execute(:in_tail_refresh_compact_pos_file, 60 * 60 * 24).once
1930
- d.run # call start
1931
- end
1932
- end
1933
-
1934
- sub_test_case "receive_lines" do
1935
- DummyWatcher = Struct.new("DummyWatcher", :tag)
1936
-
1937
- def test_tag
1938
- d = create_driver(ex_config, false)
1939
- d.run {}
1940
- plugin = d.instance
1941
- mock(plugin.router).emit_stream('tail', anything).once
1942
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
1943
- end
1944
-
1945
- def test_tag_with_only_star
1946
- config = config_element("", "", {
1947
- "tag" => "*",
1948
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
1949
- "format" => "none",
1950
- "read_from_head" => true
1951
- })
1952
- d = create_driver(config, false)
1953
- d.run {}
1954
- plugin = d.instance
1955
- mock(plugin.router).emit_stream('foo.bar.log', anything).once
1956
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
1957
- end
1958
-
1959
- def test_tag_prefix
1960
- config = config_element("", "", {
1961
- "tag" => "pre.*",
1962
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
1963
- "format" => "none",
1964
- "read_from_head" => true
1965
- })
1966
- d = create_driver(config, false)
1967
- d.run {}
1968
- plugin = d.instance
1969
- mock(plugin.router).emit_stream('pre.foo.bar.log', anything).once
1970
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
1971
- end
1972
-
1973
- def test_tag_suffix
1974
- config = config_element("", "", {
1975
- "tag" => "*.post",
1976
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
1977
- "format" => "none",
1978
- "read_from_head" => true
1979
- })
1980
- d = create_driver(config, false)
1981
- d.run {}
1982
- plugin = d.instance
1983
- mock(plugin.router).emit_stream('foo.bar.log.post', anything).once
1984
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
1985
- end
1986
-
1987
- def test_tag_prefix_and_suffix
1988
- config = config_element("", "", {
1989
- "tag" => "pre.*.post",
1990
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
1991
- "format" => "none",
1992
- "read_from_head" => true
1993
- })
1994
- d = create_driver(config, false)
1995
- d.run {}
1996
- plugin = d.instance
1997
- mock(plugin.router).emit_stream('pre.foo.bar.log.post', anything).once
1998
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
1999
- end
2000
-
2001
- def test_tag_prefix_and_suffix_ignore
2002
- config = config_element("", "", {
2003
- "tag" => "pre.*.post*ignore",
2004
- "path" => "test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log",
2005
- "format" => "none",
2006
- "read_from_head" => true
2007
- })
2008
- d = create_driver(config, false)
2009
- d.run {}
2010
- plugin = d.instance
2011
- mock(plugin.router).emit_stream('pre.foo.bar.log.post', anything).once
2012
- plugin.receive_lines(['foo', 'bar'], DummyWatcher.new('foo.bar.log'))
2013
- end
2014
-
2015
- data(
2016
- small: ["128", 128],
2017
- KiB: ["1k", 1024]
2018
- )
2019
- test 'max_line_size' do |(label, size)|
2020
- config = config_element("", "", {
2021
- "tag" => "max_line_size",
2022
- "path" => "#{@tmp_dir}/with_long_lines.txt",
2023
- "format" => "none",
2024
- "read_from_head" => true,
2025
- "max_line_size" => label,
2026
- "log_level" => "debug"
2027
- })
2028
- Fluent::FileWrapper.open("#{@tmp_dir}/with_long_lines.txt", "w+") do |f|
2029
- f.puts "foo"
2030
- f.puts "x" * size # 'x' * size + \n > @max_line_size
2031
- f.puts "bar"
2032
- end
2033
- d = create_driver(config, false)
2034
- timestamp = Time.parse("Mon Nov 29 11:22:33 UTC 2021")
2035
- Timecop.freeze(timestamp)
2036
- d.run(expect_records: 2)
2037
- assert_equal([
2038
- [{"message" => "foo"},{"message" => "bar"}],
2039
- [
2040
- "2021-11-29 11:22:33 +0000 [warn]: received line length is longer than #{size}\n",
2041
- "2021-11-29 11:22:33 +0000 [debug]: skipped line: #{'x' * size}\n"
2042
- ]
2043
- ],
2044
- [
2045
- d.events.collect { |event| event.last },
2046
- d.logs[-2..]
2047
- ])
2048
- end
2049
- end
2050
-
2051
- # Ensure that no fatal exception is raised when a file is missing and that
2052
- # files that do exist are still tailed as expected.
2053
- def test_missing_file
2054
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2055
- f.puts "test1"
2056
- f.puts "test2"
2057
- }
2058
-
2059
- # Try two different configs - one with read_from_head and one without,
2060
- # since their interactions with the filesystem differ.
2061
- config1 = config_element("", "", {
2062
- "tag" => "t1",
2063
- "path" => "#{@tmp_dir}/non_existent_file.txt,#{@tmp_dir}/tail.txt",
2064
- "format" => "none",
2065
- "rotate_wait" => "2s",
2066
- "pos_file" => "#{@tmp_dir}/tail.pos"
2067
- })
2068
- config2 = config1 + config_element("", "", { "read_from_head" => true })
2069
- [config1, config2].each do |config|
2070
- d = create_driver(config, false)
2071
- d.run(expect_emits: 1) do
2072
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
2073
- f.puts "test3"
2074
- f.puts "test4"
2075
- }
2076
- end
2077
- # This test sometimes fails and it shows a potential bug of in_tail
2078
- # https://github.com/fluent/fluentd/issues/1434
2079
- events = d.events
2080
- assert_equal(2, events.length)
2081
- assert_equal({"message" => "test3"}, events[0][2])
2082
- assert_equal({"message" => "test4"}, events[1][2])
2083
- end
2084
- end
2085
-
2086
- sub_test_case 'inode_processing' do
2087
- def test_should_delete_file_pos_entry_for_non_existing_file_with_follow_inodes
2088
- config = common_follow_inode_config
2089
-
2090
- path = "#{@tmp_dir}/tail.txt"
2091
- ino = 1
2092
- pos = 1234
2093
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "wb") {|f|
2094
- f.puts ("%s\t%016x\t%016x\n" % [path, pos, ino])
2095
- }
2096
-
2097
- d = create_driver(config, false)
2098
- d.run
2099
-
2100
- pos_file = Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r")
2101
- pos_file.pos = 0
2102
-
2103
- assert_raise(EOFError) do
2104
- pos_file.readline
2105
- end
2106
- end
2107
-
2108
- def test_should_write_latest_offset_after_rotate_wait
2109
- config = common_follow_inode_config
2110
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2111
- f.puts "test1"
2112
- f.puts "test2"
2113
- }
2114
-
2115
- d = create_driver(config, false)
2116
- d.run(expect_emits: 2, shutdown: false) do
2117
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2118
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt" + "1")
2119
- sleep 1
2120
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt" + "1", "ab") {|f| f.puts "test4\n"}
2121
- end
2122
-
2123
- pos_file = Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r")
2124
- pos_file.pos = 0
2125
- line_parts = /^([^\t]+)\t([0-9a-fA-F]+)\t([0-9a-fA-F]+)/.match(pos_file.readline)
2126
- waiting(5) {
2127
- while line_parts[2].to_i(16) != 24
2128
- sleep(0.1)
2129
- pos_file.pos = 0
2130
- line_parts = /^([^\t]+)\t([0-9a-fA-F]+)\t([0-9a-fA-F]+)/.match(pos_file.readline)
2131
- end
2132
- }
2133
- assert_equal(24, line_parts[2].to_i(16))
2134
- d.instance_shutdown
2135
- end
2136
-
2137
- def test_should_remove_deleted_file
2138
- config = config_element("", "", {"format" => "none"})
2139
-
2140
- path = "#{@tmp_dir}/tail.txt"
2141
- ino = 1
2142
- pos = 1234
2143
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "wb") {|f|
2144
- f.puts ("%s\t%016x\t%016x\n" % [path, pos, ino])
2145
- }
2146
-
2147
- d = create_driver(config)
2148
- d.run do
2149
- pos_file = Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r")
2150
- pos_file.pos = 0
2151
- assert_equal([], pos_file.readlines)
2152
- end
2153
- end
2154
-
2155
- def test_should_mark_file_unwatched_after_limit_recently_modified_and_rotate_wait
2156
- config = config_element("ROOT", "", {
2157
- "path" => "#{@tmp_dir}/tail.txt*",
2158
- "pos_file" => "#{@tmp_dir}/tail.pos",
2159
- "tag" => "t1",
2160
- "rotate_wait" => "1s",
2161
- "refresh_interval" => "1s",
2162
- "limit_recently_modified" => "1s",
2163
- "read_from_head" => "true",
2164
- "format" => "none",
2165
- "follow_inodes" => "true",
2166
- })
2167
-
2168
- d = create_driver(config, false)
2169
-
2170
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2171
- f.puts "test1"
2172
- f.puts "test2"
2173
- }
2174
- target_info = create_target_info("#{@tmp_dir}/tail.txt")
2175
-
2176
- d.run(expect_emits: 1, shutdown: false) do
2177
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2178
- end
2179
-
2180
-
2181
- Timecop.travel(Time.now + 10) do
2182
- waiting(5) {
2183
- # @pos will be reset as 0 when UNWATCHED_POSITION is specified.
2184
- sleep 0.1 until d.instance.instance_variable_get(:@pf)[target_info].read_pos == 0
2185
- }
2186
- end
2187
-
2188
- assert_equal(0, d.instance.instance_variable_get(:@pf)[target_info].read_pos)
2189
-
2190
- d.instance_shutdown
2191
- end
2192
-
2193
- def test_should_read_from_head_on_file_renaming_with_star_in_pattern
2194
- config = config_element("ROOT", "", {
2195
- "path" => "#{@tmp_dir}/tail.txt*",
2196
- "pos_file" => "#{@tmp_dir}/tail.pos",
2197
- "tag" => "t1",
2198
- "rotate_wait" => "10s",
2199
- "refresh_interval" => "1s",
2200
- "limit_recently_modified" => "60s",
2201
- "read_from_head" => "true",
2202
- "format" => "none",
2203
- "follow_inodes" => "true"
2204
- })
2205
-
2206
- d = create_driver(config, false)
2207
-
2208
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2209
- f.puts "test1"
2210
- f.puts "test2"
2211
- }
2212
-
2213
- d.run(expect_emits: 2, shutdown: false) do
2214
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2215
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt1")
2216
- end
2217
-
2218
- events = d.events
2219
- assert_equal(3, events.length)
2220
- d.instance_shutdown
2221
- end
2222
-
2223
- def test_should_not_read_from_head_on_rotation_when_watching_inodes
2224
- config = common_follow_inode_config
2225
-
2226
- d = create_driver(config, false)
2227
-
2228
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2229
- f.puts "test1"
2230
- f.puts "test2"
2231
- }
2232
-
2233
- d.run(expect_emits: 1, shutdown: false) do
2234
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2235
- end
2236
-
2237
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt1")
2238
- Timecop.travel(Time.now + 10) do
2239
- sleep 2
2240
- events = d.events
2241
- assert_equal(3, events.length)
2242
- end
2243
-
2244
- d.instance_shutdown
2245
- end
2246
-
2247
- def test_should_mark_file_unwatched_if_same_name_file_created_with_different_inode
2248
- config = common_follow_inode_config
2249
-
2250
- d = create_driver(config, false)
2251
-
2252
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2253
- f.puts "test1"
2254
- f.puts "test2"
2255
- }
2256
- target_info = create_target_info("#{@tmp_dir}/tail.txt")
2257
-
2258
- d.run(expect_emits: 2, shutdown: false) do
2259
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2260
- cleanup_file("#{@tmp_dir}/tail.txt")
2261
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "test4\n"}
2262
- end
2263
-
2264
- new_target_info = create_target_info("#{@tmp_dir}/tail.txt")
2265
-
2266
- pos_file = d.instance.instance_variable_get(:@pf)
2267
-
2268
- waiting(10) {
2269
- # @pos will be reset as 0 when UNWATCHED_POSITION is specified.
2270
- sleep 0.1 until pos_file[target_info].read_pos == 0
2271
- }
2272
- new_position = pos_file[new_target_info].read_pos
2273
- assert_equal(6, new_position)
2274
-
2275
- d.instance_shutdown
2276
- end
2277
-
2278
- def test_should_close_watcher_after_rotate_wait
2279
- now = Time.now
2280
- config = common_follow_inode_config + config_element('', '', {"rotate_wait" => "1s", "limit_recently_modified" => "1s"})
2281
-
2282
- d = create_driver(config, false)
2283
- d.instance.instance_eval do
2284
- opened_file_metrics = Fluent::Plugin::LocalMetrics.new
2285
- opened_file_metrics.configure(config_element('metrics', '', {}))
2286
- closed_file_metrics = Fluent::Plugin::LocalMetrics.new
2287
- closed_file_metrics.configure(config_element('metrics', '', {}))
2288
- rotated_file_metrics = Fluent::Plugin::LocalMetrics.new
2289
- rotated_file_metrics.configure(config_element('metrics', '', {}))
2290
- @metrics = Fluent::Plugin::TailInput::MetricsInfo.new(opened_file_metrics, closed_file_metrics, rotated_file_metrics)
2291
- end
2292
-
2293
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2294
- f.puts "test1"
2295
- f.puts "test2"
2296
- }
2297
- target_info = create_target_info("#{@tmp_dir}/tail.txt")
2298
- mock.proxy(Fluent::Plugin::TailInput::TailWatcher).new(target_info, anything, anything, true, true, anything, nil, anything, anything).once
2299
- d.run(shutdown: false)
2300
- assert d.instance.instance_variable_get(:@tails)[target_info.path]
2301
-
2302
- Timecop.travel(now + 10) do
2303
- d.instance.instance_eval do
2304
- sleep 0.1 until @tails[target_info.path] == nil
2305
- end
2306
- assert_nil d.instance.instance_variable_get(:@tails)[target_info.path]
2307
- end
2308
- d.instance_shutdown
2309
- end
2310
-
2311
- def test_should_create_new_watcher_for_new_file_with_same_name
2312
- now = Time.now
2313
- config = common_follow_inode_config + config_element('', '', {"limit_recently_modified" => "2s"})
2314
-
2315
- d = create_driver(config, false)
2316
-
2317
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2318
- f.puts "test1"
2319
- f.puts "test2"
2320
- }
2321
- path_ino = create_target_info("#{@tmp_dir}/tail.txt")
2322
-
2323
- d.run(expect_emits: 1, shutdown: false) do
2324
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2325
- end
2326
-
2327
- cleanup_file("#{@tmp_dir}/tail.txt")
2328
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2329
- f.puts "test3"
2330
- f.puts "test4"
2331
- }
2332
- new_path_ino = create_target_info("#{@tmp_dir}/tail.txt")
2333
-
2334
- Timecop.travel(now + 10) do
2335
- sleep 3
2336
- d.instance.instance_eval do
2337
- @tails[path_ino.path] == nil
2338
- @tails[new_path_ino.path] != nil
2339
- end
2340
- end
2341
-
2342
- events = d.events
2343
-
2344
- assert_equal(5, events.length)
2345
-
2346
- d.instance_shutdown
2347
- end
2348
-
2349
- def test_truncate_file_with_follow_inodes
2350
- config = common_follow_inode_config
2351
-
2352
- d = create_driver(config, false)
2353
-
2354
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2355
- f.puts "test1"
2356
- f.puts "test2"
2357
- }
2358
-
2359
- d.run(expect_emits: 3, shutdown: false) do
2360
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "test3\n"}
2361
- sleep 2
2362
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "w+b") {|f| f.puts "test4\n"}
2363
- end
2364
-
2365
- events = d.events
2366
- assert_equal(4, events.length)
2367
- assert_equal({"message" => "test1"}, events[0][2])
2368
- assert_equal({"message" => "test2"}, events[1][2])
2369
- assert_equal({"message" => "test3"}, events[2][2])
2370
- assert_equal({"message" => "test4"}, events[3][2])
2371
- d.instance_shutdown
2372
- end
2373
-
2374
- # issue #3464
2375
- def test_should_replace_target_info
2376
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2377
- f.puts "test1\n"
2378
- }
2379
- target_info = create_target_info("#{@tmp_dir}/tail.txt")
2380
- inodes = []
2381
-
2382
- config = config_element("ROOT", "", {
2383
- "path" => "#{@tmp_dir}/tail.txt*",
2384
- "pos_file" => "#{@tmp_dir}/tail.pos",
2385
- "tag" => "t1",
2386
- "refresh_interval" => "60s",
2387
- "read_from_head" => "true",
2388
- "format" => "none",
2389
- "rotate_wait" => "1s",
2390
- "follow_inodes" => "true"
2391
- })
2392
- d = create_driver(config, false)
2393
- d.run(timeout: 5) do
2394
- while d.events.size < 1 do
2395
- sleep 0.1
2396
- end
2397
- inodes = d.instance.instance_variable_get(:@tails).values.collect do |tw|
2398
- tw.ino
2399
- end
2400
- assert_equal([target_info.ino], inodes)
2401
-
2402
- cleanup_file("#{@tmp_dir}/tail.txt")
2403
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "test2\n"}
2404
-
2405
- while d.events.size < 2 do
2406
- sleep 0.1
2407
- end
2408
- inodes = d.instance.instance_variable_get(:@tails).values.collect do |tw|
2409
- tw.ino
2410
- end
2411
- new_target_info = create_target_info("#{@tmp_dir}/tail.txt")
2412
- assert_not_equal(target_info.ino, new_target_info.ino)
2413
- assert_equal([new_target_info.ino], inodes)
2414
- end
2415
- end
2416
- end
2417
-
2418
- sub_test_case "tail_path" do
2419
- def test_tail_path_with_singleline
2420
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f|
2421
- f.puts "test1"
2422
- f.puts "test2"
2423
- }
2424
-
2425
- d = create_driver(SINGLE_LINE_CONFIG + config_element("", "", { "path_key" => "path" }))
2426
-
2427
- d.run(expect_emits: 1) do
2428
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f|
2429
- f.puts "test3"
2430
- f.puts "test4"
2431
- }
2432
- end
2433
-
2434
- events = d.events
2435
- assert_equal(true, events.length > 0)
2436
- events.each do |emit|
2437
- assert_equal("#{@tmp_dir}/tail.txt", emit[2]["path"])
2438
- end
2439
- end
2440
-
2441
- def test_tail_path_with_multiline_with_firstline
2442
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
2443
-
2444
- config = config_element("", "", {
2445
- "path_key" => "path",
2446
- "format" => "multiline",
2447
- "format1" => "/^s (?<message1>[^\\n]+)(\\nf (?<message2>[^\\n]+))?(\\nf (?<message3>.*))?/",
2448
- "format_firstline" => "/^[s]/"
2449
- })
2450
- d = create_driver(config)
2451
- d.run(expect_emits: 1) do
2452
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
2453
- f.puts "f test1"
2454
- f.puts "s test2"
2455
- f.puts "f test3"
2456
- f.puts "f test4"
2457
- f.puts "s test5"
2458
- f.puts "s test6"
2459
- f.puts "f test7"
2460
- f.puts "s test8"
2461
- }
2462
- end
2463
-
2464
- events = d.events
2465
- assert_equal(4, events.length)
2466
- events.each do |emit|
2467
- assert_equal("#{@tmp_dir}/tail.txt", emit[2]["path"])
2468
- end
2469
- end
2470
-
2471
- def test_tail_path_with_multiline_without_firstline
2472
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") { |f| }
2473
-
2474
- config = config_element("", "", {
2475
- "path_key" => "path",
2476
- "format" => "multiline",
2477
- "format1" => "/(?<var1>foo \\d)\\n/",
2478
- "format2" => "/(?<var2>bar \\d)\\n/",
2479
- "format3" => "/(?<var3>baz \\d)/",
2480
- })
2481
- d = create_driver(config)
2482
- d.run(expect_emits: 1) do
2483
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") { |f|
2484
- f.puts "foo 1"
2485
- f.puts "bar 1"
2486
- f.puts "baz 1"
2487
- }
2488
- end
2489
-
2490
- events = d.events
2491
- assert(events.length > 0)
2492
- events.each do |emit|
2493
- assert_equal("#{@tmp_dir}/tail.txt", emit[2]["path"])
2494
- end
2495
- end
2496
-
2497
- def test_tail_path_with_multiline_with_multiple_paths
2498
- if ENV["APPVEYOR"] && Fluent.windows?
2499
- omit "This testcase is unstable on AppVeyor."
2500
- end
2501
- files = ["#{@tmp_dir}/tail1.txt", "#{@tmp_dir}/tail2.txt"]
2502
- files.each { |file| Fluent::FileWrapper.open(file, "wb") { |f| } }
2503
-
2504
- config = config_element("", "", {
2505
- "path" => "#{files[0]},#{files[1]}",
2506
- "path_key" => "path",
2507
- "tag" => "t1",
2508
- "format" => "multiline",
2509
- "format1" => "/^[s|f] (?<message>.*)/",
2510
- "format_firstline" => "/^[s]/"
2511
- })
2512
- d = create_driver(config, false)
2513
- d.run(expect_emits: 2) do
2514
- files.each do |file|
2515
- Fluent::FileWrapper.open(file, 'ab') { |f|
2516
- f.puts "f #{file} line should be ignored"
2517
- f.puts "s test1"
2518
- f.puts "f test2"
2519
- f.puts "f test3"
2520
- f.puts "s test4"
2521
- }
2522
- end
2523
- end
2524
-
2525
- events = d.events
2526
- assert_equal(4, events.length)
2527
- assert_equal(files, [events[0][2]["path"], events[1][2]["path"]].sort)
2528
- # "test4" events are here because these events are flushed at shutdown phase
2529
- assert_equal(files, [events[2][2]["path"], events[3][2]["path"]].sort)
2530
- end
2531
- end
2532
-
2533
- def test_limit_recently_modified
2534
- now = Time.new(2010, 1, 2, 3, 4, 5)
2535
- FileUtils.touch("#{@tmp_dir}/tail_unwatch.txt", mtime: (now - 3601))
2536
- FileUtils.touch("#{@tmp_dir}/tail_watch1.txt", mtime: (now - 3600))
2537
- FileUtils.touch("#{@tmp_dir}/tail_watch2.txt", mtime: now)
2538
-
2539
- config = config_element('', '', {
2540
- 'tag' => 'tail',
2541
- 'path' => "#{@tmp_dir}/*.txt",
2542
- 'format' => 'none',
2543
- 'limit_recently_modified' => '3600s'
2544
- })
2545
-
2546
- expected_files = [
2547
- create_target_info("#{@tmp_dir}/tail_watch1.txt"),
2548
- create_target_info("#{@tmp_dir}/tail_watch2.txt")
2549
- ]
2550
-
2551
- Timecop.freeze(now) do
2552
- plugin = create_driver(config, false).instance
2553
- assert_equal(expected_files, plugin.expand_paths.values.sort_by { |path_ino| path_ino.path })
2554
- end
2555
- end
2556
-
2557
- def test_skip_refresh_on_startup
2558
- FileUtils.touch("#{@tmp_dir}/tail.txt")
2559
- config = config_element('', '', {
2560
- 'format' => 'none',
2561
- 'refresh_interval' => 1,
2562
- 'skip_refresh_on_startup' => true
2563
- })
2564
- d = create_driver(config)
2565
- d.run(shutdown: false) {}
2566
- assert_equal(0, d.instance.instance_variable_get(:@tails).keys.size)
2567
- # detect a file at first execution of in_tail_refresh_watchers timer
2568
- waiting(5) { sleep 0.1 until d.instance.instance_variable_get(:@tails).keys.size == 1 }
2569
- d.instance_shutdown
2570
- end
2571
-
2572
- def test_ENOENT_error_after_setup_watcher
2573
- path = "#{@tmp_dir}/tail.txt"
2574
- FileUtils.touch(path)
2575
- config = config_element('', '', {
2576
- 'format' => 'none',
2577
- })
2578
- d = create_driver(config)
2579
- file_deleted = false
2580
- mock.proxy(d.instance).existence_path do |hash|
2581
- unless file_deleted
2582
- cleanup_file(path)
2583
- file_deleted = true
2584
- end
2585
- hash
2586
- end.twice
2587
- assert_nothing_raised do
2588
- d.run(shutdown: false) {}
2589
- end
2590
- assert($log.out.logs.any?{|log| log.include?("stat() for #{path} failed. Continuing without tailing it.\n") },
2591
- $log.out.logs.join("\n"))
2592
- ensure
2593
- d.instance_shutdown if d && d.instance
2594
- end
2595
-
2596
- def test_EACCES_error_after_setup_watcher
2597
- omit "Cannot test with root user" if Process::UID.eid == 0
2598
- path = "#{@tmp_dir}/noaccess/tail.txt"
2599
- begin
2600
- FileUtils.mkdir_p("#{@tmp_dir}/noaccess")
2601
- FileUtils.chmod(0755, "#{@tmp_dir}/noaccess")
2602
- FileUtils.touch(path)
2603
- config = config_element('', '', {
2604
- 'tag' => "tail",
2605
- 'path' => path,
2606
- 'format' => 'none',
2607
- })
2608
- d = create_driver(config, false)
2609
- mock.proxy(d.instance).existence_path do |hash|
2610
- FileUtils.chmod(0000, "#{@tmp_dir}/noaccess")
2611
- hash
2612
- end.twice
2613
- assert_nothing_raised do
2614
- d.run(shutdown: false) {}
2615
- end
2616
- assert($log.out.logs.any?{|log| log.include?("stat() for #{path} failed. Continuing without tailing it.\n") },
2617
- $log.out.logs.join("\n"))
2618
- end
2619
- ensure
2620
- d.instance_shutdown if d && d.instance
2621
- if File.exist?("#{@tmp_dir}/noaccess")
2622
- FileUtils.chmod(0755, "#{@tmp_dir}/noaccess")
2623
- FileUtils.rm_rf("#{@tmp_dir}/noaccess")
2624
- end
2625
- end unless Fluent.windows?
2626
-
2627
- def test_EACCES
2628
- path = "#{@tmp_dir}/tail.txt"
2629
- FileUtils.touch(path)
2630
- config = config_element('', '', {
2631
- 'format' => 'none',
2632
- })
2633
- d = create_driver(config)
2634
- mock.proxy(Fluent::FileWrapper).stat(path) do |stat|
2635
- raise Errno::EACCES
2636
- end.at_least(1)
2637
- assert_nothing_raised do
2638
- d.run(shutdown: false) {}
2639
- end
2640
- assert($log.out.logs.any?{|log| log.include?("expand_paths: stat() for #{path} failed with Errno::EACCES. Skip file.\n") })
2641
- ensure
2642
- d.instance_shutdown if d && d.instance
2643
- end
2644
-
2645
- def test_shutdown_timeout
2646
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") do |f|
2647
- # Should be large enough to take too long time to consume
2648
- (1024 * 1024 * 5).times do
2649
- f.puts "{\"test\":\"fizzbuzz\"}"
2650
- end
2651
- end
2652
-
2653
- config =
2654
- CONFIG_READ_FROM_HEAD +
2655
- config_element('', '', {
2656
- 'format' => 'json',
2657
- 'skip_refresh_on_startup' => true,
2658
- })
2659
- shutdown_start_time = 0
2660
-
2661
- d = create_driver(config)
2662
- mock.proxy(d.instance).io_handler(anything, anything) do |io_handler|
2663
- mock.proxy(io_handler).ready_to_shutdown(anything) do
2664
- shutdown_start_time = Fluent::Clock.now
2665
- end
2666
- io_handler.shutdown_timeout = 0.5
2667
- io_handler
2668
- end
2669
-
2670
- assert_nothing_raised do
2671
- d.run(expect_emits: 1)
2672
- end
2673
-
2674
- elapsed = Fluent::Clock.now - shutdown_start_time
2675
- assert_true(elapsed > 0.5 && elapsed < 2.0,
2676
- "elapsed time: #{elapsed}")
2677
- end
2678
-
2679
- sub_test_case "throttling logs at in_tail level" do
2680
- data("file test1.log no_limit 5120 text: msg" => ["test1.log", 5120, "msg"],
2681
- "file test2.log no_limit 1024 text: test" => ["test2.log", 1024, "test"])
2682
- def test_lines_collected_with_no_throttling(data)
2683
- file, num_lines, msg = data
2684
-
2685
- pattern = "/^#{@tmp_dir}\/(?<file>.+)\.log$/"
2686
- rule = create_rule_directive({
2687
- "file" => "/test.*/",
2688
- }, -1)
2689
- group = create_group_directive(pattern, "1s", rule)
2690
- path_element = create_path_element(file)
2691
-
2692
- conf = ROOT_CONFIG + group + path_element + CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG
2693
-
2694
- Fluent::FileWrapper.open("#{@tmp_dir}/#{file}", 'wb') do |f|
2695
- num_lines.times do
2696
- f.puts "#{msg}\n"
2697
- end
2698
- end
2699
-
2700
-
2701
- d = create_driver(conf, false)
2702
- d.run(timeout: 3) do
2703
- start_time = Fluent::Clock.now
2704
-
2705
- assert_equal(num_lines, d.record_count)
2706
- assert_equal({ "message" => msg }, d.events[0][2])
2707
-
2708
- prev_count = d.record_count
2709
- sleep(0.1) while d.emit_count < 1
2710
- assert_true(Fluent::Clock.now - start_time < 2)
2711
- ## after waiting for 1 (+ jitter) secs, limit will reset
2712
- ## Plugin will start reading but it will encounter EOF Error
2713
- ## since no logs are left to be read
2714
- ## Hence, d.record_count = prev_count
2715
- tail_watcher_interval = 1.0 # hard coded value in in_tail
2716
- safety_ratio = 1.2
2717
- jitter = tail_watcher_interval * safety_ratio
2718
- sleep(1.0 + jitter)
2719
- assert_equal(0, d.record_count - prev_count)
2720
- end
2721
- end
2722
-
2723
- test "lines collected with throttling" do
2724
- file = "podname1_namespace12_container-123456.log"
2725
- limit = 1000
2726
- rate_period = 2
2727
- num_lines = 3000
2728
- msg = "a" * 8190 # Total size = 8190 bytes + 2 (\n) bytes
2729
-
2730
- rule = create_rule_directive({
2731
- "namespace"=> "/namespace.+/",
2732
- "podname"=> "/podname.+/",
2733
- }, limit)
2734
- path_element = create_path_element(file)
2735
- conf = ROOT_CONFIG + create_group_directive(tailing_group_pattern, "#{rate_period}s", rule) + path_element + SINGLE_LINE_CONFIG + CONFIG_READ_FROM_HEAD
2736
-
2737
- d = create_driver(conf, false)
2738
- file_path = "#{@tmp_dir}/#{file}"
2739
-
2740
- Fluent::FileWrapper.open(file_path, 'wb') do |f|
2741
- num_lines.times do
2742
- f.puts msg
2743
- end
2744
- end
2745
-
2746
- d.run(timeout: 15) do
2747
- sleep_interval = 0.1
2748
- tail_watcher_interval = 1.0 # hard coded value in in_tail
2749
- safety_ratio = 1.2
2750
- lower_jitter = sleep_interval * safety_ratio
2751
- upper_jitter = (tail_watcher_interval + sleep_interval) * safety_ratio
2752
- lower_interval = rate_period - lower_jitter
2753
- upper_interval = rate_period + upper_jitter
2754
-
2755
- emit_count = 0
2756
- prev_count = 0
2757
-
2758
- while emit_count < 3 do
2759
- start_time = Fluent::Clock.now
2760
- sleep(sleep_interval) while d.emit_count <= emit_count
2761
- elapsed_seconds = Fluent::Clock.now - start_time
2762
- if emit_count > 0
2763
- assert_true(elapsed_seconds > lower_interval && elapsed_seconds < upper_interval,
2764
- "elapsed_seconds #{elapsed_seconds} is out of allowed range:\n" +
2765
- " lower: #{lower_interval} [sec]\n" +
2766
- " upper: #{upper_interval} [sec]")
2767
- end
2768
- assert_equal(limit, d.record_count - prev_count)
2769
- emit_count = d.emit_count
2770
- prev_count = d.record_count
2771
- end
2772
-
2773
- ## When all the lines are read and rate_period seconds are over
2774
- ## limit will reset and since there are no more logs to be read,
2775
- ## number_lines_read will be 0
2776
- sleep upper_interval
2777
- gw = d.instance.find_group_from_metadata(file_path)
2778
- assert_equal(0, gw.current_paths[file_path].number_lines_read)
2779
- end
2780
- end
2781
- end
2782
-
2783
- sub_test_case "Update watchers for rotation with follow_inodes" do
2784
- def test_updateTW_before_refreshTW_and_detach_before_refreshTW
2785
- config = config_element(
2786
- "ROOT",
2787
- "",
2788
- {
2789
- "path" => "#{@tmp_dir}/tail.txt*",
2790
- "pos_file" => "#{@tmp_dir}/tail.pos",
2791
- "tag" => "t1",
2792
- "format" => "none",
2793
- "read_from_head" => "true",
2794
- "follow_inodes" => "true",
2795
- # In order to detach the old watcher quickly.
2796
- "rotate_wait" => "1s",
2797
- # In order to reproduce the same condition stably, ensure that `refresh_watchers` is not
2798
- # called by a timer.
2799
- "refresh_interval" => "1h",
2800
- # stat_watcher often calls `TailWatcher::on_notify` faster than creating a new log file,
2801
- # so disable it in order to reproduce the same condition stably.
2802
- "enable_stat_watcher" => "false",
2803
- }
2804
- )
2805
- d = create_driver(config, false)
2806
-
2807
- tail_watchers = []
2808
- stub.proxy(d.instance).setup_watcher do |tw|
2809
- tail_watchers.append(tw)
2810
- tw
2811
- end
2812
-
2813
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file1 log1"}
2814
-
2815
- d.run(expect_records: 4, timeout: 10) do
2816
- # Rotate (If the timing is bad, `TailWatcher::on_notify` might be called between mv and new-file-creation)
2817
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file1 log2"}
2818
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt" + "1")
2819
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file2 log1"}
2820
-
2821
- # `watch_timer` calls `TailWatcher::on_notify`, and then `update_watcher` updates the TailWatcher:
2822
- # TailWatcher(path: "tail.txt", inode: inode_0) => TailWatcher(path: "tail.txt", inode: inode_1)
2823
- # The old TailWathcer is detached here since `rotate_wait` is just `1s`.
2824
- sleep 3
2825
-
2826
- # This reproduces the following situation:
2827
- # Rotation => update_watcher => refresh_watchers
2828
- # This adds a new TailWatcher: TailWatcher(path: "tail.txt1", inode: inode_0)
2829
- d.instance.refresh_watchers
2830
-
2831
- # Append to the new current log file.
2832
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file2 log2"}
2833
- end
2834
-
2835
- inode_0 = tail_watchers[0].ino
2836
- inode_1 = tail_watchers[1].ino
2837
- record_values = d.events.collect { |event| event[2]["message"] }.sort
2838
- position_entries = []
2839
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
2840
- f.readlines(chomp: true).each do |line|
2841
- values = line.split("\t")
2842
- position_entries.append([values[0], values[1], values[2].to_i(16)])
2843
- end
2844
- end
2845
-
2846
- assert_equal(
2847
- {
2848
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2"],
2849
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt1"],
2850
- tail_watcher_inodes: [inode_0, inode_1, inode_0],
2851
- tail_watcher_io_handler_opened_statuses: [false, false, false],
2852
- position_entries: [
2853
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_0],
2854
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_1],
2855
- ],
2856
- },
2857
- {
2858
- record_values: record_values,
2859
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
2860
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
2861
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
2862
- position_entries: position_entries
2863
- },
2864
- )
2865
- end
2866
-
2867
- def test_updateTW_before_refreshTW_and_detach_after_refreshTW
2868
- config = config_element(
2869
- "ROOT",
2870
- "",
2871
- {
2872
- "path" => "#{@tmp_dir}/tail.txt*",
2873
- "pos_file" => "#{@tmp_dir}/tail.pos",
2874
- "tag" => "t1",
2875
- "format" => "none",
2876
- "read_from_head" => "true",
2877
- "follow_inodes" => "true",
2878
- # In order to detach the old watcher after refresh_watchers.
2879
- "rotate_wait" => "4s",
2880
- # In order to reproduce the same condition stably, ensure that `refresh_watchers` is not
2881
- # called by a timer.
2882
- "refresh_interval" => "1h",
2883
- # stat_watcher often calls `TailWatcher::on_notify` faster than creating a new log file,
2884
- # so disable it in order to reproduce the same condition stably.
2885
- "enable_stat_watcher" => "false",
2886
- }
2887
- )
2888
- d = create_driver(config, false)
2889
-
2890
- tail_watchers = []
2891
- stub.proxy(d.instance).setup_watcher do |tw|
2892
- tail_watchers.append(tw)
2893
- tw
2894
- end
2895
-
2896
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file1 log1"}
2897
-
2898
- d.run(expect_records: 4, timeout: 10) do
2899
- # Rotate (If the timing is bad, `TailWatcher::on_notify` might be called between mv and new-file-creation)
2900
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file1 log2"}
2901
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt" + "1")
2902
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file2 log1"}
2903
-
2904
- # `watch_timer` calls `TailWatcher::on_notify`, and then `update_watcher` updates the TailWatcher:
2905
- # TailWatcher(path: "tail.txt", inode: inode_0) => TailWatcher(path: "tail.txt", inode: inode_1)
2906
- sleep 2
2907
-
2908
- # This reproduces the following situation:
2909
- # Rotation => update_watcher => refresh_watchers
2910
- # This adds a new TailWatcher: TailWatcher(path: "tail.txt1", inode: inode_0)
2911
- d.instance.refresh_watchers
2912
-
2913
- # The old TailWathcer is detached here since `rotate_wait` is `4s`.
2914
- sleep 3
2915
-
2916
- # Append to the new current log file.
2917
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file2 log2"}
2918
- end
2919
-
2920
- inode_0 = tail_watchers[0].ino
2921
- inode_1 = tail_watchers[1].ino
2922
- record_values = d.events.collect { |event| event[2]["message"] }.sort
2923
- position_entries = []
2924
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
2925
- f.readlines(chomp: true).each do |line|
2926
- values = line.split("\t")
2927
- position_entries.append([values[0], values[1], values[2].to_i(16)])
2928
- end
2929
- end
2930
-
2931
- assert_equal(
2932
- {
2933
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2"],
2934
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt1"],
2935
- tail_watcher_inodes: [inode_0, inode_1, inode_0],
2936
- tail_watcher_io_handler_opened_statuses: [false, false, false],
2937
- position_entries: [
2938
- # The recorded path is old, but it is no problem. The path is not used when using follow_inodes.
2939
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_0],
2940
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_1],
2941
- ],
2942
- },
2943
- {
2944
- record_values: record_values,
2945
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
2946
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
2947
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
2948
- position_entries: position_entries
2949
- },
2950
- )
2951
- end
2952
-
2953
- # The scenario where in_tail wrongly detaches TailWatcher.
2954
- # This is reported in https://github.com/fluent/fluentd/issues/4190.
2955
- def test_updateTW_after_refreshTW
2956
- config = config_element(
2957
- "ROOT",
2958
- "",
2959
- {
2960
- "path" => "#{@tmp_dir}/tail.txt*",
2961
- "pos_file" => "#{@tmp_dir}/tail.pos",
2962
- "tag" => "t1",
2963
- "format" => "none",
2964
- "read_from_head" => "true",
2965
- "follow_inodes" => "true",
2966
- # In order to detach the old watcher quickly.
2967
- "rotate_wait" => "1s",
2968
- # In order to reproduce the same condition stably, ensure that `refresh_watchers` is not
2969
- # called by a timer.
2970
- "refresh_interval" => "1h",
2971
- # stat_watcher often calls `TailWatcher::on_notify` faster than creating a new log file,
2972
- # so disable it in order to reproduce the same condition stably.
2973
- "enable_stat_watcher" => "false",
2974
- }
2975
- )
2976
- d = create_driver(config, false)
2977
-
2978
- tail_watchers = []
2979
- stub.proxy(d.instance).setup_watcher do |tw|
2980
- tail_watchers.append(tw)
2981
- tw
2982
- end
2983
-
2984
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file1 log1"}
2985
-
2986
- d.run(expect_records: 4, timeout: 10) do
2987
- # Rotate (If the timing is bad, `TailWatcher::on_notify` might be called between mv and new-file-creation)
2988
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file1 log2"}
2989
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt" + "1")
2990
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file2 log1"}
2991
-
2992
- # This reproduces the following situation:
2993
- # Rotation => refresh_watchers => update_watcher
2994
- # This add a new TailWatcher: TailWatcher(path: "tail.txt", inode: inode_1)
2995
- # This overwrites `@tails["tail.txt"]`
2996
- d.instance.refresh_watchers
2997
-
2998
- # `watch_timer` calls `TailWatcher::on_notify`, and then `update_watcher` trys to update the TailWatcher:
2999
- # TailWatcher(path: "tail.txt", inode: inode_0) => TailWatcher(path: "tail.txt", inode: inode_1)
3000
- # However, it is already added in `refresh_watcher`, so `update_watcher` doesn't create the new TailWatcher.
3001
- # The old TailWathcer is detached here since `rotate_wait` is just `1s`.
3002
- sleep 3
3003
-
3004
- # This adds a new TailWatcher: TailWatcher(path: "tail.txt1", inode: inode_0)
3005
- d.instance.refresh_watchers
3006
-
3007
- # Append to the new current log file.
3008
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file2 log2"}
3009
- end
3010
-
3011
- inode_0 = tail_watchers[0].ino
3012
- inode_1 = tail_watchers[1].ino
3013
- record_values = d.events.collect { |event| event[2]["message"] }.sort
3014
- position_entries = []
3015
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
3016
- f.readlines(chomp: true).each do |line|
3017
- values = line.split("\t")
3018
- position_entries.append([values[0], values[1], values[2].to_i(16)])
3019
- end
3020
- end
3021
-
3022
- assert_equal(
3023
- {
3024
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2"],
3025
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt1"],
3026
- tail_watcher_inodes: [inode_0, inode_1, inode_0],
3027
- tail_watcher_io_handler_opened_statuses: [false, false, false],
3028
- position_entries: [
3029
- # The recorded path is old, but it is no problem. The path is not used when using follow_inodes.
3030
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_0],
3031
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_1],
3032
- ],
3033
- },
3034
- {
3035
- record_values: record_values,
3036
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
3037
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
3038
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
3039
- position_entries: position_entries
3040
- },
3041
- )
3042
- end
3043
-
3044
- def test_path_resurrection
3045
- config = config_element(
3046
- "ROOT",
3047
- "",
3048
- {
3049
- "path" => "#{@tmp_dir}/tail.txt*",
3050
- "pos_file" => "#{@tmp_dir}/tail.pos",
3051
- "tag" => "t1",
3052
- "format" => "none",
3053
- "read_from_head" => "true",
3054
- "follow_inodes" => "true",
3055
- # In order to reproduce the same condition stably, ensure that `refresh_watchers` is not
3056
- # called by a timer.
3057
- "refresh_interval" => "1h",
3058
- # https://github.com/fluent/fluentd/pull/4237#issuecomment-1633358632
3059
- # Because of this problem, log duplication can occur during `rotate_wait`.
3060
- # Need to set `rotate_wait 0` for a workaround.
3061
- "rotate_wait" => "0s",
3062
- }
3063
- )
3064
- d = create_driver(config, false)
3065
-
3066
- tail_watchers = []
3067
- stub.proxy(d.instance).setup_watcher do |tw|
3068
- tail_watchers.append(tw)
3069
- tw
3070
- end
3071
-
3072
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file1 log1"}
3073
-
3074
- d.run(expect_records: 5, timeout: 10) do
3075
- # Rotate
3076
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file1 log2"}
3077
- FileUtils.move("#{@tmp_dir}/tail.txt", "#{@tmp_dir}/tail.txt" + "1")
3078
- # TailWatcher(path: "tail.txt", inode: inode_0) detects `tail.txt` disappeared.
3079
- # Call `update_watcher` to stop and discard self.
3080
- # If not discarding, then it will be a orphan and cause leak and log duplication.
3081
- #
3082
- # This reproduces the case where the notify to TailWatcher comes before the new file for the path
3083
- # is created during rotation.
3084
- # (stat_watcher notifies faster than a new file is created)
3085
- # Overall, this is a rotation operation, but from the TailWatcher, it appears as if the file
3086
- # was resurrected once it disappeared.
3087
- sleep 2 # On Windows and macOS, StatWatcher doesn't work, so need enough interval for TimeTrigger.
3088
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "wb") {|f| f.puts "file2 log1"}
3089
-
3090
- # Add new TailWatchers
3091
- # tail.txt: TailWatcher(path: "tail.txt", inode: inode_1)
3092
- # tail.txt: TailWatcher(path: "tail.txt1", inode: inode_0)
3093
- # NOTE: If not discarding the first TailWatcher on notify, this makes it a orphan because
3094
- # this overwrites the `@tails[tail.txt]` by adding TailWatcher(path: "tail.txt", inode: inode_1)
3095
- d.instance.refresh_watchers
3096
-
3097
- # This does nothing.
3098
- # NOTE: If not discarding the first TailWatcher on notify, this add
3099
- # tail.txt1: TailWatcher(path: "tail.txt1", inode: inode_0)
3100
- # because the previous refresh_watcher overwrites `@tails[tail.txt]` and the inode_0 is lost.
3101
- # This would cause log duplication.
3102
- d.instance.refresh_watchers
3103
-
3104
- # Append to the old file
3105
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt1", "ab") {|f| f.puts "file1 log3"}
3106
-
3107
- # Append to the new current log file.
3108
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt", "ab") {|f| f.puts "file2 log2"}
3109
- end
3110
-
3111
- inode_0 = Fluent::FileWrapper.stat("#{@tmp_dir}/tail.txt1").ino
3112
- inode_1 = Fluent::FileWrapper.stat("#{@tmp_dir}/tail.txt").ino
3113
- record_values = d.events.collect { |event| event[2]["message"] }.sort
3114
- position_entries = []
3115
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
3116
- f.readlines(chomp: true).each do |line|
3117
- values = line.split("\t")
3118
- position_entries.append([values[0], values[1], values[2].to_i(16)])
3119
- end
3120
- end
3121
-
3122
- assert_equal(
3123
- {
3124
- record_values: ["file1 log1", "file1 log2", "file1 log3", "file2 log1", "file2 log2"],
3125
- tail_watcher_set: Set[
3126
- {
3127
- path: "#{@tmp_dir}/tail.txt",
3128
- inode: inode_0,
3129
- io_handler_opened_status: false,
3130
- },
3131
- {
3132
- path: "#{@tmp_dir}/tail.txt",
3133
- inode: inode_1,
3134
- io_handler_opened_status: false,
3135
- },
3136
- {
3137
- path: "#{@tmp_dir}/tail.txt1",
3138
- inode: inode_0,
3139
- io_handler_opened_status: false,
3140
- },
3141
- ],
3142
- position_entries: [
3143
- ["#{@tmp_dir}/tail.txt", "0000000000000021", inode_0],
3144
- ["#{@tmp_dir}/tail.txt", "0000000000000016", inode_1],
3145
- ],
3146
- },
3147
- {
3148
- record_values: record_values,
3149
- tail_watcher_set: Set.new(tail_watchers.collect { |tw|
3150
- {
3151
- path: tw.path,
3152
- inode: tw.ino,
3153
- io_handler_opened_status: tw.instance_variable_get(:@io_handler)&.opened? || false,
3154
- }
3155
- }),
3156
- position_entries: position_entries,
3157
- },
3158
- )
3159
- end
3160
-
3161
- def test_next_rotation_occurs_very_fast_while_old_TW_still_waiting_rotate_wait
3162
- config = config_element(
3163
- "ROOT",
3164
- "",
3165
- {
3166
- "path" => "#{@tmp_dir}/tail.txt*",
3167
- "pos_file" => "#{@tmp_dir}/tail.pos",
3168
- "tag" => "t1",
3169
- "format" => "none",
3170
- "read_from_head" => "true",
3171
- "follow_inodes" => "true",
3172
- "rotate_wait" => "3s",
3173
- "refresh_interval" => "1h",
3174
- # stat_watcher often calls `TailWatcher::on_notify` faster than creating a new log file,
3175
- # so disable it in order to reproduce the same condition stably.
3176
- "enable_stat_watcher" => "false",
3177
- }
3178
- )
3179
- d = create_driver(config, false)
3180
-
3181
- tail_watchers = []
3182
- stub.proxy(d.instance).setup_watcher do |tw|
3183
- tail_watchers.append(tw)
3184
- mock.proxy(tw).close.once # Note: Currently, there is no harm in duplicate calls.
3185
- tw
3186
- end
3187
-
3188
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file1 log1"}
3189
-
3190
- d.run(expect_records: 6, timeout: 15) do
3191
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file1 log2"}
3192
-
3193
- sleep 1.5 # Need to be larger than 1s (the interval of watch_timer)
3194
-
3195
- FileUtils.move("#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt" + "1")
3196
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file2 log1"}
3197
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file2 log2"}
3198
-
3199
- sleep 1.5 # Need to be larger than 1s (the interval of watch_timer)
3200
-
3201
- # Rotate again (Old TailWatcher waiting rotate_wait also calls update_watcher)
3202
- [1, 0].each do |i|
3203
- FileUtils.move("#{@tmp_dir}/tail.txt#{i}", "#{@tmp_dir}/tail.txt#{i + 1}")
3204
- end
3205
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file3 log1"}
3206
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file3 log2"}
3207
-
3208
- # Wait rotate_wait to confirm that TailWatcher.close is not called in duplicate.
3209
- # (Note: Currently, there is no harm in duplicate calls)
3210
- sleep 4
3211
- end
3212
-
3213
- inode_0 = tail_watchers[0]&.ino
3214
- inode_1 = tail_watchers[1]&.ino
3215
- inode_2 = tail_watchers[2]&.ino
3216
- record_values = d.events.collect { |event| event[2]["message"] }.sort
3217
- position_entries = []
3218
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
3219
- f.readlines(chomp: true).each do |line|
3220
- values = line.split("\t")
3221
- position_entries.append([values[0], values[1], values[2].to_i(16)])
3222
- end
3223
- end
3224
-
3225
- assert_equal(
3226
- {
3227
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2", "file3 log1", "file3 log2"],
3228
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0"],
3229
- tail_watcher_inodes: [inode_0, inode_1, inode_2],
3230
- tail_watcher_io_handler_opened_statuses: [false, false, false],
3231
- position_entries: [
3232
- ["#{@tmp_dir}/tail.txt0", "0000000000000016", inode_0],
3233
- ["#{@tmp_dir}/tail.txt0", "0000000000000016", inode_1],
3234
- ["#{@tmp_dir}/tail.txt0", "0000000000000016", inode_2],
3235
- ],
3236
- },
3237
- {
3238
- record_values: record_values,
3239
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
3240
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
3241
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
3242
- position_entries: position_entries
3243
- },
3244
- )
3245
- end
3246
- end
3247
-
3248
- sub_test_case "Update watchers for rotation without follow_inodes" do
3249
- # The scenario where in_tail wrongly unwatches the PositionEntry.
3250
- # This is reported in https://github.com/fluent/fluentd/issues/3614.
3251
- def test_refreshTW_during_rotation
3252
- config = config_element(
3253
- "ROOT",
3254
- "",
3255
- {
3256
- "path" => "#{@tmp_dir}/tail.txt0",
3257
- "pos_file" => "#{@tmp_dir}/tail.pos",
3258
- "tag" => "t1",
3259
- "format" => "none",
3260
- "read_from_head" => "true",
3261
- # In order to detach the old watcher quickly.
3262
- "rotate_wait" => "3s",
3263
- # In order to reproduce the same condition stably, ensure that `refresh_watchers` is not
3264
- # called by a timer.
3265
- "refresh_interval" => "1h",
3266
- # stat_watcher often calls `TailWatcher::on_notify` faster than creating a new log file,
3267
- # so disable it in order to reproduce the same condition stably.
3268
- "enable_stat_watcher" => "false",
3269
- }
3270
- )
3271
- d = create_driver(config, false)
3272
-
3273
- tail_watchers = []
3274
- stub.proxy(d.instance).setup_watcher do |tw|
3275
- tail_watchers.append(tw)
3276
- tw
3277
- end
3278
-
3279
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file1 log1"}
3280
-
3281
- d.run(expect_records: 6, timeout: 15) do
3282
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file1 log2"}
3283
- FileUtils.move("#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt" + "1")
3284
-
3285
- # This reproduces the following situation:
3286
- # `refresh_watchers` is called during the rotation process and it detects the current file being lost.
3287
- # Then it stops and unwatches the TailWatcher.
3288
- d.instance.refresh_watchers
3289
-
3290
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file2 log1"}
3291
-
3292
- # `watch_timer` calls `TailWatcher::on_notify`, and then `update_watcher` trys to add the new TailWatcher.
3293
- # After `rotate_wait` interval, the PositionEntry is unwatched.
3294
- # HOWEVER, the new TailWatcher is still using that PositionEntry, so this breaks the PositionFile!!
3295
- # That PositionEntry is removed from `PositionFile::map`, but it is still working and remaining in the real pos file.
3296
- sleep 5
3297
-
3298
- # Append to the new current log file.
3299
- # The PositionEntry is updated although it does not exist in `PositionFile::map`.
3300
- # `PositionFile::map`: empty
3301
- # Real pos file: `.../tail.txt 0000000000000016 (inode)`
3302
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file2 log2"}
3303
-
3304
- # Rotate again
3305
- [1, 0].each do |i|
3306
- FileUtils.move("#{@tmp_dir}/tail.txt#{i}", "#{@tmp_dir}/tail.txt#{i + 1}")
3307
- end
3308
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file3 log1"}
3309
-
3310
- # `watch_timer` calls `TailWatcher::on_notify`, and then `update_watcher` trys to update the TailWatcher.
3311
- sleep 3
3312
-
3313
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file3 log2"}
3314
- end
3315
-
3316
- inode_0 = tail_watchers[0]&.ino
3317
- inode_1 = tail_watchers[1]&.ino
3318
- inode_2 = tail_watchers[2]&.ino
3319
- record_values = d.events.collect { |event| event[2]["message"] }.sort
3320
- position_entries = []
3321
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
3322
- f.readlines(chomp: true).each do |line|
3323
- values = line.split("\t")
3324
- position_entries.append([values[0], values[1], values[2].to_i(16)])
3325
- end
3326
- end
3327
-
3328
- assert_equal(
3329
- {
3330
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2", "file3 log1", "file3 log2"],
3331
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0"],
3332
- tail_watcher_inodes: [inode_0, inode_1, inode_2],
3333
- tail_watcher_io_handler_opened_statuses: [false, false, false],
3334
- position_entries: [
3335
- # The recorded path is old, but it is no problem. The path is not used when using follow_inodes.
3336
- ["#{@tmp_dir}/tail.txt0", "0000000000000016", inode_2],
3337
- ],
3338
- },
3339
- {
3340
- record_values: record_values,
3341
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
3342
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
3343
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
3344
- position_entries: position_entries
3345
- },
3346
- )
3347
- end
3348
-
3349
- def test_next_rotation_occurs_very_fast_while_old_TW_still_waiting_rotate_wait
3350
- config = config_element(
3351
- "ROOT",
3352
- "",
3353
- {
3354
- "path" => "#{@tmp_dir}/tail.txt0",
3355
- "pos_file" => "#{@tmp_dir}/tail.pos",
3356
- "tag" => "t1",
3357
- "format" => "none",
3358
- "read_from_head" => "true",
3359
- "rotate_wait" => "3s",
3360
- "refresh_interval" => "1h",
3361
- }
3362
- )
3363
- d = create_driver(config, false)
3364
-
3365
- tail_watchers = []
3366
- stub.proxy(d.instance).setup_watcher do |tw|
3367
- tail_watchers.append(tw)
3368
- mock.proxy(tw).close.once # Note: Currently, there is no harm in duplicate calls.
3369
- tw
3370
- end
3371
-
3372
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file1 log1"}
3373
-
3374
- d.run(expect_records: 6, timeout: 15) do
3375
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file1 log2"}
3376
-
3377
- sleep 1.5 # Need to be larger than 1s (the interval of watch_timer)
3378
-
3379
- FileUtils.move("#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt" + "1")
3380
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file2 log1"}
3381
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file2 log2"}
3382
-
3383
- sleep 1.5 # Need to be larger than 1s (the interval of watch_timer)
3384
-
3385
- # Rotate again (Old TailWatcher waiting rotate_wait also calls update_watcher)
3386
- [1, 0].each do |i|
3387
- FileUtils.move("#{@tmp_dir}/tail.txt#{i}", "#{@tmp_dir}/tail.txt#{i + 1}")
3388
- end
3389
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "wb") {|f| f.puts "file3 log1"}
3390
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.txt0", "ab") {|f| f.puts "file3 log2"}
3391
-
3392
- # Wait rotate_wait to confirm that TailWatcher.close is not called in duplicate.
3393
- # (Note: Currently, there is no harm in duplicate calls)
3394
- sleep 4
3395
- end
3396
-
3397
- inode_0 = tail_watchers[0]&.ino
3398
- inode_1 = tail_watchers[1]&.ino
3399
- inode_2 = tail_watchers[2]&.ino
3400
- record_values = d.events.collect { |event| event[2]["message"] }.sort
3401
- position_entries = []
3402
- Fluent::FileWrapper.open("#{@tmp_dir}/tail.pos", "r") do |f|
3403
- f.readlines(chomp: true).each do |line|
3404
- values = line.split("\t")
3405
- position_entries.append([values[0], values[1], values[2].to_i(16)])
3406
- end
3407
- end
3408
-
3409
- assert_equal(
3410
- {
3411
- record_values: ["file1 log1", "file1 log2", "file2 log1", "file2 log2", "file3 log1", "file3 log2"],
3412
- tail_watcher_paths: ["#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0", "#{@tmp_dir}/tail.txt0"],
3413
- tail_watcher_inodes: [inode_0, inode_1, inode_2],
3414
- tail_watcher_io_handler_opened_statuses: [false, false, false],
3415
- position_entries: [
3416
- ["#{@tmp_dir}/tail.txt0", "0000000000000016", inode_2],
3417
- ],
3418
- },
3419
- {
3420
- record_values: record_values,
3421
- tail_watcher_paths: tail_watchers.collect { |tw| tw.path },
3422
- tail_watcher_inodes: tail_watchers.collect { |tw| tw.ino },
3423
- tail_watcher_io_handler_opened_statuses: tail_watchers.collect { |tw| tw.instance_variable_get(:@io_handler)&.opened? || false },
3424
- position_entries: position_entries
3425
- },
3426
- )
3427
- end
3428
- end
3429
- end