minot-cli 0.11.0__tar.gz → 0.11.2__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.
- {minot_cli-0.11.0 → minot_cli-0.11.2}/Cargo.lock +49 -53
- {minot_cli-0.11.0 → minot_cli-0.11.2}/Cargo.toml +17 -17
- {minot_cli-0.11.0 → minot_cli-0.11.2}/PKG-INFO +1 -1
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/Cargo.toml +1 -1
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/src/lib.rs +20 -20
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/ros2_r2r.rs +2 -1
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/build.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/app.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/coord.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/event.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/gen_c.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/gen_c.rs.patch +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/gen_c.rs.patch2 +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/gen_c_tests.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/handler.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/minot.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/runner.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/tui.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/minot/src/ui.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/examples/stream_probe.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/src/qos.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/test/metadata-v5.yml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_bagread/test/metadata-v9.yml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_coord/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_coord/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_coord/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/default.rl +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/cleanup.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/core/marina.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/core/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/bag.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/db3_transform.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/mcap_transform.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/pack.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/io/transform_progress.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/model/bag_ref.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/model/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/progress.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/driver.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/folder.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/gdrive.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/gdrive_auth.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/http.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/minot/block_store.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/minot/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/minot/protocol.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/minot/remote_file.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/ssh.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/stub.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/registry/transfer_progress.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/storage/cache.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/storage/config.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_dataset/src/storage/mod.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_flow/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_flow/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/buffer.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/format.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/init.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/logger.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/pane.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_log/src/tests.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_mtc/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_mtc/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_mtc/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/examples/c_interop_layout.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/examples/c_interop_pc2.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/examples/c_interop_test.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/src/bin_layout.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/src/c_interop_test.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_net/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/be_node.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/be_sub.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/be_sub_drop.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/be_sub_error.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/pub.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/smol.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/examples/sub.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_pubsub/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_scope/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_scope/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_scope/examples/test.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_scope/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/client.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/coordinator.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/net.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/network.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_sea/src/ship.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/examples/bad_service_client.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/examples/basic_service_client.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/examples/basic_service_client2.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/examples/basic_service_server.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_service/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/Cargo.toml +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/README.md +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/hiroz.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/lib.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/mt_pubsub.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/ros1.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/mt_wind/src/ros2.rs +0 -0
- {minot_cli-0.11.0 → minot_cli-0.11.2}/pyproject.toml +0 -0
|
@@ -441,9 +441,9 @@ dependencies = [
|
|
|
441
441
|
|
|
442
442
|
[[package]]
|
|
443
443
|
name = "bindgen"
|
|
444
|
-
version = "0.
|
|
444
|
+
version = "0.72.1"
|
|
445
445
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
446
|
-
checksum = "
|
|
446
|
+
checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
|
|
447
447
|
dependencies = [
|
|
448
448
|
"bitflags 2.13.1",
|
|
449
449
|
"cexpr",
|
|
@@ -3527,6 +3527,12 @@ dependencies = [
|
|
|
3527
3527
|
"vcpkg",
|
|
3528
3528
|
]
|
|
3529
3529
|
|
|
3530
|
+
[[package]]
|
|
3531
|
+
name = "libyaml-rs"
|
|
3532
|
+
version = "0.3.0"
|
|
3533
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3534
|
+
checksum = "2e126dda6f34391ab7b444f9922055facc83c07a910da3eb16f1e4d9c45dc777"
|
|
3535
|
+
|
|
3530
3536
|
[[package]]
|
|
3531
3537
|
name = "line-clipping"
|
|
3532
3538
|
version = "0.3.8"
|
|
@@ -3802,7 +3808,7 @@ dependencies = [
|
|
|
3802
3808
|
|
|
3803
3809
|
[[package]]
|
|
3804
3810
|
name = "minot"
|
|
3805
|
-
version = "0.11.
|
|
3811
|
+
version = "0.11.2"
|
|
3806
3812
|
dependencies = [
|
|
3807
3813
|
"anyhow",
|
|
3808
3814
|
"bytesize",
|
|
@@ -3929,7 +3935,7 @@ dependencies = [
|
|
|
3929
3935
|
|
|
3930
3936
|
[[package]]
|
|
3931
3937
|
name = "mt_action"
|
|
3932
|
-
version = "0.11.
|
|
3938
|
+
version = "0.11.2"
|
|
3933
3939
|
dependencies = [
|
|
3934
3940
|
"anyhow",
|
|
3935
3941
|
"log",
|
|
@@ -3944,7 +3950,7 @@ dependencies = [
|
|
|
3944
3950
|
|
|
3945
3951
|
[[package]]
|
|
3946
3952
|
name = "mt_bagread"
|
|
3947
|
-
version = "0.11.
|
|
3953
|
+
version = "0.11.2"
|
|
3948
3954
|
dependencies = [
|
|
3949
3955
|
"anyhow",
|
|
3950
3956
|
"camino",
|
|
@@ -3959,13 +3965,13 @@ dependencies = [
|
|
|
3959
3965
|
"ros2-interfaces-jazzy-serde",
|
|
3960
3966
|
"rusqlite",
|
|
3961
3967
|
"serde",
|
|
3962
|
-
"serde_yml",
|
|
3963
3968
|
"tokio",
|
|
3969
|
+
"yaml_serde",
|
|
3964
3970
|
]
|
|
3965
3971
|
|
|
3966
3972
|
[[package]]
|
|
3967
3973
|
name = "mt_coord"
|
|
3968
|
-
version = "0.11.
|
|
3974
|
+
version = "0.11.2"
|
|
3969
3975
|
dependencies = [
|
|
3970
3976
|
"anyhow",
|
|
3971
3977
|
"fs2",
|
|
@@ -3979,7 +3985,7 @@ dependencies = [
|
|
|
3979
3985
|
|
|
3980
3986
|
[[package]]
|
|
3981
3987
|
name = "mt_dataset"
|
|
3982
|
-
version = "0.11.
|
|
3988
|
+
version = "0.11.2"
|
|
3983
3989
|
dependencies = [
|
|
3984
3990
|
"anyhow",
|
|
3985
3991
|
"async-trait",
|
|
@@ -4022,7 +4028,7 @@ dependencies = [
|
|
|
4022
4028
|
|
|
4023
4029
|
[[package]]
|
|
4024
4030
|
name = "mt_flow"
|
|
4025
|
-
version = "0.11.
|
|
4031
|
+
version = "0.11.2"
|
|
4026
4032
|
dependencies = [
|
|
4027
4033
|
"anyhow",
|
|
4028
4034
|
"env_logger",
|
|
@@ -4036,7 +4042,7 @@ dependencies = [
|
|
|
4036
4042
|
|
|
4037
4043
|
[[package]]
|
|
4038
4044
|
name = "mt_log"
|
|
4039
|
-
version = "0.11.
|
|
4045
|
+
version = "0.11.2"
|
|
4040
4046
|
dependencies = [
|
|
4041
4047
|
"env_filter 2.0.0",
|
|
4042
4048
|
"env_logger",
|
|
@@ -4048,7 +4054,7 @@ dependencies = [
|
|
|
4048
4054
|
|
|
4049
4055
|
[[package]]
|
|
4050
4056
|
name = "mt_mtc"
|
|
4051
|
-
version = "0.11.
|
|
4057
|
+
version = "0.11.2"
|
|
4052
4058
|
dependencies = [
|
|
4053
4059
|
"anyhow",
|
|
4054
4060
|
"ariadne",
|
|
@@ -4061,7 +4067,7 @@ dependencies = [
|
|
|
4061
4067
|
|
|
4062
4068
|
[[package]]
|
|
4063
4069
|
name = "mt_net"
|
|
4064
|
-
version = "0.11.
|
|
4070
|
+
version = "0.11.2"
|
|
4065
4071
|
dependencies = [
|
|
4066
4072
|
"anyhow",
|
|
4067
4073
|
"rkyv 0.8.18",
|
|
@@ -4071,7 +4077,7 @@ dependencies = [
|
|
|
4071
4077
|
|
|
4072
4078
|
[[package]]
|
|
4073
4079
|
name = "mt_pubsub"
|
|
4074
|
-
version = "0.11.
|
|
4080
|
+
version = "0.11.2"
|
|
4075
4081
|
dependencies = [
|
|
4076
4082
|
"anyhow",
|
|
4077
4083
|
"async-trait",
|
|
@@ -4090,7 +4096,7 @@ dependencies = [
|
|
|
4090
4096
|
|
|
4091
4097
|
[[package]]
|
|
4092
4098
|
name = "mt_rat"
|
|
4093
|
-
version = "0.11.
|
|
4099
|
+
version = "0.11.2"
|
|
4094
4100
|
dependencies = [
|
|
4095
4101
|
"anyhow",
|
|
4096
4102
|
"async-trait",
|
|
@@ -4105,7 +4111,7 @@ dependencies = [
|
|
|
4105
4111
|
|
|
4106
4112
|
[[package]]
|
|
4107
4113
|
name = "mt_scope"
|
|
4108
|
-
version = "0.11.
|
|
4114
|
+
version = "0.11.2"
|
|
4109
4115
|
dependencies = [
|
|
4110
4116
|
"anyhow",
|
|
4111
4117
|
"env_logger",
|
|
@@ -4118,7 +4124,7 @@ dependencies = [
|
|
|
4118
4124
|
|
|
4119
4125
|
[[package]]
|
|
4120
4126
|
name = "mt_sea"
|
|
4121
|
-
version = "0.11.
|
|
4127
|
+
version = "0.11.2"
|
|
4122
4128
|
dependencies = [
|
|
4123
4129
|
"anyhow",
|
|
4124
4130
|
"async-trait",
|
|
@@ -4135,7 +4141,7 @@ dependencies = [
|
|
|
4135
4141
|
|
|
4136
4142
|
[[package]]
|
|
4137
4143
|
name = "mt_service"
|
|
4138
|
-
version = "0.11.
|
|
4144
|
+
version = "0.11.2"
|
|
4139
4145
|
dependencies = [
|
|
4140
4146
|
"anyhow",
|
|
4141
4147
|
"log",
|
|
@@ -4149,7 +4155,7 @@ dependencies = [
|
|
|
4149
4155
|
|
|
4150
4156
|
[[package]]
|
|
4151
4157
|
name = "mt_wind"
|
|
4152
|
-
version = "0.11.
|
|
4158
|
+
version = "0.11.2"
|
|
4153
4159
|
dependencies = [
|
|
4154
4160
|
"anyhow",
|
|
4155
4161
|
"async-trait",
|
|
@@ -4376,19 +4382,6 @@ dependencies = [
|
|
|
4376
4382
|
"serde",
|
|
4377
4383
|
]
|
|
4378
4384
|
|
|
4379
|
-
[[package]]
|
|
4380
|
-
name = "noyalib"
|
|
4381
|
-
version = "0.0.5"
|
|
4382
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4383
|
-
checksum = "e493c05128df7a83b9676b709d590e0ebc285c7ed3152bc679668e8c1e506af5"
|
|
4384
|
-
dependencies = [
|
|
4385
|
-
"indexmap 2.14.0",
|
|
4386
|
-
"memchr",
|
|
4387
|
-
"rustc-hash",
|
|
4388
|
-
"serde",
|
|
4389
|
-
"smallvec",
|
|
4390
|
-
]
|
|
4391
|
-
|
|
4392
4385
|
[[package]]
|
|
4393
4386
|
name = "nu-ansi-term"
|
|
4394
4387
|
version = "0.50.3"
|
|
@@ -5442,9 +5435,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
|
|
|
5442
5435
|
|
|
5443
5436
|
[[package]]
|
|
5444
5437
|
name = "r2r"
|
|
5445
|
-
version = "0.9.
|
|
5438
|
+
version = "0.9.7"
|
|
5446
5439
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5447
|
-
checksum = "
|
|
5440
|
+
checksum = "1fe8623ef13a4f3c25f4ef407c6032eee9e1c95d0912d8ed758f616cbb95a6cd"
|
|
5448
5441
|
dependencies = [
|
|
5449
5442
|
"force-send-sync",
|
|
5450
5443
|
"futures",
|
|
@@ -5470,9 +5463,9 @@ dependencies = [
|
|
|
5470
5463
|
|
|
5471
5464
|
[[package]]
|
|
5472
5465
|
name = "r2r_actions"
|
|
5473
|
-
version = "0.9.
|
|
5466
|
+
version = "0.9.7"
|
|
5474
5467
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5475
|
-
checksum = "
|
|
5468
|
+
checksum = "441f4aca2b1dfe553ab40f03bd869445d02dccd7ddff4c5f32e3a681fcd47c57"
|
|
5476
5469
|
dependencies = [
|
|
5477
5470
|
"bindgen",
|
|
5478
5471
|
"r2r_common",
|
|
@@ -5482,9 +5475,9 @@ dependencies = [
|
|
|
5482
5475
|
|
|
5483
5476
|
[[package]]
|
|
5484
5477
|
name = "r2r_common"
|
|
5485
|
-
version = "0.9.
|
|
5478
|
+
version = "0.9.7"
|
|
5486
5479
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5487
|
-
checksum = "
|
|
5480
|
+
checksum = "786a8b50036ed5d38a1dfbee73c711e270acd9a518b73351c66d541c1fa05422"
|
|
5488
5481
|
dependencies = [
|
|
5489
5482
|
"bindgen",
|
|
5490
5483
|
"os_str_bytes",
|
|
@@ -5494,9 +5487,9 @@ dependencies = [
|
|
|
5494
5487
|
|
|
5495
5488
|
[[package]]
|
|
5496
5489
|
name = "r2r_macros"
|
|
5497
|
-
version = "0.9.
|
|
5490
|
+
version = "0.9.7"
|
|
5498
5491
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5499
|
-
checksum = "
|
|
5492
|
+
checksum = "743bfcbea83d856d97d222b3c3545d4848ba81572f1d52dc5b6bff4899b8583d"
|
|
5500
5493
|
dependencies = [
|
|
5501
5494
|
"proc-macro2",
|
|
5502
5495
|
"quote",
|
|
@@ -5505,9 +5498,9 @@ dependencies = [
|
|
|
5505
5498
|
|
|
5506
5499
|
[[package]]
|
|
5507
5500
|
name = "r2r_msg_gen"
|
|
5508
|
-
version = "0.9.
|
|
5501
|
+
version = "0.9.7"
|
|
5509
5502
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5510
|
-
checksum = "
|
|
5503
|
+
checksum = "db410864937e12357cd65f3e82c6fb7c8372d0493f154886952522bad87817c9"
|
|
5511
5504
|
dependencies = [
|
|
5512
5505
|
"bindgen",
|
|
5513
5506
|
"force-send-sync",
|
|
@@ -5523,9 +5516,9 @@ dependencies = [
|
|
|
5523
5516
|
|
|
5524
5517
|
[[package]]
|
|
5525
5518
|
name = "r2r_rcl"
|
|
5526
|
-
version = "0.9.
|
|
5519
|
+
version = "0.9.7"
|
|
5527
5520
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5528
|
-
checksum = "
|
|
5521
|
+
checksum = "7c0420d9ea790fe2b4f66f7a88c8a7901491075d2fed4037010b03173392a22a"
|
|
5529
5522
|
dependencies = [
|
|
5530
5523
|
"bindgen",
|
|
5531
5524
|
"paste",
|
|
@@ -6943,16 +6936,6 @@ dependencies = [
|
|
|
6943
6936
|
"unsafe-libyaml",
|
|
6944
6937
|
]
|
|
6945
6938
|
|
|
6946
|
-
[[package]]
|
|
6947
|
-
name = "serde_yml"
|
|
6948
|
-
version = "0.0.13"
|
|
6949
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
6950
|
-
checksum = "909764a65f86829ccdb5eea9ab355843aa02c019a7bfd47465092953565caa05"
|
|
6951
|
-
dependencies = [
|
|
6952
|
-
"noyalib",
|
|
6953
|
-
"serde",
|
|
6954
|
-
]
|
|
6955
|
-
|
|
6956
6939
|
[[package]]
|
|
6957
6940
|
name = "serdect"
|
|
6958
6941
|
version = "0.4.3"
|
|
@@ -9169,6 +9152,19 @@ version = "0.8.29"
|
|
|
9169
9152
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9170
9153
|
checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
|
|
9171
9154
|
|
|
9155
|
+
[[package]]
|
|
9156
|
+
name = "yaml_serde"
|
|
9157
|
+
version = "0.10.7"
|
|
9158
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9159
|
+
checksum = "33b729a08a9a6be689bbad3e2bf8015926db54b6622cc89c3a5f7dc174b9e918"
|
|
9160
|
+
dependencies = [
|
|
9161
|
+
"indexmap 2.14.0",
|
|
9162
|
+
"itoa",
|
|
9163
|
+
"libyaml-rs",
|
|
9164
|
+
"ryu",
|
|
9165
|
+
"serde",
|
|
9166
|
+
]
|
|
9167
|
+
|
|
9172
9168
|
[[package]]
|
|
9173
9169
|
name = "yansi"
|
|
9174
9170
|
version = "1.0.1"
|
|
@@ -4,12 +4,12 @@ members = ["minot", "mt_pubsub", "mt_coord", "mt_bagread", "mt_mtc", "mt_sea", "
|
|
|
4
4
|
resolver = "3"
|
|
5
5
|
|
|
6
6
|
[workspace.package]
|
|
7
|
-
version = "0.11.
|
|
7
|
+
version = "0.11.2"
|
|
8
8
|
keywords = ["robotics"]
|
|
9
9
|
license = "MIT OR Apache-2.0"
|
|
10
10
|
repository = "https://codeberg.org/stelzo/minot.git"
|
|
11
11
|
edition = "2024"
|
|
12
|
-
authors = ["
|
|
12
|
+
authors = ["stelzo <stelzo@steado.de>"]
|
|
13
13
|
categories = ["science::robotics"]
|
|
14
14
|
documentation = "https://uos.github.io/minot"
|
|
15
15
|
homepage = "https://uos.github.io/minot"
|
|
@@ -28,19 +28,19 @@ exclude = [
|
|
|
28
28
|
]
|
|
29
29
|
|
|
30
30
|
[workspace.dependencies]
|
|
31
|
-
mt_sea = { path = "mt_sea", version = "0.11.
|
|
32
|
-
mt_coord = { path = "mt_coord", version = "0.11.
|
|
33
|
-
mt_pubsub = { path = "mt_pubsub", version = "0.11.
|
|
34
|
-
mt_service = { path = "mt_service", version = "0.11.
|
|
35
|
-
mt_action = { path = "mt_action", version = "0.11.
|
|
36
|
-
mt_scope = { path = "mt_scope", version = "0.11.
|
|
37
|
-
mt_bagread = { path = "mt_bagread", version = "0.11.
|
|
38
|
-
mt_net = { path = "mt_net", version = "0.11.
|
|
39
|
-
mt_flow = { path = "mt_flow", version = "0.11.
|
|
40
|
-
mt_dataset = { path = "mt_dataset", version = "0.11.
|
|
41
|
-
mt_wind = { path = "mt_wind", version = "0.11.
|
|
42
|
-
mt_mtc = { path = "mt_mtc", version = "0.11.
|
|
43
|
-
mt_log = { path = "mt_log", version = "0.11.
|
|
31
|
+
mt_sea = { path = "mt_sea", version = "0.11.2", default-features = false }
|
|
32
|
+
mt_coord = { path = "mt_coord", version = "0.11.2", default-features = false }
|
|
33
|
+
mt_pubsub = { path = "mt_pubsub", version = "0.11.2", default-features = false }
|
|
34
|
+
mt_service = { path = "mt_service", version = "0.11.2", default-features = false }
|
|
35
|
+
mt_action = { path = "mt_action", version = "0.11.2", default-features = false }
|
|
36
|
+
mt_scope = { path = "mt_scope", version = "0.11.2", default-features = false }
|
|
37
|
+
mt_bagread = { path = "mt_bagread", version = "0.11.2", default-features = false }
|
|
38
|
+
mt_net = { path = "mt_net", version = "0.11.2", default-features = false }
|
|
39
|
+
mt_flow = { path = "mt_flow", version = "0.11.2", default-features = false }
|
|
40
|
+
mt_dataset = { path = "mt_dataset", version = "0.11.2", default-features = false }
|
|
41
|
+
mt_wind = { path = "mt_wind", version = "0.11.2", default-features = false }
|
|
42
|
+
mt_mtc = { path = "mt_mtc", version = "0.11.2", default-features = false }
|
|
43
|
+
mt_log = { path = "mt_log", version = "0.11.2", default-features = false }
|
|
44
44
|
|
|
45
45
|
# Tools
|
|
46
46
|
anyhow = "1.0"
|
|
@@ -65,7 +65,7 @@ chumsky = { version = "0.13", default-features = false, features = ["std"] }
|
|
|
65
65
|
ariadne = "0.6"
|
|
66
66
|
mcap = "0.25.0"
|
|
67
67
|
camino = "1.2"
|
|
68
|
-
|
|
68
|
+
yaml_serde = "0.10"
|
|
69
69
|
cdr = "0.2.4"
|
|
70
70
|
rand = "0.10"
|
|
71
71
|
fs2 = "0.4"
|
|
@@ -88,7 +88,7 @@ rkyv = { version = "0.8.18" }
|
|
|
88
88
|
serde = { version = "1.0", features = ["derive"] }
|
|
89
89
|
|
|
90
90
|
# ROS
|
|
91
|
-
r2r = "0.9.
|
|
91
|
+
r2r = "0.9.7"
|
|
92
92
|
hiroz = { version = "0.2.0", git = "https://github.com/ZettaScaleLabs/hiroz.git", tag = "v0.2.0" }
|
|
93
93
|
hiroz-msgs = { version = "0.2.0", git = "https://github.com/ZettaScaleLabs/hiroz.git", tag = "v0.2.0", default-features = false, features = [
|
|
94
94
|
"std_msgs",
|
|
@@ -24,7 +24,7 @@ camino.workspace = true
|
|
|
24
24
|
rkyv.workspace = true
|
|
25
25
|
tokio.workspace = true
|
|
26
26
|
serde.workspace = true
|
|
27
|
-
|
|
27
|
+
yaml_serde.workspace = true
|
|
28
28
|
nalgebra.workspace = true
|
|
29
29
|
ros2-interfaces-jazzy-serde.workspace = true
|
|
30
30
|
ros2-interfaces-jazzy-rkyv.workspace = true
|
|
@@ -81,7 +81,7 @@ pub struct Rosbag2BagfileInformation {
|
|
|
81
81
|
pub relative_file_paths: Vec<String>,
|
|
82
82
|
pub files: Vec<File>,
|
|
83
83
|
#[serde(default)]
|
|
84
|
-
pub custom_data: Option<
|
|
84
|
+
pub custom_data: Option<yaml_serde::Value>,
|
|
85
85
|
#[serde(default)]
|
|
86
86
|
pub ros_distro: Option<String>,
|
|
87
87
|
}
|
|
@@ -142,7 +142,7 @@ where
|
|
|
142
142
|
if value.trim().is_empty() {
|
|
143
143
|
return Ok(Vec::new());
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
yaml_serde::from_str(value).map_err(de::Error::custom)
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
fn visit_seq<A>(self, seq: A) -> Result<Self::Value, A::Error>
|
|
@@ -232,7 +232,7 @@ fn metadata_from_summary(summary: &Summary) -> Metadata {
|
|
|
232
232
|
let offered_qos_profiles = channel
|
|
233
233
|
.metadata
|
|
234
234
|
.get("offered_qos_profiles")
|
|
235
|
-
.and_then(|s|
|
|
235
|
+
.and_then(|s| yaml_serde::from_str(s).ok())
|
|
236
236
|
.unwrap_or_else(default_qos_profiles);
|
|
237
237
|
|
|
238
238
|
let message_count = stats
|
|
@@ -1008,7 +1008,7 @@ impl Bagfile {
|
|
|
1008
1008
|
let (id, name, typ, qos_str) =
|
|
1009
1009
|
row.context("failed to read topic row")?;
|
|
1010
1010
|
let qos: Vec<QosProfile> =
|
|
1011
|
-
|
|
1011
|
+
yaml_serde::from_str(&qos_str).unwrap_or_default();
|
|
1012
1012
|
topic_map.insert(id, (name, typ, qos));
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
@@ -1039,13 +1039,13 @@ impl Bagfile {
|
|
|
1039
1039
|
// Check for sqlite3 directory bag before opening any MCAP.
|
|
1040
1040
|
let is_sqlite3_bag = meta_contents
|
|
1041
1041
|
.as_deref()
|
|
1042
|
-
.and_then(|c|
|
|
1042
|
+
.and_then(|c| yaml_serde::from_str::<Metadata>(c).ok())
|
|
1043
1043
|
.map(|m| m.rosbag2_bagfile_information.storage_identifier == "sqlite3")
|
|
1044
1044
|
.unwrap_or(false);
|
|
1045
1045
|
|
|
1046
1046
|
if is_sqlite3_bag {
|
|
1047
1047
|
let bag_info: Metadata =
|
|
1048
|
-
|
|
1048
|
+
yaml_serde::from_str(meta_contents.as_deref().unwrap())?;
|
|
1049
1049
|
validate_support(&bag_info)?;
|
|
1050
1050
|
|
|
1051
1051
|
#[cfg(not(feature = "db3"))]
|
|
@@ -1098,7 +1098,7 @@ impl Bagfile {
|
|
|
1098
1098
|
let (id, name, typ, qos_str) =
|
|
1099
1099
|
row.context("failed to read topic row")?;
|
|
1100
1100
|
let qos: Vec<QosProfile> =
|
|
1101
|
-
|
|
1101
|
+
yaml_serde::from_str(&qos_str).unwrap_or_default();
|
|
1102
1102
|
topic_map.insert(id, (name, typ, qos));
|
|
1103
1103
|
}
|
|
1104
1104
|
}
|
|
@@ -1119,7 +1119,7 @@ impl Bagfile {
|
|
|
1119
1119
|
if is_raw_mcap {
|
|
1120
1120
|
(path.clone(), None)
|
|
1121
1121
|
} else if let Some(ref contents) = meta_contents {
|
|
1122
|
-
let bag_info: Metadata =
|
|
1122
|
+
let bag_info: Metadata = yaml_serde::from_str(contents)?;
|
|
1123
1123
|
validate_support(&bag_info)?;
|
|
1124
1124
|
let mcap_file = bag_info
|
|
1125
1125
|
.rosbag2_bagfile_information
|
|
@@ -1301,7 +1301,7 @@ mod tests {
|
|
|
1301
1301
|
let metadata_contents = std::fs::read_to_string("test/metadata-v5.yml")
|
|
1302
1302
|
.expect("Could not read test/metadata-v5.yml");
|
|
1303
1303
|
let metadata: Metadata =
|
|
1304
|
-
|
|
1304
|
+
yaml_serde::from_str(&metadata_contents).expect("Failed to parse v5 metadata");
|
|
1305
1305
|
|
|
1306
1306
|
// Verify basic fields
|
|
1307
1307
|
assert_eq!(metadata.rosbag2_bagfile_information.version, 5);
|
|
@@ -1354,7 +1354,7 @@ mod tests {
|
|
|
1354
1354
|
let metadata_contents = std::fs::read_to_string("test/metadata-v9.yml")
|
|
1355
1355
|
.expect("Could not read test/metadata-v9.yml");
|
|
1356
1356
|
let metadata: Metadata =
|
|
1357
|
-
|
|
1357
|
+
yaml_serde::from_str(&metadata_contents).expect("Failed to parse v9 metadata");
|
|
1358
1358
|
|
|
1359
1359
|
// Verify basic fields
|
|
1360
1360
|
assert_eq!(metadata.rosbag2_bagfile_information.version, 9);
|
|
@@ -1413,12 +1413,12 @@ mod tests {
|
|
|
1413
1413
|
let v5_contents =
|
|
1414
1414
|
std::fs::read_to_string("test/metadata-v5.yml").expect("Could not read v5 metadata");
|
|
1415
1415
|
let v5_metadata: Metadata =
|
|
1416
|
-
|
|
1416
|
+
yaml_serde::from_str(&v5_contents).expect("Failed to parse v5 metadata");
|
|
1417
1417
|
|
|
1418
1418
|
let v9_contents =
|
|
1419
1419
|
std::fs::read_to_string("test/metadata-v9.yml").expect("Could not read v9 metadata");
|
|
1420
1420
|
let v9_metadata: Metadata =
|
|
1421
|
-
|
|
1421
|
+
yaml_serde::from_str(&v9_contents).expect("Failed to parse v9 metadata");
|
|
1422
1422
|
|
|
1423
1423
|
// Both should have normalized /velodyne_points with same QoS values
|
|
1424
1424
|
let v5_lidar = v5_metadata
|
|
@@ -1444,7 +1444,7 @@ mod tests {
|
|
|
1444
1444
|
let metadata_contents = std::fs::read_to_string("test/metadata-v5.yml")
|
|
1445
1445
|
.expect("Could not read test/metadata-v5.yml");
|
|
1446
1446
|
let metadata: Metadata =
|
|
1447
|
-
|
|
1447
|
+
yaml_serde::from_str(&metadata_contents).expect("Failed to parse v5 metadata");
|
|
1448
1448
|
|
|
1449
1449
|
// Verify all topics have their QoS profiles stored
|
|
1450
1450
|
for topic_with_count in &metadata
|
|
@@ -1520,7 +1520,7 @@ mod tests {
|
|
|
1520
1520
|
let metadata_contents = std::fs::read_to_string("test/metadata-v9.yml")
|
|
1521
1521
|
.expect("Could not read test/metadata-v9.yml");
|
|
1522
1522
|
let metadata: Metadata =
|
|
1523
|
-
|
|
1523
|
+
yaml_serde::from_str(&metadata_contents).expect("Failed to parse v9 metadata");
|
|
1524
1524
|
|
|
1525
1525
|
// Verify all topics have their QoS profiles stored
|
|
1526
1526
|
for topic_with_count in &metadata
|
|
@@ -1613,7 +1613,7 @@ rosbag2_bagfile_information:
|
|
|
1613
1613
|
files: []
|
|
1614
1614
|
"#;
|
|
1615
1615
|
let metadata: Metadata =
|
|
1616
|
-
|
|
1616
|
+
yaml_serde::from_str(metadata_contents).expect("Failed to parse metadata");
|
|
1617
1617
|
|
|
1618
1618
|
assert_eq!(
|
|
1619
1619
|
metadata
|
|
@@ -1634,7 +1634,7 @@ rosbag2_bagfile_information:
|
|
|
1634
1634
|
|
|
1635
1635
|
#[test]
|
|
1636
1636
|
fn empty_qos_profile_string_is_an_empty_list() {
|
|
1637
|
-
let metadata: TopicMetadata =
|
|
1637
|
+
let metadata: TopicMetadata = yaml_serde::from_str(
|
|
1638
1638
|
r#"
|
|
1639
1639
|
name: /ouster/points
|
|
1640
1640
|
type: sensor_msgs/msg/PointCloud2
|
|
@@ -1650,7 +1650,7 @@ offered_qos_profiles: ""
|
|
|
1650
1650
|
#[test]
|
|
1651
1651
|
fn both_formats_parse_without_errors() {
|
|
1652
1652
|
let v5_result = std::fs::read_to_string("test/metadata-v5.yml").and_then(|contents| {
|
|
1653
|
-
|
|
1653
|
+
yaml_serde::from_str::<Metadata>(&contents)
|
|
1654
1654
|
.map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))
|
|
1655
1655
|
});
|
|
1656
1656
|
assert!(
|
|
@@ -1660,7 +1660,7 @@ offered_qos_profiles: ""
|
|
|
1660
1660
|
);
|
|
1661
1661
|
|
|
1662
1662
|
let v9_result = std::fs::read_to_string("test/metadata-v9.yml").and_then(|contents| {
|
|
1663
|
-
|
|
1663
|
+
yaml_serde::from_str::<Metadata>(&contents)
|
|
1664
1664
|
.map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))
|
|
1665
1665
|
});
|
|
1666
1666
|
assert!(
|
|
@@ -1694,12 +1694,12 @@ offered_qos_profiles: ""
|
|
|
1694
1694
|
let v5_contents =
|
|
1695
1695
|
std::fs::read_to_string("test/metadata-v5.yml").expect("Could not read v5 metadata");
|
|
1696
1696
|
let v5_metadata: Metadata =
|
|
1697
|
-
|
|
1697
|
+
yaml_serde::from_str(&v5_contents).expect("Failed to parse v5 metadata");
|
|
1698
1698
|
|
|
1699
1699
|
let v9_contents =
|
|
1700
1700
|
std::fs::read_to_string("test/metadata-v9.yml").expect("Could not read v9 metadata");
|
|
1701
1701
|
let v9_metadata: Metadata =
|
|
1702
|
-
|
|
1702
|
+
yaml_serde::from_str(&v9_contents).expect("Failed to parse v9 metadata");
|
|
1703
1703
|
|
|
1704
1704
|
// Check V5 QoS profile completeness
|
|
1705
1705
|
let v5_imu = v5_metadata.get_topic_meta("/imu/data").unwrap();
|
|
@@ -134,7 +134,8 @@ impl TryFrom<mt_net::Qos> for QosR2RMap {
|
|
|
134
134
|
let liveliness = match RmwQosLivelinessPolicy::from_str(&q.liveliness)? {
|
|
135
135
|
RmwQosLivelinessPolicy::SystemDefault => LivelinessPolicy::SystemDefault,
|
|
136
136
|
RmwQosLivelinessPolicy::Automatic => LivelinessPolicy::Automatic,
|
|
137
|
-
|
|
137
|
+
// Manual-by-node was deprecated by ROS 2 and is absent in Lyrical.
|
|
138
|
+
RmwQosLivelinessPolicy::ManualByNode => LivelinessPolicy::ManualByTopic,
|
|
138
139
|
RmwQosLivelinessPolicy::ManualByTopic => LivelinessPolicy::ManualByTopic,
|
|
139
140
|
RmwQosLivelinessPolicy::Unknown => LivelinessPolicy::Unknown,
|
|
140
141
|
#[cfg(not(feature = "humble"))]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|