sciveo 0.1.52__tar.gz → 0.1.53__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.
- {sciveo-0.1.52 → sciveo-0.1.53}/PKG-INFO +1 -1
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/api/predictors.py +21 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/api/server.py +7 -4
- sciveo-0.1.53/sciveo/version.py +2 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.52/sciveo/version.py +0 -2
- {sciveo-0.1.52 → sciveo-0.1.53}/README.md +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/api/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/cli.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/common/model.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/content/project.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/tools/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/tools/nvr.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/dataset/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/dataset/object_detection.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/evaluation/object_detection.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/base.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/description.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/embeddings.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/segmentation.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/images/transformers.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/nlp/embeddings.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/video/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/ml/video/description.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/monitoring/watchdog/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/monitoring/watchdog/memory.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/complexity.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/queue.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo/tools/timers.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/setup.cfg +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/setup.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_complexity.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_compress.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_configuration.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_crypto.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_ml_datasets.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_monitoring.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_runner.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_sampling.py +0 -0
- {sciveo-0.1.52 → sciveo-0.1.53}/test/test_tokenizers.py +0 -0
|
@@ -11,9 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
from sciveo.tools.logger import *
|
|
13
13
|
from sciveo.tools.timers import Timer
|
|
14
|
+
from sciveo.tools.configuration import GlobalConfiguration
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class Predictors:
|
|
18
|
+
instance = None
|
|
19
|
+
|
|
17
20
|
def __init__(self, predictors=None):
|
|
18
21
|
if predictors is not None:
|
|
19
22
|
self.list_predictors = predictors
|
|
@@ -27,6 +30,16 @@ class Predictors:
|
|
|
27
30
|
|
|
28
31
|
self.stats = {}
|
|
29
32
|
|
|
33
|
+
@staticmethod
|
|
34
|
+
def get():
|
|
35
|
+
if Predictors.instance is None:
|
|
36
|
+
Predictors.instance = Predictors(GlobalConfiguration.get().data.get("API_PREDICTORS", None))
|
|
37
|
+
return Predictors.instance
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def set(predictors):
|
|
41
|
+
Predictors.instance = predictors
|
|
42
|
+
|
|
30
43
|
def predict(self, predictor_name, X):
|
|
31
44
|
t = Timer()
|
|
32
45
|
predicted = self.list_predictors[predictor_name].predict(X)
|
|
@@ -35,6 +48,14 @@ class Predictors:
|
|
|
35
48
|
self.stats[predictor_name]["count"] += len(X)
|
|
36
49
|
return predicted
|
|
37
50
|
|
|
51
|
+
def train(self, predictor_name, X, Y_true=None):
|
|
52
|
+
t = Timer()
|
|
53
|
+
result = self.list_predictors[predictor_name].train(X, Y_true)
|
|
54
|
+
self.stats.setdefault(predictor_name, {"elapsed": 0.0, "count": 0})
|
|
55
|
+
self.stats[predictor_name]["elapsed"] += t.stop()
|
|
56
|
+
self.stats[predictor_name]["count"] += len(X)
|
|
57
|
+
return result
|
|
58
|
+
|
|
38
59
|
def describe(self):
|
|
39
60
|
result = []
|
|
40
61
|
for k, v in self.list_predictors.items():
|
|
@@ -26,8 +26,6 @@ CONFIG = GlobalConfiguration.get()
|
|
|
26
26
|
SCI_API_AUTH_TOKEN = CONFIG["api_auth_token"]
|
|
27
27
|
SCI_API_PREFIX = CONFIG["api_prefix"]
|
|
28
28
|
|
|
29
|
-
API_PREDICTORS = Predictors(CONFIG.data.get("API_PREDICTORS", None))
|
|
30
|
-
API_PREDICTORS.print()
|
|
31
29
|
|
|
32
30
|
app = Flask(__name__)
|
|
33
31
|
|
|
@@ -49,7 +47,7 @@ def predict_endpoint():
|
|
|
49
47
|
data = request.json
|
|
50
48
|
if "predictor" in data and "X" in data:
|
|
51
49
|
t = Timer()
|
|
52
|
-
predicted =
|
|
50
|
+
predicted = Predictors.get().predict(data["predictor"], data["X"])
|
|
53
51
|
|
|
54
52
|
if data.get("compressed", 0) > 0:
|
|
55
53
|
predicted = CompressJsonData().compress(predicted)
|
|
@@ -67,11 +65,16 @@ def predict_endpoint():
|
|
|
67
65
|
|
|
68
66
|
|
|
69
67
|
class WebServerDaemon(DaemonBase):
|
|
70
|
-
def __init__(self, host="0.0.0.0", port=8901):
|
|
68
|
+
def __init__(self, host="0.0.0.0", port=8901, predictors=None):
|
|
71
69
|
super().__init__()
|
|
72
70
|
self.host = host
|
|
73
71
|
self.port = port
|
|
74
72
|
|
|
73
|
+
if predictors is not None:
|
|
74
|
+
Predictors.set(predictors)
|
|
75
|
+
|
|
75
76
|
def run(self):
|
|
76
77
|
info("run", [self.host, self.port])
|
|
78
|
+
Predictors.get().print()
|
|
79
|
+
|
|
77
80
|
serve(app, host=self.host, port=self.port)
|
sciveo-0.1.52/sciveo/version.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/audio/audio_extractor_process.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
|
{sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.52 → sciveo-0.1.53}/sciveo/media/pipelines/processors/sci/time_series/trainer.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|