robotcode-language-server 0.104.0__tar.gz → 0.105.0__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.
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/PKG-INFO +5 -5
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/pyproject.toml +4 -4
- robotcode_language_server-0.105.0/src/robotcode/language_server/__version__.py +1 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/hover.py +27 -12
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/semantic_tokens.py +16 -16
- robotcode_language_server-0.104.0/src/robotcode/language_server/__version__.py +0 -1
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/.gitignore +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/LICENSE.txt +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/README.md +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/__init__.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/cli.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/__init__.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/decorators.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/__init__.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/code_action.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/code_lens.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/commands.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/completion.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/declaration.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/definition.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/diagnostics.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/document_highlight.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/document_symbols.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/documents.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/folding_range.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/formatting.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/hover.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/implementation.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/inlay_hint.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/inline_value.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/linked_editing_ranges.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/protocol_part.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/references.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/rename.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/selection_range.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/semantic_tokens.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/signature_help.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/window.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/parts/workspace.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/protocol.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/common/server.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/hooks.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/py.typed +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/__init__.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/configuration.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/__init__.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/code_action_documentation.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/code_action_helper_mixin.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/code_action_quick_fixes.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/code_action_refactor.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/code_lens.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/completion.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/debugging_utils.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/diagnostics.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/document_highlight.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/document_symbols.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/documents_cache.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/folding_range.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/formatting.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/goto.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/http_server.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/inlay_hint.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/inline_value.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/keywords_treeview.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/project_info.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/protocol_part.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/references.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/rename.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/robocop_diagnostics.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/robot_workspace.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/selection_range.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/parts/signature_help.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/protocol.py +0 -0
- {robotcode_language_server-0.104.0 → robotcode_language_server-0.105.0}/src/robotcode/language_server/robotframework/server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotcode-language-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.105.0
|
|
4
4
|
Summary: RobotCode Language Server for Robot Framework
|
|
5
5
|
Project-URL: Homepage, https://robotcode.io
|
|
6
6
|
Project-URL: Donate, https://opencollective.com/robotcode
|
|
@@ -25,10 +25,10 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Classifier: Typing :: Typed
|
|
27
27
|
Requires-Python: >=3.8
|
|
28
|
-
Requires-Dist: robotcode-analyze==0.
|
|
29
|
-
Requires-Dist: robotcode-jsonrpc2==0.
|
|
30
|
-
Requires-Dist: robotcode-robot==0.
|
|
31
|
-
Requires-Dist: robotcode==0.
|
|
28
|
+
Requires-Dist: robotcode-analyze==0.105.0
|
|
29
|
+
Requires-Dist: robotcode-jsonrpc2==0.105.0
|
|
30
|
+
Requires-Dist: robotcode-robot==0.105.0
|
|
31
|
+
Requires-Dist: robotcode==0.105.0
|
|
32
32
|
Requires-Dist: robotframework>=4.1.0
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
|
|
@@ -27,10 +27,10 @@ classifiers = [
|
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
29
|
"robotframework>=4.1.0",
|
|
30
|
-
"robotcode-jsonrpc2==0.
|
|
31
|
-
"robotcode-robot==0.
|
|
32
|
-
"robotcode-analyze==0.
|
|
33
|
-
"robotcode==0.
|
|
30
|
+
"robotcode-jsonrpc2==0.105.0",
|
|
31
|
+
"robotcode-robot==0.105.0",
|
|
32
|
+
"robotcode-analyze==0.105.0",
|
|
33
|
+
"robotcode==0.105.0",
|
|
34
34
|
]
|
|
35
35
|
dynamic = ["version"]
|
|
36
36
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.105.0"
|
|
@@ -44,6 +44,16 @@ if TYPE_CHECKING:
|
|
|
44
44
|
_HoverMethod = Callable[[ast.AST, List[ast.AST], TextDocument, Position], Optional[Hover]]
|
|
45
45
|
|
|
46
46
|
|
|
47
|
+
class MyRepr(reprlib.Repr):
|
|
48
|
+
def __init__(self) -> None:
|
|
49
|
+
super().__init__()
|
|
50
|
+
self.maxstring = 50
|
|
51
|
+
self.indent = 4
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
_my_repr = MyRepr()
|
|
55
|
+
|
|
56
|
+
|
|
47
57
|
class RobotHoverProtocolPart(RobotLanguageServerProtocolPart, ModelHelper):
|
|
48
58
|
_logger = LoggingDescriptor()
|
|
49
59
|
|
|
@@ -115,6 +125,7 @@ class RobotHoverProtocolPart(RobotLanguageServerProtocolPart, ModelHelper):
|
|
|
115
125
|
)
|
|
116
126
|
)
|
|
117
127
|
value = None
|
|
128
|
+
real_value = None
|
|
118
129
|
if found_range is not None:
|
|
119
130
|
highlight_range = found_range
|
|
120
131
|
if variable.has_value or variable.resolvable:
|
|
@@ -132,13 +143,14 @@ class RobotHoverProtocolPart(RobotLanguageServerProtocolPart, ModelHelper):
|
|
|
132
143
|
value = "[]"
|
|
133
144
|
else:
|
|
134
145
|
try:
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
namespace.get_resolvable_variables(nodes, position),
|
|
140
|
-
)
|
|
146
|
+
real_value = namespace.imports_manager.resolve_variable(
|
|
147
|
+
variable.name,
|
|
148
|
+
str(document.uri.to_path().parent),
|
|
149
|
+
namespace.get_resolvable_variables(nodes, position),
|
|
141
150
|
)
|
|
151
|
+
|
|
152
|
+
value = _my_repr.repr(real_value)
|
|
153
|
+
|
|
142
154
|
except (
|
|
143
155
|
asyncio.CancelledError,
|
|
144
156
|
SystemExit,
|
|
@@ -150,15 +162,18 @@ class RobotHoverProtocolPart(RobotLanguageServerProtocolPart, ModelHelper):
|
|
|
150
162
|
value = ""
|
|
151
163
|
else:
|
|
152
164
|
value = ""
|
|
153
|
-
if text is None:
|
|
154
|
-
text = ""
|
|
155
|
-
if text:
|
|
156
|
-
text += "\n"
|
|
157
165
|
|
|
158
|
-
text
|
|
166
|
+
text = f"### {variable.type.value.title()} `{variable.name}`\n\n"
|
|
167
|
+
|
|
168
|
+
if value:
|
|
159
169
|
|
|
170
|
+
text += "```python\n"
|
|
171
|
+
text += f"value: {type(real_value).__name__} = {value}\n"
|
|
172
|
+
text += "```\n"
|
|
173
|
+
|
|
174
|
+
text += "\n"
|
|
160
175
|
if text:
|
|
161
|
-
|
|
176
|
+
|
|
162
177
|
return Hover(
|
|
163
178
|
contents=MarkupContent(kind=MarkupKind.MARKDOWN, value=text),
|
|
164
179
|
range=highlight_range,
|
|
@@ -32,6 +32,7 @@ from robot.parsing.model.statements import (
|
|
|
32
32
|
ResourceImport,
|
|
33
33
|
Statement,
|
|
34
34
|
Template,
|
|
35
|
+
TemplateArguments,
|
|
35
36
|
TestTemplate,
|
|
36
37
|
Variable,
|
|
37
38
|
VariablesImport,
|
|
@@ -163,8 +164,6 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
163
164
|
parent.semantic_tokens.token_modifiers += list(RobotSemTokenModifiers)
|
|
164
165
|
|
|
165
166
|
parent.semantic_tokens.collect_full.add(self.collect_full)
|
|
166
|
-
# parent.semantic_tokens.collect_range.add(self.collect_range)
|
|
167
|
-
# parent.semantic_tokens.collect_full_delta.add(self.collect_full_delta)
|
|
168
167
|
|
|
169
168
|
self.parent.on_initialized.add(self._on_initialized)
|
|
170
169
|
|
|
@@ -345,9 +344,8 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
345
344
|
|
|
346
345
|
BUILTIN_MATCHER: ClassVar = KeywordMatcher("BuiltIn", is_namespace=True)
|
|
347
346
|
|
|
348
|
-
@classmethod
|
|
349
347
|
def generate_sem_sub_tokens(
|
|
350
|
-
|
|
348
|
+
self,
|
|
351
349
|
namespace: Namespace,
|
|
352
350
|
builtin_library_doc: Optional[LibraryDoc],
|
|
353
351
|
token: Token,
|
|
@@ -356,7 +354,8 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
356
354
|
length: Optional[int] = None,
|
|
357
355
|
yield_arguments: bool = False,
|
|
358
356
|
) -> Iterator[SemTokenInfo]:
|
|
359
|
-
|
|
357
|
+
|
|
358
|
+
sem_info = self.mapping().get(token.type, None) if token.type is not None else None
|
|
360
359
|
if sem_info is not None:
|
|
361
360
|
sem_type, sem_mod = sem_info
|
|
362
361
|
|
|
@@ -419,7 +418,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
419
418
|
bdd_len = 0
|
|
420
419
|
|
|
421
420
|
if get_robot_version() < (6, 0):
|
|
422
|
-
bdd_match =
|
|
421
|
+
bdd_match = self.BDD_TOKEN_REGEX.match(token.value)
|
|
423
422
|
if bdd_match:
|
|
424
423
|
bdd_len = len(bdd_match.group(1))
|
|
425
424
|
else:
|
|
@@ -489,7 +488,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
489
488
|
col_offset,
|
|
490
489
|
len(kw_namespace),
|
|
491
490
|
RobotSemTokenTypes.NAMESPACE,
|
|
492
|
-
{RobotSemTokenModifiers.BUILTIN} if kw_namespace ==
|
|
491
|
+
{RobotSemTokenModifiers.BUILTIN} if kw_namespace == self.BUILTIN_MATCHER else None,
|
|
493
492
|
)
|
|
494
493
|
yield SemTokenInfo(
|
|
495
494
|
token.lineno,
|
|
@@ -499,7 +498,11 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
499
498
|
)
|
|
500
499
|
|
|
501
500
|
if builtin_library_doc is not None and kw in builtin_library_doc.keywords:
|
|
502
|
-
if
|
|
501
|
+
if (
|
|
502
|
+
kw_doc is not None
|
|
503
|
+
and kw_doc.libname == self.BUILTIN_MATCHER
|
|
504
|
+
and kw_doc.matcher.match_string(kw)
|
|
505
|
+
):
|
|
503
506
|
if not sem_mod:
|
|
504
507
|
sem_mod = set()
|
|
505
508
|
sem_mod.add(RobotSemTokenModifiers.BUILTIN)
|
|
@@ -534,9 +537,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
534
537
|
ignore_errors=True,
|
|
535
538
|
identifiers="$@&%",
|
|
536
539
|
):
|
|
537
|
-
for e in
|
|
538
|
-
namespace, builtin_library_doc, sub_token, node, yield_arguments=True
|
|
539
|
-
):
|
|
540
|
+
for e in self.generate_sem_sub_tokens(namespace, builtin_library_doc, sub_token, node):
|
|
540
541
|
e.sem_modifiers = {RobotSemTokenModifiers.EMBEDDED}
|
|
541
542
|
yield e
|
|
542
543
|
|
|
@@ -558,7 +559,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
558
559
|
if col_offset is None:
|
|
559
560
|
col_offset = token.col_offset
|
|
560
561
|
|
|
561
|
-
for g in
|
|
562
|
+
for g in self.ESCAPE_REGEX.finditer(token.value):
|
|
562
563
|
yield SemTokenInfo.from_token(
|
|
563
564
|
token,
|
|
564
565
|
RobotSemTokenTypes.NAMESPACE if g.group("x") is None else RobotSemTokenTypes.ESCAPE,
|
|
@@ -626,6 +627,7 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
626
627
|
if (
|
|
627
628
|
yield_arguments
|
|
628
629
|
or token.type != Token.ARGUMENT
|
|
630
|
+
or (token.type == Token.ARGUMENT and cached_isinstance(node, TemplateArguments))
|
|
629
631
|
or (token.type != Token.NAME and cached_isinstance(node, Metadata))
|
|
630
632
|
):
|
|
631
633
|
yield SemTokenInfo.from_token(token, sem_type, sem_mod, col_offset, length)
|
|
@@ -699,13 +701,11 @@ class RobotSemanticTokenProtocolPart(RobotLanguageServerProtocolPart):
|
|
|
699
701
|
ignore_errors=True,
|
|
700
702
|
identifiers="$" if token.type == Token.KEYWORD_NAME else "$@&%",
|
|
701
703
|
):
|
|
702
|
-
for e in self.generate_sem_sub_tokens(
|
|
703
|
-
namespace, builtin_library_doc, sub_token, node, yield_arguments=True
|
|
704
|
-
):
|
|
704
|
+
for e in self.generate_sem_sub_tokens(namespace, builtin_library_doc, sub_token, node):
|
|
705
705
|
yield e
|
|
706
706
|
|
|
707
707
|
else:
|
|
708
|
-
for e in self.generate_sem_sub_tokens(namespace, builtin_library_doc, token, node
|
|
708
|
+
for e in self.generate_sem_sub_tokens(namespace, builtin_library_doc, token, node):
|
|
709
709
|
yield e
|
|
710
710
|
|
|
711
711
|
def generate_run_kw_tokens(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.104.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|