genal-python 1.3.3__tar.gz → 1.3.4__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.
- {genal_python-1.3.3 → genal_python-1.3.4}/PKG-INFO +1 -1
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/__init__.py +1 -1
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/clump.py +2 -3
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/extract_prs.py +11 -3
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/geno_tools.py +3 -7
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/lift.py +4 -1
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/proxy.py +5 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/pyproject.toml +1 -1
- {genal_python-1.3.3 → genal_python-1.3.4}/.DS_Store +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/.gitignore +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/.readthedocs.yaml +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/Genal_flowchart.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/LICENSE +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/README.md +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/.DS_Store +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/Makefile +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.DS_Store +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.buildinfo +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/api.doctree +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/environment.pickle +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/genal.doctree +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/index.doctree +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/introduction.doctree +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/.doctrees/modules.doctree +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_images/MR_plot_SBP_AS.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/Geno.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/MR.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/MR_tools.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/MRpresso.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/association.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/clump.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/extract_prs.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/geno_tools.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/lift.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/proxy.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/snp_query.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/genal/tools.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_modules/index.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_sources/api.rst.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_sources/genal.rst.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_sources/index.rst.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_sources/introduction.rst.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_sources/modules.rst.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/basic.css +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/badge_only.css +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.eot +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.svg +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold-italic.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal-italic.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal.woff +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal.woff2 +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/theme.css +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/doctools.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/documentation_options.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/file.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/js/badge_only.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/js/html5shiv-printshiv.min.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/js/html5shiv.min.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/js/theme.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/language_data.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/minus.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/plus.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/pygments.css +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/searchtools.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/sphinx_highlight.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/api.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/genal.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/genindex.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/index.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/introduction.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/modules.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/objects.inv +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/py-modindex.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/search.html +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/build/searchindex.js +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/make.bat +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/requirements.txt +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/.DS_Store +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/Images/Genal_flowchart.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/Images/MR_plot_SBP_AS.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/Images/genal_logo.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/api.rst +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/conf.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/index.rst +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/introduction.rst +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/docs/source/modules.rst +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/Geno.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/MR.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/MR_tools.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/MRpresso.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/association.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/colocalization.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/constants.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/snp_query.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal/tools.py +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/genal_logo.png +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/gitignore +0 -0
- {genal_python-1.3.3 → genal_python-1.3.4}/readthedocs.yaml +0 -0
|
@@ -4,7 +4,7 @@ from .tools import default_config, write_config, set_plink, install_plink, delet
|
|
|
4
4
|
from .geno_tools import Combine_Geno, filter_by_gene_func
|
|
5
5
|
from .constants import CONFIG_DIR
|
|
6
6
|
|
|
7
|
-
__version__ = "1.3.
|
|
7
|
+
__version__ = "1.3.4"
|
|
8
8
|
|
|
9
9
|
config_path = os.path.join(CONFIG_DIR, "config.json")
|
|
10
10
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import os
|
|
2
|
-
import subprocess
|
|
3
2
|
import pandas as pd
|
|
4
3
|
import uuid
|
|
5
4
|
import re
|
|
@@ -13,7 +12,7 @@ def clump_data_plink2(
|
|
|
13
12
|
r2=0.01,
|
|
14
13
|
p1=5e-8,
|
|
15
14
|
p2=0.01,
|
|
16
|
-
name=
|
|
15
|
+
name=None,
|
|
17
16
|
ram=10000,
|
|
18
17
|
):
|
|
19
18
|
"""
|
|
@@ -37,7 +36,7 @@ def clump_data_plink2(
|
|
|
37
36
|
"""
|
|
38
37
|
|
|
39
38
|
# Create unique ID for the name if none is passed
|
|
40
|
-
if
|
|
39
|
+
if name is None:
|
|
41
40
|
name = str(uuid.uuid4())[:8]
|
|
42
41
|
|
|
43
42
|
# Save the relevant data columns to a temporary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import pandas as pd
|
|
2
|
-
import os, subprocess, re
|
|
2
|
+
import os, subprocess, re, uuid
|
|
3
3
|
from functools import partial
|
|
4
4
|
from concurrent.futures import ProcessPoolExecutor
|
|
5
5
|
|
|
@@ -10,13 +10,17 @@ from .tools import check_bfiles, check_pfiles, setup_genetic_path, get_plink_pat
|
|
|
10
10
|
### PRS functions
|
|
11
11
|
### ____________________
|
|
12
12
|
|
|
13
|
-
def prs_func(data, weighted=True, path=None, ram=10000, name=
|
|
13
|
+
def prs_func(data, weighted=True, path=None, ram=10000, name=None):
|
|
14
14
|
"""
|
|
15
15
|
Compute a PRS (Polygenic Risk Score) using provided SNP-level data. Corresponds to the :meth:`Geno.prs` method
|
|
16
16
|
"""
|
|
17
17
|
# Get path and filetype
|
|
18
18
|
path, filetype = setup_genetic_path(path)
|
|
19
19
|
|
|
20
|
+
# Generate a default name if none is provided
|
|
21
|
+
if name is None:
|
|
22
|
+
name = str(uuid.uuid4())[:8]
|
|
23
|
+
|
|
20
24
|
# Call extract_snps
|
|
21
25
|
extracted_path = extract_snps_func(data.SNP, name, path)
|
|
22
26
|
|
|
@@ -94,7 +98,7 @@ def prs_func(data, weighted=True, path=None, ram=10000, name=""):
|
|
|
94
98
|
|
|
95
99
|
# We are currently excluding all multiallelic variants by forcing first on all duplicates.
|
|
96
100
|
# Could be improved by keeping the relevant version of the multiallelic SNPs based on allele matching
|
|
97
|
-
def extract_snps_func(snp_list, name, path=None):
|
|
101
|
+
def extract_snps_func(snp_list, name=None, path=None):
|
|
98
102
|
"""
|
|
99
103
|
Extracts a list of SNPs from the given path. This function corresponds to the following Geno method: :meth:`Geno.extract_snps`.
|
|
100
104
|
|
|
@@ -114,6 +118,10 @@ def extract_snps_func(snp_list, name, path=None):
|
|
|
114
118
|
print("The provided SNP list is empty.")
|
|
115
119
|
return "FAILED"
|
|
116
120
|
|
|
121
|
+
# Generate a default name if none is provided
|
|
122
|
+
if name is None:
|
|
123
|
+
name = str(uuid.uuid4())[:8]
|
|
124
|
+
|
|
117
125
|
# Get path and filetype
|
|
118
126
|
path, filetype = setup_genetic_path(path)
|
|
119
127
|
|
|
@@ -406,7 +406,7 @@ def save_data(data, name, path="", fmt="h5", sep="\t", header=True):
|
|
|
406
406
|
- data (pd.DataFrame): The data to be saved.
|
|
407
407
|
- name (str): The name of the file without extension.
|
|
408
408
|
- path (str, optional): Directory path for saving. Default is the current directory.
|
|
409
|
-
- fmt (str, optional): Format for the file, e.g., "h5", "csv", "txt"
|
|
409
|
+
- fmt (str, optional): Format for the file, e.g., "h5", "csv", "txt". Default is "h5".
|
|
410
410
|
- sep (str, optional): Delimiter for csv or txt files. Default is tab.
|
|
411
411
|
- header (bool, optional): Whether to include header in csv or txt files. Default is True.
|
|
412
412
|
|
|
@@ -417,7 +417,7 @@ def save_data(data, name, path="", fmt="h5", sep="\t", header=True):
|
|
|
417
417
|
- ValueError: If the provided format is not recognized.
|
|
418
418
|
"""
|
|
419
419
|
if path:
|
|
420
|
-
path_name = f"{
|
|
420
|
+
path_name = os.path.join(path, f"{name}.{fmt}")
|
|
421
421
|
else:
|
|
422
422
|
path_name = f"{name}.{fmt}"
|
|
423
423
|
|
|
@@ -430,13 +430,9 @@ def save_data(data, name, path="", fmt="h5", sep="\t", header=True):
|
|
|
430
430
|
elif fmt in ["csv", "txt"]:
|
|
431
431
|
data.to_csv(path_name, sep=sep, header=header, index=False)
|
|
432
432
|
|
|
433
|
-
elif fmt in ["vcf", "vcf.gz"]:
|
|
434
|
-
# to do
|
|
435
|
-
return
|
|
436
|
-
|
|
437
433
|
else:
|
|
438
434
|
raise ValueError(
|
|
439
|
-
"The fmt argument takes value in (h5 (default), csv, txt
|
|
435
|
+
"The fmt argument takes value in (h5 (default), csv, txt)."
|
|
440
436
|
)
|
|
441
437
|
|
|
442
438
|
print(f"Data saved to {path_name}")
|
|
@@ -4,7 +4,7 @@ import numpy as np
|
|
|
4
4
|
import wget
|
|
5
5
|
import gzip
|
|
6
6
|
import shutil
|
|
7
|
-
|
|
7
|
+
import uuid
|
|
8
8
|
import pandas as pd
|
|
9
9
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
10
10
|
|
|
@@ -44,6 +44,9 @@ def lift_data(
|
|
|
44
44
|
Notes:
|
|
45
45
|
Function for the :meth:`Geno.lift` method.
|
|
46
46
|
"""
|
|
47
|
+
# Generate a default name if none is provided
|
|
48
|
+
if name is None:
|
|
49
|
+
name = str(uuid.uuid4())[:8]
|
|
47
50
|
|
|
48
51
|
# Prepare chain file and get its path
|
|
49
52
|
chain_path = prepare_chain_file(chain_file, start, end)
|
|
@@ -3,6 +3,7 @@ import numpy as np
|
|
|
3
3
|
import os
|
|
4
4
|
import subprocess
|
|
5
5
|
import re
|
|
6
|
+
import uuid
|
|
6
7
|
|
|
7
8
|
from .tools import get_reference_panel_path, get_plink_path, run_plink_command
|
|
8
9
|
|
|
@@ -220,6 +221,10 @@ def find_proxies(
|
|
|
220
221
|
# Ensure tmp_GENAL directory exists
|
|
221
222
|
os.makedirs(f"tmp_GENAL/", exist_ok=True)
|
|
222
223
|
|
|
224
|
+
# Generate a default name if none is provided
|
|
225
|
+
if name is None:
|
|
226
|
+
name = str(uuid.uuid4())[:8]
|
|
227
|
+
|
|
223
228
|
# Convert snp_list to numpy array
|
|
224
229
|
snp_list = np.array(list(snp_list))
|
|
225
230
|
|
|
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "genal-python" # Updated name for PyPI
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.4"
|
|
8
8
|
authors = [{name = "Cyprien Rivier", email = "riviercyprien@gmail.com"}]
|
|
9
9
|
description = "A python toolkit for polygenic risk scoring and mendelian randomization."
|
|
10
10
|
readme = "README.md"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.eot
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.svg
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.ttf
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.woff
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/fontawesome-webfont.woff2
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold-italic.woff
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-bold-italic.woff2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal-italic.woff
RENAMED
|
File without changes
|
{genal_python-1.3.3 → genal_python-1.3.4}/docs/build/_static/css/fonts/lato-normal-italic.woff2
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|