dissect.hypervisor 3.14.dev2__tar.gz → 3.15.dev1__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.
- {dissect_hypervisor-3.14.dev2/dissect.hypervisor.egg-info → dissect_hypervisor-3.15.dev1}/PKG-INFO +2 -2
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/envelope.py +4 -2
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1/dissect.hypervisor.egg-info}/PKG-INFO +2 -2
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect.hypervisor.egg-info/requires.txt +1 -1
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/pyproject.toml +1 -1
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/COPYRIGHT +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/LICENSE +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/MANIFEST.in +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/README.md +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/c_vma.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/vma.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/xva.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/c_hyperv.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/hyperv.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/ovf.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/pvs.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/vbox.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/vmx.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_hdd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_qcow2.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vdi.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vhd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vhdx.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vmdk.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/hdd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/qcow2.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vdi.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vhd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vhdx.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vmdk.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/exceptions.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/envelope.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/vma.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/vmtar.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect.hypervisor.egg-info/SOURCES.txt +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect.hypervisor.egg-info/dependency_links.txt +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect.hypervisor.egg-info/entry_points.txt +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect.hypervisor.egg-info/top_level.txt +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/setup.cfg +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/__init__.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/conftest.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/differencing.avhdx.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/dynamic.vhd.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/dynamic.vhdx.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/encrypted.vmx +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/encryption.info +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/expanding.hdd/DiskDescriptor.xml +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/expanding.hdd/expanding.hdd +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/expanding.hdd/expanding.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/fixed.vhd.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/fixed.vhdx.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/local.tgz.ve +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/plain.hdd/DiskDescriptor.xml +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/plain.hdd/plain.hdd +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/plain.hdd/plain.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/sesparse.vmdk.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/DiskDescriptor.xml +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.1.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.2.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.3.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.4.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd.5.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/test.VMRS +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/test.vgz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/test.vma.gz +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/test.vmcx +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/docs/Makefile +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/docs/conf.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/docs/index.rst +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_envelope.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_hdd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_hyperv.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_ovf.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_pvs.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vbox.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vhd.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vhdx.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vma.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vmdk.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vmtar.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/test_vmx.py +0 -0
- {dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tox.ini +0 -0
{dissect_hypervisor-3.14.dev2/dissect.hypervisor.egg-info → dissect_hypervisor-3.15.dev1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dissect.hypervisor
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.15.dev1
|
|
4
4
|
Summary: A Dissect module implementing parsers for various hypervisor disk, backup and configuration files
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
License-File: COPYRIGHT
|
|
25
25
|
Requires-Dist: defusedxml
|
|
26
|
-
Requires-Dist: dissect.cstruct<5,>=4
|
|
26
|
+
Requires-Dist: dissect.cstruct<5,>=4
|
|
27
27
|
Requires-Dist: dissect.util<4,>=3
|
|
28
28
|
Provides-Extra: full
|
|
29
29
|
Requires-Dist: pycryptodome; extra == "full"
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/envelope.py
RENAMED
|
@@ -103,8 +103,9 @@ EnvelopeAttribute = namedtuple("EnvelopeAttribute", ("type", "flag", "value"))
|
|
|
103
103
|
class Envelope:
|
|
104
104
|
"""Implements an encryption envelope as used within ESXi."""
|
|
105
105
|
|
|
106
|
-
def __init__(self, fh: BinaryIO):
|
|
106
|
+
def __init__(self, fh: BinaryIO, verify: bool = True):
|
|
107
107
|
self.fh = fh
|
|
108
|
+
self.verify = verify
|
|
108
109
|
|
|
109
110
|
header_buf = io.BytesIO(self.fh.read(ENVELOPE_BLOCK_SIZE))
|
|
110
111
|
self.header = c_envelope.EnvelopeFileHeader(header_buf)
|
|
@@ -190,7 +191,8 @@ class Envelope:
|
|
|
190
191
|
footer = c_envelope.DataTransformCryptoFooter(bytes(decrypted[-512:]))
|
|
191
192
|
decrypted = decrypted[: -4096 - footer.padding]
|
|
192
193
|
|
|
193
|
-
|
|
194
|
+
if self.verify:
|
|
195
|
+
cipher.verify(self.digest)
|
|
194
196
|
|
|
195
197
|
return bytes(decrypted)
|
|
196
198
|
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1/dissect.hypervisor.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dissect.hypervisor
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.15.dev1
|
|
4
4
|
Summary: A Dissect module implementing parsers for various hypervisor disk, backup and configuration files
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
License-File: COPYRIGHT
|
|
25
25
|
Requires-Dist: defusedxml
|
|
26
|
-
Requires-Dist: dissect.cstruct<5,>=4
|
|
26
|
+
Requires-Dist: dissect.cstruct<5,>=4
|
|
27
27
|
Requires-Dist: dissect.util<4,>=3
|
|
28
28
|
Provides-Extra: full
|
|
29
29
|
Requires-Dist: pycryptodome; extra == "full"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/__init__.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/__init__.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/c_vma.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/vma.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/backup/xva.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/ovf.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/pvs.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/vbox.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/descriptor/vmx.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/__init__.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_hdd.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_qcow2.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vdi.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vhd.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vhdx.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/c_vmdk.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/hdd.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/qcow2.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vdi.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vhd.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vhdx.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/disk/vmdk.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/exceptions.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/__init__.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/envelope.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/tools/vma.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/__init__.py
RENAMED
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/dissect/hypervisor/util/vmtar.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
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/differencing.avhdx.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/expanding.hdd/expanding.hdd
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/plain.hdd/plain.hdd
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_hypervisor-3.14.dev2 → dissect_hypervisor-3.15.dev1}/tests/data/split.hdd/split.hdd
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
|