beswarm 0.1.35__tar.gz → 0.1.36__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.
- {beswarm-0.1.35 → beswarm-0.1.36}/PKG-INFO +1 -1
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/setup.py +1 -1
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/excute_command.py +34 -4
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm.egg-info/PKG-INFO +1 -1
- {beswarm-0.1.35 → beswarm-0.1.36}/pyproject.toml +1 -1
- {beswarm-0.1.35 → beswarm-0.1.36}/MANIFEST.in +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/README.md +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/main.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/log_config.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/models.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/request.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/response.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/test/test_base_api.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/test/test_geminimask.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/test/test_image.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/test/test_payload.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/core/utils.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/audio.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/base.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/chatgpt.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/claude.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/duckduckgo.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/gemini.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/groq.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/models/vertex.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/arXiv.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/config.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/get_time.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/image.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/list_directory.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/read_file.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/registry.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/run_python.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/websearch.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/plugins/write_file.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/prompt/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/prompt/agent.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/utils/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/utils/prompt.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/src/aient/utils/scripts.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/chatgpt.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/claude.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_API.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_Deepbricks.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_Web_crawler.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_aiwaves.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_aiwaves_arxiv.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_ask_gemini.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_class.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_claude.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_claude_zh_char.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_ddg_search.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_download_pdf.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_gemini.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_get_token_dict.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_google_search.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_jieba.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_json.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_langchain_search_old.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_logging.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_ollama.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_plugin.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_py_run.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_requests.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_search.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_tikitoken.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_token.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_url.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_whisper.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_wildcard.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/aient/test/test_yjh.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/README.md +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/c-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/d-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/go-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/java-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/python-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/r-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/README.md +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/c-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/cpp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/dart-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/elisp-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/elixir-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/elm-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/go-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/hcl-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/java-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/javascript-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/php-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/python-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/ql-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/ruby-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/rust-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/scala-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-languages/typescript-tags.scm +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/UIworker.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/__init__.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/click.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/edit_file.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/planner.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/repomap.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/search_arxiv.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/think.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/tools/worker.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm/utils.py +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm.egg-info/SOURCES.txt +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm.egg-info/dependency_links.txt +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm.egg-info/requires.txt +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/beswarm.egg-info/top_level.txt +0 -0
- {beswarm-0.1.35 → beswarm-0.1.36}/setup.cfg +0 -0
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
|
|
4
4
|
|
5
5
|
setup(
|
6
6
|
name="aient",
|
7
|
-
version="1.0.
|
7
|
+
version="1.0.93",
|
8
8
|
description="Aient: The Awakening of Agent.",
|
9
9
|
long_description=Path.open(Path("README.md"), encoding="utf-8").read(),
|
10
10
|
long_description_content_type="text/markdown",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import subprocess
|
2
2
|
from .registry import register_tool
|
3
3
|
|
4
|
+
import re
|
4
5
|
import html
|
5
6
|
|
6
7
|
def unescape_html(input_string: str) -> str:
|
@@ -15,6 +16,32 @@ def unescape_html(input_string: str) -> str:
|
|
15
16
|
"""
|
16
17
|
return html.unescape(input_string)
|
17
18
|
|
19
|
+
def get_python_executable(command: str) -> str:
|
20
|
+
"""
|
21
|
+
获取 Python 可执行文件的路径。
|
22
|
+
|
23
|
+
Returns:
|
24
|
+
str: Python 可执行文件的路径。
|
25
|
+
"""
|
26
|
+
cmd_parts = command.split(None, 1)
|
27
|
+
if cmd_parts:
|
28
|
+
executable = cmd_parts[0]
|
29
|
+
args_str = cmd_parts[1] if len(cmd_parts) > 1 else ""
|
30
|
+
|
31
|
+
# 检查是否是 python 可执行文件 (如 python, python3, pythonX.Y)
|
32
|
+
is_python_exe = False
|
33
|
+
if executable == "python" or re.match(r"^python[23]?(\.\d+)?$", executable):
|
34
|
+
is_python_exe = True
|
35
|
+
|
36
|
+
if is_python_exe:
|
37
|
+
# 检查参数中是否已经有 -u 选项
|
38
|
+
args_list = args_str.split()
|
39
|
+
has_u_option = "-u" in args_list
|
40
|
+
if not has_u_option:
|
41
|
+
if args_str:
|
42
|
+
command = f"{executable} -u {args_str}"
|
43
|
+
return command
|
44
|
+
|
18
45
|
# 执行命令
|
19
46
|
@register_tool()
|
20
47
|
def excute_command(command):
|
@@ -31,6 +58,9 @@ def excute_command(command):
|
|
31
58
|
try:
|
32
59
|
command = unescape_html(command) # 保留 HTML 解码
|
33
60
|
|
61
|
+
command = get_python_executable(command)
|
62
|
+
|
63
|
+
|
34
64
|
# 使用 Popen 以便实时处理输出
|
35
65
|
# bufsize=1 表示行缓冲, universal_newlines=True 与 text=True 效果类似,用于文本模式
|
36
66
|
process = subprocess.Popen(
|
@@ -106,9 +136,9 @@ if __name__ == "__main__":
|
|
106
136
|
# print(excute_command(long_running_command_unix))
|
107
137
|
|
108
138
|
|
109
|
-
long_running_command_unix = "pip install torch"
|
110
|
-
print(f"执行: {long_running_command_unix}")
|
111
|
-
print(excute_command(long_running_command_unix))
|
139
|
+
# long_running_command_unix = "pip install torch"
|
140
|
+
# print(f"执行: {long_running_command_unix}")
|
141
|
+
# print(excute_command(long_running_command_unix))
|
112
142
|
|
113
143
|
|
114
144
|
# python_long_task_command = """
|
@@ -118,5 +148,5 @@ if __name__ == "__main__":
|
|
118
148
|
# print(f"执行: {python_long_task_command}")
|
119
149
|
# print(excute_command(python_long_task_command))
|
120
150
|
|
121
|
-
|
151
|
+
print(get_python_executable("python -c 'print(123)'"))
|
122
152
|
# python -m beswarm.aient.src.aient.plugins.excute_command
|
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
|
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
|
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm
RENAMED
File without changes
|
File without changes
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm
RENAMED
File without changes
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm
RENAMED
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
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm
RENAMED
File without changes
|
File without changes
|
File without changes
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{beswarm-0.1.35 → beswarm-0.1.36}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm
RENAMED
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|