versionhq 1.2.1.6__tar.gz → 1.2.1.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/PKG-INFO +3 -3
  2. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/README.md +2 -2
  3. versionhq-1.2.1.7/docs/_logos/favicon.ico +0 -0
  4. versionhq-1.2.1.7/docs/_logos/logo192.png +0 -0
  5. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/task-graph.md +2 -2
  6. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/index.md +3 -12
  7. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/pyproject.toml +1 -1
  8. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/__init__.py +1 -1
  9. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/model.py +1 -1
  10. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq.egg-info/PKG-INFO +3 -3
  11. versionhq-1.2.1.6/docs/_logos/favicon.ico +0 -0
  12. versionhq-1.2.1.6/docs/_logos/logo192.png +0 -0
  13. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.env.sample +0 -0
  14. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.github/workflows/deploy_docs.yml +0 -0
  15. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.github/workflows/publish.yml +0 -0
  16. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.github/workflows/publish_testpypi.yml +0 -0
  17. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.github/workflows/run_tests.yml +0 -0
  18. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.github/workflows/security_check.yml +0 -0
  19. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.gitignore +0 -0
  20. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.pre-commit-config.yaml +0 -0
  21. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/.python-version +0 -0
  22. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/LICENSE +0 -0
  23. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/SECURITY.md +0 -0
  24. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/db/preprocess.py +0 -0
  25. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/CNAME +0 -0
  26. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/Agent.md +0 -0
  27. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/task/evaluation.md +0 -0
  28. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/task/response-field.md +0 -0
  29. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/task/task-output.md +0 -0
  30. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/task.md +0 -0
  31. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/core/tool.md +0 -0
  32. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/quickstart.md +0 -0
  33. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/stylesheets/main.css +0 -0
  34. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/docs/tags.md +0 -0
  35. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/mkdocs.yml +0 -0
  36. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/requirements-dev.txt +0 -0
  37. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/requirements.txt +0 -0
  38. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/runtime.txt +0 -0
  39. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/setup.cfg +0 -0
  40. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/__init__.py +0 -0
  41. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/i18n.py +0 -0
  42. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/logger.py +0 -0
  43. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/process_config.py +0 -0
  44. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/usage_metrics.py +0 -0
  45. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/_utils/vars.py +0 -0
  46. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/TEMPLATES/Backstory.py +0 -0
  47. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/TEMPLATES/__init__.py +0 -0
  48. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/__init__.py +0 -0
  49. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/inhouse_agents.py +0 -0
  50. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/model.py +0 -0
  51. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/parser.py +0 -0
  52. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent/rpm_controller.py +0 -0
  53. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent_network/__init__.py +0 -0
  54. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/agent_network/model.py +0 -0
  55. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/cli/__init__.py +0 -0
  56. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/__init__.py +0 -0
  57. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/customer/__init__.py +0 -0
  58. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/customer/model.py +0 -0
  59. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/product/__init__.py +0 -0
  60. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/product/model.py +0 -0
  61. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/workflow/__init__.py +0 -0
  62. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/clients/workflow/model.py +0 -0
  63. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/__init__.py +0 -0
  64. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/_utils.py +0 -0
  65. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/embedding.py +0 -0
  66. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/model.py +0 -0
  67. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/source.py +0 -0
  68. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/source_docling.py +0 -0
  69. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/knowledge/storage.py +0 -0
  70. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/llm/__init__.py +0 -0
  71. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/llm/llm_vars.py +0 -0
  72. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/llm/model.py +0 -0
  73. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/memory/__init__.py +0 -0
  74. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/memory/contextual_memory.py +0 -0
  75. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/memory/model.py +0 -0
  76. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/__init__.py +0 -0
  77. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/base.py +0 -0
  78. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/ltm_sqlite_storage.py +0 -0
  79. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/mem0_storage.py +0 -0
  80. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/rag_storage.py +0 -0
  81. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/task_output_storage.py +0 -0
  82. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/storage/utils.py +0 -0
  83. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/TEMPLATES/Description.py +0 -0
  84. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/__init__.py +0 -0
  85. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/evaluate.py +0 -0
  86. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/formation.py +0 -0
  87. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/formatter.py +0 -0
  88. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/log_handler.py +0 -0
  89. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task/structured_response.py +0 -0
  90. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task_graph/__init__.py +0 -0
  91. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task_graph/colors.py +0 -0
  92. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task_graph/draft.py +0 -0
  93. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/task_graph/model.py +0 -0
  94. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/__init__.py +0 -0
  95. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/cache_handler.py +0 -0
  96. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/composio_tool.py +0 -0
  97. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/composio_tool_vars.py +0 -0
  98. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/decorator.py +0 -0
  99. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/model.py +0 -0
  100. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq/tool/tool_handler.py +0 -0
  101. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq.egg-info/SOURCES.txt +0 -0
  102. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq.egg-info/dependency_links.txt +0 -0
  103. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq.egg-info/requires.txt +0 -0
  104. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/src/versionhq.egg-info/top_level.txt +0 -0
  105. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/__init__.py +0 -0
  106. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent/__init__.py +0 -0
  107. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent/agent_test.py +0 -0
  108. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent/doc_test.py +0 -0
  109. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent_network/Prompts/Demo_test.py +0 -0
  110. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent_network/__init__.py +0 -0
  111. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/agent_network/agent_network_test.py +0 -0
  112. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/cli/__init__.py +0 -0
  113. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/clients/customer_test.py +0 -0
  114. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/clients/product_test.py +0 -0
  115. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/clients/workflow_test.py +0 -0
  116. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/conftest.py +0 -0
  117. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/doc_test.py +0 -0
  118. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/formation_test.py +0 -0
  119. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/knowledge/__init__.py +0 -0
  120. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/knowledge/knowledge_test.py +0 -0
  121. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/knowledge/mock_report_compressed.pdf +0 -0
  122. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/llm/__init__.py +0 -0
  123. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/llm/llm_test.py +0 -0
  124. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/memory/__init__.py +0 -0
  125. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/memory/memory_test.py +0 -0
  126. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task/__init__.py +0 -0
  127. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task/doc_taskoutput_test.py +0 -0
  128. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task/doc_test.py +0 -0
  129. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task/llm_connection_test.py +0 -0
  130. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task/task_test.py +0 -0
  131. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task_graph/__init__.py +0 -0
  132. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task_graph/doc_test.py +0 -0
  133. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/task_graph/task_graph_test.py +0 -0
  134. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/tool/__init__.py +0 -0
  135. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/tool/composio_test.py +0 -0
  136. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/tool/doc_test.py +0 -0
  137. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/tool/tool_test.py +0 -0
  138. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/tests/usecase_test.py +0 -0
  139. {versionhq-1.2.1.6 → versionhq-1.2.1.7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.2.1.6
3
+ Version: 1.2.1.7
4
4
  Summary: An agentic orchestration framework for building agent networks that handle task automation.
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -181,11 +181,11 @@ node_c = task_graph.add_task(task=task_c)
181
181
 
182
182
  task_graph.add_dependency(
183
183
  node_a.identifier, node_b.identifier,
184
- type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
184
+ dependency_type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
185
185
  )
186
186
  task_graph.add_dependency(
187
187
  node_a.identifier, node_c.identifier,
188
- type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
188
+ dependency_type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
189
189
  )
190
190
 
191
191
  # To visualize the graph:
@@ -100,11 +100,11 @@ node_c = task_graph.add_task(task=task_c)
100
100
 
101
101
  task_graph.add_dependency(
102
102
  node_a.identifier, node_b.identifier,
103
- type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
103
+ dependency_type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
104
104
  )
105
105
  task_graph.add_dependency(
106
106
  node_a.identifier, node_c.identifier,
107
- type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
107
+ dependency_type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
108
108
  )
109
109
 
110
110
  # To visualize the graph:
@@ -40,11 +40,11 @@ node_c = task_graph.add_task(task=task_c)
40
40
 
41
41
  task_graph.add_dependency(
42
42
  node_a.identifier, node_b.identifier,
43
- type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
43
+ dependency_type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
44
44
  )
45
45
  task_graph.add_dependency(
46
46
  node_a.identifier, node_c.identifier,
47
- type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
47
+ dependency_type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
48
48
  )
49
49
 
50
50
  critical_path, duration, paths = task_graph.find_critical_path()
@@ -69,11 +69,11 @@ node_c = task_graph.add_task(task=task_c)
69
69
 
70
70
  task_graph.add_dependency(
71
71
  node_a.identifier, node_b.identifier,
72
- type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
72
+ dependency_type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
73
73
  )
74
74
  task_graph.add_dependency(
75
75
  node_a.identifier, node_c.identifier,
76
- type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
76
+ dependency_type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
77
77
  )
78
78
 
79
79
  # To visualize the graph:
@@ -182,16 +182,7 @@ agent.update(
182
182
 
183
183
  **Setting up a local env file**
184
184
 
185
- Create `.env` file in the project root and add following:
186
-
187
- ```
188
- OPENAI_API_KEY=your-openai-api-key
189
- GEMINI_API_KEY=your-gemini-api-key
190
- LITELLM_API_KEY=your-litellm-api-key
191
- COMPOSIO_API_KEY=your-composio-api-key
192
- COMPOSIO_CLI_KEY=your-composio-cli-key
193
- [OTHER_LLM_INTERFACE_PROVIDER_OF_YOUR_CHOICE]_API_KEY=your-api-key
194
- ```
185
+ Create `.env` file at the root of the project directry and add your keys following `.env.sample`.
195
186
 
196
187
  <hr />
197
188
 
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__", "*.egg-info"]
15
15
 
16
16
  [project]
17
17
  name = "versionhq"
18
- version = "1.2.1.6"
18
+ version = "1.2.1.7"
19
19
  authors = [{ name = "Kuriko Iwai", email = "kuriko@versi0n.io" }]
20
20
  description = "An agentic orchestration framework for building agent networks that handle task automation."
21
21
  readme = "README.md"
@@ -31,7 +31,7 @@ from versionhq.task.formation import form_agent_network
31
31
  from versionhq.task_graph.draft import workflow
32
32
 
33
33
 
34
- __version__ = "1.2.1.6"
34
+ __version__ = "1.2.1.7"
35
35
  __all__ = [
36
36
  "Agent",
37
37
 
@@ -478,7 +478,7 @@ Ref. Output image: {output_formats_to_follow}
478
478
  return output
479
479
 
480
480
  else:
481
- r = str(raw).replace("{'", '{"').replace("{ '", '{"').replace("': '", '": "').replace("'}", '"}').replace("' }", '"}').replace("', '", '", "').replace("['", '["').replace("[ '", '[ "').replace("']", '"]').replace("' ]", '" ]').replace("{\n'", '{"').replace("{\'", '{"').replace("true", "True").replace("false", "False")
481
+ r = str(raw).strip().replace("{'", '{"').replace("{ '", '{"').replace("': '", '": "').replace("'}", '"}').replace("' }", '"}').replace("', '", '", "').replace("['", '["').replace("[ '", '[ "').replace("']", '"]').replace("' ]", '" ]').replace("{\n'", '{"').replace("{\'", '{"').replace("true", "True").replace("false", "False").replace('\"', "'")
482
482
  j = json.dumps(eval(r))
483
483
  output = json.loads(j)
484
484
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.2.1.6
3
+ Version: 1.2.1.7
4
4
  Summary: An agentic orchestration framework for building agent networks that handle task automation.
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -181,11 +181,11 @@ node_c = task_graph.add_task(task=task_c)
181
181
 
182
182
  task_graph.add_dependency(
183
183
  node_a.identifier, node_b.identifier,
184
- type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
184
+ dependency_type=vhq.DependencyType.FINISH_TO_START, weight=5, description="B depends on A"
185
185
  )
186
186
  task_graph.add_dependency(
187
187
  node_a.identifier, node_c.identifier,
188
- type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
188
+ dependency_type=vhq.DependencyType.FINISH_TO_FINISH, lag=1, required=False, weight=3
189
189
  )
190
190
 
191
191
  # To visualize the graph:
Binary file
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes