dulus 0.2.11__tar.gz → 0.2.12__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.
- {dulus-0.2.11/dulus.egg-info → dulus-0.2.12}/PKG-INFO +5 -3
- {dulus-0.2.11 → dulus-0.2.12}/README.md +1 -1
- {dulus-0.2.11 → dulus-0.2.12/dulus.egg-info}/PKG-INFO +5 -3
- {dulus-0.2.11 → dulus-0.2.12}/dulus.egg-info/requires.txt +4 -1
- {dulus-0.2.11 → dulus-0.2.12}/pyproject.toml +3 -3
- {dulus-0.2.11 → dulus-0.2.12}/LICENSE +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/MANIFEST.in +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/agent.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/compressor.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/context.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/githook.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/marketplace.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/mempalace_bridge.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/personas.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/plugins.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/server.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/backend/tasks.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/batch_api.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/checkpoint/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/checkpoint/hooks.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/checkpoint/store.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/checkpoint/types.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/claude_code_watcher.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/clipboard_utils.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/cloudsave.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/common.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/compaction.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/config.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/context.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/active_persona.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/context.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/marketplace.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/personas.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/data/tasks.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/README.md +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/api.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/architecture.md +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/azure-speech-template.json +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/dashboard/index.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/divider.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/generate.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/hero.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/index.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/news.md +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/nvidia-models.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/particle-playground.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/personas/index.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/preview.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-agents.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-brainstorm.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-bridges.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-features.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-freetier.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-memory.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-models.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-perms.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-plugins.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-quickstart.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/sec-ssj.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/spinners.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/split-pane.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/terminal-boot.svg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/docs/uploads/particle-playground.html +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus.egg-info/SOURCES.txt +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus.egg-info/dependency_links.txt +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus.egg-info/entry_points.txt +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus.egg-info/top_level.txt +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_gui.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_mcp/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_mcp/client.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_mcp/config.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_mcp/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/dulus_mcp/types.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/agent_bridge.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/chat_widget.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/main_window.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/personas.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/session_utils.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/settings_dialog.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/sidebar.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/tasks_view.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/themes.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/gui/tool_panel.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/input.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/license_manager.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/audit.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/consolidator.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/context.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/offload.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/palace.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/scan.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/sessions.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/store.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/types.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/memory/vector_search.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/multi_agent/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/multi_agent/subagent.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/multi_agent/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/offload_helper.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/autoadapter.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/loader.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/recommend.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/store.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/plugin/types.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/providers.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/setup.cfg +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/builtin.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/clawhub.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/executor.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/loader.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skill/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/skills.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/spinner.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/string_utils.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/subagent.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/task/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/task/store.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/task/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/task/types.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_checkpoint.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_compaction.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_diff_view.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_injection_fix.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_license.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_mcp.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_memory.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_plugin.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_skills.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_subagent.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_task.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_telegram_buffer.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_tool_registry.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tests/test_voice.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tmux_offloader.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tmux_tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tool_registry.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/tools.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/ui/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/ui/input.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/ui/render.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/voice/__init__.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/voice/keyterms.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/voice/recorder.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/voice/stt.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/voice/tts.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/webchat.py +0 -0
- {dulus-0.2.11 → dulus-0.2.12}/webchat_server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dulus
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.12
|
|
4
4
|
Summary: Spanish-first multi-provider AI CLI — 14 NVIDIA models free, Mesa Redonda, voice, TTS, RTK token reducer, MemPalace
|
|
5
5
|
Author: KevRojo
|
|
6
6
|
License: GPL-3.0
|
|
@@ -31,14 +31,16 @@ Requires-Dist: rich>=13.0.0
|
|
|
31
31
|
Requires-Dist: prompt_toolkit>=3.0.0
|
|
32
32
|
Requires-Dist: Flask>=3.1.3
|
|
33
33
|
Requires-Dist: bubblewrap-cli>=1.0.0
|
|
34
|
-
Requires-Dist: sounddevice
|
|
35
34
|
Requires-Dist: customtkinter>=5.2.0
|
|
36
35
|
Requires-Dist: Pillow>=10.0.0
|
|
37
36
|
Requires-Dist: typing-extensions>=4.10.0
|
|
38
37
|
Provides-Extra: memory
|
|
39
38
|
Requires-Dist: mempalace>=3.3.4; extra == "memory"
|
|
39
|
+
Provides-Extra: voice
|
|
40
|
+
Requires-Dist: sounddevice; extra == "voice"
|
|
40
41
|
Provides-Extra: full
|
|
41
42
|
Requires-Dist: mempalace>=3.3.4; extra == "full"
|
|
43
|
+
Requires-Dist: sounddevice; extra == "full"
|
|
42
44
|
Dynamic: license-file
|
|
43
45
|
|
|
44
46
|
# ▲ DULUS
|
|
@@ -88,7 +90,7 @@ SET /sticky_input ON since the first run for the best experience!
|
|
|
88
90
|
|
|
89
91
|
Dulus is a **lightweight Python reimplementation of Claude Code** that isn't locked to Claude. It ships the whole loop — REPL, tool dispatch, streaming, context compaction, checkpoints, sub-agents, voice, Telegram bridge, MCP, plugins — in roughly **12K lines you can actually read**. Fork it. Bend it. Run it offline against Qwen on your M2.
|
|
90
92
|
|
|
91
|
-
> **v0.2.
|
|
93
|
+
> **v0.2.12 — May 8, 2026** — `sounddevice` also moved to `[voice]` extra (it pulls `cffi`, which needs `libffi-dev` to compile and breaks termux installs). Core `pip install dulus` is now zero-compile. Opt in to extras: `[memory]` for MemPalace, `[voice]` for mic input, `[full]` for both.
|
|
92
94
|
> Type `/news` to see what changed.
|
|
93
95
|
|
|
94
96
|
---
|
|
@@ -45,7 +45,7 @@ SET /sticky_input ON since the first run for the best experience!
|
|
|
45
45
|
|
|
46
46
|
Dulus is a **lightweight Python reimplementation of Claude Code** that isn't locked to Claude. It ships the whole loop — REPL, tool dispatch, streaming, context compaction, checkpoints, sub-agents, voice, Telegram bridge, MCP, plugins — in roughly **12K lines you can actually read**. Fork it. Bend it. Run it offline against Qwen on your M2.
|
|
47
47
|
|
|
48
|
-
> **v0.2.
|
|
48
|
+
> **v0.2.12 — May 8, 2026** — `sounddevice` also moved to `[voice]` extra (it pulls `cffi`, which needs `libffi-dev` to compile and breaks termux installs). Core `pip install dulus` is now zero-compile. Opt in to extras: `[memory]` for MemPalace, `[voice]` for mic input, `[full]` for both.
|
|
49
49
|
> Type `/news` to see what changed.
|
|
50
50
|
|
|
51
51
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dulus
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.12
|
|
4
4
|
Summary: Spanish-first multi-provider AI CLI — 14 NVIDIA models free, Mesa Redonda, voice, TTS, RTK token reducer, MemPalace
|
|
5
5
|
Author: KevRojo
|
|
6
6
|
License: GPL-3.0
|
|
@@ -31,14 +31,16 @@ Requires-Dist: rich>=13.0.0
|
|
|
31
31
|
Requires-Dist: prompt_toolkit>=3.0.0
|
|
32
32
|
Requires-Dist: Flask>=3.1.3
|
|
33
33
|
Requires-Dist: bubblewrap-cli>=1.0.0
|
|
34
|
-
Requires-Dist: sounddevice
|
|
35
34
|
Requires-Dist: customtkinter>=5.2.0
|
|
36
35
|
Requires-Dist: Pillow>=10.0.0
|
|
37
36
|
Requires-Dist: typing-extensions>=4.10.0
|
|
38
37
|
Provides-Extra: memory
|
|
39
38
|
Requires-Dist: mempalace>=3.3.4; extra == "memory"
|
|
39
|
+
Provides-Extra: voice
|
|
40
|
+
Requires-Dist: sounddevice; extra == "voice"
|
|
40
41
|
Provides-Extra: full
|
|
41
42
|
Requires-Dist: mempalace>=3.3.4; extra == "full"
|
|
43
|
+
Requires-Dist: sounddevice; extra == "full"
|
|
42
44
|
Dynamic: license-file
|
|
43
45
|
|
|
44
46
|
# ▲ DULUS
|
|
@@ -88,7 +90,7 @@ SET /sticky_input ON since the first run for the best experience!
|
|
|
88
90
|
|
|
89
91
|
Dulus is a **lightweight Python reimplementation of Claude Code** that isn't locked to Claude. It ships the whole loop — REPL, tool dispatch, streaming, context compaction, checkpoints, sub-agents, voice, Telegram bridge, MCP, plugins — in roughly **12K lines you can actually read**. Fork it. Bend it. Run it offline against Qwen on your M2.
|
|
90
92
|
|
|
91
|
-
> **v0.2.
|
|
93
|
+
> **v0.2.12 — May 8, 2026** — `sounddevice` also moved to `[voice]` extra (it pulls `cffi`, which needs `libffi-dev` to compile and breaks termux installs). Core `pip install dulus` is now zero-compile. Opt in to extras: `[memory]` for MemPalace, `[voice]` for mic input, `[full]` for both.
|
|
92
94
|
> Type `/news` to see what changed.
|
|
93
95
|
|
|
94
96
|
---
|
|
@@ -6,13 +6,16 @@ rich>=13.0.0
|
|
|
6
6
|
prompt_toolkit>=3.0.0
|
|
7
7
|
Flask>=3.1.3
|
|
8
8
|
bubblewrap-cli>=1.0.0
|
|
9
|
-
sounddevice
|
|
10
9
|
customtkinter>=5.2.0
|
|
11
10
|
Pillow>=10.0.0
|
|
12
11
|
typing-extensions>=4.10.0
|
|
13
12
|
|
|
14
13
|
[full]
|
|
15
14
|
mempalace>=3.3.4
|
|
15
|
+
sounddevice
|
|
16
16
|
|
|
17
17
|
[memory]
|
|
18
18
|
mempalace>=3.3.4
|
|
19
|
+
|
|
20
|
+
[voice]
|
|
21
|
+
sounddevice
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dulus"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.12"
|
|
8
8
|
description = "Spanish-first multi-provider AI CLI — 14 NVIDIA models free, Mesa Redonda, voice, TTS, RTK token reducer, MemPalace"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -36,7 +36,6 @@ dependencies = [
|
|
|
36
36
|
"prompt_toolkit>=3.0.0",
|
|
37
37
|
"Flask>=3.1.3",
|
|
38
38
|
"bubblewrap-cli>=1.0.0",
|
|
39
|
-
"sounddevice",
|
|
40
39
|
"customtkinter>=5.2.0",
|
|
41
40
|
"Pillow>=10.0.0",
|
|
42
41
|
"typing-extensions>=4.10.0",
|
|
@@ -50,7 +49,8 @@ dependencies = [
|
|
|
50
49
|
# (or `dulus[full]`) when they want MemPalace per-turn injection.
|
|
51
50
|
[project.optional-dependencies]
|
|
52
51
|
memory = ["mempalace>=3.3.4"]
|
|
53
|
-
|
|
52
|
+
voice = ["sounddevice"]
|
|
53
|
+
full = ["mempalace>=3.3.4", "sounddevice"]
|
|
54
54
|
|
|
55
55
|
[project.scripts]
|
|
56
56
|
dulus = "dulus:main"
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|