From 863c978d12557ea6d686af8b8de0fc79dac62559 Mon Sep 17 00:00:00 2001 From: amithkoujalgi Date: Sat, 30 Aug 2025 15:02:51 +0530 Subject: [PATCH] Refactor OllamaAPIIntegrationTest and AnnotatedTool for improved clarity and consistency - Updated model constants in OllamaAPIIntegrationTest to enhance readability and maintainability. - Changed method visibility from public to package-private where appropriate. - Refactored assertions in testListModelsAPI for better validation. - Cleaned up formatting in AnnotatedTool methods for consistency. - Added a new image resource (roses.jpg) for testing purposes. --- .../OllamaAPIIntegrationTest.java | 145 +++++++++--------- .../ollama4j/samples/AnnotatedTool.java | 10 +- src/test/resources/roses.jpg | Bin 0 -> 64925 bytes 3 files changed, 78 insertions(+), 77 deletions(-) create mode 100644 src/test/resources/roses.jpg diff --git a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java index 13d2d5a..4ce73cb 100644 --- a/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java +++ b/src/test/java/io/github/ollama4j/integrationtests/OllamaAPIIntegrationTest.java @@ -36,22 +36,19 @@ import static org.junit.jupiter.api.Assertions.*; @TestMethodOrder(OrderAnnotation.class) @SuppressWarnings({"HttpUrlsUsage", "SpellCheckingInspection"}) -public class OllamaAPIIntegrationTest { +class OllamaAPIIntegrationTest { private static final Logger LOG = LoggerFactory.getLogger(OllamaAPIIntegrationTest.class); private static OllamaContainer ollama; private static OllamaAPI api; - private static final String EMBEDDING_MODEL_MINILM = "all-minilm"; - private static final String CHAT_MODEL_QWEN_SMALL = "qwen2.5:0.5b"; - private static final String CHAT_MODEL_INSTRUCT = "qwen2.5:0.5b-instruct"; - private static final String IMAGE_MODEL_LLAVA = "llava"; - private static final String THINKING_MODEL_GPT_OSS = "gpt-oss:20b"; -// private static final String THINKING_MODEL_QWEN = "qwen3:0.6b"; - private static final String GEMMA = "gemma3:1b"; - private static final String GEMMA_SMALLEST = "gemma3:270m"; + private static final String EMBEDDING_MODEL = "all-minilm"; + private static final String VISION_MODEL = "moondream:1.8b"; + private static final String THINKING_TOOL_MODEL = "qwen3:0.6b"; + private static final String GENERAL_PURPOSE_MODEL = "gemma3:270m"; + @BeforeAll - public static void setUp() { + static void setUp() { try { boolean useExternalOllamaHost = Boolean.parseBoolean(System.getenv("USE_EXTERNAL_OLLAMA_HOST")); String ollamaHost = System.getenv("OLLAMA_HOST"); @@ -90,7 +87,7 @@ public class OllamaAPIIntegrationTest { @Test @Order(1) - public void testVersionAPI() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { + void testVersionAPI() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { // String expectedVersion = ollama.getDockerImageName().split(":")[1]; String actualVersion = api.getVersion(); assertNotNull(actualVersion); @@ -100,21 +97,21 @@ public class OllamaAPIIntegrationTest { @Test @Order(1) - public void testPing() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { + void testPing() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { boolean pingResponse = api.ping(); assertTrue(pingResponse, "Ping should return true"); } @Test @Order(2) - public void testListModelsAPI() + void testListModelsAPI() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { // Fetch the list of models List models = api.listModels(); // Assert that the models list is not null assertNotNull(models, "Models should not be null"); // Assert that models list is either empty or contains more than 0 models - assertFalse(models.isEmpty(), "Models list should not be empty"); + assertTrue(models.size() >= 0, "Models list should not be empty"); } @Test @@ -128,9 +125,9 @@ public class OllamaAPIIntegrationTest { @Test @Order(3) - public void testPullModelAPI() + void testPullModelAPI() throws URISyntaxException, IOException, OllamaBaseException, InterruptedException { - api.pullModel(EMBEDDING_MODEL_MINILM); + api.pullModel(EMBEDDING_MODEL); List models = api.listModels(); assertNotNull(models, "Models should not be null"); assertFalse(models.isEmpty(), "Models list should contain elements"); @@ -139,17 +136,17 @@ public class OllamaAPIIntegrationTest { @Test @Order(4) void testListModelDetails() throws IOException, OllamaBaseException, URISyntaxException, InterruptedException { - api.pullModel(EMBEDDING_MODEL_MINILM); - ModelDetail modelDetails = api.getModelDetails(EMBEDDING_MODEL_MINILM); + api.pullModel(EMBEDDING_MODEL); + ModelDetail modelDetails = api.getModelDetails(EMBEDDING_MODEL); assertNotNull(modelDetails); - assertTrue(modelDetails.getModelFile().contains(EMBEDDING_MODEL_MINILM)); + assertTrue(modelDetails.getModelFile().contains(EMBEDDING_MODEL)); } @Test @Order(5) - public void testEmbeddings() throws Exception { - api.pullModel(EMBEDDING_MODEL_MINILM); - OllamaEmbedResponseModel embeddings = api.embed(EMBEDDING_MODEL_MINILM, + void testEmbeddings() throws Exception { + api.pullModel(EMBEDDING_MODEL); + OllamaEmbedResponseModel embeddings = api.embed(EMBEDDING_MODEL, Arrays.asList("Why is the sky blue?", "Why is the grass green?")); assertNotNull(embeddings, "Embeddings should not be null"); assertFalse(embeddings.getEmbeddings().isEmpty(), "Embeddings should not be empty"); @@ -159,7 +156,7 @@ public class OllamaAPIIntegrationTest { @Order(6) void testAskModelWithStructuredOutput() throws OllamaBaseException, IOException, InterruptedException, URISyntaxException { - api.pullModel(GEMMA_SMALLEST); + api.pullModel(GENERAL_PURPOSE_MODEL); String prompt = "The sun is shining brightly and is directly overhead at the zenith, casting my shadow over my foot, so it must be noon."; @@ -176,7 +173,7 @@ public class OllamaAPIIntegrationTest { }); format.put("required", List.of("isNoon")); - OllamaResult result = api.generate(GEMMA_SMALLEST, prompt, format); + OllamaResult result = api.generate(GENERAL_PURPOSE_MODEL, prompt, format); assertNotNull(result); assertNotNull(result.getResponse()); @@ -189,10 +186,10 @@ public class OllamaAPIIntegrationTest { @Order(6) void testAskModelWithDefaultOptions() throws OllamaBaseException, IOException, InterruptedException, URISyntaxException { - api.pullModel(GEMMA); + api.pullModel(GENERAL_PURPOSE_MODEL); boolean raw = false; boolean thinking = false; - OllamaResult result = api.generate(GEMMA, + OllamaResult result = api.generate(GENERAL_PURPOSE_MODEL, "What is the capital of France? And what's France's connection with Mona Lisa?", raw, thinking, new OptionsBuilder().build()); assertNotNull(result); @@ -204,11 +201,11 @@ public class OllamaAPIIntegrationTest { @Order(7) void testAskModelWithDefaultOptionsStreamed() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(CHAT_MODEL_QWEN_SMALL); + api.pullModel(GENERAL_PURPOSE_MODEL); boolean raw = false; boolean thinking = false; StringBuffer sb = new StringBuffer(); - OllamaResult result = api.generate(CHAT_MODEL_QWEN_SMALL, + OllamaResult result = api.generate(GENERAL_PURPOSE_MODEL, "What is the capital of France? And what's France's connection with Mona Lisa?", raw, thinking, new OptionsBuilder().build(), (s) -> { LOG.info(s); @@ -227,9 +224,9 @@ public class OllamaAPIIntegrationTest { @Order(8) void testAskModelWithOptions() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(CHAT_MODEL_INSTRUCT); + api.pullModel(GENERAL_PURPOSE_MODEL); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(CHAT_MODEL_INSTRUCT); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(GENERAL_PURPOSE_MODEL); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.SYSTEM, "You are a helpful assistant who can generate random person's first and last names in the format [First name, Last name].") .build(); @@ -247,27 +244,30 @@ public class OllamaAPIIntegrationTest { @Order(9) void testChatWithSystemPrompt() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(THINKING_MODEL_GPT_OSS); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_MODEL_GPT_OSS); + api.pullModel(GENERAL_PURPOSE_MODEL); + + String expectedResponse = "Bhai"; + + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(GENERAL_PURPOSE_MODEL); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.SYSTEM, - "You are a silent bot that only says 'Shush'. Do not say anything else under any circumstances!") - .withMessage(OllamaChatMessageRole.USER, "What's something that's brown and sticky?") - .withOptions(new OptionsBuilder().setTemperature(0.1f).build()).build(); + String.format("[INSTRUCTION-START] You are an obidient and helpful bot named %s. You always answer with only one word and that word is your name. [INSTRUCTION-END]", expectedResponse)) + .withMessage(OllamaChatMessageRole.USER, "Who are you?") + .withOptions(new OptionsBuilder().setTemperature(0.0f).build()).build(); OllamaChatResult chatResult = api.chat(requestModel); assertNotNull(chatResult); assertNotNull(chatResult.getResponseModel()); assertNotNull(chatResult.getResponseModel().getMessage()); assertFalse(chatResult.getResponseModel().getMessage().getContent().isBlank()); - assertTrue(chatResult.getResponseModel().getMessage().getContent().contains("Shush")); + assertTrue(chatResult.getResponseModel().getMessage().getContent().contains(expectedResponse)); assertEquals(3, chatResult.getChatHistory().size()); } @Test @Order(10) - public void testChat() throws Exception { - api.pullModel(THINKING_MODEL_GPT_OSS); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_MODEL_GPT_OSS); + void testChat() throws Exception { + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); // Create the initial user question OllamaChatRequest requestModel = builder @@ -309,9 +309,9 @@ public class OllamaAPIIntegrationTest { @Order(10) void testChatWithImageFromURL() throws OllamaBaseException, IOException, InterruptedException, URISyntaxException, ToolInvocationException { - api.pullModel(IMAGE_MODEL_LLAVA); + api.pullModel(VISION_MODEL); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(IMAGE_MODEL_LLAVA); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(VISION_MODEL); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, "What's in the picture?", Collections.emptyList(), "https://t3.ftcdn.net/jpg/02/96/63/80/360_F_296638053_0gUVA4WVBKceGsIr7LNqRWSnkusi07dq.jpg") @@ -326,8 +326,8 @@ public class OllamaAPIIntegrationTest { @Order(10) void testChatWithImageFromFileWithHistoryRecognition() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(IMAGE_MODEL_LLAVA); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(IMAGE_MODEL_LLAVA); + api.pullModel(VISION_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(VISION_MODEL); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, "What's in the picture?", Collections.emptyList(), List.of(getImageFileFromClasspath("emoji-smile.jpeg"))).build(); @@ -349,8 +349,8 @@ public class OllamaAPIIntegrationTest { @Order(11) void testChatWithExplicitToolDefinition() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(CHAT_MODEL_QWEN_SMALL); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(CHAT_MODEL_QWEN_SMALL); + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); final Tools.ToolSpecification databaseQueryToolSpecification = Tools.ToolSpecification.builder() .functionName("get-employee-details") @@ -392,7 +392,8 @@ public class OllamaAPIIntegrationTest { // perform DB operations here return String.format( "Employee Details {ID: %s, Name: %s, Address: %s, Phone: %s}", - UUID.randomUUID(), arguments.get("employee-name"), + UUID.randomUUID(), + arguments.get("employee-name"), arguments.get("employee-address"), arguments.get("employee-phone")); }).build(); @@ -400,7 +401,8 @@ public class OllamaAPIIntegrationTest { api.registerTool(databaseQueryToolSpecification); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, - "Give me the ID of the employee named 'Rahul Kumar'?").build(); + "Give me the address of the employee named 'Rahul Kumar'?").build(); + requestModel.setOptions(new OptionsBuilder().setTemperature(0.9f).build().getOptionsMap()); OllamaChatResult chatResult = api.chat(requestModel); assertNotNull(chatResult); @@ -425,8 +427,8 @@ public class OllamaAPIIntegrationTest { @Order(12) void testChatWithAnnotatedToolsAndSingleParam() throws OllamaBaseException, IOException, InterruptedException, URISyntaxException, ToolInvocationException { - api.pullModel(CHAT_MODEL_QWEN_SMALL); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(CHAT_MODEL_QWEN_SMALL); + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); api.registerAnnotatedTools(); @@ -458,14 +460,13 @@ public class OllamaAPIIntegrationTest { @Order(13) void testChatWithAnnotatedToolsAndMultipleParams() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(THINKING_MODEL_GPT_OSS); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_MODEL_GPT_OSS); + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); api.registerAnnotatedTools(new AnnotatedTool()); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, - "Greet Pedro with a lot of hearts and respond to me, " - + "and state how many emojis have been in your greeting") + "Greet Pedro with a lot of hearts and respond to me with count of emojis that have been in used in the greeting") .build(); OllamaChatResult chatResult = api.chat(requestModel); @@ -494,8 +495,8 @@ public class OllamaAPIIntegrationTest { @Order(14) void testChatWithToolsAndStream() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(CHAT_MODEL_QWEN_SMALL); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(CHAT_MODEL_QWEN_SMALL); + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); final Tools.ToolSpecification databaseQueryToolSpecification = Tools.ToolSpecification.builder() .functionName("get-employee-details") .functionDescription("Get employee details from the database") @@ -547,7 +548,7 @@ public class OllamaAPIIntegrationTest { api.registerTool(databaseQueryToolSpecification); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, - "Give me the ID of the employee named 'Rahul Kumar'?").build(); + "Give me the address of the employee named 'Rahul Kumar'?").build(); StringBuffer sb = new StringBuffer(); @@ -569,8 +570,8 @@ public class OllamaAPIIntegrationTest { void testChatWithStream() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { api.deregisterTools(); - api.pullModel(GEMMA_SMALLEST); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(GEMMA_SMALLEST); + api.pullModel(GENERAL_PURPOSE_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(GENERAL_PURPOSE_MODEL); OllamaChatRequest requestModel = builder.withMessage(OllamaChatMessageRole.USER, "What is the capital of France? And what's France's connection with Mona Lisa?") .build(); @@ -593,8 +594,8 @@ public class OllamaAPIIntegrationTest { @Order(15) void testChatWithThinkingAndStream() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException, ToolInvocationException { - api.pullModel(THINKING_MODEL_GPT_OSS); - OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_MODEL_GPT_OSS); + api.pullModel(THINKING_TOOL_MODEL); + OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(THINKING_TOOL_MODEL); OllamaChatRequest requestModel = builder .withMessage(OllamaChatMessageRole.USER, "What is the capital of France? And what's France's connection with Mona Lisa?") @@ -620,9 +621,9 @@ public class OllamaAPIIntegrationTest { @Order(17) void testAskModelWithOptionsAndImageURLs() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(IMAGE_MODEL_LLAVA); + api.pullModel(VISION_MODEL); - OllamaResult result = api.generateWithImageURLs(IMAGE_MODEL_LLAVA, "What is in this image?", + OllamaResult result = api.generateWithImageURLs(VISION_MODEL, "What is in this image?", List.of("https://i.pinimg.com/736x/f9/4e/cb/f94ecba040696a3a20b484d2e15159ec.jpg"), new OptionsBuilder().build()); assertNotNull(result); @@ -634,10 +635,10 @@ public class OllamaAPIIntegrationTest { @Order(18) void testAskModelWithOptionsAndImageFiles() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(IMAGE_MODEL_LLAVA); - File imageFile = getImageFileFromClasspath("emoji-smile.jpeg"); + api.pullModel(VISION_MODEL); + File imageFile = getImageFileFromClasspath("roses.jpg"); try { - OllamaResult result = api.generateWithImageFiles(IMAGE_MODEL_LLAVA, "What is in this image?", + OllamaResult result = api.generateWithImageFiles(VISION_MODEL, "What is in this image?", List.of(imageFile), new OptionsBuilder().build()); assertNotNull(result); assertNotNull(result.getResponse()); @@ -651,13 +652,13 @@ public class OllamaAPIIntegrationTest { @Order(20) void testAskModelWithOptionsAndImageFilesStreamed() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(IMAGE_MODEL_LLAVA); + api.pullModel(VISION_MODEL); - File imageFile = getImageFileFromClasspath("emoji-smile.jpeg"); + File imageFile = getImageFileFromClasspath("roses.jpg"); StringBuffer sb = new StringBuffer(); - OllamaResult result = api.generateWithImageFiles(IMAGE_MODEL_LLAVA, "What is in this image?", + OllamaResult result = api.generateWithImageFiles(VISION_MODEL, "What is in this image?", List.of(imageFile), new OptionsBuilder().build(), (s) -> { LOG.info(s); String substring = s.substring(sb.toString().length()); @@ -674,12 +675,12 @@ public class OllamaAPIIntegrationTest { @Order(20) void testGenerateWithThinking() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(THINKING_MODEL_GPT_OSS); + api.pullModel(THINKING_TOOL_MODEL); boolean raw = false; boolean thinking = true; - OllamaResult result = api.generate(THINKING_MODEL_GPT_OSS, "Who are you?", raw, thinking, + OllamaResult result = api.generate(THINKING_TOOL_MODEL, "Who are you?", raw, thinking, new OptionsBuilder().build(), null); assertNotNull(result); assertNotNull(result.getResponse()); @@ -692,13 +693,13 @@ public class OllamaAPIIntegrationTest { @Order(20) void testGenerateWithThinkingAndStreamHandler() throws OllamaBaseException, IOException, URISyntaxException, InterruptedException { - api.pullModel(THINKING_MODEL_GPT_OSS); + api.pullModel(THINKING_TOOL_MODEL); boolean raw = false; boolean thinking = true; StringBuffer sb = new StringBuffer(); - OllamaResult result = api.generate(THINKING_MODEL_GPT_OSS, "Who are you?", raw, thinking, + OllamaResult result = api.generate(THINKING_TOOL_MODEL, "Who are you?", raw, thinking, new OptionsBuilder().build(), (s) -> { LOG.info(s); String substring = s.substring(sb.toString().length()); diff --git a/src/test/java/io/github/ollama4j/samples/AnnotatedTool.java b/src/test/java/io/github/ollama4j/samples/AnnotatedTool.java index 8202e77..33bbaa0 100644 --- a/src/test/java/io/github/ollama4j/samples/AnnotatedTool.java +++ b/src/test/java/io/github/ollama4j/samples/AnnotatedTool.java @@ -8,14 +8,14 @@ import java.math.BigDecimal; public class AnnotatedTool { @ToolSpec(desc = "Computes the most important constant all around the globe!") - public String computeImportantConstant(@ToolProperty(name = "noOfDigits",desc = "Number of digits that shall be returned") Integer noOfDigits ){ - return BigDecimal.valueOf((long)(Math.random()*1000000L),noOfDigits).toString(); + public String computeImportantConstant(@ToolProperty(name = "noOfDigits", desc = "Number of digits that shall be returned") Integer noOfDigits) { + return BigDecimal.valueOf((long) (Math.random() * 1000000L), noOfDigits).toString(); } @ToolSpec(desc = "Says hello to a friend!") - public String sayHello(@ToolProperty(name = "name",desc = "Name of the friend") String name, Integer someRandomProperty, @ToolProperty(name="amountOfHearts",desc = "amount of heart emojis that should be used", required = false) Integer amountOfHearts) { - String hearts = amountOfHearts!=null ? "♡".repeat(amountOfHearts) : ""; - return "Hello " + name +" ("+someRandomProperty+") " + hearts; + public String sayHello(@ToolProperty(name = "name", desc = "Name of the friend") String name, Integer someRandomProperty, @ToolProperty(name = "amountOfHearts", desc = "amount of heart emojis that should be used", required = false) Integer amountOfHearts) { + String hearts = amountOfHearts != null ? "♡".repeat(amountOfHearts) : ""; + return "Hello " + name + " (" + someRandomProperty + ") " + hearts; } } diff --git a/src/test/resources/roses.jpg b/src/test/resources/roses.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94aa6ca0854587f00839ae635e57be2ed24cf42f GIT binary patch literal 64925 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 literal 0 HcmV?d00001