python-roborock 7.2.0__tar.gz → 7.2.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.
- {python_roborock-7.2.0 → python_roborock-7.2.2}/PKG-INFO +1 -1
- {python_roborock-7.2.0 → python_roborock-7.2.2}/pyproject.toml +1 -1
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/device_features.py +21 -1
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/b01_q10_render.py +4 -2
- {python_roborock-7.2.0 → python_roborock-7.2.2}/.gitignore +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/LICENSE +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/README.md +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/broadcast_protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/callbacks.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/cli.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/const.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q10/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q7/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/dyad/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/dyad/dyad_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/dyad/dyad_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/mower/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/mower/mower_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/mower/mower_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/v1/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/v1/v1_clean_modes.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/v1/v1_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/v1/v1_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/zeo/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/zeo/zeo_code_mappings.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/zeo/zeo_containers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/README.md +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/cache.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/device.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/device_manager.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/file_cache.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/rpc/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/rpc/a01_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/rpc/b01_q10_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/rpc/b01_q7_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/rpc/v1_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/a01/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/a01/device_feature.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/button_light.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/child_lock.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/clean_history.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/command.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/common.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/consumable.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/do_not_disturb.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/dust_collection.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/map.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/maps.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/network_info.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/remote.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/status.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/volume.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/map.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/map_content.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/common.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/traits_mixin.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/child_lock.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/clean_summary.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/command.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/common.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/consumeable.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/device_features.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/flow_led_status.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/home.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/led_status.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/map_content.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/maps.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/network_info.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/obstacle_photos.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/rooms.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/routines.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/status.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/volume.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/transport/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/transport/channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/transport/local_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/transport/mqtt_channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/diagnostics.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/exceptions.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/b01_grid_layers.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/b01_map_parser.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/b01_q10_map_parser.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/b01_q10_overlays.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/map_parser.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/proto/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/proto/b01_scmap.proto +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/proto/b01_scmap_pb2.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/map/room_colors.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/mqtt/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/mqtt/health_manager.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/mqtt/roborock_session.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/mqtt/session.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocols/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocols/a01_protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocols/b01_q10_protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocols/b01_q7_protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/protocols/v1_protocol.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/py.typed +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/roborock_message.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/roborock_typing.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/__init__.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/a01_simulator.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/b01_q10_simulator.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/channel.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/cloud.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/simulator.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/testing/v1_simulator.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/util.py +0 -0
- {python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/web_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 7.2.
|
|
3
|
+
Version: 7.2.2
|
|
4
4
|
Summary: A package to control Roborock vacuums.
|
|
5
5
|
Project-URL: Repository, https://github.com/python-roborock/python-roborock
|
|
6
6
|
Project-URL: Documentation, https://python-roborock.readthedocs.io/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-roborock"
|
|
3
|
-
version = "7.2.
|
|
3
|
+
version = "7.2.2"
|
|
4
4
|
description = "A package to control Roborock vacuums."
|
|
5
5
|
authors = [{ name = "humbertogontijo", email = "humbertogontijo@users.noreply.github.com" }, {name="Lash-L"}, {name="allenporter"}]
|
|
6
6
|
requires-python = ">=3.11, <4"
|
|
@@ -4,7 +4,7 @@ from functools import cache
|
|
|
4
4
|
from typing import Any, Self
|
|
5
5
|
|
|
6
6
|
from roborock.data.code_mappings import RoborockProductNickname
|
|
7
|
-
from roborock.data.containers import RoborockBase
|
|
7
|
+
from roborock.data.containers import RoborockBase, _decamelize
|
|
8
8
|
from roborock.data.v1 import RoborockDockTypeCode
|
|
9
9
|
|
|
10
10
|
|
|
@@ -654,6 +654,26 @@ class DeviceFeatures(RoborockBase):
|
|
|
654
654
|
|
|
655
655
|
return cls(**kwargs)
|
|
656
656
|
|
|
657
|
+
@classmethod
|
|
658
|
+
def from_dict(cls, data: dict[str, Any]) -> Self | None:
|
|
659
|
+
"""Create device features, rejecting incomplete cached capabilities.
|
|
660
|
+
|
|
661
|
+
Persisted feature data may have been written by an older version of the
|
|
662
|
+
library that did not yet know about every capability. Missing boolean
|
|
663
|
+
fields therefore mean the cached feature set is stale, not that those
|
|
664
|
+
capabilities are unsupported. Return ``None`` so callers rediscover the
|
|
665
|
+
complete feature set from the device.
|
|
666
|
+
"""
|
|
667
|
+
if not isinstance(data, dict):
|
|
668
|
+
return None
|
|
669
|
+
|
|
670
|
+
serialized_fields = {_decamelize(key) for key in data}
|
|
671
|
+
required_fields = {feature.name for feature in fields(cls) if feature.type is bool}
|
|
672
|
+
if not required_fields.issubset(serialized_fields):
|
|
673
|
+
return None
|
|
674
|
+
|
|
675
|
+
return super().from_dict(data)
|
|
676
|
+
|
|
657
677
|
def get_supported_features(self) -> list[str]:
|
|
658
678
|
"""Returns a list of supported features (Primarily used for logging purposes)."""
|
|
659
679
|
return [k for k, v in vars(self).items() if v]
|
|
@@ -185,8 +185,10 @@ def _vector_calibration(
|
|
|
185
185
|
trace_calibration: GridCalibration | None,
|
|
186
186
|
) -> GridCalibration | None:
|
|
187
187
|
"""Derive the 5 mm erase/restriction-vector transform."""
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
# Header vectors share the map packet's fixed top-down coordinate frame.
|
|
189
|
+
# A trace fit may choose either Y orientation, but that must not move saved
|
|
190
|
+
# erase/restriction geometry when a cleaning trace appears or disappears.
|
|
191
|
+
if calibration := _calibration_from_header_metadata(packet):
|
|
190
192
|
return calibration
|
|
191
193
|
if trace_calibration is None:
|
|
192
194
|
return None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q10/b01_q10_code_mappings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/data/b01_q7/b01_q7_code_mappings.py
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
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/a01/device_feature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/button_light.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/child_lock.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/clean_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/consumable.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/dust_collection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q10/network_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/b01/q7/map_content.py
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
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/device_features.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/dust_collection_mode.py
RENAMED
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/flow_led_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/obstacle_photos.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/smart_wash_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.0 → python_roborock-7.2.2}/roborock/devices/traits/v1/wash_towel_mode.py
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
|