ruby_snowflake_client 1.0.0

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 (2097) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +11 -0
  3. data/.github/workflows/ci.yml +42 -0
  4. data/.github/workflows/release.yml +30 -0
  5. data/.gitignore +10 -0
  6. data/Gemfile +12 -0
  7. data/Gemfile.lock +43 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +130 -0
  10. data/Rakefile +3 -0
  11. data/ext/c-decl.go +54 -0
  12. data/ext/extconf.rb +21 -0
  13. data/ext/go.mod +60 -0
  14. data/ext/go.sum +173 -0
  15. data/ext/result.go +181 -0
  16. data/ext/ruby_snowflake.go +179 -0
  17. data/ext/vendor/github.com/99designs/go-keychain/.gitignore +24 -0
  18. data/ext/vendor/github.com/99designs/go-keychain/.golangci.yml +11 -0
  19. data/ext/vendor/github.com/99designs/go-keychain/.travis.yml +20 -0
  20. data/ext/vendor/github.com/99designs/go-keychain/LICENSE +22 -0
  21. data/ext/vendor/github.com/99designs/go-keychain/README.md +159 -0
  22. data/ext/vendor/github.com/99designs/go-keychain/corefoundation.go +359 -0
  23. data/ext/vendor/github.com/99designs/go-keychain/datetime.go +68 -0
  24. data/ext/vendor/github.com/99designs/go-keychain/ios.go +22 -0
  25. data/ext/vendor/github.com/99designs/go-keychain/keychain.go +531 -0
  26. data/ext/vendor/github.com/99designs/go-keychain/macos.go +272 -0
  27. data/ext/vendor/github.com/99designs/go-keychain/util.go +31 -0
  28. data/ext/vendor/github.com/99designs/keyring/.gitattributes +1 -0
  29. data/ext/vendor/github.com/99designs/keyring/.gitignore +1 -0
  30. data/ext/vendor/github.com/99designs/keyring/.golangci.yml +39 -0
  31. data/ext/vendor/github.com/99designs/keyring/LICENSE +22 -0
  32. data/ext/vendor/github.com/99designs/keyring/README.md +67 -0
  33. data/ext/vendor/github.com/99designs/keyring/Vagrantfile +85 -0
  34. data/ext/vendor/github.com/99designs/keyring/array.go +54 -0
  35. data/ext/vendor/github.com/99designs/keyring/config.go +58 -0
  36. data/ext/vendor/github.com/99designs/keyring/docker-compose.yml +7 -0
  37. data/ext/vendor/github.com/99designs/keyring/file.go +181 -0
  38. data/ext/vendor/github.com/99designs/keyring/keychain.go +296 -0
  39. data/ext/vendor/github.com/99designs/keyring/keyctl.go +327 -0
  40. data/ext/vendor/github.com/99designs/keyring/keyring.go +134 -0
  41. data/ext/vendor/github.com/99designs/keyring/kwallet.go +237 -0
  42. data/ext/vendor/github.com/99designs/keyring/pass.go +166 -0
  43. data/ext/vendor/github.com/99designs/keyring/prompt.go +27 -0
  44. data/ext/vendor/github.com/99designs/keyring/secretservice.go +293 -0
  45. data/ext/vendor/github.com/99designs/keyring/tilde.go +22 -0
  46. data/ext/vendor/github.com/99designs/keyring/wincred.go +98 -0
  47. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md +537 -0
  48. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/LICENSE.txt +21 -0
  49. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/README.md +39 -0
  50. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/ci.yml +29 -0
  51. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go +44 -0
  52. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go +53 -0
  53. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go +113 -0
  54. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go +257 -0
  55. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go +14 -0
  56. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go +48 -0
  57. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go +83 -0
  58. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go +97 -0
  59. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go +182 -0
  60. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go +142 -0
  61. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go +38 -0
  62. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go +158 -0
  63. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go +134 -0
  64. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go +118 -0
  65. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go +144 -0
  66. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go +24 -0
  67. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go +317 -0
  68. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go +35 -0
  69. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go +159 -0
  70. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go +10 -0
  71. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go +50 -0
  72. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go +10 -0
  73. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go +155 -0
  74. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go +10 -0
  75. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go +19 -0
  76. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go +77 -0
  77. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go +66 -0
  78. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go +75 -0
  79. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_bearer_token.go +116 -0
  80. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go +73 -0
  81. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go +39 -0
  82. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go +34 -0
  83. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go +263 -0
  84. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go +34 -0
  85. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go +251 -0
  86. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go +79 -0
  87. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go +326 -0
  88. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go +248 -0
  89. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go +136 -0
  90. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go +37 -0
  91. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go +9 -0
  92. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go +75 -0
  93. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/to/doc.go +9 -0
  94. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/to/to.go +21 -0
  95. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go +41 -0
  96. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go +168 -0
  97. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/LICENSE.txt +21 -0
  98. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/diag/diag.go +51 -0
  99. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/diag/doc.go +7 -0
  100. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo/doc.go +7 -0
  101. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo/errorinfo.go +16 -0
  102. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/log/doc.go +7 -0
  103. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/log/log.go +104 -0
  104. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/temporal/resource.go +123 -0
  105. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/uuid/doc.go +7 -0
  106. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/uuid/uuid.go +76 -0
  107. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md +167 -0
  108. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/LICENSE.txt +21 -0
  109. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md +274 -0
  110. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go +352 -0
  111. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/models.go +176 -0
  112. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/responses.go +26 -0
  113. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json +6 -0
  114. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go +446 -0
  115. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/constants.go +229 -0
  116. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/models.go +567 -0
  117. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/responses.go +116 -0
  118. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go +192 -0
  119. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/utils.go +79 -0
  120. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror/error_codes.go +156 -0
  121. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/chunkwriting.go +313 -0
  122. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go +532 -0
  123. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/constants.go +39 -0
  124. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/mmf_unix.go +38 -0
  125. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/mmf_windows.go +54 -0
  126. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/models.go +348 -0
  127. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/responses.go +114 -0
  128. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/ci.yml +28 -0
  129. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go +176 -0
  130. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/common.go +36 -0
  131. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/constants.go +37 -0
  132. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/client.go +331 -0
  133. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/constants.go +150 -0
  134. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go +331 -0
  135. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/responses.go +44 -0
  136. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/doc.go +213 -0
  137. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/base/clients.go +89 -0
  138. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/access_conditions.go +43 -0
  139. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/access_policy.go +67 -0
  140. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/exported.go +33 -0
  141. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/log_events.go +14 -0
  142. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/set_expiry.go +71 -0
  143. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go +218 -0
  144. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/transfer_validation_option.go +67 -0
  145. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/user_delegation_credential.go +64 -0
  146. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go +12 -0
  147. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/appendblob_client.go +19 -0
  148. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md +387 -0
  149. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/blob_client.go +17 -0
  150. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/block_blob_client.go +19 -0
  151. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/build.go +10 -0
  152. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/container_client.go +17 -0
  153. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/models.go +65 -0
  154. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/pageblob_client.go +17 -0
  155. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/service_client.go +17 -0
  156. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go +659 -0
  157. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go +2879 -0
  158. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go +972 -0
  159. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go +714 -0
  160. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go +1478 -0
  161. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go +1733 -0
  162. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go +481 -0
  163. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go +1297 -0
  164. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_response_types.go +1972 -0
  165. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go +558 -0
  166. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go +43 -0
  167. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go +59 -0
  168. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go +41 -0
  169. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go +77 -0
  170. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/bytes_writer.go +30 -0
  171. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/section_writer.go +53 -0
  172. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/shared.go +243 -0
  173. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/log.go +11 -0
  174. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/migrationguide.md +76 -0
  175. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/models.go +69 -0
  176. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go +433 -0
  177. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/constants.go +65 -0
  178. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/models.go +330 -0
  179. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/responses.go +38 -0
  180. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/responses.go +51 -0
  181. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/account.go +202 -0
  182. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/query_params.go +440 -0
  183. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go +448 -0
  184. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go +166 -0
  185. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/client.go +282 -0
  186. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/constants.go +92 -0
  187. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/models.go +301 -0
  188. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/responses.go +44 -0
  189. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/test-resources.json +579 -0
  190. data/ext/vendor/github.com/andybalholm/brotli/LICENSE +19 -0
  191. data/ext/vendor/github.com/andybalholm/brotli/README.md +7 -0
  192. data/ext/vendor/github.com/andybalholm/brotli/backward_references.go +185 -0
  193. data/ext/vendor/github.com/andybalholm/brotli/backward_references_hq.go +796 -0
  194. data/ext/vendor/github.com/andybalholm/brotli/bit_cost.go +436 -0
  195. data/ext/vendor/github.com/andybalholm/brotli/bit_reader.go +266 -0
  196. data/ext/vendor/github.com/andybalholm/brotli/block_splitter.go +144 -0
  197. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_command.go +434 -0
  198. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_distance.go +433 -0
  199. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_literal.go +433 -0
  200. data/ext/vendor/github.com/andybalholm/brotli/brotli_bit_stream.go +1300 -0
  201. data/ext/vendor/github.com/andybalholm/brotli/cluster.go +30 -0
  202. data/ext/vendor/github.com/andybalholm/brotli/cluster_command.go +164 -0
  203. data/ext/vendor/github.com/andybalholm/brotli/cluster_distance.go +326 -0
  204. data/ext/vendor/github.com/andybalholm/brotli/cluster_literal.go +326 -0
  205. data/ext/vendor/github.com/andybalholm/brotli/command.go +254 -0
  206. data/ext/vendor/github.com/andybalholm/brotli/compress_fragment.go +834 -0
  207. data/ext/vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go +748 -0
  208. data/ext/vendor/github.com/andybalholm/brotli/constants.go +77 -0
  209. data/ext/vendor/github.com/andybalholm/brotli/context.go +2176 -0
  210. data/ext/vendor/github.com/andybalholm/brotli/decode.go +2586 -0
  211. data/ext/vendor/github.com/andybalholm/brotli/dictionary.go +122890 -0
  212. data/ext/vendor/github.com/andybalholm/brotli/dictionary_hash.go +32779 -0
  213. data/ext/vendor/github.com/andybalholm/brotli/encode.go +1220 -0
  214. data/ext/vendor/github.com/andybalholm/brotli/encoder_dict.go +22 -0
  215. data/ext/vendor/github.com/andybalholm/brotli/entropy_encode.go +592 -0
  216. data/ext/vendor/github.com/andybalholm/brotli/entropy_encode_static.go +4394 -0
  217. data/ext/vendor/github.com/andybalholm/brotli/fast_log.go +290 -0
  218. data/ext/vendor/github.com/andybalholm/brotli/find_match_length.go +45 -0
  219. data/ext/vendor/github.com/andybalholm/brotli/h10.go +287 -0
  220. data/ext/vendor/github.com/andybalholm/brotli/h5.go +214 -0
  221. data/ext/vendor/github.com/andybalholm/brotli/h6.go +216 -0
  222. data/ext/vendor/github.com/andybalholm/brotli/hash.go +342 -0
  223. data/ext/vendor/github.com/andybalholm/brotli/hash_composite.go +93 -0
  224. data/ext/vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go +252 -0
  225. data/ext/vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go +214 -0
  226. data/ext/vendor/github.com/andybalholm/brotli/hash_rolling.go +168 -0
  227. data/ext/vendor/github.com/andybalholm/brotli/histogram.go +226 -0
  228. data/ext/vendor/github.com/andybalholm/brotli/http.go +192 -0
  229. data/ext/vendor/github.com/andybalholm/brotli/huffman.go +653 -0
  230. data/ext/vendor/github.com/andybalholm/brotli/literal_cost.go +182 -0
  231. data/ext/vendor/github.com/andybalholm/brotli/memory.go +66 -0
  232. data/ext/vendor/github.com/andybalholm/brotli/metablock.go +574 -0
  233. data/ext/vendor/github.com/andybalholm/brotli/metablock_command.go +165 -0
  234. data/ext/vendor/github.com/andybalholm/brotli/metablock_distance.go +165 -0
  235. data/ext/vendor/github.com/andybalholm/brotli/metablock_literal.go +165 -0
  236. data/ext/vendor/github.com/andybalholm/brotli/params.go +37 -0
  237. data/ext/vendor/github.com/andybalholm/brotli/platform.go +103 -0
  238. data/ext/vendor/github.com/andybalholm/brotli/prefix.go +30 -0
  239. data/ext/vendor/github.com/andybalholm/brotli/prefix_dec.go +723 -0
  240. data/ext/vendor/github.com/andybalholm/brotli/quality.go +196 -0
  241. data/ext/vendor/github.com/andybalholm/brotli/reader.go +102 -0
  242. data/ext/vendor/github.com/andybalholm/brotli/ringbuffer.go +134 -0
  243. data/ext/vendor/github.com/andybalholm/brotli/state.go +295 -0
  244. data/ext/vendor/github.com/andybalholm/brotli/static_dict.go +662 -0
  245. data/ext/vendor/github.com/andybalholm/brotli/static_dict_lut.go +75094 -0
  246. data/ext/vendor/github.com/andybalholm/brotli/symbol_list.go +22 -0
  247. data/ext/vendor/github.com/andybalholm/brotli/transform.go +641 -0
  248. data/ext/vendor/github.com/andybalholm/brotli/utf8_util.go +70 -0
  249. data/ext/vendor/github.com/andybalholm/brotli/util.go +7 -0
  250. data/ext/vendor/github.com/andybalholm/brotli/write_bits.go +52 -0
  251. data/ext/vendor/github.com/andybalholm/brotli/writer.go +119 -0
  252. data/ext/vendor/github.com/apache/arrow/go/v10/LICENSE.txt +1873 -0
  253. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/.editorconfig +21 -0
  254. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/.gitignore +35 -0
  255. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Gopkg.lock +44 -0
  256. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Gopkg.toml +23 -0
  257. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Makefile +54 -0
  258. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/array.go +184 -0
  259. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/binary.go +308 -0
  260. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/binarybuilder.go +335 -0
  261. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/boolean.go +117 -0
  262. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/booleanbuilder.go +234 -0
  263. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder.go +143 -0
  264. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_byte.go +30 -0
  265. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_numeric.gen.go +124 -0
  266. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_numeric.gen.go.tmpl +61 -0
  267. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/builder.go +337 -0
  268. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/compare.go +728 -0
  269. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/concat.go +567 -0
  270. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/data.go +250 -0
  271. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/decimal128.go +334 -0
  272. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/decimal256.go +333 -0
  273. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/dictionary.go +1666 -0
  274. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/doc.go +20 -0
  275. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/extension.go +256 -0
  276. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixed_size_list.go +337 -0
  277. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixedsize_binary.go +116 -0
  278. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixedsize_binarybuilder.go +229 -0
  279. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/float16.go +107 -0
  280. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/float16_builder.go +237 -0
  281. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/interval.go +847 -0
  282. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/json_reader.go +205 -0
  283. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/list.go +589 -0
  284. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/map.go +304 -0
  285. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/null.go +198 -0
  286. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numeric.gen.go +1406 -0
  287. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numeric.gen.go.tmpl +136 -0
  288. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen.go +3429 -0
  289. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen.go.tmpl +371 -0
  290. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen_test.go.tmpl +216 -0
  291. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/record.go +383 -0
  292. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/string.go +498 -0
  293. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/struct.go +442 -0
  294. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/table.go +337 -0
  295. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/union.go +1308 -0
  296. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/util.go +492 -0
  297. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array.go +122 -0
  298. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/arrio/arrio.go +92 -0
  299. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/Makefile +62 -0
  300. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops.go +63 -0
  301. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_amd64.go +35 -0
  302. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_arm64.go +25 -0
  303. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_avx2_amd64.go +38 -0
  304. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_avx2_amd64.s +192 -0
  305. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_noasm.go +25 -0
  306. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_ppc64le.go +25 -0
  307. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_s390x.go +25 -0
  308. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_sse4_amd64.go +38 -0
  309. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_sse4_amd64.s +256 -0
  310. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmaps.go +586 -0
  311. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitutil.go +220 -0
  312. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/endian_default.go +33 -0
  313. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/endian_s390x.go +32 -0
  314. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/compare.go +127 -0
  315. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype.go +376 -0
  316. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_binary.go +98 -0
  317. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_extension.go +173 -0
  318. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_fixedwidth.go +786 -0
  319. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_nested.go +732 -0
  320. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_null.go +33 -0
  321. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go +206 -0
  322. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go.tmpl +45 -0
  323. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go.tmpldata +66 -0
  324. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/decimal128/decimal128.go +445 -0
  325. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/decimal256/decimal256.go +545 -0
  326. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/doc.go +43 -0
  327. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/big.go +30 -0
  328. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/endian.go +41 -0
  329. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/little.go +30 -0
  330. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/errors.go +27 -0
  331. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/float16/float16.go +70 -0
  332. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/assert_off.go +24 -0
  333. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/assert_on.go +28 -0
  334. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/doc.go +32 -0
  335. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/log_off.go +21 -0
  336. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/log_on.go +32 -0
  337. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/util.go +37 -0
  338. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/dictutils/dict.go +406 -0
  339. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Binary.go +51 -0
  340. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Block.go +74 -0
  341. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/BodyCompression.go +89 -0
  342. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/BodyCompressionMethod.go +52 -0
  343. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Bool.go +50 -0
  344. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Buffer.go +73 -0
  345. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/CompressionType.go +45 -0
  346. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Date.go +71 -0
  347. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DateUnit.go +45 -0
  348. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Decimal.go +107 -0
  349. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryBatch.go +108 -0
  350. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryEncoding.go +135 -0
  351. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryKind.go +47 -0
  352. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Duration.go +65 -0
  353. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Endianness.go +47 -0
  354. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Feature.go +71 -0
  355. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Field.go +188 -0
  356. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FieldNode.go +76 -0
  357. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FixedSizeBinary.go +67 -0
  358. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FixedSizeList.go +67 -0
  359. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FloatingPoint.go +65 -0
  360. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Footer.go +162 -0
  361. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Int.go +80 -0
  362. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Interval.go +65 -0
  363. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/IntervalUnit.go +48 -0
  364. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/KeyValue.go +75 -0
  365. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeBinary.go +52 -0
  366. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeList.go +52 -0
  367. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeUtf8.go +52 -0
  368. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/List.go +50 -0
  369. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Map.go +92 -0
  370. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Message.go +133 -0
  371. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/MessageHeader.go +65 -0
  372. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/MetadataVersion.go +65 -0
  373. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Null.go +51 -0
  374. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Precision.go +48 -0
  375. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/RecordBatch.go +154 -0
  376. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Schema.go +159 -0
  377. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixCompressedAxis.go +45 -0
  378. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixIndexCSR.go +181 -0
  379. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixIndexCSX.go +200 -0
  380. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensor.go +175 -0
  381. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndex.go +51 -0
  382. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndexCOO.go +179 -0
  383. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndexCSF.go +291 -0
  384. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Struct_.go +53 -0
  385. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Tensor.go +163 -0
  386. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/TensorDim.go +83 -0
  387. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Time.go +94 -0
  388. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/TimeUnit.go +51 -0
  389. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Timestamp.go +201 -0
  390. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Type.go +108 -0
  391. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Union.go +101 -0
  392. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/UnionMode.go +45 -0
  393. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Utf8.go +51 -0
  394. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/utils.go +47 -0
  395. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/compression.go +120 -0
  396. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/endian_swap.go +162 -0
  397. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/file_reader.go +728 -0
  398. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/file_writer.go +392 -0
  399. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/ipc.go +178 -0
  400. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/message.go +242 -0
  401. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/metadata.go +1237 -0
  402. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/reader.go +284 -0
  403. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/writer.go +892 -0
  404. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/Makefile +66 -0
  405. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/allocator.go +33 -0
  406. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/buffer.go +145 -0
  407. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator.go +108 -0
  408. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator_defaults.go +23 -0
  409. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator_logging.go +23 -0
  410. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/checked_allocator.go +157 -0
  411. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/doc.go +20 -0
  412. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/go_allocator.go +48 -0
  413. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.cc +71 -0
  414. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.go +107 -0
  415. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.h +39 -0
  416. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/helpers.h +52 -0
  417. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory.go +33 -0
  418. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_amd64.go +33 -0
  419. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_arm64.go +31 -0
  420. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_avx2_amd64.go +41 -0
  421. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_avx2_amd64.s +85 -0
  422. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_js_wasm.go +23 -0
  423. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_neon_arm64.go +31 -0
  424. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_neon_arm64.s +43 -0
  425. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_noasm.go +23 -0
  426. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_sse4_amd64.go +31 -0
  427. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_sse4_amd64.s +84 -0
  428. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/util.go +37 -0
  429. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/numeric.schema.json +15 -0
  430. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/numeric.tmpldata +147 -0
  431. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/record.go +48 -0
  432. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/schema.go +266 -0
  433. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/table.go +189 -0
  434. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/tools.go +25 -0
  435. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_string.go +61 -0
  436. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_boolean.go +28 -0
  437. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_decimal128.go +75 -0
  438. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_decimal256.go +70 -0
  439. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_float16.go +74 -0
  440. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_interval.go +184 -0
  441. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen.go +814 -0
  442. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen.go.tmpl +95 -0
  443. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen_test.go.tmpl +61 -0
  444. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/unionmode_string.go +25 -0
  445. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_block_counter.go +417 -0
  446. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_run_reader.go +151 -0
  447. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_set_run_reader.go +346 -0
  448. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bitmap_generate.go +107 -0
  449. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/types.tmpldata +42 -0
  450. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.gen.go +2783 -0
  451. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.gen.go.tmpl +343 -0
  452. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.go +465 -0
  453. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/Makefile +80 -0
  454. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/buf_reader.go +212 -0
  455. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/endians_default.go +31 -0
  456. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/endians_s390x.go +33 -0
  457. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/math.go +49 -0
  458. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max.go +212 -0
  459. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_amd64.go +56 -0
  460. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_arm64.go +66 -0
  461. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_avx2_amd64.go +91 -0
  462. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_avx2_amd64.s +927 -0
  463. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_neon_arm64.go +56 -0
  464. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_neon_arm64.s +324 -0
  465. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_noasm.go +32 -0
  466. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_ppc64le.go +31 -0
  467. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_s390x.go +31 -0
  468. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_sse4_amd64.go +89 -0
  469. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_sse4_amd64.s +1044 -0
  470. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.go +407 -0
  471. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.go.tmpl +34 -0
  472. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.tmpldata +34 -0
  473. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_amd64.go +326 -0
  474. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_amd64.go.tmpl +75 -0
  475. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_arm64.go +97 -0
  476. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_avx2_amd64.go +474 -0
  477. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_avx2_amd64.s +3074 -0
  478. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_def.go +227 -0
  479. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_noasm.go +97 -0
  480. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_noasm.go.tmpl +34 -0
  481. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_ppc64le.go +97 -0
  482. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_s390x.go +97 -0
  483. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_s390x.go.tmpl +34 -0
  484. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_simd.go.tmpl +42 -0
  485. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_sse4_amd64.go +474 -0
  486. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_sse4_amd64.s +3074 -0
  487. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/.gitignore +31 -0
  488. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/brotli.go +115 -0
  489. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/compress.go +156 -0
  490. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/gzip.go +98 -0
  491. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/snappy.go +62 -0
  492. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/zstd.go +112 -0
  493. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/doc.go +67 -0
  494. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/encryption_properties.go +711 -0
  495. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/assert_off.go +24 -0
  496. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/assert_on.go +28 -0
  497. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/doc.go +23 -0
  498. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/log_off.go +24 -0
  499. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/log_on.go +32 -0
  500. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/GoUnusedProtection__.go +6 -0
  501. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/parquet-consts.go +23 -0
  502. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/parquet.go +10967 -0
  503. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/staticcheck.conf +17 -0
  504. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/reader_properties.go +88 -0
  505. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/tools.go +26 -0
  506. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/types.go +391 -0
  507. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/version_string.go +25 -0
  508. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/writer_properties.go +533 -0
  509. data/ext/vendor/github.com/apache/thrift/LICENSE +306 -0
  510. data/ext/vendor/github.com/apache/thrift/NOTICE +5 -0
  511. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/application_exception.go +183 -0
  512. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/binary_protocol.go +548 -0
  513. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/buf_pool.go +52 -0
  514. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/buffered_transport.go +99 -0
  515. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/client.go +109 -0
  516. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/compact_protocol.go +846 -0
  517. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/configuration.go +378 -0
  518. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/context.go +24 -0
  519. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/debug_protocol.go +447 -0
  520. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/deserializer.go +121 -0
  521. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/exception.go +116 -0
  522. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/framed_transport.go +250 -0
  523. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_context.go +110 -0
  524. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_protocol.go +351 -0
  525. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_transport.go +816 -0
  526. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/http_client.go +256 -0
  527. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/http_transport.go +74 -0
  528. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/iostream_transport.go +222 -0
  529. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/json_protocol.go +564 -0
  530. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/logger.go +69 -0
  531. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/memory_buffer.go +80 -0
  532. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/messagetype.go +31 -0
  533. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/middleware.go +109 -0
  534. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol.go +237 -0
  535. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/numeric.go +164 -0
  536. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/pointerize.go +52 -0
  537. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/processor_factory.go +80 -0
  538. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol.go +184 -0
  539. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol_exception.go +104 -0
  540. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol_factory.go +25 -0
  541. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/response_helper.go +94 -0
  542. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/rich_transport.go +71 -0
  543. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/serializer.go +136 -0
  544. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server.go +35 -0
  545. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server_socket.go +137 -0
  546. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server_transport.go +34 -0
  547. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/simple_json_protocol.go +1334 -0
  548. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/simple_server.go +336 -0
  549. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket.go +241 -0
  550. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_conn.go +124 -0
  551. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_non_unix_conn.go +35 -0
  552. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_unix_conn.go +84 -0
  553. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/ssl_server_socket.go +112 -0
  554. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/ssl_socket.go +262 -0
  555. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/staticcheck.conf +4 -0
  556. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport.go +70 -0
  557. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport_exception.go +131 -0
  558. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport_factory.go +39 -0
  559. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/type.go +69 -0
  560. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/zlib_transport.go +137 -0
  561. data/ext/vendor/github.com/aws/aws-sdk-go-v2/LICENSE.txt +202 -0
  562. data/ext/vendor/github.com/aws/aws-sdk-go-v2/NOTICE.txt +3 -0
  563. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/arn/arn.go +92 -0
  564. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go +179 -0
  565. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/context.go +22 -0
  566. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go +218 -0
  567. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go +131 -0
  568. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go +38 -0
  569. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/configuration.go +43 -0
  570. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/defaults.go +50 -0
  571. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/doc.go +2 -0
  572. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaultsmode.go +95 -0
  573. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/doc.go +62 -0
  574. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go +229 -0
  575. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/errors.go +9 -0
  576. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/from_ptr.go +365 -0
  577. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +6 -0
  578. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging.go +119 -0
  579. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging_generate.go +95 -0
  580. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go +180 -0
  581. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/middleware.go +168 -0
  582. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go +24 -0
  583. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go +24 -0
  584. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id.go +27 -0
  585. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go +49 -0
  586. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go +243 -0
  587. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md +54 -0
  588. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/LICENSE.txt +202 -0
  589. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/debug.go +144 -0
  590. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/decode.go +218 -0
  591. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/encode.go +167 -0
  592. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/error.go +23 -0
  593. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/headers.go +24 -0
  594. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/middleware.go +71 -0
  595. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/transport.go +13 -0
  596. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/transport_go117.go +12 -0
  597. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go +6 -0
  598. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/header.go +175 -0
  599. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/header_value.go +521 -0
  600. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/message.go +117 -0
  601. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/xml/error_utils.go +56 -0
  602. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_bucket.go +96 -0
  603. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_rate_limit.go +87 -0
  604. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/request.go +25 -0
  605. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive.go +156 -0
  606. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_ratelimit.go +158 -0
  607. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_token_bucket.go +83 -0
  608. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/doc.go +80 -0
  609. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/errors.go +20 -0
  610. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/jitter_backoff.go +49 -0
  611. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/metadata.go +52 -0
  612. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go +331 -0
  613. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retry.go +90 -0
  614. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go +186 -0
  615. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/standard.go +258 -0
  616. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/throttle_error.go +60 -0
  617. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/timeout_error.go +52 -0
  618. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retryer.go +127 -0
  619. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/runtime.go +14 -0
  620. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/cache.go +115 -0
  621. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/const.go +40 -0
  622. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/header_rules.go +82 -0
  623. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go +68 -0
  624. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/hmac.go +13 -0
  625. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/host.go +75 -0
  626. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/scope.go +13 -0
  627. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/time.go +36 -0
  628. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/util.go +80 -0
  629. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go +400 -0
  630. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/presign_middleware.go +127 -0
  631. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go +86 -0
  632. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go +548 -0
  633. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/to_ptr.go +297 -0
  634. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go +310 -0
  635. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/content_type.go +42 -0
  636. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error.go +33 -0
  637. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error_middleware.go +54 -0
  638. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/timeout_read_closer.go +104 -0
  639. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/types.go +42 -0
  640. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/version.go +8 -0
  641. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md +197 -0
  642. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/LICENSE.txt +202 -0
  643. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/doc.go +4 -0
  644. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go +6 -0
  645. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/static_provider.go +53 -0
  646. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md +249 -0
  647. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/LICENSE.txt +202 -0
  648. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/api.go +37 -0
  649. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/arn.go +23 -0
  650. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/bucket_region.go +139 -0
  651. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/buffered_read_seeker.go +79 -0
  652. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_read_seeker_write_to.go +8 -0
  653. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_read_seeker_write_to_windows.go +5 -0
  654. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_writer_read_from.go +8 -0
  655. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_writer_read_from_windows.go +5 -0
  656. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/doc.go +3 -0
  657. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/download.go +525 -0
  658. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go +6 -0
  659. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/pool.go +251 -0
  660. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/read_seeker_write_to.go +65 -0
  661. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/types.go +187 -0
  662. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/upload.go +808 -0
  663. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/writer_read_from.go +83 -0
  664. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/copy.go +112 -0
  665. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/equal.go +33 -0
  666. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/path_value.go +225 -0
  667. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/prettify.go +131 -0
  668. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/string_value.go +88 -0
  669. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +130 -0
  670. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/LICENSE.txt +202 -0
  671. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/config.go +65 -0
  672. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +6 -0
  673. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +103 -0
  674. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/LICENSE.txt +202 -0
  675. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/endpoints.go +302 -0
  676. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +6 -0
  677. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/rand/rand.go +33 -0
  678. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/interfaces.go +9 -0
  679. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/time.go +74 -0
  680. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdkio/byte.go +12 -0
  681. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/strings/strings.go +11 -0
  682. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/LICENSE +28 -0
  683. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/docs.go +7 -0
  684. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/singleflight.go +210 -0
  685. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/timeconv/duration.go +13 -0
  686. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +61 -0
  687. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/LICENSE.txt +202 -0
  688. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/credentials.go +141 -0
  689. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/error.go +17 -0
  690. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +6 -0
  691. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto/compare.go +30 -0
  692. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto/ecc.go +113 -0
  693. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/const.go +36 -0
  694. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/header_rules.go +82 -0
  695. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/headers.go +67 -0
  696. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/hmac.go +13 -0
  697. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/host.go +75 -0
  698. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/time.go +36 -0
  699. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/util.go +64 -0
  700. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/middleware.go +105 -0
  701. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/presign_middleware.go +117 -0
  702. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/v4a.go +520 -0
  703. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md +80 -0
  704. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/LICENSE.txt +202 -0
  705. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/accept_encoding_gzip.go +176 -0
  706. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/doc.go +22 -0
  707. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go +6 -0
  708. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md +84 -0
  709. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/LICENSE.txt +202 -0
  710. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/algorithms.go +323 -0
  711. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/aws_chunked_encoding.go +389 -0
  712. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go +6 -0
  713. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go +185 -0
  714. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go +479 -0
  715. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go +117 -0
  716. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_validate_output.go +131 -0
  717. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +147 -0
  718. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/LICENSE.txt +202 -0
  719. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/context.go +48 -0
  720. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/doc.go +3 -0
  721. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +6 -0
  722. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/middleware.go +110 -0
  723. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md +156 -0
  724. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/LICENSE.txt +202 -0
  725. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/accesspoint_arn.go +53 -0
  726. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/arn.go +85 -0
  727. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/outpost_arn.go +128 -0
  728. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/s3_object_lambda_arn.go +15 -0
  729. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn_lookup.go +73 -0
  730. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config/config.go +22 -0
  731. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/endpoint_error.go +183 -0
  732. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go +6 -0
  733. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/host_id.go +29 -0
  734. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/metadata.go +28 -0
  735. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/metadata_retriever.go +52 -0
  736. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/resource_request.go +77 -0
  737. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/response_error.go +33 -0
  738. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/response_error_middleware.go +60 -0
  739. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/update_endpoint.go +78 -0
  740. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/xml_utils.go +89 -0
  741. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +228 -0
  742. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/LICENSE.txt +202 -0
  743. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go +772 -0
  744. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go +232 -0
  745. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go +436 -0
  746. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go +574 -0
  747. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go +318 -0
  748. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go +604 -0
  749. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go +200 -0
  750. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go +189 -0
  751. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go +172 -0
  752. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go +180 -0
  753. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go +188 -0
  754. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go +188 -0
  755. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go +178 -0
  756. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go +194 -0
  757. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go +171 -0
  758. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go +181 -0
  759. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go +179 -0
  760. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go +170 -0
  761. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go +179 -0
  762. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go +270 -0
  763. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go +202 -0
  764. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go +294 -0
  765. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go +183 -0
  766. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go +188 -0
  767. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go +181 -0
  768. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go +194 -0
  769. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go +179 -0
  770. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go +188 -0
  771. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go +193 -0
  772. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go +192 -0
  773. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go +209 -0
  774. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go +248 -0
  775. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go +177 -0
  776. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go +199 -0
  777. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go +193 -0
  778. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go +177 -0
  779. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go +180 -0
  780. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go +189 -0
  781. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go +188 -0
  782. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go +172 -0
  783. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go +185 -0
  784. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go +186 -0
  785. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go +190 -0
  786. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go +593 -0
  787. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go +224 -0
  788. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go +363 -0
  789. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go +195 -0
  790. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go +181 -0
  791. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go +195 -0
  792. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go +223 -0
  793. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go +191 -0
  794. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go +196 -0
  795. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go +541 -0
  796. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go +884 -0
  797. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go +214 -0
  798. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go +206 -0
  799. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go +215 -0
  800. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go +218 -0
  801. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go +145 -0
  802. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go +310 -0
  803. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go +276 -0
  804. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go +284 -0
  805. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go +408 -0
  806. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go +424 -0
  807. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go +237 -0
  808. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go +368 -0
  809. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go +234 -0
  810. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go +253 -0
  811. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go +243 -0
  812. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go +225 -0
  813. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go +235 -0
  814. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go +269 -0
  815. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go +258 -0
  816. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go +209 -0
  817. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go +209 -0
  818. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go +197 -0
  819. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go +229 -0
  820. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go +264 -0
  821. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go +221 -0
  822. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go +266 -0
  823. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go +243 -0
  824. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go +279 -0
  825. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go +613 -0
  826. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go +410 -0
  827. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go +237 -0
  828. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go +234 -0
  829. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go +244 -0
  830. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go +291 -0
  831. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go +240 -0
  832. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go +457 -0
  833. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go +426 -0
  834. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go +496 -0
  835. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go +437 -0
  836. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go +457 -0
  837. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go +21940 -0
  838. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/doc.go +5 -0
  839. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go +208 -0
  840. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/eventstream.go +285 -0
  841. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json +128 -0
  842. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +6 -0
  843. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/arn/arn_parser.go +106 -0
  844. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/doc.go +80 -0
  845. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/handle_200_error.go +74 -0
  846. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/host.go +22 -0
  847. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/presigned_expires.go +49 -0
  848. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/process_arn_resource.go +564 -0
  849. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/remove_bucket_middleware.go +58 -0
  850. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/s3_object_lambda.go +84 -0
  851. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go +213 -0
  852. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/update_endpoint.go +306 -0
  853. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go +836 -0
  854. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go +12713 -0
  855. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go +1200 -0
  856. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go +188 -0
  857. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go +3892 -0
  858. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go +5494 -0
  859. data/ext/vendor/github.com/aws/smithy-go/.gitignore +22 -0
  860. data/ext/vendor/github.com/aws/smithy-go/.travis.yml +28 -0
  861. data/ext/vendor/github.com/aws/smithy-go/CHANGELOG.md +157 -0
  862. data/ext/vendor/github.com/aws/smithy-go/CODE_OF_CONDUCT.md +4 -0
  863. data/ext/vendor/github.com/aws/smithy-go/CONTRIBUTING.md +59 -0
  864. data/ext/vendor/github.com/aws/smithy-go/LICENSE +175 -0
  865. data/ext/vendor/github.com/aws/smithy-go/Makefile +63 -0
  866. data/ext/vendor/github.com/aws/smithy-go/NOTICE +1 -0
  867. data/ext/vendor/github.com/aws/smithy-go/README.md +12 -0
  868. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/docs.go +3 -0
  869. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/middleware.go +104 -0
  870. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/token.go +50 -0
  871. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/token_cache.go +208 -0
  872. data/ext/vendor/github.com/aws/smithy-go/context/suppress_expired.go +81 -0
  873. data/ext/vendor/github.com/aws/smithy-go/doc.go +2 -0
  874. data/ext/vendor/github.com/aws/smithy-go/document/doc.go +12 -0
  875. data/ext/vendor/github.com/aws/smithy-go/document/document.go +153 -0
  876. data/ext/vendor/github.com/aws/smithy-go/document/errors.go +75 -0
  877. data/ext/vendor/github.com/aws/smithy-go/document.go +10 -0
  878. data/ext/vendor/github.com/aws/smithy-go/encoding/doc.go +4 -0
  879. data/ext/vendor/github.com/aws/smithy-go/encoding/encoding.go +40 -0
  880. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/encode.go +116 -0
  881. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/header.go +122 -0
  882. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/path_replace.go +108 -0
  883. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/query.go +107 -0
  884. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/uri.go +111 -0
  885. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/array.go +49 -0
  886. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/constants.go +10 -0
  887. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/doc.go +49 -0
  888. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/element.go +91 -0
  889. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/encoder.go +51 -0
  890. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/error_utils.go +51 -0
  891. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/escape.go +137 -0
  892. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go +53 -0
  893. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/value.go +302 -0
  894. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/xml_decoder.go +154 -0
  895. data/ext/vendor/github.com/aws/smithy-go/errors.go +137 -0
  896. data/ext/vendor/github.com/aws/smithy-go/go_module_metadata.go +6 -0
  897. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/LICENSE +28 -0
  898. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/docs.go +8 -0
  899. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/singleflight.go +210 -0
  900. data/ext/vendor/github.com/aws/smithy-go/io/byte.go +12 -0
  901. data/ext/vendor/github.com/aws/smithy-go/io/doc.go +2 -0
  902. data/ext/vendor/github.com/aws/smithy-go/io/reader.go +16 -0
  903. data/ext/vendor/github.com/aws/smithy-go/io/ringbuffer.go +94 -0
  904. data/ext/vendor/github.com/aws/smithy-go/local-mod-replace.sh +39 -0
  905. data/ext/vendor/github.com/aws/smithy-go/logging/logger.go +82 -0
  906. data/ext/vendor/github.com/aws/smithy-go/middleware/doc.go +67 -0
  907. data/ext/vendor/github.com/aws/smithy-go/middleware/logging.go +46 -0
  908. data/ext/vendor/github.com/aws/smithy-go/middleware/metadata.go +65 -0
  909. data/ext/vendor/github.com/aws/smithy-go/middleware/middleware.go +71 -0
  910. data/ext/vendor/github.com/aws/smithy-go/middleware/ordered_group.go +268 -0
  911. data/ext/vendor/github.com/aws/smithy-go/middleware/stack.go +209 -0
  912. data/ext/vendor/github.com/aws/smithy-go/middleware/stack_values.go +100 -0
  913. data/ext/vendor/github.com/aws/smithy-go/middleware/step_build.go +211 -0
  914. data/ext/vendor/github.com/aws/smithy-go/middleware/step_deserialize.go +217 -0
  915. data/ext/vendor/github.com/aws/smithy-go/middleware/step_finalize.go +211 -0
  916. data/ext/vendor/github.com/aws/smithy-go/middleware/step_initialize.go +211 -0
  917. data/ext/vendor/github.com/aws/smithy-go/middleware/step_serialize.go +219 -0
  918. data/ext/vendor/github.com/aws/smithy-go/modman.toml +11 -0
  919. data/ext/vendor/github.com/aws/smithy-go/ptr/doc.go +5 -0
  920. data/ext/vendor/github.com/aws/smithy-go/ptr/from_ptr.go +601 -0
  921. data/ext/vendor/github.com/aws/smithy-go/ptr/gen_scalars.go +83 -0
  922. data/ext/vendor/github.com/aws/smithy-go/ptr/to_ptr.go +499 -0
  923. data/ext/vendor/github.com/aws/smithy-go/rand/doc.go +3 -0
  924. data/ext/vendor/github.com/aws/smithy-go/rand/rand.go +31 -0
  925. data/ext/vendor/github.com/aws/smithy-go/rand/uuid.go +87 -0
  926. data/ext/vendor/github.com/aws/smithy-go/sync/error.go +53 -0
  927. data/ext/vendor/github.com/aws/smithy-go/time/time.go +134 -0
  928. data/ext/vendor/github.com/aws/smithy-go/transport/http/checksum_middleware.go +70 -0
  929. data/ext/vendor/github.com/aws/smithy-go/transport/http/client.go +120 -0
  930. data/ext/vendor/github.com/aws/smithy-go/transport/http/doc.go +5 -0
  931. data/ext/vendor/github.com/aws/smithy-go/transport/http/headerlist.go +163 -0
  932. data/ext/vendor/github.com/aws/smithy-go/transport/http/host.go +89 -0
  933. data/ext/vendor/github.com/aws/smithy-go/transport/http/internal/io/safe.go +75 -0
  934. data/ext/vendor/github.com/aws/smithy-go/transport/http/md5_checksum.go +25 -0
  935. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go +79 -0
  936. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_content_length.go +84 -0
  937. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_headers.go +167 -0
  938. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_http_logging.go +75 -0
  939. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_metadata.go +51 -0
  940. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_min_proto.go +79 -0
  941. data/ext/vendor/github.com/aws/smithy-go/transport/http/request.go +189 -0
  942. data/ext/vendor/github.com/aws/smithy-go/transport/http/response.go +34 -0
  943. data/ext/vendor/github.com/aws/smithy-go/transport/http/time.go +13 -0
  944. data/ext/vendor/github.com/aws/smithy-go/transport/http/url.go +44 -0
  945. data/ext/vendor/github.com/aws/smithy-go/transport/http/user_agent.go +37 -0
  946. data/ext/vendor/github.com/aws/smithy-go/validation.go +140 -0
  947. data/ext/vendor/github.com/aws/smithy-go/waiter/logger.go +36 -0
  948. data/ext/vendor/github.com/aws/smithy-go/waiter/waiter.go +66 -0
  949. data/ext/vendor/github.com/danieljoos/wincred/.gitattributes +1 -0
  950. data/ext/vendor/github.com/danieljoos/wincred/.gitignore +25 -0
  951. data/ext/vendor/github.com/danieljoos/wincred/LICENSE +21 -0
  952. data/ext/vendor/github.com/danieljoos/wincred/README.md +145 -0
  953. data/ext/vendor/github.com/danieljoos/wincred/conversion.go +116 -0
  954. data/ext/vendor/github.com/danieljoos/wincred/conversion_unsupported.go +11 -0
  955. data/ext/vendor/github.com/danieljoos/wincred/sys.go +143 -0
  956. data/ext/vendor/github.com/danieljoos/wincred/sys_unsupported.go +36 -0
  957. data/ext/vendor/github.com/danieljoos/wincred/types.go +69 -0
  958. data/ext/vendor/github.com/danieljoos/wincred/wincred.go +111 -0
  959. data/ext/vendor/github.com/dvsekhvalnov/jose2go/.gitignore +23 -0
  960. data/ext/vendor/github.com/dvsekhvalnov/jose2go/LICENSE +21 -0
  961. data/ext/vendor/github.com/dvsekhvalnov/jose2go/README.md +938 -0
  962. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes/ecb.go +68 -0
  963. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes/key_wrap.go +113 -0
  964. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_cbc_hmac.go +112 -0
  965. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_gcm.go +98 -0
  966. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_gcm_kw.go +128 -0
  967. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aeskw.go +64 -0
  968. data/ext/vendor/github.com/dvsekhvalnov/jose2go/arrays/arrays.go +116 -0
  969. data/ext/vendor/github.com/dvsekhvalnov/jose2go/base64url/base64url.go +31 -0
  970. data/ext/vendor/github.com/dvsekhvalnov/jose2go/compact/compact.go +33 -0
  971. data/ext/vendor/github.com/dvsekhvalnov/jose2go/deflate.go +39 -0
  972. data/ext/vendor/github.com/dvsekhvalnov/jose2go/direct.go +39 -0
  973. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdh.go +157 -0
  974. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdh_aeskw.go +42 -0
  975. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdsa_using_sha.go +76 -0
  976. data/ext/vendor/github.com/dvsekhvalnov/jose2go/hmac.go +13 -0
  977. data/ext/vendor/github.com/dvsekhvalnov/jose2go/hmac_using_sha.go +46 -0
  978. data/ext/vendor/github.com/dvsekhvalnov/jose2go/jose.go +424 -0
  979. data/ext/vendor/github.com/dvsekhvalnov/jose2go/kdf/nist_sp800_56a.go +43 -0
  980. data/ext/vendor/github.com/dvsekhvalnov/jose2go/kdf/pbkdf2.go +63 -0
  981. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_cert.pem +14 -0
  982. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_private.key +5 -0
  983. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_private.pem +5 -0
  984. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_public.key +4 -0
  985. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ecc.go +88 -0
  986. data/ext/vendor/github.com/dvsekhvalnov/jose2go/padding/align.go +23 -0
  987. data/ext/vendor/github.com/dvsekhvalnov/jose2go/padding/pkcs7.go +38 -0
  988. data/ext/vendor/github.com/dvsekhvalnov/jose2go/pbse2_hmac_aeskw.go +103 -0
  989. data/ext/vendor/github.com/dvsekhvalnov/jose2go/plaintext.go +38 -0
  990. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_oaep.go +57 -0
  991. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_pkcs1v15.go +41 -0
  992. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_using_sha.go +50 -0
  993. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsapss_using_sha.go +43 -0
  994. data/ext/vendor/github.com/dvsekhvalnov/jose2go/sha.go +24 -0
  995. data/ext/vendor/github.com/form3tech-oss/jwt-go/.gitignore +5 -0
  996. data/ext/vendor/github.com/form3tech-oss/jwt-go/.travis.yml +12 -0
  997. data/ext/vendor/github.com/form3tech-oss/jwt-go/LICENSE +8 -0
  998. data/ext/vendor/github.com/form3tech-oss/jwt-go/MIGRATION_GUIDE.md +97 -0
  999. data/ext/vendor/github.com/form3tech-oss/jwt-go/README.md +104 -0
  1000. data/ext/vendor/github.com/form3tech-oss/jwt-go/VERSION_HISTORY.md +118 -0
  1001. data/ext/vendor/github.com/form3tech-oss/jwt-go/claims.go +136 -0
  1002. data/ext/vendor/github.com/form3tech-oss/jwt-go/doc.go +4 -0
  1003. data/ext/vendor/github.com/form3tech-oss/jwt-go/ecdsa.go +148 -0
  1004. data/ext/vendor/github.com/form3tech-oss/jwt-go/ecdsa_utils.go +69 -0
  1005. data/ext/vendor/github.com/form3tech-oss/jwt-go/errors.go +59 -0
  1006. data/ext/vendor/github.com/form3tech-oss/jwt-go/hmac.go +95 -0
  1007. data/ext/vendor/github.com/form3tech-oss/jwt-go/map_claims.go +122 -0
  1008. data/ext/vendor/github.com/form3tech-oss/jwt-go/none.go +52 -0
  1009. data/ext/vendor/github.com/form3tech-oss/jwt-go/parser.go +148 -0
  1010. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa.go +101 -0
  1011. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa_pss.go +142 -0
  1012. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa_utils.go +101 -0
  1013. data/ext/vendor/github.com/form3tech-oss/jwt-go/signing_method.go +35 -0
  1014. data/ext/vendor/github.com/form3tech-oss/jwt-go/token.go +108 -0
  1015. data/ext/vendor/github.com/gabriel-vasile/mimetype/.gitattributes +1 -0
  1016. data/ext/vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md +76 -0
  1017. data/ext/vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md +12 -0
  1018. data/ext/vendor/github.com/gabriel-vasile/mimetype/LICENSE +21 -0
  1019. data/ext/vendor/github.com/gabriel-vasile/mimetype/README.md +108 -0
  1020. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go +309 -0
  1021. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go +544 -0
  1022. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go +116 -0
  1023. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go +76 -0
  1024. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go +196 -0
  1025. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go +13 -0
  1026. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go +62 -0
  1027. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go +39 -0
  1028. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go +57 -0
  1029. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go +55 -0
  1030. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go +106 -0
  1031. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go +239 -0
  1032. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go +225 -0
  1033. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go +42 -0
  1034. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go +375 -0
  1035. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go +51 -0
  1036. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go +85 -0
  1037. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go +92 -0
  1038. data/ext/vendor/github.com/gabriel-vasile/mimetype/mime.go +186 -0
  1039. data/ext/vendor/github.com/gabriel-vasile/mimetype/mimetype.gif +0 -0
  1040. data/ext/vendor/github.com/gabriel-vasile/mimetype/mimetype.go +123 -0
  1041. data/ext/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md +176 -0
  1042. data/ext/vendor/github.com/gabriel-vasile/mimetype/tree.go +258 -0
  1043. data/ext/vendor/github.com/goccy/go-json/.codecov.yml +32 -0
  1044. data/ext/vendor/github.com/goccy/go-json/.gitignore +2 -0
  1045. data/ext/vendor/github.com/goccy/go-json/.golangci.yml +83 -0
  1046. data/ext/vendor/github.com/goccy/go-json/CHANGELOG.md +393 -0
  1047. data/ext/vendor/github.com/goccy/go-json/LICENSE +21 -0
  1048. data/ext/vendor/github.com/goccy/go-json/Makefile +39 -0
  1049. data/ext/vendor/github.com/goccy/go-json/README.md +529 -0
  1050. data/ext/vendor/github.com/goccy/go-json/color.go +68 -0
  1051. data/ext/vendor/github.com/goccy/go-json/decode.go +232 -0
  1052. data/ext/vendor/github.com/goccy/go-json/docker-compose.yml +13 -0
  1053. data/ext/vendor/github.com/goccy/go-json/encode.go +326 -0
  1054. data/ext/vendor/github.com/goccy/go-json/error.go +39 -0
  1055. data/ext/vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go +37 -0
  1056. data/ext/vendor/github.com/goccy/go-json/internal/decoder/array.go +169 -0
  1057. data/ext/vendor/github.com/goccy/go-json/internal/decoder/bool.go +78 -0
  1058. data/ext/vendor/github.com/goccy/go-json/internal/decoder/bytes.go +113 -0
  1059. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile.go +487 -0
  1060. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go +29 -0
  1061. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile_race.go +37 -0
  1062. data/ext/vendor/github.com/goccy/go-json/internal/decoder/context.go +254 -0
  1063. data/ext/vendor/github.com/goccy/go-json/internal/decoder/float.go +158 -0
  1064. data/ext/vendor/github.com/goccy/go-json/internal/decoder/func.go +141 -0
  1065. data/ext/vendor/github.com/goccy/go-json/internal/decoder/int.go +242 -0
  1066. data/ext/vendor/github.com/goccy/go-json/internal/decoder/interface.go +458 -0
  1067. data/ext/vendor/github.com/goccy/go-json/internal/decoder/invalid.go +45 -0
  1068. data/ext/vendor/github.com/goccy/go-json/internal/decoder/map.go +187 -0
  1069. data/ext/vendor/github.com/goccy/go-json/internal/decoder/number.go +112 -0
  1070. data/ext/vendor/github.com/goccy/go-json/internal/decoder/option.go +15 -0
  1071. data/ext/vendor/github.com/goccy/go-json/internal/decoder/ptr.go +87 -0
  1072. data/ext/vendor/github.com/goccy/go-json/internal/decoder/slice.go +301 -0
  1073. data/ext/vendor/github.com/goccy/go-json/internal/decoder/stream.go +556 -0
  1074. data/ext/vendor/github.com/goccy/go-json/internal/decoder/string.go +441 -0
  1075. data/ext/vendor/github.com/goccy/go-json/internal/decoder/struct.go +819 -0
  1076. data/ext/vendor/github.com/goccy/go-json/internal/decoder/type.go +29 -0
  1077. data/ext/vendor/github.com/goccy/go-json/internal/decoder/uint.go +190 -0
  1078. data/ext/vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go +99 -0
  1079. data/ext/vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go +280 -0
  1080. data/ext/vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go +68 -0
  1081. data/ext/vendor/github.com/goccy/go-json/internal/encoder/code.go +1017 -0
  1082. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compact.go +286 -0
  1083. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler.go +930 -0
  1084. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go +32 -0
  1085. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go +45 -0
  1086. data/ext/vendor/github.com/goccy/go-json/internal/encoder/context.go +105 -0
  1087. data/ext/vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go +126 -0
  1088. data/ext/vendor/github.com/goccy/go-json/internal/encoder/encoder.go +596 -0
  1089. data/ext/vendor/github.com/goccy/go-json/internal/encoder/indent.go +211 -0
  1090. data/ext/vendor/github.com/goccy/go-json/internal/encoder/int.go +152 -0
  1091. data/ext/vendor/github.com/goccy/go-json/internal/encoder/map112.go +9 -0
  1092. data/ext/vendor/github.com/goccy/go-json/internal/encoder/map113.go +9 -0
  1093. data/ext/vendor/github.com/goccy/go-json/internal/encoder/opcode.go +669 -0
  1094. data/ext/vendor/github.com/goccy/go-json/internal/encoder/option.go +47 -0
  1095. data/ext/vendor/github.com/goccy/go-json/internal/encoder/optype.go +932 -0
  1096. data/ext/vendor/github.com/goccy/go-json/internal/encoder/query.go +135 -0
  1097. data/ext/vendor/github.com/goccy/go-json/internal/encoder/string.go +459 -0
  1098. data/ext/vendor/github.com/goccy/go-json/internal/encoder/string_table.go +415 -0
  1099. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go +35 -0
  1100. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go +9 -0
  1101. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/util.go +207 -0
  1102. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go +4859 -0
  1103. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go +35 -0
  1104. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go +9 -0
  1105. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go +274 -0
  1106. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/vm.go +4859 -0
  1107. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go +35 -0
  1108. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go +296 -0
  1109. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/vm.go +4859 -0
  1110. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go +35 -0
  1111. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go +9 -0
  1112. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go +229 -0
  1113. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go +4859 -0
  1114. data/ext/vendor/github.com/goccy/go-json/internal/errors/error.go +164 -0
  1115. data/ext/vendor/github.com/goccy/go-json/internal/runtime/rtype.go +263 -0
  1116. data/ext/vendor/github.com/goccy/go-json/internal/runtime/struct_field.go +91 -0
  1117. data/ext/vendor/github.com/goccy/go-json/internal/runtime/type.go +100 -0
  1118. data/ext/vendor/github.com/goccy/go-json/json.go +371 -0
  1119. data/ext/vendor/github.com/goccy/go-json/option.go +72 -0
  1120. data/ext/vendor/github.com/goccy/go-json/query.go +47 -0
  1121. data/ext/vendor/github.com/godbus/dbus/.travis.yml +46 -0
  1122. data/ext/vendor/github.com/godbus/dbus/CONTRIBUTING.md +50 -0
  1123. data/ext/vendor/github.com/godbus/dbus/LICENSE +25 -0
  1124. data/ext/vendor/github.com/godbus/dbus/MAINTAINERS +3 -0
  1125. data/ext/vendor/github.com/godbus/dbus/README.markdown +44 -0
  1126. data/ext/vendor/github.com/godbus/dbus/auth.go +252 -0
  1127. data/ext/vendor/github.com/godbus/dbus/auth_anonymous.go +16 -0
  1128. data/ext/vendor/github.com/godbus/dbus/auth_external.go +26 -0
  1129. data/ext/vendor/github.com/godbus/dbus/auth_sha1.go +102 -0
  1130. data/ext/vendor/github.com/godbus/dbus/call.go +60 -0
  1131. data/ext/vendor/github.com/godbus/dbus/conn.go +865 -0
  1132. data/ext/vendor/github.com/godbus/dbus/conn_darwin.go +37 -0
  1133. data/ext/vendor/github.com/godbus/dbus/conn_other.go +93 -0
  1134. data/ext/vendor/github.com/godbus/dbus/conn_unix.go +17 -0
  1135. data/ext/vendor/github.com/godbus/dbus/conn_windows.go +15 -0
  1136. data/ext/vendor/github.com/godbus/dbus/dbus.go +427 -0
  1137. data/ext/vendor/github.com/godbus/dbus/decoder.go +286 -0
  1138. data/ext/vendor/github.com/godbus/dbus/default_handler.go +328 -0
  1139. data/ext/vendor/github.com/godbus/dbus/doc.go +69 -0
  1140. data/ext/vendor/github.com/godbus/dbus/encoder.go +210 -0
  1141. data/ext/vendor/github.com/godbus/dbus/export.go +412 -0
  1142. data/ext/vendor/github.com/godbus/dbus/homedir.go +28 -0
  1143. data/ext/vendor/github.com/godbus/dbus/homedir_dynamic.go +15 -0
  1144. data/ext/vendor/github.com/godbus/dbus/homedir_static.go +45 -0
  1145. data/ext/vendor/github.com/godbus/dbus/match.go +62 -0
  1146. data/ext/vendor/github.com/godbus/dbus/message.go +353 -0
  1147. data/ext/vendor/github.com/godbus/dbus/object.go +211 -0
  1148. data/ext/vendor/github.com/godbus/dbus/server_interfaces.go +107 -0
  1149. data/ext/vendor/github.com/godbus/dbus/sig.go +259 -0
  1150. data/ext/vendor/github.com/godbus/dbus/transport_darwin.go +6 -0
  1151. data/ext/vendor/github.com/godbus/dbus/transport_generic.go +50 -0
  1152. data/ext/vendor/github.com/godbus/dbus/transport_nonce_tcp.go +39 -0
  1153. data/ext/vendor/github.com/godbus/dbus/transport_tcp.go +41 -0
  1154. data/ext/vendor/github.com/godbus/dbus/transport_unix.go +214 -0
  1155. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_dragonfly.go +95 -0
  1156. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_freebsd.go +91 -0
  1157. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_linux.go +25 -0
  1158. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_openbsd.go +14 -0
  1159. data/ext/vendor/github.com/godbus/dbus/variant.go +144 -0
  1160. data/ext/vendor/github.com/godbus/dbus/variant_lexer.go +284 -0
  1161. data/ext/vendor/github.com/godbus/dbus/variant_parser.go +817 -0
  1162. data/ext/vendor/github.com/golang/snappy/.gitignore +16 -0
  1163. data/ext/vendor/github.com/golang/snappy/AUTHORS +18 -0
  1164. data/ext/vendor/github.com/golang/snappy/CONTRIBUTORS +41 -0
  1165. data/ext/vendor/github.com/golang/snappy/LICENSE +27 -0
  1166. data/ext/vendor/github.com/golang/snappy/README +107 -0
  1167. data/ext/vendor/github.com/golang/snappy/decode.go +264 -0
  1168. data/ext/vendor/github.com/golang/snappy/decode_amd64.s +490 -0
  1169. data/ext/vendor/github.com/golang/snappy/decode_arm64.s +494 -0
  1170. data/ext/vendor/github.com/golang/snappy/decode_asm.go +15 -0
  1171. data/ext/vendor/github.com/golang/snappy/decode_other.go +115 -0
  1172. data/ext/vendor/github.com/golang/snappy/encode.go +289 -0
  1173. data/ext/vendor/github.com/golang/snappy/encode_amd64.s +730 -0
  1174. data/ext/vendor/github.com/golang/snappy/encode_arm64.s +722 -0
  1175. data/ext/vendor/github.com/golang/snappy/encode_asm.go +30 -0
  1176. data/ext/vendor/github.com/golang/snappy/encode_other.go +238 -0
  1177. data/ext/vendor/github.com/golang/snappy/snappy.go +98 -0
  1178. data/ext/vendor/github.com/google/flatbuffers/LICENSE.txt +202 -0
  1179. data/ext/vendor/github.com/google/flatbuffers/go/BUILD.bazel +23 -0
  1180. data/ext/vendor/github.com/google/flatbuffers/go/builder.go +835 -0
  1181. data/ext/vendor/github.com/google/flatbuffers/go/doc.go +3 -0
  1182. data/ext/vendor/github.com/google/flatbuffers/go/encode.go +238 -0
  1183. data/ext/vendor/github.com/google/flatbuffers/go/grpc.go +38 -0
  1184. data/ext/vendor/github.com/google/flatbuffers/go/lib.go +25 -0
  1185. data/ext/vendor/github.com/google/flatbuffers/go/sizes.go +55 -0
  1186. data/ext/vendor/github.com/google/flatbuffers/go/struct.go +8 -0
  1187. data/ext/vendor/github.com/google/flatbuffers/go/table.go +505 -0
  1188. data/ext/vendor/github.com/gsterjov/go-libsecret/LICENSE +22 -0
  1189. data/ext/vendor/github.com/gsterjov/go-libsecret/collection.go +124 -0
  1190. data/ext/vendor/github.com/gsterjov/go-libsecret/item.go +77 -0
  1191. data/ext/vendor/github.com/gsterjov/go-libsecret/prompt.go +55 -0
  1192. data/ext/vendor/github.com/gsterjov/go-libsecret/secret.go +21 -0
  1193. data/ext/vendor/github.com/gsterjov/go-libsecret/service.go +141 -0
  1194. data/ext/vendor/github.com/gsterjov/go-libsecret/session.go +22 -0
  1195. data/ext/vendor/github.com/jmespath/go-jmespath/.gitignore +4 -0
  1196. data/ext/vendor/github.com/jmespath/go-jmespath/.travis.yml +28 -0
  1197. data/ext/vendor/github.com/jmespath/go-jmespath/LICENSE +13 -0
  1198. data/ext/vendor/github.com/jmespath/go-jmespath/Makefile +51 -0
  1199. data/ext/vendor/github.com/jmespath/go-jmespath/README.md +87 -0
  1200. data/ext/vendor/github.com/jmespath/go-jmespath/api.go +49 -0
  1201. data/ext/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go +16 -0
  1202. data/ext/vendor/github.com/jmespath/go-jmespath/functions.go +842 -0
  1203. data/ext/vendor/github.com/jmespath/go-jmespath/interpreter.go +418 -0
  1204. data/ext/vendor/github.com/jmespath/go-jmespath/lexer.go +420 -0
  1205. data/ext/vendor/github.com/jmespath/go-jmespath/parser.go +603 -0
  1206. data/ext/vendor/github.com/jmespath/go-jmespath/toktype_string.go +16 -0
  1207. data/ext/vendor/github.com/jmespath/go-jmespath/util.go +185 -0
  1208. data/ext/vendor/github.com/klauspost/asmfmt/.gitignore +24 -0
  1209. data/ext/vendor/github.com/klauspost/asmfmt/.goreleaser.yml +77 -0
  1210. data/ext/vendor/github.com/klauspost/asmfmt/LICENSE +22 -0
  1211. data/ext/vendor/github.com/klauspost/asmfmt/README.md +113 -0
  1212. data/ext/vendor/github.com/klauspost/asmfmt/asmfmt.go +652 -0
  1213. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/LICENSE +27 -0
  1214. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/doc.go +43 -0
  1215. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/main.go +203 -0
  1216. data/ext/vendor/github.com/klauspost/compress/.gitattributes +2 -0
  1217. data/ext/vendor/github.com/klauspost/compress/.gitignore +32 -0
  1218. data/ext/vendor/github.com/klauspost/compress/.goreleaser.yml +141 -0
  1219. data/ext/vendor/github.com/klauspost/compress/LICENSE +304 -0
  1220. data/ext/vendor/github.com/klauspost/compress/README.md +578 -0
  1221. data/ext/vendor/github.com/klauspost/compress/compressible.go +85 -0
  1222. data/ext/vendor/github.com/klauspost/compress/flate/deflate.go +910 -0
  1223. data/ext/vendor/github.com/klauspost/compress/flate/dict_decoder.go +184 -0
  1224. data/ext/vendor/github.com/klauspost/compress/flate/fast_encoder.go +216 -0
  1225. data/ext/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go +1187 -0
  1226. data/ext/vendor/github.com/klauspost/compress/flate/huffman_code.go +417 -0
  1227. data/ext/vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go +178 -0
  1228. data/ext/vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go +201 -0
  1229. data/ext/vendor/github.com/klauspost/compress/flate/inflate.go +793 -0
  1230. data/ext/vendor/github.com/klauspost/compress/flate/inflate_gen.go +1283 -0
  1231. data/ext/vendor/github.com/klauspost/compress/flate/level1.go +241 -0
  1232. data/ext/vendor/github.com/klauspost/compress/flate/level2.go +214 -0
  1233. data/ext/vendor/github.com/klauspost/compress/flate/level3.go +241 -0
  1234. data/ext/vendor/github.com/klauspost/compress/flate/level4.go +221 -0
  1235. data/ext/vendor/github.com/klauspost/compress/flate/level5.go +310 -0
  1236. data/ext/vendor/github.com/klauspost/compress/flate/level6.go +325 -0
  1237. data/ext/vendor/github.com/klauspost/compress/flate/regmask_amd64.go +37 -0
  1238. data/ext/vendor/github.com/klauspost/compress/flate/regmask_other.go +40 -0
  1239. data/ext/vendor/github.com/klauspost/compress/flate/stateless.go +305 -0
  1240. data/ext/vendor/github.com/klauspost/compress/flate/token.go +379 -0
  1241. data/ext/vendor/github.com/klauspost/compress/fse/README.md +79 -0
  1242. data/ext/vendor/github.com/klauspost/compress/fse/bitreader.go +122 -0
  1243. data/ext/vendor/github.com/klauspost/compress/fse/bitwriter.go +168 -0
  1244. data/ext/vendor/github.com/klauspost/compress/fse/bytereader.go +47 -0
  1245. data/ext/vendor/github.com/klauspost/compress/fse/compress.go +683 -0
  1246. data/ext/vendor/github.com/klauspost/compress/fse/decompress.go +374 -0
  1247. data/ext/vendor/github.com/klauspost/compress/fse/fse.go +144 -0
  1248. data/ext/vendor/github.com/klauspost/compress/gen.sh +4 -0
  1249. data/ext/vendor/github.com/klauspost/compress/gzip/gunzip.go +349 -0
  1250. data/ext/vendor/github.com/klauspost/compress/gzip/gzip.go +269 -0
  1251. data/ext/vendor/github.com/klauspost/compress/huff0/.gitignore +1 -0
  1252. data/ext/vendor/github.com/klauspost/compress/huff0/README.md +89 -0
  1253. data/ext/vendor/github.com/klauspost/compress/huff0/bitreader.go +233 -0
  1254. data/ext/vendor/github.com/klauspost/compress/huff0/bitwriter.go +95 -0
  1255. data/ext/vendor/github.com/klauspost/compress/huff0/bytereader.go +44 -0
  1256. data/ext/vendor/github.com/klauspost/compress/huff0/compress.go +730 -0
  1257. data/ext/vendor/github.com/klauspost/compress/huff0/decompress.go +1167 -0
  1258. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go +226 -0
  1259. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s +846 -0
  1260. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_generic.go +299 -0
  1261. data/ext/vendor/github.com/klauspost/compress/huff0/huff0.go +337 -0
  1262. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go +34 -0
  1263. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go +11 -0
  1264. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s +36 -0
  1265. data/ext/vendor/github.com/klauspost/compress/internal/snapref/LICENSE +27 -0
  1266. data/ext/vendor/github.com/klauspost/compress/internal/snapref/decode.go +264 -0
  1267. data/ext/vendor/github.com/klauspost/compress/internal/snapref/decode_other.go +113 -0
  1268. data/ext/vendor/github.com/klauspost/compress/internal/snapref/encode.go +289 -0
  1269. data/ext/vendor/github.com/klauspost/compress/internal/snapref/encode_other.go +240 -0
  1270. data/ext/vendor/github.com/klauspost/compress/internal/snapref/snappy.go +98 -0
  1271. data/ext/vendor/github.com/klauspost/compress/s2sx.mod +4 -0
  1272. data/ext/vendor/github.com/klauspost/compress/s2sx.sum +0 -0
  1273. data/ext/vendor/github.com/klauspost/compress/zstd/README.md +441 -0
  1274. data/ext/vendor/github.com/klauspost/compress/zstd/bitreader.go +140 -0
  1275. data/ext/vendor/github.com/klauspost/compress/zstd/bitwriter.go +113 -0
  1276. data/ext/vendor/github.com/klauspost/compress/zstd/blockdec.go +720 -0
  1277. data/ext/vendor/github.com/klauspost/compress/zstd/blockenc.go +871 -0
  1278. data/ext/vendor/github.com/klauspost/compress/zstd/blocktype_string.go +85 -0
  1279. data/ext/vendor/github.com/klauspost/compress/zstd/bytebuf.go +131 -0
  1280. data/ext/vendor/github.com/klauspost/compress/zstd/bytereader.go +82 -0
  1281. data/ext/vendor/github.com/klauspost/compress/zstd/decodeheader.go +230 -0
  1282. data/ext/vendor/github.com/klauspost/compress/zstd/decoder.go +950 -0
  1283. data/ext/vendor/github.com/klauspost/compress/zstd/decoder_options.go +149 -0
  1284. data/ext/vendor/github.com/klauspost/compress/zstd/dict.go +122 -0
  1285. data/ext/vendor/github.com/klauspost/compress/zstd/enc_base.go +188 -0
  1286. data/ext/vendor/github.com/klauspost/compress/zstd/enc_best.go +559 -0
  1287. data/ext/vendor/github.com/klauspost/compress/zstd/enc_better.go +1246 -0
  1288. data/ext/vendor/github.com/klauspost/compress/zstd/enc_dfast.go +1127 -0
  1289. data/ext/vendor/github.com/klauspost/compress/zstd/enc_fast.go +900 -0
  1290. data/ext/vendor/github.com/klauspost/compress/zstd/encoder.go +641 -0
  1291. data/ext/vendor/github.com/klauspost/compress/zstd/encoder_options.go +317 -0
  1292. data/ext/vendor/github.com/klauspost/compress/zstd/framedec.go +436 -0
  1293. data/ext/vendor/github.com/klauspost/compress/zstd/frameenc.go +137 -0
  1294. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder.go +307 -0
  1295. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go +65 -0
  1296. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s +126 -0
  1297. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go +72 -0
  1298. data/ext/vendor/github.com/klauspost/compress/zstd/fse_encoder.go +701 -0
  1299. data/ext/vendor/github.com/klauspost/compress/zstd/fse_predefined.go +158 -0
  1300. data/ext/vendor/github.com/klauspost/compress/zstd/hash.go +35 -0
  1301. data/ext/vendor/github.com/klauspost/compress/zstd/history.go +116 -0
  1302. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt +22 -0
  1303. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/README.md +58 -0
  1304. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go +237 -0
  1305. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s +216 -0
  1306. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s +186 -0
  1307. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go +16 -0
  1308. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go +77 -0
  1309. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go +11 -0
  1310. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec.go +509 -0
  1311. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go +379 -0
  1312. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s +4099 -0
  1313. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go +237 -0
  1314. data/ext/vendor/github.com/klauspost/compress/zstd/seqenc.go +114 -0
  1315. data/ext/vendor/github.com/klauspost/compress/zstd/snappy.go +435 -0
  1316. data/ext/vendor/github.com/klauspost/compress/zstd/zip.go +141 -0
  1317. data/ext/vendor/github.com/klauspost/compress/zstd/zstd.go +152 -0
  1318. data/ext/vendor/github.com/klauspost/cpuid/v2/.gitignore +24 -0
  1319. data/ext/vendor/github.com/klauspost/cpuid/v2/.goreleaser.yml +74 -0
  1320. data/ext/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt +35 -0
  1321. data/ext/vendor/github.com/klauspost/cpuid/v2/LICENSE +22 -0
  1322. data/ext/vendor/github.com/klauspost/cpuid/v2/README.md +137 -0
  1323. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid.go +1070 -0
  1324. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_386.s +47 -0
  1325. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_amd64.s +72 -0
  1326. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_arm64.s +26 -0
  1327. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go +246 -0
  1328. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_ref.go +14 -0
  1329. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_x86.go +35 -0
  1330. data/ext/vendor/github.com/klauspost/cpuid/v2/featureid_string.go +185 -0
  1331. data/ext/vendor/github.com/klauspost/cpuid/v2/os_darwin_arm64.go +19 -0
  1332. data/ext/vendor/github.com/klauspost/cpuid/v2/os_linux_arm64.go +130 -0
  1333. data/ext/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go +17 -0
  1334. data/ext/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go +7 -0
  1335. data/ext/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go +10 -0
  1336. data/ext/vendor/github.com/klauspost/cpuid/v2/test-architectures.sh +15 -0
  1337. data/ext/vendor/github.com/mattn/go-pointer/LICENSE +21 -0
  1338. data/ext/vendor/github.com/mattn/go-pointer/README.md +29 -0
  1339. data/ext/vendor/github.com/mattn/go-pointer/doc.go +1 -0
  1340. data/ext/vendor/github.com/mattn/go-pointer/pointer.go +57 -0
  1341. data/ext/vendor/github.com/minio/asm2plan9s/.gitignore +2 -0
  1342. data/ext/vendor/github.com/minio/asm2plan9s/LICENSE +202 -0
  1343. data/ext/vendor/github.com/minio/asm2plan9s/README.md +91 -0
  1344. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s.go +252 -0
  1345. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s_amd64.go +192 -0
  1346. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s_arm64.go +122 -0
  1347. data/ext/vendor/github.com/minio/asm2plan9s/example.s +1 -0
  1348. data/ext/vendor/github.com/minio/asm2plan9s/neon.asm +1 -0
  1349. data/ext/vendor/github.com/minio/asm2plan9s/yasm.go +176 -0
  1350. data/ext/vendor/github.com/minio/c2goasm/LICENSE +202 -0
  1351. data/ext/vendor/github.com/minio/c2goasm/README.md +203 -0
  1352. data/ext/vendor/github.com/minio/c2goasm/arguments.go +122 -0
  1353. data/ext/vendor/github.com/minio/c2goasm/assembly.go +412 -0
  1354. data/ext/vendor/github.com/minio/c2goasm/c2goasm.go +300 -0
  1355. data/ext/vendor/github.com/minio/c2goasm/constants.go +255 -0
  1356. data/ext/vendor/github.com/minio/c2goasm/epilogue.go +219 -0
  1357. data/ext/vendor/github.com/minio/c2goasm/subroutine.go +294 -0
  1358. data/ext/vendor/github.com/mtibben/percent/LICENSE +21 -0
  1359. data/ext/vendor/github.com/mtibben/percent/README.md +5 -0
  1360. data/ext/vendor/github.com/mtibben/percent/percent.go +64 -0
  1361. data/ext/vendor/github.com/pierrec/lz4/v4/.gitignore +36 -0
  1362. data/ext/vendor/github.com/pierrec/lz4/v4/LICENSE +28 -0
  1363. data/ext/vendor/github.com/pierrec/lz4/v4/README.md +92 -0
  1364. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/block.go +482 -0
  1365. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/blocks.go +90 -0
  1366. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_amd64.s +448 -0
  1367. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_arm.s +231 -0
  1368. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_arm64.s +230 -0
  1369. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_asm.go +10 -0
  1370. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_other.go +139 -0
  1371. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4errors/errors.go +19 -0
  1372. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/block.go +350 -0
  1373. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/frame.go +204 -0
  1374. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/frame_gen.go +103 -0
  1375. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero.go +212 -0
  1376. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_arm.go +11 -0
  1377. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_arm.s +251 -0
  1378. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_other.go +10 -0
  1379. data/ext/vendor/github.com/pierrec/lz4/v4/lz4.go +157 -0
  1380. data/ext/vendor/github.com/pierrec/lz4/v4/options.go +214 -0
  1381. data/ext/vendor/github.com/pierrec/lz4/v4/options_gen.go +92 -0
  1382. data/ext/vendor/github.com/pierrec/lz4/v4/reader.go +275 -0
  1383. data/ext/vendor/github.com/pierrec/lz4/v4/state.go +75 -0
  1384. data/ext/vendor/github.com/pierrec/lz4/v4/state_gen.go +28 -0
  1385. data/ext/vendor/github.com/pierrec/lz4/v4/writer.go +238 -0
  1386. data/ext/vendor/github.com/pkg/browser/LICENSE +23 -0
  1387. data/ext/vendor/github.com/pkg/browser/README.md +55 -0
  1388. data/ext/vendor/github.com/pkg/browser/browser.go +57 -0
  1389. data/ext/vendor/github.com/pkg/browser/browser_darwin.go +5 -0
  1390. data/ext/vendor/github.com/pkg/browser/browser_freebsd.go +14 -0
  1391. data/ext/vendor/github.com/pkg/browser/browser_linux.go +21 -0
  1392. data/ext/vendor/github.com/pkg/browser/browser_netbsd.go +14 -0
  1393. data/ext/vendor/github.com/pkg/browser/browser_openbsd.go +14 -0
  1394. data/ext/vendor/github.com/pkg/browser/browser_unsupported.go +12 -0
  1395. data/ext/vendor/github.com/pkg/browser/browser_windows.go +7 -0
  1396. data/ext/vendor/github.com/sirupsen/logrus/.gitignore +4 -0
  1397. data/ext/vendor/github.com/sirupsen/logrus/.golangci.yml +40 -0
  1398. data/ext/vendor/github.com/sirupsen/logrus/.travis.yml +15 -0
  1399. data/ext/vendor/github.com/sirupsen/logrus/CHANGELOG.md +259 -0
  1400. data/ext/vendor/github.com/sirupsen/logrus/LICENSE +21 -0
  1401. data/ext/vendor/github.com/sirupsen/logrus/README.md +513 -0
  1402. data/ext/vendor/github.com/sirupsen/logrus/alt_exit.go +76 -0
  1403. data/ext/vendor/github.com/sirupsen/logrus/appveyor.yml +14 -0
  1404. data/ext/vendor/github.com/sirupsen/logrus/buffer_pool.go +43 -0
  1405. data/ext/vendor/github.com/sirupsen/logrus/doc.go +26 -0
  1406. data/ext/vendor/github.com/sirupsen/logrus/entry.go +442 -0
  1407. data/ext/vendor/github.com/sirupsen/logrus/exported.go +270 -0
  1408. data/ext/vendor/github.com/sirupsen/logrus/formatter.go +78 -0
  1409. data/ext/vendor/github.com/sirupsen/logrus/hooks.go +34 -0
  1410. data/ext/vendor/github.com/sirupsen/logrus/json_formatter.go +128 -0
  1411. data/ext/vendor/github.com/sirupsen/logrus/logger.go +417 -0
  1412. data/ext/vendor/github.com/sirupsen/logrus/logrus.go +186 -0
  1413. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go +11 -0
  1414. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go +13 -0
  1415. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_js.go +7 -0
  1416. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go +11 -0
  1417. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go +17 -0
  1418. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go +11 -0
  1419. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_unix.go +13 -0
  1420. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_windows.go +27 -0
  1421. data/ext/vendor/github.com/sirupsen/logrus/text_formatter.go +339 -0
  1422. data/ext/vendor/github.com/sirupsen/logrus/writer.go +70 -0
  1423. data/ext/vendor/github.com/snowflakedb/gosnowflake/.gitignore +13 -0
  1424. data/ext/vendor/github.com/snowflakedb/gosnowflake/.pre-commit-config.yaml +6 -0
  1425. data/ext/vendor/github.com/snowflakedb/gosnowflake/CONTRIBUTING.md +18 -0
  1426. data/ext/vendor/github.com/snowflakedb/gosnowflake/LICENSE +201 -0
  1427. data/ext/vendor/github.com/snowflakedb/gosnowflake/Makefile +52 -0
  1428. data/ext/vendor/github.com/snowflakedb/gosnowflake/README.md +109 -0
  1429. data/ext/vendor/github.com/snowflakedb/gosnowflake/arrow_chunk.go +91 -0
  1430. data/ext/vendor/github.com/snowflakedb/gosnowflake/async.go +142 -0
  1431. data/ext/vendor/github.com/snowflakedb/gosnowflake/auth.go +549 -0
  1432. data/ext/vendor/github.com/snowflakedb/gosnowflake/authexternalbrowser.go +251 -0
  1433. data/ext/vendor/github.com/snowflakedb/gosnowflake/authokta.go +341 -0
  1434. data/ext/vendor/github.com/snowflakedb/gosnowflake/azure_storage_client.go +294 -0
  1435. data/ext/vendor/github.com/snowflakedb/gosnowflake/bind_uploader.go +300 -0
  1436. data/ext/vendor/github.com/snowflakedb/gosnowflake/cacert.go +3454 -0
  1437. data/ext/vendor/github.com/snowflakedb/gosnowflake/chunk.go +312 -0
  1438. data/ext/vendor/github.com/snowflakedb/gosnowflake/chunk_downloader.go +742 -0
  1439. data/ext/vendor/github.com/snowflakedb/gosnowflake/client.go +38 -0
  1440. data/ext/vendor/github.com/snowflakedb/gosnowflake/connection.go +493 -0
  1441. data/ext/vendor/github.com/snowflakedb/gosnowflake/connection_util.go +287 -0
  1442. data/ext/vendor/github.com/snowflakedb/gosnowflake/connector.go +40 -0
  1443. data/ext/vendor/github.com/snowflakedb/gosnowflake/converter.go +1171 -0
  1444. data/ext/vendor/github.com/snowflakedb/gosnowflake/datatype.go +195 -0
  1445. data/ext/vendor/github.com/snowflakedb/gosnowflake/debug.go +12 -0
  1446. data/ext/vendor/github.com/snowflakedb/gosnowflake/doc.go +885 -0
  1447. data/ext/vendor/github.com/snowflakedb/gosnowflake/driver.go +66 -0
  1448. data/ext/vendor/github.com/snowflakedb/gosnowflake/dsn.go +667 -0
  1449. data/ext/vendor/github.com/snowflakedb/gosnowflake/encrypt_util.go +332 -0
  1450. data/ext/vendor/github.com/snowflakedb/gosnowflake/errors.go +321 -0
  1451. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_compression_type.go +132 -0
  1452. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_transfer_agent.go +1228 -0
  1453. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_util.go +209 -0
  1454. data/ext/vendor/github.com/snowflakedb/gosnowflake/gcs_storage_client.go +355 -0
  1455. data/ext/vendor/github.com/snowflakedb/gosnowflake/gosnowflake.mak +42 -0
  1456. data/ext/vendor/github.com/snowflakedb/gosnowflake/heartbeat.go +98 -0
  1457. data/ext/vendor/github.com/snowflakedb/gosnowflake/local_storage_client.go +113 -0
  1458. data/ext/vendor/github.com/snowflakedb/gosnowflake/location.go +106 -0
  1459. data/ext/vendor/github.com/snowflakedb/gosnowflake/log.go +314 -0
  1460. data/ext/vendor/github.com/snowflakedb/gosnowflake/monitoring.go +271 -0
  1461. data/ext/vendor/github.com/snowflakedb/gosnowflake/multistatement.go +118 -0
  1462. data/ext/vendor/github.com/snowflakedb/gosnowflake/ocsp.go +966 -0
  1463. data/ext/vendor/github.com/snowflakedb/gosnowflake/parameters.json.tmpl +11 -0
  1464. data/ext/vendor/github.com/snowflakedb/gosnowflake/priv_key_test_coding_helper.go +30 -0
  1465. data/ext/vendor/github.com/snowflakedb/gosnowflake/query.go +128 -0
  1466. data/ext/vendor/github.com/snowflakedb/gosnowflake/release.go +8 -0
  1467. data/ext/vendor/github.com/snowflakedb/gosnowflake/restful.go +489 -0
  1468. data/ext/vendor/github.com/snowflakedb/gosnowflake/result.go +75 -0
  1469. data/ext/vendor/github.com/snowflakedb/gosnowflake/retry.go +322 -0
  1470. data/ext/vendor/github.com/snowflakedb/gosnowflake/rows.go +245 -0
  1471. data/ext/vendor/github.com/snowflakedb/gosnowflake/s3_storage_client.go +275 -0
  1472. data/ext/vendor/github.com/snowflakedb/gosnowflake/secret_detector.go +63 -0
  1473. data/ext/vendor/github.com/snowflakedb/gosnowflake/secure_storage_manager.go +282 -0
  1474. data/ext/vendor/github.com/snowflakedb/gosnowflake/sqlstate.go +18 -0
  1475. data/ext/vendor/github.com/snowflakedb/gosnowflake/statement.go +45 -0
  1476. data/ext/vendor/github.com/snowflakedb/gosnowflake/storage_client.go +253 -0
  1477. data/ext/vendor/github.com/snowflakedb/gosnowflake/telemetry.go +128 -0
  1478. data/ext/vendor/github.com/snowflakedb/gosnowflake/transaction.go +35 -0
  1479. data/ext/vendor/github.com/snowflakedb/gosnowflake/url_util.go +29 -0
  1480. data/ext/vendor/github.com/snowflakedb/gosnowflake/util.go +214 -0
  1481. data/ext/vendor/github.com/snowflakedb/gosnowflake/uuid.go +47 -0
  1482. data/ext/vendor/github.com/snowflakedb/gosnowflake/version.go +6 -0
  1483. data/ext/vendor/github.com/zeebo/xxh3/.gitignore +6 -0
  1484. data/ext/vendor/github.com/zeebo/xxh3/LICENSE +25 -0
  1485. data/ext/vendor/github.com/zeebo/xxh3/Makefile +27 -0
  1486. data/ext/vendor/github.com/zeebo/xxh3/README.md +38 -0
  1487. data/ext/vendor/github.com/zeebo/xxh3/_compat.c +39 -0
  1488. data/ext/vendor/github.com/zeebo/xxh3/accum_generic.go +542 -0
  1489. data/ext/vendor/github.com/zeebo/xxh3/accum_stubs_amd64.go +40 -0
  1490. data/ext/vendor/github.com/zeebo/xxh3/accum_stubs_other.go +25 -0
  1491. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_avx512_amd64.s +379 -0
  1492. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_avx_amd64.s +586 -0
  1493. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_sse_amd64.s +1236 -0
  1494. data/ext/vendor/github.com/zeebo/xxh3/consts.go +97 -0
  1495. data/ext/vendor/github.com/zeebo/xxh3/hash128.go +253 -0
  1496. data/ext/vendor/github.com/zeebo/xxh3/hash128_seed.go +264 -0
  1497. data/ext/vendor/github.com/zeebo/xxh3/hash64.go +126 -0
  1498. data/ext/vendor/github.com/zeebo/xxh3/hash64_seed.go +134 -0
  1499. data/ext/vendor/github.com/zeebo/xxh3/hasher.go +239 -0
  1500. data/ext/vendor/github.com/zeebo/xxh3/utils.go +129 -0
  1501. data/ext/vendor/golang.org/x/crypto/LICENSE +27 -0
  1502. data/ext/vendor/golang.org/x/crypto/PATENTS +22 -0
  1503. data/ext/vendor/golang.org/x/crypto/ocsp/ocsp.go +792 -0
  1504. data/ext/vendor/golang.org/x/mod/LICENSE +27 -0
  1505. data/ext/vendor/golang.org/x/mod/PATENTS +22 -0
  1506. data/ext/vendor/golang.org/x/mod/internal/lazyregexp/lazyre.go +78 -0
  1507. data/ext/vendor/golang.org/x/mod/module/module.go +841 -0
  1508. data/ext/vendor/golang.org/x/mod/module/pseudo.go +250 -0
  1509. data/ext/vendor/golang.org/x/mod/semver/semver.go +401 -0
  1510. data/ext/vendor/golang.org/x/net/LICENSE +27 -0
  1511. data/ext/vendor/golang.org/x/net/PATENTS +22 -0
  1512. data/ext/vendor/golang.org/x/net/html/atom/atom.go +78 -0
  1513. data/ext/vendor/golang.org/x/net/html/atom/table.go +783 -0
  1514. data/ext/vendor/golang.org/x/net/html/const.go +111 -0
  1515. data/ext/vendor/golang.org/x/net/html/doc.go +121 -0
  1516. data/ext/vendor/golang.org/x/net/html/doctype.go +156 -0
  1517. data/ext/vendor/golang.org/x/net/html/entity.go +2253 -0
  1518. data/ext/vendor/golang.org/x/net/html/escape.go +339 -0
  1519. data/ext/vendor/golang.org/x/net/html/foreign.go +222 -0
  1520. data/ext/vendor/golang.org/x/net/html/node.go +225 -0
  1521. data/ext/vendor/golang.org/x/net/html/parse.go +2460 -0
  1522. data/ext/vendor/golang.org/x/net/html/render.go +273 -0
  1523. data/ext/vendor/golang.org/x/net/html/token.go +1261 -0
  1524. data/ext/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  1525. data/ext/vendor/golang.org/x/net/http/httpguts/httplex.go +352 -0
  1526. data/ext/vendor/golang.org/x/net/idna/go118.go +14 -0
  1527. data/ext/vendor/golang.org/x/net/idna/idna10.0.0.go +770 -0
  1528. data/ext/vendor/golang.org/x/net/idna/idna9.0.0.go +718 -0
  1529. data/ext/vendor/golang.org/x/net/idna/pre_go118.go +12 -0
  1530. data/ext/vendor/golang.org/x/net/idna/punycode.go +217 -0
  1531. data/ext/vendor/golang.org/x/net/idna/tables10.0.0.go +4560 -0
  1532. data/ext/vendor/golang.org/x/net/idna/tables11.0.0.go +4654 -0
  1533. data/ext/vendor/golang.org/x/net/idna/tables12.0.0.go +4734 -0
  1534. data/ext/vendor/golang.org/x/net/idna/tables13.0.0.go +4840 -0
  1535. data/ext/vendor/golang.org/x/net/idna/tables9.0.0.go +4487 -0
  1536. data/ext/vendor/golang.org/x/net/idna/trie.go +72 -0
  1537. data/ext/vendor/golang.org/x/net/idna/trieval.go +119 -0
  1538. data/ext/vendor/golang.org/x/sys/LICENSE +27 -0
  1539. data/ext/vendor/golang.org/x/sys/PATENTS +22 -0
  1540. data/ext/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s +18 -0
  1541. data/ext/vendor/golang.org/x/sys/cpu/byteorder.go +66 -0
  1542. data/ext/vendor/golang.org/x/sys/cpu/cpu.go +287 -0
  1543. data/ext/vendor/golang.org/x/sys/cpu/cpu_aix.go +34 -0
  1544. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm.go +73 -0
  1545. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm64.go +172 -0
  1546. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm64.s +32 -0
  1547. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +12 -0
  1548. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go +22 -0
  1549. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go +17 -0
  1550. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +12 -0
  1551. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go +23 -0
  1552. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c +39 -0
  1553. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go +33 -0
  1554. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux.go +16 -0
  1555. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go +39 -0
  1556. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go +111 -0
  1557. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go +24 -0
  1558. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go +10 -0
  1559. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go +32 -0
  1560. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go +40 -0
  1561. data/ext/vendor/golang.org/x/sys/cpu/cpu_loong64.go +13 -0
  1562. data/ext/vendor/golang.org/x/sys/cpu/cpu_mips64x.go +16 -0
  1563. data/ext/vendor/golang.org/x/sys/cpu/cpu_mipsx.go +12 -0
  1564. data/ext/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go +173 -0
  1565. data/ext/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go +65 -0
  1566. data/ext/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.s +11 -0
  1567. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_arm.go +10 -0
  1568. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +10 -0
  1569. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go +13 -0
  1570. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go +15 -0
  1571. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go +12 -0
  1572. data/ext/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go +17 -0
  1573. data/ext/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +12 -0
  1574. data/ext/vendor/golang.org/x/sys/cpu/cpu_s390x.go +172 -0
  1575. data/ext/vendor/golang.org/x/sys/cpu/cpu_s390x.s +58 -0
  1576. data/ext/vendor/golang.org/x/sys/cpu/cpu_wasm.go +18 -0
  1577. data/ext/vendor/golang.org/x/sys/cpu/cpu_x86.go +145 -0
  1578. data/ext/vendor/golang.org/x/sys/cpu/cpu_x86.s +28 -0
  1579. data/ext/vendor/golang.org/x/sys/cpu/cpu_zos.go +10 -0
  1580. data/ext/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go +25 -0
  1581. data/ext/vendor/golang.org/x/sys/cpu/endian_big.go +11 -0
  1582. data/ext/vendor/golang.org/x/sys/cpu/endian_little.go +11 -0
  1583. data/ext/vendor/golang.org/x/sys/cpu/hwcap_linux.go +71 -0
  1584. data/ext/vendor/golang.org/x/sys/cpu/parse.go +43 -0
  1585. data/ext/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go +54 -0
  1586. data/ext/vendor/golang.org/x/sys/cpu/runtime_auxv.go +16 -0
  1587. data/ext/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go +19 -0
  1588. data/ext/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go +27 -0
  1589. data/ext/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go +36 -0
  1590. data/ext/vendor/golang.org/x/sys/execabs/execabs.go +102 -0
  1591. data/ext/vendor/golang.org/x/sys/execabs/execabs_go118.go +18 -0
  1592. data/ext/vendor/golang.org/x/sys/execabs/execabs_go119.go +21 -0
  1593. data/ext/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go +30 -0
  1594. data/ext/vendor/golang.org/x/sys/plan9/asm.s +8 -0
  1595. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_386.s +30 -0
  1596. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s +30 -0
  1597. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_arm.s +25 -0
  1598. data/ext/vendor/golang.org/x/sys/plan9/const_plan9.go +70 -0
  1599. data/ext/vendor/golang.org/x/sys/plan9/dir_plan9.go +212 -0
  1600. data/ext/vendor/golang.org/x/sys/plan9/env_plan9.go +31 -0
  1601. data/ext/vendor/golang.org/x/sys/plan9/errors_plan9.go +50 -0
  1602. data/ext/vendor/golang.org/x/sys/plan9/mkall.sh +150 -0
  1603. data/ext/vendor/golang.org/x/sys/plan9/mkerrors.sh +246 -0
  1604. data/ext/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh +23 -0
  1605. data/ext/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go +22 -0
  1606. data/ext/vendor/golang.org/x/sys/plan9/pwd_plan9.go +24 -0
  1607. data/ext/vendor/golang.org/x/sys/plan9/race.go +31 -0
  1608. data/ext/vendor/golang.org/x/sys/plan9/race0.go +26 -0
  1609. data/ext/vendor/golang.org/x/sys/plan9/str.go +23 -0
  1610. data/ext/vendor/golang.org/x/sys/plan9/syscall.go +110 -0
  1611. data/ext/vendor/golang.org/x/sys/plan9/syscall_plan9.go +361 -0
  1612. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go +285 -0
  1613. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go +285 -0
  1614. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go +285 -0
  1615. data/ext/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go +49 -0
  1616. data/ext/vendor/golang.org/x/sys/unix/.gitignore +2 -0
  1617. data/ext/vendor/golang.org/x/sys/unix/README.md +184 -0
  1618. data/ext/vendor/golang.org/x/sys/unix/affinity_linux.go +86 -0
  1619. data/ext/vendor/golang.org/x/sys/unix/aliases.go +15 -0
  1620. data/ext/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +18 -0
  1621. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_386.s +29 -0
  1622. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +29 -0
  1623. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +29 -0
  1624. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +29 -0
  1625. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +31 -0
  1626. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +29 -0
  1627. data/ext/vendor/golang.org/x/sys/unix/asm_linux_386.s +66 -0
  1628. data/ext/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +58 -0
  1629. data/ext/vendor/golang.org/x/sys/unix/asm_linux_arm.s +57 -0
  1630. data/ext/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +53 -0
  1631. data/ext/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +54 -0
  1632. data/ext/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +57 -0
  1633. data/ext/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +55 -0
  1634. data/ext/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +45 -0
  1635. data/ext/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +49 -0
  1636. data/ext/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +57 -0
  1637. data/ext/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +30 -0
  1638. data/ext/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +18 -0
  1639. data/ext/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +426 -0
  1640. data/ext/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  1641. data/ext/vendor/golang.org/x/sys/unix/cap_freebsd.go +196 -0
  1642. data/ext/vendor/golang.org/x/sys/unix/constants.go +14 -0
  1643. data/ext/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +27 -0
  1644. data/ext/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +29 -0
  1645. data/ext/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  1646. data/ext/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  1647. data/ext/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  1648. data/ext/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  1649. data/ext/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  1650. data/ext/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  1651. data/ext/vendor/golang.org/x/sys/unix/dev_zos.go +29 -0
  1652. data/ext/vendor/golang.org/x/sys/unix/dirent.go +103 -0
  1653. data/ext/vendor/golang.org/x/sys/unix/endian_big.go +10 -0
  1654. data/ext/vendor/golang.org/x/sys/unix/endian_little.go +10 -0
  1655. data/ext/vendor/golang.org/x/sys/unix/env_unix.go +32 -0
  1656. data/ext/vendor/golang.org/x/sys/unix/epoll_zos.go +221 -0
  1657. data/ext/vendor/golang.org/x/sys/unix/fcntl.go +37 -0
  1658. data/ext/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  1659. data/ext/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +14 -0
  1660. data/ext/vendor/golang.org/x/sys/unix/fdset.go +30 -0
  1661. data/ext/vendor/golang.org/x/sys/unix/fstatfs_zos.go +164 -0
  1662. data/ext/vendor/golang.org/x/sys/unix/gccgo.go +60 -0
  1663. data/ext/vendor/golang.org/x/sys/unix/gccgo_c.c +45 -0
  1664. data/ext/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +21 -0
  1665. data/ext/vendor/golang.org/x/sys/unix/ifreq_linux.go +142 -0
  1666. data/ext/vendor/golang.org/x/sys/unix/ioctl.go +70 -0
  1667. data/ext/vendor/golang.org/x/sys/unix/ioctl_linux.go +233 -0
  1668. data/ext/vendor/golang.org/x/sys/unix/ioctl_zos.go +72 -0
  1669. data/ext/vendor/golang.org/x/sys/unix/mkall.sh +249 -0
  1670. data/ext/vendor/golang.org/x/sys/unix/mkerrors.sh +778 -0
  1671. data/ext/vendor/golang.org/x/sys/unix/pagesize_unix.go +16 -0
  1672. data/ext/vendor/golang.org/x/sys/unix/pledge_openbsd.go +163 -0
  1673. data/ext/vendor/golang.org/x/sys/unix/ptrace_darwin.go +18 -0
  1674. data/ext/vendor/golang.org/x/sys/unix/ptrace_ios.go +18 -0
  1675. data/ext/vendor/golang.org/x/sys/unix/race.go +31 -0
  1676. data/ext/vendor/golang.org/x/sys/unix/race0.go +26 -0
  1677. data/ext/vendor/golang.org/x/sys/unix/readdirent_getdents.go +13 -0
  1678. data/ext/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +20 -0
  1679. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  1680. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  1681. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +107 -0
  1682. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +47 -0
  1683. data/ext/vendor/golang.org/x/sys/unix/syscall.go +87 -0
  1684. data/ext/vendor/golang.org/x/sys/unix/syscall_aix.go +599 -0
  1685. data/ext/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +54 -0
  1686. data/ext/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +85 -0
  1687. data/ext/vendor/golang.org/x/sys/unix/syscall_bsd.go +624 -0
  1688. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin.go +827 -0
  1689. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +52 -0
  1690. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +52 -0
  1691. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +27 -0
  1692. data/ext/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +546 -0
  1693. data/ext/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +57 -0
  1694. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd.go +646 -0
  1695. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +65 -0
  1696. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +65 -0
  1697. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +61 -0
  1698. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +61 -0
  1699. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +61 -0
  1700. data/ext/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  1701. data/ext/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +29 -0
  1702. data/ext/vendor/golang.org/x/sys/unix/syscall_illumos.go +79 -0
  1703. data/ext/vendor/golang.org/x/sys/unix/syscall_linux.go +2510 -0
  1704. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_386.go +342 -0
  1705. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +14 -0
  1706. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +147 -0
  1707. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +13 -0
  1708. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +244 -0
  1709. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +195 -0
  1710. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +15 -0
  1711. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +17 -0
  1712. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +14 -0
  1713. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +31 -0
  1714. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +21 -0
  1715. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +222 -0
  1716. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +191 -0
  1717. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +203 -0
  1718. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +232 -0
  1719. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +118 -0
  1720. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +180 -0
  1721. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +298 -0
  1722. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +114 -0
  1723. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd.go +623 -0
  1724. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +38 -0
  1725. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +38 -0
  1726. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +38 -0
  1727. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +38 -0
  1728. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd.go +391 -0
  1729. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +42 -0
  1730. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +42 -0
  1731. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +42 -0
  1732. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +42 -0
  1733. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +27 -0
  1734. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  1735. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +42 -0
  1736. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +42 -0
  1737. data/ext/vendor/golang.org/x/sys/unix/syscall_solaris.go +1136 -0
  1738. data/ext/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +28 -0
  1739. data/ext/vendor/golang.org/x/sys/unix/syscall_unix.go +589 -0
  1740. data/ext/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +16 -0
  1741. data/ext/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +25 -0
  1742. data/ext/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +1994 -0
  1743. data/ext/vendor/golang.org/x/sys/unix/sysvshm_linux.go +21 -0
  1744. data/ext/vendor/golang.org/x/sys/unix/sysvshm_unix.go +52 -0
  1745. data/ext/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +14 -0
  1746. data/ext/vendor/golang.org/x/sys/unix/timestruct.go +77 -0
  1747. data/ext/vendor/golang.org/x/sys/unix/unveil_openbsd.go +42 -0
  1748. data/ext/vendor/golang.org/x/sys/unix/xattr_bsd.go +281 -0
  1749. data/ext/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1385 -0
  1750. data/ext/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1386 -0
  1751. data/ext/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1892 -0
  1752. data/ext/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1892 -0
  1753. data/ext/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1738 -0
  1754. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2043 -0
  1755. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2040 -0
  1756. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2034 -0
  1757. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2034 -0
  1758. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2148 -0
  1759. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux.go +3479 -0
  1760. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +829 -0
  1761. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +829 -0
  1762. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +835 -0
  1763. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +827 -0
  1764. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +819 -0
  1765. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +836 -0
  1766. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +836 -0
  1767. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +836 -0
  1768. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +836 -0
  1769. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +888 -0
  1770. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +892 -0
  1771. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +892 -0
  1772. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +816 -0
  1773. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +891 -0
  1774. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +886 -0
  1775. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1780 -0
  1776. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1770 -0
  1777. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1759 -0
  1778. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1770 -0
  1779. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1906 -0
  1780. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1906 -0
  1781. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1906 -0
  1782. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1906 -0
  1783. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1906 -0
  1784. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1905 -0
  1785. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1904 -0
  1786. data/ext/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1557 -0
  1787. data/ext/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +860 -0
  1788. data/ext/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +42 -0
  1789. data/ext/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  1790. data/ext/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +51 -0
  1791. data/ext/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +51 -0
  1792. data/ext/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +81 -0
  1793. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1495 -0
  1794. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1453 -0
  1795. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1199 -0
  1796. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1078 -0
  1797. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2561 -0
  1798. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +904 -0
  1799. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2561 -0
  1800. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +904 -0
  1801. data/ext/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1699 -0
  1802. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1919 -0
  1803. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1919 -0
  1804. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1919 -0
  1805. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1919 -0
  1806. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1919 -0
  1807. data/ext/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +102 -0
  1808. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2184 -0
  1809. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +497 -0
  1810. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +664 -0
  1811. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +612 -0
  1812. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +563 -0
  1813. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +487 -0
  1814. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +664 -0
  1815. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +658 -0
  1816. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +647 -0
  1817. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +664 -0
  1818. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +669 -0
  1819. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +715 -0
  1820. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +715 -0
  1821. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +543 -0
  1822. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +506 -0
  1823. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +659 -0
  1824. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1870 -0
  1825. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1870 -0
  1826. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1870 -0
  1827. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1870 -0
  1828. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2243 -0
  1829. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +669 -0
  1830. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2243 -0
  1831. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +669 -0
  1832. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2243 -0
  1833. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +669 -0
  1834. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2243 -0
  1835. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +669 -0
  1836. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2243 -0
  1837. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +669 -0
  1838. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2243 -0
  1839. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +802 -0
  1840. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2243 -0
  1841. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +669 -0
  1842. data/ext/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2117 -0
  1843. data/ext/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +1265 -0
  1844. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +281 -0
  1845. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +281 -0
  1846. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +281 -0
  1847. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +281 -0
  1848. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +281 -0
  1849. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +281 -0
  1850. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +282 -0
  1851. data/ext/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +440 -0
  1852. data/ext/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +438 -0
  1853. data/ext/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +317 -0
  1854. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +394 -0
  1855. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +394 -0
  1856. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +394 -0
  1857. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +394 -0
  1858. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +394 -0
  1859. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +450 -0
  1860. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +372 -0
  1861. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +414 -0
  1862. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +317 -0
  1863. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +311 -0
  1864. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +434 -0
  1865. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +364 -0
  1866. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +364 -0
  1867. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +434 -0
  1868. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +441 -0
  1869. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +413 -0
  1870. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +413 -0
  1871. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +316 -0
  1872. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +378 -0
  1873. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +392 -0
  1874. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +275 -0
  1875. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +275 -0
  1876. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +275 -0
  1877. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +275 -0
  1878. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +220 -0
  1879. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +220 -0
  1880. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +220 -0
  1881. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +219 -0
  1882. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +222 -0
  1883. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +218 -0
  1884. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +219 -0
  1885. data/ext/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2670 -0
  1886. data/ext/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +354 -0
  1887. data/ext/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +358 -0
  1888. data/ext/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +795 -0
  1889. data/ext/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +795 -0
  1890. data/ext/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +474 -0
  1891. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  1892. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  1893. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  1894. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  1895. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  1896. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux.go +5812 -0
  1897. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +696 -0
  1898. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +711 -0
  1899. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +691 -0
  1900. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +690 -0
  1901. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +691 -0
  1902. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +696 -0
  1903. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +693 -0
  1904. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +693 -0
  1905. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +696 -0
  1906. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +704 -0
  1907. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +699 -0
  1908. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +699 -0
  1909. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +718 -0
  1910. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +713 -0
  1911. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +694 -0
  1912. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +586 -0
  1913. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +594 -0
  1914. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +591 -0
  1915. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +594 -0
  1916. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +569 -0
  1917. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +569 -0
  1918. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +576 -0
  1919. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +569 -0
  1920. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +569 -0
  1921. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +571 -0
  1922. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +571 -0
  1923. data/ext/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +517 -0
  1924. data/ext/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +415 -0
  1925. data/ext/vendor/golang.org/x/sys/windows/aliases.go +13 -0
  1926. data/ext/vendor/golang.org/x/sys/windows/dll_windows.go +416 -0
  1927. data/ext/vendor/golang.org/x/sys/windows/empty.s +9 -0
  1928. data/ext/vendor/golang.org/x/sys/windows/env_windows.go +54 -0
  1929. data/ext/vendor/golang.org/x/sys/windows/eventlog.go +21 -0
  1930. data/ext/vendor/golang.org/x/sys/windows/exec_windows.go +178 -0
  1931. data/ext/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  1932. data/ext/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  1933. data/ext/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  1934. data/ext/vendor/golang.org/x/sys/windows/mksyscall.go +10 -0
  1935. data/ext/vendor/golang.org/x/sys/windows/race.go +31 -0
  1936. data/ext/vendor/golang.org/x/sys/windows/race0.go +26 -0
  1937. data/ext/vendor/golang.org/x/sys/windows/security_windows.go +1444 -0
  1938. data/ext/vendor/golang.org/x/sys/windows/service.go +247 -0
  1939. data/ext/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  1940. data/ext/vendor/golang.org/x/sys/windows/str.go +23 -0
  1941. data/ext/vendor/golang.org/x/sys/windows/syscall.go +105 -0
  1942. data/ext/vendor/golang.org/x/sys/windows/syscall_windows.go +1808 -0
  1943. data/ext/vendor/golang.org/x/sys/windows/types_windows.go +3345 -0
  1944. data/ext/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  1945. data/ext/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  1946. data/ext/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  1947. data/ext/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  1948. data/ext/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  1949. data/ext/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  1950. data/ext/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4336 -0
  1951. data/ext/vendor/golang.org/x/term/CONTRIBUTING.md +26 -0
  1952. data/ext/vendor/golang.org/x/term/LICENSE +27 -0
  1953. data/ext/vendor/golang.org/x/term/PATENTS +22 -0
  1954. data/ext/vendor/golang.org/x/term/README.md +19 -0
  1955. data/ext/vendor/golang.org/x/term/codereview.cfg +1 -0
  1956. data/ext/vendor/golang.org/x/term/term.go +60 -0
  1957. data/ext/vendor/golang.org/x/term/term_plan9.go +42 -0
  1958. data/ext/vendor/golang.org/x/term/term_unix.go +92 -0
  1959. data/ext/vendor/golang.org/x/term/term_unix_bsd.go +13 -0
  1960. data/ext/vendor/golang.org/x/term/term_unix_other.go +13 -0
  1961. data/ext/vendor/golang.org/x/term/term_unsupported.go +39 -0
  1962. data/ext/vendor/golang.org/x/term/term_windows.go +79 -0
  1963. data/ext/vendor/golang.org/x/term/terminal.go +986 -0
  1964. data/ext/vendor/golang.org/x/text/LICENSE +27 -0
  1965. data/ext/vendor/golang.org/x/text/PATENTS +22 -0
  1966. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  1967. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +12 -0
  1968. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +15 -0
  1969. data/ext/vendor/golang.org/x/text/transform/transform.go +709 -0
  1970. data/ext/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  1971. data/ext/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  1972. data/ext/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  1973. data/ext/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  1974. data/ext/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1816 -0
  1975. data/ext/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1888 -0
  1976. data/ext/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1924 -0
  1977. data/ext/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1956 -0
  1978. data/ext/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1782 -0
  1979. data/ext/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  1980. data/ext/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  1981. data/ext/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  1982. data/ext/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  1983. data/ext/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  1984. data/ext/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  1985. data/ext/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  1986. data/ext/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7658 -0
  1987. data/ext/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7694 -0
  1988. data/ext/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7711 -0
  1989. data/ext/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7761 -0
  1990. data/ext/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7638 -0
  1991. data/ext/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  1992. data/ext/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  1993. data/ext/vendor/golang.org/x/tools/LICENSE +27 -0
  1994. data/ext/vendor/golang.org/x/tools/PATENTS +22 -0
  1995. data/ext/vendor/golang.org/x/tools/cmd/goimports/doc.go +50 -0
  1996. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports.go +380 -0
  1997. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports_gc.go +27 -0
  1998. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports_not_gc.go +12 -0
  1999. data/ext/vendor/golang.org/x/tools/cmd/stringer/stringer.go +657 -0
  2000. data/ext/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go +636 -0
  2001. data/ext/vendor/golang.org/x/tools/go/ast/astutil/imports.go +485 -0
  2002. data/ext/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go +488 -0
  2003. data/ext/vendor/golang.org/x/tools/go/ast/astutil/util.go +18 -0
  2004. data/ext/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +187 -0
  2005. data/ext/vendor/golang.org/x/tools/go/gcexportdata/importer.go +75 -0
  2006. data/ext/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go +49 -0
  2007. data/ext/vendor/golang.org/x/tools/go/packages/doc.go +220 -0
  2008. data/ext/vendor/golang.org/x/tools/go/packages/external.go +101 -0
  2009. data/ext/vendor/golang.org/x/tools/go/packages/golist.go +1173 -0
  2010. data/ext/vendor/golang.org/x/tools/go/packages/golist_overlay.go +575 -0
  2011. data/ext/vendor/golang.org/x/tools/go/packages/loadmode_string.go +57 -0
  2012. data/ext/vendor/golang.org/x/tools/go/packages/packages.go +1326 -0
  2013. data/ext/vendor/golang.org/x/tools/go/packages/visit.go +59 -0
  2014. data/ext/vendor/golang.org/x/tools/internal/event/core/event.go +85 -0
  2015. data/ext/vendor/golang.org/x/tools/internal/event/core/export.go +70 -0
  2016. data/ext/vendor/golang.org/x/tools/internal/event/core/fast.go +77 -0
  2017. data/ext/vendor/golang.org/x/tools/internal/event/doc.go +7 -0
  2018. data/ext/vendor/golang.org/x/tools/internal/event/event.go +127 -0
  2019. data/ext/vendor/golang.org/x/tools/internal/event/keys/keys.go +564 -0
  2020. data/ext/vendor/golang.org/x/tools/internal/event/keys/standard.go +22 -0
  2021. data/ext/vendor/golang.org/x/tools/internal/event/label/label.go +215 -0
  2022. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go +196 -0
  2023. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go +119 -0
  2024. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_fileno.go +14 -0
  2025. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go +15 -0
  2026. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go +14 -0
  2027. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_linux.go +29 -0
  2028. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_portable.go +38 -0
  2029. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go +153 -0
  2030. data/ext/vendor/golang.org/x/tools/internal/gcimporter/bexport.go +852 -0
  2031. data/ext/vendor/golang.org/x/tools/internal/gcimporter/bimport.go +1053 -0
  2032. data/ext/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go +99 -0
  2033. data/ext/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go +265 -0
  2034. data/ext/vendor/golang.org/x/tools/internal/gcimporter/iexport.go +1180 -0
  2035. data/ext/vendor/golang.org/x/tools/internal/gcimporter/iimport.go +976 -0
  2036. data/ext/vendor/golang.org/x/tools/internal/gcimporter/newInterface10.go +22 -0
  2037. data/ext/vendor/golang.org/x/tools/internal/gcimporter/newInterface11.go +14 -0
  2038. data/ext/vendor/golang.org/x/tools/internal/gcimporter/support_go117.go +16 -0
  2039. data/ext/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go +37 -0
  2040. data/ext/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go +10 -0
  2041. data/ext/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go +10 -0
  2042. data/ext/vendor/golang.org/x/tools/internal/gcimporter/ureader_no.go +19 -0
  2043. data/ext/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go +738 -0
  2044. data/ext/vendor/golang.org/x/tools/internal/gocommand/invoke.go +356 -0
  2045. data/ext/vendor/golang.org/x/tools/internal/gocommand/vendor.go +109 -0
  2046. data/ext/vendor/golang.org/x/tools/internal/gocommand/version.go +81 -0
  2047. data/ext/vendor/golang.org/x/tools/internal/gopathwalk/walk.go +254 -0
  2048. data/ext/vendor/golang.org/x/tools/internal/imports/fix.go +1738 -0
  2049. data/ext/vendor/golang.org/x/tools/internal/imports/imports.go +351 -0
  2050. data/ext/vendor/golang.org/x/tools/internal/imports/mod.go +716 -0
  2051. data/ext/vendor/golang.org/x/tools/internal/imports/mod_cache.go +236 -0
  2052. data/ext/vendor/golang.org/x/tools/internal/imports/sortimports.go +297 -0
  2053. data/ext/vendor/golang.org/x/tools/internal/imports/zstdlib.go +11115 -0
  2054. data/ext/vendor/golang.org/x/tools/internal/packagesinternal/packages.go +30 -0
  2055. data/ext/vendor/golang.org/x/tools/internal/pkgbits/codes.go +77 -0
  2056. data/ext/vendor/golang.org/x/tools/internal/pkgbits/decoder.go +517 -0
  2057. data/ext/vendor/golang.org/x/tools/internal/pkgbits/doc.go +32 -0
  2058. data/ext/vendor/golang.org/x/tools/internal/pkgbits/encoder.go +383 -0
  2059. data/ext/vendor/golang.org/x/tools/internal/pkgbits/flags.go +9 -0
  2060. data/ext/vendor/golang.org/x/tools/internal/pkgbits/frames_go1.go +21 -0
  2061. data/ext/vendor/golang.org/x/tools/internal/pkgbits/frames_go17.go +28 -0
  2062. data/ext/vendor/golang.org/x/tools/internal/pkgbits/reloc.go +42 -0
  2063. data/ext/vendor/golang.org/x/tools/internal/pkgbits/support.go +17 -0
  2064. data/ext/vendor/golang.org/x/tools/internal/pkgbits/sync.go +113 -0
  2065. data/ext/vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go +89 -0
  2066. data/ext/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go +59 -0
  2067. data/ext/vendor/golang.org/x/tools/internal/typeparams/common.go +179 -0
  2068. data/ext/vendor/golang.org/x/tools/internal/typeparams/coretype.go +122 -0
  2069. data/ext/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go +12 -0
  2070. data/ext/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go +15 -0
  2071. data/ext/vendor/golang.org/x/tools/internal/typeparams/normalize.go +218 -0
  2072. data/ext/vendor/golang.org/x/tools/internal/typeparams/termlist.go +163 -0
  2073. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go +197 -0
  2074. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go +151 -0
  2075. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeterm.go +170 -0
  2076. data/ext/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go +1560 -0
  2077. data/ext/vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go +179 -0
  2078. data/ext/vendor/golang.org/x/tools/internal/typesinternal/types.go +52 -0
  2079. data/ext/vendor/golang.org/x/tools/internal/typesinternal/types_118.go +19 -0
  2080. data/ext/vendor/golang.org/x/xerrors/LICENSE +27 -0
  2081. data/ext/vendor/golang.org/x/xerrors/PATENTS +22 -0
  2082. data/ext/vendor/golang.org/x/xerrors/README +2 -0
  2083. data/ext/vendor/golang.org/x/xerrors/adaptor.go +193 -0
  2084. data/ext/vendor/golang.org/x/xerrors/codereview.cfg +1 -0
  2085. data/ext/vendor/golang.org/x/xerrors/doc.go +23 -0
  2086. data/ext/vendor/golang.org/x/xerrors/errors.go +33 -0
  2087. data/ext/vendor/golang.org/x/xerrors/fmt.go +190 -0
  2088. data/ext/vendor/golang.org/x/xerrors/format.go +34 -0
  2089. data/ext/vendor/golang.org/x/xerrors/frame.go +56 -0
  2090. data/ext/vendor/golang.org/x/xerrors/internal/internal.go +8 -0
  2091. data/ext/vendor/golang.org/x/xerrors/wrap.go +112 -0
  2092. data/ext/vendor/modules.txt +311 -0
  2093. data/ext/wrapper.go +158 -0
  2094. data/lib/ruby_snowflake_client/version.rb +3 -0
  2095. data/lib/ruby_snowflake_client.rb +46 -0
  2096. data/ruby_snowflake_client.gemspec +24 -0
  2097. metadata +2141 -0
@@ -0,0 +1,2783 @@
1
+ // Code generated by xxh3_memo_table.gen.go.tmpl. DO NOT EDIT.
2
+
3
+ // Licensed to the Apache Software Foundation (ASF) under one
4
+ // or more contributor license agreements. See the NOTICE file
5
+ // distributed with this work for additional information
6
+ // regarding copyright ownership. The ASF licenses this file
7
+ // to you under the Apache License, Version 2.0 (the
8
+ // "License"); you may not use this file except in compliance
9
+ // with the License. You may obtain a copy of the License at
10
+ //
11
+ // http://www.apache.org/licenses/LICENSE-2.0
12
+ //
13
+ // Unless required by applicable law or agreed to in writing, software
14
+ // distributed under the License is distributed on an "AS IS" BASIS,
15
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ // See the License for the specific language governing permissions and
17
+ // limitations under the License.
18
+
19
+ package hashing
20
+
21
+ import (
22
+ "math"
23
+
24
+ "github.com/apache/arrow/go/v10/arrow"
25
+ "github.com/apache/arrow/go/v10/arrow/bitutil"
26
+ "github.com/apache/arrow/go/v10/internal/utils"
27
+ )
28
+
29
+ type payloadInt8 struct {
30
+ val int8
31
+ memoIdx int32
32
+ }
33
+
34
+ type entryInt8 struct {
35
+ h uint64
36
+ payload payloadInt8
37
+ }
38
+
39
+ func (e entryInt8) Valid() bool { return e.h != sentinel }
40
+
41
+ // Int8HashTable is a hashtable specifically for int8 that
42
+ // is utilized with the MemoTable to generalize interactions for easier
43
+ // implementation of dictionaries without losing performance.
44
+ type Int8HashTable struct {
45
+ cap uint64
46
+ capMask uint64
47
+ size uint64
48
+
49
+ entries []entryInt8
50
+ }
51
+
52
+ // NewInt8HashTable returns a new hash table for int8 values
53
+ // initialized with the passed in capacity or 32 whichever is larger.
54
+ func NewInt8HashTable(cap uint64) *Int8HashTable {
55
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
56
+ ret := &Int8HashTable{cap: initCap, capMask: initCap - 1, size: 0}
57
+ ret.entries = make([]entryInt8, initCap)
58
+ return ret
59
+ }
60
+
61
+ // Reset drops all of the values in this hash table and re-initializes it
62
+ // with the specified initial capacity as if by calling New, but without having
63
+ // to reallocate the object.
64
+ func (h *Int8HashTable) Reset(cap uint64) {
65
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
66
+ h.capMask = h.cap - 1
67
+ h.size = 0
68
+ h.entries = make([]entryInt8, h.cap)
69
+ }
70
+
71
+ // CopyValues is used for copying the values out of the hash table into the
72
+ // passed in slice, in the order that they were first inserted
73
+ func (h *Int8HashTable) CopyValues(out []int8) {
74
+ h.CopyValuesSubset(0, out)
75
+ }
76
+
77
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
78
+ // with the value at start, in the order that they were inserted.
79
+ func (h *Int8HashTable) CopyValuesSubset(start int, out []int8) {
80
+ h.VisitEntries(func(e *entryInt8) {
81
+ idx := e.payload.memoIdx - int32(start)
82
+ if idx >= 0 {
83
+ out[idx] = e.payload.val
84
+ }
85
+ })
86
+ }
87
+
88
+ func (h *Int8HashTable) WriteOut(out []byte) {
89
+ h.WriteOutSubset(0, out)
90
+ }
91
+
92
+ func (h *Int8HashTable) WriteOutSubset(start int, out []byte) {
93
+ data := arrow.Int8Traits.CastFromBytes(out)
94
+ h.VisitEntries(func(e *entryInt8) {
95
+ idx := e.payload.memoIdx - int32(start)
96
+ if idx >= 0 {
97
+ data[idx] = e.payload.val
98
+ }
99
+ })
100
+ }
101
+
102
+ func (h *Int8HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
103
+
104
+ func (Int8HashTable) fixHash(v uint64) uint64 {
105
+ if v == sentinel {
106
+ return 42
107
+ }
108
+ return v
109
+ }
110
+
111
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
112
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
113
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
114
+ func (h *Int8HashTable) Lookup(v uint64, cmp func(int8) bool) (*entryInt8, bool) {
115
+ idx, ok := h.lookup(v, h.capMask, cmp)
116
+ return &h.entries[idx], ok
117
+ }
118
+
119
+ func (h *Int8HashTable) lookup(v uint64, szMask uint64, cmp func(int8) bool) (uint64, bool) {
120
+ const perturbShift uint8 = 5
121
+
122
+ var (
123
+ idx uint64
124
+ perturb uint64
125
+ e *entryInt8
126
+ )
127
+
128
+ v = h.fixHash(v)
129
+ idx = v & szMask
130
+ perturb = (v >> uint64(perturbShift)) + 1
131
+
132
+ for {
133
+ e = &h.entries[idx]
134
+ if e.h == v && cmp(e.payload.val) {
135
+ return idx, true
136
+ }
137
+
138
+ if e.h == sentinel {
139
+ return idx, false
140
+ }
141
+
142
+ // perturbation logic inspired from CPython's set/dict object
143
+ // the goal is that all 64 bits of unmasked hash value eventually
144
+ // participate int he probing sequence, to minimize clustering
145
+ idx = (idx + perturb) & szMask
146
+ perturb = (perturb >> uint64(perturbShift)) + 1
147
+ }
148
+ }
149
+
150
+ func (h *Int8HashTable) upsize(newcap uint64) error {
151
+ newMask := newcap - 1
152
+
153
+ oldEntries := h.entries
154
+ h.entries = make([]entryInt8, newcap)
155
+ for _, e := range oldEntries {
156
+ if e.Valid() {
157
+ idx, _ := h.lookup(e.h, newMask, func(int8) bool { return false })
158
+ h.entries[idx] = e
159
+ }
160
+ }
161
+ h.cap = newcap
162
+ h.capMask = newMask
163
+ return nil
164
+ }
165
+
166
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
167
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
168
+ func (h *Int8HashTable) Insert(e *entryInt8, v uint64, val int8, memoIdx int32) error {
169
+ e.h = h.fixHash(v)
170
+ e.payload.val = val
171
+ e.payload.memoIdx = memoIdx
172
+ h.size++
173
+
174
+ if h.needUpsize() {
175
+ h.upsize(h.cap * uint64(loadFactor) * 2)
176
+ }
177
+ return nil
178
+ }
179
+
180
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
181
+ // a valid entry being one which has had a value inserted into it.
182
+ func (h *Int8HashTable) VisitEntries(visit func(*entryInt8)) {
183
+ for _, e := range h.entries {
184
+ if e.Valid() {
185
+ visit(&e)
186
+ }
187
+ }
188
+ }
189
+
190
+ // Int8MemoTable is a wrapper over the appropriate hashtable to provide an interface
191
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
192
+ // regarding dictionaries.
193
+ type Int8MemoTable struct {
194
+ tbl *Int8HashTable
195
+ nullIdx int32
196
+ }
197
+
198
+ // NewInt8MemoTable returns a new memotable with num entries pre-allocated to reduce further
199
+ // allocations when inserting.
200
+ func NewInt8MemoTable(num int64) *Int8MemoTable {
201
+ return &Int8MemoTable{tbl: NewInt8HashTable(uint64(num)), nullIdx: KeyNotFound}
202
+ }
203
+
204
+ func (Int8MemoTable) TypeTraits() TypeTraits {
205
+ return arrow.Int8Traits
206
+ }
207
+
208
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
209
+ func (s *Int8MemoTable) Reset() {
210
+ s.tbl.Reset(32)
211
+ s.nullIdx = KeyNotFound
212
+ }
213
+
214
+ // Size returns the current number of inserted elements into the table including if a null
215
+ // has been inserted.
216
+ func (s *Int8MemoTable) Size() int {
217
+ sz := int(s.tbl.size)
218
+ if _, ok := s.GetNull(); ok {
219
+ sz++
220
+ }
221
+ return sz
222
+ }
223
+
224
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
225
+ // that will be true if found and false if not.
226
+ func (s *Int8MemoTable) GetNull() (int, bool) {
227
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
228
+ }
229
+
230
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
231
+ // if one currently doesn't exist. The found value will be true if there was already
232
+ // a null in the table, and false if it inserted one.
233
+ func (s *Int8MemoTable) GetOrInsertNull() (idx int, found bool) {
234
+ idx, found = s.GetNull()
235
+ if !found {
236
+ idx = s.Size()
237
+ s.nullIdx = int32(idx)
238
+ }
239
+ return
240
+ }
241
+
242
+ // CopyValues will copy the values from the memo table out into the passed in slice
243
+ // which must be of the appropriate type.
244
+ func (s *Int8MemoTable) CopyValues(out interface{}) {
245
+ s.CopyValuesSubset(0, out)
246
+ }
247
+
248
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
249
+ // at the provided start index
250
+ func (s *Int8MemoTable) CopyValuesSubset(start int, out interface{}) {
251
+ s.tbl.CopyValuesSubset(start, out.([]int8))
252
+ }
253
+
254
+ func (s *Int8MemoTable) WriteOut(out []byte) {
255
+ s.tbl.CopyValues(arrow.Int8Traits.CastFromBytes(out))
256
+ }
257
+
258
+ func (s *Int8MemoTable) WriteOutSubset(start int, out []byte) {
259
+ s.tbl.CopyValuesSubset(start, arrow.Int8Traits.CastFromBytes(out))
260
+ }
261
+
262
+ func (s *Int8MemoTable) WriteOutLE(out []byte) {
263
+ s.tbl.WriteOut(out)
264
+ }
265
+
266
+ func (s *Int8MemoTable) WriteOutSubsetLE(start int, out []byte) {
267
+ s.tbl.WriteOutSubset(start, out)
268
+ }
269
+
270
+ // Get returns the index of the requested value in the hash table or KeyNotFound
271
+ // along with a boolean indicating if it was found or not.
272
+ func (s *Int8MemoTable) Get(val interface{}) (int, bool) {
273
+
274
+ h := hashInt(uint64(val.(int8)), 0)
275
+ if e, ok := s.tbl.Lookup(h, func(v int8) bool { return val.(int8) == v }); ok {
276
+ return int(e.payload.memoIdx), ok
277
+ }
278
+ return KeyNotFound, false
279
+ }
280
+
281
+ // GetOrInsert will return the index of the specified value in the table, or insert the
282
+ // value into the table and return the new index. found indicates whether or not it already
283
+ // existed in the table (true) or was inserted by this call (false).
284
+ func (s *Int8MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
285
+
286
+ h := hashInt(uint64(val.(int8)), 0)
287
+ e, ok := s.tbl.Lookup(h, func(v int8) bool {
288
+ return val.(int8) == v
289
+ })
290
+
291
+ if ok {
292
+ idx = int(e.payload.memoIdx)
293
+ found = true
294
+ } else {
295
+ idx = s.Size()
296
+ s.tbl.Insert(e, h, val.(int8), int32(idx))
297
+ }
298
+ return
299
+ }
300
+
301
+ type payloadUint8 struct {
302
+ val uint8
303
+ memoIdx int32
304
+ }
305
+
306
+ type entryUint8 struct {
307
+ h uint64
308
+ payload payloadUint8
309
+ }
310
+
311
+ func (e entryUint8) Valid() bool { return e.h != sentinel }
312
+
313
+ // Uint8HashTable is a hashtable specifically for uint8 that
314
+ // is utilized with the MemoTable to generalize interactions for easier
315
+ // implementation of dictionaries without losing performance.
316
+ type Uint8HashTable struct {
317
+ cap uint64
318
+ capMask uint64
319
+ size uint64
320
+
321
+ entries []entryUint8
322
+ }
323
+
324
+ // NewUint8HashTable returns a new hash table for uint8 values
325
+ // initialized with the passed in capacity or 32 whichever is larger.
326
+ func NewUint8HashTable(cap uint64) *Uint8HashTable {
327
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
328
+ ret := &Uint8HashTable{cap: initCap, capMask: initCap - 1, size: 0}
329
+ ret.entries = make([]entryUint8, initCap)
330
+ return ret
331
+ }
332
+
333
+ // Reset drops all of the values in this hash table and re-initializes it
334
+ // with the specified initial capacity as if by calling New, but without having
335
+ // to reallocate the object.
336
+ func (h *Uint8HashTable) Reset(cap uint64) {
337
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
338
+ h.capMask = h.cap - 1
339
+ h.size = 0
340
+ h.entries = make([]entryUint8, h.cap)
341
+ }
342
+
343
+ // CopyValues is used for copying the values out of the hash table into the
344
+ // passed in slice, in the order that they were first inserted
345
+ func (h *Uint8HashTable) CopyValues(out []uint8) {
346
+ h.CopyValuesSubset(0, out)
347
+ }
348
+
349
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
350
+ // with the value at start, in the order that they were inserted.
351
+ func (h *Uint8HashTable) CopyValuesSubset(start int, out []uint8) {
352
+ h.VisitEntries(func(e *entryUint8) {
353
+ idx := e.payload.memoIdx - int32(start)
354
+ if idx >= 0 {
355
+ out[idx] = e.payload.val
356
+ }
357
+ })
358
+ }
359
+
360
+ func (h *Uint8HashTable) WriteOut(out []byte) {
361
+ h.WriteOutSubset(0, out)
362
+ }
363
+
364
+ func (h *Uint8HashTable) WriteOutSubset(start int, out []byte) {
365
+ data := arrow.Uint8Traits.CastFromBytes(out)
366
+ h.VisitEntries(func(e *entryUint8) {
367
+ idx := e.payload.memoIdx - int32(start)
368
+ if idx >= 0 {
369
+ data[idx] = e.payload.val
370
+ }
371
+ })
372
+ }
373
+
374
+ func (h *Uint8HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
375
+
376
+ func (Uint8HashTable) fixHash(v uint64) uint64 {
377
+ if v == sentinel {
378
+ return 42
379
+ }
380
+ return v
381
+ }
382
+
383
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
384
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
385
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
386
+ func (h *Uint8HashTable) Lookup(v uint64, cmp func(uint8) bool) (*entryUint8, bool) {
387
+ idx, ok := h.lookup(v, h.capMask, cmp)
388
+ return &h.entries[idx], ok
389
+ }
390
+
391
+ func (h *Uint8HashTable) lookup(v uint64, szMask uint64, cmp func(uint8) bool) (uint64, bool) {
392
+ const perturbShift uint8 = 5
393
+
394
+ var (
395
+ idx uint64
396
+ perturb uint64
397
+ e *entryUint8
398
+ )
399
+
400
+ v = h.fixHash(v)
401
+ idx = v & szMask
402
+ perturb = (v >> uint64(perturbShift)) + 1
403
+
404
+ for {
405
+ e = &h.entries[idx]
406
+ if e.h == v && cmp(e.payload.val) {
407
+ return idx, true
408
+ }
409
+
410
+ if e.h == sentinel {
411
+ return idx, false
412
+ }
413
+
414
+ // perturbation logic inspired from CPython's set/dict object
415
+ // the goal is that all 64 bits of unmasked hash value eventually
416
+ // participate int he probing sequence, to minimize clustering
417
+ idx = (idx + perturb) & szMask
418
+ perturb = (perturb >> uint64(perturbShift)) + 1
419
+ }
420
+ }
421
+
422
+ func (h *Uint8HashTable) upsize(newcap uint64) error {
423
+ newMask := newcap - 1
424
+
425
+ oldEntries := h.entries
426
+ h.entries = make([]entryUint8, newcap)
427
+ for _, e := range oldEntries {
428
+ if e.Valid() {
429
+ idx, _ := h.lookup(e.h, newMask, func(uint8) bool { return false })
430
+ h.entries[idx] = e
431
+ }
432
+ }
433
+ h.cap = newcap
434
+ h.capMask = newMask
435
+ return nil
436
+ }
437
+
438
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
439
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
440
+ func (h *Uint8HashTable) Insert(e *entryUint8, v uint64, val uint8, memoIdx int32) error {
441
+ e.h = h.fixHash(v)
442
+ e.payload.val = val
443
+ e.payload.memoIdx = memoIdx
444
+ h.size++
445
+
446
+ if h.needUpsize() {
447
+ h.upsize(h.cap * uint64(loadFactor) * 2)
448
+ }
449
+ return nil
450
+ }
451
+
452
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
453
+ // a valid entry being one which has had a value inserted into it.
454
+ func (h *Uint8HashTable) VisitEntries(visit func(*entryUint8)) {
455
+ for _, e := range h.entries {
456
+ if e.Valid() {
457
+ visit(&e)
458
+ }
459
+ }
460
+ }
461
+
462
+ // Uint8MemoTable is a wrapper over the appropriate hashtable to provide an interface
463
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
464
+ // regarding dictionaries.
465
+ type Uint8MemoTable struct {
466
+ tbl *Uint8HashTable
467
+ nullIdx int32
468
+ }
469
+
470
+ // NewUint8MemoTable returns a new memotable with num entries pre-allocated to reduce further
471
+ // allocations when inserting.
472
+ func NewUint8MemoTable(num int64) *Uint8MemoTable {
473
+ return &Uint8MemoTable{tbl: NewUint8HashTable(uint64(num)), nullIdx: KeyNotFound}
474
+ }
475
+
476
+ func (Uint8MemoTable) TypeTraits() TypeTraits {
477
+ return arrow.Uint8Traits
478
+ }
479
+
480
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
481
+ func (s *Uint8MemoTable) Reset() {
482
+ s.tbl.Reset(32)
483
+ s.nullIdx = KeyNotFound
484
+ }
485
+
486
+ // Size returns the current number of inserted elements into the table including if a null
487
+ // has been inserted.
488
+ func (s *Uint8MemoTable) Size() int {
489
+ sz := int(s.tbl.size)
490
+ if _, ok := s.GetNull(); ok {
491
+ sz++
492
+ }
493
+ return sz
494
+ }
495
+
496
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
497
+ // that will be true if found and false if not.
498
+ func (s *Uint8MemoTable) GetNull() (int, bool) {
499
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
500
+ }
501
+
502
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
503
+ // if one currently doesn't exist. The found value will be true if there was already
504
+ // a null in the table, and false if it inserted one.
505
+ func (s *Uint8MemoTable) GetOrInsertNull() (idx int, found bool) {
506
+ idx, found = s.GetNull()
507
+ if !found {
508
+ idx = s.Size()
509
+ s.nullIdx = int32(idx)
510
+ }
511
+ return
512
+ }
513
+
514
+ // CopyValues will copy the values from the memo table out into the passed in slice
515
+ // which must be of the appropriate type.
516
+ func (s *Uint8MemoTable) CopyValues(out interface{}) {
517
+ s.CopyValuesSubset(0, out)
518
+ }
519
+
520
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
521
+ // at the provided start index
522
+ func (s *Uint8MemoTable) CopyValuesSubset(start int, out interface{}) {
523
+ s.tbl.CopyValuesSubset(start, out.([]uint8))
524
+ }
525
+
526
+ func (s *Uint8MemoTable) WriteOut(out []byte) {
527
+ s.tbl.CopyValues(arrow.Uint8Traits.CastFromBytes(out))
528
+ }
529
+
530
+ func (s *Uint8MemoTable) WriteOutSubset(start int, out []byte) {
531
+ s.tbl.CopyValuesSubset(start, arrow.Uint8Traits.CastFromBytes(out))
532
+ }
533
+
534
+ func (s *Uint8MemoTable) WriteOutLE(out []byte) {
535
+ s.tbl.WriteOut(out)
536
+ }
537
+
538
+ func (s *Uint8MemoTable) WriteOutSubsetLE(start int, out []byte) {
539
+ s.tbl.WriteOutSubset(start, out)
540
+ }
541
+
542
+ // Get returns the index of the requested value in the hash table or KeyNotFound
543
+ // along with a boolean indicating if it was found or not.
544
+ func (s *Uint8MemoTable) Get(val interface{}) (int, bool) {
545
+
546
+ h := hashInt(uint64(val.(uint8)), 0)
547
+ if e, ok := s.tbl.Lookup(h, func(v uint8) bool { return val.(uint8) == v }); ok {
548
+ return int(e.payload.memoIdx), ok
549
+ }
550
+ return KeyNotFound, false
551
+ }
552
+
553
+ // GetOrInsert will return the index of the specified value in the table, or insert the
554
+ // value into the table and return the new index. found indicates whether or not it already
555
+ // existed in the table (true) or was inserted by this call (false).
556
+ func (s *Uint8MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
557
+
558
+ h := hashInt(uint64(val.(uint8)), 0)
559
+ e, ok := s.tbl.Lookup(h, func(v uint8) bool {
560
+ return val.(uint8) == v
561
+ })
562
+
563
+ if ok {
564
+ idx = int(e.payload.memoIdx)
565
+ found = true
566
+ } else {
567
+ idx = s.Size()
568
+ s.tbl.Insert(e, h, val.(uint8), int32(idx))
569
+ }
570
+ return
571
+ }
572
+
573
+ type payloadInt16 struct {
574
+ val int16
575
+ memoIdx int32
576
+ }
577
+
578
+ type entryInt16 struct {
579
+ h uint64
580
+ payload payloadInt16
581
+ }
582
+
583
+ func (e entryInt16) Valid() bool { return e.h != sentinel }
584
+
585
+ // Int16HashTable is a hashtable specifically for int16 that
586
+ // is utilized with the MemoTable to generalize interactions for easier
587
+ // implementation of dictionaries without losing performance.
588
+ type Int16HashTable struct {
589
+ cap uint64
590
+ capMask uint64
591
+ size uint64
592
+
593
+ entries []entryInt16
594
+ }
595
+
596
+ // NewInt16HashTable returns a new hash table for int16 values
597
+ // initialized with the passed in capacity or 32 whichever is larger.
598
+ func NewInt16HashTable(cap uint64) *Int16HashTable {
599
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
600
+ ret := &Int16HashTable{cap: initCap, capMask: initCap - 1, size: 0}
601
+ ret.entries = make([]entryInt16, initCap)
602
+ return ret
603
+ }
604
+
605
+ // Reset drops all of the values in this hash table and re-initializes it
606
+ // with the specified initial capacity as if by calling New, but without having
607
+ // to reallocate the object.
608
+ func (h *Int16HashTable) Reset(cap uint64) {
609
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
610
+ h.capMask = h.cap - 1
611
+ h.size = 0
612
+ h.entries = make([]entryInt16, h.cap)
613
+ }
614
+
615
+ // CopyValues is used for copying the values out of the hash table into the
616
+ // passed in slice, in the order that they were first inserted
617
+ func (h *Int16HashTable) CopyValues(out []int16) {
618
+ h.CopyValuesSubset(0, out)
619
+ }
620
+
621
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
622
+ // with the value at start, in the order that they were inserted.
623
+ func (h *Int16HashTable) CopyValuesSubset(start int, out []int16) {
624
+ h.VisitEntries(func(e *entryInt16) {
625
+ idx := e.payload.memoIdx - int32(start)
626
+ if idx >= 0 {
627
+ out[idx] = e.payload.val
628
+ }
629
+ })
630
+ }
631
+
632
+ func (h *Int16HashTable) WriteOut(out []byte) {
633
+ h.WriteOutSubset(0, out)
634
+ }
635
+
636
+ func (h *Int16HashTable) WriteOutSubset(start int, out []byte) {
637
+ data := arrow.Int16Traits.CastFromBytes(out)
638
+ h.VisitEntries(func(e *entryInt16) {
639
+ idx := e.payload.memoIdx - int32(start)
640
+ if idx >= 0 {
641
+ data[idx] = utils.ToLEInt16(e.payload.val)
642
+ }
643
+ })
644
+ }
645
+
646
+ func (h *Int16HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
647
+
648
+ func (Int16HashTable) fixHash(v uint64) uint64 {
649
+ if v == sentinel {
650
+ return 42
651
+ }
652
+ return v
653
+ }
654
+
655
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
656
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
657
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
658
+ func (h *Int16HashTable) Lookup(v uint64, cmp func(int16) bool) (*entryInt16, bool) {
659
+ idx, ok := h.lookup(v, h.capMask, cmp)
660
+ return &h.entries[idx], ok
661
+ }
662
+
663
+ func (h *Int16HashTable) lookup(v uint64, szMask uint64, cmp func(int16) bool) (uint64, bool) {
664
+ const perturbShift uint8 = 5
665
+
666
+ var (
667
+ idx uint64
668
+ perturb uint64
669
+ e *entryInt16
670
+ )
671
+
672
+ v = h.fixHash(v)
673
+ idx = v & szMask
674
+ perturb = (v >> uint64(perturbShift)) + 1
675
+
676
+ for {
677
+ e = &h.entries[idx]
678
+ if e.h == v && cmp(e.payload.val) {
679
+ return idx, true
680
+ }
681
+
682
+ if e.h == sentinel {
683
+ return idx, false
684
+ }
685
+
686
+ // perturbation logic inspired from CPython's set/dict object
687
+ // the goal is that all 64 bits of unmasked hash value eventually
688
+ // participate int he probing sequence, to minimize clustering
689
+ idx = (idx + perturb) & szMask
690
+ perturb = (perturb >> uint64(perturbShift)) + 1
691
+ }
692
+ }
693
+
694
+ func (h *Int16HashTable) upsize(newcap uint64) error {
695
+ newMask := newcap - 1
696
+
697
+ oldEntries := h.entries
698
+ h.entries = make([]entryInt16, newcap)
699
+ for _, e := range oldEntries {
700
+ if e.Valid() {
701
+ idx, _ := h.lookup(e.h, newMask, func(int16) bool { return false })
702
+ h.entries[idx] = e
703
+ }
704
+ }
705
+ h.cap = newcap
706
+ h.capMask = newMask
707
+ return nil
708
+ }
709
+
710
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
711
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
712
+ func (h *Int16HashTable) Insert(e *entryInt16, v uint64, val int16, memoIdx int32) error {
713
+ e.h = h.fixHash(v)
714
+ e.payload.val = val
715
+ e.payload.memoIdx = memoIdx
716
+ h.size++
717
+
718
+ if h.needUpsize() {
719
+ h.upsize(h.cap * uint64(loadFactor) * 2)
720
+ }
721
+ return nil
722
+ }
723
+
724
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
725
+ // a valid entry being one which has had a value inserted into it.
726
+ func (h *Int16HashTable) VisitEntries(visit func(*entryInt16)) {
727
+ for _, e := range h.entries {
728
+ if e.Valid() {
729
+ visit(&e)
730
+ }
731
+ }
732
+ }
733
+
734
+ // Int16MemoTable is a wrapper over the appropriate hashtable to provide an interface
735
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
736
+ // regarding dictionaries.
737
+ type Int16MemoTable struct {
738
+ tbl *Int16HashTable
739
+ nullIdx int32
740
+ }
741
+
742
+ // NewInt16MemoTable returns a new memotable with num entries pre-allocated to reduce further
743
+ // allocations when inserting.
744
+ func NewInt16MemoTable(num int64) *Int16MemoTable {
745
+ return &Int16MemoTable{tbl: NewInt16HashTable(uint64(num)), nullIdx: KeyNotFound}
746
+ }
747
+
748
+ func (Int16MemoTable) TypeTraits() TypeTraits {
749
+ return arrow.Int16Traits
750
+ }
751
+
752
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
753
+ func (s *Int16MemoTable) Reset() {
754
+ s.tbl.Reset(32)
755
+ s.nullIdx = KeyNotFound
756
+ }
757
+
758
+ // Size returns the current number of inserted elements into the table including if a null
759
+ // has been inserted.
760
+ func (s *Int16MemoTable) Size() int {
761
+ sz := int(s.tbl.size)
762
+ if _, ok := s.GetNull(); ok {
763
+ sz++
764
+ }
765
+ return sz
766
+ }
767
+
768
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
769
+ // that will be true if found and false if not.
770
+ func (s *Int16MemoTable) GetNull() (int, bool) {
771
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
772
+ }
773
+
774
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
775
+ // if one currently doesn't exist. The found value will be true if there was already
776
+ // a null in the table, and false if it inserted one.
777
+ func (s *Int16MemoTable) GetOrInsertNull() (idx int, found bool) {
778
+ idx, found = s.GetNull()
779
+ if !found {
780
+ idx = s.Size()
781
+ s.nullIdx = int32(idx)
782
+ }
783
+ return
784
+ }
785
+
786
+ // CopyValues will copy the values from the memo table out into the passed in slice
787
+ // which must be of the appropriate type.
788
+ func (s *Int16MemoTable) CopyValues(out interface{}) {
789
+ s.CopyValuesSubset(0, out)
790
+ }
791
+
792
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
793
+ // at the provided start index
794
+ func (s *Int16MemoTable) CopyValuesSubset(start int, out interface{}) {
795
+ s.tbl.CopyValuesSubset(start, out.([]int16))
796
+ }
797
+
798
+ func (s *Int16MemoTable) WriteOut(out []byte) {
799
+ s.tbl.CopyValues(arrow.Int16Traits.CastFromBytes(out))
800
+ }
801
+
802
+ func (s *Int16MemoTable) WriteOutSubset(start int, out []byte) {
803
+ s.tbl.CopyValuesSubset(start, arrow.Int16Traits.CastFromBytes(out))
804
+ }
805
+
806
+ func (s *Int16MemoTable) WriteOutLE(out []byte) {
807
+ s.tbl.WriteOut(out)
808
+ }
809
+
810
+ func (s *Int16MemoTable) WriteOutSubsetLE(start int, out []byte) {
811
+ s.tbl.WriteOutSubset(start, out)
812
+ }
813
+
814
+ // Get returns the index of the requested value in the hash table or KeyNotFound
815
+ // along with a boolean indicating if it was found or not.
816
+ func (s *Int16MemoTable) Get(val interface{}) (int, bool) {
817
+
818
+ h := hashInt(uint64(val.(int16)), 0)
819
+ if e, ok := s.tbl.Lookup(h, func(v int16) bool { return val.(int16) == v }); ok {
820
+ return int(e.payload.memoIdx), ok
821
+ }
822
+ return KeyNotFound, false
823
+ }
824
+
825
+ // GetOrInsert will return the index of the specified value in the table, or insert the
826
+ // value into the table and return the new index. found indicates whether or not it already
827
+ // existed in the table (true) or was inserted by this call (false).
828
+ func (s *Int16MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
829
+
830
+ h := hashInt(uint64(val.(int16)), 0)
831
+ e, ok := s.tbl.Lookup(h, func(v int16) bool {
832
+ return val.(int16) == v
833
+ })
834
+
835
+ if ok {
836
+ idx = int(e.payload.memoIdx)
837
+ found = true
838
+ } else {
839
+ idx = s.Size()
840
+ s.tbl.Insert(e, h, val.(int16), int32(idx))
841
+ }
842
+ return
843
+ }
844
+
845
+ type payloadUint16 struct {
846
+ val uint16
847
+ memoIdx int32
848
+ }
849
+
850
+ type entryUint16 struct {
851
+ h uint64
852
+ payload payloadUint16
853
+ }
854
+
855
+ func (e entryUint16) Valid() bool { return e.h != sentinel }
856
+
857
+ // Uint16HashTable is a hashtable specifically for uint16 that
858
+ // is utilized with the MemoTable to generalize interactions for easier
859
+ // implementation of dictionaries without losing performance.
860
+ type Uint16HashTable struct {
861
+ cap uint64
862
+ capMask uint64
863
+ size uint64
864
+
865
+ entries []entryUint16
866
+ }
867
+
868
+ // NewUint16HashTable returns a new hash table for uint16 values
869
+ // initialized with the passed in capacity or 32 whichever is larger.
870
+ func NewUint16HashTable(cap uint64) *Uint16HashTable {
871
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
872
+ ret := &Uint16HashTable{cap: initCap, capMask: initCap - 1, size: 0}
873
+ ret.entries = make([]entryUint16, initCap)
874
+ return ret
875
+ }
876
+
877
+ // Reset drops all of the values in this hash table and re-initializes it
878
+ // with the specified initial capacity as if by calling New, but without having
879
+ // to reallocate the object.
880
+ func (h *Uint16HashTable) Reset(cap uint64) {
881
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
882
+ h.capMask = h.cap - 1
883
+ h.size = 0
884
+ h.entries = make([]entryUint16, h.cap)
885
+ }
886
+
887
+ // CopyValues is used for copying the values out of the hash table into the
888
+ // passed in slice, in the order that they were first inserted
889
+ func (h *Uint16HashTable) CopyValues(out []uint16) {
890
+ h.CopyValuesSubset(0, out)
891
+ }
892
+
893
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
894
+ // with the value at start, in the order that they were inserted.
895
+ func (h *Uint16HashTable) CopyValuesSubset(start int, out []uint16) {
896
+ h.VisitEntries(func(e *entryUint16) {
897
+ idx := e.payload.memoIdx - int32(start)
898
+ if idx >= 0 {
899
+ out[idx] = e.payload.val
900
+ }
901
+ })
902
+ }
903
+
904
+ func (h *Uint16HashTable) WriteOut(out []byte) {
905
+ h.WriteOutSubset(0, out)
906
+ }
907
+
908
+ func (h *Uint16HashTable) WriteOutSubset(start int, out []byte) {
909
+ data := arrow.Uint16Traits.CastFromBytes(out)
910
+ h.VisitEntries(func(e *entryUint16) {
911
+ idx := e.payload.memoIdx - int32(start)
912
+ if idx >= 0 {
913
+ data[idx] = utils.ToLEUint16(e.payload.val)
914
+ }
915
+ })
916
+ }
917
+
918
+ func (h *Uint16HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
919
+
920
+ func (Uint16HashTable) fixHash(v uint64) uint64 {
921
+ if v == sentinel {
922
+ return 42
923
+ }
924
+ return v
925
+ }
926
+
927
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
928
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
929
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
930
+ func (h *Uint16HashTable) Lookup(v uint64, cmp func(uint16) bool) (*entryUint16, bool) {
931
+ idx, ok := h.lookup(v, h.capMask, cmp)
932
+ return &h.entries[idx], ok
933
+ }
934
+
935
+ func (h *Uint16HashTable) lookup(v uint64, szMask uint64, cmp func(uint16) bool) (uint64, bool) {
936
+ const perturbShift uint8 = 5
937
+
938
+ var (
939
+ idx uint64
940
+ perturb uint64
941
+ e *entryUint16
942
+ )
943
+
944
+ v = h.fixHash(v)
945
+ idx = v & szMask
946
+ perturb = (v >> uint64(perturbShift)) + 1
947
+
948
+ for {
949
+ e = &h.entries[idx]
950
+ if e.h == v && cmp(e.payload.val) {
951
+ return idx, true
952
+ }
953
+
954
+ if e.h == sentinel {
955
+ return idx, false
956
+ }
957
+
958
+ // perturbation logic inspired from CPython's set/dict object
959
+ // the goal is that all 64 bits of unmasked hash value eventually
960
+ // participate int he probing sequence, to minimize clustering
961
+ idx = (idx + perturb) & szMask
962
+ perturb = (perturb >> uint64(perturbShift)) + 1
963
+ }
964
+ }
965
+
966
+ func (h *Uint16HashTable) upsize(newcap uint64) error {
967
+ newMask := newcap - 1
968
+
969
+ oldEntries := h.entries
970
+ h.entries = make([]entryUint16, newcap)
971
+ for _, e := range oldEntries {
972
+ if e.Valid() {
973
+ idx, _ := h.lookup(e.h, newMask, func(uint16) bool { return false })
974
+ h.entries[idx] = e
975
+ }
976
+ }
977
+ h.cap = newcap
978
+ h.capMask = newMask
979
+ return nil
980
+ }
981
+
982
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
983
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
984
+ func (h *Uint16HashTable) Insert(e *entryUint16, v uint64, val uint16, memoIdx int32) error {
985
+ e.h = h.fixHash(v)
986
+ e.payload.val = val
987
+ e.payload.memoIdx = memoIdx
988
+ h.size++
989
+
990
+ if h.needUpsize() {
991
+ h.upsize(h.cap * uint64(loadFactor) * 2)
992
+ }
993
+ return nil
994
+ }
995
+
996
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
997
+ // a valid entry being one which has had a value inserted into it.
998
+ func (h *Uint16HashTable) VisitEntries(visit func(*entryUint16)) {
999
+ for _, e := range h.entries {
1000
+ if e.Valid() {
1001
+ visit(&e)
1002
+ }
1003
+ }
1004
+ }
1005
+
1006
+ // Uint16MemoTable is a wrapper over the appropriate hashtable to provide an interface
1007
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1008
+ // regarding dictionaries.
1009
+ type Uint16MemoTable struct {
1010
+ tbl *Uint16HashTable
1011
+ nullIdx int32
1012
+ }
1013
+
1014
+ // NewUint16MemoTable returns a new memotable with num entries pre-allocated to reduce further
1015
+ // allocations when inserting.
1016
+ func NewUint16MemoTable(num int64) *Uint16MemoTable {
1017
+ return &Uint16MemoTable{tbl: NewUint16HashTable(uint64(num)), nullIdx: KeyNotFound}
1018
+ }
1019
+
1020
+ func (Uint16MemoTable) TypeTraits() TypeTraits {
1021
+ return arrow.Uint16Traits
1022
+ }
1023
+
1024
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1025
+ func (s *Uint16MemoTable) Reset() {
1026
+ s.tbl.Reset(32)
1027
+ s.nullIdx = KeyNotFound
1028
+ }
1029
+
1030
+ // Size returns the current number of inserted elements into the table including if a null
1031
+ // has been inserted.
1032
+ func (s *Uint16MemoTable) Size() int {
1033
+ sz := int(s.tbl.size)
1034
+ if _, ok := s.GetNull(); ok {
1035
+ sz++
1036
+ }
1037
+ return sz
1038
+ }
1039
+
1040
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1041
+ // that will be true if found and false if not.
1042
+ func (s *Uint16MemoTable) GetNull() (int, bool) {
1043
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1044
+ }
1045
+
1046
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1047
+ // if one currently doesn't exist. The found value will be true if there was already
1048
+ // a null in the table, and false if it inserted one.
1049
+ func (s *Uint16MemoTable) GetOrInsertNull() (idx int, found bool) {
1050
+ idx, found = s.GetNull()
1051
+ if !found {
1052
+ idx = s.Size()
1053
+ s.nullIdx = int32(idx)
1054
+ }
1055
+ return
1056
+ }
1057
+
1058
+ // CopyValues will copy the values from the memo table out into the passed in slice
1059
+ // which must be of the appropriate type.
1060
+ func (s *Uint16MemoTable) CopyValues(out interface{}) {
1061
+ s.CopyValuesSubset(0, out)
1062
+ }
1063
+
1064
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1065
+ // at the provided start index
1066
+ func (s *Uint16MemoTable) CopyValuesSubset(start int, out interface{}) {
1067
+ s.tbl.CopyValuesSubset(start, out.([]uint16))
1068
+ }
1069
+
1070
+ func (s *Uint16MemoTable) WriteOut(out []byte) {
1071
+ s.tbl.CopyValues(arrow.Uint16Traits.CastFromBytes(out))
1072
+ }
1073
+
1074
+ func (s *Uint16MemoTable) WriteOutSubset(start int, out []byte) {
1075
+ s.tbl.CopyValuesSubset(start, arrow.Uint16Traits.CastFromBytes(out))
1076
+ }
1077
+
1078
+ func (s *Uint16MemoTable) WriteOutLE(out []byte) {
1079
+ s.tbl.WriteOut(out)
1080
+ }
1081
+
1082
+ func (s *Uint16MemoTable) WriteOutSubsetLE(start int, out []byte) {
1083
+ s.tbl.WriteOutSubset(start, out)
1084
+ }
1085
+
1086
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1087
+ // along with a boolean indicating if it was found or not.
1088
+ func (s *Uint16MemoTable) Get(val interface{}) (int, bool) {
1089
+
1090
+ h := hashInt(uint64(val.(uint16)), 0)
1091
+ if e, ok := s.tbl.Lookup(h, func(v uint16) bool { return val.(uint16) == v }); ok {
1092
+ return int(e.payload.memoIdx), ok
1093
+ }
1094
+ return KeyNotFound, false
1095
+ }
1096
+
1097
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1098
+ // value into the table and return the new index. found indicates whether or not it already
1099
+ // existed in the table (true) or was inserted by this call (false).
1100
+ func (s *Uint16MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1101
+
1102
+ h := hashInt(uint64(val.(uint16)), 0)
1103
+ e, ok := s.tbl.Lookup(h, func(v uint16) bool {
1104
+ return val.(uint16) == v
1105
+ })
1106
+
1107
+ if ok {
1108
+ idx = int(e.payload.memoIdx)
1109
+ found = true
1110
+ } else {
1111
+ idx = s.Size()
1112
+ s.tbl.Insert(e, h, val.(uint16), int32(idx))
1113
+ }
1114
+ return
1115
+ }
1116
+
1117
+ type payloadInt32 struct {
1118
+ val int32
1119
+ memoIdx int32
1120
+ }
1121
+
1122
+ type entryInt32 struct {
1123
+ h uint64
1124
+ payload payloadInt32
1125
+ }
1126
+
1127
+ func (e entryInt32) Valid() bool { return e.h != sentinel }
1128
+
1129
+ // Int32HashTable is a hashtable specifically for int32 that
1130
+ // is utilized with the MemoTable to generalize interactions for easier
1131
+ // implementation of dictionaries without losing performance.
1132
+ type Int32HashTable struct {
1133
+ cap uint64
1134
+ capMask uint64
1135
+ size uint64
1136
+
1137
+ entries []entryInt32
1138
+ }
1139
+
1140
+ // NewInt32HashTable returns a new hash table for int32 values
1141
+ // initialized with the passed in capacity or 32 whichever is larger.
1142
+ func NewInt32HashTable(cap uint64) *Int32HashTable {
1143
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1144
+ ret := &Int32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1145
+ ret.entries = make([]entryInt32, initCap)
1146
+ return ret
1147
+ }
1148
+
1149
+ // Reset drops all of the values in this hash table and re-initializes it
1150
+ // with the specified initial capacity as if by calling New, but without having
1151
+ // to reallocate the object.
1152
+ func (h *Int32HashTable) Reset(cap uint64) {
1153
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1154
+ h.capMask = h.cap - 1
1155
+ h.size = 0
1156
+ h.entries = make([]entryInt32, h.cap)
1157
+ }
1158
+
1159
+ // CopyValues is used for copying the values out of the hash table into the
1160
+ // passed in slice, in the order that they were first inserted
1161
+ func (h *Int32HashTable) CopyValues(out []int32) {
1162
+ h.CopyValuesSubset(0, out)
1163
+ }
1164
+
1165
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1166
+ // with the value at start, in the order that they were inserted.
1167
+ func (h *Int32HashTable) CopyValuesSubset(start int, out []int32) {
1168
+ h.VisitEntries(func(e *entryInt32) {
1169
+ idx := e.payload.memoIdx - int32(start)
1170
+ if idx >= 0 {
1171
+ out[idx] = e.payload.val
1172
+ }
1173
+ })
1174
+ }
1175
+
1176
+ func (h *Int32HashTable) WriteOut(out []byte) {
1177
+ h.WriteOutSubset(0, out)
1178
+ }
1179
+
1180
+ func (h *Int32HashTable) WriteOutSubset(start int, out []byte) {
1181
+ data := arrow.Int32Traits.CastFromBytes(out)
1182
+ h.VisitEntries(func(e *entryInt32) {
1183
+ idx := e.payload.memoIdx - int32(start)
1184
+ if idx >= 0 {
1185
+ data[idx] = utils.ToLEInt32(e.payload.val)
1186
+ }
1187
+ })
1188
+ }
1189
+
1190
+ func (h *Int32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1191
+
1192
+ func (Int32HashTable) fixHash(v uint64) uint64 {
1193
+ if v == sentinel {
1194
+ return 42
1195
+ }
1196
+ return v
1197
+ }
1198
+
1199
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1200
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1201
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1202
+ func (h *Int32HashTable) Lookup(v uint64, cmp func(int32) bool) (*entryInt32, bool) {
1203
+ idx, ok := h.lookup(v, h.capMask, cmp)
1204
+ return &h.entries[idx], ok
1205
+ }
1206
+
1207
+ func (h *Int32HashTable) lookup(v uint64, szMask uint64, cmp func(int32) bool) (uint64, bool) {
1208
+ const perturbShift uint8 = 5
1209
+
1210
+ var (
1211
+ idx uint64
1212
+ perturb uint64
1213
+ e *entryInt32
1214
+ )
1215
+
1216
+ v = h.fixHash(v)
1217
+ idx = v & szMask
1218
+ perturb = (v >> uint64(perturbShift)) + 1
1219
+
1220
+ for {
1221
+ e = &h.entries[idx]
1222
+ if e.h == v && cmp(e.payload.val) {
1223
+ return idx, true
1224
+ }
1225
+
1226
+ if e.h == sentinel {
1227
+ return idx, false
1228
+ }
1229
+
1230
+ // perturbation logic inspired from CPython's set/dict object
1231
+ // the goal is that all 64 bits of unmasked hash value eventually
1232
+ // participate int he probing sequence, to minimize clustering
1233
+ idx = (idx + perturb) & szMask
1234
+ perturb = (perturb >> uint64(perturbShift)) + 1
1235
+ }
1236
+ }
1237
+
1238
+ func (h *Int32HashTable) upsize(newcap uint64) error {
1239
+ newMask := newcap - 1
1240
+
1241
+ oldEntries := h.entries
1242
+ h.entries = make([]entryInt32, newcap)
1243
+ for _, e := range oldEntries {
1244
+ if e.Valid() {
1245
+ idx, _ := h.lookup(e.h, newMask, func(int32) bool { return false })
1246
+ h.entries[idx] = e
1247
+ }
1248
+ }
1249
+ h.cap = newcap
1250
+ h.capMask = newMask
1251
+ return nil
1252
+ }
1253
+
1254
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1255
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1256
+ func (h *Int32HashTable) Insert(e *entryInt32, v uint64, val int32, memoIdx int32) error {
1257
+ e.h = h.fixHash(v)
1258
+ e.payload.val = val
1259
+ e.payload.memoIdx = memoIdx
1260
+ h.size++
1261
+
1262
+ if h.needUpsize() {
1263
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1264
+ }
1265
+ return nil
1266
+ }
1267
+
1268
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1269
+ // a valid entry being one which has had a value inserted into it.
1270
+ func (h *Int32HashTable) VisitEntries(visit func(*entryInt32)) {
1271
+ for _, e := range h.entries {
1272
+ if e.Valid() {
1273
+ visit(&e)
1274
+ }
1275
+ }
1276
+ }
1277
+
1278
+ // Int32MemoTable is a wrapper over the appropriate hashtable to provide an interface
1279
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1280
+ // regarding dictionaries.
1281
+ type Int32MemoTable struct {
1282
+ tbl *Int32HashTable
1283
+ nullIdx int32
1284
+ }
1285
+
1286
+ // NewInt32MemoTable returns a new memotable with num entries pre-allocated to reduce further
1287
+ // allocations when inserting.
1288
+ func NewInt32MemoTable(num int64) *Int32MemoTable {
1289
+ return &Int32MemoTable{tbl: NewInt32HashTable(uint64(num)), nullIdx: KeyNotFound}
1290
+ }
1291
+
1292
+ func (Int32MemoTable) TypeTraits() TypeTraits {
1293
+ return arrow.Int32Traits
1294
+ }
1295
+
1296
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1297
+ func (s *Int32MemoTable) Reset() {
1298
+ s.tbl.Reset(32)
1299
+ s.nullIdx = KeyNotFound
1300
+ }
1301
+
1302
+ // Size returns the current number of inserted elements into the table including if a null
1303
+ // has been inserted.
1304
+ func (s *Int32MemoTable) Size() int {
1305
+ sz := int(s.tbl.size)
1306
+ if _, ok := s.GetNull(); ok {
1307
+ sz++
1308
+ }
1309
+ return sz
1310
+ }
1311
+
1312
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1313
+ // that will be true if found and false if not.
1314
+ func (s *Int32MemoTable) GetNull() (int, bool) {
1315
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1316
+ }
1317
+
1318
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1319
+ // if one currently doesn't exist. The found value will be true if there was already
1320
+ // a null in the table, and false if it inserted one.
1321
+ func (s *Int32MemoTable) GetOrInsertNull() (idx int, found bool) {
1322
+ idx, found = s.GetNull()
1323
+ if !found {
1324
+ idx = s.Size()
1325
+ s.nullIdx = int32(idx)
1326
+ }
1327
+ return
1328
+ }
1329
+
1330
+ // CopyValues will copy the values from the memo table out into the passed in slice
1331
+ // which must be of the appropriate type.
1332
+ func (s *Int32MemoTable) CopyValues(out interface{}) {
1333
+ s.CopyValuesSubset(0, out)
1334
+ }
1335
+
1336
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1337
+ // at the provided start index
1338
+ func (s *Int32MemoTable) CopyValuesSubset(start int, out interface{}) {
1339
+ s.tbl.CopyValuesSubset(start, out.([]int32))
1340
+ }
1341
+
1342
+ func (s *Int32MemoTable) WriteOut(out []byte) {
1343
+ s.tbl.CopyValues(arrow.Int32Traits.CastFromBytes(out))
1344
+ }
1345
+
1346
+ func (s *Int32MemoTable) WriteOutSubset(start int, out []byte) {
1347
+ s.tbl.CopyValuesSubset(start, arrow.Int32Traits.CastFromBytes(out))
1348
+ }
1349
+
1350
+ func (s *Int32MemoTable) WriteOutLE(out []byte) {
1351
+ s.tbl.WriteOut(out)
1352
+ }
1353
+
1354
+ func (s *Int32MemoTable) WriteOutSubsetLE(start int, out []byte) {
1355
+ s.tbl.WriteOutSubset(start, out)
1356
+ }
1357
+
1358
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1359
+ // along with a boolean indicating if it was found or not.
1360
+ func (s *Int32MemoTable) Get(val interface{}) (int, bool) {
1361
+
1362
+ h := hashInt(uint64(val.(int32)), 0)
1363
+ if e, ok := s.tbl.Lookup(h, func(v int32) bool { return val.(int32) == v }); ok {
1364
+ return int(e.payload.memoIdx), ok
1365
+ }
1366
+ return KeyNotFound, false
1367
+ }
1368
+
1369
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1370
+ // value into the table and return the new index. found indicates whether or not it already
1371
+ // existed in the table (true) or was inserted by this call (false).
1372
+ func (s *Int32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1373
+
1374
+ h := hashInt(uint64(val.(int32)), 0)
1375
+ e, ok := s.tbl.Lookup(h, func(v int32) bool {
1376
+ return val.(int32) == v
1377
+ })
1378
+
1379
+ if ok {
1380
+ idx = int(e.payload.memoIdx)
1381
+ found = true
1382
+ } else {
1383
+ idx = s.Size()
1384
+ s.tbl.Insert(e, h, val.(int32), int32(idx))
1385
+ }
1386
+ return
1387
+ }
1388
+
1389
+ type payloadInt64 struct {
1390
+ val int64
1391
+ memoIdx int32
1392
+ }
1393
+
1394
+ type entryInt64 struct {
1395
+ h uint64
1396
+ payload payloadInt64
1397
+ }
1398
+
1399
+ func (e entryInt64) Valid() bool { return e.h != sentinel }
1400
+
1401
+ // Int64HashTable is a hashtable specifically for int64 that
1402
+ // is utilized with the MemoTable to generalize interactions for easier
1403
+ // implementation of dictionaries without losing performance.
1404
+ type Int64HashTable struct {
1405
+ cap uint64
1406
+ capMask uint64
1407
+ size uint64
1408
+
1409
+ entries []entryInt64
1410
+ }
1411
+
1412
+ // NewInt64HashTable returns a new hash table for int64 values
1413
+ // initialized with the passed in capacity or 32 whichever is larger.
1414
+ func NewInt64HashTable(cap uint64) *Int64HashTable {
1415
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1416
+ ret := &Int64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1417
+ ret.entries = make([]entryInt64, initCap)
1418
+ return ret
1419
+ }
1420
+
1421
+ // Reset drops all of the values in this hash table and re-initializes it
1422
+ // with the specified initial capacity as if by calling New, but without having
1423
+ // to reallocate the object.
1424
+ func (h *Int64HashTable) Reset(cap uint64) {
1425
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1426
+ h.capMask = h.cap - 1
1427
+ h.size = 0
1428
+ h.entries = make([]entryInt64, h.cap)
1429
+ }
1430
+
1431
+ // CopyValues is used for copying the values out of the hash table into the
1432
+ // passed in slice, in the order that they were first inserted
1433
+ func (h *Int64HashTable) CopyValues(out []int64) {
1434
+ h.CopyValuesSubset(0, out)
1435
+ }
1436
+
1437
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1438
+ // with the value at start, in the order that they were inserted.
1439
+ func (h *Int64HashTable) CopyValuesSubset(start int, out []int64) {
1440
+ h.VisitEntries(func(e *entryInt64) {
1441
+ idx := e.payload.memoIdx - int32(start)
1442
+ if idx >= 0 {
1443
+ out[idx] = e.payload.val
1444
+ }
1445
+ })
1446
+ }
1447
+
1448
+ func (h *Int64HashTable) WriteOut(out []byte) {
1449
+ h.WriteOutSubset(0, out)
1450
+ }
1451
+
1452
+ func (h *Int64HashTable) WriteOutSubset(start int, out []byte) {
1453
+ data := arrow.Int64Traits.CastFromBytes(out)
1454
+ h.VisitEntries(func(e *entryInt64) {
1455
+ idx := e.payload.memoIdx - int32(start)
1456
+ if idx >= 0 {
1457
+ data[idx] = utils.ToLEInt64(e.payload.val)
1458
+ }
1459
+ })
1460
+ }
1461
+
1462
+ func (h *Int64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1463
+
1464
+ func (Int64HashTable) fixHash(v uint64) uint64 {
1465
+ if v == sentinel {
1466
+ return 42
1467
+ }
1468
+ return v
1469
+ }
1470
+
1471
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1472
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1473
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1474
+ func (h *Int64HashTable) Lookup(v uint64, cmp func(int64) bool) (*entryInt64, bool) {
1475
+ idx, ok := h.lookup(v, h.capMask, cmp)
1476
+ return &h.entries[idx], ok
1477
+ }
1478
+
1479
+ func (h *Int64HashTable) lookup(v uint64, szMask uint64, cmp func(int64) bool) (uint64, bool) {
1480
+ const perturbShift uint8 = 5
1481
+
1482
+ var (
1483
+ idx uint64
1484
+ perturb uint64
1485
+ e *entryInt64
1486
+ )
1487
+
1488
+ v = h.fixHash(v)
1489
+ idx = v & szMask
1490
+ perturb = (v >> uint64(perturbShift)) + 1
1491
+
1492
+ for {
1493
+ e = &h.entries[idx]
1494
+ if e.h == v && cmp(e.payload.val) {
1495
+ return idx, true
1496
+ }
1497
+
1498
+ if e.h == sentinel {
1499
+ return idx, false
1500
+ }
1501
+
1502
+ // perturbation logic inspired from CPython's set/dict object
1503
+ // the goal is that all 64 bits of unmasked hash value eventually
1504
+ // participate int he probing sequence, to minimize clustering
1505
+ idx = (idx + perturb) & szMask
1506
+ perturb = (perturb >> uint64(perturbShift)) + 1
1507
+ }
1508
+ }
1509
+
1510
+ func (h *Int64HashTable) upsize(newcap uint64) error {
1511
+ newMask := newcap - 1
1512
+
1513
+ oldEntries := h.entries
1514
+ h.entries = make([]entryInt64, newcap)
1515
+ for _, e := range oldEntries {
1516
+ if e.Valid() {
1517
+ idx, _ := h.lookup(e.h, newMask, func(int64) bool { return false })
1518
+ h.entries[idx] = e
1519
+ }
1520
+ }
1521
+ h.cap = newcap
1522
+ h.capMask = newMask
1523
+ return nil
1524
+ }
1525
+
1526
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1527
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1528
+ func (h *Int64HashTable) Insert(e *entryInt64, v uint64, val int64, memoIdx int32) error {
1529
+ e.h = h.fixHash(v)
1530
+ e.payload.val = val
1531
+ e.payload.memoIdx = memoIdx
1532
+ h.size++
1533
+
1534
+ if h.needUpsize() {
1535
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1536
+ }
1537
+ return nil
1538
+ }
1539
+
1540
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1541
+ // a valid entry being one which has had a value inserted into it.
1542
+ func (h *Int64HashTable) VisitEntries(visit func(*entryInt64)) {
1543
+ for _, e := range h.entries {
1544
+ if e.Valid() {
1545
+ visit(&e)
1546
+ }
1547
+ }
1548
+ }
1549
+
1550
+ // Int64MemoTable is a wrapper over the appropriate hashtable to provide an interface
1551
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1552
+ // regarding dictionaries.
1553
+ type Int64MemoTable struct {
1554
+ tbl *Int64HashTable
1555
+ nullIdx int32
1556
+ }
1557
+
1558
+ // NewInt64MemoTable returns a new memotable with num entries pre-allocated to reduce further
1559
+ // allocations when inserting.
1560
+ func NewInt64MemoTable(num int64) *Int64MemoTable {
1561
+ return &Int64MemoTable{tbl: NewInt64HashTable(uint64(num)), nullIdx: KeyNotFound}
1562
+ }
1563
+
1564
+ func (Int64MemoTable) TypeTraits() TypeTraits {
1565
+ return arrow.Int64Traits
1566
+ }
1567
+
1568
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1569
+ func (s *Int64MemoTable) Reset() {
1570
+ s.tbl.Reset(32)
1571
+ s.nullIdx = KeyNotFound
1572
+ }
1573
+
1574
+ // Size returns the current number of inserted elements into the table including if a null
1575
+ // has been inserted.
1576
+ func (s *Int64MemoTable) Size() int {
1577
+ sz := int(s.tbl.size)
1578
+ if _, ok := s.GetNull(); ok {
1579
+ sz++
1580
+ }
1581
+ return sz
1582
+ }
1583
+
1584
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1585
+ // that will be true if found and false if not.
1586
+ func (s *Int64MemoTable) GetNull() (int, bool) {
1587
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1588
+ }
1589
+
1590
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1591
+ // if one currently doesn't exist. The found value will be true if there was already
1592
+ // a null in the table, and false if it inserted one.
1593
+ func (s *Int64MemoTable) GetOrInsertNull() (idx int, found bool) {
1594
+ idx, found = s.GetNull()
1595
+ if !found {
1596
+ idx = s.Size()
1597
+ s.nullIdx = int32(idx)
1598
+ }
1599
+ return
1600
+ }
1601
+
1602
+ // CopyValues will copy the values from the memo table out into the passed in slice
1603
+ // which must be of the appropriate type.
1604
+ func (s *Int64MemoTable) CopyValues(out interface{}) {
1605
+ s.CopyValuesSubset(0, out)
1606
+ }
1607
+
1608
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1609
+ // at the provided start index
1610
+ func (s *Int64MemoTable) CopyValuesSubset(start int, out interface{}) {
1611
+ s.tbl.CopyValuesSubset(start, out.([]int64))
1612
+ }
1613
+
1614
+ func (s *Int64MemoTable) WriteOut(out []byte) {
1615
+ s.tbl.CopyValues(arrow.Int64Traits.CastFromBytes(out))
1616
+ }
1617
+
1618
+ func (s *Int64MemoTable) WriteOutSubset(start int, out []byte) {
1619
+ s.tbl.CopyValuesSubset(start, arrow.Int64Traits.CastFromBytes(out))
1620
+ }
1621
+
1622
+ func (s *Int64MemoTable) WriteOutLE(out []byte) {
1623
+ s.tbl.WriteOut(out)
1624
+ }
1625
+
1626
+ func (s *Int64MemoTable) WriteOutSubsetLE(start int, out []byte) {
1627
+ s.tbl.WriteOutSubset(start, out)
1628
+ }
1629
+
1630
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1631
+ // along with a boolean indicating if it was found or not.
1632
+ func (s *Int64MemoTable) Get(val interface{}) (int, bool) {
1633
+
1634
+ h := hashInt(uint64(val.(int64)), 0)
1635
+ if e, ok := s.tbl.Lookup(h, func(v int64) bool { return val.(int64) == v }); ok {
1636
+ return int(e.payload.memoIdx), ok
1637
+ }
1638
+ return KeyNotFound, false
1639
+ }
1640
+
1641
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1642
+ // value into the table and return the new index. found indicates whether or not it already
1643
+ // existed in the table (true) or was inserted by this call (false).
1644
+ func (s *Int64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1645
+
1646
+ h := hashInt(uint64(val.(int64)), 0)
1647
+ e, ok := s.tbl.Lookup(h, func(v int64) bool {
1648
+ return val.(int64) == v
1649
+ })
1650
+
1651
+ if ok {
1652
+ idx = int(e.payload.memoIdx)
1653
+ found = true
1654
+ } else {
1655
+ idx = s.Size()
1656
+ s.tbl.Insert(e, h, val.(int64), int32(idx))
1657
+ }
1658
+ return
1659
+ }
1660
+
1661
+ type payloadUint32 struct {
1662
+ val uint32
1663
+ memoIdx int32
1664
+ }
1665
+
1666
+ type entryUint32 struct {
1667
+ h uint64
1668
+ payload payloadUint32
1669
+ }
1670
+
1671
+ func (e entryUint32) Valid() bool { return e.h != sentinel }
1672
+
1673
+ // Uint32HashTable is a hashtable specifically for uint32 that
1674
+ // is utilized with the MemoTable to generalize interactions for easier
1675
+ // implementation of dictionaries without losing performance.
1676
+ type Uint32HashTable struct {
1677
+ cap uint64
1678
+ capMask uint64
1679
+ size uint64
1680
+
1681
+ entries []entryUint32
1682
+ }
1683
+
1684
+ // NewUint32HashTable returns a new hash table for uint32 values
1685
+ // initialized with the passed in capacity or 32 whichever is larger.
1686
+ func NewUint32HashTable(cap uint64) *Uint32HashTable {
1687
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1688
+ ret := &Uint32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1689
+ ret.entries = make([]entryUint32, initCap)
1690
+ return ret
1691
+ }
1692
+
1693
+ // Reset drops all of the values in this hash table and re-initializes it
1694
+ // with the specified initial capacity as if by calling New, but without having
1695
+ // to reallocate the object.
1696
+ func (h *Uint32HashTable) Reset(cap uint64) {
1697
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1698
+ h.capMask = h.cap - 1
1699
+ h.size = 0
1700
+ h.entries = make([]entryUint32, h.cap)
1701
+ }
1702
+
1703
+ // CopyValues is used for copying the values out of the hash table into the
1704
+ // passed in slice, in the order that they were first inserted
1705
+ func (h *Uint32HashTable) CopyValues(out []uint32) {
1706
+ h.CopyValuesSubset(0, out)
1707
+ }
1708
+
1709
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1710
+ // with the value at start, in the order that they were inserted.
1711
+ func (h *Uint32HashTable) CopyValuesSubset(start int, out []uint32) {
1712
+ h.VisitEntries(func(e *entryUint32) {
1713
+ idx := e.payload.memoIdx - int32(start)
1714
+ if idx >= 0 {
1715
+ out[idx] = e.payload.val
1716
+ }
1717
+ })
1718
+ }
1719
+
1720
+ func (h *Uint32HashTable) WriteOut(out []byte) {
1721
+ h.WriteOutSubset(0, out)
1722
+ }
1723
+
1724
+ func (h *Uint32HashTable) WriteOutSubset(start int, out []byte) {
1725
+ data := arrow.Uint32Traits.CastFromBytes(out)
1726
+ h.VisitEntries(func(e *entryUint32) {
1727
+ idx := e.payload.memoIdx - int32(start)
1728
+ if idx >= 0 {
1729
+ data[idx] = utils.ToLEUint32(e.payload.val)
1730
+ }
1731
+ })
1732
+ }
1733
+
1734
+ func (h *Uint32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1735
+
1736
+ func (Uint32HashTable) fixHash(v uint64) uint64 {
1737
+ if v == sentinel {
1738
+ return 42
1739
+ }
1740
+ return v
1741
+ }
1742
+
1743
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1744
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1745
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1746
+ func (h *Uint32HashTable) Lookup(v uint64, cmp func(uint32) bool) (*entryUint32, bool) {
1747
+ idx, ok := h.lookup(v, h.capMask, cmp)
1748
+ return &h.entries[idx], ok
1749
+ }
1750
+
1751
+ func (h *Uint32HashTable) lookup(v uint64, szMask uint64, cmp func(uint32) bool) (uint64, bool) {
1752
+ const perturbShift uint8 = 5
1753
+
1754
+ var (
1755
+ idx uint64
1756
+ perturb uint64
1757
+ e *entryUint32
1758
+ )
1759
+
1760
+ v = h.fixHash(v)
1761
+ idx = v & szMask
1762
+ perturb = (v >> uint64(perturbShift)) + 1
1763
+
1764
+ for {
1765
+ e = &h.entries[idx]
1766
+ if e.h == v && cmp(e.payload.val) {
1767
+ return idx, true
1768
+ }
1769
+
1770
+ if e.h == sentinel {
1771
+ return idx, false
1772
+ }
1773
+
1774
+ // perturbation logic inspired from CPython's set/dict object
1775
+ // the goal is that all 64 bits of unmasked hash value eventually
1776
+ // participate int he probing sequence, to minimize clustering
1777
+ idx = (idx + perturb) & szMask
1778
+ perturb = (perturb >> uint64(perturbShift)) + 1
1779
+ }
1780
+ }
1781
+
1782
+ func (h *Uint32HashTable) upsize(newcap uint64) error {
1783
+ newMask := newcap - 1
1784
+
1785
+ oldEntries := h.entries
1786
+ h.entries = make([]entryUint32, newcap)
1787
+ for _, e := range oldEntries {
1788
+ if e.Valid() {
1789
+ idx, _ := h.lookup(e.h, newMask, func(uint32) bool { return false })
1790
+ h.entries[idx] = e
1791
+ }
1792
+ }
1793
+ h.cap = newcap
1794
+ h.capMask = newMask
1795
+ return nil
1796
+ }
1797
+
1798
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1799
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1800
+ func (h *Uint32HashTable) Insert(e *entryUint32, v uint64, val uint32, memoIdx int32) error {
1801
+ e.h = h.fixHash(v)
1802
+ e.payload.val = val
1803
+ e.payload.memoIdx = memoIdx
1804
+ h.size++
1805
+
1806
+ if h.needUpsize() {
1807
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1808
+ }
1809
+ return nil
1810
+ }
1811
+
1812
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1813
+ // a valid entry being one which has had a value inserted into it.
1814
+ func (h *Uint32HashTable) VisitEntries(visit func(*entryUint32)) {
1815
+ for _, e := range h.entries {
1816
+ if e.Valid() {
1817
+ visit(&e)
1818
+ }
1819
+ }
1820
+ }
1821
+
1822
+ // Uint32MemoTable is a wrapper over the appropriate hashtable to provide an interface
1823
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1824
+ // regarding dictionaries.
1825
+ type Uint32MemoTable struct {
1826
+ tbl *Uint32HashTable
1827
+ nullIdx int32
1828
+ }
1829
+
1830
+ // NewUint32MemoTable returns a new memotable with num entries pre-allocated to reduce further
1831
+ // allocations when inserting.
1832
+ func NewUint32MemoTable(num int64) *Uint32MemoTable {
1833
+ return &Uint32MemoTable{tbl: NewUint32HashTable(uint64(num)), nullIdx: KeyNotFound}
1834
+ }
1835
+
1836
+ func (Uint32MemoTable) TypeTraits() TypeTraits {
1837
+ return arrow.Uint32Traits
1838
+ }
1839
+
1840
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1841
+ func (s *Uint32MemoTable) Reset() {
1842
+ s.tbl.Reset(32)
1843
+ s.nullIdx = KeyNotFound
1844
+ }
1845
+
1846
+ // Size returns the current number of inserted elements into the table including if a null
1847
+ // has been inserted.
1848
+ func (s *Uint32MemoTable) Size() int {
1849
+ sz := int(s.tbl.size)
1850
+ if _, ok := s.GetNull(); ok {
1851
+ sz++
1852
+ }
1853
+ return sz
1854
+ }
1855
+
1856
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1857
+ // that will be true if found and false if not.
1858
+ func (s *Uint32MemoTable) GetNull() (int, bool) {
1859
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1860
+ }
1861
+
1862
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1863
+ // if one currently doesn't exist. The found value will be true if there was already
1864
+ // a null in the table, and false if it inserted one.
1865
+ func (s *Uint32MemoTable) GetOrInsertNull() (idx int, found bool) {
1866
+ idx, found = s.GetNull()
1867
+ if !found {
1868
+ idx = s.Size()
1869
+ s.nullIdx = int32(idx)
1870
+ }
1871
+ return
1872
+ }
1873
+
1874
+ // CopyValues will copy the values from the memo table out into the passed in slice
1875
+ // which must be of the appropriate type.
1876
+ func (s *Uint32MemoTable) CopyValues(out interface{}) {
1877
+ s.CopyValuesSubset(0, out)
1878
+ }
1879
+
1880
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1881
+ // at the provided start index
1882
+ func (s *Uint32MemoTable) CopyValuesSubset(start int, out interface{}) {
1883
+ s.tbl.CopyValuesSubset(start, out.([]uint32))
1884
+ }
1885
+
1886
+ func (s *Uint32MemoTable) WriteOut(out []byte) {
1887
+ s.tbl.CopyValues(arrow.Uint32Traits.CastFromBytes(out))
1888
+ }
1889
+
1890
+ func (s *Uint32MemoTable) WriteOutSubset(start int, out []byte) {
1891
+ s.tbl.CopyValuesSubset(start, arrow.Uint32Traits.CastFromBytes(out))
1892
+ }
1893
+
1894
+ func (s *Uint32MemoTable) WriteOutLE(out []byte) {
1895
+ s.tbl.WriteOut(out)
1896
+ }
1897
+
1898
+ func (s *Uint32MemoTable) WriteOutSubsetLE(start int, out []byte) {
1899
+ s.tbl.WriteOutSubset(start, out)
1900
+ }
1901
+
1902
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1903
+ // along with a boolean indicating if it was found or not.
1904
+ func (s *Uint32MemoTable) Get(val interface{}) (int, bool) {
1905
+
1906
+ h := hashInt(uint64(val.(uint32)), 0)
1907
+ if e, ok := s.tbl.Lookup(h, func(v uint32) bool { return val.(uint32) == v }); ok {
1908
+ return int(e.payload.memoIdx), ok
1909
+ }
1910
+ return KeyNotFound, false
1911
+ }
1912
+
1913
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1914
+ // value into the table and return the new index. found indicates whether or not it already
1915
+ // existed in the table (true) or was inserted by this call (false).
1916
+ func (s *Uint32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1917
+
1918
+ h := hashInt(uint64(val.(uint32)), 0)
1919
+ e, ok := s.tbl.Lookup(h, func(v uint32) bool {
1920
+ return val.(uint32) == v
1921
+ })
1922
+
1923
+ if ok {
1924
+ idx = int(e.payload.memoIdx)
1925
+ found = true
1926
+ } else {
1927
+ idx = s.Size()
1928
+ s.tbl.Insert(e, h, val.(uint32), int32(idx))
1929
+ }
1930
+ return
1931
+ }
1932
+
1933
+ type payloadUint64 struct {
1934
+ val uint64
1935
+ memoIdx int32
1936
+ }
1937
+
1938
+ type entryUint64 struct {
1939
+ h uint64
1940
+ payload payloadUint64
1941
+ }
1942
+
1943
+ func (e entryUint64) Valid() bool { return e.h != sentinel }
1944
+
1945
+ // Uint64HashTable is a hashtable specifically for uint64 that
1946
+ // is utilized with the MemoTable to generalize interactions for easier
1947
+ // implementation of dictionaries without losing performance.
1948
+ type Uint64HashTable struct {
1949
+ cap uint64
1950
+ capMask uint64
1951
+ size uint64
1952
+
1953
+ entries []entryUint64
1954
+ }
1955
+
1956
+ // NewUint64HashTable returns a new hash table for uint64 values
1957
+ // initialized with the passed in capacity or 32 whichever is larger.
1958
+ func NewUint64HashTable(cap uint64) *Uint64HashTable {
1959
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1960
+ ret := &Uint64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1961
+ ret.entries = make([]entryUint64, initCap)
1962
+ return ret
1963
+ }
1964
+
1965
+ // Reset drops all of the values in this hash table and re-initializes it
1966
+ // with the specified initial capacity as if by calling New, but without having
1967
+ // to reallocate the object.
1968
+ func (h *Uint64HashTable) Reset(cap uint64) {
1969
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1970
+ h.capMask = h.cap - 1
1971
+ h.size = 0
1972
+ h.entries = make([]entryUint64, h.cap)
1973
+ }
1974
+
1975
+ // CopyValues is used for copying the values out of the hash table into the
1976
+ // passed in slice, in the order that they were first inserted
1977
+ func (h *Uint64HashTable) CopyValues(out []uint64) {
1978
+ h.CopyValuesSubset(0, out)
1979
+ }
1980
+
1981
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1982
+ // with the value at start, in the order that they were inserted.
1983
+ func (h *Uint64HashTable) CopyValuesSubset(start int, out []uint64) {
1984
+ h.VisitEntries(func(e *entryUint64) {
1985
+ idx := e.payload.memoIdx - int32(start)
1986
+ if idx >= 0 {
1987
+ out[idx] = e.payload.val
1988
+ }
1989
+ })
1990
+ }
1991
+
1992
+ func (h *Uint64HashTable) WriteOut(out []byte) {
1993
+ h.WriteOutSubset(0, out)
1994
+ }
1995
+
1996
+ func (h *Uint64HashTable) WriteOutSubset(start int, out []byte) {
1997
+ data := arrow.Uint64Traits.CastFromBytes(out)
1998
+ h.VisitEntries(func(e *entryUint64) {
1999
+ idx := e.payload.memoIdx - int32(start)
2000
+ if idx >= 0 {
2001
+ data[idx] = utils.ToLEUint64(e.payload.val)
2002
+ }
2003
+ })
2004
+ }
2005
+
2006
+ func (h *Uint64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2007
+
2008
+ func (Uint64HashTable) fixHash(v uint64) uint64 {
2009
+ if v == sentinel {
2010
+ return 42
2011
+ }
2012
+ return v
2013
+ }
2014
+
2015
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2016
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2017
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2018
+ func (h *Uint64HashTable) Lookup(v uint64, cmp func(uint64) bool) (*entryUint64, bool) {
2019
+ idx, ok := h.lookup(v, h.capMask, cmp)
2020
+ return &h.entries[idx], ok
2021
+ }
2022
+
2023
+ func (h *Uint64HashTable) lookup(v uint64, szMask uint64, cmp func(uint64) bool) (uint64, bool) {
2024
+ const perturbShift uint8 = 5
2025
+
2026
+ var (
2027
+ idx uint64
2028
+ perturb uint64
2029
+ e *entryUint64
2030
+ )
2031
+
2032
+ v = h.fixHash(v)
2033
+ idx = v & szMask
2034
+ perturb = (v >> uint64(perturbShift)) + 1
2035
+
2036
+ for {
2037
+ e = &h.entries[idx]
2038
+ if e.h == v && cmp(e.payload.val) {
2039
+ return idx, true
2040
+ }
2041
+
2042
+ if e.h == sentinel {
2043
+ return idx, false
2044
+ }
2045
+
2046
+ // perturbation logic inspired from CPython's set/dict object
2047
+ // the goal is that all 64 bits of unmasked hash value eventually
2048
+ // participate int he probing sequence, to minimize clustering
2049
+ idx = (idx + perturb) & szMask
2050
+ perturb = (perturb >> uint64(perturbShift)) + 1
2051
+ }
2052
+ }
2053
+
2054
+ func (h *Uint64HashTable) upsize(newcap uint64) error {
2055
+ newMask := newcap - 1
2056
+
2057
+ oldEntries := h.entries
2058
+ h.entries = make([]entryUint64, newcap)
2059
+ for _, e := range oldEntries {
2060
+ if e.Valid() {
2061
+ idx, _ := h.lookup(e.h, newMask, func(uint64) bool { return false })
2062
+ h.entries[idx] = e
2063
+ }
2064
+ }
2065
+ h.cap = newcap
2066
+ h.capMask = newMask
2067
+ return nil
2068
+ }
2069
+
2070
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2071
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2072
+ func (h *Uint64HashTable) Insert(e *entryUint64, v uint64, val uint64, memoIdx int32) error {
2073
+ e.h = h.fixHash(v)
2074
+ e.payload.val = val
2075
+ e.payload.memoIdx = memoIdx
2076
+ h.size++
2077
+
2078
+ if h.needUpsize() {
2079
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2080
+ }
2081
+ return nil
2082
+ }
2083
+
2084
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2085
+ // a valid entry being one which has had a value inserted into it.
2086
+ func (h *Uint64HashTable) VisitEntries(visit func(*entryUint64)) {
2087
+ for _, e := range h.entries {
2088
+ if e.Valid() {
2089
+ visit(&e)
2090
+ }
2091
+ }
2092
+ }
2093
+
2094
+ // Uint64MemoTable is a wrapper over the appropriate hashtable to provide an interface
2095
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2096
+ // regarding dictionaries.
2097
+ type Uint64MemoTable struct {
2098
+ tbl *Uint64HashTable
2099
+ nullIdx int32
2100
+ }
2101
+
2102
+ // NewUint64MemoTable returns a new memotable with num entries pre-allocated to reduce further
2103
+ // allocations when inserting.
2104
+ func NewUint64MemoTable(num int64) *Uint64MemoTable {
2105
+ return &Uint64MemoTable{tbl: NewUint64HashTable(uint64(num)), nullIdx: KeyNotFound}
2106
+ }
2107
+
2108
+ func (Uint64MemoTable) TypeTraits() TypeTraits {
2109
+ return arrow.Uint64Traits
2110
+ }
2111
+
2112
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2113
+ func (s *Uint64MemoTable) Reset() {
2114
+ s.tbl.Reset(32)
2115
+ s.nullIdx = KeyNotFound
2116
+ }
2117
+
2118
+ // Size returns the current number of inserted elements into the table including if a null
2119
+ // has been inserted.
2120
+ func (s *Uint64MemoTable) Size() int {
2121
+ sz := int(s.tbl.size)
2122
+ if _, ok := s.GetNull(); ok {
2123
+ sz++
2124
+ }
2125
+ return sz
2126
+ }
2127
+
2128
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2129
+ // that will be true if found and false if not.
2130
+ func (s *Uint64MemoTable) GetNull() (int, bool) {
2131
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2132
+ }
2133
+
2134
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2135
+ // if one currently doesn't exist. The found value will be true if there was already
2136
+ // a null in the table, and false if it inserted one.
2137
+ func (s *Uint64MemoTable) GetOrInsertNull() (idx int, found bool) {
2138
+ idx, found = s.GetNull()
2139
+ if !found {
2140
+ idx = s.Size()
2141
+ s.nullIdx = int32(idx)
2142
+ }
2143
+ return
2144
+ }
2145
+
2146
+ // CopyValues will copy the values from the memo table out into the passed in slice
2147
+ // which must be of the appropriate type.
2148
+ func (s *Uint64MemoTable) CopyValues(out interface{}) {
2149
+ s.CopyValuesSubset(0, out)
2150
+ }
2151
+
2152
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2153
+ // at the provided start index
2154
+ func (s *Uint64MemoTable) CopyValuesSubset(start int, out interface{}) {
2155
+ s.tbl.CopyValuesSubset(start, out.([]uint64))
2156
+ }
2157
+
2158
+ func (s *Uint64MemoTable) WriteOut(out []byte) {
2159
+ s.tbl.CopyValues(arrow.Uint64Traits.CastFromBytes(out))
2160
+ }
2161
+
2162
+ func (s *Uint64MemoTable) WriteOutSubset(start int, out []byte) {
2163
+ s.tbl.CopyValuesSubset(start, arrow.Uint64Traits.CastFromBytes(out))
2164
+ }
2165
+
2166
+ func (s *Uint64MemoTable) WriteOutLE(out []byte) {
2167
+ s.tbl.WriteOut(out)
2168
+ }
2169
+
2170
+ func (s *Uint64MemoTable) WriteOutSubsetLE(start int, out []byte) {
2171
+ s.tbl.WriteOutSubset(start, out)
2172
+ }
2173
+
2174
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2175
+ // along with a boolean indicating if it was found or not.
2176
+ func (s *Uint64MemoTable) Get(val interface{}) (int, bool) {
2177
+
2178
+ h := hashInt(uint64(val.(uint64)), 0)
2179
+ if e, ok := s.tbl.Lookup(h, func(v uint64) bool { return val.(uint64) == v }); ok {
2180
+ return int(e.payload.memoIdx), ok
2181
+ }
2182
+ return KeyNotFound, false
2183
+ }
2184
+
2185
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2186
+ // value into the table and return the new index. found indicates whether or not it already
2187
+ // existed in the table (true) or was inserted by this call (false).
2188
+ func (s *Uint64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2189
+
2190
+ h := hashInt(uint64(val.(uint64)), 0)
2191
+ e, ok := s.tbl.Lookup(h, func(v uint64) bool {
2192
+ return val.(uint64) == v
2193
+ })
2194
+
2195
+ if ok {
2196
+ idx = int(e.payload.memoIdx)
2197
+ found = true
2198
+ } else {
2199
+ idx = s.Size()
2200
+ s.tbl.Insert(e, h, val.(uint64), int32(idx))
2201
+ }
2202
+ return
2203
+ }
2204
+
2205
+ type payloadFloat32 struct {
2206
+ val float32
2207
+ memoIdx int32
2208
+ }
2209
+
2210
+ type entryFloat32 struct {
2211
+ h uint64
2212
+ payload payloadFloat32
2213
+ }
2214
+
2215
+ func (e entryFloat32) Valid() bool { return e.h != sentinel }
2216
+
2217
+ // Float32HashTable is a hashtable specifically for float32 that
2218
+ // is utilized with the MemoTable to generalize interactions for easier
2219
+ // implementation of dictionaries without losing performance.
2220
+ type Float32HashTable struct {
2221
+ cap uint64
2222
+ capMask uint64
2223
+ size uint64
2224
+
2225
+ entries []entryFloat32
2226
+ }
2227
+
2228
+ // NewFloat32HashTable returns a new hash table for float32 values
2229
+ // initialized with the passed in capacity or 32 whichever is larger.
2230
+ func NewFloat32HashTable(cap uint64) *Float32HashTable {
2231
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2232
+ ret := &Float32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
2233
+ ret.entries = make([]entryFloat32, initCap)
2234
+ return ret
2235
+ }
2236
+
2237
+ // Reset drops all of the values in this hash table and re-initializes it
2238
+ // with the specified initial capacity as if by calling New, but without having
2239
+ // to reallocate the object.
2240
+ func (h *Float32HashTable) Reset(cap uint64) {
2241
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2242
+ h.capMask = h.cap - 1
2243
+ h.size = 0
2244
+ h.entries = make([]entryFloat32, h.cap)
2245
+ }
2246
+
2247
+ // CopyValues is used for copying the values out of the hash table into the
2248
+ // passed in slice, in the order that they were first inserted
2249
+ func (h *Float32HashTable) CopyValues(out []float32) {
2250
+ h.CopyValuesSubset(0, out)
2251
+ }
2252
+
2253
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
2254
+ // with the value at start, in the order that they were inserted.
2255
+ func (h *Float32HashTable) CopyValuesSubset(start int, out []float32) {
2256
+ h.VisitEntries(func(e *entryFloat32) {
2257
+ idx := e.payload.memoIdx - int32(start)
2258
+ if idx >= 0 {
2259
+ out[idx] = e.payload.val
2260
+ }
2261
+ })
2262
+ }
2263
+
2264
+ func (h *Float32HashTable) WriteOut(out []byte) {
2265
+ h.WriteOutSubset(0, out)
2266
+ }
2267
+
2268
+ func (h *Float32HashTable) WriteOutSubset(start int, out []byte) {
2269
+ data := arrow.Float32Traits.CastFromBytes(out)
2270
+ h.VisitEntries(func(e *entryFloat32) {
2271
+ idx := e.payload.memoIdx - int32(start)
2272
+ if idx >= 0 {
2273
+ data[idx] = utils.ToLEFloat32(e.payload.val)
2274
+ }
2275
+ })
2276
+ }
2277
+
2278
+ func (h *Float32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2279
+
2280
+ func (Float32HashTable) fixHash(v uint64) uint64 {
2281
+ if v == sentinel {
2282
+ return 42
2283
+ }
2284
+ return v
2285
+ }
2286
+
2287
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2288
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2289
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2290
+ func (h *Float32HashTable) Lookup(v uint64, cmp func(float32) bool) (*entryFloat32, bool) {
2291
+ idx, ok := h.lookup(v, h.capMask, cmp)
2292
+ return &h.entries[idx], ok
2293
+ }
2294
+
2295
+ func (h *Float32HashTable) lookup(v uint64, szMask uint64, cmp func(float32) bool) (uint64, bool) {
2296
+ const perturbShift uint8 = 5
2297
+
2298
+ var (
2299
+ idx uint64
2300
+ perturb uint64
2301
+ e *entryFloat32
2302
+ )
2303
+
2304
+ v = h.fixHash(v)
2305
+ idx = v & szMask
2306
+ perturb = (v >> uint64(perturbShift)) + 1
2307
+
2308
+ for {
2309
+ e = &h.entries[idx]
2310
+ if e.h == v && cmp(e.payload.val) {
2311
+ return idx, true
2312
+ }
2313
+
2314
+ if e.h == sentinel {
2315
+ return idx, false
2316
+ }
2317
+
2318
+ // perturbation logic inspired from CPython's set/dict object
2319
+ // the goal is that all 64 bits of unmasked hash value eventually
2320
+ // participate int he probing sequence, to minimize clustering
2321
+ idx = (idx + perturb) & szMask
2322
+ perturb = (perturb >> uint64(perturbShift)) + 1
2323
+ }
2324
+ }
2325
+
2326
+ func (h *Float32HashTable) upsize(newcap uint64) error {
2327
+ newMask := newcap - 1
2328
+
2329
+ oldEntries := h.entries
2330
+ h.entries = make([]entryFloat32, newcap)
2331
+ for _, e := range oldEntries {
2332
+ if e.Valid() {
2333
+ idx, _ := h.lookup(e.h, newMask, func(float32) bool { return false })
2334
+ h.entries[idx] = e
2335
+ }
2336
+ }
2337
+ h.cap = newcap
2338
+ h.capMask = newMask
2339
+ return nil
2340
+ }
2341
+
2342
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2343
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2344
+ func (h *Float32HashTable) Insert(e *entryFloat32, v uint64, val float32, memoIdx int32) error {
2345
+ e.h = h.fixHash(v)
2346
+ e.payload.val = val
2347
+ e.payload.memoIdx = memoIdx
2348
+ h.size++
2349
+
2350
+ if h.needUpsize() {
2351
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2352
+ }
2353
+ return nil
2354
+ }
2355
+
2356
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2357
+ // a valid entry being one which has had a value inserted into it.
2358
+ func (h *Float32HashTable) VisitEntries(visit func(*entryFloat32)) {
2359
+ for _, e := range h.entries {
2360
+ if e.Valid() {
2361
+ visit(&e)
2362
+ }
2363
+ }
2364
+ }
2365
+
2366
+ // Float32MemoTable is a wrapper over the appropriate hashtable to provide an interface
2367
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2368
+ // regarding dictionaries.
2369
+ type Float32MemoTable struct {
2370
+ tbl *Float32HashTable
2371
+ nullIdx int32
2372
+ }
2373
+
2374
+ // NewFloat32MemoTable returns a new memotable with num entries pre-allocated to reduce further
2375
+ // allocations when inserting.
2376
+ func NewFloat32MemoTable(num int64) *Float32MemoTable {
2377
+ return &Float32MemoTable{tbl: NewFloat32HashTable(uint64(num)), nullIdx: KeyNotFound}
2378
+ }
2379
+
2380
+ func (Float32MemoTable) TypeTraits() TypeTraits {
2381
+ return arrow.Float32Traits
2382
+ }
2383
+
2384
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2385
+ func (s *Float32MemoTable) Reset() {
2386
+ s.tbl.Reset(32)
2387
+ s.nullIdx = KeyNotFound
2388
+ }
2389
+
2390
+ // Size returns the current number of inserted elements into the table including if a null
2391
+ // has been inserted.
2392
+ func (s *Float32MemoTable) Size() int {
2393
+ sz := int(s.tbl.size)
2394
+ if _, ok := s.GetNull(); ok {
2395
+ sz++
2396
+ }
2397
+ return sz
2398
+ }
2399
+
2400
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2401
+ // that will be true if found and false if not.
2402
+ func (s *Float32MemoTable) GetNull() (int, bool) {
2403
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2404
+ }
2405
+
2406
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2407
+ // if one currently doesn't exist. The found value will be true if there was already
2408
+ // a null in the table, and false if it inserted one.
2409
+ func (s *Float32MemoTable) GetOrInsertNull() (idx int, found bool) {
2410
+ idx, found = s.GetNull()
2411
+ if !found {
2412
+ idx = s.Size()
2413
+ s.nullIdx = int32(idx)
2414
+ }
2415
+ return
2416
+ }
2417
+
2418
+ // CopyValues will copy the values from the memo table out into the passed in slice
2419
+ // which must be of the appropriate type.
2420
+ func (s *Float32MemoTable) CopyValues(out interface{}) {
2421
+ s.CopyValuesSubset(0, out)
2422
+ }
2423
+
2424
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2425
+ // at the provided start index
2426
+ func (s *Float32MemoTable) CopyValuesSubset(start int, out interface{}) {
2427
+ s.tbl.CopyValuesSubset(start, out.([]float32))
2428
+ }
2429
+
2430
+ func (s *Float32MemoTable) WriteOut(out []byte) {
2431
+ s.tbl.CopyValues(arrow.Float32Traits.CastFromBytes(out))
2432
+ }
2433
+
2434
+ func (s *Float32MemoTable) WriteOutSubset(start int, out []byte) {
2435
+ s.tbl.CopyValuesSubset(start, arrow.Float32Traits.CastFromBytes(out))
2436
+ }
2437
+
2438
+ func (s *Float32MemoTable) WriteOutLE(out []byte) {
2439
+ s.tbl.WriteOut(out)
2440
+ }
2441
+
2442
+ func (s *Float32MemoTable) WriteOutSubsetLE(start int, out []byte) {
2443
+ s.tbl.WriteOutSubset(start, out)
2444
+ }
2445
+
2446
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2447
+ // along with a boolean indicating if it was found or not.
2448
+ func (s *Float32MemoTable) Get(val interface{}) (int, bool) {
2449
+ var cmp func(float32) bool
2450
+
2451
+ if math.IsNaN(float64(val.(float32))) {
2452
+ cmp = isNan32Cmp
2453
+ // use consistent internal bit pattern for NaN regardless of the pattern
2454
+ // that is passed to us. NaN is NaN is NaN
2455
+ val = float32(math.NaN())
2456
+ } else {
2457
+ cmp = func(v float32) bool { return val.(float32) == v }
2458
+ }
2459
+
2460
+ h := hashFloat32(val.(float32), 0)
2461
+ if e, ok := s.tbl.Lookup(h, cmp); ok {
2462
+ return int(e.payload.memoIdx), ok
2463
+ }
2464
+ return KeyNotFound, false
2465
+ }
2466
+
2467
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2468
+ // value into the table and return the new index. found indicates whether or not it already
2469
+ // existed in the table (true) or was inserted by this call (false).
2470
+ func (s *Float32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2471
+
2472
+ var cmp func(float32) bool
2473
+
2474
+ if math.IsNaN(float64(val.(float32))) {
2475
+ cmp = isNan32Cmp
2476
+ // use consistent internal bit pattern for NaN regardless of the pattern
2477
+ // that is passed to us. NaN is NaN is NaN
2478
+ val = float32(math.NaN())
2479
+ } else {
2480
+ cmp = func(v float32) bool { return val.(float32) == v }
2481
+ }
2482
+
2483
+ h := hashFloat32(val.(float32), 0)
2484
+ e, ok := s.tbl.Lookup(h, cmp)
2485
+
2486
+ if ok {
2487
+ idx = int(e.payload.memoIdx)
2488
+ found = true
2489
+ } else {
2490
+ idx = s.Size()
2491
+ s.tbl.Insert(e, h, val.(float32), int32(idx))
2492
+ }
2493
+ return
2494
+ }
2495
+
2496
+ type payloadFloat64 struct {
2497
+ val float64
2498
+ memoIdx int32
2499
+ }
2500
+
2501
+ type entryFloat64 struct {
2502
+ h uint64
2503
+ payload payloadFloat64
2504
+ }
2505
+
2506
+ func (e entryFloat64) Valid() bool { return e.h != sentinel }
2507
+
2508
+ // Float64HashTable is a hashtable specifically for float64 that
2509
+ // is utilized with the MemoTable to generalize interactions for easier
2510
+ // implementation of dictionaries without losing performance.
2511
+ type Float64HashTable struct {
2512
+ cap uint64
2513
+ capMask uint64
2514
+ size uint64
2515
+
2516
+ entries []entryFloat64
2517
+ }
2518
+
2519
+ // NewFloat64HashTable returns a new hash table for float64 values
2520
+ // initialized with the passed in capacity or 32 whichever is larger.
2521
+ func NewFloat64HashTable(cap uint64) *Float64HashTable {
2522
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2523
+ ret := &Float64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
2524
+ ret.entries = make([]entryFloat64, initCap)
2525
+ return ret
2526
+ }
2527
+
2528
+ // Reset drops all of the values in this hash table and re-initializes it
2529
+ // with the specified initial capacity as if by calling New, but without having
2530
+ // to reallocate the object.
2531
+ func (h *Float64HashTable) Reset(cap uint64) {
2532
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2533
+ h.capMask = h.cap - 1
2534
+ h.size = 0
2535
+ h.entries = make([]entryFloat64, h.cap)
2536
+ }
2537
+
2538
+ // CopyValues is used for copying the values out of the hash table into the
2539
+ // passed in slice, in the order that they were first inserted
2540
+ func (h *Float64HashTable) CopyValues(out []float64) {
2541
+ h.CopyValuesSubset(0, out)
2542
+ }
2543
+
2544
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
2545
+ // with the value at start, in the order that they were inserted.
2546
+ func (h *Float64HashTable) CopyValuesSubset(start int, out []float64) {
2547
+ h.VisitEntries(func(e *entryFloat64) {
2548
+ idx := e.payload.memoIdx - int32(start)
2549
+ if idx >= 0 {
2550
+ out[idx] = e.payload.val
2551
+ }
2552
+ })
2553
+ }
2554
+
2555
+ func (h *Float64HashTable) WriteOut(out []byte) {
2556
+ h.WriteOutSubset(0, out)
2557
+ }
2558
+
2559
+ func (h *Float64HashTable) WriteOutSubset(start int, out []byte) {
2560
+ data := arrow.Float64Traits.CastFromBytes(out)
2561
+ h.VisitEntries(func(e *entryFloat64) {
2562
+ idx := e.payload.memoIdx - int32(start)
2563
+ if idx >= 0 {
2564
+ data[idx] = utils.ToLEFloat64(e.payload.val)
2565
+ }
2566
+ })
2567
+ }
2568
+
2569
+ func (h *Float64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2570
+
2571
+ func (Float64HashTable) fixHash(v uint64) uint64 {
2572
+ if v == sentinel {
2573
+ return 42
2574
+ }
2575
+ return v
2576
+ }
2577
+
2578
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2579
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2580
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2581
+ func (h *Float64HashTable) Lookup(v uint64, cmp func(float64) bool) (*entryFloat64, bool) {
2582
+ idx, ok := h.lookup(v, h.capMask, cmp)
2583
+ return &h.entries[idx], ok
2584
+ }
2585
+
2586
+ func (h *Float64HashTable) lookup(v uint64, szMask uint64, cmp func(float64) bool) (uint64, bool) {
2587
+ const perturbShift uint8 = 5
2588
+
2589
+ var (
2590
+ idx uint64
2591
+ perturb uint64
2592
+ e *entryFloat64
2593
+ )
2594
+
2595
+ v = h.fixHash(v)
2596
+ idx = v & szMask
2597
+ perturb = (v >> uint64(perturbShift)) + 1
2598
+
2599
+ for {
2600
+ e = &h.entries[idx]
2601
+ if e.h == v && cmp(e.payload.val) {
2602
+ return idx, true
2603
+ }
2604
+
2605
+ if e.h == sentinel {
2606
+ return idx, false
2607
+ }
2608
+
2609
+ // perturbation logic inspired from CPython's set/dict object
2610
+ // the goal is that all 64 bits of unmasked hash value eventually
2611
+ // participate int he probing sequence, to minimize clustering
2612
+ idx = (idx + perturb) & szMask
2613
+ perturb = (perturb >> uint64(perturbShift)) + 1
2614
+ }
2615
+ }
2616
+
2617
+ func (h *Float64HashTable) upsize(newcap uint64) error {
2618
+ newMask := newcap - 1
2619
+
2620
+ oldEntries := h.entries
2621
+ h.entries = make([]entryFloat64, newcap)
2622
+ for _, e := range oldEntries {
2623
+ if e.Valid() {
2624
+ idx, _ := h.lookup(e.h, newMask, func(float64) bool { return false })
2625
+ h.entries[idx] = e
2626
+ }
2627
+ }
2628
+ h.cap = newcap
2629
+ h.capMask = newMask
2630
+ return nil
2631
+ }
2632
+
2633
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2634
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2635
+ func (h *Float64HashTable) Insert(e *entryFloat64, v uint64, val float64, memoIdx int32) error {
2636
+ e.h = h.fixHash(v)
2637
+ e.payload.val = val
2638
+ e.payload.memoIdx = memoIdx
2639
+ h.size++
2640
+
2641
+ if h.needUpsize() {
2642
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2643
+ }
2644
+ return nil
2645
+ }
2646
+
2647
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2648
+ // a valid entry being one which has had a value inserted into it.
2649
+ func (h *Float64HashTable) VisitEntries(visit func(*entryFloat64)) {
2650
+ for _, e := range h.entries {
2651
+ if e.Valid() {
2652
+ visit(&e)
2653
+ }
2654
+ }
2655
+ }
2656
+
2657
+ // Float64MemoTable is a wrapper over the appropriate hashtable to provide an interface
2658
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2659
+ // regarding dictionaries.
2660
+ type Float64MemoTable struct {
2661
+ tbl *Float64HashTable
2662
+ nullIdx int32
2663
+ }
2664
+
2665
+ // NewFloat64MemoTable returns a new memotable with num entries pre-allocated to reduce further
2666
+ // allocations when inserting.
2667
+ func NewFloat64MemoTable(num int64) *Float64MemoTable {
2668
+ return &Float64MemoTable{tbl: NewFloat64HashTable(uint64(num)), nullIdx: KeyNotFound}
2669
+ }
2670
+
2671
+ func (Float64MemoTable) TypeTraits() TypeTraits {
2672
+ return arrow.Float64Traits
2673
+ }
2674
+
2675
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2676
+ func (s *Float64MemoTable) Reset() {
2677
+ s.tbl.Reset(32)
2678
+ s.nullIdx = KeyNotFound
2679
+ }
2680
+
2681
+ // Size returns the current number of inserted elements into the table including if a null
2682
+ // has been inserted.
2683
+ func (s *Float64MemoTable) Size() int {
2684
+ sz := int(s.tbl.size)
2685
+ if _, ok := s.GetNull(); ok {
2686
+ sz++
2687
+ }
2688
+ return sz
2689
+ }
2690
+
2691
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2692
+ // that will be true if found and false if not.
2693
+ func (s *Float64MemoTable) GetNull() (int, bool) {
2694
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2695
+ }
2696
+
2697
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2698
+ // if one currently doesn't exist. The found value will be true if there was already
2699
+ // a null in the table, and false if it inserted one.
2700
+ func (s *Float64MemoTable) GetOrInsertNull() (idx int, found bool) {
2701
+ idx, found = s.GetNull()
2702
+ if !found {
2703
+ idx = s.Size()
2704
+ s.nullIdx = int32(idx)
2705
+ }
2706
+ return
2707
+ }
2708
+
2709
+ // CopyValues will copy the values from the memo table out into the passed in slice
2710
+ // which must be of the appropriate type.
2711
+ func (s *Float64MemoTable) CopyValues(out interface{}) {
2712
+ s.CopyValuesSubset(0, out)
2713
+ }
2714
+
2715
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2716
+ // at the provided start index
2717
+ func (s *Float64MemoTable) CopyValuesSubset(start int, out interface{}) {
2718
+ s.tbl.CopyValuesSubset(start, out.([]float64))
2719
+ }
2720
+
2721
+ func (s *Float64MemoTable) WriteOut(out []byte) {
2722
+ s.tbl.CopyValues(arrow.Float64Traits.CastFromBytes(out))
2723
+ }
2724
+
2725
+ func (s *Float64MemoTable) WriteOutSubset(start int, out []byte) {
2726
+ s.tbl.CopyValuesSubset(start, arrow.Float64Traits.CastFromBytes(out))
2727
+ }
2728
+
2729
+ func (s *Float64MemoTable) WriteOutLE(out []byte) {
2730
+ s.tbl.WriteOut(out)
2731
+ }
2732
+
2733
+ func (s *Float64MemoTable) WriteOutSubsetLE(start int, out []byte) {
2734
+ s.tbl.WriteOutSubset(start, out)
2735
+ }
2736
+
2737
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2738
+ // along with a boolean indicating if it was found or not.
2739
+ func (s *Float64MemoTable) Get(val interface{}) (int, bool) {
2740
+ var cmp func(float64) bool
2741
+ if math.IsNaN(val.(float64)) {
2742
+ cmp = math.IsNaN
2743
+ // use consistent internal bit pattern for NaN regardless of the pattern
2744
+ // that is passed to us. NaN is NaN is NaN
2745
+ val = math.NaN()
2746
+ } else {
2747
+ cmp = func(v float64) bool { return val.(float64) == v }
2748
+ }
2749
+
2750
+ h := hashFloat64(val.(float64), 0)
2751
+ if e, ok := s.tbl.Lookup(h, cmp); ok {
2752
+ return int(e.payload.memoIdx), ok
2753
+ }
2754
+ return KeyNotFound, false
2755
+ }
2756
+
2757
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2758
+ // value into the table and return the new index. found indicates whether or not it already
2759
+ // existed in the table (true) or was inserted by this call (false).
2760
+ func (s *Float64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2761
+
2762
+ var cmp func(float64) bool
2763
+ if math.IsNaN(val.(float64)) {
2764
+ cmp = math.IsNaN
2765
+ // use consistent internal bit pattern for NaN regardless of the pattern
2766
+ // that is passed to us. NaN is NaN is NaN
2767
+ val = math.NaN()
2768
+ } else {
2769
+ cmp = func(v float64) bool { return val.(float64) == v }
2770
+ }
2771
+
2772
+ h := hashFloat64(val.(float64), 0)
2773
+ e, ok := s.tbl.Lookup(h, cmp)
2774
+
2775
+ if ok {
2776
+ idx = int(e.payload.memoIdx)
2777
+ found = true
2778
+ } else {
2779
+ idx = s.Size()
2780
+ s.tbl.Insert(e, h, val.(float64), int32(idx))
2781
+ }
2782
+ return
2783
+ }