libmongocrypt-helper 1.6.1.0.1001 → 1.7.4.0.1000

Sign up to get free protection for your applications and to get access to all the features.
Files changed (991) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/ext/libmongocrypt/extconf.rb +70 -0
  4. data/ext/libmongocrypt/libmongocrypt/CHANGELOG.md +164 -0
  5. data/ext/libmongocrypt/libmongocrypt/CMakeLists.txt +699 -0
  6. data/ext/libmongocrypt/libmongocrypt/CODEOWNERS +13 -0
  7. data/ext/libmongocrypt/libmongocrypt/LICENSE +201 -0
  8. data/ext/libmongocrypt/libmongocrypt/README.md +250 -0
  9. data/ext/libmongocrypt/libmongocrypt/VERSION_CURRENT +1 -0
  10. data/ext/libmongocrypt/libmongocrypt/bindings/cs/CMakeLists.txt +16 -0
  11. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/AssemblyInfo.cs +4 -0
  12. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/Binary.cs +131 -0
  13. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/BinarySafeHandle.cs +60 -0
  14. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CheckableSafeHandle.cs +46 -0
  15. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CipherCallbacks.cs +168 -0
  16. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/ContextSafeHandle.cs +48 -0
  17. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptClient.cs +238 -0
  18. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptClientFactory.cs +134 -0
  19. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptContext.cs +214 -0
  20. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptException.cs +37 -0
  21. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptOptions.cs +67 -0
  22. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/HashCallback.cs +59 -0
  23. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/HmacShaCallbacks.cs +96 -0
  24. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/IStatus.cs +26 -0
  25. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/KmsCredentials.cs +53 -0
  26. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/KmsKeyId.cs +91 -0
  27. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/KmsRequest.cs +125 -0
  28. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/KmsRequestCollection.cs +60 -0
  29. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/Library.cs +652 -0
  30. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/LibraryLoader.cs +252 -0
  31. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/LibraryLoadingException.cs +34 -0
  32. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/License.txt +14 -0
  33. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/LogLevel.cs +26 -0
  34. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/MongoCryptSafeHandle.cs +48 -0
  35. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/MongoDB.Libmongocrypt.csproj +106 -0
  36. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/MongoDB.Libmongocrypt.ruleset +85 -0
  37. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/MongoDB.Libmongocrypt.targets +21 -0
  38. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/OperatingSystemHelper.cs +59 -0
  39. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/Package.include.template.csproj +38 -0
  40. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/PinnedBinary.cs +49 -0
  41. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/SecureRandomCallback.cs +51 -0
  42. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/SigningRSAESPKCSCallback.cs +74 -0
  43. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/Status.cs +94 -0
  44. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/StatusSafeHandle.cs +60 -0
  45. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/StyleCop.ruleset +11 -0
  46. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/stylecop.json +8 -0
  47. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Example/MongoDB.Libmongocrypt.Example.csproj +23 -0
  48. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Example/Package.include.template.csproj +11 -0
  49. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Example/Program.cs +442 -0
  50. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/BasicTests.cs +748 -0
  51. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/BsonUtil.cs +82 -0
  52. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/CallbackUtils.cs +37 -0
  53. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/CipherCallbacksTests.cs +46 -0
  54. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/HashCallbackTests.cs +37 -0
  55. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/HmacShaCallbacksTests.cs +37 -0
  56. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/MongoDB.Libmongocrypt.Test.csproj +35 -0
  57. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/Package.include.template.csproj +23 -0
  58. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/SigningRSAESPKCSCallbackTests.cs +64 -0
  59. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/collection-info.json +37 -0
  60. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/command-reply.json +13 -0
  61. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/encrypted-command-reply.json +16 -0
  62. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/encrypted-command.json +11 -0
  63. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/encrypted-value.json +6 -0
  64. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/key-document.json +36 -0
  65. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/key-filter.json +19 -0
  66. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/list-collections-filter.json +3 -0
  67. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/test/example/mongocryptd-command.json +22 -0
  68. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/xunit.runner.json +6 -0
  69. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test32/BasicTests.cs +54 -0
  70. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test32/MongoDB.Libmongocrypt.Test32.csproj +42 -0
  71. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test32/Package.include.template.csproj +23 -0
  72. data/ext/libmongocrypt/libmongocrypt/bindings/cs/README.md +66 -0
  73. data/ext/libmongocrypt/libmongocrypt/bindings/cs/Scripts/build.cake +219 -0
  74. data/ext/libmongocrypt/libmongocrypt/bindings/cs/Scripts/build.ps1 +275 -0
  75. data/ext/libmongocrypt/libmongocrypt/bindings/cs/Scripts/build.sh +77 -0
  76. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/README.md +36 -0
  77. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/build.gradle.kts +339 -0
  78. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.jar +0 -0
  79. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.properties +5 -0
  80. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew +188 -0
  81. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew.bat +100 -0
  82. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/BinaryHolder.java +45 -0
  83. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPI.java +1130 -0
  84. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPIHelper.java +96 -0
  85. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CipherCallback.java +66 -0
  86. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/DisposableMemory.java +31 -0
  87. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/JULLogger.java +130 -0
  88. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Logger.java +144 -0
  89. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Loggers.java +50 -0
  90. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MacCallback.java +60 -0
  91. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MessageDigestCallback.java +55 -0
  92. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java +104 -0
  93. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypt.java +100 -0
  94. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContext.java +137 -0
  95. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContextImpl.java +164 -0
  96. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptException.java +67 -0
  97. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptImpl.java +408 -0
  98. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptOptions.java +284 -0
  99. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypts.java +38 -0
  100. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoDataKeyOptions.java +125 -0
  101. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java +225 -0
  102. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptor.java +76 -0
  103. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java +105 -0
  104. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java +83 -0
  105. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java +104 -0
  106. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SLF4JLogger.java +110 -0
  107. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SecureRandomCallback.java +51 -0
  108. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java +76 -0
  109. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/package-info.java +18 -0
  110. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java +345 -0
  111. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/collection-info.json +37 -0
  112. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command-reply.json +13 -0
  113. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command.json +6 -0
  114. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command-reply.json +16 -0
  115. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command.json +11 -0
  116. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-value.json +6 -0
  117. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/encrypted-payload.json +26 -0
  118. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/key-document.json +0 -0
  119. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/key-filter.json +19 -0
  120. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/rangeopts.json +11 -0
  121. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/value-to-encrypt.json +20 -0
  122. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/json-schema.json +15 -0
  123. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-document.json +36 -0
  124. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter-keyAltName.json +14 -0
  125. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter.json +19 -0
  126. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/keys/ABCDEFAB123498761234123456789012-local-document.json +30 -0
  127. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/kms-reply.txt +6 -0
  128. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/list-collections-filter.json +3 -0
  129. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-command.json +22 -0
  130. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-reply.json +18 -0
  131. data/ext/libmongocrypt/libmongocrypt/bindings/node/CHANGELOG.md +81 -0
  132. data/ext/libmongocrypt/libmongocrypt/bindings/node/LICENSE +201 -0
  133. data/ext/libmongocrypt/libmongocrypt/bindings/node/README.md +773 -0
  134. data/ext/libmongocrypt/libmongocrypt/bindings/node/binding.gyp +79 -0
  135. data/ext/libmongocrypt/libmongocrypt/bindings/node/etc/README.hbs +44 -0
  136. data/ext/libmongocrypt/libmongocrypt/bindings/node/etc/build-static.sh +39 -0
  137. data/ext/libmongocrypt/libmongocrypt/bindings/node/index.d.ts +515 -0
  138. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/autoEncrypter.js +420 -0
  139. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/buffer_pool.js +123 -0
  140. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/clientEncryption.js +699 -0
  141. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/common.js +100 -0
  142. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/credentialsProvider.js +33 -0
  143. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/cryptoCallbacks.js +87 -0
  144. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/index.js +42 -0
  145. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/mongocryptdManager.js +66 -0
  146. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/stateMachine.js +487 -0
  147. data/ext/libmongocrypt/libmongocrypt/bindings/node/package-lock.json +16051 -0
  148. data/ext/libmongocrypt/libmongocrypt/bindings/node/package.json +81 -0
  149. data/ext/libmongocrypt/libmongocrypt/bindings/node/src/mongocrypt.cc +929 -0
  150. data/ext/libmongocrypt/libmongocrypt/bindings/node/src/mongocrypt.h +114 -0
  151. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/autoEncrypter.test.js +953 -0
  152. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/buffer_pool.test.js +91 -0
  153. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/clientEncryption.test.js +701 -0
  154. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/credentialsProvider.test.js +163 -0
  155. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/cryptoCallbacks.test.js +284 -0
  156. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/README.md +5 -0
  157. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/cmd.json +6 -0
  158. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/collection-info.json +37 -0
  159. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/encrypted-document-nested.json +8 -0
  160. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/encrypted-document.json +11 -0
  161. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/encryptedFields.json +30 -0
  162. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/key-document.json +32 -0
  163. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/key1-document.json +30 -0
  164. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/kms-decrypt-reply.txt +6 -0
  165. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/kms-encrypt-reply.txt +7 -0
  166. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/data/mongocryptd-reply.json +18 -0
  167. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/mongocryptdManager.test.js +48 -0
  168. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/release.test.js +59 -0
  169. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/requirements.helper.js +29 -0
  170. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/stateMachine.test.js +331 -0
  171. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/tools/mongodb_reporter.js +325 -0
  172. data/ext/libmongocrypt/libmongocrypt/bindings/python/CHANGELOG.rst +121 -0
  173. data/ext/libmongocrypt/libmongocrypt/bindings/python/LICENSE +201 -0
  174. data/ext/libmongocrypt/libmongocrypt/bindings/python/README.rst +187 -0
  175. data/ext/libmongocrypt/libmongocrypt/bindings/python/RELEASE.rst +107 -0
  176. data/ext/libmongocrypt/libmongocrypt/bindings/python/build-manylinux-wheel.sh +16 -0
  177. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/__init__.py +16 -0
  178. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/auto_encrypter.py +61 -0
  179. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binary.py +94 -0
  180. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binding.py +1561 -0
  181. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/compat.py +61 -0
  182. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/credentials.py +136 -0
  183. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/crypto.py +162 -0
  184. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/errors.py +39 -0
  185. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/explicit_encrypter.py +248 -0
  186. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/mongocrypt.py +808 -0
  187. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/state_machine.py +156 -0
  188. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/version.py +17 -0
  189. data/ext/libmongocrypt/libmongocrypt/bindings/python/release.sh +92 -0
  190. data/ext/libmongocrypt/libmongocrypt/bindings/python/setup.py +84 -0
  191. data/ext/libmongocrypt/libmongocrypt/bindings/python/strip_header.py +51 -0
  192. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/__init__.py +37 -0
  193. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/collection-info.json +39 -0
  194. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/command-reply.json +13 -0
  195. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/command.json +6 -0
  196. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/compact/success/cmd.json +1 -0
  197. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/compact/success/encrypted-field-config-map.json +47 -0
  198. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/compact/success/encrypted-payload.json +23 -0
  199. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-command-reply.json +16 -0
  200. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-command.json +13 -0
  201. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-field-config-map.json +48 -0
  202. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-value.json +6 -0
  203. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-find-range-explicit/int32/encrypted-payload.json +26 -0
  204. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-find-range-explicit/int32/rangeopts.json +11 -0
  205. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-find-range-explicit/int32/value-to-encrypt.json +20 -0
  206. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/key-document-azure.json +33 -0
  207. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/key-document-gcp.json +35 -0
  208. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/key-document.json +33 -0
  209. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/key-filter.json +19 -0
  210. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/keys/12345678123498761234123456789012-local-document.json +30 -0
  211. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/keys/12345678123498761234123456789013-local-document.json +30 -0
  212. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/keys/ABCDEFAB123498761234123456789012-local-document.json +30 -0
  213. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/kms-encrypt-reply.txt +7 -0
  214. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/kms-reply-azure.txt +6 -0
  215. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/kms-reply-gcp.txt +6 -0
  216. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/kms-reply.txt +6 -0
  217. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/list-collections-filter.json +3 -0
  218. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/mongocryptd-command.json +26 -0
  219. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/mongocryptd-reply.json +20 -0
  220. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/schema-map.json +40 -0
  221. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_binding.py +71 -0
  222. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_crypto.py +49 -0
  223. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_mongocrypt.py +825 -0
  224. data/ext/libmongocrypt/libmongocrypt/bindings/python/test-requirements.txt +12 -0
  225. data/ext/libmongocrypt/libmongocrypt/cmake/FetchMongoC.cmake +20 -0
  226. data/ext/libmongocrypt/libmongocrypt/cmake/ImportBSON.cmake +209 -0
  227. data/ext/libmongocrypt/libmongocrypt/cmake/ImportDFP.cmake +70 -0
  228. data/ext/libmongocrypt/libmongocrypt/cmake/IntelDFP.cmake +409 -0
  229. data/ext/libmongocrypt/libmongocrypt/cmake/LTO.cmake +57 -0
  230. data/ext/libmongocrypt/libmongocrypt/cmake/MongoC-Warnings.cmake +74 -0
  231. data/ext/libmongocrypt/libmongocrypt/cmake/libmongocrypt-hidden-symbols.map +8 -0
  232. data/ext/libmongocrypt/libmongocrypt/cmake/libmongocrypt-hidden-symbols.txt +5 -0
  233. data/ext/libmongocrypt/libmongocrypt/cmake/libmongocrypt-static.pc.in +9 -0
  234. data/ext/libmongocrypt/libmongocrypt/cmake/libmongocrypt.pc.in +10 -0
  235. data/ext/libmongocrypt/libmongocrypt/cmake/ltocheck-lib.c +6 -0
  236. data/ext/libmongocrypt/libmongocrypt/cmake/ltocheck-main.c +9 -0
  237. data/ext/libmongocrypt/libmongocrypt/cmake/mongocrypt-config.cmake +42 -0
  238. data/ext/libmongocrypt/libmongocrypt/debian/build_snapshot.sh +79 -0
  239. data/ext/libmongocrypt/libmongocrypt/debian/changelog +105 -0
  240. data/ext/libmongocrypt/libmongocrypt/debian/compat +1 -0
  241. data/ext/libmongocrypt/libmongocrypt/debian/control +41 -0
  242. data/ext/libmongocrypt/libmongocrypt/debian/copyright +129 -0
  243. data/ext/libmongocrypt/libmongocrypt/debian/gbp.conf +23 -0
  244. data/ext/libmongocrypt/libmongocrypt/debian/libmongocrypt-dev.dirs +2 -0
  245. data/ext/libmongocrypt/libmongocrypt/debian/libmongocrypt-dev.install +5 -0
  246. data/ext/libmongocrypt/libmongocrypt/debian/libmongocrypt0.dirs +1 -0
  247. data/ext/libmongocrypt/libmongocrypt/debian/libmongocrypt0.install +1 -0
  248. data/ext/libmongocrypt/libmongocrypt/debian/rules +46 -0
  249. data/ext/libmongocrypt/libmongocrypt/debian/source/format +1 -0
  250. data/ext/libmongocrypt/libmongocrypt/debian/source/lintian-overrides +3 -0
  251. data/ext/libmongocrypt/libmongocrypt/debian/source/options +1 -0
  252. data/ext/libmongocrypt/libmongocrypt/debian/watch +3 -0
  253. data/ext/libmongocrypt/libmongocrypt/doc/Doxygen +2474 -0
  254. data/ext/libmongocrypt/libmongocrypt/etc/calc_release_version.py +265 -0
  255. data/ext/libmongocrypt/libmongocrypt/etc/debian/control +33 -0
  256. data/ext/libmongocrypt/libmongocrypt/etc/debian/rules +41 -0
  257. data/ext/libmongocrypt/libmongocrypt/etc/debian/source/format +1 -0
  258. data/ext/libmongocrypt/libmongocrypt/etc/fle2_aead_generate_tests.py +41 -0
  259. data/ext/libmongocrypt/libmongocrypt/etc/fle2_crypto.py +105 -0
  260. data/ext/libmongocrypt/libmongocrypt/etc/fle2_crypto_selftest.py +52 -0
  261. data/ext/libmongocrypt/libmongocrypt/etc/fle2_generate_tests.py +34 -0
  262. data/ext/libmongocrypt/libmongocrypt/etc/generate-kek-tests.py +69 -0
  263. data/ext/libmongocrypt/libmongocrypt/etc/generate-test-data.py +141 -0
  264. data/ext/libmongocrypt/libmongocrypt/etc/list-compile-files.py +20 -0
  265. data/ext/libmongocrypt/libmongocrypt/etc/mongo-inteldfp-MONGOCRYPT-571.patch +25 -0
  266. data/ext/libmongocrypt/libmongocrypt/etc/mongo-inteldfp-s390x.patch +134 -0
  267. data/ext/libmongocrypt/libmongocrypt/etc/packager.py +854 -0
  268. data/ext/libmongocrypt/libmongocrypt/etc/print-marking.py +36 -0
  269. data/ext/libmongocrypt/libmongocrypt/etc/repo_config.yaml +257 -0
  270. data/ext/libmongocrypt/libmongocrypt/etc/requirements.txt +2 -0
  271. data/ext/libmongocrypt/libmongocrypt/etc/rewrite.py +16 -0
  272. data/ext/libmongocrypt/libmongocrypt/etc/rpm/libmongocrypt.spec +67 -0
  273. data/ext/libmongocrypt/libmongocrypt/etc/rpm/tweak.awk +19 -0
  274. data/ext/libmongocrypt/libmongocrypt/integrating.md +251 -0
  275. data/ext/libmongocrypt/libmongocrypt/kms-message/CMakeLists.txt +305 -0
  276. data/ext/libmongocrypt/libmongocrypt/kms-message/COPYING +177 -0
  277. data/ext/libmongocrypt/libmongocrypt/kms-message/README.md +41 -0
  278. data/ext/libmongocrypt/libmongocrypt/kms-message/THIRD_PARTY_NOTICES +42 -0
  279. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/LICENSE +202 -0
  280. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/NOTICE +2 -0
  281. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.authz +1 -0
  282. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq +9 -0
  283. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req +6 -0
  284. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sreq +7 -0
  285. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts +4 -0
  286. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.authz +1 -0
  287. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq +9 -0
  288. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req +6 -0
  289. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq +7 -0
  290. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts +4 -0
  291. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz +1 -0
  292. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq +9 -0
  293. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req +7 -0
  294. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq +8 -0
  295. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts +4 -0
  296. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz +1 -0
  297. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq +10 -0
  298. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req +5 -0
  299. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq +6 -0
  300. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts +4 -0
  301. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz +1 -0
  302. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq +8 -0
  303. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req +3 -0
  304. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq +4 -0
  305. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts +4 -0
  306. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-utf8/get-utf8.authz +1 -0
  307. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-utf8/get-utf8.creq +8 -0
  308. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-utf8/get-utf8.req +3 -0
  309. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq +4 -0
  310. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-utf8/get-utf8.sts +4 -0
  311. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz +1 -0
  312. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq +8 -0
  313. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req +3 -0
  314. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq +4 -0
  315. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts +4 -0
  316. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz +1 -0
  317. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq +8 -0
  318. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req +3 -0
  319. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq +4 -0
  320. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts +4 -0
  321. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz +1 -0
  322. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq +8 -0
  323. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req +3 -0
  324. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq +4 -0
  325. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts +4 -0
  326. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz +1 -0
  327. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq +8 -0
  328. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req +3 -0
  329. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq +4 -0
  330. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts +4 -0
  331. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.authz +1 -0
  332. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq +8 -0
  333. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req +3 -0
  334. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sreq +4 -0
  335. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts +4 -0
  336. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz +1 -0
  337. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq +8 -0
  338. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req +3 -0
  339. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq +4 -0
  340. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts +4 -0
  341. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz +1 -0
  342. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq +8 -0
  343. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req +3 -0
  344. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq +4 -0
  345. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts +4 -0
  346. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz +1 -0
  347. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq +8 -0
  348. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req +3 -0
  349. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq +4 -0
  350. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts +4 -0
  351. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz +1 -0
  352. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq +8 -0
  353. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req +3 -0
  354. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq +4 -0
  355. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts +4 -0
  356. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz +1 -0
  357. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq +8 -0
  358. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req +3 -0
  359. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq +4 -0
  360. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts +4 -0
  361. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz +1 -0
  362. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq +8 -0
  363. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req +3 -0
  364. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq +4 -0
  365. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts +4 -0
  366. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz +1 -0
  367. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq +8 -0
  368. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req +3 -0
  369. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq +4 -0
  370. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts +4 -0
  371. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz +1 -0
  372. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq +8 -0
  373. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req +3 -0
  374. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sreq +4 -0
  375. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts +4 -0
  376. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz +1 -0
  377. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq +8 -0
  378. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req +3 -0
  379. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq +4 -0
  380. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts +4 -0
  381. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz +1 -0
  382. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq +8 -0
  383. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req +3 -0
  384. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq +4 -0
  385. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts +4 -0
  386. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/normalize-path/normalize-path.txt +3 -0
  387. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz +1 -0
  388. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq +8 -0
  389. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req +3 -0
  390. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq +4 -0
  391. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts +4 -0
  392. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz +1 -0
  393. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq +9 -0
  394. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req +4 -0
  395. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq +5 -0
  396. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts +4 -0
  397. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz +1 -0
  398. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq +9 -0
  399. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req +4 -0
  400. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq +5 -0
  401. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts +4 -0
  402. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz +1 -0
  403. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq +8 -0
  404. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req +3 -0
  405. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq +5 -0
  406. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts +4 -0
  407. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz +1 -0
  408. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq +9 -0
  409. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req +4 -0
  410. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq +5 -0
  411. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts +4 -0
  412. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-sts-token/readme.txt +15 -0
  413. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz +1 -0
  414. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq +8 -0
  415. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req +3 -0
  416. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq +4 -0
  417. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts +4 -0
  418. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz +1 -0
  419. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq +8 -0
  420. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req +3 -0
  421. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq +4 -0
  422. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts +4 -0
  423. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz +1 -0
  424. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq +8 -0
  425. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req +3 -0
  426. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq +4 -0
  427. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts +4 -0
  428. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz +1 -0
  429. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq +9 -0
  430. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req +6 -0
  431. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq +7 -0
  432. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts +4 -0
  433. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz +1 -0
  434. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq +9 -0
  435. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req +6 -0
  436. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq +7 -0
  437. data/ext/libmongocrypt/libmongocrypt/kms-message/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts +4 -0
  438. data/ext/libmongocrypt/libmongocrypt/kms-message/cmake/kms_message-config.cmake +1 -0
  439. data/ext/libmongocrypt/libmongocrypt/kms-message/cmake/libkms_message.pc.in +9 -0
  440. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.c +67 -0
  441. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.h +24 -0
  442. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_azure_request.c +219 -0
  443. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_b64.c +654 -0
  444. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_caller_identity_request.c +52 -0
  445. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto.h +70 -0
  446. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_apple.c +159 -0
  447. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_libcrypto.c +142 -0
  448. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_none.c +65 -0
  449. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_windows.c +268 -0
  450. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_decrypt_request.c +72 -0
  451. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_encrypt_request.c +73 -0
  452. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_endian_private.h +165 -0
  453. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_gcp_request.c +286 -0
  454. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_item_type_private.h +59 -0
  455. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_reader_writer.c +502 -0
  456. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_reader_writer_private.h +150 -0
  457. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_request.c +256 -0
  458. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_response.c +323 -0
  459. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_response_parser.c +148 -0
  460. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_response_parser_private.h +55 -0
  461. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_result_reason_private.h +77 -0
  462. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_result_status_private.h +54 -0
  463. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_tag_type_private.h +343 -0
  464. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kv_list.c +149 -0
  465. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kv_list.h +56 -0
  466. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_azure_request.h +110 -0
  467. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_b64.h +70 -0
  468. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_caller_identity_request.h +36 -0
  469. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_decrypt_request.h +37 -0
  470. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_encrypt_request.h +39 -0
  471. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_gcp_request.h +124 -0
  472. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_kmip_request.h +58 -0
  473. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_kmip_response.h +40 -0
  474. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_kmip_response_parser.h +26 -0
  475. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_message.h +34 -0
  476. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_message_defines.h +72 -0
  477. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_request.h +103 -0
  478. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_request_opt.h +80 -0
  479. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_response.h +43 -0
  480. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message/kms_response_parser.h +64 -0
  481. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message.c +47 -0
  482. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message_private.h +142 -0
  483. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_port.c +33 -0
  484. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_port.h +34 -0
  485. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request.c +925 -0
  486. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_opt.c +88 -0
  487. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_opt_private.h +32 -0
  488. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.c +520 -0
  489. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.h +89 -0
  490. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_response.c +54 -0
  491. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_response_parser.c +408 -0
  492. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.c +74 -0
  493. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.h +21 -0
  494. data/ext/libmongocrypt/libmongocrypt/kms-message/test/connection_close/connection_close.sreq +5 -0
  495. data/ext/libmongocrypt/libmongocrypt/kms-message/test/content_length/content_length.sreq +7 -0
  496. data/ext/libmongocrypt/libmongocrypt/kms-message/test/decrypt/decrypt.creq +11 -0
  497. data/ext/libmongocrypt/libmongocrypt/kms-message/test/decrypt/decrypt.sreq +9 -0
  498. data/ext/libmongocrypt/libmongocrypt/kms-message/test/encrypt/encrypt.creq +11 -0
  499. data/ext/libmongocrypt/libmongocrypt/kms-message/test/encrypt/encrypt.sreq +9 -0
  500. data/ext/libmongocrypt/libmongocrypt/kms-message/test/example-chunked-response.bin +20 -0
  501. data/ext/libmongocrypt/libmongocrypt/kms-message/test/example-multi-chunked-response.bin +22 -0
  502. data/ext/libmongocrypt/libmongocrypt/kms-message/test/example-response.bin +6 -0
  503. data/ext/libmongocrypt/libmongocrypt/kms-message/test/host/host.sreq +4 -0
  504. data/ext/libmongocrypt/libmongocrypt/kms-message/test/multibyte/multibyte.creq +10 -0
  505. data/ext/libmongocrypt/libmongocrypt/kms-message/test/multibyte/multibyte.sreq +8 -0
  506. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kmip_reader_writer.c +485 -0
  507. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_assert.h +147 -0
  508. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_azure_online.c +260 -0
  509. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_gcp_online.c +250 -0
  510. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_request.c +223 -0
  511. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response.c +214 -0
  512. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response_parser.c +197 -0
  513. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.c +120 -0
  514. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.h +35 -0
  515. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_request.c +1302 -0
  516. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_util.c +92 -0
  517. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_util.h +45 -0
  518. data/ext/libmongocrypt/libmongocrypt/kms-message/test/windows/dirent.h +1224 -0
  519. data/ext/libmongocrypt/libmongocrypt/src/crypto/cng.c +640 -0
  520. data/ext/libmongocrypt/libmongocrypt/src/crypto/commoncrypto.c +326 -0
  521. data/ext/libmongocrypt/libmongocrypt/src/crypto/libcrypto.c +341 -0
  522. data/ext/libmongocrypt/libmongocrypt/src/crypto/none.c +97 -0
  523. data/ext/libmongocrypt/libmongocrypt/src/csfle-markup.cpp +237 -0
  524. data/ext/libmongocrypt/libmongocrypt/src/mc-array-private.h +54 -0
  525. data/ext/libmongocrypt/libmongocrypt/src/mc-array.c +102 -0
  526. data/ext/libmongocrypt/libmongocrypt/src/mc-check-conversions-private.h +36 -0
  527. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.h +743 -0
  528. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.test.cpp +86 -0
  529. data/ext/libmongocrypt/libmongocrypt/src/mc-efc-private.h +48 -0
  530. data/ext/libmongocrypt/libmongocrypt/src/mc-efc.c +127 -0
  531. data/ext/libmongocrypt/libmongocrypt/src/mc-fle-blob-subtype-private.h +40 -0
  532. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder-private.h +152 -0
  533. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder.c +487 -0
  534. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-private.h +47 -0
  535. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload.c +156 -0
  536. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-private.h +95 -0
  537. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload.c +158 -0
  538. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private.h +124 -0
  539. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload.c +316 -0
  540. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-private.h +179 -0
  541. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev.c +385 -0
  542. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-private.h +93 -0
  543. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev.c +269 -0
  544. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-range-operator-private.h +29 -0
  545. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds-private.h +91 -0
  546. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds.c +658 -0
  547. data/ext/libmongocrypt/libmongocrypt/src/mc-optional-private.h +124 -0
  548. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation-private.h +161 -0
  549. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation.c +242 -0
  550. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding-private.h +128 -0
  551. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding.c +620 -0
  552. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-generator.template.h +308 -0
  553. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-private.h +112 -0
  554. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover.c +341 -0
  555. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts-private.h +99 -0
  556. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts.c +382 -0
  557. data/ext/libmongocrypt/libmongocrypt/src/mc-reader-private.h +130 -0
  558. data/ext/libmongocrypt/libmongocrypt/src/mc-reader.c +235 -0
  559. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens-private.h +118 -0
  560. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens.c +151 -0
  561. data/ext/libmongocrypt/libmongocrypt/src/mlib/check.hpp +89 -0
  562. data/ext/libmongocrypt/libmongocrypt/src/mlib/endian.h +42 -0
  563. data/ext/libmongocrypt/libmongocrypt/src/mlib/error.h +59 -0
  564. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.h +685 -0
  565. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.test.c +3 -0
  566. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.test.cpp +407 -0
  567. data/ext/libmongocrypt/libmongocrypt/src/mlib/macros.h +53 -0
  568. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.h +381 -0
  569. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.test.c +93 -0
  570. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.h +1028 -0
  571. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.test.c +137 -0
  572. data/ext/libmongocrypt/libmongocrypt/src/mlib/thread.h +88 -0
  573. data/ext/libmongocrypt/libmongocrypt/src/mlib/user-check.h +4 -0
  574. data/ext/libmongocrypt/libmongocrypt/src/mlib/windows-lean.h +19 -0
  575. data/ext/libmongocrypt/libmongocrypt/src/mongo_crypt-v1.h +320 -0
  576. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-binary-private.h +34 -0
  577. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-binary.c +87 -0
  578. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer-private.h +236 -0
  579. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer.c +691 -0
  580. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo-private.h +24 -0
  581. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo.c +82 -0
  582. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-key-private.h +55 -0
  583. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-key.c +190 -0
  584. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-oauth-private.h +46 -0
  585. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-oauth.c +126 -0
  586. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-private.h +96 -0
  587. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache.c +341 -0
  588. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext-private.h +64 -0
  589. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext.c +212 -0
  590. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-compat.h +44 -0
  591. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-config.h.in +87 -0
  592. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto-private.h +303 -0
  593. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto.c +1850 -0
  594. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-datakey.c +534 -0
  595. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-decrypt.c +773 -0
  596. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-encrypt.c +3005 -0
  597. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-private.h +269 -0
  598. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-rewrap-many-datakey.c +415 -0
  599. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx.c +1283 -0
  600. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-dll-private.h +97 -0
  601. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endian-private.h +168 -0
  602. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endpoint-private.h +64 -0
  603. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endpoint.c +212 -0
  604. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kek-private.h +109 -0
  605. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kek.c +325 -0
  606. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker-private.h +209 -0
  607. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker.c +1189 -0
  608. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-private.h +87 -0
  609. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key.c +473 -0
  610. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx-private.h +154 -0
  611. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx.c +1785 -0
  612. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log-private.h +111 -0
  613. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log.c +123 -0
  614. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking-private.h +74 -0
  615. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking.c +1624 -0
  616. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-mutex-private.h +46 -0
  617. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts-private.h +231 -0
  618. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts.c +493 -0
  619. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-private.h +197 -0
  620. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-status-private.h +39 -0
  621. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-status.c +169 -0
  622. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util-private.h +59 -0
  623. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util.c +234 -0
  624. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util-private.h +84 -0
  625. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util.c +203 -0
  626. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.c +1605 -0
  627. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.h +1610 -0
  628. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_dll.c +132 -0
  629. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_mutex.c +57 -0
  630. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_dll.c +92 -0
  631. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_mutex.c +45 -0
  632. data/ext/libmongocrypt/libmongocrypt/test/crypt_shared-stub.cpp +155 -0
  633. data/ext/libmongocrypt/libmongocrypt/test/data/NIST-CAVP.cstructs +1350 -0
  634. data/ext/libmongocrypt/libmongocrypt/test/data/aes-ctr.cstructs +359 -0
  635. data/ext/libmongocrypt/libmongocrypt/test/data/cache-tests.json +197 -0
  636. data/ext/libmongocrypt/libmongocrypt/test/data/collection-info-no-schema.json +19 -0
  637. data/ext/libmongocrypt/libmongocrypt/test/data/collection-info-no-validator.json +13 -0
  638. data/ext/libmongocrypt/libmongocrypt/test/data/collection-info-view.json +11 -0
  639. data/ext/libmongocrypt/libmongocrypt/test/data/collinfo-siblings.json +40 -0
  640. data/ext/libmongocrypt/libmongocrypt/test/data/compact/missing-key-id/collinfo.json +21 -0
  641. data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-fields/collinfo.json +10 -0
  642. data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-fields/encrypted-payload.json +4 -0
  643. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/cmd.json +1 -0
  644. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/collinfo.json +49 -0
  645. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-field-config-map.json +47 -0
  646. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-payload.json +23 -0
  647. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/mongocryptd-reply.json +72 -0
  648. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/cmd-to-mongocryptd.json +34 -0
  649. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/cmd.json +6 -0
  650. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/collinfo.json +27 -0
  651. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/encrypted-payload.json +39 -0
  652. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/mongocryptd-reply.json +45 -0
  653. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/cmd-to-mongocryptd.json +34 -0
  654. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/cmd.json +7 -0
  655. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/collinfo.json +27 -0
  656. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/encrypted-payload.json +40 -0
  657. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/mongocryptd-reply.json +45 -0
  658. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/cmd-to-mongocryptd.json +17 -0
  659. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/cmd.json +7 -0
  660. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/collinfo.json +10 -0
  661. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/encrypted-payload.json +7 -0
  662. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/mongocryptd-reply.json +23 -0
  663. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/cmd-to-mongocryptd.json +26 -0
  664. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/cmd.json +7 -0
  665. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/collinfo.json +25 -0
  666. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/encrypted-payload.json +14 -0
  667. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/mongocryptd-reply.json +15 -0
  668. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-extraField.json +24 -0
  669. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-missingKeyId.json +17 -0
  670. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField.json +23 -0
  671. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-twoFields.json +39 -0
  672. data/ext/libmongocrypt/libmongocrypt/test/data/encrypted-cmd.json +11 -0
  673. data/ext/libmongocrypt/libmongocrypt/test/data/encrypted-field-config-map.json +48 -0
  674. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decryption-input.json +8 -0
  675. data/ext/libmongocrypt/libmongocrypt/test/data/find-with-encryptionInformation.json +16 -0
  676. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/cmd-to-mongocryptd.json +12 -0
  677. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/cmd.json +8 -0
  678. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/cmd.json +8 -0
  679. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/collinfo.json +9 -0
  680. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/mongocryptd-reply.json +14 -0
  681. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/old-mongocryptd/cmd.json +3 -0
  682. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/old-mongocryptd/encrypted-payload.json +3 -0
  683. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/old-mongocryptd/ismaster-to-mongocryptd.json +3 -0
  684. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/old-mongocryptd/mongocryptd-ismaster.json +12 -0
  685. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/cmd-to-mongocryptd.json +20 -0
  686. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/cmd.json +12 -0
  687. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/encrypted-payload.json +12 -0
  688. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/ismaster-to-mongocryptd.json +3 -0
  689. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/mongocryptd-ismaster.json +12 -0
  690. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-cmd-schema/mongocryptd-reply.json +9 -0
  691. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/cmd-to-mongocryptd.json +7 -0
  692. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/cmd.json +3 -0
  693. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/encrypted-payload.json +3 -0
  694. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/ismaster-to-mongocryptd.json +3 -0
  695. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/mongocryptd-ismaster.json +12 -0
  696. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/mongocryptd-reply.json +9 -0
  697. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/with-schema/schema-map.json +5 -0
  698. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/cmd-to-mongocryptd.json +5 -0
  699. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/cmd.json +3 -0
  700. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/encrypted-payload.json +3 -0
  701. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/ismaster-to-mongocryptd.json +3 -0
  702. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/mongocryptd-ismaster.json +12 -0
  703. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-create/without-schema/mongocryptd-reply.json +9 -0
  704. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-csfle/cmd.json +8 -0
  705. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-csfle/collinfo.json +7 -0
  706. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-csfle/encrypted-payload.json +8 -0
  707. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/cmd-to-mongocryptd.json +10 -0
  708. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/cmd.json +8 -0
  709. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/collinfo.json +7 -0
  710. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/encrypted-payload.json +8 -0
  711. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/mongocryptd-reply.json +14 -0
  712. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-aead.cstructs +109 -0
  713. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/cmd-to-mongocryptd.json +14 -0
  714. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/cmd.json +3 -0
  715. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/encrypted-field-config-map.json +8 -0
  716. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/encrypted-payload.json +3 -0
  717. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/ismaster-to-mongocryptd.json +3 -0
  718. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/mongocryptd-ismaster.json +12 -0
  719. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/mongocryptd-reply.json +9 -0
  720. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-decrypt-ieev/first-filter.json +21 -0
  721. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-decrypt-ieev/second-filter.json +21 -0
  722. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/cmd.json +6 -0
  723. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/collinfo.json +49 -0
  724. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-field-config-map.json +47 -0
  725. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload.json +91 -0
  726. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/mongocryptd-reply.json +66 -0
  727. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/cmd.json +6 -0
  728. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/collinfo.json +49 -0
  729. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-field-config-map.json +47 -0
  730. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload.json +98 -0
  731. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/mongocryptd-reply.json +72 -0
  732. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/cmd.json +8 -0
  733. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/collinfo.json +27 -0
  734. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/encrypted-payload.json +46 -0
  735. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/cmd-to-mongocryptd.json +36 -0
  736. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/cmd.json +8 -0
  737. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/collinfo.json +27 -0
  738. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/encrypted-payload.json +41 -0
  739. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/mongocryptd-reply.json +47 -0
  740. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed-contentionFactor1.json +8 -0
  741. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed.json +8 -0
  742. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-contentionFactor1.json +8 -0
  743. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-same-user-and-index-key.json +8 -0
  744. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed.json +8 -0
  745. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/cmd.json +6 -0
  746. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/encrypted-field-map.json +23 -0
  747. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/encrypted-payload.json +41 -0
  748. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/mongocryptd-reply.json +19 -0
  749. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongocryptd.json +24 -0
  750. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongod.json +24 -0
  751. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd.json +11 -0
  752. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/reply-from-mongocryptd.json +27 -0
  753. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/README.md +2 -0
  754. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/cmd.json +10 -0
  755. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/encrypted-field-map.json +28 -0
  756. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/encrypted-payload.json +42 -0
  757. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/mongocryptd-reply.json +50 -0
  758. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/cmd.json +6 -0
  759. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-field-map.json +28 -0
  760. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-payload.json +42 -0
  761. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/mongocryptd-reply.json +50 -0
  762. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/cmd.json +6 -0
  763. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-field-map.json +31 -0
  764. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-payload.json +51 -0
  765. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/mongocryptd-reply.json +59 -0
  766. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/cmd.json +8 -0
  767. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/encrypted-field-map.json +28 -0
  768. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/encrypted-payload.json +42 -0
  769. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/mongocryptd-reply.json +50 -0
  770. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/cmd.json +8 -0
  771. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/encrypted-field-map.json +31 -0
  772. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/encrypted-payload.json +45 -0
  773. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/mongocryptd-reply.json +53 -0
  774. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/cmd.json +8 -0
  775. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/encrypted-field-map.json +28 -0
  776. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/encrypted-payload.json +42 -0
  777. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/mongocryptd-reply.json +50 -0
  778. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/cmd.json +8 -0
  779. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-field-map.json +28 -0
  780. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-payload.json +42 -0
  781. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/mongocryptd-reply.json +50 -0
  782. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload.json +26 -0
  783. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/rangeopts.json +5 -0
  784. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/value-to-encrypt.json +20 -0
  785. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload.json +26 -0
  786. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/rangeopts.json +14 -0
  787. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/value-to-encrypt.json +20 -0
  788. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload.json +26 -0
  789. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/rangeopts.json +11 -0
  790. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/value-to-encrypt.json +20 -0
  791. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/encrypted-payload.json +26 -0
  792. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/rangeopts.json +5 -0
  793. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/value-to-encrypt.json +20 -0
  794. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload.json +16 -0
  795. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/rangeopts.json +11 -0
  796. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/value-to-encrypt.json +13 -0
  797. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert/cmd.json +9 -0
  798. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert/encrypted-field-map.json +23 -0
  799. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert/encrypted-payload.json +40 -0
  800. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert/mongocryptd-reply.json +50 -0
  801. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/README.md +2 -0
  802. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/RNG_DATA.h +67 -0
  803. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/cmd.json +13 -0
  804. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-field-map.json +28 -0
  805. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-payload.json +45 -0
  806. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/mongocryptd-reply.json +53 -0
  807. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/RNG_DATA.h +134 -0
  808. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/cmd.json +9 -0
  809. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-field-map.json +28 -0
  810. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-payload.json +45 -0
  811. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/mongocryptd-reply.json +53 -0
  812. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/RNG_DATA.h +73 -0
  813. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/cmd.json +9 -0
  814. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-field-map.json +31 -0
  815. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-payload.json +54 -0
  816. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/mongocryptd-reply.json +62 -0
  817. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/RNG_DATA.h +70 -0
  818. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/cmd.json +11 -0
  819. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-field-map.json +28 -0
  820. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-payload.json +45 -0
  821. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/mongocryptd-reply.json +53 -0
  822. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/RNG_DATA.h +21 -0
  823. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/cmd.json +11 -0
  824. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-field-map.json +31 -0
  825. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-payload.json +48 -0
  826. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/mongocryptd-reply.json +56 -0
  827. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/RNG_DATA.h +27 -0
  828. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/cmd.json +11 -0
  829. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-field-map.json +28 -0
  830. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-payload.json +45 -0
  831. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/mongocryptd-reply.json +53 -0
  832. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/RNG_DATA.h +67 -0
  833. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/cmd.json +11 -0
  834. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-field-map.json +28 -0
  835. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-payload.json +45 -0
  836. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/mongocryptd-reply.json +53 -0
  837. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/RNG_DATA.h +70 -0
  838. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload.json +8 -0
  839. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/rangeopts.json +5 -0
  840. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/value-to-encrypt.json +5 -0
  841. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/RNG_DATA.h +21 -0
  842. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload.json +8 -0
  843. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/rangeopts.json +14 -0
  844. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/value-to-encrypt.json +5 -0
  845. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/RNG_DATA.h +27 -0
  846. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/encrypted-payload.json +8 -0
  847. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/rangeopts.json +11 -0
  848. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/value-to-encrypt.json +5 -0
  849. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/RNG_DATA.h +70 -0
  850. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/encrypted-payload.json +8 -0
  851. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/rangeopts.json +5 -0
  852. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/value-to-encrypt.json +5 -0
  853. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/RNG_DATA.h +17 -0
  854. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload.json +8 -0
  855. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/rangeopts.json +11 -0
  856. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/value-to-encrypt.json +5 -0
  857. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/cmd.json +9 -0
  858. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/encrypted-field-map.json +23 -0
  859. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/encrypted-payload.json +14 -0
  860. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/mongocryptd-reply.json +46 -0
  861. data/ext/libmongocrypt/libmongocrypt/test/data/fle2.cstructs +33 -0
  862. data/ext/libmongocrypt/libmongocrypt/test/data/gcp-auth/decrypt-response.txt +5 -0
  863. data/ext/libmongocrypt/libmongocrypt/test/data/gcp-auth/encrypt-response.txt +5 -0
  864. data/ext/libmongocrypt/libmongocrypt/test/data/gcp-auth/oauth-response.txt +5 -0
  865. data/ext/libmongocrypt/libmongocrypt/test/data/kek-tests.json +169 -0
  866. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-azure.json +33 -0
  867. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-full.json +36 -0
  868. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-gcp.json +35 -0
  869. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-kmip.json +34 -0
  870. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-local.json +18 -0
  871. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-no-region.json +31 -0
  872. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-with-alt-name-duplicate-id.json +36 -0
  873. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-with-alt-name.json +33 -0
  874. data/ext/libmongocrypt/libmongocrypt/test/data/key-document-with-alt-name2.json +33 -0
  875. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789012-aws-decrypt-reply.txt +11 -0
  876. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789012-aws-document.json +32 -0
  877. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789012-key-material.txt +1 -0
  878. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789012-local-document.json +30 -0
  879. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789013-aws-decrypt-reply.txt +11 -0
  880. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789013-aws-document.json +32 -0
  881. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789013-key-material.txt +1 -0
  882. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789013-local-document.json +30 -0
  883. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789014-key-material.txt +1 -0
  884. data/ext/libmongocrypt/libmongocrypt/test/data/keys/12345678123498761234123456789014-local-document.json +30 -0
  885. data/ext/libmongocrypt/libmongocrypt/test/data/keys/ABCDEFAB123498761234123456789012-aws-decrypt-reply.txt +11 -0
  886. data/ext/libmongocrypt/libmongocrypt/test/data/keys/ABCDEFAB123498761234123456789012-aws-document.json +32 -0
  887. data/ext/libmongocrypt/libmongocrypt/test/data/keys/ABCDEFAB123498761234123456789012-key-material.txt +1 -0
  888. data/ext/libmongocrypt/libmongocrypt/test/data/keys/ABCDEFAB123498761234123456789012-local-document.json +30 -0
  889. data/ext/libmongocrypt/libmongocrypt/test/data/keys/README.md +21 -0
  890. data/ext/libmongocrypt/libmongocrypt/test/data/kms-encrypt-reply.txt +7 -0
  891. data/ext/libmongocrypt/libmongocrypt/test/data/kms-tests.json +297 -0
  892. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-cmd.json +26 -0
  893. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-existing-ciphertext.json +24 -0
  894. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-invalid.json +18 -0
  895. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-key-alt-name.json +18 -0
  896. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-key-alt-name2.json +18 -0
  897. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-no-encryption-needed.json +7 -0
  898. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-no-markings.json +7 -0
  899. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-reply-random.json +18 -0
  900. data/ext/libmongocrypt/libmongocrypt/test/data/range-edge-generation/edges_decimal128.cstruct +14527 -0
  901. data/ext/libmongocrypt/libmongocrypt/test/data/range-edge-generation/edges_double.cstruct +7959 -0
  902. data/ext/libmongocrypt/libmongocrypt/test/data/range-edge-generation/edges_int32.cstruct +6906 -0
  903. data/ext/libmongocrypt/libmongocrypt/test/data/range-edge-generation/edges_int64.cstruct +9429 -0
  904. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_decimal128.cstruct +4565 -0
  905. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_decimal128_precision.cstruct +312 -0
  906. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_double.cstruct +3277 -0
  907. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_double_precision.cstruct +369 -0
  908. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_int32.cstruct +4612 -0
  909. data/ext/libmongocrypt/libmongocrypt/test/data/range-min-cover/mincover_int64.cstruct +3398 -0
  910. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/key-document-a.json +35 -0
  911. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/key-document-b.json +37 -0
  912. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/key-document-local.json +30 -0
  913. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/kms-decrypt-reply-a.txt +6 -0
  914. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/kms-decrypt-reply-b.txt +6 -0
  915. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/kms-encrypt-reply-a.txt +7 -0
  916. data/ext/libmongocrypt/libmongocrypt/test/data/rmd/kms-encrypt-reply-b.txt +7 -0
  917. data/ext/libmongocrypt/libmongocrypt/test/data/schema-map.json +40 -0
  918. data/ext/libmongocrypt/libmongocrypt/test/data/schema.json +19 -0
  919. data/ext/libmongocrypt/libmongocrypt/test/example/README.md +5 -0
  920. data/ext/libmongocrypt/libmongocrypt/test/example/cmd.json +6 -0
  921. data/ext/libmongocrypt/libmongocrypt/test/example/collection-info.json +39 -0
  922. data/ext/libmongocrypt/libmongocrypt/test/example/encrypted-command.json +9 -0
  923. data/ext/libmongocrypt/libmongocrypt/test/example/key-document-custom-endpoint.json +34 -0
  924. data/ext/libmongocrypt/libmongocrypt/test/example/key-document.json +33 -0
  925. data/ext/libmongocrypt/libmongocrypt/test/example/kms-decrypt-reply.txt +6 -0
  926. data/ext/libmongocrypt/libmongocrypt/test/example/mongocryptd-reply.json +18 -0
  927. data/ext/libmongocrypt/libmongocrypt/test/example-no-bson.c +23 -0
  928. data/ext/libmongocrypt/libmongocrypt/test/example-state-machine.c +368 -0
  929. data/ext/libmongocrypt/libmongocrypt/test/fuzz_kms.c +42 -0
  930. data/ext/libmongocrypt/libmongocrypt/test/test-dll.cpp +22 -0
  931. data/ext/libmongocrypt/libmongocrypt/test/test-gcp-auth.c +312 -0
  932. data/ext/libmongocrypt/libmongocrypt/test/test-mc-efc.c +104 -0
  933. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev.c +443 -0
  934. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup.c +184 -0
  935. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-uev.c +200 -0
  936. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-rfds.c +518 -0
  937. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-edge-generation.c +468 -0
  938. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-encoding.c +886 -0
  939. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-mincover.c +609 -0
  940. data/ext/libmongocrypt/libmongocrypt/test/test-mc-rangeopts.c +174 -0
  941. data/ext/libmongocrypt/libmongocrypt/test/test-mc-reader.c +251 -0
  942. data/ext/libmongocrypt/libmongocrypt/test/test-mc-tokens.c +245 -0
  943. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.c +1079 -0
  944. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.h +26 -0
  945. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert.h +218 -0
  946. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-buffer.c +266 -0
  947. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache-oauth.c +57 -0
  948. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache.c +264 -0
  949. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ciphertext.c +259 -0
  950. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-compact.c +478 -0
  951. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-hooks.c +917 -0
  952. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.c +177 -0
  953. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.h +110 -0
  954. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto.c +892 -0
  955. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-csfle-lib.c +208 -0
  956. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-decrypt.c +1134 -0
  957. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-encrypt.c +5096 -0
  958. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-rewrap-many-datakey.c +1061 -0
  959. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-setopt.c +1301 -0
  960. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-datakey.c +489 -0
  961. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-dll.c +48 -0
  962. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-endpoint.c +138 -0
  963. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kek.c +104 -0
  964. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-broker.c +1174 -0
  965. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-cache.c +475 -0
  966. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key.c +282 -0
  967. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-ctx.c +561 -0
  968. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-responses.c +206 -0
  969. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-local-kms.c +89 -0
  970. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-log.c +137 -0
  971. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-marking.c +738 -0
  972. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-status.c +88 -0
  973. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-traverse-util.c +548 -0
  974. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-util.c +105 -0
  975. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-util.h +42 -0
  976. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.c +1060 -0
  977. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.h +290 -0
  978. data/ext/libmongocrypt/libmongocrypt/test/util/HELP.autogen +102 -0
  979. data/ext/libmongocrypt/libmongocrypt/test/util/README.md +103 -0
  980. data/ext/libmongocrypt/libmongocrypt/test/util/csfle.c +612 -0
  981. data/ext/libmongocrypt/libmongocrypt/test/util/helpgen.py +7 -0
  982. data/ext/libmongocrypt/libmongocrypt/test/util/make_includes.py +845 -0
  983. data/ext/libmongocrypt/libmongocrypt/test/util/util.c +969 -0
  984. data/ext/libmongocrypt/libmongocrypt/test/util/util.h +96 -0
  985. data/ext/libmongocrypt/libmongocrypt/third-party/IntelRDFPMathLib20U2.tar.xz +0 -0
  986. data/lib/libmongocrypt_helper/version.rb +2 -2
  987. data/lib/libmongocrypt_helper.rb +15 -1
  988. data.tar.gz.sig +0 -0
  989. metadata +1019 -32
  990. metadata.gz.sig +0 -0
  991. data/so/libmongocrypt.so +0 -0
@@ -0,0 +1,4612 @@
1
+ // This code is GENERATED! Do not edit!
2
+ // clang-format off
3
+ {
4
+ .lowerBound = -100,
5
+ .includeLowerBound = true,
6
+ .upperBound = -100,
7
+ .includeUpperBound = true,
8
+ .sparsity = 1,
9
+ .min = { .set = true, .value = -10000000 },
10
+ .max = { .set = true, .value = -1 },
11
+ .expectMincoverStrings = {
12
+ "100110001001011000011100",
13
+ },
14
+ },
15
+ {
16
+ .lowerBound = -100,
17
+ .includeLowerBound = true,
18
+ .upperBound = -100,
19
+ .includeUpperBound = true,
20
+ .sparsity = 2,
21
+ .min = { .set = true, .value = -10000000 },
22
+ .max = { .set = true, .value = -1 },
23
+ .expectMincoverStrings = {
24
+ "100110001001011000011100",
25
+ },
26
+ },
27
+ {
28
+ .lowerBound = -100,
29
+ .includeLowerBound = true,
30
+ .upperBound = -100,
31
+ .includeUpperBound = true,
32
+ .sparsity = 3,
33
+ .min = { .set = true, .value = -10000000 },
34
+ .max = { .set = true, .value = -1 },
35
+ .expectMincoverStrings = {
36
+ "100110001001011000011100",
37
+ },
38
+ },
39
+ {
40
+ .lowerBound = -100,
41
+ .includeLowerBound = true,
42
+ .upperBound = -100,
43
+ .includeUpperBound = true,
44
+ .sparsity = 4,
45
+ .min = { .set = true, .value = -10000000 },
46
+ .max = { .set = true, .value = -1 },
47
+ .expectMincoverStrings = {
48
+ "100110001001011000011100",
49
+ },
50
+ },
51
+ {
52
+ .lowerBound = -100,
53
+ .includeLowerBound = true,
54
+ .upperBound = -100,
55
+ .includeUpperBound = true,
56
+ .sparsity = 1,
57
+ .min = { .set = true, .value = -10000000 },
58
+ .max = { .set = true, .value = 0 },
59
+ .expectMincoverStrings = {
60
+ "100110001001011000011100",
61
+ },
62
+ },
63
+ {
64
+ .lowerBound = -100,
65
+ .includeLowerBound = true,
66
+ .upperBound = -100,
67
+ .includeUpperBound = true,
68
+ .sparsity = 2,
69
+ .min = { .set = true, .value = -10000000 },
70
+ .max = { .set = true, .value = 0 },
71
+ .expectMincoverStrings = {
72
+ "100110001001011000011100",
73
+ },
74
+ },
75
+ {
76
+ .lowerBound = -100,
77
+ .includeLowerBound = true,
78
+ .upperBound = -100,
79
+ .includeUpperBound = true,
80
+ .sparsity = 3,
81
+ .min = { .set = true, .value = -10000000 },
82
+ .max = { .set = true, .value = 0 },
83
+ .expectMincoverStrings = {
84
+ "100110001001011000011100",
85
+ },
86
+ },
87
+ {
88
+ .lowerBound = -100,
89
+ .includeLowerBound = true,
90
+ .upperBound = -100,
91
+ .includeUpperBound = true,
92
+ .sparsity = 4,
93
+ .min = { .set = true, .value = -10000000 },
94
+ .max = { .set = true, .value = 0 },
95
+ .expectMincoverStrings = {
96
+ "100110001001011000011100",
97
+ },
98
+ },
99
+ {
100
+ .lowerBound = -100,
101
+ .includeLowerBound = true,
102
+ .upperBound = -100,
103
+ .includeUpperBound = true,
104
+ .sparsity = 1,
105
+ .min = { .set = true, .value = -10000000 },
106
+ .max = { .set = true, .value = 7 },
107
+ .expectMincoverStrings = {
108
+ "100110001001011000011100",
109
+ },
110
+ },
111
+ {
112
+ .lowerBound = -100,
113
+ .includeLowerBound = true,
114
+ .upperBound = -100,
115
+ .includeUpperBound = true,
116
+ .sparsity = 2,
117
+ .min = { .set = true, .value = -10000000 },
118
+ .max = { .set = true, .value = 7 },
119
+ .expectMincoverStrings = {
120
+ "100110001001011000011100",
121
+ },
122
+ },
123
+ {
124
+ .lowerBound = -100,
125
+ .includeLowerBound = true,
126
+ .upperBound = -100,
127
+ .includeUpperBound = true,
128
+ .sparsity = 3,
129
+ .min = { .set = true, .value = -10000000 },
130
+ .max = { .set = true, .value = 7 },
131
+ .expectMincoverStrings = {
132
+ "100110001001011000011100",
133
+ },
134
+ },
135
+ {
136
+ .lowerBound = -100,
137
+ .includeLowerBound = true,
138
+ .upperBound = -100,
139
+ .includeUpperBound = true,
140
+ .sparsity = 4,
141
+ .min = { .set = true, .value = -10000000 },
142
+ .max = { .set = true, .value = 7 },
143
+ .expectMincoverStrings = {
144
+ "100110001001011000011100",
145
+ },
146
+ },
147
+ {
148
+ .lowerBound = -100,
149
+ .includeLowerBound = true,
150
+ .upperBound = -100,
151
+ .includeUpperBound = true,
152
+ .sparsity = 1,
153
+ .min = { .set = true, .value = -10000000 },
154
+ .max = { .set = true, .value = 32 },
155
+ .expectMincoverStrings = {
156
+ "100110001001011000011100",
157
+ },
158
+ },
159
+ {
160
+ .lowerBound = -100,
161
+ .includeLowerBound = true,
162
+ .upperBound = -100,
163
+ .includeUpperBound = true,
164
+ .sparsity = 2,
165
+ .min = { .set = true, .value = -10000000 },
166
+ .max = { .set = true, .value = 32 },
167
+ .expectMincoverStrings = {
168
+ "100110001001011000011100",
169
+ },
170
+ },
171
+ {
172
+ .lowerBound = -100,
173
+ .includeLowerBound = true,
174
+ .upperBound = -100,
175
+ .includeUpperBound = true,
176
+ .sparsity = 3,
177
+ .min = { .set = true, .value = -10000000 },
178
+ .max = { .set = true, .value = 32 },
179
+ .expectMincoverStrings = {
180
+ "100110001001011000011100",
181
+ },
182
+ },
183
+ {
184
+ .lowerBound = -100,
185
+ .includeLowerBound = true,
186
+ .upperBound = -100,
187
+ .includeUpperBound = true,
188
+ .sparsity = 4,
189
+ .min = { .set = true, .value = -10000000 },
190
+ .max = { .set = true, .value = 32 },
191
+ .expectMincoverStrings = {
192
+ "100110001001011000011100",
193
+ },
194
+ },
195
+ {
196
+ .lowerBound = -100,
197
+ .includeLowerBound = true,
198
+ .upperBound = -100,
199
+ .includeUpperBound = true,
200
+ .sparsity = 1,
201
+ .min = { .set = true, .value = -10000000 },
202
+ .max = { .set = true, .value = 1879048192 },
203
+ .expectMincoverStrings = {
204
+ "0000000100110001001011000011100",
205
+ },
206
+ },
207
+ {
208
+ .lowerBound = -100,
209
+ .includeLowerBound = true,
210
+ .upperBound = -1,
211
+ .includeUpperBound = true,
212
+ .sparsity = 1,
213
+ .min = { .set = true, .value = -10000000 },
214
+ .max = { .set = true, .value = -1 },
215
+ .expectMincoverStrings = {
216
+ "1001100010010110000111",
217
+ "1001100010010110001",
218
+ "100110001001011001",
219
+ },
220
+ },
221
+ {
222
+ .lowerBound = -100,
223
+ .includeLowerBound = true,
224
+ .upperBound = -1,
225
+ .includeUpperBound = true,
226
+ .sparsity = 2,
227
+ .min = { .set = true, .value = -10000000 },
228
+ .max = { .set = true, .value = -1 },
229
+ .expectMincoverStrings = {
230
+ "1001100010010110000111",
231
+ "10011000100101100010",
232
+ "10011000100101100011",
233
+ "100110001001011001",
234
+ },
235
+ },
236
+ {
237
+ .lowerBound = -100,
238
+ .includeLowerBound = true,
239
+ .upperBound = -1,
240
+ .includeUpperBound = true,
241
+ .sparsity = 3,
242
+ .min = { .set = true, .value = -10000000 },
243
+ .max = { .set = true, .value = -1 },
244
+ .expectMincoverStrings = {
245
+ "100110001001011000011100",
246
+ "100110001001011000011101",
247
+ "100110001001011000011110",
248
+ "100110001001011000011111",
249
+ "100110001001011000100",
250
+ "100110001001011000101",
251
+ "100110001001011000110",
252
+ "100110001001011000111",
253
+ "100110001001011001",
254
+ },
255
+ },
256
+ {
257
+ .lowerBound = -100,
258
+ .includeLowerBound = true,
259
+ .upperBound = -1,
260
+ .includeUpperBound = true,
261
+ .sparsity = 4,
262
+ .min = { .set = true, .value = -10000000 },
263
+ .max = { .set = true, .value = -1 },
264
+ .expectMincoverStrings = {
265
+ "100110001001011000011100",
266
+ "100110001001011000011101",
267
+ "100110001001011000011110",
268
+ "100110001001011000011111",
269
+ "10011000100101100010",
270
+ "10011000100101100011",
271
+ "10011000100101100100",
272
+ "10011000100101100101",
273
+ "10011000100101100110",
274
+ "10011000100101100111",
275
+ },
276
+ },
277
+ {
278
+ .lowerBound = -100,
279
+ .includeLowerBound = true,
280
+ .upperBound = -1,
281
+ .includeUpperBound = true,
282
+ .sparsity = 1,
283
+ .min = { .set = true, .value = -10000000 },
284
+ .max = { .set = true, .value = 0 },
285
+ .expectMincoverStrings = {
286
+ "1001100010010110000111",
287
+ "1001100010010110001",
288
+ "100110001001011001",
289
+ },
290
+ },
291
+ {
292
+ .lowerBound = -100,
293
+ .includeLowerBound = true,
294
+ .upperBound = -1,
295
+ .includeUpperBound = true,
296
+ .sparsity = 2,
297
+ .min = { .set = true, .value = -10000000 },
298
+ .max = { .set = true, .value = 0 },
299
+ .expectMincoverStrings = {
300
+ "1001100010010110000111",
301
+ "10011000100101100010",
302
+ "10011000100101100011",
303
+ "100110001001011001",
304
+ },
305
+ },
306
+ {
307
+ .lowerBound = -100,
308
+ .includeLowerBound = true,
309
+ .upperBound = -1,
310
+ .includeUpperBound = true,
311
+ .sparsity = 3,
312
+ .min = { .set = true, .value = -10000000 },
313
+ .max = { .set = true, .value = 0 },
314
+ .expectMincoverStrings = {
315
+ "100110001001011000011100",
316
+ "100110001001011000011101",
317
+ "100110001001011000011110",
318
+ "100110001001011000011111",
319
+ "100110001001011000100",
320
+ "100110001001011000101",
321
+ "100110001001011000110",
322
+ "100110001001011000111",
323
+ "100110001001011001",
324
+ },
325
+ },
326
+ {
327
+ .lowerBound = -100,
328
+ .includeLowerBound = true,
329
+ .upperBound = -1,
330
+ .includeUpperBound = true,
331
+ .sparsity = 4,
332
+ .min = { .set = true, .value = -10000000 },
333
+ .max = { .set = true, .value = 0 },
334
+ .expectMincoverStrings = {
335
+ "100110001001011000011100",
336
+ "100110001001011000011101",
337
+ "100110001001011000011110",
338
+ "100110001001011000011111",
339
+ "10011000100101100010",
340
+ "10011000100101100011",
341
+ "10011000100101100100",
342
+ "10011000100101100101",
343
+ "10011000100101100110",
344
+ "10011000100101100111",
345
+ },
346
+ },
347
+ {
348
+ .lowerBound = -100,
349
+ .includeLowerBound = true,
350
+ .upperBound = -1,
351
+ .includeUpperBound = true,
352
+ .sparsity = 1,
353
+ .min = { .set = true, .value = -10000000 },
354
+ .max = { .set = true, .value = 7 },
355
+ .expectMincoverStrings = {
356
+ "1001100010010110000111",
357
+ "1001100010010110001",
358
+ "100110001001011001",
359
+ },
360
+ },
361
+ {
362
+ .lowerBound = -100,
363
+ .includeLowerBound = true,
364
+ .upperBound = -1,
365
+ .includeUpperBound = true,
366
+ .sparsity = 2,
367
+ .min = { .set = true, .value = -10000000 },
368
+ .max = { .set = true, .value = 7 },
369
+ .expectMincoverStrings = {
370
+ "1001100010010110000111",
371
+ "10011000100101100010",
372
+ "10011000100101100011",
373
+ "100110001001011001",
374
+ },
375
+ },
376
+ {
377
+ .lowerBound = -100,
378
+ .includeLowerBound = true,
379
+ .upperBound = -1,
380
+ .includeUpperBound = true,
381
+ .sparsity = 3,
382
+ .min = { .set = true, .value = -10000000 },
383
+ .max = { .set = true, .value = 7 },
384
+ .expectMincoverStrings = {
385
+ "100110001001011000011100",
386
+ "100110001001011000011101",
387
+ "100110001001011000011110",
388
+ "100110001001011000011111",
389
+ "100110001001011000100",
390
+ "100110001001011000101",
391
+ "100110001001011000110",
392
+ "100110001001011000111",
393
+ "100110001001011001",
394
+ },
395
+ },
396
+ {
397
+ .lowerBound = -100,
398
+ .includeLowerBound = true,
399
+ .upperBound = -1,
400
+ .includeUpperBound = true,
401
+ .sparsity = 4,
402
+ .min = { .set = true, .value = -10000000 },
403
+ .max = { .set = true, .value = 7 },
404
+ .expectMincoverStrings = {
405
+ "100110001001011000011100",
406
+ "100110001001011000011101",
407
+ "100110001001011000011110",
408
+ "100110001001011000011111",
409
+ "10011000100101100010",
410
+ "10011000100101100011",
411
+ "10011000100101100100",
412
+ "10011000100101100101",
413
+ "10011000100101100110",
414
+ "10011000100101100111",
415
+ },
416
+ },
417
+ {
418
+ .lowerBound = -100,
419
+ .includeLowerBound = true,
420
+ .upperBound = -1,
421
+ .includeUpperBound = true,
422
+ .sparsity = 1,
423
+ .min = { .set = true, .value = -10000000 },
424
+ .max = { .set = true, .value = 32 },
425
+ .expectMincoverStrings = {
426
+ "1001100010010110000111",
427
+ "1001100010010110001",
428
+ "100110001001011001",
429
+ },
430
+ },
431
+ {
432
+ .lowerBound = -100,
433
+ .includeLowerBound = true,
434
+ .upperBound = -1,
435
+ .includeUpperBound = true,
436
+ .sparsity = 2,
437
+ .min = { .set = true, .value = -10000000 },
438
+ .max = { .set = true, .value = 32 },
439
+ .expectMincoverStrings = {
440
+ "1001100010010110000111",
441
+ "10011000100101100010",
442
+ "10011000100101100011",
443
+ "100110001001011001",
444
+ },
445
+ },
446
+ {
447
+ .lowerBound = -100,
448
+ .includeLowerBound = true,
449
+ .upperBound = -1,
450
+ .includeUpperBound = true,
451
+ .sparsity = 3,
452
+ .min = { .set = true, .value = -10000000 },
453
+ .max = { .set = true, .value = 32 },
454
+ .expectMincoverStrings = {
455
+ "100110001001011000011100",
456
+ "100110001001011000011101",
457
+ "100110001001011000011110",
458
+ "100110001001011000011111",
459
+ "100110001001011000100",
460
+ "100110001001011000101",
461
+ "100110001001011000110",
462
+ "100110001001011000111",
463
+ "100110001001011001",
464
+ },
465
+ },
466
+ {
467
+ .lowerBound = -100,
468
+ .includeLowerBound = true,
469
+ .upperBound = -1,
470
+ .includeUpperBound = true,
471
+ .sparsity = 4,
472
+ .min = { .set = true, .value = -10000000 },
473
+ .max = { .set = true, .value = 32 },
474
+ .expectMincoverStrings = {
475
+ "100110001001011000011100",
476
+ "100110001001011000011101",
477
+ "100110001001011000011110",
478
+ "100110001001011000011111",
479
+ "10011000100101100010",
480
+ "10011000100101100011",
481
+ "10011000100101100100",
482
+ "10011000100101100101",
483
+ "10011000100101100110",
484
+ "10011000100101100111",
485
+ },
486
+ },
487
+ {
488
+ .lowerBound = -100,
489
+ .includeLowerBound = true,
490
+ .upperBound = -1,
491
+ .includeUpperBound = true,
492
+ .sparsity = 1,
493
+ .min = { .set = true, .value = -10000000 },
494
+ .max = { .set = true, .value = 1879048192 },
495
+ .expectMincoverStrings = {
496
+ "00000001001100010010110000111",
497
+ "00000001001100010010110001",
498
+ "0000000100110001001011001",
499
+ },
500
+ },
501
+ {
502
+ .lowerBound = -100,
503
+ .includeLowerBound = true,
504
+ .upperBound = -1,
505
+ .includeUpperBound = true,
506
+ .sparsity = 2,
507
+ .min = { .set = true, .value = -10000000 },
508
+ .max = { .set = true, .value = 1879048192 },
509
+ .expectMincoverStrings = {
510
+ "000000010011000100101100001110",
511
+ "000000010011000100101100001111",
512
+ "00000001001100010010110001",
513
+ "00000001001100010010110010",
514
+ "00000001001100010010110011",
515
+ },
516
+ },
517
+ {
518
+ .lowerBound = -100,
519
+ .includeLowerBound = true,
520
+ .upperBound = -1,
521
+ .includeUpperBound = true,
522
+ .sparsity = 3,
523
+ .min = { .set = true, .value = -10000000 },
524
+ .max = { .set = true, .value = 1879048192 },
525
+ .expectMincoverStrings = {
526
+ "000000010011000100101100001110",
527
+ "000000010011000100101100001111",
528
+ "000000010011000100101100010",
529
+ "000000010011000100101100011",
530
+ "000000010011000100101100100",
531
+ "000000010011000100101100101",
532
+ "000000010011000100101100110",
533
+ "000000010011000100101100111",
534
+ },
535
+ },
536
+ {
537
+ .lowerBound = -100,
538
+ .includeLowerBound = true,
539
+ .upperBound = 0,
540
+ .includeUpperBound = true,
541
+ .sparsity = 1,
542
+ .min = { .set = true, .value = -10000000 },
543
+ .max = { .set = true, .value = 0 },
544
+ .expectMincoverStrings = {
545
+ "1001100010010110000111",
546
+ "1001100010010110001",
547
+ "100110001001011001",
548
+ "100110001001011010000000",
549
+ },
550
+ },
551
+ {
552
+ .lowerBound = -100,
553
+ .includeLowerBound = true,
554
+ .upperBound = 0,
555
+ .includeUpperBound = true,
556
+ .sparsity = 2,
557
+ .min = { .set = true, .value = -10000000 },
558
+ .max = { .set = true, .value = 0 },
559
+ .expectMincoverStrings = {
560
+ "1001100010010110000111",
561
+ "10011000100101100010",
562
+ "10011000100101100011",
563
+ "100110001001011001",
564
+ "100110001001011010000000",
565
+ },
566
+ },
567
+ {
568
+ .lowerBound = -100,
569
+ .includeLowerBound = true,
570
+ .upperBound = 0,
571
+ .includeUpperBound = true,
572
+ .sparsity = 3,
573
+ .min = { .set = true, .value = -10000000 },
574
+ .max = { .set = true, .value = 0 },
575
+ .expectMincoverStrings = {
576
+ "100110001001011000011100",
577
+ "100110001001011000011101",
578
+ "100110001001011000011110",
579
+ "100110001001011000011111",
580
+ "100110001001011000100",
581
+ "100110001001011000101",
582
+ "100110001001011000110",
583
+ "100110001001011000111",
584
+ "100110001001011001",
585
+ "100110001001011010000000",
586
+ },
587
+ },
588
+ {
589
+ .lowerBound = -100,
590
+ .includeLowerBound = true,
591
+ .upperBound = 0,
592
+ .includeUpperBound = true,
593
+ .sparsity = 4,
594
+ .min = { .set = true, .value = -10000000 },
595
+ .max = { .set = true, .value = 0 },
596
+ .expectMincoverStrings = {
597
+ "100110001001011000011100",
598
+ "100110001001011000011101",
599
+ "100110001001011000011110",
600
+ "100110001001011000011111",
601
+ "10011000100101100010",
602
+ "10011000100101100011",
603
+ "10011000100101100100",
604
+ "10011000100101100101",
605
+ "10011000100101100110",
606
+ "10011000100101100111",
607
+ "100110001001011010000000",
608
+ },
609
+ },
610
+ {
611
+ .lowerBound = -100,
612
+ .includeLowerBound = true,
613
+ .upperBound = 0,
614
+ .includeUpperBound = true,
615
+ .sparsity = 1,
616
+ .min = { .set = true, .value = -10000000 },
617
+ .max = { .set = true, .value = 7 },
618
+ .expectMincoverStrings = {
619
+ "1001100010010110000111",
620
+ "1001100010010110001",
621
+ "100110001001011001",
622
+ "100110001001011010000000",
623
+ },
624
+ },
625
+ {
626
+ .lowerBound = -100,
627
+ .includeLowerBound = true,
628
+ .upperBound = 0,
629
+ .includeUpperBound = true,
630
+ .sparsity = 2,
631
+ .min = { .set = true, .value = -10000000 },
632
+ .max = { .set = true, .value = 7 },
633
+ .expectMincoverStrings = {
634
+ "1001100010010110000111",
635
+ "10011000100101100010",
636
+ "10011000100101100011",
637
+ "100110001001011001",
638
+ "100110001001011010000000",
639
+ },
640
+ },
641
+ {
642
+ .lowerBound = -100,
643
+ .includeLowerBound = true,
644
+ .upperBound = 0,
645
+ .includeUpperBound = true,
646
+ .sparsity = 3,
647
+ .min = { .set = true, .value = -10000000 },
648
+ .max = { .set = true, .value = 7 },
649
+ .expectMincoverStrings = {
650
+ "100110001001011000011100",
651
+ "100110001001011000011101",
652
+ "100110001001011000011110",
653
+ "100110001001011000011111",
654
+ "100110001001011000100",
655
+ "100110001001011000101",
656
+ "100110001001011000110",
657
+ "100110001001011000111",
658
+ "100110001001011001",
659
+ "100110001001011010000000",
660
+ },
661
+ },
662
+ {
663
+ .lowerBound = -100,
664
+ .includeLowerBound = true,
665
+ .upperBound = 0,
666
+ .includeUpperBound = true,
667
+ .sparsity = 4,
668
+ .min = { .set = true, .value = -10000000 },
669
+ .max = { .set = true, .value = 7 },
670
+ .expectMincoverStrings = {
671
+ "100110001001011000011100",
672
+ "100110001001011000011101",
673
+ "100110001001011000011110",
674
+ "100110001001011000011111",
675
+ "10011000100101100010",
676
+ "10011000100101100011",
677
+ "10011000100101100100",
678
+ "10011000100101100101",
679
+ "10011000100101100110",
680
+ "10011000100101100111",
681
+ "100110001001011010000000",
682
+ },
683
+ },
684
+ {
685
+ .lowerBound = -100,
686
+ .includeLowerBound = true,
687
+ .upperBound = 0,
688
+ .includeUpperBound = true,
689
+ .sparsity = 1,
690
+ .min = { .set = true, .value = -10000000 },
691
+ .max = { .set = true, .value = 32 },
692
+ .expectMincoverStrings = {
693
+ "1001100010010110000111",
694
+ "1001100010010110001",
695
+ "100110001001011001",
696
+ "100110001001011010000000",
697
+ },
698
+ },
699
+ {
700
+ .lowerBound = -100,
701
+ .includeLowerBound = true,
702
+ .upperBound = 0,
703
+ .includeUpperBound = true,
704
+ .sparsity = 2,
705
+ .min = { .set = true, .value = -10000000 },
706
+ .max = { .set = true, .value = 32 },
707
+ .expectMincoverStrings = {
708
+ "1001100010010110000111",
709
+ "10011000100101100010",
710
+ "10011000100101100011",
711
+ "100110001001011001",
712
+ "100110001001011010000000",
713
+ },
714
+ },
715
+ {
716
+ .lowerBound = -100,
717
+ .includeLowerBound = true,
718
+ .upperBound = 0,
719
+ .includeUpperBound = true,
720
+ .sparsity = 3,
721
+ .min = { .set = true, .value = -10000000 },
722
+ .max = { .set = true, .value = 32 },
723
+ .expectMincoverStrings = {
724
+ "100110001001011000011100",
725
+ "100110001001011000011101",
726
+ "100110001001011000011110",
727
+ "100110001001011000011111",
728
+ "100110001001011000100",
729
+ "100110001001011000101",
730
+ "100110001001011000110",
731
+ "100110001001011000111",
732
+ "100110001001011001",
733
+ "100110001001011010000000",
734
+ },
735
+ },
736
+ {
737
+ .lowerBound = -100,
738
+ .includeLowerBound = true,
739
+ .upperBound = 0,
740
+ .includeUpperBound = true,
741
+ .sparsity = 4,
742
+ .min = { .set = true, .value = -10000000 },
743
+ .max = { .set = true, .value = 32 },
744
+ .expectMincoverStrings = {
745
+ "100110001001011000011100",
746
+ "100110001001011000011101",
747
+ "100110001001011000011110",
748
+ "100110001001011000011111",
749
+ "10011000100101100010",
750
+ "10011000100101100011",
751
+ "10011000100101100100",
752
+ "10011000100101100101",
753
+ "10011000100101100110",
754
+ "10011000100101100111",
755
+ "100110001001011010000000",
756
+ },
757
+ },
758
+ {
759
+ .lowerBound = -100,
760
+ .includeLowerBound = true,
761
+ .upperBound = 0,
762
+ .includeUpperBound = true,
763
+ .sparsity = 1,
764
+ .min = { .set = true, .value = -10000000 },
765
+ .max = { .set = true, .value = 1879048192 },
766
+ .expectMincoverStrings = {
767
+ "00000001001100010010110000111",
768
+ "00000001001100010010110001",
769
+ "0000000100110001001011001",
770
+ "0000000100110001001011010000000",
771
+ },
772
+ },
773
+ {
774
+ .lowerBound = -100,
775
+ .includeLowerBound = true,
776
+ .upperBound = 7,
777
+ .includeUpperBound = true,
778
+ .sparsity = 1,
779
+ .min = { .set = true, .value = -10000000 },
780
+ .max = { .set = true, .value = 7 },
781
+ .expectMincoverStrings = {
782
+ "1001100010010110000111",
783
+ "1001100010010110001",
784
+ "100110001001011001",
785
+ "100110001001011010000",
786
+ },
787
+ },
788
+ {
789
+ .lowerBound = -100,
790
+ .includeLowerBound = true,
791
+ .upperBound = 7,
792
+ .includeUpperBound = true,
793
+ .sparsity = 2,
794
+ .min = { .set = true, .value = -10000000 },
795
+ .max = { .set = true, .value = 7 },
796
+ .expectMincoverStrings = {
797
+ "1001100010010110000111",
798
+ "10011000100101100010",
799
+ "10011000100101100011",
800
+ "100110001001011001",
801
+ "1001100010010110100000",
802
+ "1001100010010110100001",
803
+ },
804
+ },
805
+ {
806
+ .lowerBound = -100,
807
+ .includeLowerBound = true,
808
+ .upperBound = 7,
809
+ .includeUpperBound = true,
810
+ .sparsity = 3,
811
+ .min = { .set = true, .value = -10000000 },
812
+ .max = { .set = true, .value = 7 },
813
+ .expectMincoverStrings = {
814
+ "100110001001011000011100",
815
+ "100110001001011000011101",
816
+ "100110001001011000011110",
817
+ "100110001001011000011111",
818
+ "100110001001011000100",
819
+ "100110001001011000101",
820
+ "100110001001011000110",
821
+ "100110001001011000111",
822
+ "100110001001011001",
823
+ "100110001001011010000",
824
+ },
825
+ },
826
+ {
827
+ .lowerBound = -100,
828
+ .includeLowerBound = true,
829
+ .upperBound = 7,
830
+ .includeUpperBound = true,
831
+ .sparsity = 4,
832
+ .min = { .set = true, .value = -10000000 },
833
+ .max = { .set = true, .value = 7 },
834
+ .expectMincoverStrings = {
835
+ "100110001001011000011100",
836
+ "100110001001011000011101",
837
+ "100110001001011000011110",
838
+ "100110001001011000011111",
839
+ "10011000100101100010",
840
+ "10011000100101100011",
841
+ "10011000100101100100",
842
+ "10011000100101100101",
843
+ "10011000100101100110",
844
+ "10011000100101100111",
845
+ "100110001001011010000000",
846
+ "100110001001011010000001",
847
+ "100110001001011010000010",
848
+ "100110001001011010000011",
849
+ "100110001001011010000100",
850
+ "100110001001011010000101",
851
+ "100110001001011010000110",
852
+ "100110001001011010000111",
853
+ },
854
+ },
855
+ {
856
+ .lowerBound = -100,
857
+ .includeLowerBound = true,
858
+ .upperBound = 7,
859
+ .includeUpperBound = true,
860
+ .sparsity = 1,
861
+ .min = { .set = true, .value = -10000000 },
862
+ .max = { .set = true, .value = 32 },
863
+ .expectMincoverStrings = {
864
+ "1001100010010110000111",
865
+ "1001100010010110001",
866
+ "100110001001011001",
867
+ "100110001001011010000",
868
+ },
869
+ },
870
+ {
871
+ .lowerBound = -100,
872
+ .includeLowerBound = true,
873
+ .upperBound = 7,
874
+ .includeUpperBound = true,
875
+ .sparsity = 2,
876
+ .min = { .set = true, .value = -10000000 },
877
+ .max = { .set = true, .value = 32 },
878
+ .expectMincoverStrings = {
879
+ "1001100010010110000111",
880
+ "10011000100101100010",
881
+ "10011000100101100011",
882
+ "100110001001011001",
883
+ "1001100010010110100000",
884
+ "1001100010010110100001",
885
+ },
886
+ },
887
+ {
888
+ .lowerBound = -100,
889
+ .includeLowerBound = true,
890
+ .upperBound = 7,
891
+ .includeUpperBound = true,
892
+ .sparsity = 3,
893
+ .min = { .set = true, .value = -10000000 },
894
+ .max = { .set = true, .value = 32 },
895
+ .expectMincoverStrings = {
896
+ "100110001001011000011100",
897
+ "100110001001011000011101",
898
+ "100110001001011000011110",
899
+ "100110001001011000011111",
900
+ "100110001001011000100",
901
+ "100110001001011000101",
902
+ "100110001001011000110",
903
+ "100110001001011000111",
904
+ "100110001001011001",
905
+ "100110001001011010000",
906
+ },
907
+ },
908
+ {
909
+ .lowerBound = -100,
910
+ .includeLowerBound = true,
911
+ .upperBound = 7,
912
+ .includeUpperBound = true,
913
+ .sparsity = 4,
914
+ .min = { .set = true, .value = -10000000 },
915
+ .max = { .set = true, .value = 32 },
916
+ .expectMincoverStrings = {
917
+ "100110001001011000011100",
918
+ "100110001001011000011101",
919
+ "100110001001011000011110",
920
+ "100110001001011000011111",
921
+ "10011000100101100010",
922
+ "10011000100101100011",
923
+ "10011000100101100100",
924
+ "10011000100101100101",
925
+ "10011000100101100110",
926
+ "10011000100101100111",
927
+ "100110001001011010000000",
928
+ "100110001001011010000001",
929
+ "100110001001011010000010",
930
+ "100110001001011010000011",
931
+ "100110001001011010000100",
932
+ "100110001001011010000101",
933
+ "100110001001011010000110",
934
+ "100110001001011010000111",
935
+ },
936
+ },
937
+ {
938
+ .lowerBound = -100,
939
+ .includeLowerBound = true,
940
+ .upperBound = 7,
941
+ .includeUpperBound = true,
942
+ .sparsity = 1,
943
+ .min = { .set = true, .value = -10000000 },
944
+ .max = { .set = true, .value = 1879048192 },
945
+ .expectMincoverStrings = {
946
+ "00000001001100010010110000111",
947
+ "00000001001100010010110001",
948
+ "0000000100110001001011001",
949
+ "0000000100110001001011010000",
950
+ },
951
+ },
952
+ {
953
+ .lowerBound = -100,
954
+ .includeLowerBound = true,
955
+ .upperBound = 7,
956
+ .includeUpperBound = true,
957
+ .sparsity = 2,
958
+ .min = { .set = true, .value = -10000000 },
959
+ .max = { .set = true, .value = 1879048192 },
960
+ .expectMincoverStrings = {
961
+ "000000010011000100101100001110",
962
+ "000000010011000100101100001111",
963
+ "00000001001100010010110001",
964
+ "00000001001100010010110010",
965
+ "00000001001100010010110011",
966
+ "0000000100110001001011010000",
967
+ },
968
+ },
969
+ {
970
+ .lowerBound = -100,
971
+ .includeLowerBound = true,
972
+ .upperBound = 7,
973
+ .includeUpperBound = true,
974
+ .sparsity = 3,
975
+ .min = { .set = true, .value = -10000000 },
976
+ .max = { .set = true, .value = 1879048192 },
977
+ .expectMincoverStrings = {
978
+ "000000010011000100101100001110",
979
+ "000000010011000100101100001111",
980
+ "000000010011000100101100010",
981
+ "000000010011000100101100011",
982
+ "000000010011000100101100100",
983
+ "000000010011000100101100101",
984
+ "000000010011000100101100110",
985
+ "000000010011000100101100111",
986
+ "000000010011000100101101000000",
987
+ "000000010011000100101101000001",
988
+ "000000010011000100101101000010",
989
+ "000000010011000100101101000011",
990
+ },
991
+ },
992
+ {
993
+ .lowerBound = -100,
994
+ .includeLowerBound = true,
995
+ .upperBound = 32,
996
+ .includeUpperBound = true,
997
+ .sparsity = 1,
998
+ .min = { .set = true, .value = -10000000 },
999
+ .max = { .set = true, .value = 32 },
1000
+ .expectMincoverStrings = {
1001
+ "1001100010010110000111",
1002
+ "1001100010010110001",
1003
+ "100110001001011001",
1004
+ "1001100010010110100",
1005
+ "100110001001011010100000",
1006
+ },
1007
+ },
1008
+ {
1009
+ .lowerBound = -100,
1010
+ .includeLowerBound = true,
1011
+ .upperBound = 32,
1012
+ .includeUpperBound = true,
1013
+ .sparsity = 2,
1014
+ .min = { .set = true, .value = -10000000 },
1015
+ .max = { .set = true, .value = 32 },
1016
+ .expectMincoverStrings = {
1017
+ "1001100010010110000111",
1018
+ "10011000100101100010",
1019
+ "10011000100101100011",
1020
+ "100110001001011001",
1021
+ "10011000100101101000",
1022
+ "10011000100101101001",
1023
+ "100110001001011010100000",
1024
+ },
1025
+ },
1026
+ {
1027
+ .lowerBound = -100,
1028
+ .includeLowerBound = true,
1029
+ .upperBound = 32,
1030
+ .includeUpperBound = true,
1031
+ .sparsity = 3,
1032
+ .min = { .set = true, .value = -10000000 },
1033
+ .max = { .set = true, .value = 32 },
1034
+ .expectMincoverStrings = {
1035
+ "100110001001011000011100",
1036
+ "100110001001011000011101",
1037
+ "100110001001011000011110",
1038
+ "100110001001011000011111",
1039
+ "100110001001011000100",
1040
+ "100110001001011000101",
1041
+ "100110001001011000110",
1042
+ "100110001001011000111",
1043
+ "100110001001011001",
1044
+ "100110001001011010000",
1045
+ "100110001001011010001",
1046
+ "100110001001011010010",
1047
+ "100110001001011010011",
1048
+ "100110001001011010100000",
1049
+ },
1050
+ },
1051
+ {
1052
+ .lowerBound = -100,
1053
+ .includeLowerBound = true,
1054
+ .upperBound = 32,
1055
+ .includeUpperBound = true,
1056
+ .sparsity = 4,
1057
+ .min = { .set = true, .value = -10000000 },
1058
+ .max = { .set = true, .value = 32 },
1059
+ .expectMincoverStrings = {
1060
+ "100110001001011000011100",
1061
+ "100110001001011000011101",
1062
+ "100110001001011000011110",
1063
+ "100110001001011000011111",
1064
+ "10011000100101100010",
1065
+ "10011000100101100011",
1066
+ "10011000100101100100",
1067
+ "10011000100101100101",
1068
+ "10011000100101100110",
1069
+ "10011000100101100111",
1070
+ "10011000100101101000",
1071
+ "10011000100101101001",
1072
+ "100110001001011010100000",
1073
+ },
1074
+ },
1075
+ {
1076
+ .lowerBound = -100,
1077
+ .includeLowerBound = true,
1078
+ .upperBound = 32,
1079
+ .includeUpperBound = true,
1080
+ .sparsity = 1,
1081
+ .min = { .set = true, .value = -10000000 },
1082
+ .max = { .set = true, .value = 1879048192 },
1083
+ .expectMincoverStrings = {
1084
+ "00000001001100010010110000111",
1085
+ "00000001001100010010110001",
1086
+ "0000000100110001001011001",
1087
+ "00000001001100010010110100",
1088
+ "0000000100110001001011010100000",
1089
+ },
1090
+ },
1091
+ {
1092
+ .lowerBound = -100,
1093
+ .includeLowerBound = true,
1094
+ .upperBound = 1879048192,
1095
+ .includeUpperBound = true,
1096
+ .sparsity = 1,
1097
+ .min = { .set = true, .value = -10000000 },
1098
+ .max = { .set = true, .value = 1879048192 },
1099
+ .expectMincoverStrings = {
1100
+ "00000001001100010010110000111",
1101
+ "00000001001100010010110001",
1102
+ "0000000100110001001011001",
1103
+ "000000010011000100101101",
1104
+ "00000001001100010010111",
1105
+ "00000001001100010011",
1106
+ "000000010011000101",
1107
+ "00000001001100011",
1108
+ "000000010011001",
1109
+ "00000001001101",
1110
+ "0000000100111",
1111
+ "0000000101",
1112
+ "000000011",
1113
+ "0000001",
1114
+ "000001",
1115
+ "00001",
1116
+ "0001",
1117
+ "001",
1118
+ "01",
1119
+ "10",
1120
+ "110",
1121
+ "11100000",
1122
+ "11100001000",
1123
+ "111000010010",
1124
+ "1110000100110000",
1125
+ "1110000100110001000",
1126
+ "111000010011000100100",
1127
+ "1110000100110001001010",
1128
+ "111000010011000100101100",
1129
+ "1110000100110001001011010000000",
1130
+ },
1131
+ },
1132
+ {
1133
+ .lowerBound = -1,
1134
+ .includeLowerBound = true,
1135
+ .upperBound = -1,
1136
+ .includeUpperBound = true,
1137
+ .sparsity = 1,
1138
+ .min = { .set = true, .value = -10000000 },
1139
+ .max = { .set = true, .value = -1 },
1140
+ .expectMincoverStrings = {
1141
+ "100110001001011001111111",
1142
+ },
1143
+ },
1144
+ {
1145
+ .lowerBound = -1,
1146
+ .includeLowerBound = true,
1147
+ .upperBound = -1,
1148
+ .includeUpperBound = true,
1149
+ .sparsity = 2,
1150
+ .min = { .set = true, .value = -10000000 },
1151
+ .max = { .set = true, .value = -1 },
1152
+ .expectMincoverStrings = {
1153
+ "100110001001011001111111",
1154
+ },
1155
+ },
1156
+ {
1157
+ .lowerBound = -1,
1158
+ .includeLowerBound = true,
1159
+ .upperBound = -1,
1160
+ .includeUpperBound = true,
1161
+ .sparsity = 3,
1162
+ .min = { .set = true, .value = -10000000 },
1163
+ .max = { .set = true, .value = -1 },
1164
+ .expectMincoverStrings = {
1165
+ "100110001001011001111111",
1166
+ },
1167
+ },
1168
+ {
1169
+ .lowerBound = -1,
1170
+ .includeLowerBound = true,
1171
+ .upperBound = -1,
1172
+ .includeUpperBound = true,
1173
+ .sparsity = 4,
1174
+ .min = { .set = true, .value = -10000000 },
1175
+ .max = { .set = true, .value = -1 },
1176
+ .expectMincoverStrings = {
1177
+ "100110001001011001111111",
1178
+ },
1179
+ },
1180
+ {
1181
+ .lowerBound = -1,
1182
+ .includeLowerBound = true,
1183
+ .upperBound = -1,
1184
+ .includeUpperBound = true,
1185
+ .sparsity = 1,
1186
+ .min = { .set = true, .value = -10000000 },
1187
+ .max = { .set = true, .value = 0 },
1188
+ .expectMincoverStrings = {
1189
+ "100110001001011001111111",
1190
+ },
1191
+ },
1192
+ {
1193
+ .lowerBound = -1,
1194
+ .includeLowerBound = true,
1195
+ .upperBound = -1,
1196
+ .includeUpperBound = true,
1197
+ .sparsity = 2,
1198
+ .min = { .set = true, .value = -10000000 },
1199
+ .max = { .set = true, .value = 0 },
1200
+ .expectMincoverStrings = {
1201
+ "100110001001011001111111",
1202
+ },
1203
+ },
1204
+ {
1205
+ .lowerBound = -1,
1206
+ .includeLowerBound = true,
1207
+ .upperBound = -1,
1208
+ .includeUpperBound = true,
1209
+ .sparsity = 3,
1210
+ .min = { .set = true, .value = -10000000 },
1211
+ .max = { .set = true, .value = 0 },
1212
+ .expectMincoverStrings = {
1213
+ "100110001001011001111111",
1214
+ },
1215
+ },
1216
+ {
1217
+ .lowerBound = -1,
1218
+ .includeLowerBound = true,
1219
+ .upperBound = -1,
1220
+ .includeUpperBound = true,
1221
+ .sparsity = 4,
1222
+ .min = { .set = true, .value = -10000000 },
1223
+ .max = { .set = true, .value = 0 },
1224
+ .expectMincoverStrings = {
1225
+ "100110001001011001111111",
1226
+ },
1227
+ },
1228
+ {
1229
+ .lowerBound = -1,
1230
+ .includeLowerBound = true,
1231
+ .upperBound = -1,
1232
+ .includeUpperBound = true,
1233
+ .sparsity = 1,
1234
+ .min = { .set = true, .value = -10000000 },
1235
+ .max = { .set = true, .value = 7 },
1236
+ .expectMincoverStrings = {
1237
+ "100110001001011001111111",
1238
+ },
1239
+ },
1240
+ {
1241
+ .lowerBound = -1,
1242
+ .includeLowerBound = true,
1243
+ .upperBound = -1,
1244
+ .includeUpperBound = true,
1245
+ .sparsity = 2,
1246
+ .min = { .set = true, .value = -10000000 },
1247
+ .max = { .set = true, .value = 7 },
1248
+ .expectMincoverStrings = {
1249
+ "100110001001011001111111",
1250
+ },
1251
+ },
1252
+ {
1253
+ .lowerBound = -1,
1254
+ .includeLowerBound = true,
1255
+ .upperBound = -1,
1256
+ .includeUpperBound = true,
1257
+ .sparsity = 3,
1258
+ .min = { .set = true, .value = -10000000 },
1259
+ .max = { .set = true, .value = 7 },
1260
+ .expectMincoverStrings = {
1261
+ "100110001001011001111111",
1262
+ },
1263
+ },
1264
+ {
1265
+ .lowerBound = -1,
1266
+ .includeLowerBound = true,
1267
+ .upperBound = -1,
1268
+ .includeUpperBound = true,
1269
+ .sparsity = 4,
1270
+ .min = { .set = true, .value = -10000000 },
1271
+ .max = { .set = true, .value = 7 },
1272
+ .expectMincoverStrings = {
1273
+ "100110001001011001111111",
1274
+ },
1275
+ },
1276
+ {
1277
+ .lowerBound = -1,
1278
+ .includeLowerBound = true,
1279
+ .upperBound = -1,
1280
+ .includeUpperBound = true,
1281
+ .sparsity = 1,
1282
+ .min = { .set = true, .value = -10000000 },
1283
+ .max = { .set = true, .value = 32 },
1284
+ .expectMincoverStrings = {
1285
+ "100110001001011001111111",
1286
+ },
1287
+ },
1288
+ {
1289
+ .lowerBound = -1,
1290
+ .includeLowerBound = true,
1291
+ .upperBound = -1,
1292
+ .includeUpperBound = true,
1293
+ .sparsity = 2,
1294
+ .min = { .set = true, .value = -10000000 },
1295
+ .max = { .set = true, .value = 32 },
1296
+ .expectMincoverStrings = {
1297
+ "100110001001011001111111",
1298
+ },
1299
+ },
1300
+ {
1301
+ .lowerBound = -1,
1302
+ .includeLowerBound = true,
1303
+ .upperBound = -1,
1304
+ .includeUpperBound = true,
1305
+ .sparsity = 3,
1306
+ .min = { .set = true, .value = -10000000 },
1307
+ .max = { .set = true, .value = 32 },
1308
+ .expectMincoverStrings = {
1309
+ "100110001001011001111111",
1310
+ },
1311
+ },
1312
+ {
1313
+ .lowerBound = -1,
1314
+ .includeLowerBound = true,
1315
+ .upperBound = -1,
1316
+ .includeUpperBound = true,
1317
+ .sparsity = 4,
1318
+ .min = { .set = true, .value = -10000000 },
1319
+ .max = { .set = true, .value = 32 },
1320
+ .expectMincoverStrings = {
1321
+ "100110001001011001111111",
1322
+ },
1323
+ },
1324
+ {
1325
+ .lowerBound = -1,
1326
+ .includeLowerBound = true,
1327
+ .upperBound = -1,
1328
+ .includeUpperBound = true,
1329
+ .sparsity = 1,
1330
+ .min = { .set = true, .value = -10000000 },
1331
+ .max = { .set = true, .value = 1879048192 },
1332
+ .expectMincoverStrings = {
1333
+ "0000000100110001001011001111111",
1334
+ },
1335
+ },
1336
+ {
1337
+ .lowerBound = -1,
1338
+ .includeLowerBound = true,
1339
+ .upperBound = -1,
1340
+ .includeUpperBound = true,
1341
+ .sparsity = 1,
1342
+ .min = { .set = true, .value = -1 },
1343
+ .max = { .set = true, .value = 0 },
1344
+ .expectMincoverStrings = {
1345
+ "0",
1346
+ },
1347
+ },
1348
+ {
1349
+ .lowerBound = -1,
1350
+ .includeLowerBound = true,
1351
+ .upperBound = -1,
1352
+ .includeUpperBound = true,
1353
+ .sparsity = 1,
1354
+ .min = { .set = true, .value = -1 },
1355
+ .max = { .set = true, .value = 7 },
1356
+ .expectMincoverStrings = {
1357
+ "0000",
1358
+ },
1359
+ },
1360
+ {
1361
+ .lowerBound = -1,
1362
+ .includeLowerBound = true,
1363
+ .upperBound = -1,
1364
+ .includeUpperBound = true,
1365
+ .sparsity = 2,
1366
+ .min = { .set = true, .value = -1 },
1367
+ .max = { .set = true, .value = 7 },
1368
+ .expectMincoverStrings = {
1369
+ "0000",
1370
+ },
1371
+ },
1372
+ {
1373
+ .lowerBound = -1,
1374
+ .includeLowerBound = true,
1375
+ .upperBound = -1,
1376
+ .includeUpperBound = true,
1377
+ .sparsity = 4,
1378
+ .min = { .set = true, .value = -1 },
1379
+ .max = { .set = true, .value = 7 },
1380
+ .expectMincoverStrings = {
1381
+ "0000",
1382
+ },
1383
+ },
1384
+ {
1385
+ .lowerBound = -1,
1386
+ .includeLowerBound = true,
1387
+ .upperBound = -1,
1388
+ .includeUpperBound = true,
1389
+ .sparsity = 1,
1390
+ .min = { .set = true, .value = -1 },
1391
+ .max = { .set = true, .value = 32 },
1392
+ .expectMincoverStrings = {
1393
+ "000000",
1394
+ },
1395
+ },
1396
+ {
1397
+ .lowerBound = -1,
1398
+ .includeLowerBound = true,
1399
+ .upperBound = -1,
1400
+ .includeUpperBound = true,
1401
+ .sparsity = 2,
1402
+ .min = { .set = true, .value = -1 },
1403
+ .max = { .set = true, .value = 32 },
1404
+ .expectMincoverStrings = {
1405
+ "000000",
1406
+ },
1407
+ },
1408
+ {
1409
+ .lowerBound = -1,
1410
+ .includeLowerBound = true,
1411
+ .upperBound = -1,
1412
+ .includeUpperBound = true,
1413
+ .sparsity = 3,
1414
+ .min = { .set = true, .value = -1 },
1415
+ .max = { .set = true, .value = 32 },
1416
+ .expectMincoverStrings = {
1417
+ "000000",
1418
+ },
1419
+ },
1420
+ {
1421
+ .lowerBound = -1,
1422
+ .includeLowerBound = true,
1423
+ .upperBound = -1,
1424
+ .includeUpperBound = true,
1425
+ .sparsity = 1,
1426
+ .min = { .set = true, .value = -1 },
1427
+ .max = { .set = true, .value = 1879048192 },
1428
+ .expectMincoverStrings = {
1429
+ "0000000000000000000000000000000",
1430
+ },
1431
+ },
1432
+ {
1433
+ .lowerBound = -1,
1434
+ .includeLowerBound = true,
1435
+ .upperBound = 0,
1436
+ .includeUpperBound = true,
1437
+ .sparsity = 1,
1438
+ .min = { .set = true, .value = -10000000 },
1439
+ .max = { .set = true, .value = 0 },
1440
+ .expectMincoverStrings = {
1441
+ "100110001001011001111111",
1442
+ "100110001001011010000000",
1443
+ },
1444
+ },
1445
+ {
1446
+ .lowerBound = -1,
1447
+ .includeLowerBound = true,
1448
+ .upperBound = 0,
1449
+ .includeUpperBound = true,
1450
+ .sparsity = 2,
1451
+ .min = { .set = true, .value = -10000000 },
1452
+ .max = { .set = true, .value = 0 },
1453
+ .expectMincoverStrings = {
1454
+ "100110001001011001111111",
1455
+ "100110001001011010000000",
1456
+ },
1457
+ },
1458
+ {
1459
+ .lowerBound = -1,
1460
+ .includeLowerBound = true,
1461
+ .upperBound = 0,
1462
+ .includeUpperBound = true,
1463
+ .sparsity = 3,
1464
+ .min = { .set = true, .value = -10000000 },
1465
+ .max = { .set = true, .value = 0 },
1466
+ .expectMincoverStrings = {
1467
+ "100110001001011001111111",
1468
+ "100110001001011010000000",
1469
+ },
1470
+ },
1471
+ {
1472
+ .lowerBound = -1,
1473
+ .includeLowerBound = true,
1474
+ .upperBound = 0,
1475
+ .includeUpperBound = true,
1476
+ .sparsity = 4,
1477
+ .min = { .set = true, .value = -10000000 },
1478
+ .max = { .set = true, .value = 0 },
1479
+ .expectMincoverStrings = {
1480
+ "100110001001011001111111",
1481
+ "100110001001011010000000",
1482
+ },
1483
+ },
1484
+ {
1485
+ .lowerBound = -1,
1486
+ .includeLowerBound = true,
1487
+ .upperBound = 0,
1488
+ .includeUpperBound = true,
1489
+ .sparsity = 1,
1490
+ .min = { .set = true, .value = -10000000 },
1491
+ .max = { .set = true, .value = 7 },
1492
+ .expectMincoverStrings = {
1493
+ "100110001001011001111111",
1494
+ "100110001001011010000000",
1495
+ },
1496
+ },
1497
+ {
1498
+ .lowerBound = -1,
1499
+ .includeLowerBound = true,
1500
+ .upperBound = 0,
1501
+ .includeUpperBound = true,
1502
+ .sparsity = 2,
1503
+ .min = { .set = true, .value = -10000000 },
1504
+ .max = { .set = true, .value = 7 },
1505
+ .expectMincoverStrings = {
1506
+ "100110001001011001111111",
1507
+ "100110001001011010000000",
1508
+ },
1509
+ },
1510
+ {
1511
+ .lowerBound = -1,
1512
+ .includeLowerBound = true,
1513
+ .upperBound = 0,
1514
+ .includeUpperBound = true,
1515
+ .sparsity = 3,
1516
+ .min = { .set = true, .value = -10000000 },
1517
+ .max = { .set = true, .value = 7 },
1518
+ .expectMincoverStrings = {
1519
+ "100110001001011001111111",
1520
+ "100110001001011010000000",
1521
+ },
1522
+ },
1523
+ {
1524
+ .lowerBound = -1,
1525
+ .includeLowerBound = true,
1526
+ .upperBound = 0,
1527
+ .includeUpperBound = true,
1528
+ .sparsity = 4,
1529
+ .min = { .set = true, .value = -10000000 },
1530
+ .max = { .set = true, .value = 7 },
1531
+ .expectMincoverStrings = {
1532
+ "100110001001011001111111",
1533
+ "100110001001011010000000",
1534
+ },
1535
+ },
1536
+ {
1537
+ .lowerBound = -1,
1538
+ .includeLowerBound = true,
1539
+ .upperBound = 0,
1540
+ .includeUpperBound = true,
1541
+ .sparsity = 1,
1542
+ .min = { .set = true, .value = -10000000 },
1543
+ .max = { .set = true, .value = 32 },
1544
+ .expectMincoverStrings = {
1545
+ "100110001001011001111111",
1546
+ "100110001001011010000000",
1547
+ },
1548
+ },
1549
+ {
1550
+ .lowerBound = -1,
1551
+ .includeLowerBound = true,
1552
+ .upperBound = 0,
1553
+ .includeUpperBound = true,
1554
+ .sparsity = 2,
1555
+ .min = { .set = true, .value = -10000000 },
1556
+ .max = { .set = true, .value = 32 },
1557
+ .expectMincoverStrings = {
1558
+ "100110001001011001111111",
1559
+ "100110001001011010000000",
1560
+ },
1561
+ },
1562
+ {
1563
+ .lowerBound = -1,
1564
+ .includeLowerBound = true,
1565
+ .upperBound = 0,
1566
+ .includeUpperBound = true,
1567
+ .sparsity = 3,
1568
+ .min = { .set = true, .value = -10000000 },
1569
+ .max = { .set = true, .value = 32 },
1570
+ .expectMincoverStrings = {
1571
+ "100110001001011001111111",
1572
+ "100110001001011010000000",
1573
+ },
1574
+ },
1575
+ {
1576
+ .lowerBound = -1,
1577
+ .includeLowerBound = true,
1578
+ .upperBound = 0,
1579
+ .includeUpperBound = true,
1580
+ .sparsity = 4,
1581
+ .min = { .set = true, .value = -10000000 },
1582
+ .max = { .set = true, .value = 32 },
1583
+ .expectMincoverStrings = {
1584
+ "100110001001011001111111",
1585
+ "100110001001011010000000",
1586
+ },
1587
+ },
1588
+ {
1589
+ .lowerBound = -1,
1590
+ .includeLowerBound = true,
1591
+ .upperBound = 0,
1592
+ .includeUpperBound = true,
1593
+ .sparsity = 1,
1594
+ .min = { .set = true, .value = -10000000 },
1595
+ .max = { .set = true, .value = 1879048192 },
1596
+ .expectMincoverStrings = {
1597
+ "0000000100110001001011001111111",
1598
+ "0000000100110001001011010000000",
1599
+ },
1600
+ },
1601
+ {
1602
+ .lowerBound = -1,
1603
+ .includeLowerBound = true,
1604
+ .upperBound = 0,
1605
+ .includeUpperBound = true,
1606
+ .sparsity = 1,
1607
+ .min = { .set = true, .value = -1 },
1608
+ .max = { .set = true, .value = 0 },
1609
+ .expectMincoverStrings = {
1610
+ "root",
1611
+ },
1612
+ },
1613
+ {
1614
+ .lowerBound = -1,
1615
+ .includeLowerBound = true,
1616
+ .upperBound = 0,
1617
+ .includeUpperBound = true,
1618
+ .sparsity = 2,
1619
+ .min = { .set = true, .value = -1 },
1620
+ .max = { .set = true, .value = 0 },
1621
+ .expectMincoverStrings = {
1622
+ "root",
1623
+ },
1624
+ },
1625
+ {
1626
+ .lowerBound = -1,
1627
+ .includeLowerBound = true,
1628
+ .upperBound = 0,
1629
+ .includeUpperBound = true,
1630
+ .sparsity = 3,
1631
+ .min = { .set = true, .value = -1 },
1632
+ .max = { .set = true, .value = 0 },
1633
+ .expectMincoverStrings = {
1634
+ "root",
1635
+ },
1636
+ },
1637
+ {
1638
+ .lowerBound = -1,
1639
+ .includeLowerBound = true,
1640
+ .upperBound = 0,
1641
+ .includeUpperBound = true,
1642
+ .sparsity = 4,
1643
+ .min = { .set = true, .value = -1 },
1644
+ .max = { .set = true, .value = 0 },
1645
+ .expectMincoverStrings = {
1646
+ "root",
1647
+ },
1648
+ },
1649
+ {
1650
+ .lowerBound = -1,
1651
+ .includeLowerBound = true,
1652
+ .upperBound = 0,
1653
+ .includeUpperBound = true,
1654
+ .sparsity = 1,
1655
+ .min = { .set = true, .value = -1 },
1656
+ .max = { .set = true, .value = 7 },
1657
+ .expectMincoverStrings = {
1658
+ "000",
1659
+ },
1660
+ },
1661
+ {
1662
+ .lowerBound = -1,
1663
+ .includeLowerBound = true,
1664
+ .upperBound = 0,
1665
+ .includeUpperBound = true,
1666
+ .sparsity = 2,
1667
+ .min = { .set = true, .value = -1 },
1668
+ .max = { .set = true, .value = 7 },
1669
+ .expectMincoverStrings = {
1670
+ "0000",
1671
+ "0001",
1672
+ },
1673
+ },
1674
+ {
1675
+ .lowerBound = -1,
1676
+ .includeLowerBound = true,
1677
+ .upperBound = 0,
1678
+ .includeUpperBound = true,
1679
+ .sparsity = 3,
1680
+ .min = { .set = true, .value = -1 },
1681
+ .max = { .set = true, .value = 7 },
1682
+ .expectMincoverStrings = {
1683
+ "000",
1684
+ },
1685
+ },
1686
+ {
1687
+ .lowerBound = -1,
1688
+ .includeLowerBound = true,
1689
+ .upperBound = 0,
1690
+ .includeUpperBound = true,
1691
+ .sparsity = 4,
1692
+ .min = { .set = true, .value = -1 },
1693
+ .max = { .set = true, .value = 7 },
1694
+ .expectMincoverStrings = {
1695
+ "0000",
1696
+ "0001",
1697
+ },
1698
+ },
1699
+ {
1700
+ .lowerBound = -1,
1701
+ .includeLowerBound = true,
1702
+ .upperBound = 0,
1703
+ .includeUpperBound = true,
1704
+ .sparsity = 1,
1705
+ .min = { .set = true, .value = -1 },
1706
+ .max = { .set = true, .value = 32 },
1707
+ .expectMincoverStrings = {
1708
+ "00000",
1709
+ },
1710
+ },
1711
+ {
1712
+ .lowerBound = -1,
1713
+ .includeLowerBound = true,
1714
+ .upperBound = 0,
1715
+ .includeUpperBound = true,
1716
+ .sparsity = 2,
1717
+ .min = { .set = true, .value = -1 },
1718
+ .max = { .set = true, .value = 32 },
1719
+ .expectMincoverStrings = {
1720
+ "000000",
1721
+ "000001",
1722
+ },
1723
+ },
1724
+ {
1725
+ .lowerBound = -1,
1726
+ .includeLowerBound = true,
1727
+ .upperBound = 0,
1728
+ .includeUpperBound = true,
1729
+ .sparsity = 3,
1730
+ .min = { .set = true, .value = -1 },
1731
+ .max = { .set = true, .value = 32 },
1732
+ .expectMincoverStrings = {
1733
+ "000000",
1734
+ "000001",
1735
+ },
1736
+ },
1737
+ {
1738
+ .lowerBound = -1,
1739
+ .includeLowerBound = true,
1740
+ .upperBound = 0,
1741
+ .includeUpperBound = true,
1742
+ .sparsity = 1,
1743
+ .min = { .set = true, .value = -1 },
1744
+ .max = { .set = true, .value = 1879048192 },
1745
+ .expectMincoverStrings = {
1746
+ "000000000000000000000000000000",
1747
+ },
1748
+ },
1749
+ {
1750
+ .lowerBound = -1,
1751
+ .includeLowerBound = true,
1752
+ .upperBound = 0,
1753
+ .includeUpperBound = true,
1754
+ .sparsity = 2,
1755
+ .min = { .set = true, .value = -1 },
1756
+ .max = { .set = true, .value = 1879048192 },
1757
+ .expectMincoverStrings = {
1758
+ "000000000000000000000000000000",
1759
+ },
1760
+ },
1761
+ {
1762
+ .lowerBound = -1,
1763
+ .includeLowerBound = true,
1764
+ .upperBound = 0,
1765
+ .includeUpperBound = true,
1766
+ .sparsity = 3,
1767
+ .min = { .set = true, .value = -1 },
1768
+ .max = { .set = true, .value = 1879048192 },
1769
+ .expectMincoverStrings = {
1770
+ "000000000000000000000000000000",
1771
+ },
1772
+ },
1773
+ {
1774
+ .lowerBound = -1,
1775
+ .includeLowerBound = true,
1776
+ .upperBound = 7,
1777
+ .includeUpperBound = true,
1778
+ .sparsity = 1,
1779
+ .min = { .set = true, .value = -10000000 },
1780
+ .max = { .set = true, .value = 7 },
1781
+ .expectMincoverStrings = {
1782
+ "100110001001011001111111",
1783
+ "100110001001011010000",
1784
+ },
1785
+ },
1786
+ {
1787
+ .lowerBound = -1,
1788
+ .includeLowerBound = true,
1789
+ .upperBound = 7,
1790
+ .includeUpperBound = true,
1791
+ .sparsity = 2,
1792
+ .min = { .set = true, .value = -10000000 },
1793
+ .max = { .set = true, .value = 7 },
1794
+ .expectMincoverStrings = {
1795
+ "100110001001011001111111",
1796
+ "1001100010010110100000",
1797
+ "1001100010010110100001",
1798
+ },
1799
+ },
1800
+ {
1801
+ .lowerBound = -1,
1802
+ .includeLowerBound = true,
1803
+ .upperBound = 7,
1804
+ .includeUpperBound = true,
1805
+ .sparsity = 3,
1806
+ .min = { .set = true, .value = -10000000 },
1807
+ .max = { .set = true, .value = 7 },
1808
+ .expectMincoverStrings = {
1809
+ "100110001001011001111111",
1810
+ "100110001001011010000",
1811
+ },
1812
+ },
1813
+ {
1814
+ .lowerBound = -1,
1815
+ .includeLowerBound = true,
1816
+ .upperBound = 7,
1817
+ .includeUpperBound = true,
1818
+ .sparsity = 4,
1819
+ .min = { .set = true, .value = -10000000 },
1820
+ .max = { .set = true, .value = 7 },
1821
+ .expectMincoverStrings = {
1822
+ "100110001001011001111111",
1823
+ "100110001001011010000000",
1824
+ "100110001001011010000001",
1825
+ "100110001001011010000010",
1826
+ "100110001001011010000011",
1827
+ "100110001001011010000100",
1828
+ "100110001001011010000101",
1829
+ "100110001001011010000110",
1830
+ "100110001001011010000111",
1831
+ },
1832
+ },
1833
+ {
1834
+ .lowerBound = -1,
1835
+ .includeLowerBound = true,
1836
+ .upperBound = 7,
1837
+ .includeUpperBound = true,
1838
+ .sparsity = 1,
1839
+ .min = { .set = true, .value = -10000000 },
1840
+ .max = { .set = true, .value = 32 },
1841
+ .expectMincoverStrings = {
1842
+ "100110001001011001111111",
1843
+ "100110001001011010000",
1844
+ },
1845
+ },
1846
+ {
1847
+ .lowerBound = -1,
1848
+ .includeLowerBound = true,
1849
+ .upperBound = 7,
1850
+ .includeUpperBound = true,
1851
+ .sparsity = 2,
1852
+ .min = { .set = true, .value = -10000000 },
1853
+ .max = { .set = true, .value = 32 },
1854
+ .expectMincoverStrings = {
1855
+ "100110001001011001111111",
1856
+ "1001100010010110100000",
1857
+ "1001100010010110100001",
1858
+ },
1859
+ },
1860
+ {
1861
+ .lowerBound = -1,
1862
+ .includeLowerBound = true,
1863
+ .upperBound = 7,
1864
+ .includeUpperBound = true,
1865
+ .sparsity = 3,
1866
+ .min = { .set = true, .value = -10000000 },
1867
+ .max = { .set = true, .value = 32 },
1868
+ .expectMincoverStrings = {
1869
+ "100110001001011001111111",
1870
+ "100110001001011010000",
1871
+ },
1872
+ },
1873
+ {
1874
+ .lowerBound = -1,
1875
+ .includeLowerBound = true,
1876
+ .upperBound = 7,
1877
+ .includeUpperBound = true,
1878
+ .sparsity = 4,
1879
+ .min = { .set = true, .value = -10000000 },
1880
+ .max = { .set = true, .value = 32 },
1881
+ .expectMincoverStrings = {
1882
+ "100110001001011001111111",
1883
+ "100110001001011010000000",
1884
+ "100110001001011010000001",
1885
+ "100110001001011010000010",
1886
+ "100110001001011010000011",
1887
+ "100110001001011010000100",
1888
+ "100110001001011010000101",
1889
+ "100110001001011010000110",
1890
+ "100110001001011010000111",
1891
+ },
1892
+ },
1893
+ {
1894
+ .lowerBound = -1,
1895
+ .includeLowerBound = true,
1896
+ .upperBound = 7,
1897
+ .includeUpperBound = true,
1898
+ .sparsity = 1,
1899
+ .min = { .set = true, .value = -10000000 },
1900
+ .max = { .set = true, .value = 1879048192 },
1901
+ .expectMincoverStrings = {
1902
+ "0000000100110001001011001111111",
1903
+ "0000000100110001001011010000",
1904
+ },
1905
+ },
1906
+ {
1907
+ .lowerBound = -1,
1908
+ .includeLowerBound = true,
1909
+ .upperBound = 7,
1910
+ .includeUpperBound = true,
1911
+ .sparsity = 1,
1912
+ .min = { .set = true, .value = -1 },
1913
+ .max = { .set = true, .value = 7 },
1914
+ .expectMincoverStrings = {
1915
+ "0",
1916
+ "1000",
1917
+ },
1918
+ },
1919
+ {
1920
+ .lowerBound = -1,
1921
+ .includeLowerBound = true,
1922
+ .upperBound = 7,
1923
+ .includeUpperBound = true,
1924
+ .sparsity = 2,
1925
+ .min = { .set = true, .value = -1 },
1926
+ .max = { .set = true, .value = 7 },
1927
+ .expectMincoverStrings = {
1928
+ "00",
1929
+ "01",
1930
+ "1000",
1931
+ },
1932
+ },
1933
+ {
1934
+ .lowerBound = -1,
1935
+ .includeLowerBound = true,
1936
+ .upperBound = 7,
1937
+ .includeUpperBound = true,
1938
+ .sparsity = 4,
1939
+ .min = { .set = true, .value = -1 },
1940
+ .max = { .set = true, .value = 7 },
1941
+ .expectMincoverStrings = {
1942
+ "0000",
1943
+ "0001",
1944
+ "0010",
1945
+ "0011",
1946
+ "0100",
1947
+ "0101",
1948
+ "0110",
1949
+ "0111",
1950
+ "1000",
1951
+ },
1952
+ },
1953
+ {
1954
+ .lowerBound = -1,
1955
+ .includeLowerBound = true,
1956
+ .upperBound = 7,
1957
+ .includeUpperBound = true,
1958
+ .sparsity = 1,
1959
+ .min = { .set = true, .value = -1 },
1960
+ .max = { .set = true, .value = 32 },
1961
+ .expectMincoverStrings = {
1962
+ "000",
1963
+ "001000",
1964
+ },
1965
+ },
1966
+ {
1967
+ .lowerBound = -1,
1968
+ .includeLowerBound = true,
1969
+ .upperBound = 7,
1970
+ .includeUpperBound = true,
1971
+ .sparsity = 2,
1972
+ .min = { .set = true, .value = -1 },
1973
+ .max = { .set = true, .value = 32 },
1974
+ .expectMincoverStrings = {
1975
+ "0000",
1976
+ "0001",
1977
+ "001000",
1978
+ },
1979
+ },
1980
+ {
1981
+ .lowerBound = -1,
1982
+ .includeLowerBound = true,
1983
+ .upperBound = 7,
1984
+ .includeUpperBound = true,
1985
+ .sparsity = 3,
1986
+ .min = { .set = true, .value = -1 },
1987
+ .max = { .set = true, .value = 32 },
1988
+ .expectMincoverStrings = {
1989
+ "000",
1990
+ "001000",
1991
+ },
1992
+ },
1993
+ {
1994
+ .lowerBound = -1,
1995
+ .includeLowerBound = true,
1996
+ .upperBound = 7,
1997
+ .includeUpperBound = true,
1998
+ .sparsity = 1,
1999
+ .min = { .set = true, .value = -1 },
2000
+ .max = { .set = true, .value = 1879048192 },
2001
+ .expectMincoverStrings = {
2002
+ "0000000000000000000000000000",
2003
+ "0000000000000000000000000001000",
2004
+ },
2005
+ },
2006
+ {
2007
+ .lowerBound = -1,
2008
+ .includeLowerBound = true,
2009
+ .upperBound = 32,
2010
+ .includeUpperBound = true,
2011
+ .sparsity = 1,
2012
+ .min = { .set = true, .value = -10000000 },
2013
+ .max = { .set = true, .value = 32 },
2014
+ .expectMincoverStrings = {
2015
+ "100110001001011001111111",
2016
+ "1001100010010110100",
2017
+ "100110001001011010100000",
2018
+ },
2019
+ },
2020
+ {
2021
+ .lowerBound = -1,
2022
+ .includeLowerBound = true,
2023
+ .upperBound = 32,
2024
+ .includeUpperBound = true,
2025
+ .sparsity = 2,
2026
+ .min = { .set = true, .value = -10000000 },
2027
+ .max = { .set = true, .value = 32 },
2028
+ .expectMincoverStrings = {
2029
+ "100110001001011001111111",
2030
+ "10011000100101101000",
2031
+ "10011000100101101001",
2032
+ "100110001001011010100000",
2033
+ },
2034
+ },
2035
+ {
2036
+ .lowerBound = -1,
2037
+ .includeLowerBound = true,
2038
+ .upperBound = 32,
2039
+ .includeUpperBound = true,
2040
+ .sparsity = 3,
2041
+ .min = { .set = true, .value = -10000000 },
2042
+ .max = { .set = true, .value = 32 },
2043
+ .expectMincoverStrings = {
2044
+ "100110001001011001111111",
2045
+ "100110001001011010000",
2046
+ "100110001001011010001",
2047
+ "100110001001011010010",
2048
+ "100110001001011010011",
2049
+ "100110001001011010100000",
2050
+ },
2051
+ },
2052
+ {
2053
+ .lowerBound = -1,
2054
+ .includeLowerBound = true,
2055
+ .upperBound = 32,
2056
+ .includeUpperBound = true,
2057
+ .sparsity = 4,
2058
+ .min = { .set = true, .value = -10000000 },
2059
+ .max = { .set = true, .value = 32 },
2060
+ .expectMincoverStrings = {
2061
+ "100110001001011001111111",
2062
+ "10011000100101101000",
2063
+ "10011000100101101001",
2064
+ "100110001001011010100000",
2065
+ },
2066
+ },
2067
+ {
2068
+ .lowerBound = -1,
2069
+ .includeLowerBound = true,
2070
+ .upperBound = 32,
2071
+ .includeUpperBound = true,
2072
+ .sparsity = 1,
2073
+ .min = { .set = true, .value = -10000000 },
2074
+ .max = { .set = true, .value = 1879048192 },
2075
+ .expectMincoverStrings = {
2076
+ "0000000100110001001011001111111",
2077
+ "00000001001100010010110100",
2078
+ "0000000100110001001011010100000",
2079
+ },
2080
+ },
2081
+ {
2082
+ .lowerBound = -1,
2083
+ .includeLowerBound = true,
2084
+ .upperBound = 32,
2085
+ .includeUpperBound = true,
2086
+ .sparsity = 1,
2087
+ .min = { .set = true, .value = -1 },
2088
+ .max = { .set = true, .value = 32 },
2089
+ .expectMincoverStrings = {
2090
+ "0",
2091
+ "10000",
2092
+ },
2093
+ },
2094
+ {
2095
+ .lowerBound = -1,
2096
+ .includeLowerBound = true,
2097
+ .upperBound = 32,
2098
+ .includeUpperBound = true,
2099
+ .sparsity = 2,
2100
+ .min = { .set = true, .value = -1 },
2101
+ .max = { .set = true, .value = 32 },
2102
+ .expectMincoverStrings = {
2103
+ "00",
2104
+ "01",
2105
+ "100000",
2106
+ "100001",
2107
+ },
2108
+ },
2109
+ {
2110
+ .lowerBound = -1,
2111
+ .includeLowerBound = true,
2112
+ .upperBound = 32,
2113
+ .includeUpperBound = true,
2114
+ .sparsity = 3,
2115
+ .min = { .set = true, .value = -1 },
2116
+ .max = { .set = true, .value = 32 },
2117
+ .expectMincoverStrings = {
2118
+ "000",
2119
+ "001",
2120
+ "010",
2121
+ "011",
2122
+ "100000",
2123
+ "100001",
2124
+ },
2125
+ },
2126
+ {
2127
+ .lowerBound = -1,
2128
+ .includeLowerBound = true,
2129
+ .upperBound = 32,
2130
+ .includeUpperBound = true,
2131
+ .sparsity = 1,
2132
+ .min = { .set = true, .value = -1 },
2133
+ .max = { .set = true, .value = 1879048192 },
2134
+ .expectMincoverStrings = {
2135
+ "00000000000000000000000000",
2136
+ "000000000000000000000000010000",
2137
+ },
2138
+ },
2139
+ {
2140
+ .lowerBound = -1,
2141
+ .includeLowerBound = true,
2142
+ .upperBound = 32,
2143
+ .includeUpperBound = true,
2144
+ .sparsity = 2,
2145
+ .min = { .set = true, .value = -1 },
2146
+ .max = { .set = true, .value = 1879048192 },
2147
+ .expectMincoverStrings = {
2148
+ "00000000000000000000000000",
2149
+ "000000000000000000000000010000",
2150
+ },
2151
+ },
2152
+ {
2153
+ .lowerBound = -1,
2154
+ .includeLowerBound = true,
2155
+ .upperBound = 32,
2156
+ .includeUpperBound = true,
2157
+ .sparsity = 3,
2158
+ .min = { .set = true, .value = -1 },
2159
+ .max = { .set = true, .value = 1879048192 },
2160
+ .expectMincoverStrings = {
2161
+ "000000000000000000000000000",
2162
+ "000000000000000000000000001",
2163
+ "000000000000000000000000010000",
2164
+ },
2165
+ },
2166
+ {
2167
+ .lowerBound = -1,
2168
+ .includeLowerBound = true,
2169
+ .upperBound = 1879048192,
2170
+ .includeUpperBound = true,
2171
+ .sparsity = 1,
2172
+ .min = { .set = true, .value = -10000000 },
2173
+ .max = { .set = true, .value = 1879048192 },
2174
+ .expectMincoverStrings = {
2175
+ "0000000100110001001011001111111",
2176
+ "000000010011000100101101",
2177
+ "00000001001100010010111",
2178
+ "00000001001100010011",
2179
+ "000000010011000101",
2180
+ "00000001001100011",
2181
+ "000000010011001",
2182
+ "00000001001101",
2183
+ "0000000100111",
2184
+ "0000000101",
2185
+ "000000011",
2186
+ "0000001",
2187
+ "000001",
2188
+ "00001",
2189
+ "0001",
2190
+ "001",
2191
+ "01",
2192
+ "10",
2193
+ "110",
2194
+ "11100000",
2195
+ "11100001000",
2196
+ "111000010010",
2197
+ "1110000100110000",
2198
+ "1110000100110001000",
2199
+ "111000010011000100100",
2200
+ "1110000100110001001010",
2201
+ "111000010011000100101100",
2202
+ "1110000100110001001011010000000",
2203
+ },
2204
+ },
2205
+ {
2206
+ .lowerBound = -1,
2207
+ .includeLowerBound = true,
2208
+ .upperBound = 1879048192,
2209
+ .includeUpperBound = true,
2210
+ .sparsity = 1,
2211
+ .min = { .set = true, .value = -1 },
2212
+ .max = { .set = true, .value = 1879048192 },
2213
+ .expectMincoverStrings = {
2214
+ "0",
2215
+ "10",
2216
+ "110",
2217
+ "111000000000000000000000000000",
2218
+ },
2219
+ },
2220
+ {
2221
+ .lowerBound = -1,
2222
+ .includeLowerBound = true,
2223
+ .upperBound = 1879048192,
2224
+ .includeUpperBound = true,
2225
+ .sparsity = 2,
2226
+ .min = { .set = true, .value = -1 },
2227
+ .max = { .set = true, .value = 1879048192 },
2228
+ .expectMincoverStrings = {
2229
+ "00",
2230
+ "01",
2231
+ "10",
2232
+ "1100",
2233
+ "1101",
2234
+ "111000000000000000000000000000",
2235
+ },
2236
+ },
2237
+ {
2238
+ .lowerBound = -1,
2239
+ .includeLowerBound = true,
2240
+ .upperBound = 1879048192,
2241
+ .includeUpperBound = true,
2242
+ .sparsity = 3,
2243
+ .min = { .set = true, .value = -1 },
2244
+ .max = { .set = true, .value = 1879048192 },
2245
+ .expectMincoverStrings = {
2246
+ "000",
2247
+ "001",
2248
+ "010",
2249
+ "011",
2250
+ "100",
2251
+ "101",
2252
+ "110",
2253
+ "111000000000000000000000000000",
2254
+ },
2255
+ },
2256
+ {
2257
+ .lowerBound = 0,
2258
+ .includeLowerBound = true,
2259
+ .upperBound = 0,
2260
+ .includeUpperBound = true,
2261
+ .sparsity = 1,
2262
+ .min = { .set = true, .value = -10000000 },
2263
+ .max = { .set = true, .value = 0 },
2264
+ .expectMincoverStrings = {
2265
+ "100110001001011010000000",
2266
+ },
2267
+ },
2268
+ {
2269
+ .lowerBound = 0,
2270
+ .includeLowerBound = true,
2271
+ .upperBound = 0,
2272
+ .includeUpperBound = true,
2273
+ .sparsity = 2,
2274
+ .min = { .set = true, .value = -10000000 },
2275
+ .max = { .set = true, .value = 0 },
2276
+ .expectMincoverStrings = {
2277
+ "100110001001011010000000",
2278
+ },
2279
+ },
2280
+ {
2281
+ .lowerBound = 0,
2282
+ .includeLowerBound = true,
2283
+ .upperBound = 0,
2284
+ .includeUpperBound = true,
2285
+ .sparsity = 3,
2286
+ .min = { .set = true, .value = -10000000 },
2287
+ .max = { .set = true, .value = 0 },
2288
+ .expectMincoverStrings = {
2289
+ "100110001001011010000000",
2290
+ },
2291
+ },
2292
+ {
2293
+ .lowerBound = 0,
2294
+ .includeLowerBound = true,
2295
+ .upperBound = 0,
2296
+ .includeUpperBound = true,
2297
+ .sparsity = 4,
2298
+ .min = { .set = true, .value = -10000000 },
2299
+ .max = { .set = true, .value = 0 },
2300
+ .expectMincoverStrings = {
2301
+ "100110001001011010000000",
2302
+ },
2303
+ },
2304
+ {
2305
+ .lowerBound = 0,
2306
+ .includeLowerBound = true,
2307
+ .upperBound = 0,
2308
+ .includeUpperBound = true,
2309
+ .sparsity = 1,
2310
+ .min = { .set = true, .value = -10000000 },
2311
+ .max = { .set = true, .value = 7 },
2312
+ .expectMincoverStrings = {
2313
+ "100110001001011010000000",
2314
+ },
2315
+ },
2316
+ {
2317
+ .lowerBound = 0,
2318
+ .includeLowerBound = true,
2319
+ .upperBound = 0,
2320
+ .includeUpperBound = true,
2321
+ .sparsity = 2,
2322
+ .min = { .set = true, .value = -10000000 },
2323
+ .max = { .set = true, .value = 7 },
2324
+ .expectMincoverStrings = {
2325
+ "100110001001011010000000",
2326
+ },
2327
+ },
2328
+ {
2329
+ .lowerBound = 0,
2330
+ .includeLowerBound = true,
2331
+ .upperBound = 0,
2332
+ .includeUpperBound = true,
2333
+ .sparsity = 3,
2334
+ .min = { .set = true, .value = -10000000 },
2335
+ .max = { .set = true, .value = 7 },
2336
+ .expectMincoverStrings = {
2337
+ "100110001001011010000000",
2338
+ },
2339
+ },
2340
+ {
2341
+ .lowerBound = 0,
2342
+ .includeLowerBound = true,
2343
+ .upperBound = 0,
2344
+ .includeUpperBound = true,
2345
+ .sparsity = 4,
2346
+ .min = { .set = true, .value = -10000000 },
2347
+ .max = { .set = true, .value = 7 },
2348
+ .expectMincoverStrings = {
2349
+ "100110001001011010000000",
2350
+ },
2351
+ },
2352
+ {
2353
+ .lowerBound = 0,
2354
+ .includeLowerBound = true,
2355
+ .upperBound = 0,
2356
+ .includeUpperBound = true,
2357
+ .sparsity = 1,
2358
+ .min = { .set = true, .value = -10000000 },
2359
+ .max = { .set = true, .value = 32 },
2360
+ .expectMincoverStrings = {
2361
+ "100110001001011010000000",
2362
+ },
2363
+ },
2364
+ {
2365
+ .lowerBound = 0,
2366
+ .includeLowerBound = true,
2367
+ .upperBound = 0,
2368
+ .includeUpperBound = true,
2369
+ .sparsity = 2,
2370
+ .min = { .set = true, .value = -10000000 },
2371
+ .max = { .set = true, .value = 32 },
2372
+ .expectMincoverStrings = {
2373
+ "100110001001011010000000",
2374
+ },
2375
+ },
2376
+ {
2377
+ .lowerBound = 0,
2378
+ .includeLowerBound = true,
2379
+ .upperBound = 0,
2380
+ .includeUpperBound = true,
2381
+ .sparsity = 3,
2382
+ .min = { .set = true, .value = -10000000 },
2383
+ .max = { .set = true, .value = 32 },
2384
+ .expectMincoverStrings = {
2385
+ "100110001001011010000000",
2386
+ },
2387
+ },
2388
+ {
2389
+ .lowerBound = 0,
2390
+ .includeLowerBound = true,
2391
+ .upperBound = 0,
2392
+ .includeUpperBound = true,
2393
+ .sparsity = 4,
2394
+ .min = { .set = true, .value = -10000000 },
2395
+ .max = { .set = true, .value = 32 },
2396
+ .expectMincoverStrings = {
2397
+ "100110001001011010000000",
2398
+ },
2399
+ },
2400
+ {
2401
+ .lowerBound = 0,
2402
+ .includeLowerBound = true,
2403
+ .upperBound = 0,
2404
+ .includeUpperBound = true,
2405
+ .sparsity = 1,
2406
+ .min = { .set = true, .value = -10000000 },
2407
+ .max = { .set = true, .value = 1879048192 },
2408
+ .expectMincoverStrings = {
2409
+ "0000000100110001001011010000000",
2410
+ },
2411
+ },
2412
+ {
2413
+ .lowerBound = 0,
2414
+ .includeLowerBound = true,
2415
+ .upperBound = 0,
2416
+ .includeUpperBound = true,
2417
+ .sparsity = 1,
2418
+ .min = { .set = true, .value = -1 },
2419
+ .max = { .set = true, .value = 0 },
2420
+ .expectMincoverStrings = {
2421
+ "1",
2422
+ },
2423
+ },
2424
+ {
2425
+ .lowerBound = 0,
2426
+ .includeLowerBound = true,
2427
+ .upperBound = 0,
2428
+ .includeUpperBound = true,
2429
+ .sparsity = 1,
2430
+ .min = { .set = true, .value = -1 },
2431
+ .max = { .set = true, .value = 7 },
2432
+ .expectMincoverStrings = {
2433
+ "0001",
2434
+ },
2435
+ },
2436
+ {
2437
+ .lowerBound = 0,
2438
+ .includeLowerBound = true,
2439
+ .upperBound = 0,
2440
+ .includeUpperBound = true,
2441
+ .sparsity = 2,
2442
+ .min = { .set = true, .value = -1 },
2443
+ .max = { .set = true, .value = 7 },
2444
+ .expectMincoverStrings = {
2445
+ "0001",
2446
+ },
2447
+ },
2448
+ {
2449
+ .lowerBound = 0,
2450
+ .includeLowerBound = true,
2451
+ .upperBound = 0,
2452
+ .includeUpperBound = true,
2453
+ .sparsity = 4,
2454
+ .min = { .set = true, .value = -1 },
2455
+ .max = { .set = true, .value = 7 },
2456
+ .expectMincoverStrings = {
2457
+ "0001",
2458
+ },
2459
+ },
2460
+ {
2461
+ .lowerBound = 0,
2462
+ .includeLowerBound = true,
2463
+ .upperBound = 0,
2464
+ .includeUpperBound = true,
2465
+ .sparsity = 1,
2466
+ .min = { .set = true, .value = -1 },
2467
+ .max = { .set = true, .value = 32 },
2468
+ .expectMincoverStrings = {
2469
+ "000001",
2470
+ },
2471
+ },
2472
+ {
2473
+ .lowerBound = 0,
2474
+ .includeLowerBound = true,
2475
+ .upperBound = 0,
2476
+ .includeUpperBound = true,
2477
+ .sparsity = 2,
2478
+ .min = { .set = true, .value = -1 },
2479
+ .max = { .set = true, .value = 32 },
2480
+ .expectMincoverStrings = {
2481
+ "000001",
2482
+ },
2483
+ },
2484
+ {
2485
+ .lowerBound = 0,
2486
+ .includeLowerBound = true,
2487
+ .upperBound = 0,
2488
+ .includeUpperBound = true,
2489
+ .sparsity = 3,
2490
+ .min = { .set = true, .value = -1 },
2491
+ .max = { .set = true, .value = 32 },
2492
+ .expectMincoverStrings = {
2493
+ "000001",
2494
+ },
2495
+ },
2496
+ {
2497
+ .lowerBound = 0,
2498
+ .includeLowerBound = true,
2499
+ .upperBound = 0,
2500
+ .includeUpperBound = true,
2501
+ .sparsity = 1,
2502
+ .min = { .set = true, .value = -1 },
2503
+ .max = { .set = true, .value = 1879048192 },
2504
+ .expectMincoverStrings = {
2505
+ "0000000000000000000000000000001",
2506
+ },
2507
+ },
2508
+ {
2509
+ .lowerBound = 0,
2510
+ .includeLowerBound = true,
2511
+ .upperBound = 0,
2512
+ .includeUpperBound = true,
2513
+ .sparsity = 1,
2514
+ .min = { .set = true, .value = 0 },
2515
+ .max = { .set = true, .value = 7 },
2516
+ .expectMincoverStrings = {
2517
+ "000",
2518
+ },
2519
+ },
2520
+ {
2521
+ .lowerBound = 0,
2522
+ .includeLowerBound = true,
2523
+ .upperBound = 0,
2524
+ .includeUpperBound = true,
2525
+ .sparsity = 3,
2526
+ .min = { .set = true, .value = 0 },
2527
+ .max = { .set = true, .value = 7 },
2528
+ .expectMincoverStrings = {
2529
+ "000",
2530
+ },
2531
+ },
2532
+ {
2533
+ .lowerBound = 0,
2534
+ .includeLowerBound = true,
2535
+ .upperBound = 0,
2536
+ .includeUpperBound = true,
2537
+ .sparsity = 1,
2538
+ .min = { .set = true, .value = 0 },
2539
+ .max = { .set = true, .value = 32 },
2540
+ .expectMincoverStrings = {
2541
+ "000000",
2542
+ },
2543
+ },
2544
+ {
2545
+ .lowerBound = 0,
2546
+ .includeLowerBound = true,
2547
+ .upperBound = 0,
2548
+ .includeUpperBound = true,
2549
+ .sparsity = 2,
2550
+ .min = { .set = true, .value = 0 },
2551
+ .max = { .set = true, .value = 32 },
2552
+ .expectMincoverStrings = {
2553
+ "000000",
2554
+ },
2555
+ },
2556
+ {
2557
+ .lowerBound = 0,
2558
+ .includeLowerBound = true,
2559
+ .upperBound = 0,
2560
+ .includeUpperBound = true,
2561
+ .sparsity = 3,
2562
+ .min = { .set = true, .value = 0 },
2563
+ .max = { .set = true, .value = 32 },
2564
+ .expectMincoverStrings = {
2565
+ "000000",
2566
+ },
2567
+ },
2568
+ {
2569
+ .lowerBound = 0,
2570
+ .includeLowerBound = true,
2571
+ .upperBound = 0,
2572
+ .includeUpperBound = true,
2573
+ .sparsity = 1,
2574
+ .min = { .set = true, .value = 0 },
2575
+ .max = { .set = true, .value = 1879048192 },
2576
+ .expectMincoverStrings = {
2577
+ "0000000000000000000000000000000",
2578
+ },
2579
+ },
2580
+ {
2581
+ .lowerBound = 0,
2582
+ .includeLowerBound = true,
2583
+ .upperBound = 7,
2584
+ .includeUpperBound = true,
2585
+ .sparsity = 1,
2586
+ .min = { .set = true, .value = -10000000 },
2587
+ .max = { .set = true, .value = 7 },
2588
+ .expectMincoverStrings = {
2589
+ "100110001001011010000",
2590
+ },
2591
+ },
2592
+ {
2593
+ .lowerBound = 0,
2594
+ .includeLowerBound = true,
2595
+ .upperBound = 7,
2596
+ .includeUpperBound = true,
2597
+ .sparsity = 2,
2598
+ .min = { .set = true, .value = -10000000 },
2599
+ .max = { .set = true, .value = 7 },
2600
+ .expectMincoverStrings = {
2601
+ "1001100010010110100000",
2602
+ "1001100010010110100001",
2603
+ },
2604
+ },
2605
+ {
2606
+ .lowerBound = 0,
2607
+ .includeLowerBound = true,
2608
+ .upperBound = 7,
2609
+ .includeUpperBound = true,
2610
+ .sparsity = 3,
2611
+ .min = { .set = true, .value = -10000000 },
2612
+ .max = { .set = true, .value = 7 },
2613
+ .expectMincoverStrings = {
2614
+ "100110001001011010000",
2615
+ },
2616
+ },
2617
+ {
2618
+ .lowerBound = 0,
2619
+ .includeLowerBound = true,
2620
+ .upperBound = 7,
2621
+ .includeUpperBound = true,
2622
+ .sparsity = 4,
2623
+ .min = { .set = true, .value = -10000000 },
2624
+ .max = { .set = true, .value = 7 },
2625
+ .expectMincoverStrings = {
2626
+ "100110001001011010000000",
2627
+ "100110001001011010000001",
2628
+ "100110001001011010000010",
2629
+ "100110001001011010000011",
2630
+ "100110001001011010000100",
2631
+ "100110001001011010000101",
2632
+ "100110001001011010000110",
2633
+ "100110001001011010000111",
2634
+ },
2635
+ },
2636
+ {
2637
+ .lowerBound = 0,
2638
+ .includeLowerBound = true,
2639
+ .upperBound = 7,
2640
+ .includeUpperBound = true,
2641
+ .sparsity = 1,
2642
+ .min = { .set = true, .value = -10000000 },
2643
+ .max = { .set = true, .value = 32 },
2644
+ .expectMincoverStrings = {
2645
+ "100110001001011010000",
2646
+ },
2647
+ },
2648
+ {
2649
+ .lowerBound = 0,
2650
+ .includeLowerBound = true,
2651
+ .upperBound = 7,
2652
+ .includeUpperBound = true,
2653
+ .sparsity = 2,
2654
+ .min = { .set = true, .value = -10000000 },
2655
+ .max = { .set = true, .value = 32 },
2656
+ .expectMincoverStrings = {
2657
+ "1001100010010110100000",
2658
+ "1001100010010110100001",
2659
+ },
2660
+ },
2661
+ {
2662
+ .lowerBound = 0,
2663
+ .includeLowerBound = true,
2664
+ .upperBound = 7,
2665
+ .includeUpperBound = true,
2666
+ .sparsity = 3,
2667
+ .min = { .set = true, .value = -10000000 },
2668
+ .max = { .set = true, .value = 32 },
2669
+ .expectMincoverStrings = {
2670
+ "100110001001011010000",
2671
+ },
2672
+ },
2673
+ {
2674
+ .lowerBound = 0,
2675
+ .includeLowerBound = true,
2676
+ .upperBound = 7,
2677
+ .includeUpperBound = true,
2678
+ .sparsity = 4,
2679
+ .min = { .set = true, .value = -10000000 },
2680
+ .max = { .set = true, .value = 32 },
2681
+ .expectMincoverStrings = {
2682
+ "100110001001011010000000",
2683
+ "100110001001011010000001",
2684
+ "100110001001011010000010",
2685
+ "100110001001011010000011",
2686
+ "100110001001011010000100",
2687
+ "100110001001011010000101",
2688
+ "100110001001011010000110",
2689
+ "100110001001011010000111",
2690
+ },
2691
+ },
2692
+ {
2693
+ .lowerBound = 0,
2694
+ .includeLowerBound = true,
2695
+ .upperBound = 7,
2696
+ .includeUpperBound = true,
2697
+ .sparsity = 1,
2698
+ .min = { .set = true, .value = -10000000 },
2699
+ .max = { .set = true, .value = 1879048192 },
2700
+ .expectMincoverStrings = {
2701
+ "0000000100110001001011010000",
2702
+ },
2703
+ },
2704
+ {
2705
+ .lowerBound = 0,
2706
+ .includeLowerBound = true,
2707
+ .upperBound = 7,
2708
+ .includeUpperBound = true,
2709
+ .sparsity = 2,
2710
+ .min = { .set = true, .value = -10000000 },
2711
+ .max = { .set = true, .value = 1879048192 },
2712
+ .expectMincoverStrings = {
2713
+ "0000000100110001001011010000",
2714
+ },
2715
+ },
2716
+ {
2717
+ .lowerBound = 0,
2718
+ .includeLowerBound = true,
2719
+ .upperBound = 7,
2720
+ .includeUpperBound = true,
2721
+ .sparsity = 3,
2722
+ .min = { .set = true, .value = -10000000 },
2723
+ .max = { .set = true, .value = 1879048192 },
2724
+ .expectMincoverStrings = {
2725
+ "000000010011000100101101000000",
2726
+ "000000010011000100101101000001",
2727
+ "000000010011000100101101000010",
2728
+ "000000010011000100101101000011",
2729
+ },
2730
+ },
2731
+ {
2732
+ .lowerBound = 0,
2733
+ .includeLowerBound = true,
2734
+ .upperBound = 7,
2735
+ .includeUpperBound = true,
2736
+ .sparsity = 4,
2737
+ .min = { .set = true, .value = -10000000 },
2738
+ .max = { .set = true, .value = 1879048192 },
2739
+ .expectMincoverStrings = {
2740
+ "0000000100110001001011010000",
2741
+ },
2742
+ },
2743
+ {
2744
+ .lowerBound = 0,
2745
+ .includeLowerBound = true,
2746
+ .upperBound = 7,
2747
+ .includeUpperBound = true,
2748
+ .sparsity = 1,
2749
+ .min = { .set = true, .value = -1 },
2750
+ .max = { .set = true, .value = 7 },
2751
+ .expectMincoverStrings = {
2752
+ "0001",
2753
+ "001",
2754
+ "01",
2755
+ "1000",
2756
+ },
2757
+ },
2758
+ {
2759
+ .lowerBound = 0,
2760
+ .includeLowerBound = true,
2761
+ .upperBound = 7,
2762
+ .includeUpperBound = true,
2763
+ .sparsity = 2,
2764
+ .min = { .set = true, .value = -1 },
2765
+ .max = { .set = true, .value = 7 },
2766
+ .expectMincoverStrings = {
2767
+ "0001",
2768
+ "0010",
2769
+ "0011",
2770
+ "01",
2771
+ "1000",
2772
+ },
2773
+ },
2774
+ {
2775
+ .lowerBound = 0,
2776
+ .includeLowerBound = true,
2777
+ .upperBound = 7,
2778
+ .includeUpperBound = true,
2779
+ .sparsity = 4,
2780
+ .min = { .set = true, .value = -1 },
2781
+ .max = { .set = true, .value = 7 },
2782
+ .expectMincoverStrings = {
2783
+ "0001",
2784
+ "0010",
2785
+ "0011",
2786
+ "0100",
2787
+ "0101",
2788
+ "0110",
2789
+ "0111",
2790
+ "1000",
2791
+ },
2792
+ },
2793
+ {
2794
+ .lowerBound = 0,
2795
+ .includeLowerBound = true,
2796
+ .upperBound = 7,
2797
+ .includeUpperBound = true,
2798
+ .sparsity = 1,
2799
+ .min = { .set = true, .value = -1 },
2800
+ .max = { .set = true, .value = 32 },
2801
+ .expectMincoverStrings = {
2802
+ "000001",
2803
+ "00001",
2804
+ "0001",
2805
+ "001000",
2806
+ },
2807
+ },
2808
+ {
2809
+ .lowerBound = 0,
2810
+ .includeLowerBound = true,
2811
+ .upperBound = 7,
2812
+ .includeUpperBound = true,
2813
+ .sparsity = 2,
2814
+ .min = { .set = true, .value = -1 },
2815
+ .max = { .set = true, .value = 32 },
2816
+ .expectMincoverStrings = {
2817
+ "000001",
2818
+ "000010",
2819
+ "000011",
2820
+ "0001",
2821
+ "001000",
2822
+ },
2823
+ },
2824
+ {
2825
+ .lowerBound = 0,
2826
+ .includeLowerBound = true,
2827
+ .upperBound = 7,
2828
+ .includeUpperBound = true,
2829
+ .sparsity = 3,
2830
+ .min = { .set = true, .value = -1 },
2831
+ .max = { .set = true, .value = 32 },
2832
+ .expectMincoverStrings = {
2833
+ "000001",
2834
+ "000010",
2835
+ "000011",
2836
+ "000100",
2837
+ "000101",
2838
+ "000110",
2839
+ "000111",
2840
+ "001000",
2841
+ },
2842
+ },
2843
+ {
2844
+ .lowerBound = 0,
2845
+ .includeLowerBound = true,
2846
+ .upperBound = 7,
2847
+ .includeUpperBound = true,
2848
+ .sparsity = 1,
2849
+ .min = { .set = true, .value = -1 },
2850
+ .max = { .set = true, .value = 1879048192 },
2851
+ .expectMincoverStrings = {
2852
+ "0000000000000000000000000000001",
2853
+ "000000000000000000000000000001",
2854
+ "00000000000000000000000000001",
2855
+ "0000000000000000000000000001000",
2856
+ },
2857
+ },
2858
+ {
2859
+ .lowerBound = 0,
2860
+ .includeLowerBound = true,
2861
+ .upperBound = 7,
2862
+ .includeUpperBound = true,
2863
+ .sparsity = 1,
2864
+ .min = { .set = true, .value = 0 },
2865
+ .max = { .set = true, .value = 7 },
2866
+ .expectMincoverStrings = {
2867
+ "root",
2868
+ },
2869
+ },
2870
+ {
2871
+ .lowerBound = 0,
2872
+ .includeLowerBound = true,
2873
+ .upperBound = 7,
2874
+ .includeUpperBound = true,
2875
+ .sparsity = 2,
2876
+ .min = { .set = true, .value = 0 },
2877
+ .max = { .set = true, .value = 7 },
2878
+ .expectMincoverStrings = {
2879
+ "root",
2880
+ },
2881
+ },
2882
+ {
2883
+ .lowerBound = 0,
2884
+ .includeLowerBound = true,
2885
+ .upperBound = 7,
2886
+ .includeUpperBound = true,
2887
+ .sparsity = 3,
2888
+ .min = { .set = true, .value = 0 },
2889
+ .max = { .set = true, .value = 7 },
2890
+ .expectMincoverStrings = {
2891
+ "root",
2892
+ },
2893
+ },
2894
+ {
2895
+ .lowerBound = 0,
2896
+ .includeLowerBound = true,
2897
+ .upperBound = 7,
2898
+ .includeUpperBound = true,
2899
+ .sparsity = 4,
2900
+ .min = { .set = true, .value = 0 },
2901
+ .max = { .set = true, .value = 7 },
2902
+ .expectMincoverStrings = {
2903
+ "root",
2904
+ },
2905
+ },
2906
+ {
2907
+ .lowerBound = 0,
2908
+ .includeLowerBound = true,
2909
+ .upperBound = 7,
2910
+ .includeUpperBound = true,
2911
+ .sparsity = 1,
2912
+ .min = { .set = true, .value = 0 },
2913
+ .max = { .set = true, .value = 32 },
2914
+ .expectMincoverStrings = {
2915
+ "000",
2916
+ },
2917
+ },
2918
+ {
2919
+ .lowerBound = 0,
2920
+ .includeLowerBound = true,
2921
+ .upperBound = 7,
2922
+ .includeUpperBound = true,
2923
+ .sparsity = 2,
2924
+ .min = { .set = true, .value = 0 },
2925
+ .max = { .set = true, .value = 32 },
2926
+ .expectMincoverStrings = {
2927
+ "0000",
2928
+ "0001",
2929
+ },
2930
+ },
2931
+ {
2932
+ .lowerBound = 0,
2933
+ .includeLowerBound = true,
2934
+ .upperBound = 7,
2935
+ .includeUpperBound = true,
2936
+ .sparsity = 3,
2937
+ .min = { .set = true, .value = 0 },
2938
+ .max = { .set = true, .value = 32 },
2939
+ .expectMincoverStrings = {
2940
+ "000",
2941
+ },
2942
+ },
2943
+ {
2944
+ .lowerBound = 0,
2945
+ .includeLowerBound = true,
2946
+ .upperBound = 7,
2947
+ .includeUpperBound = true,
2948
+ .sparsity = 4,
2949
+ .min = { .set = true, .value = 0 },
2950
+ .max = { .set = true, .value = 32 },
2951
+ .expectMincoverStrings = {
2952
+ "0000",
2953
+ "0001",
2954
+ },
2955
+ },
2956
+ {
2957
+ .lowerBound = 0,
2958
+ .includeLowerBound = true,
2959
+ .upperBound = 7,
2960
+ .includeUpperBound = true,
2961
+ .sparsity = 1,
2962
+ .min = { .set = true, .value = 0 },
2963
+ .max = { .set = true, .value = 1879048192 },
2964
+ .expectMincoverStrings = {
2965
+ "0000000000000000000000000000",
2966
+ },
2967
+ },
2968
+ {
2969
+ .lowerBound = 0,
2970
+ .includeLowerBound = true,
2971
+ .upperBound = 7,
2972
+ .includeUpperBound = true,
2973
+ .sparsity = 2,
2974
+ .min = { .set = true, .value = 0 },
2975
+ .max = { .set = true, .value = 1879048192 },
2976
+ .expectMincoverStrings = {
2977
+ "0000000000000000000000000000",
2978
+ },
2979
+ },
2980
+ {
2981
+ .lowerBound = 0,
2982
+ .includeLowerBound = true,
2983
+ .upperBound = 7,
2984
+ .includeUpperBound = true,
2985
+ .sparsity = 3,
2986
+ .min = { .set = true, .value = 0 },
2987
+ .max = { .set = true, .value = 1879048192 },
2988
+ .expectMincoverStrings = {
2989
+ "000000000000000000000000000000",
2990
+ "000000000000000000000000000001",
2991
+ "000000000000000000000000000010",
2992
+ "000000000000000000000000000011",
2993
+ },
2994
+ },
2995
+ {
2996
+ .lowerBound = 0,
2997
+ .includeLowerBound = true,
2998
+ .upperBound = 7,
2999
+ .includeUpperBound = true,
3000
+ .sparsity = 4,
3001
+ .min = { .set = true, .value = 0 },
3002
+ .max = { .set = true, .value = 1879048192 },
3003
+ .expectMincoverStrings = {
3004
+ "0000000000000000000000000000",
3005
+ },
3006
+ },
3007
+ {
3008
+ .lowerBound = 0,
3009
+ .includeLowerBound = true,
3010
+ .upperBound = 32,
3011
+ .includeUpperBound = true,
3012
+ .sparsity = 1,
3013
+ .min = { .set = true, .value = -10000000 },
3014
+ .max = { .set = true, .value = 32 },
3015
+ .expectMincoverStrings = {
3016
+ "1001100010010110100",
3017
+ "100110001001011010100000",
3018
+ },
3019
+ },
3020
+ {
3021
+ .lowerBound = 0,
3022
+ .includeLowerBound = true,
3023
+ .upperBound = 32,
3024
+ .includeUpperBound = true,
3025
+ .sparsity = 2,
3026
+ .min = { .set = true, .value = -10000000 },
3027
+ .max = { .set = true, .value = 32 },
3028
+ .expectMincoverStrings = {
3029
+ "10011000100101101000",
3030
+ "10011000100101101001",
3031
+ "100110001001011010100000",
3032
+ },
3033
+ },
3034
+ {
3035
+ .lowerBound = 0,
3036
+ .includeLowerBound = true,
3037
+ .upperBound = 32,
3038
+ .includeUpperBound = true,
3039
+ .sparsity = 3,
3040
+ .min = { .set = true, .value = -10000000 },
3041
+ .max = { .set = true, .value = 32 },
3042
+ .expectMincoverStrings = {
3043
+ "100110001001011010000",
3044
+ "100110001001011010001",
3045
+ "100110001001011010010",
3046
+ "100110001001011010011",
3047
+ "100110001001011010100000",
3048
+ },
3049
+ },
3050
+ {
3051
+ .lowerBound = 0,
3052
+ .includeLowerBound = true,
3053
+ .upperBound = 32,
3054
+ .includeUpperBound = true,
3055
+ .sparsity = 4,
3056
+ .min = { .set = true, .value = -10000000 },
3057
+ .max = { .set = true, .value = 32 },
3058
+ .expectMincoverStrings = {
3059
+ "10011000100101101000",
3060
+ "10011000100101101001",
3061
+ "100110001001011010100000",
3062
+ },
3063
+ },
3064
+ {
3065
+ .lowerBound = 0,
3066
+ .includeLowerBound = true,
3067
+ .upperBound = 32,
3068
+ .includeUpperBound = true,
3069
+ .sparsity = 1,
3070
+ .min = { .set = true, .value = -10000000 },
3071
+ .max = { .set = true, .value = 1879048192 },
3072
+ .expectMincoverStrings = {
3073
+ "00000001001100010010110100",
3074
+ "0000000100110001001011010100000",
3075
+ },
3076
+ },
3077
+ {
3078
+ .lowerBound = 0,
3079
+ .includeLowerBound = true,
3080
+ .upperBound = 32,
3081
+ .includeUpperBound = true,
3082
+ .sparsity = 1,
3083
+ .min = { .set = true, .value = -1 },
3084
+ .max = { .set = true, .value = 32 },
3085
+ .expectMincoverStrings = {
3086
+ "000001",
3087
+ "00001",
3088
+ "0001",
3089
+ "001",
3090
+ "01",
3091
+ "10000",
3092
+ },
3093
+ },
3094
+ {
3095
+ .lowerBound = 0,
3096
+ .includeLowerBound = true,
3097
+ .upperBound = 32,
3098
+ .includeUpperBound = true,
3099
+ .sparsity = 2,
3100
+ .min = { .set = true, .value = -1 },
3101
+ .max = { .set = true, .value = 32 },
3102
+ .expectMincoverStrings = {
3103
+ "000001",
3104
+ "000010",
3105
+ "000011",
3106
+ "0001",
3107
+ "0010",
3108
+ "0011",
3109
+ "01",
3110
+ "100000",
3111
+ "100001",
3112
+ },
3113
+ },
3114
+ {
3115
+ .lowerBound = 0,
3116
+ .includeLowerBound = true,
3117
+ .upperBound = 32,
3118
+ .includeUpperBound = true,
3119
+ .sparsity = 3,
3120
+ .min = { .set = true, .value = -1 },
3121
+ .max = { .set = true, .value = 32 },
3122
+ .expectMincoverStrings = {
3123
+ "000001",
3124
+ "000010",
3125
+ "000011",
3126
+ "000100",
3127
+ "000101",
3128
+ "000110",
3129
+ "000111",
3130
+ "001",
3131
+ "010",
3132
+ "011",
3133
+ "100000",
3134
+ "100001",
3135
+ },
3136
+ },
3137
+ {
3138
+ .lowerBound = 0,
3139
+ .includeLowerBound = true,
3140
+ .upperBound = 32,
3141
+ .includeUpperBound = true,
3142
+ .sparsity = 1,
3143
+ .min = { .set = true, .value = -1 },
3144
+ .max = { .set = true, .value = 1879048192 },
3145
+ .expectMincoverStrings = {
3146
+ "0000000000000000000000000000001",
3147
+ "000000000000000000000000000001",
3148
+ "00000000000000000000000000001",
3149
+ "0000000000000000000000000001",
3150
+ "000000000000000000000000001",
3151
+ "000000000000000000000000010000",
3152
+ },
3153
+ },
3154
+ {
3155
+ .lowerBound = 0,
3156
+ .includeLowerBound = true,
3157
+ .upperBound = 32,
3158
+ .includeUpperBound = true,
3159
+ .sparsity = 1,
3160
+ .min = { .set = true, .value = 0 },
3161
+ .max = { .set = true, .value = 32 },
3162
+ .expectMincoverStrings = {
3163
+ "0",
3164
+ "100000",
3165
+ },
3166
+ },
3167
+ {
3168
+ .lowerBound = 0,
3169
+ .includeLowerBound = true,
3170
+ .upperBound = 32,
3171
+ .includeUpperBound = true,
3172
+ .sparsity = 2,
3173
+ .min = { .set = true, .value = 0 },
3174
+ .max = { .set = true, .value = 32 },
3175
+ .expectMincoverStrings = {
3176
+ "00",
3177
+ "01",
3178
+ "100000",
3179
+ },
3180
+ },
3181
+ {
3182
+ .lowerBound = 0,
3183
+ .includeLowerBound = true,
3184
+ .upperBound = 32,
3185
+ .includeUpperBound = true,
3186
+ .sparsity = 3,
3187
+ .min = { .set = true, .value = 0 },
3188
+ .max = { .set = true, .value = 32 },
3189
+ .expectMincoverStrings = {
3190
+ "000",
3191
+ "001",
3192
+ "010",
3193
+ "011",
3194
+ "100000",
3195
+ },
3196
+ },
3197
+ {
3198
+ .lowerBound = 0,
3199
+ .includeLowerBound = true,
3200
+ .upperBound = 32,
3201
+ .includeUpperBound = true,
3202
+ .sparsity = 1,
3203
+ .min = { .set = true, .value = 0 },
3204
+ .max = { .set = true, .value = 1879048192 },
3205
+ .expectMincoverStrings = {
3206
+ "00000000000000000000000000",
3207
+ "0000000000000000000000000100000",
3208
+ },
3209
+ },
3210
+ {
3211
+ .lowerBound = 0,
3212
+ .includeLowerBound = true,
3213
+ .upperBound = 1879048192,
3214
+ .includeUpperBound = true,
3215
+ .sparsity = 1,
3216
+ .min = { .set = true, .value = -10000000 },
3217
+ .max = { .set = true, .value = 1879048192 },
3218
+ .expectMincoverStrings = {
3219
+ "000000010011000100101101",
3220
+ "00000001001100010010111",
3221
+ "00000001001100010011",
3222
+ "000000010011000101",
3223
+ "00000001001100011",
3224
+ "000000010011001",
3225
+ "00000001001101",
3226
+ "0000000100111",
3227
+ "0000000101",
3228
+ "000000011",
3229
+ "0000001",
3230
+ "000001",
3231
+ "00001",
3232
+ "0001",
3233
+ "001",
3234
+ "01",
3235
+ "10",
3236
+ "110",
3237
+ "11100000",
3238
+ "11100001000",
3239
+ "111000010010",
3240
+ "1110000100110000",
3241
+ "1110000100110001000",
3242
+ "111000010011000100100",
3243
+ "1110000100110001001010",
3244
+ "111000010011000100101100",
3245
+ "1110000100110001001011010000000",
3246
+ },
3247
+ },
3248
+ {
3249
+ .lowerBound = 0,
3250
+ .includeLowerBound = true,
3251
+ .upperBound = 1879048192,
3252
+ .includeUpperBound = true,
3253
+ .sparsity = 1,
3254
+ .min = { .set = true, .value = -1 },
3255
+ .max = { .set = true, .value = 1879048192 },
3256
+ .expectMincoverStrings = {
3257
+ "0000000000000000000000000000001",
3258
+ "000000000000000000000000000001",
3259
+ "00000000000000000000000000001",
3260
+ "0000000000000000000000000001",
3261
+ "000000000000000000000000001",
3262
+ "00000000000000000000000001",
3263
+ "0000000000000000000000001",
3264
+ "000000000000000000000001",
3265
+ "00000000000000000000001",
3266
+ "0000000000000000000001",
3267
+ "000000000000000000001",
3268
+ "00000000000000000001",
3269
+ "0000000000000000001",
3270
+ "000000000000000001",
3271
+ "00000000000000001",
3272
+ "0000000000000001",
3273
+ "000000000000001",
3274
+ "00000000000001",
3275
+ "0000000000001",
3276
+ "000000000001",
3277
+ "00000000001",
3278
+ "0000000001",
3279
+ "000000001",
3280
+ "00000001",
3281
+ "0000001",
3282
+ "000001",
3283
+ "00001",
3284
+ "0001",
3285
+ "001",
3286
+ "01",
3287
+ "10",
3288
+ "110",
3289
+ "111000000000000000000000000000",
3290
+ },
3291
+ },
3292
+ {
3293
+ .lowerBound = 0,
3294
+ .includeLowerBound = true,
3295
+ .upperBound = 1879048192,
3296
+ .includeUpperBound = true,
3297
+ .sparsity = 1,
3298
+ .min = { .set = true, .value = 0 },
3299
+ .max = { .set = true, .value = 1879048192 },
3300
+ .expectMincoverStrings = {
3301
+ "0",
3302
+ "10",
3303
+ "110",
3304
+ "1110000000000000000000000000000",
3305
+ },
3306
+ },
3307
+ {
3308
+ .lowerBound = 7,
3309
+ .includeLowerBound = true,
3310
+ .upperBound = 7,
3311
+ .includeUpperBound = true,
3312
+ .sparsity = 1,
3313
+ .min = { .set = true, .value = -10000000 },
3314
+ .max = { .set = true, .value = 7 },
3315
+ .expectMincoverStrings = {
3316
+ "100110001001011010000111",
3317
+ },
3318
+ },
3319
+ {
3320
+ .lowerBound = 7,
3321
+ .includeLowerBound = true,
3322
+ .upperBound = 7,
3323
+ .includeUpperBound = true,
3324
+ .sparsity = 2,
3325
+ .min = { .set = true, .value = -10000000 },
3326
+ .max = { .set = true, .value = 7 },
3327
+ .expectMincoverStrings = {
3328
+ "100110001001011010000111",
3329
+ },
3330
+ },
3331
+ {
3332
+ .lowerBound = 7,
3333
+ .includeLowerBound = true,
3334
+ .upperBound = 7,
3335
+ .includeUpperBound = true,
3336
+ .sparsity = 3,
3337
+ .min = { .set = true, .value = -10000000 },
3338
+ .max = { .set = true, .value = 7 },
3339
+ .expectMincoverStrings = {
3340
+ "100110001001011010000111",
3341
+ },
3342
+ },
3343
+ {
3344
+ .lowerBound = 7,
3345
+ .includeLowerBound = true,
3346
+ .upperBound = 7,
3347
+ .includeUpperBound = true,
3348
+ .sparsity = 4,
3349
+ .min = { .set = true, .value = -10000000 },
3350
+ .max = { .set = true, .value = 7 },
3351
+ .expectMincoverStrings = {
3352
+ "100110001001011010000111",
3353
+ },
3354
+ },
3355
+ {
3356
+ .lowerBound = 7,
3357
+ .includeLowerBound = true,
3358
+ .upperBound = 7,
3359
+ .includeUpperBound = true,
3360
+ .sparsity = 1,
3361
+ .min = { .set = true, .value = -10000000 },
3362
+ .max = { .set = true, .value = 32 },
3363
+ .expectMincoverStrings = {
3364
+ "100110001001011010000111",
3365
+ },
3366
+ },
3367
+ {
3368
+ .lowerBound = 7,
3369
+ .includeLowerBound = true,
3370
+ .upperBound = 7,
3371
+ .includeUpperBound = true,
3372
+ .sparsity = 2,
3373
+ .min = { .set = true, .value = -10000000 },
3374
+ .max = { .set = true, .value = 32 },
3375
+ .expectMincoverStrings = {
3376
+ "100110001001011010000111",
3377
+ },
3378
+ },
3379
+ {
3380
+ .lowerBound = 7,
3381
+ .includeLowerBound = true,
3382
+ .upperBound = 7,
3383
+ .includeUpperBound = true,
3384
+ .sparsity = 3,
3385
+ .min = { .set = true, .value = -10000000 },
3386
+ .max = { .set = true, .value = 32 },
3387
+ .expectMincoverStrings = {
3388
+ "100110001001011010000111",
3389
+ },
3390
+ },
3391
+ {
3392
+ .lowerBound = 7,
3393
+ .includeLowerBound = true,
3394
+ .upperBound = 7,
3395
+ .includeUpperBound = true,
3396
+ .sparsity = 4,
3397
+ .min = { .set = true, .value = -10000000 },
3398
+ .max = { .set = true, .value = 32 },
3399
+ .expectMincoverStrings = {
3400
+ "100110001001011010000111",
3401
+ },
3402
+ },
3403
+ {
3404
+ .lowerBound = 7,
3405
+ .includeLowerBound = true,
3406
+ .upperBound = 7,
3407
+ .includeUpperBound = true,
3408
+ .sparsity = 1,
3409
+ .min = { .set = true, .value = -10000000 },
3410
+ .max = { .set = true, .value = 1879048192 },
3411
+ .expectMincoverStrings = {
3412
+ "0000000100110001001011010000111",
3413
+ },
3414
+ },
3415
+ {
3416
+ .lowerBound = 7,
3417
+ .includeLowerBound = true,
3418
+ .upperBound = 7,
3419
+ .includeUpperBound = true,
3420
+ .sparsity = 1,
3421
+ .min = { .set = true, .value = -1 },
3422
+ .max = { .set = true, .value = 7 },
3423
+ .expectMincoverStrings = {
3424
+ "1000",
3425
+ },
3426
+ },
3427
+ {
3428
+ .lowerBound = 7,
3429
+ .includeLowerBound = true,
3430
+ .upperBound = 7,
3431
+ .includeUpperBound = true,
3432
+ .sparsity = 2,
3433
+ .min = { .set = true, .value = -1 },
3434
+ .max = { .set = true, .value = 7 },
3435
+ .expectMincoverStrings = {
3436
+ "1000",
3437
+ },
3438
+ },
3439
+ {
3440
+ .lowerBound = 7,
3441
+ .includeLowerBound = true,
3442
+ .upperBound = 7,
3443
+ .includeUpperBound = true,
3444
+ .sparsity = 4,
3445
+ .min = { .set = true, .value = -1 },
3446
+ .max = { .set = true, .value = 7 },
3447
+ .expectMincoverStrings = {
3448
+ "1000",
3449
+ },
3450
+ },
3451
+ {
3452
+ .lowerBound = 7,
3453
+ .includeLowerBound = true,
3454
+ .upperBound = 7,
3455
+ .includeUpperBound = true,
3456
+ .sparsity = 1,
3457
+ .min = { .set = true, .value = -1 },
3458
+ .max = { .set = true, .value = 32 },
3459
+ .expectMincoverStrings = {
3460
+ "001000",
3461
+ },
3462
+ },
3463
+ {
3464
+ .lowerBound = 7,
3465
+ .includeLowerBound = true,
3466
+ .upperBound = 7,
3467
+ .includeUpperBound = true,
3468
+ .sparsity = 2,
3469
+ .min = { .set = true, .value = -1 },
3470
+ .max = { .set = true, .value = 32 },
3471
+ .expectMincoverStrings = {
3472
+ "001000",
3473
+ },
3474
+ },
3475
+ {
3476
+ .lowerBound = 7,
3477
+ .includeLowerBound = true,
3478
+ .upperBound = 7,
3479
+ .includeUpperBound = true,
3480
+ .sparsity = 3,
3481
+ .min = { .set = true, .value = -1 },
3482
+ .max = { .set = true, .value = 32 },
3483
+ .expectMincoverStrings = {
3484
+ "001000",
3485
+ },
3486
+ },
3487
+ {
3488
+ .lowerBound = 7,
3489
+ .includeLowerBound = true,
3490
+ .upperBound = 7,
3491
+ .includeUpperBound = true,
3492
+ .sparsity = 1,
3493
+ .min = { .set = true, .value = -1 },
3494
+ .max = { .set = true, .value = 1879048192 },
3495
+ .expectMincoverStrings = {
3496
+ "0000000000000000000000000001000",
3497
+ },
3498
+ },
3499
+ {
3500
+ .lowerBound = 7,
3501
+ .includeLowerBound = true,
3502
+ .upperBound = 7,
3503
+ .includeUpperBound = true,
3504
+ .sparsity = 1,
3505
+ .min = { .set = true, .value = 0 },
3506
+ .max = { .set = true, .value = 7 },
3507
+ .expectMincoverStrings = {
3508
+ "111",
3509
+ },
3510
+ },
3511
+ {
3512
+ .lowerBound = 7,
3513
+ .includeLowerBound = true,
3514
+ .upperBound = 7,
3515
+ .includeUpperBound = true,
3516
+ .sparsity = 3,
3517
+ .min = { .set = true, .value = 0 },
3518
+ .max = { .set = true, .value = 7 },
3519
+ .expectMincoverStrings = {
3520
+ "111",
3521
+ },
3522
+ },
3523
+ {
3524
+ .lowerBound = 7,
3525
+ .includeLowerBound = true,
3526
+ .upperBound = 7,
3527
+ .includeUpperBound = true,
3528
+ .sparsity = 1,
3529
+ .min = { .set = true, .value = 0 },
3530
+ .max = { .set = true, .value = 32 },
3531
+ .expectMincoverStrings = {
3532
+ "000111",
3533
+ },
3534
+ },
3535
+ {
3536
+ .lowerBound = 7,
3537
+ .includeLowerBound = true,
3538
+ .upperBound = 7,
3539
+ .includeUpperBound = true,
3540
+ .sparsity = 2,
3541
+ .min = { .set = true, .value = 0 },
3542
+ .max = { .set = true, .value = 32 },
3543
+ .expectMincoverStrings = {
3544
+ "000111",
3545
+ },
3546
+ },
3547
+ {
3548
+ .lowerBound = 7,
3549
+ .includeLowerBound = true,
3550
+ .upperBound = 7,
3551
+ .includeUpperBound = true,
3552
+ .sparsity = 3,
3553
+ .min = { .set = true, .value = 0 },
3554
+ .max = { .set = true, .value = 32 },
3555
+ .expectMincoverStrings = {
3556
+ "000111",
3557
+ },
3558
+ },
3559
+ {
3560
+ .lowerBound = 7,
3561
+ .includeLowerBound = true,
3562
+ .upperBound = 7,
3563
+ .includeUpperBound = true,
3564
+ .sparsity = 1,
3565
+ .min = { .set = true, .value = 0 },
3566
+ .max = { .set = true, .value = 1879048192 },
3567
+ .expectMincoverStrings = {
3568
+ "0000000000000000000000000000111",
3569
+ },
3570
+ },
3571
+ {
3572
+ .lowerBound = 7,
3573
+ .includeLowerBound = true,
3574
+ .upperBound = 7,
3575
+ .includeUpperBound = true,
3576
+ .sparsity = 1,
3577
+ .min = { .set = true, .value = 7 },
3578
+ .max = { .set = true, .value = 32 },
3579
+ .expectMincoverStrings = {
3580
+ "00000",
3581
+ },
3582
+ },
3583
+ {
3584
+ .lowerBound = 7,
3585
+ .includeLowerBound = true,
3586
+ .upperBound = 7,
3587
+ .includeUpperBound = true,
3588
+ .sparsity = 1,
3589
+ .min = { .set = true, .value = 7 },
3590
+ .max = { .set = true, .value = 1879048192 },
3591
+ .expectMincoverStrings = {
3592
+ "0000000000000000000000000000000",
3593
+ },
3594
+ },
3595
+ {
3596
+ .lowerBound = 7,
3597
+ .includeLowerBound = true,
3598
+ .upperBound = 32,
3599
+ .includeUpperBound = true,
3600
+ .sparsity = 1,
3601
+ .min = { .set = true, .value = -10000000 },
3602
+ .max = { .set = true, .value = 32 },
3603
+ .expectMincoverStrings = {
3604
+ "100110001001011010000111",
3605
+ "100110001001011010001",
3606
+ "10011000100101101001",
3607
+ "100110001001011010100000",
3608
+ },
3609
+ },
3610
+ {
3611
+ .lowerBound = 7,
3612
+ .includeLowerBound = true,
3613
+ .upperBound = 32,
3614
+ .includeUpperBound = true,
3615
+ .sparsity = 2,
3616
+ .min = { .set = true, .value = -10000000 },
3617
+ .max = { .set = true, .value = 32 },
3618
+ .expectMincoverStrings = {
3619
+ "100110001001011010000111",
3620
+ "1001100010010110100010",
3621
+ "1001100010010110100011",
3622
+ "10011000100101101001",
3623
+ "100110001001011010100000",
3624
+ },
3625
+ },
3626
+ {
3627
+ .lowerBound = 7,
3628
+ .includeLowerBound = true,
3629
+ .upperBound = 32,
3630
+ .includeUpperBound = true,
3631
+ .sparsity = 3,
3632
+ .min = { .set = true, .value = -10000000 },
3633
+ .max = { .set = true, .value = 32 },
3634
+ .expectMincoverStrings = {
3635
+ "100110001001011010000111",
3636
+ "100110001001011010001",
3637
+ "100110001001011010010",
3638
+ "100110001001011010011",
3639
+ "100110001001011010100000",
3640
+ },
3641
+ },
3642
+ {
3643
+ .lowerBound = 7,
3644
+ .includeLowerBound = true,
3645
+ .upperBound = 32,
3646
+ .includeUpperBound = true,
3647
+ .sparsity = 4,
3648
+ .min = { .set = true, .value = -10000000 },
3649
+ .max = { .set = true, .value = 32 },
3650
+ .expectMincoverStrings = {
3651
+ "100110001001011010000111",
3652
+ "100110001001011010001000",
3653
+ "100110001001011010001001",
3654
+ "100110001001011010001010",
3655
+ "100110001001011010001011",
3656
+ "100110001001011010001100",
3657
+ "100110001001011010001101",
3658
+ "100110001001011010001110",
3659
+ "100110001001011010001111",
3660
+ "10011000100101101001",
3661
+ "100110001001011010100000",
3662
+ },
3663
+ },
3664
+ {
3665
+ .lowerBound = 7,
3666
+ .includeLowerBound = true,
3667
+ .upperBound = 32,
3668
+ .includeUpperBound = true,
3669
+ .sparsity = 1,
3670
+ .min = { .set = true, .value = -10000000 },
3671
+ .max = { .set = true, .value = 1879048192 },
3672
+ .expectMincoverStrings = {
3673
+ "0000000100110001001011010000111",
3674
+ "0000000100110001001011010001",
3675
+ "000000010011000100101101001",
3676
+ "0000000100110001001011010100000",
3677
+ },
3678
+ },
3679
+ {
3680
+ .lowerBound = 7,
3681
+ .includeLowerBound = true,
3682
+ .upperBound = 32,
3683
+ .includeUpperBound = true,
3684
+ .sparsity = 1,
3685
+ .min = { .set = true, .value = -1 },
3686
+ .max = { .set = true, .value = 32 },
3687
+ .expectMincoverStrings = {
3688
+ "001",
3689
+ "01",
3690
+ "10000",
3691
+ },
3692
+ },
3693
+ {
3694
+ .lowerBound = 7,
3695
+ .includeLowerBound = true,
3696
+ .upperBound = 32,
3697
+ .includeUpperBound = true,
3698
+ .sparsity = 2,
3699
+ .min = { .set = true, .value = -1 },
3700
+ .max = { .set = true, .value = 32 },
3701
+ .expectMincoverStrings = {
3702
+ "0010",
3703
+ "0011",
3704
+ "01",
3705
+ "100000",
3706
+ "100001",
3707
+ },
3708
+ },
3709
+ {
3710
+ .lowerBound = 7,
3711
+ .includeLowerBound = true,
3712
+ .upperBound = 32,
3713
+ .includeUpperBound = true,
3714
+ .sparsity = 3,
3715
+ .min = { .set = true, .value = -1 },
3716
+ .max = { .set = true, .value = 32 },
3717
+ .expectMincoverStrings = {
3718
+ "001",
3719
+ "010",
3720
+ "011",
3721
+ "100000",
3722
+ "100001",
3723
+ },
3724
+ },
3725
+ {
3726
+ .lowerBound = 7,
3727
+ .includeLowerBound = true,
3728
+ .upperBound = 32,
3729
+ .includeUpperBound = true,
3730
+ .sparsity = 1,
3731
+ .min = { .set = true, .value = -1 },
3732
+ .max = { .set = true, .value = 1879048192 },
3733
+ .expectMincoverStrings = {
3734
+ "0000000000000000000000000001",
3735
+ "000000000000000000000000001",
3736
+ "000000000000000000000000010000",
3737
+ },
3738
+ },
3739
+ {
3740
+ .lowerBound = 7,
3741
+ .includeLowerBound = true,
3742
+ .upperBound = 32,
3743
+ .includeUpperBound = true,
3744
+ .sparsity = 2,
3745
+ .min = { .set = true, .value = -1 },
3746
+ .max = { .set = true, .value = 1879048192 },
3747
+ .expectMincoverStrings = {
3748
+ "0000000000000000000000000001",
3749
+ "0000000000000000000000000010",
3750
+ "0000000000000000000000000011",
3751
+ "000000000000000000000000010000",
3752
+ },
3753
+ },
3754
+ {
3755
+ .lowerBound = 7,
3756
+ .includeLowerBound = true,
3757
+ .upperBound = 32,
3758
+ .includeUpperBound = true,
3759
+ .sparsity = 3,
3760
+ .min = { .set = true, .value = -1 },
3761
+ .max = { .set = true, .value = 1879048192 },
3762
+ .expectMincoverStrings = {
3763
+ "000000000000000000000000000100",
3764
+ "000000000000000000000000000101",
3765
+ "000000000000000000000000000110",
3766
+ "000000000000000000000000000111",
3767
+ "000000000000000000000000001",
3768
+ "000000000000000000000000010000",
3769
+ },
3770
+ },
3771
+ {
3772
+ .lowerBound = 7,
3773
+ .includeLowerBound = true,
3774
+ .upperBound = 32,
3775
+ .includeUpperBound = true,
3776
+ .sparsity = 1,
3777
+ .min = { .set = true, .value = 0 },
3778
+ .max = { .set = true, .value = 32 },
3779
+ .expectMincoverStrings = {
3780
+ "000111",
3781
+ "001",
3782
+ "01",
3783
+ "100000",
3784
+ },
3785
+ },
3786
+ {
3787
+ .lowerBound = 7,
3788
+ .includeLowerBound = true,
3789
+ .upperBound = 32,
3790
+ .includeUpperBound = true,
3791
+ .sparsity = 2,
3792
+ .min = { .set = true, .value = 0 },
3793
+ .max = { .set = true, .value = 32 },
3794
+ .expectMincoverStrings = {
3795
+ "000111",
3796
+ "0010",
3797
+ "0011",
3798
+ "01",
3799
+ "100000",
3800
+ },
3801
+ },
3802
+ {
3803
+ .lowerBound = 7,
3804
+ .includeLowerBound = true,
3805
+ .upperBound = 32,
3806
+ .includeUpperBound = true,
3807
+ .sparsity = 3,
3808
+ .min = { .set = true, .value = 0 },
3809
+ .max = { .set = true, .value = 32 },
3810
+ .expectMincoverStrings = {
3811
+ "000111",
3812
+ "001",
3813
+ "010",
3814
+ "011",
3815
+ "100000",
3816
+ },
3817
+ },
3818
+ {
3819
+ .lowerBound = 7,
3820
+ .includeLowerBound = true,
3821
+ .upperBound = 32,
3822
+ .includeUpperBound = true,
3823
+ .sparsity = 1,
3824
+ .min = { .set = true, .value = 0 },
3825
+ .max = { .set = true, .value = 1879048192 },
3826
+ .expectMincoverStrings = {
3827
+ "0000000000000000000000000000111",
3828
+ "0000000000000000000000000001",
3829
+ "000000000000000000000000001",
3830
+ "0000000000000000000000000100000",
3831
+ },
3832
+ },
3833
+ {
3834
+ .lowerBound = 7,
3835
+ .includeLowerBound = true,
3836
+ .upperBound = 32,
3837
+ .includeUpperBound = true,
3838
+ .sparsity = 1,
3839
+ .min = { .set = true, .value = 7 },
3840
+ .max = { .set = true, .value = 32 },
3841
+ .expectMincoverStrings = {
3842
+ "0",
3843
+ "10",
3844
+ "1100",
3845
+ },
3846
+ },
3847
+ {
3848
+ .lowerBound = 7,
3849
+ .includeLowerBound = true,
3850
+ .upperBound = 32,
3851
+ .includeUpperBound = true,
3852
+ .sparsity = 2,
3853
+ .min = { .set = true, .value = 7 },
3854
+ .max = { .set = true, .value = 32 },
3855
+ .expectMincoverStrings = {
3856
+ "00",
3857
+ "01",
3858
+ "10",
3859
+ "1100",
3860
+ },
3861
+ },
3862
+ {
3863
+ .lowerBound = 7,
3864
+ .includeLowerBound = true,
3865
+ .upperBound = 32,
3866
+ .includeUpperBound = true,
3867
+ .sparsity = 4,
3868
+ .min = { .set = true, .value = 7 },
3869
+ .max = { .set = true, .value = 32 },
3870
+ .expectMincoverStrings = {
3871
+ "0000",
3872
+ "0001",
3873
+ "0010",
3874
+ "0011",
3875
+ "0100",
3876
+ "0101",
3877
+ "0110",
3878
+ "0111",
3879
+ "1000",
3880
+ "1001",
3881
+ "1010",
3882
+ "1011",
3883
+ "1100",
3884
+ },
3885
+ },
3886
+ {
3887
+ .lowerBound = 7,
3888
+ .includeLowerBound = true,
3889
+ .upperBound = 32,
3890
+ .includeUpperBound = true,
3891
+ .sparsity = 1,
3892
+ .min = { .set = true, .value = 7 },
3893
+ .max = { .set = true, .value = 1879048192 },
3894
+ .expectMincoverStrings = {
3895
+ "000000000000000000000000000",
3896
+ "0000000000000000000000000010",
3897
+ "000000000000000000000000001100",
3898
+ },
3899
+ },
3900
+ {
3901
+ .lowerBound = 7,
3902
+ .includeLowerBound = true,
3903
+ .upperBound = 32,
3904
+ .includeUpperBound = true,
3905
+ .sparsity = 2,
3906
+ .min = { .set = true, .value = 7 },
3907
+ .max = { .set = true, .value = 1879048192 },
3908
+ .expectMincoverStrings = {
3909
+ "0000000000000000000000000000",
3910
+ "0000000000000000000000000001",
3911
+ "0000000000000000000000000010",
3912
+ "000000000000000000000000001100",
3913
+ },
3914
+ },
3915
+ {
3916
+ .lowerBound = 7,
3917
+ .includeLowerBound = true,
3918
+ .upperBound = 32,
3919
+ .includeUpperBound = true,
3920
+ .sparsity = 3,
3921
+ .min = { .set = true, .value = 7 },
3922
+ .max = { .set = true, .value = 1879048192 },
3923
+ .expectMincoverStrings = {
3924
+ "000000000000000000000000000",
3925
+ "000000000000000000000000001000",
3926
+ "000000000000000000000000001001",
3927
+ "000000000000000000000000001010",
3928
+ "000000000000000000000000001011",
3929
+ "000000000000000000000000001100",
3930
+ },
3931
+ },
3932
+ {
3933
+ .lowerBound = 7,
3934
+ .includeLowerBound = true,
3935
+ .upperBound = 1879048192,
3936
+ .includeUpperBound = true,
3937
+ .sparsity = 1,
3938
+ .min = { .set = true, .value = -10000000 },
3939
+ .max = { .set = true, .value = 1879048192 },
3940
+ .expectMincoverStrings = {
3941
+ "0000000100110001001011010000111",
3942
+ "0000000100110001001011010001",
3943
+ "000000010011000100101101001",
3944
+ "00000001001100010010110101",
3945
+ "0000000100110001001011011",
3946
+ "00000001001100010010111",
3947
+ "00000001001100010011",
3948
+ "000000010011000101",
3949
+ "00000001001100011",
3950
+ "000000010011001",
3951
+ "00000001001101",
3952
+ "0000000100111",
3953
+ "0000000101",
3954
+ "000000011",
3955
+ "0000001",
3956
+ "000001",
3957
+ "00001",
3958
+ "0001",
3959
+ "001",
3960
+ "01",
3961
+ "10",
3962
+ "110",
3963
+ "11100000",
3964
+ "11100001000",
3965
+ "111000010010",
3966
+ "1110000100110000",
3967
+ "1110000100110001000",
3968
+ "111000010011000100100",
3969
+ "1110000100110001001010",
3970
+ "111000010011000100101100",
3971
+ "1110000100110001001011010000000",
3972
+ },
3973
+ },
3974
+ {
3975
+ .lowerBound = 7,
3976
+ .includeLowerBound = true,
3977
+ .upperBound = 1879048192,
3978
+ .includeUpperBound = true,
3979
+ .sparsity = 1,
3980
+ .min = { .set = true, .value = -1 },
3981
+ .max = { .set = true, .value = 1879048192 },
3982
+ .expectMincoverStrings = {
3983
+ "0000000000000000000000000001",
3984
+ "000000000000000000000000001",
3985
+ "00000000000000000000000001",
3986
+ "0000000000000000000000001",
3987
+ "000000000000000000000001",
3988
+ "00000000000000000000001",
3989
+ "0000000000000000000001",
3990
+ "000000000000000000001",
3991
+ "00000000000000000001",
3992
+ "0000000000000000001",
3993
+ "000000000000000001",
3994
+ "00000000000000001",
3995
+ "0000000000000001",
3996
+ "000000000000001",
3997
+ "00000000000001",
3998
+ "0000000000001",
3999
+ "000000000001",
4000
+ "00000000001",
4001
+ "0000000001",
4002
+ "000000001",
4003
+ "00000001",
4004
+ "0000001",
4005
+ "000001",
4006
+ "00001",
4007
+ "0001",
4008
+ "001",
4009
+ "01",
4010
+ "10",
4011
+ "110",
4012
+ "111000000000000000000000000000",
4013
+ },
4014
+ },
4015
+ {
4016
+ .lowerBound = 7,
4017
+ .includeLowerBound = true,
4018
+ .upperBound = 1879048192,
4019
+ .includeUpperBound = true,
4020
+ .sparsity = 2,
4021
+ .min = { .set = true, .value = -1 },
4022
+ .max = { .set = true, .value = 1879048192 },
4023
+ .expectMincoverStrings = {
4024
+ "0000000000000000000000000001",
4025
+ "0000000000000000000000000010",
4026
+ "0000000000000000000000000011",
4027
+ "00000000000000000000000001",
4028
+ "00000000000000000000000010",
4029
+ "00000000000000000000000011",
4030
+ "000000000000000000000001",
4031
+ "000000000000000000000010",
4032
+ "000000000000000000000011",
4033
+ "0000000000000000000001",
4034
+ "0000000000000000000010",
4035
+ "0000000000000000000011",
4036
+ "00000000000000000001",
4037
+ "00000000000000000010",
4038
+ "00000000000000000011",
4039
+ "000000000000000001",
4040
+ "000000000000000010",
4041
+ "000000000000000011",
4042
+ "0000000000000001",
4043
+ "0000000000000010",
4044
+ "0000000000000011",
4045
+ "00000000000001",
4046
+ "00000000000010",
4047
+ "00000000000011",
4048
+ "000000000001",
4049
+ "000000000010",
4050
+ "000000000011",
4051
+ "0000000001",
4052
+ "0000000010",
4053
+ "0000000011",
4054
+ "00000001",
4055
+ "00000010",
4056
+ "00000011",
4057
+ "000001",
4058
+ "000010",
4059
+ "000011",
4060
+ "0001",
4061
+ "0010",
4062
+ "0011",
4063
+ "01",
4064
+ "10",
4065
+ "1100",
4066
+ "1101",
4067
+ "111000000000000000000000000000",
4068
+ },
4069
+ },
4070
+ {
4071
+ .lowerBound = 7,
4072
+ .includeLowerBound = true,
4073
+ .upperBound = 1879048192,
4074
+ .includeUpperBound = true,
4075
+ .sparsity = 1,
4076
+ .min = { .set = true, .value = 0 },
4077
+ .max = { .set = true, .value = 1879048192 },
4078
+ .expectMincoverStrings = {
4079
+ "0000000000000000000000000000111",
4080
+ "0000000000000000000000000001",
4081
+ "000000000000000000000000001",
4082
+ "00000000000000000000000001",
4083
+ "0000000000000000000000001",
4084
+ "000000000000000000000001",
4085
+ "00000000000000000000001",
4086
+ "0000000000000000000001",
4087
+ "000000000000000000001",
4088
+ "00000000000000000001",
4089
+ "0000000000000000001",
4090
+ "000000000000000001",
4091
+ "00000000000000001",
4092
+ "0000000000000001",
4093
+ "000000000000001",
4094
+ "00000000000001",
4095
+ "0000000000001",
4096
+ "000000000001",
4097
+ "00000000001",
4098
+ "0000000001",
4099
+ "000000001",
4100
+ "00000001",
4101
+ "0000001",
4102
+ "000001",
4103
+ "00001",
4104
+ "0001",
4105
+ "001",
4106
+ "01",
4107
+ "10",
4108
+ "110",
4109
+ "1110000000000000000000000000000",
4110
+ },
4111
+ },
4112
+ {
4113
+ .lowerBound = 7,
4114
+ .includeLowerBound = true,
4115
+ .upperBound = 1879048192,
4116
+ .includeUpperBound = true,
4117
+ .sparsity = 1,
4118
+ .min = { .set = true, .value = 7 },
4119
+ .max = { .set = true, .value = 1879048192 },
4120
+ .expectMincoverStrings = {
4121
+ "0",
4122
+ "10",
4123
+ "1100",
4124
+ "11010",
4125
+ "110110",
4126
+ "1101110",
4127
+ "11011110",
4128
+ "110111110",
4129
+ "1101111110",
4130
+ "11011111110",
4131
+ "110111111110",
4132
+ "1101111111110",
4133
+ "11011111111110",
4134
+ "110111111111110",
4135
+ "1101111111111110",
4136
+ "11011111111111110",
4137
+ "110111111111111110",
4138
+ "1101111111111111110",
4139
+ "11011111111111111110",
4140
+ "110111111111111111110",
4141
+ "1101111111111111111110",
4142
+ "11011111111111111111110",
4143
+ "110111111111111111111110",
4144
+ "1101111111111111111111110",
4145
+ "11011111111111111111111110",
4146
+ "110111111111111111111111110",
4147
+ "1101111111111111111111111110",
4148
+ "110111111111111111111111111100",
4149
+ },
4150
+ },
4151
+ {
4152
+ .lowerBound = 7,
4153
+ .includeLowerBound = true,
4154
+ .upperBound = 1879048192,
4155
+ .includeUpperBound = true,
4156
+ .sparsity = 2,
4157
+ .min = { .set = true, .value = 7 },
4158
+ .max = { .set = true, .value = 1879048192 },
4159
+ .expectMincoverStrings = {
4160
+ "00",
4161
+ "01",
4162
+ "10",
4163
+ "1100",
4164
+ "110100",
4165
+ "110101",
4166
+ "110110",
4167
+ "11011100",
4168
+ "11011101",
4169
+ "11011110",
4170
+ "1101111100",
4171
+ "1101111101",
4172
+ "1101111110",
4173
+ "110111111100",
4174
+ "110111111101",
4175
+ "110111111110",
4176
+ "11011111111100",
4177
+ "11011111111101",
4178
+ "11011111111110",
4179
+ "1101111111111100",
4180
+ "1101111111111101",
4181
+ "1101111111111110",
4182
+ "110111111111111100",
4183
+ "110111111111111101",
4184
+ "110111111111111110",
4185
+ "11011111111111111100",
4186
+ "11011111111111111101",
4187
+ "11011111111111111110",
4188
+ "1101111111111111111100",
4189
+ "1101111111111111111101",
4190
+ "1101111111111111111110",
4191
+ "110111111111111111111100",
4192
+ "110111111111111111111101",
4193
+ "110111111111111111111110",
4194
+ "11011111111111111111111100",
4195
+ "11011111111111111111111101",
4196
+ "11011111111111111111111110",
4197
+ "1101111111111111111111111100",
4198
+ "1101111111111111111111111101",
4199
+ "1101111111111111111111111110",
4200
+ "110111111111111111111111111100",
4201
+ },
4202
+ },
4203
+ {
4204
+ .lowerBound = 32,
4205
+ .includeLowerBound = true,
4206
+ .upperBound = 32,
4207
+ .includeUpperBound = true,
4208
+ .sparsity = 1,
4209
+ .min = { .set = true, .value = -10000000 },
4210
+ .max = { .set = true, .value = 32 },
4211
+ .expectMincoverStrings = {
4212
+ "100110001001011010100000",
4213
+ },
4214
+ },
4215
+ {
4216
+ .lowerBound = 32,
4217
+ .includeLowerBound = true,
4218
+ .upperBound = 32,
4219
+ .includeUpperBound = true,
4220
+ .sparsity = 2,
4221
+ .min = { .set = true, .value = -10000000 },
4222
+ .max = { .set = true, .value = 32 },
4223
+ .expectMincoverStrings = {
4224
+ "100110001001011010100000",
4225
+ },
4226
+ },
4227
+ {
4228
+ .lowerBound = 32,
4229
+ .includeLowerBound = true,
4230
+ .upperBound = 32,
4231
+ .includeUpperBound = true,
4232
+ .sparsity = 3,
4233
+ .min = { .set = true, .value = -10000000 },
4234
+ .max = { .set = true, .value = 32 },
4235
+ .expectMincoverStrings = {
4236
+ "100110001001011010100000",
4237
+ },
4238
+ },
4239
+ {
4240
+ .lowerBound = 32,
4241
+ .includeLowerBound = true,
4242
+ .upperBound = 32,
4243
+ .includeUpperBound = true,
4244
+ .sparsity = 4,
4245
+ .min = { .set = true, .value = -10000000 },
4246
+ .max = { .set = true, .value = 32 },
4247
+ .expectMincoverStrings = {
4248
+ "100110001001011010100000",
4249
+ },
4250
+ },
4251
+ {
4252
+ .lowerBound = 32,
4253
+ .includeLowerBound = true,
4254
+ .upperBound = 32,
4255
+ .includeUpperBound = true,
4256
+ .sparsity = 1,
4257
+ .min = { .set = true, .value = -10000000 },
4258
+ .max = { .set = true, .value = 1879048192 },
4259
+ .expectMincoverStrings = {
4260
+ "0000000100110001001011010100000",
4261
+ },
4262
+ },
4263
+ {
4264
+ .lowerBound = 32,
4265
+ .includeLowerBound = true,
4266
+ .upperBound = 32,
4267
+ .includeUpperBound = true,
4268
+ .sparsity = 1,
4269
+ .min = { .set = true, .value = -1 },
4270
+ .max = { .set = true, .value = 32 },
4271
+ .expectMincoverStrings = {
4272
+ "100001",
4273
+ },
4274
+ },
4275
+ {
4276
+ .lowerBound = 32,
4277
+ .includeLowerBound = true,
4278
+ .upperBound = 32,
4279
+ .includeUpperBound = true,
4280
+ .sparsity = 2,
4281
+ .min = { .set = true, .value = -1 },
4282
+ .max = { .set = true, .value = 32 },
4283
+ .expectMincoverStrings = {
4284
+ "100001",
4285
+ },
4286
+ },
4287
+ {
4288
+ .lowerBound = 32,
4289
+ .includeLowerBound = true,
4290
+ .upperBound = 32,
4291
+ .includeUpperBound = true,
4292
+ .sparsity = 3,
4293
+ .min = { .set = true, .value = -1 },
4294
+ .max = { .set = true, .value = 32 },
4295
+ .expectMincoverStrings = {
4296
+ "100001",
4297
+ },
4298
+ },
4299
+ {
4300
+ .lowerBound = 32,
4301
+ .includeLowerBound = true,
4302
+ .upperBound = 32,
4303
+ .includeUpperBound = true,
4304
+ .sparsity = 1,
4305
+ .min = { .set = true, .value = -1 },
4306
+ .max = { .set = true, .value = 1879048192 },
4307
+ .expectMincoverStrings = {
4308
+ "0000000000000000000000000100001",
4309
+ },
4310
+ },
4311
+ {
4312
+ .lowerBound = 32,
4313
+ .includeLowerBound = true,
4314
+ .upperBound = 32,
4315
+ .includeUpperBound = true,
4316
+ .sparsity = 1,
4317
+ .min = { .set = true, .value = 0 },
4318
+ .max = { .set = true, .value = 32 },
4319
+ .expectMincoverStrings = {
4320
+ "100000",
4321
+ },
4322
+ },
4323
+ {
4324
+ .lowerBound = 32,
4325
+ .includeLowerBound = true,
4326
+ .upperBound = 32,
4327
+ .includeUpperBound = true,
4328
+ .sparsity = 2,
4329
+ .min = { .set = true, .value = 0 },
4330
+ .max = { .set = true, .value = 32 },
4331
+ .expectMincoverStrings = {
4332
+ "100000",
4333
+ },
4334
+ },
4335
+ {
4336
+ .lowerBound = 32,
4337
+ .includeLowerBound = true,
4338
+ .upperBound = 32,
4339
+ .includeUpperBound = true,
4340
+ .sparsity = 3,
4341
+ .min = { .set = true, .value = 0 },
4342
+ .max = { .set = true, .value = 32 },
4343
+ .expectMincoverStrings = {
4344
+ "100000",
4345
+ },
4346
+ },
4347
+ {
4348
+ .lowerBound = 32,
4349
+ .includeLowerBound = true,
4350
+ .upperBound = 32,
4351
+ .includeUpperBound = true,
4352
+ .sparsity = 1,
4353
+ .min = { .set = true, .value = 0 },
4354
+ .max = { .set = true, .value = 1879048192 },
4355
+ .expectMincoverStrings = {
4356
+ "0000000000000000000000000100000",
4357
+ },
4358
+ },
4359
+ {
4360
+ .lowerBound = 32,
4361
+ .includeLowerBound = true,
4362
+ .upperBound = 32,
4363
+ .includeUpperBound = true,
4364
+ .sparsity = 1,
4365
+ .min = { .set = true, .value = 7 },
4366
+ .max = { .set = true, .value = 32 },
4367
+ .expectMincoverStrings = {
4368
+ "11001",
4369
+ },
4370
+ },
4371
+ {
4372
+ .lowerBound = 32,
4373
+ .includeLowerBound = true,
4374
+ .upperBound = 32,
4375
+ .includeUpperBound = true,
4376
+ .sparsity = 1,
4377
+ .min = { .set = true, .value = 7 },
4378
+ .max = { .set = true, .value = 1879048192 },
4379
+ .expectMincoverStrings = {
4380
+ "0000000000000000000000000011001",
4381
+ },
4382
+ },
4383
+ {
4384
+ .lowerBound = 32,
4385
+ .includeLowerBound = true,
4386
+ .upperBound = 32,
4387
+ .includeUpperBound = true,
4388
+ .sparsity = 1,
4389
+ .min = { .set = true, .value = 32 },
4390
+ .max = { .set = true, .value = 1879048192 },
4391
+ .expectMincoverStrings = {
4392
+ "0000000000000000000000000000000",
4393
+ },
4394
+ },
4395
+ {
4396
+ .lowerBound = 32,
4397
+ .includeLowerBound = true,
4398
+ .upperBound = 1879048192,
4399
+ .includeUpperBound = true,
4400
+ .sparsity = 1,
4401
+ .min = { .set = true, .value = -10000000 },
4402
+ .max = { .set = true, .value = 1879048192 },
4403
+ .expectMincoverStrings = {
4404
+ "00000001001100010010110101",
4405
+ "0000000100110001001011011",
4406
+ "00000001001100010010111",
4407
+ "00000001001100010011",
4408
+ "000000010011000101",
4409
+ "00000001001100011",
4410
+ "000000010011001",
4411
+ "00000001001101",
4412
+ "0000000100111",
4413
+ "0000000101",
4414
+ "000000011",
4415
+ "0000001",
4416
+ "000001",
4417
+ "00001",
4418
+ "0001",
4419
+ "001",
4420
+ "01",
4421
+ "10",
4422
+ "110",
4423
+ "11100000",
4424
+ "11100001000",
4425
+ "111000010010",
4426
+ "1110000100110000",
4427
+ "1110000100110001000",
4428
+ "111000010011000100100",
4429
+ "1110000100110001001010",
4430
+ "111000010011000100101100",
4431
+ "1110000100110001001011010000000",
4432
+ },
4433
+ },
4434
+ {
4435
+ .lowerBound = 32,
4436
+ .includeLowerBound = true,
4437
+ .upperBound = 1879048192,
4438
+ .includeUpperBound = true,
4439
+ .sparsity = 1,
4440
+ .min = { .set = true, .value = -1 },
4441
+ .max = { .set = true, .value = 1879048192 },
4442
+ .expectMincoverStrings = {
4443
+ "0000000000000000000000000100001",
4444
+ "000000000000000000000000010001",
4445
+ "00000000000000000000000001001",
4446
+ "0000000000000000000000000101",
4447
+ "000000000000000000000000011",
4448
+ "0000000000000000000000001",
4449
+ "000000000000000000000001",
4450
+ "00000000000000000000001",
4451
+ "0000000000000000000001",
4452
+ "000000000000000000001",
4453
+ "00000000000000000001",
4454
+ "0000000000000000001",
4455
+ "000000000000000001",
4456
+ "00000000000000001",
4457
+ "0000000000000001",
4458
+ "000000000000001",
4459
+ "00000000000001",
4460
+ "0000000000001",
4461
+ "000000000001",
4462
+ "00000000001",
4463
+ "0000000001",
4464
+ "000000001",
4465
+ "00000001",
4466
+ "0000001",
4467
+ "000001",
4468
+ "00001",
4469
+ "0001",
4470
+ "001",
4471
+ "01",
4472
+ "10",
4473
+ "110",
4474
+ "111000000000000000000000000000",
4475
+ },
4476
+ },
4477
+ {
4478
+ .lowerBound = 32,
4479
+ .includeLowerBound = true,
4480
+ .upperBound = 1879048192,
4481
+ .includeUpperBound = true,
4482
+ .sparsity = 1,
4483
+ .min = { .set = true, .value = 0 },
4484
+ .max = { .set = true, .value = 1879048192 },
4485
+ .expectMincoverStrings = {
4486
+ "00000000000000000000000001",
4487
+ "0000000000000000000000001",
4488
+ "000000000000000000000001",
4489
+ "00000000000000000000001",
4490
+ "0000000000000000000001",
4491
+ "000000000000000000001",
4492
+ "00000000000000000001",
4493
+ "0000000000000000001",
4494
+ "000000000000000001",
4495
+ "00000000000000001",
4496
+ "0000000000000001",
4497
+ "000000000000001",
4498
+ "00000000000001",
4499
+ "0000000000001",
4500
+ "000000000001",
4501
+ "00000000001",
4502
+ "0000000001",
4503
+ "000000001",
4504
+ "00000001",
4505
+ "0000001",
4506
+ "000001",
4507
+ "00001",
4508
+ "0001",
4509
+ "001",
4510
+ "01",
4511
+ "10",
4512
+ "110",
4513
+ "1110000000000000000000000000000",
4514
+ },
4515
+ },
4516
+ {
4517
+ .lowerBound = 32,
4518
+ .includeLowerBound = true,
4519
+ .upperBound = 1879048192,
4520
+ .includeUpperBound = true,
4521
+ .sparsity = 1,
4522
+ .min = { .set = true, .value = 32 },
4523
+ .max = { .set = true, .value = 1879048192 },
4524
+ .expectMincoverStrings = {
4525
+ "0",
4526
+ "10",
4527
+ "1100",
4528
+ "11010",
4529
+ "110110",
4530
+ "1101110",
4531
+ "11011110",
4532
+ "110111110",
4533
+ "1101111110",
4534
+ "11011111110",
4535
+ "110111111110",
4536
+ "1101111111110",
4537
+ "11011111111110",
4538
+ "110111111111110",
4539
+ "1101111111111110",
4540
+ "11011111111111110",
4541
+ "110111111111111110",
4542
+ "1101111111111111110",
4543
+ "11011111111111111110",
4544
+ "110111111111111111110",
4545
+ "1101111111111111111110",
4546
+ "11011111111111111111110",
4547
+ "110111111111111111111110",
4548
+ "1101111111111111111111110",
4549
+ "11011111111111111111111110",
4550
+ "1101111111111111111111111100000",
4551
+ },
4552
+ },
4553
+ {
4554
+ .lowerBound = 1879048192,
4555
+ .includeLowerBound = true,
4556
+ .upperBound = 1879048192,
4557
+ .includeUpperBound = true,
4558
+ .sparsity = 1,
4559
+ .min = { .set = true, .value = -10000000 },
4560
+ .max = { .set = true, .value = 1879048192 },
4561
+ .expectMincoverStrings = {
4562
+ "1110000100110001001011010000000",
4563
+ },
4564
+ },
4565
+ {
4566
+ .lowerBound = 1879048192,
4567
+ .includeLowerBound = true,
4568
+ .upperBound = 1879048192,
4569
+ .includeUpperBound = true,
4570
+ .sparsity = 1,
4571
+ .min = { .set = true, .value = -1 },
4572
+ .max = { .set = true, .value = 1879048192 },
4573
+ .expectMincoverStrings = {
4574
+ "1110000000000000000000000000001",
4575
+ },
4576
+ },
4577
+ {
4578
+ .lowerBound = 1879048192,
4579
+ .includeLowerBound = true,
4580
+ .upperBound = 1879048192,
4581
+ .includeUpperBound = true,
4582
+ .sparsity = 1,
4583
+ .min = { .set = true, .value = 0 },
4584
+ .max = { .set = true, .value = 1879048192 },
4585
+ .expectMincoverStrings = {
4586
+ "1110000000000000000000000000000",
4587
+ },
4588
+ },
4589
+ {
4590
+ .lowerBound = 1879048192,
4591
+ .includeLowerBound = true,
4592
+ .upperBound = 1879048192,
4593
+ .includeUpperBound = true,
4594
+ .sparsity = 1,
4595
+ .min = { .set = true, .value = 7 },
4596
+ .max = { .set = true, .value = 1879048192 },
4597
+ .expectMincoverStrings = {
4598
+ "1101111111111111111111111111001",
4599
+ },
4600
+ },
4601
+ {
4602
+ .lowerBound = 1879048192,
4603
+ .includeLowerBound = true,
4604
+ .upperBound = 1879048192,
4605
+ .includeUpperBound = true,
4606
+ .sparsity = 1,
4607
+ .min = { .set = true, .value = 32 },
4608
+ .max = { .set = true, .value = 1879048192 },
4609
+ .expectMincoverStrings = {
4610
+ "1101111111111111111111111100000",
4611
+ },
4612
+ },