awslabs.syntheticdata-mcp-server 0.0.2__tar.gz → 1.0.1__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.
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/PKG-INFO +1 -1
- awslabs_syntheticdata_mcp_server-1.0.1/awslabs/__init__.py +15 -0
- awslabs_syntheticdata_mcp_server-1.0.1/awslabs/syntheticdata_mcp_server/__init__.py +17 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/pandas_interpreter.py +9 -6
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/server.py +10 -21
- awslabs_syntheticdata_mcp_server-1.0.1/awslabs/syntheticdata_mcp_server/storage/__init__.py +21 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/base.py +9 -6
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/loader.py +9 -6
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/s3.py +14 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/pyproject.toml +1 -1
- awslabs_syntheticdata_mcp_server-1.0.1/tests/__init__.py +14 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_server.py +9 -25
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/uv.lock +2 -1
- awslabs_syntheticdata_mcp_server-0.0.2/awslabs/__init__.py +0 -12
- awslabs_syntheticdata_mcp_server-0.0.2/awslabs/syntheticdata_mcp_server/__init__.py +0 -16
- awslabs_syntheticdata_mcp_server-0.0.2/awslabs/syntheticdata_mcp_server/storage/__init__.py +0 -7
- awslabs_syntheticdata_mcp_server-0.0.2/tests/__init__.py +0 -11
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.gitignore +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.pre-commit-config.yaml +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.python-version +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/CHANGELOG.md +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/LICENSE +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/NOTICE +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/README.md +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/conftest.py +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_constants.py +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_pandas_interpreter.py +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/__init__.py +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/test_loader.py +0 -0
- {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/test_s3.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.syntheticdata-mcp-server
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: An AWS Labs Model Context Protocol (MCP) server for syntheticdata
|
|
5
5
|
Project-URL: homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: docs, https://awslabs.github.io/mcp/servers/syntheticdata-mcp-server/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
# It is intentionally minimal to support PEP 420 namespace packages.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""SyntheticData MCP Server package."""
|
|
16
|
+
|
|
17
|
+
__version__ = '0.0.0'
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
import ast
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
"""AWS syntheticdata MCP Server implementation."""
|
|
13
16
|
|
|
14
|
-
import argparse
|
|
15
17
|
import os
|
|
16
18
|
import pandas as pd
|
|
17
19
|
import re
|
|
@@ -756,20 +758,7 @@ def _validate_table_data(table_name: str, records: List[Dict]) -> Dict:
|
|
|
756
758
|
|
|
757
759
|
def main():
|
|
758
760
|
"""Run the MCP server with CLI argument support."""
|
|
759
|
-
|
|
760
|
-
description='MCP server for generating synthetic data based on business use cases'
|
|
761
|
-
)
|
|
762
|
-
parser.add_argument('--sse', action='store_true', help='Use SSE transport')
|
|
763
|
-
parser.add_argument('--port', type=int, default=8888, help='Port to run the server on')
|
|
764
|
-
|
|
765
|
-
args = parser.parse_args()
|
|
766
|
-
|
|
767
|
-
# Run server with appropriate transport
|
|
768
|
-
if args.sse:
|
|
769
|
-
mcp.settings.port = args.port
|
|
770
|
-
mcp.run(transport='sse')
|
|
771
|
-
else:
|
|
772
|
-
mcp.run()
|
|
761
|
+
mcp.run()
|
|
773
762
|
|
|
774
763
|
|
|
775
764
|
if __name__ == '__main__':
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Storage module for synthetic data loading."""
|
|
16
|
+
|
|
17
|
+
from .base import DataTarget
|
|
18
|
+
from .s3 import S3Target
|
|
19
|
+
from .loader import UnifiedDataLoader
|
|
20
|
+
|
|
21
|
+
__all__ = ['DataTarget', 'S3Target', 'UnifiedDataLoader']
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
"""Base classes for data storage targets."""
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License")
|
|
4
|
-
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
5
6
|
#
|
|
6
|
-
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
8
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
"""Unified data loader implementation."""
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
1
15
|
"""S3 storage target implementation."""
|
|
2
16
|
|
|
3
17
|
import asyncio
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
"""Test package for syntheticdata MCP server."""
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Tests for syntheticdata MCP server functionality."""
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
|
-
import pytest
|
|
5
4
|
from awslabs.syntheticdata_mcp_server.server import (
|
|
6
5
|
ExecutePandasCodeInput,
|
|
7
6
|
LoadToStorageInput,
|
|
@@ -16,7 +15,6 @@ from awslabs.syntheticdata_mcp_server.server import (
|
|
|
16
15
|
get_data_gen_instructions,
|
|
17
16
|
load_to_storage,
|
|
18
17
|
main,
|
|
19
|
-
mcp,
|
|
20
18
|
validate_and_save_data,
|
|
21
19
|
)
|
|
22
20
|
from pytest import mark
|
|
@@ -349,34 +347,20 @@ def test_get_entity_example_data() -> None:
|
|
|
349
347
|
assert all('description' in record for record in custom_data)
|
|
350
348
|
|
|
351
349
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
(['--port', '9999'], 9999, False), # Custom port
|
|
357
|
-
(['--sse'], 8888, True), # SSE enabled
|
|
358
|
-
(['--sse', '--port', '7777'], 7777, True), # Both custom
|
|
359
|
-
],
|
|
360
|
-
)
|
|
361
|
-
def test_main_cli_arguments(mock_cli_args, monkeypatch, args, expected_port, expected_sse) -> None:
|
|
362
|
-
"""Test CLI argument handling."""
|
|
363
|
-
# Update mock CLI args
|
|
364
|
-
mock_cli_args.extend(args)
|
|
365
|
-
|
|
366
|
-
# Mock FastMCP.run to capture arguments
|
|
367
|
-
run_args = {}
|
|
350
|
+
def test_main_cli_arguments(monkeypatch) -> None:
|
|
351
|
+
"""Test that main() calls mcp.run() without arguments."""
|
|
352
|
+
# Mock FastMCP.run to verify it's called
|
|
353
|
+
run_called = False
|
|
368
354
|
|
|
369
355
|
def mock_run(self, **kwargs):
|
|
370
|
-
|
|
356
|
+
nonlocal run_called
|
|
357
|
+
run_called = True
|
|
358
|
+
assert not kwargs # Verify no arguments are passed
|
|
371
359
|
|
|
372
360
|
monkeypatch.setattr('mcp.server.fastmcp.FastMCP.run', mock_run)
|
|
373
361
|
|
|
374
362
|
# Run main
|
|
375
363
|
main()
|
|
376
364
|
|
|
377
|
-
# Verify
|
|
378
|
-
|
|
379
|
-
assert run_args.get('transport') == 'sse'
|
|
380
|
-
assert mcp.settings.port == expected_port
|
|
381
|
-
else:
|
|
382
|
-
assert not run_args # Default stdio transport
|
|
365
|
+
# Verify run was called
|
|
366
|
+
assert run_called
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
+
revision = 1
|
|
2
3
|
requires-python = ">=3.10"
|
|
3
4
|
resolution-markers = [
|
|
4
5
|
"python_full_version >= '3.12'",
|
|
@@ -41,7 +42,7 @@ wheels = [
|
|
|
41
42
|
|
|
42
43
|
[[package]]
|
|
43
44
|
name = "awslabs-syntheticdata-mcp-server"
|
|
44
|
-
version = "
|
|
45
|
+
version = "1.0.9223372036854775807"
|
|
45
46
|
source = { editable = "." }
|
|
46
47
|
dependencies = [
|
|
47
48
|
{ name = "boto3" },
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# This file is part of the awslabs namespace.
|
|
2
|
-
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
-
# with the License. A copy of the License is located at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
-
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
-
# and limitations under the License.
|
|
12
|
-
# It is intentionally minimal to support PEP 420 namespace packages.
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
-
# with the License. A copy of the License is located at
|
|
6
|
-
#
|
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
#
|
|
9
|
-
# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
-
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
-
# and limitations under the License.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"""SyntheticData MCP Server package."""
|
|
15
|
-
|
|
16
|
-
__version__ = '0.0.0'
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
4
|
-
# with the License. A copy of the License is located at
|
|
5
|
-
#
|
|
6
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
#
|
|
8
|
-
# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
9
|
-
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
10
|
-
# and limitations under the License.
|
|
11
|
-
"""Test package for syntheticdata MCP server."""
|
{awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.python-version
RENAMED
|
File without changes
|
{awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/CHANGELOG.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/conftest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|