ai-parrot 0.3.5__tar.gz → 0.3.6__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.
Potentially problematic release.
This version of ai-parrot might be problematic. Click here for more details.
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/PKG-INFO +1 -1
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/ai_parrot.egg-info/PKG-INFO +1 -1
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/videolocal.py +24 -5
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/version.py +1 -1
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.flake8 +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.github/dependabot.yml +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.github/workflows/codeql-analysis.yml +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.github/workflows/release.yml +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.gitignore +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.isort.cfg +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/.pylintrc +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/INSTALL +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/LICENSE +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/Makefile +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/README.md +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/SECURITY.md +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/ai_parrot.egg-info/SOURCES.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/ai_parrot.egg-info/dependency_links.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/ai_parrot.egg-info/requires.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/ai_parrot.egg-info/top_level.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/app.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/AR_Certification_Skill_Practice_Scorecard_EXAMPLE.pdf +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/Day 1_Essentials_AR_PPT.pdf +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/ex-code-loaders.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/video_2024-09-11_19-43-58.mp3 +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/video_2024-09-11_19-43-58.mp4 +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/video_2024-09-11_19-43-58.vtt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/navigator-ssl.ini +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/navigator.ini +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/domain.ext +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/navigator.local.crt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/navigator.local.csr +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/navigator.local.key +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/rootCA.crt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/rootCA.key +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/etc/ssl/rootCA.srl +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/analyze_video.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/check_bot.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/extract_frames.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/load_pdf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/test_bot.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/examples/test_question.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/mypy.ini +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/abstract.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/asktroc.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/base.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/basic.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/bose.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/cody.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/copilot.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/dataframe.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/hragents.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/odoo.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/retrievals/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/chatbots/retrievals/constitutional.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/conf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/bing.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/config.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/duckgo.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/file.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/google.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/gtrends.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/md2pdf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/rag.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/search.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/crew/tools/url.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/exceptions.c +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/exceptions.pyx +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/handlers/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/handlers/bots.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/handlers/chat.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/interfaces/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/interfaces/database.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/abstract.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/anthropic.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/google.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/groq.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/hf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/openai.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/pipes.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/llms/vertex.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/abstract.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/audio.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/basepdf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/basevideo.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/csv.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/dir.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/excel.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/github.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/handlers/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/handlers/data.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/image.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/json.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdf.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdfchapters.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdffn.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdfimages.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdfmark.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/pdftables.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/ppt.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/qa.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/repo.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/rtd.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/txt.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/utils/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/utils/models.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/video.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/vimeo.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/web.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/web_base.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/word.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/loaders/youtube.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/manager.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/models.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/py.typed +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/stores/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/stores/abstract.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/stores/milvus.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/stores/qdrant.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/abstract.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/asknews.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/bing.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/duck.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/google.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/stack.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/weather.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/wikipedia.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/tools/zipcode.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/parsers/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/parsers/toml.c +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/parsers/toml.pyx +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/toml.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/types.cpp +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/types.pyx +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/parrot/utils/uv.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/pyproject.toml +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/pytest.ini +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/requirements/requirements-dev.txt +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/resources/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/resources/quick.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/resources/users/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/resources/users/handlers.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/resources/users/models.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/run.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/settings/__init__.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/settings/settings.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/setup.cfg +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/setup.py +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/templates/.compiled +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/templates/README.md +0 -0
- {ai_parrot-0.3.5 → ai_parrot-0.3.6}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ai-parrot
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.6
|
|
4
4
|
Summary: Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into aiohttp applications.
|
|
5
5
|
Home-page: https://github.com/phenobarbital/ai-parrot
|
|
6
6
|
Author: Jesus Lara
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ai-parrot
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.6
|
|
4
4
|
Summary: Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into aiohttp applications.
|
|
5
5
|
Home-page: https://github.com/phenobarbital/ai-parrot
|
|
6
6
|
Author: Jesus Lara
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
from collections.abc import Callable
|
|
3
|
+
import math
|
|
3
4
|
from pathlib import PurePath
|
|
4
5
|
from langchain.docstore.document import Document
|
|
5
6
|
from .basevideo import BaseVideoLoader
|
|
6
7
|
|
|
7
8
|
|
|
9
|
+
def split_text(text, max_length):
|
|
10
|
+
"""Split text into chunks of a maximum length, ensuring not to break words."""
|
|
11
|
+
chunks = []
|
|
12
|
+
while len(text) > max_length:
|
|
13
|
+
# Find the last space before the max_length
|
|
14
|
+
split_point = text.rfind(' ', 0, max_length)
|
|
15
|
+
# If no space found, split at max_length
|
|
16
|
+
if split_point == -1:
|
|
17
|
+
split_point = max_length
|
|
18
|
+
chunks.append(text[:split_point])
|
|
19
|
+
text = text[split_point:].strip()
|
|
20
|
+
chunks.append(text)
|
|
21
|
+
return chunks
|
|
22
|
+
|
|
23
|
+
|
|
8
24
|
class VideoLocalLoader(BaseVideoLoader):
|
|
9
25
|
"""
|
|
10
26
|
Generating Video transcripts from local Videos.
|
|
@@ -54,14 +70,17 @@ class VideoLocalLoader(BaseVideoLoader):
|
|
|
54
70
|
transcript = ''
|
|
55
71
|
# Summarize the transcript
|
|
56
72
|
if transcript:
|
|
73
|
+
# Split transcript into chunks
|
|
74
|
+
transcript_chunks = split_text(transcript, 32767)
|
|
57
75
|
summary = self.get_summary_from_text(transcript)
|
|
58
76
|
# Create Two Documents, one is for transcript, second is VTT:
|
|
59
77
|
metadata['summary'] = summary
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
78
|
+
for chunk in transcript_chunks:
|
|
79
|
+
doc = Document(
|
|
80
|
+
page_content=chunk,
|
|
81
|
+
metadata=metadata
|
|
82
|
+
)
|
|
83
|
+
documents.append(doc)
|
|
65
84
|
if transcript_whisper:
|
|
66
85
|
# VTT version:
|
|
67
86
|
transcript = self.transcript_to_vtt(transcript_whisper, transcript_path)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
__title__ = "ai-parrot"
|
|
4
4
|
__description__ = "Live Chatbots based on Langchain chatbots and Agents \
|
|
5
5
|
Integrated into Navigator Framework or used into aiohttp applications."
|
|
6
|
-
__version__ = "0.3.
|
|
6
|
+
__version__ = "0.3.6"
|
|
7
7
|
__author__ = "Jesus Lara"
|
|
8
8
|
__author_email__ = "jesuslarag@gmail.com"
|
|
9
9
|
__license__ = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_parrot-0.3.5 → ai_parrot-0.3.6}/documents/AR_Certification_Skill_Practice_Scorecard_EXAMPLE.pdf
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|