type-bridge 2.2.0__tar.gz → 2.2.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.
- {type_bridge-2.2.0 → type_bridge-2.2.1}/PKG-INFO +18 -8
- {type_bridge-2.2.0 → type_bridge-2.2.1}/README.md +15 -5
- {type_bridge-2.2.0 → type_bridge-2.2.1}/pyproject.toml +3 -3
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/__init__.py +1 -1
- {type_bridge-2.2.0 → type_bridge-2.2.1}/.gitignore +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/LICENSE +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/_backend.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/_runtime_projection.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/_rust.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/_rust_runtime.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/base.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/boolean.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/date.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/datetime.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/datetimetz.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/decimal.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/double.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/duration.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/flags.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/integer.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/numeric.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/attribute/string.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/coercion.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/aggregates.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/exceptions.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/formatting.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/has_lookup.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/hooks.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/lookup.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/patterns.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/role_lookup.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/role_players.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/rust_manager.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/strategies.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/typedb_manager.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/types.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/crud/utils.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/aggregate.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/arithmetic.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/base.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/boolean.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/builtin.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/comparison.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/functions.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/iid.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/role_player.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/string.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/expressions/utils.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/fields/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/fields/base.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/fields/role.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/__main__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_adoption_authority.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_adoption_import.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_archive_base.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_archive_imports.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_lower.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_operations.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/_ref.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/exceptions.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/introspection.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/loader.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/sidecar.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/snapshots.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/state.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/state_schema.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/migration/utils.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/base.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/entity.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/registry.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/relation.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/role.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/schema_scanner.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/models/utils.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/proxy.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/py.typed +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/query/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/query/ast.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/query/compiler.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/query/parser.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/query_v2.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/reserved_words.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/rules.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/session.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/_descriptors.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/_remote_terminal.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/_terminal.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/page.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/query.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/references.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/remote_limits.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/remote_query.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/remote_session.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/results.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typed/session.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typedb_driver.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typeql/__init__.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/typeql/annotations.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/validation.py +0 -0
- {type_bridge-2.2.0 → type_bridge-2.2.1}/type_bridge/version.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: type-bridge
|
|
3
|
-
Version: 2.2.
|
|
4
|
-
Summary: Typed Python, TypeScript, and
|
|
3
|
+
Version: 2.2.1
|
|
4
|
+
Summary: Typed Python, TypeScript, Rust, and C application tooling for TypeDB
|
|
5
5
|
Project-URL: Homepage, https://github.com/ds1sqe/type-bridge
|
|
6
6
|
Project-URL: Repository, https://github.com/ds1sqe/type-bridge
|
|
7
7
|
Project-URL: Documentation, https://ds1sqe.github.io/type-bridge/
|
|
@@ -23,7 +23,7 @@ Requires-Python: <3.15,>=3.12
|
|
|
23
23
|
Requires-Dist: isodate==0.7.2
|
|
24
24
|
Requires-Dist: jinja2>=3.1.0
|
|
25
25
|
Requires-Dist: pydantic>=2.12.4
|
|
26
|
-
Requires-Dist: type-bridge-core==2.2.
|
|
26
|
+
Requires-Dist: type-bridge-core==2.2.1
|
|
27
27
|
Requires-Dist: typer>=0.15.0
|
|
28
28
|
Requires-Dist: typing-extensions>=4.12
|
|
29
29
|
Provides-Extra: dev
|
|
@@ -64,17 +64,18 @@ Description-Content-Type: text/markdown
|
|
|
64
64
|
|
|
65
65
|
TypeBridge is a typed application toolkit for [TypeDB](https://typedb.com/).
|
|
66
66
|
A versioned Split-YAML workspace is the schema authority. TypeBridge validates
|
|
67
|
-
that workspace and generates Python, TypeScript/Node, and
|
|
67
|
+
that workspace and generates Python, TypeScript/Node, Rust, and C bindings that
|
|
68
68
|
share one Rust-owned schema, query, migration, validation, and ORM engine.
|
|
69
69
|
|
|
70
|
-
## One system,
|
|
70
|
+
## One system, four generated SDKs
|
|
71
71
|
|
|
72
72
|
| Surface | Generated application API | Distribution |
|
|
73
73
|
| --- | --- | --- |
|
|
74
74
|
| Python | Value classes, model managers, transactions, direct/remote queries | [`type-bridge`](https://pypi.org/project/type-bridge/) |
|
|
75
75
|
| TypeScript / Node | Branded values, model managers, native and remote queries | [`@type-bridge/node`](https://www.npmjs.com/package/@type-bridge/node) |
|
|
76
76
|
| Rust | Schema-bound create/model types, async CRUD and immutable queries | [`type-bridge`](https://crates.io/crates/type-bridge) |
|
|
77
|
-
|
|
|
77
|
+
| C | Generated nominal models, transactions, direct/remote queries | [Ubuntu 24.04 x86_64 shared runtime](https://ds1sqe.github.io/type-bridge/guide/c/) |
|
|
78
|
+
| CLI | Split-YAML checks, migrations, and all four projections | Python package or standalone Linux archive |
|
|
78
79
|
| Server | Remote V2 query execution over the same generated contract | `ghcr.io/ds1sqe/type-bridge-server` |
|
|
79
80
|
|
|
80
81
|
TypeBridge preserves TypeDB concepts directly: independent attributes,
|
|
@@ -99,7 +100,7 @@ type-bridge --manifest typebridge.yaml migration make --name initial
|
|
|
99
100
|
type-bridge --manifest typebridge.yaml migration apply --environment development
|
|
100
101
|
```
|
|
101
102
|
|
|
102
|
-
One generation snapshot writes every configured Python, TypeScript, and
|
|
103
|
+
One generation snapshot writes every configured Python, TypeScript, Rust, and C
|
|
103
104
|
package. Generated packages privately embed the verified authority used by
|
|
104
105
|
their managers and direct or remote queries, so ordinary applications never
|
|
105
106
|
configure or read an external authority JSON. A workspace deploying the optional
|
|
@@ -178,6 +179,15 @@ type-bridge = "2"
|
|
|
178
179
|
Follow the [Rust client guide](https://ds1sqe.github.io/type-bridge/guide/rust/)
|
|
179
180
|
for generation, direct execution, transactions, and remote queries.
|
|
180
181
|
|
|
182
|
+
## C
|
|
183
|
+
|
|
184
|
+
TypeBridge 2.2.0 ships a C ABI 1.6.0 shared runtime and standalone CLI for
|
|
185
|
+
Ubuntu 24.04 on x86_64 GNU/Linux. Generate an application schema package from
|
|
186
|
+
Split-YAML, then link C17 or C++17 consumers with CMake or pkg-config.
|
|
187
|
+
|
|
188
|
+
See the [C SDK guide](https://ds1sqe.github.io/type-bridge/guide/c/) for signed
|
|
189
|
+
archives, installation, generation, and the exact supported matrix.
|
|
190
|
+
|
|
181
191
|
## Documentation
|
|
182
192
|
|
|
183
193
|
- [Install a surface](https://ds1sqe.github.io/type-bridge/getting-started/installation/)
|
|
@@ -191,7 +201,7 @@ for generation, direct execution, transactions, and remote queries.
|
|
|
191
201
|
## Development
|
|
192
202
|
|
|
193
203
|
```bash
|
|
194
|
-
|
|
204
|
+
uv sync --extra dev
|
|
195
205
|
uv run pytest
|
|
196
206
|
./test.sh
|
|
197
207
|
./scripts/check.sh all
|
|
@@ -13,17 +13,18 @@
|
|
|
13
13
|
|
|
14
14
|
TypeBridge is a typed application toolkit for [TypeDB](https://typedb.com/).
|
|
15
15
|
A versioned Split-YAML workspace is the schema authority. TypeBridge validates
|
|
16
|
-
that workspace and generates Python, TypeScript/Node, and
|
|
16
|
+
that workspace and generates Python, TypeScript/Node, Rust, and C bindings that
|
|
17
17
|
share one Rust-owned schema, query, migration, validation, and ORM engine.
|
|
18
18
|
|
|
19
|
-
## One system,
|
|
19
|
+
## One system, four generated SDKs
|
|
20
20
|
|
|
21
21
|
| Surface | Generated application API | Distribution |
|
|
22
22
|
| --- | --- | --- |
|
|
23
23
|
| Python | Value classes, model managers, transactions, direct/remote queries | [`type-bridge`](https://pypi.org/project/type-bridge/) |
|
|
24
24
|
| TypeScript / Node | Branded values, model managers, native and remote queries | [`@type-bridge/node`](https://www.npmjs.com/package/@type-bridge/node) |
|
|
25
25
|
| Rust | Schema-bound create/model types, async CRUD and immutable queries | [`type-bridge`](https://crates.io/crates/type-bridge) |
|
|
26
|
-
|
|
|
26
|
+
| C | Generated nominal models, transactions, direct/remote queries | [Ubuntu 24.04 x86_64 shared runtime](https://ds1sqe.github.io/type-bridge/guide/c/) |
|
|
27
|
+
| CLI | Split-YAML checks, migrations, and all four projections | Python package or standalone Linux archive |
|
|
27
28
|
| Server | Remote V2 query execution over the same generated contract | `ghcr.io/ds1sqe/type-bridge-server` |
|
|
28
29
|
|
|
29
30
|
TypeBridge preserves TypeDB concepts directly: independent attributes,
|
|
@@ -48,7 +49,7 @@ type-bridge --manifest typebridge.yaml migration make --name initial
|
|
|
48
49
|
type-bridge --manifest typebridge.yaml migration apply --environment development
|
|
49
50
|
```
|
|
50
51
|
|
|
51
|
-
One generation snapshot writes every configured Python, TypeScript, and
|
|
52
|
+
One generation snapshot writes every configured Python, TypeScript, Rust, and C
|
|
52
53
|
package. Generated packages privately embed the verified authority used by
|
|
53
54
|
their managers and direct or remote queries, so ordinary applications never
|
|
54
55
|
configure or read an external authority JSON. A workspace deploying the optional
|
|
@@ -127,6 +128,15 @@ type-bridge = "2"
|
|
|
127
128
|
Follow the [Rust client guide](https://ds1sqe.github.io/type-bridge/guide/rust/)
|
|
128
129
|
for generation, direct execution, transactions, and remote queries.
|
|
129
130
|
|
|
131
|
+
## C
|
|
132
|
+
|
|
133
|
+
TypeBridge 2.2.0 ships a C ABI 1.6.0 shared runtime and standalone CLI for
|
|
134
|
+
Ubuntu 24.04 on x86_64 GNU/Linux. Generate an application schema package from
|
|
135
|
+
Split-YAML, then link C17 or C++17 consumers with CMake or pkg-config.
|
|
136
|
+
|
|
137
|
+
See the [C SDK guide](https://ds1sqe.github.io/type-bridge/guide/c/) for signed
|
|
138
|
+
archives, installation, generation, and the exact supported matrix.
|
|
139
|
+
|
|
130
140
|
## Documentation
|
|
131
141
|
|
|
132
142
|
- [Install a surface](https://ds1sqe.github.io/type-bridge/getting-started/installation/)
|
|
@@ -140,7 +150,7 @@ for generation, direct execution, transactions, and remote queries.
|
|
|
140
150
|
## Development
|
|
141
151
|
|
|
142
152
|
```bash
|
|
143
|
-
|
|
153
|
+
uv sync --extra dev
|
|
144
154
|
uv run pytest
|
|
145
155
|
./test.sh
|
|
146
156
|
./scripts/check.sh all
|
|
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "type-bridge"
|
|
7
|
-
version = "2.2.
|
|
8
|
-
description = "Typed Python, TypeScript, and
|
|
7
|
+
version = "2.2.1"
|
|
8
|
+
description = "Typed Python, TypeScript, Rust, and C application tooling for TypeDB"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12,<3.15"
|
|
11
11
|
license = {text = "MIT"}
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
"jinja2>=3.1.0",
|
|
31
31
|
"typer>=0.15.0",
|
|
32
32
|
# The facade and native semantic engine are one release unit.
|
|
33
|
-
"type-bridge-core==2.2.
|
|
33
|
+
"type-bridge-core==2.2.1",
|
|
34
34
|
"typing-extensions>=4.12",
|
|
35
35
|
]
|
|
36
36
|
|
|
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
|
|
|
24
24
|
from type_bridge.migration.exceptions import SchemaConflictError, SchemaValidationError
|
|
25
25
|
from type_bridge.migration.introspection import SchemaIntrospector
|
|
26
26
|
|
|
27
|
-
__version__ = "2.2.
|
|
27
|
+
__version__ = "2.2.1"
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
_LAZY_EXPORTS: dict[str, tuple[str, str]] = {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|