revoxx 1.0.1__tar.gz → 1.0.2__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.
- {revoxx-1.0.1/revoxx.egg-info → revoxx-1.0.2}/PKG-INFO +2 -2
- {revoxx-1.0.1 → revoxx-1.0.2}/README.md +1 -1
- {revoxx-1.0.1 → revoxx-1.0.2}/pyproject.toml +2 -1
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/user_guide_dialog.py +5 -16
- {revoxx-1.0.1 → revoxx-1.0.2/revoxx.egg-info}/PKG-INFO +2 -2
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx.egg-info/SOURCES.txt +1 -1
- {revoxx-1.0.1 → revoxx-1.0.2}/LICENSE +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/MANIFEST.in +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/doc/import_raw_text.png +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/doc/screenshot1.png +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/__main__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/app.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/audio_buffer.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/audio_queue_processor.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/buffer_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/level_calculator.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/player.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/processors/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/processors/clipping_detector.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/processors/mel_spectrogram.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/processors/processor_base.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/queue_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/recorder.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/audio/shared_state.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/constants.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/audio_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/device_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/dialog_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/display_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/file_operations_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/navigation_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/process_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/controllers/session_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/dataset/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/dataset/exporter.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2/revoxx}/doc/USER_GUIDE.md +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/resources/keyboard_shortcuts.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/resources/microphone.png +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/resources/templates/dataset_readme.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/resources/templates/index_format_with_intensity.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/resources/templates/index_format_without_intensity.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/session/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/session/inspector.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/session/manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/session/models.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/session/script_parser.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/dataset_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/dialog_utils.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/find_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/help_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/import_text_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/new_session_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/open_session_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/progress_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/session_settings_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/utterance_list_base.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/dialogs/utterance_order_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/emotion_indicator.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/font_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/frequency_axis.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/icon.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/info_overlay.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/level_meter/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/level_meter/config.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/level_meter/led_level_meter.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/menus/application_menu.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/menus/audio_devices.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/recording_display_state.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/controllers/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/controllers/clipping_visualizer.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/controllers/edge_indicator.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/controllers/playback_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/controllers/zoom_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/display_base.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/display_utils.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/mel_processor_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/playback_handler.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/recording_display.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/recording_handler.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/spectrogram/widget.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/style_config.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/themes.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/widget_initializer.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/window_base.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/window_factory.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/ui/window_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/active_recordings.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/audio_utils.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/config.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/device_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/file_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/process_cleanup.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/settings_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/spectrogram_utils.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/state.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/text_importer.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx/utils/text_utils.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx.egg-info/dependency_links.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx.egg-info/entry_points.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx.egg-info/requires.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/revoxx.egg-info/top_level.txt +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/scripts_module/__init__.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/scripts_module/export.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/scripts_module/vadiate.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/setup.cfg +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_active_recordings.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_audio_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_audio_queue_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_config.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_dataset_exporter.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_device_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_dialog_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_display_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_file_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_file_operations_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_ipc_communication.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_navigation_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_new_session_dialog.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_process_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_session_controller.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_session_manager.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_session_models.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_stable_sorting.py +0 -0
- {revoxx-1.0.1 → revoxx-1.0.2}/tests/test_utterance_list_dialog_sorting.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: revoxx
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: Speech recording application for creating high-quality speech datasets
|
|
5
5
|
Author-email: Grammatek ehf <info@grammatek.com>
|
|
6
6
|
Maintainer-email: Grammatek ehf <info@grammatek.com>
|
|
@@ -315,7 +315,7 @@ revoxx --session path/to/session # Open specific session
|
|
|
315
315
|
|
|
316
316
|
## Usage
|
|
317
317
|
|
|
318
|
-
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/doc/USER_GUIDE.md).
|
|
318
|
+
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/revoxx/doc/USER_GUIDE.md).
|
|
319
319
|
|
|
320
320
|
## Prepare recordings
|
|
321
321
|
|
|
@@ -267,7 +267,7 @@ revoxx --session path/to/session # Open specific session
|
|
|
267
267
|
|
|
268
268
|
## Usage
|
|
269
269
|
|
|
270
|
-
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/doc/USER_GUIDE.md).
|
|
270
|
+
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/revoxx/doc/USER_GUIDE.md).
|
|
271
271
|
|
|
272
272
|
## Prepare recordings
|
|
273
273
|
|
|
@@ -72,7 +72,7 @@ revoxx-vadiate = "scripts_module.vadiate:main"
|
|
|
72
72
|
|
|
73
73
|
[tool.setuptools]
|
|
74
74
|
packages = ["revoxx", "revoxx.audio", "revoxx.audio.processors", "revoxx.controllers",
|
|
75
|
-
"revoxx.dataset", "revoxx.resources", "revoxx.resources.templates",
|
|
75
|
+
"revoxx.dataset", "revoxx.doc", "revoxx.resources", "revoxx.resources.templates",
|
|
76
76
|
"revoxx.session", "revoxx.ui", "revoxx.ui.dialogs", "revoxx.ui.level_meter",
|
|
77
77
|
"revoxx.ui.menus", "revoxx.ui.spectrogram", "revoxx.ui.spectrogram.controllers",
|
|
78
78
|
"revoxx.utils", "scripts_module"]
|
|
@@ -82,6 +82,7 @@ include-package-data = true
|
|
|
82
82
|
revoxx = [
|
|
83
83
|
"resources/*.png",
|
|
84
84
|
"resources/templates/*.txt",
|
|
85
|
+
"doc/*.md",
|
|
85
86
|
]
|
|
86
87
|
|
|
87
88
|
[tool.black]
|
|
@@ -75,25 +75,14 @@ class UserGuideDialog:
|
|
|
75
75
|
|
|
76
76
|
def _load_user_guide(self):
|
|
77
77
|
"""Load and display the user guide content."""
|
|
78
|
-
#
|
|
79
|
-
guide_path = (
|
|
80
|
-
Path(__file__).parent.parent.parent.parent / "doc" / "USER_GUIDE.md"
|
|
81
|
-
)
|
|
78
|
+
# User guide should be in package doc folder
|
|
79
|
+
guide_path = Path(__file__).parent.parent.parent / "doc" / "USER_GUIDE.md"
|
|
82
80
|
|
|
83
|
-
# If not found in development location, try installed package location
|
|
84
81
|
if not guide_path.exists():
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
package_path = Path(revoxx.__file__).parent.parent / "doc" / "USER_GUIDE.md"
|
|
89
|
-
if package_path.exists():
|
|
90
|
-
guide_path = package_path
|
|
91
|
-
|
|
92
|
-
if not guide_path.exists():
|
|
93
|
-
error_msg = f"User Guide not found.\n\nExpected at: {guide_path}"
|
|
94
|
-
error_html = f"<html><body><p>{error_msg}</p></body></html>"
|
|
82
|
+
error_msg = f"User Guide not found at: {guide_path}"
|
|
83
|
+
error_html = f"<html><body><p style='color: red;'>{error_msg}</p></body></html>"
|
|
95
84
|
self.text_widget.load_html(error_html)
|
|
96
|
-
|
|
85
|
+
raise FileNotFoundError(error_msg)
|
|
97
86
|
|
|
98
87
|
try:
|
|
99
88
|
# Read user guide content & convert markdown to HTML
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: revoxx
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: Speech recording application for creating high-quality speech datasets
|
|
5
5
|
Author-email: Grammatek ehf <info@grammatek.com>
|
|
6
6
|
Maintainer-email: Grammatek ehf <info@grammatek.com>
|
|
@@ -315,7 +315,7 @@ revoxx --session path/to/session # Open specific session
|
|
|
315
315
|
|
|
316
316
|
## Usage
|
|
317
317
|
|
|
318
|
-
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/doc/USER_GUIDE.md).
|
|
318
|
+
For a guide on using Revoxx, please see the [User Guide](https://github.com/icelandic-lt/revoxx/blob/main/revoxx/doc/USER_GUIDE.md).
|
|
319
319
|
|
|
320
320
|
## Prepare recordings
|
|
321
321
|
|
|
@@ -2,7 +2,6 @@ LICENSE
|
|
|
2
2
|
MANIFEST.in
|
|
3
3
|
README.md
|
|
4
4
|
pyproject.toml
|
|
5
|
-
doc/USER_GUIDE.md
|
|
6
5
|
doc/import_raw_text.png
|
|
7
6
|
doc/screenshot1.png
|
|
8
7
|
revoxx/__init__.py
|
|
@@ -39,6 +38,7 @@ revoxx/controllers/process_manager.py
|
|
|
39
38
|
revoxx/controllers/session_controller.py
|
|
40
39
|
revoxx/dataset/__init__.py
|
|
41
40
|
revoxx/dataset/exporter.py
|
|
41
|
+
revoxx/doc/USER_GUIDE.md
|
|
42
42
|
revoxx/resources/keyboard_shortcuts.txt
|
|
43
43
|
revoxx/resources/microphone.png
|
|
44
44
|
revoxx/resources/templates/dataset_readme.txt
|
|
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
|