sovai 0.2.50__tar.gz → 0.2.52__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.
- {sovai-0.2.50 → sovai-0.2.52}/PKG-INFO +35 -32
- {sovai-0.2.50 → sovai-0.2.52}/pyproject.toml +41 -12
- {sovai-0.2.50 → sovai-0.2.52}/sovai/__init__.py +6 -2
- {sovai-0.2.50 → sovai-0.2.52}/LICENSE +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/README.md +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/data/codes.parq +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/data/tickers.parq +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/.DS_Store +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/api_config.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/assets/dropdown.css +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/assets/features_mapping.parq +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/basic_auth.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/computations/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/computations/functions.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/errors/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/errors/sovai_errors.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/anomalies.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/ask_df_llm.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/change_point_generator.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/clustering.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/core_kshape.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/cum_sum_torch.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/cusum.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/dimensionality_reduction.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/feature_extraction.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/feature_importance.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/feature_neutralizer.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/filter_df.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/fractional_differencing.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/nowcasting.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/pairwise.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/pandas_extensions.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/parallel_functions.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/pfa_feature_selector.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/regime_change.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/regime_change_pca.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/shapley_global_importance.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/shapley_importance.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/signal_evaluation.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/technical_indicators.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/time_decomposition.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/extensions/weight_optimization.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_compute.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_data copy.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_data.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_reports.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/get_tools.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/accounting/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/accounting/accounting_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/allocation/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/allocation/allocation_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/bankruptcy/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/bankruptcy/bankruptcy_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/breakout/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/breakout/breakout_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/corp_risk/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/corp_risk/corp_risk_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/earnings_surprise/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/earnings_surprise/earnings_surprise_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/insider/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/insider/insider_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/institutional/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/institutional/institutional_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/news/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/news/news_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/ratios/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/plots/ratios/ratios_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/accounting/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/accounting/accounting_balance_sheet.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/bankruptcy/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/bankruptcy/bankruptcy_monthly_top.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/general/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/general/general_plots.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/news/__inti__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/reports/news/news_econometric_analysis.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/studies/nowcasting.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/token_auth.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/authentication/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/authentication/authentication.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/sec/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/sec/graphs.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/sec/llm_code_generator.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/sec/sec_10_k_8_k_filings.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/tools/sec/sec_edgar_search.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/__init__.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/client_side.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/client_side_s3.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/client_side_s3_part_high copy 2.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/client_side_s3_part_high copy.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/client_side_s3_part_high.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/converter.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/datetime_formats.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/file_management.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/get_tickers.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/helpers.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/pandas_extensions copy.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/plot.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/port_manager.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/stream.py +0 -0
- {sovai-0.2.50 → sovai-0.2.52}/sovai/utils/verbose_utils.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sovai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.52
|
|
4
4
|
Summary: python for asset management
|
|
5
5
|
License: Proprietary License
|
|
6
6
|
Author: Derek Snow
|
|
7
7
|
Author-email: d.snow@outlook.com
|
|
8
|
-
Requires-Python: >=3.10
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
9
|
Classifier: License :: Other/Proprietary License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -14,43 +14,46 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Provides-Extra: full
|
|
16
16
|
Requires-Dist: boto3 (>=1.20)
|
|
17
|
-
Requires-Dist: dash
|
|
18
|
-
Requires-Dist: dash-bootstrap-components
|
|
19
|
-
Requires-Dist: edgar-tool (>=1.3.3
|
|
20
|
-
Requires-Dist: fastapi-cache (>=0.1.0
|
|
21
|
-
Requires-Dist: fastapi-cache2[redis] (>=0.2.1
|
|
22
|
-
Requires-Dist: gcsfs (>=2024.
|
|
23
|
-
Requires-Dist: great-tables
|
|
24
|
-
Requires-Dist: ipywidgets (>=8.1.
|
|
17
|
+
Requires-Dist: dash ; extra == "full"
|
|
18
|
+
Requires-Dist: dash-bootstrap-components ; extra == "full"
|
|
19
|
+
Requires-Dist: edgar-tool (>=1.3.3)
|
|
20
|
+
Requires-Dist: fastapi-cache (>=0.1.0)
|
|
21
|
+
Requires-Dist: fastapi-cache2[redis] (>=0.2.1)
|
|
22
|
+
Requires-Dist: gcsfs (>=2024.9)
|
|
23
|
+
Requires-Dist: great-tables ; extra == "full"
|
|
24
|
+
Requires-Dist: ipywidgets (>=8.1.6,<9.0.0)
|
|
25
|
+
Requires-Dist: ipywidgets ; extra == "full"
|
|
25
26
|
Requires-Dist: joblib (>=1.0)
|
|
26
|
-
Requires-Dist: lightgbm
|
|
27
|
-
Requires-Dist: matplotlib
|
|
28
|
-
Requires-Dist: mfles
|
|
29
|
-
Requires-Dist: networkx (>=3.3
|
|
30
|
-
Requires-Dist: numba
|
|
27
|
+
Requires-Dist: lightgbm ; extra == "full"
|
|
28
|
+
Requires-Dist: matplotlib ; extra == "full"
|
|
29
|
+
Requires-Dist: mfles ; extra == "full"
|
|
30
|
+
Requires-Dist: networkx (>=3.3)
|
|
31
|
+
Requires-Dist: numba ; extra == "full"
|
|
31
32
|
Requires-Dist: numpy (>=1.20)
|
|
32
|
-
Requires-Dist: openai
|
|
33
|
+
Requires-Dist: openai ; extra == "full"
|
|
33
34
|
Requires-Dist: pandas (>=1.0)
|
|
34
|
-
Requires-Dist: pexpect
|
|
35
|
-
Requires-Dist: plotly (>=
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist: polars
|
|
35
|
+
Requires-Dist: pexpect ; extra == "full"
|
|
36
|
+
Requires-Dist: plotly (>=6.0.1,<7.0.0)
|
|
37
|
+
Requires-Dist: plotly ; extra == "full"
|
|
38
|
+
Requires-Dist: polars (>=1.2)
|
|
39
|
+
Requires-Dist: polars-talib ; extra == "full"
|
|
38
40
|
Requires-Dist: pyarrow (>=5.0)
|
|
39
41
|
Requires-Dist: python-dateutil (>=2.8)
|
|
40
42
|
Requires-Dist: python-dotenv (>=0.10)
|
|
41
|
-
Requires-Dist: pyvis (>=0.3.2
|
|
42
|
-
Requires-Dist: rapidfuzz (>=3.9.7
|
|
43
|
+
Requires-Dist: pyvis (>=0.3.2)
|
|
44
|
+
Requires-Dist: rapidfuzz (>=3.9.7)
|
|
43
45
|
Requires-Dist: requests (>=2.20)
|
|
44
|
-
Requires-Dist: ruptures
|
|
45
|
-
Requires-Dist: s3fs (>=2024.
|
|
46
|
-
Requires-Dist: scikit-learn
|
|
47
|
-
Requires-Dist: scipy
|
|
48
|
-
Requires-Dist: seaborn (>=0.13.2
|
|
49
|
-
Requires-Dist: shap
|
|
50
|
-
Requires-Dist: skfolio
|
|
51
|
-
Requires-Dist: statsforecast
|
|
52
|
-
Requires-Dist: tensorly
|
|
53
|
-
Requires-Dist:
|
|
46
|
+
Requires-Dist: ruptures ; extra == "full"
|
|
47
|
+
Requires-Dist: s3fs (>=2024.9)
|
|
48
|
+
Requires-Dist: scikit-learn ; extra == "full"
|
|
49
|
+
Requires-Dist: scipy ; extra == "full"
|
|
50
|
+
Requires-Dist: seaborn (>=0.13.2)
|
|
51
|
+
Requires-Dist: shap ; extra == "full"
|
|
52
|
+
Requires-Dist: skfolio ; extra == "full"
|
|
53
|
+
Requires-Dist: statsforecast ; extra == "full"
|
|
54
|
+
Requires-Dist: tensorly ; extra == "full"
|
|
55
|
+
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
|
|
56
|
+
Requires-Dist: yachalk (>=0.1.6)
|
|
54
57
|
Description-Content-Type: text/markdown
|
|
55
58
|
|
|
56
59
|
[](https://github.com/sovai-research/SovAI/actions/workflows/main.yml)
|
|
@@ -1,10 +1,43 @@
|
|
|
1
|
-
[
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["poetry-core>=1.0.0"]
|
|
3
|
+
build-backend = "poetry.core.masonry.api"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
2
6
|
name = "sovai"
|
|
3
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.52"
|
|
4
8
|
description = "python for asset management"
|
|
5
|
-
authors = [
|
|
6
|
-
|
|
9
|
+
authors = [
|
|
10
|
+
{name = "Derek Snow", email = "d.snow@outlook.com"}
|
|
11
|
+
]
|
|
12
|
+
license = {text = "Proprietary License"}
|
|
7
13
|
readme = "README.md"
|
|
14
|
+
requires-python = ">=3.10"
|
|
15
|
+
dependencies = [
|
|
16
|
+
"pandas>=1.0",
|
|
17
|
+
"numpy>=1.20",
|
|
18
|
+
"pyarrow>=5.0",
|
|
19
|
+
"requests>=2.20",
|
|
20
|
+
"python-dateutil>=2.8",
|
|
21
|
+
"python-dotenv>=0.10",
|
|
22
|
+
"polars>=1.2",
|
|
23
|
+
"boto3>=1.20",
|
|
24
|
+
"joblib>=1.0",
|
|
25
|
+
"rapidfuzz>=3.9.7",
|
|
26
|
+
"edgar-tool>=1.3.3",
|
|
27
|
+
"yachalk>=0.1.6",
|
|
28
|
+
"pyvis>=0.3.2",
|
|
29
|
+
"networkx>=3.3",
|
|
30
|
+
"seaborn>=0.13.2",
|
|
31
|
+
"s3fs>=2024.9",
|
|
32
|
+
"gcsfs>=2024.9",
|
|
33
|
+
"fastapi-cache>=0.1.0",
|
|
34
|
+
"fastapi-cache2[redis]>=0.2.1",
|
|
35
|
+
"plotly (>=6.0.1,<7.0.0)",
|
|
36
|
+
"tqdm (>=4.67.1,<5.0.0)",
|
|
37
|
+
"ipywidgets (>=8.1.6,<9.0.0)"
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
[tool.poetry]
|
|
8
41
|
include = ["sovai/**/*", "data/**/*"]
|
|
9
42
|
exclude = [
|
|
10
43
|
"notebooks",
|
|
@@ -29,6 +62,7 @@ exclude = [
|
|
|
29
62
|
"**/.ipynb_checkpoints",
|
|
30
63
|
]
|
|
31
64
|
|
|
65
|
+
# Keep Poetry's dependencies section for detailed version specs
|
|
32
66
|
[tool.poetry.dependencies]
|
|
33
67
|
python = "^3.10"
|
|
34
68
|
pandas = ">=1.0"
|
|
@@ -44,7 +78,6 @@ rapidfuzz = "^3.9.7"
|
|
|
44
78
|
edgar-tool = "^1.3.3"
|
|
45
79
|
scipy = {version = ">=1.0", optional = true}
|
|
46
80
|
matplotlib = {version = ">=3.0", optional = true}
|
|
47
|
-
plotly = {version = ">=5.0", optional = true}
|
|
48
81
|
scikit-learn = {version = ">=1.0", optional = true}
|
|
49
82
|
numba = {version = ">=0.50", optional = true}
|
|
50
83
|
dash = {version = ">=2.0", optional = true}
|
|
@@ -58,20 +91,19 @@ openai = {version = ">=1.0", optional = true}
|
|
|
58
91
|
mfles = {version = ">=0.2", optional = true}
|
|
59
92
|
pexpect = {version = ">=4.9.0", optional = true}
|
|
60
93
|
lightgbm = {version = ">=4.5.0", optional = true}
|
|
61
|
-
ipywidgets = {version = ">=8.1.3", optional = true}
|
|
62
94
|
polars-talib = {version = "0.1.3", optional = true}
|
|
63
95
|
dash-bootstrap-components = {version = ">=1.6.0", optional = true}
|
|
64
96
|
yachalk = "^0.1.6"
|
|
65
97
|
pyvis = "^0.3.2"
|
|
66
98
|
networkx = "^3.3"
|
|
67
99
|
seaborn = "^0.13.2"
|
|
68
|
-
s3fs = "^2024.
|
|
69
|
-
gcsfs = "^2024.
|
|
100
|
+
s3fs = "^2024.9"
|
|
101
|
+
gcsfs = "^2024.9"
|
|
70
102
|
fastapi-cache = "^0.1.0"
|
|
71
103
|
fastapi-cache2 = {extras = ["redis"], version = "^0.2.1"}
|
|
72
104
|
|
|
73
105
|
|
|
74
|
-
[
|
|
106
|
+
[project.optional-dependencies]
|
|
75
107
|
full = [
|
|
76
108
|
"scipy",
|
|
77
109
|
"matplotlib",
|
|
@@ -103,6 +135,3 @@ traitlets = "^5.14.3"
|
|
|
103
135
|
jupyterlab = "^4.2.5"
|
|
104
136
|
pytest = "^7.0"
|
|
105
137
|
black = "^22.0"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
[build-system]
|
|
@@ -12,7 +12,11 @@ import warnings
|
|
|
12
12
|
warnings.filterwarnings("ignore")
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
try:
|
|
16
|
+
from importlib.metadata import version
|
|
17
|
+
__version__ = version("sovai")
|
|
18
|
+
except:
|
|
19
|
+
__version__ = "0.2.49" # Fallback to current version in pyproject.toml
|
|
16
20
|
|
|
17
21
|
# Call the function to ensure tickers data is up-to-date
|
|
18
22
|
save_or_update_tickers()
|
|
@@ -35,4 +39,4 @@ except ImportError as e:
|
|
|
35
39
|
__all__ = ['read_key', 'save_key', 'ApiConfig', 'data', 'basic_auth', 'token_auth']
|
|
36
40
|
|
|
37
41
|
if HAS_FULL_INSTALL:
|
|
38
|
-
__all__ += ['plot', 'report', 'compute', 'nowcast', 'extension', 'sec_search', 'sec_filing', 'code', 'sec_graph']
|
|
42
|
+
__all__ += ['plot', 'report', 'compute', 'nowcast', 'extension', 'sec_search', 'sec_filing', 'code', 'sec_graph']
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|