From 6e15bf9512d6ad23e4ae5f0cabf1806d876c1c17 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Fri, 5 Mar 2021 09:30:43 -0500 Subject: [PATCH 01/14] Starting work on reindexer python interface Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/src/rosbag2_py/_reindexer.cpp | 68 ++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 rosbag2_py/src/rosbag2_py/_reindexer.cpp diff --git a/rosbag2_py/src/rosbag2_py/_reindexer.cpp b/rosbag2_py/src/rosbag2_py/_reindexer.cpp new file mode 100644 index 000000000..b478aeac7 --- /dev/null +++ b/rosbag2_py/src/rosbag2_py/_reindexer.cpp @@ -0,0 +1,68 @@ +// Copyright 2021 DCS Corporation, All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// DISTRIBUTION A. Approved for public release; distribution unlimited. +// OPSEC #4584. +// +// Delivered to the U.S. Government with Unlimited Rights, as defined in DFARS +// Part 252.227-7013 or 7014 (Feb 2014). +// +// This notice must appear in all copies of this file and its derivatives. + +#include +#include +#include + +// #include "rosbag2_compression/sequential_compression_reader.hpp" +// #include "rosbag2_cpp/converter_options.hpp" +// #include "rosbag2_cpp/readers/sequential_reader.hpp" +// #include "rosbag2_cpp/reader.hpp" +// #include "rosbag2_storage/storage_filter.hpp" +// #include "rosbag2_storage/storage_options.hpp" +// #include "rosbag2_storage/topic_metadata.hpp" +# include "rosbag2_cpp/reindexer.hpp" +#include "rosbag2_storage/storage_options.hpp" + +#include "./pybind11.hpp" + +namespace rosbag2_py +{ + +template +class Reindexer +{ +public: + Reindexer() + : reindexer_(std::make_unique(std::make_unique())) + { + } + + void reindex(const rosbag2_storage::StorageOptions & storage_options) + { + reindexer_->reindex(storage_options); + } + +protected: + std::unique_ptr reindexer_; +}; +} // namespace rosbag2_py + +PYBIND11_MODULE(_reindexer, m) { + m.doc() = "Python wrapper of the rosbag2_cpp reindexer API"; + + pybind11::class_>( + m, "Reindexer") + .def(pybind11::init()) + .def("reindex", &rosbag2_py::Reindexer::reindex); +} From 0d71b580c7dd691201261ad15f79559b16cbe85d Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Fri, 5 Mar 2021 09:30:44 -0500 Subject: [PATCH 02/14] Adding test database files Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- .../multiple_files/multiple_files_0.db3 | Bin 0 -> 53248 bytes .../multiple_files/multiple_files_1.db3 | Bin 0 -> 49152 bytes .../multiple_files/multiple_files_2.db3 | Bin 0 -> 53248 bytes .../multiple_files/multiple_files_3.db3 | Bin 0 -> 24576 bytes .../multiple_files/metadata.yaml | 34 ++++++++++++++++++ 5 files changed, 34 insertions(+) create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_2.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 new file mode 100644 index 0000000000000000000000000000000000000000..ffcf41d90b2389c4130c6232ff393308426ce856 GIT binary patch literal 53248 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 literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 new file mode 100644 index 0000000000000000000000000000000000000000..d742510b96c51a9ec0ab3bdcd44a94d3923417bc GIT binary patch literal 49152 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 literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 new file mode 100644 index 0000000000000000000000000000000000000000..6137336d101e4098c4217abcf64c75c6dceba044 GIT binary patch literal 24576 zcmeI)eQXnD7y$6=$J%}MZfs*?z{*h}V+7W<+d4X<2&_S%Y-4O;6Yz3tZ|wB?!Cf~u z`NM23#)u^Tp&>KzBLpFm7(!4sqDDXsABh+tXhcI|hw;oJVB2GIgio*)R1Re}Q%|rgMNwwB+2E#57MQWB0oT+M1Tko0U|&IhyW2F0z`laJa7UVEVjauVpES8 z4GY}~F(N1lJ`(4|a5u~<{1!p6u4oJ_YYMQd>S_Zm?35I?zK&JX*adhMyKMc6(%w9? zy|B30)Z3Hb+ay6vQ|~PkTWwmlJQ%-SihWAmzDOGo9u-}MW((-lSh@@t}_0wdCC!u zFVi}nC?65nra%iE1U`_S_&*mZf-Lfq_&lEwV^MCRfuH)QSbMu53t?_+OyS~ktX-4@ zW$K1Ylf8NN9Ev{dXoWj65dk7V1c(3;AOb{y2oM1x@bC)sRa@-TEPr1AVz(SqVx0*& zBynOiA;|4~NKo7nWs5r)+Y$=Pi`fnldL6l^hONkC*{~2#bkwlrFe?j^$hV1-n1FR2 zw60U08Vh__5~D&5tYcY42-UD&Pi1xGk_umCb#hrWxvz5Xg#D2eTY66d2S z5AvYBvFvyqXx$i61Y$- z+9gEMreIg?yrc+yo6UC0U7y!q?~d~_B!U?ypd{rkh7D>;0A<`irx%`e_&?&jx5T8U z0lu{+J5^MHd?)(sFbCB*UXtq*vKZA-l@AYN8l2lq%%A8CXB)qJcu#iZnG*pbKm>>Y z5g-CYfCvx)B0vO)01D%-T`Xc=;eUko!-cRqM-=JTnx6x6Wr<-6SWFi7YfCvx)B0vO)01+Sp zM1Tkofd^e6+hQ{ntT@92*WBFc!oh0G)wya=wl#Avi-YKao;hlebLZ=RCk}3(ey4aM zphv#gbYV6Qj%}1@slmB|!}Dk2AiwE&ks1sx+_hl_4oZ%;6sp0%rtnJzICyH6bGjOA zd(%nf<6!5PZ|AAO<|Flw<>KJes|C~4VCnBvb`B0khYvDp;41m$G>wD#4W}GxVBOe% zJR1kC&fKhtz;S8E@K`1ew!5xmsKJQ~kNDDY@WXfS+0|g*Si^N24n{sco2CXk>bnkD zaS+`7zC{h7z{#cHfe8!8e|94V76yu_A(M677M^5(7+4ig-Gylpwn=zJg zD*ameQTs*vknOx}f7&-`d#op{Z&^OGyly^Z-fsH9)JN@x2j9P(|DY_+IpPywL- zO&}k(^Q0h2u|@22F7y`XDYeQ54#IzKM&G6o>LJTxt)>{!(hC}3F2s9GWhNuJxCIwwqI>>fR??}HGZ J$M6qJ{{}8Sp)CLa literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml b/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml new file mode 100644 index 000000000..a251989f7 --- /dev/null +++ b/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml @@ -0,0 +1,34 @@ +rosbag2_bagfile_information: + version: 4 + storage_identifier: sqlite3 + relative_file_paths: + - multiple_files_0.db3 + - multiple_files_1.db3 + - multiple_files_2.db3 + - multiple_files_3.db3 + duration: + nanoseconds: 59997863418 + starting_time: + nanoseconds_since_epoch: 1604356847420232242 + message_count: 766 + topics_with_message_count: + - topic_metadata: + name: /topic + type: std_msgs/msg/String + serialization_format: cdr + offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" + message_count: 378 + - topic_metadata: + name: /parameter_events + type: rcl_interfaces/msg/ParameterEvent + serialization_format: cdr + offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" + message_count: 0 + - topic_metadata: + name: /rosout + type: rcl_interfaces/msg/Log + serialization_format: cdr + offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 1\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 10\n nsec: 0\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" + message_count: 388 + compression_format: "" + compression_mode: "" \ No newline at end of file From 36ade5be522f51a2beae8e99578fb0b08786e5de Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Fri, 5 Mar 2021 09:30:44 -0500 Subject: [PATCH 03/14] Remove dead imports Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/src/rosbag2_py/_reindexer.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_reindexer.cpp b/rosbag2_py/src/rosbag2_py/_reindexer.cpp index b478aeac7..af1f909b0 100644 --- a/rosbag2_py/src/rosbag2_py/_reindexer.cpp +++ b/rosbag2_py/src/rosbag2_py/_reindexer.cpp @@ -24,13 +24,6 @@ #include #include -// #include "rosbag2_compression/sequential_compression_reader.hpp" -// #include "rosbag2_cpp/converter_options.hpp" -// #include "rosbag2_cpp/readers/sequential_reader.hpp" -// #include "rosbag2_cpp/reader.hpp" -// #include "rosbag2_storage/storage_filter.hpp" -// #include "rosbag2_storage/storage_options.hpp" -// #include "rosbag2_storage/topic_metadata.hpp" # include "rosbag2_cpp/reindexer.hpp" #include "rosbag2_storage/storage_options.hpp" From 2922ffb091b4d841a0bfd052fc698defcb664de4 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Fri, 5 Mar 2021 09:30:45 -0500 Subject: [PATCH 04/14] Start creating unit test for reindexer ui Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/test/test_reindexer.py | 88 +++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 rosbag2_py/test/test_reindexer.py diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py new file mode 100644 index 000000000..0d0a3b725 --- /dev/null +++ b/rosbag2_py/test/test_reindexer.py @@ -0,0 +1,88 @@ +# Copyright 2021 DCS Corporation, All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# DISTRIBUTION A. Approved for public release; distribution unlimited. +# OPSEC #4584. +# +# Delivered to the U.S. Government with Unlimited Rights, as defined in DFARS +# Part 252.227-7013 or 7014 (Feb 2014). +# +# This notice must appear in all copies of this file and its derivatives. + +import os +from pathlib import Path +import sys + +from rcl_interfaces.msg import Log +from rclpy.serialization import deserialize_message +from rosidl_runtime_py.utilities import get_message +from std_msgs.msg import String + +if os.environ.get('ROSBAG2_PY_TEST_WITH_RTLD_GLOBAL', None) is not None: + # This is needed on Linux when compiling with clang/libc++. + # TL;DR This makes class_loader work when using a python extension compiled with libc++. + # + # For the fun RTTI ABI details, see https://whatofhow.wordpress.com/2015/03/17/odr-rtti-dso/. + sys.setdlopenflags(os.RTLD_GLOBAL | os.RTLD_LAZY) + +from common import get_rosbag_options # noqa +import rosbag2_py # noqa + + +def test_reindexer_multiple_files(): + bag_path = str(Path(__file__).parent.parent / 'resources' / 'reindex_test_bags', 'multiple_files') + storage_options, converter_options = get_rosbag_options(bag_path) + + reader = rosbag2_py.SequentialReader() + reader.open(storage_options, converter_options) + + topic_types = reader.get_all_topics_and_types() + + # Create a map for quicker lookup + type_map = {topic_types[i].name: topic_types[i].type for i in range(len(topic_types))} + + # Set filter for topic of string type + storage_filter = rosbag2_py.StorageFilter(topics=['/topic']) + reader.set_filter(storage_filter) + + msg_counter = 0 + + while reader.has_next(): + (topic, data, t) = reader.read_next() + msg_type = get_message(type_map[topic]) + msg = deserialize_message(data, msg_type) + + assert isinstance(msg, String) + assert msg.data == f'Hello, world! {msg_counter}' + + msg_counter += 1 + + # No filter + reader.reset_filter() + + reader = rosbag2_py.SequentialReader() + reader.open(storage_options, converter_options) + + msg_counter = 0 + + while reader.has_next(): + (topic, data, t) = reader.read_next() + msg_type = get_message(type_map[topic]) + msg = deserialize_message(data, msg_type) + + assert isinstance(msg, Log) or isinstance(msg, String) + + if isinstance(msg, String): + assert msg.data == f'Hello, world! {msg_counter}' + msg_counter += 1 From 7d94a00fc0cf52d032e4f4797fc4618080f172d1 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Thu, 11 Mar 2021 08:59:08 -0500 Subject: [PATCH 05/14] [WIP] Link up reindexer via CMake. Does not compile. Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- ros2bag/ros2bag/verb/reindex.py | 45 +++++++++++++++ rosbag2_py/CMakeLists.txt | 15 +++++ rosbag2_py/rosbag2_py/__init__.py | 4 ++ rosbag2_py/src/rosbag2_py/_reindexer.cpp | 4 +- rosbag2_py/test/test_reindexer.py | 70 ++++++++++++------------ 5 files changed, 102 insertions(+), 36 deletions(-) create mode 100644 ros2bag/ros2bag/verb/reindex.py diff --git a/ros2bag/ros2bag/verb/reindex.py b/ros2bag/ros2bag/verb/reindex.py new file mode 100644 index 000000000..1992bf99a --- /dev/null +++ b/ros2bag/ros2bag/verb/reindex.py @@ -0,0 +1,45 @@ +# Copyright 2021 DCS Corporation, All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# DISTRIBUTION A. Approved for public release; distribution unlimited. +# OPSEC #4584. +# +# Delivered to the U.S. Government with Unlimited Rights, as defined in DFARS +# Part 252.227-7013 or 7014 (Feb 2014). +# +# This notice must appear in all copies of this file and its derivatives. + +from argparse import FileType + +from rclpy.qos import InvalidQoSProfileException +from ros2bag.api import check_path_exists +from ros2bag.api import check_positive_float +from ros2bag.api import convert_yaml_to_qos_profile +from ros2bag.api import print_error +from ros2bag.verb import VerbExtension +from ros2cli.node import NODE_NAME_PREFIX +from rosbag2_py import get_registered_readers +import yaml + +class ReindexVerb(VerbExtension): + """Reconstruct metadata file for a bag""" + + def add_arguments(self, parser, cli_name): + storage_choices = get_registered_readers() + default_storage = 'sqlite3' if 'sqlite3' in storage_choices else storage_choices[0] + parser.add_argument( + 'bag_directory', type=check_path_exists, help="bag to reindex") + parser.add_argument( + 'storage_id', default=default_storage, choices=storage_choices, + help=f"storage identifier to be used, defaults to '{default_storage}'") \ No newline at end of file diff --git a/rosbag2_py/CMakeLists.txt b/rosbag2_py/CMakeLists.txt index ad1f79b3c..e7a4b5613 100644 --- a/rosbag2_py/CMakeLists.txt +++ b/rosbag2_py/CMakeLists.txt @@ -118,6 +118,15 @@ ament_target_dependencies(_transport PUBLIC ) clean_windows_flags(_transport) +pybind11_add_module(_reindexer SHARED + src/rosbag2_py/_reindexer.cpp +) +ament_target_dependencies(_reindexer PUBLIC + "rosbag2_cpp" + "rosbag2_storage" +) +clean_windows_flags(_reindexer) + # Install cython modules as sub-modules of the project install( TARGETS @@ -126,6 +135,7 @@ install( _writer _info _transport + _reindexer DESTINATION "${PYTHON_INSTALL_DIR}/${PROJECT_NAME}" ) @@ -160,6 +170,11 @@ if(BUILD_TESTING) PYTHON_EXECUTABLE "${_PYTHON_EXECUTABLE}" APPEND_ENV "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}" ${other_environment_vars} ) + ament_add_pytest_test(test_reindexer_py + "test/test_reindexer.py" + PYTHON_EXECUTABLE "${_PYTHON_EXECUTABLE}" + APPEND_ENV "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}" ${other_environment_vars} + ) endif() ament_package() diff --git a/rosbag2_py/rosbag2_py/__init__.py b/rosbag2_py/rosbag2_py/__init__.py index 3ef2cbc3c..6c3a18a17 100644 --- a/rosbag2_py/rosbag2_py/__init__.py +++ b/rosbag2_py/rosbag2_py/__init__.py @@ -45,11 +45,15 @@ Recorder, RecordOptions, ) + from rosbag2_py._reindexer import ( + Reindexer + ) __all__ = [ 'ConverterOptions', 'get_registered_readers', 'get_registered_writers', + 'Reindexer', 'SequentialCompressionReader', 'SequentialCompressionWriter', 'SequentialReader', diff --git a/rosbag2_py/src/rosbag2_py/_reindexer.cpp b/rosbag2_py/src/rosbag2_py/_reindexer.cpp index af1f909b0..f669842a4 100644 --- a/rosbag2_py/src/rosbag2_py/_reindexer.cpp +++ b/rosbag2_py/src/rosbag2_py/_reindexer.cpp @@ -32,7 +32,7 @@ namespace rosbag2_py { -template +template class Reindexer { public: @@ -45,7 +45,7 @@ class Reindexer { reindexer_->reindex(storage_options); } - + protected: std::unique_ptr reindexer_; }; diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py index 0d0a3b725..ccd649768 100644 --- a/rosbag2_py/test/test_reindexer.py +++ b/rosbag2_py/test/test_reindexer.py @@ -24,10 +24,10 @@ from pathlib import Path import sys -from rcl_interfaces.msg import Log -from rclpy.serialization import deserialize_message -from rosidl_runtime_py.utilities import get_message -from std_msgs.msg import String +# from rcl_interfaces.msg import Log +# from rclpy.serialization import deserialize_message +# from rosidl_runtime_py.utilities import get_message +# from std_msgs.msg import String if os.environ.get('ROSBAG2_PY_TEST_WITH_RTLD_GLOBAL', None) is not None: # This is needed on Linux when compiling with clang/libc++. @@ -41,48 +41,50 @@ def test_reindexer_multiple_files(): - bag_path = str(Path(__file__).parent.parent / 'resources' / 'reindex_test_bags', 'multiple_files') + bag_path = str(Path(__file__).parent.parent + / 'resources' / 'reindex_test_bags', 'multiple_files') storage_options, converter_options = get_rosbag_options(bag_path) - reader = rosbag2_py.SequentialReader() - reader.open(storage_options, converter_options) + reindexer = rosbag2_py.Reindexer() + # reader = rosbag2_py.SequentialReader() + # reader.open(storage_options, converter_options) - topic_types = reader.get_all_topics_and_types() + # topic_types = reader.get_all_topics_and_types() - # Create a map for quicker lookup - type_map = {topic_types[i].name: topic_types[i].type for i in range(len(topic_types))} + # # Create a map for quicker lookup + # type_map = {topic_types[i].name: topic_types[i].type for i in range(len(topic_types))} - # Set filter for topic of string type - storage_filter = rosbag2_py.StorageFilter(topics=['/topic']) - reader.set_filter(storage_filter) + # # Set filter for topic of string type + # storage_filter = rosbag2_py.StorageFilter(topics=['/topic']) + # reader.set_filter(storage_filter) - msg_counter = 0 + # msg_counter = 0 - while reader.has_next(): - (topic, data, t) = reader.read_next() - msg_type = get_message(type_map[topic]) - msg = deserialize_message(data, msg_type) + # while reader.has_next(): + # (topic, data, t) = reader.read_next() + # msg_type = get_message(type_map[topic]) + # msg = deserialize_message(data, msg_type) - assert isinstance(msg, String) - assert msg.data == f'Hello, world! {msg_counter}' + # assert isinstance(msg, String) + # assert msg.data == f'Hello, world! {msg_counter}' - msg_counter += 1 + # msg_counter += 1 - # No filter - reader.reset_filter() + # # No filter + # reader.reset_filter() - reader = rosbag2_py.SequentialReader() - reader.open(storage_options, converter_options) + # reader = rosbag2_py.SequentialReader() + # reader.open(storage_options, converter_options) - msg_counter = 0 + # msg_counter = 0 - while reader.has_next(): - (topic, data, t) = reader.read_next() - msg_type = get_message(type_map[topic]) - msg = deserialize_message(data, msg_type) + # while reader.has_next(): + # (topic, data, t) = reader.read_next() + # msg_type = get_message(type_map[topic]) + # msg = deserialize_message(data, msg_type) - assert isinstance(msg, Log) or isinstance(msg, String) + # assert isinstance(msg, Log) or isinstance(msg, String) - if isinstance(msg, String): - assert msg.data == f'Hello, world! {msg_counter}' - msg_counter += 1 + # if isinstance(msg, String): + # assert msg.data == f'Hello, world! {msg_counter}' + # msg_counter += 1 From ba7b583f31a465ad17f58370329107ccd8552998 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Fri, 26 Mar 2021 08:41:37 -0400 Subject: [PATCH 06/14] First working version of CLI Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/src/rosbag2_py/_reindexer.cpp | 7 ++-- rosbag2_py/test/test_reindexer.py | 51 +++--------------------- 2 files changed, 9 insertions(+), 49 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_reindexer.cpp b/rosbag2_py/src/rosbag2_py/_reindexer.cpp index f669842a4..a2e68bfd6 100644 --- a/rosbag2_py/src/rosbag2_py/_reindexer.cpp +++ b/rosbag2_py/src/rosbag2_py/_reindexer.cpp @@ -32,12 +32,11 @@ namespace rosbag2_py { -template class Reindexer { public: Reindexer() - : reindexer_(std::make_unique(std::make_unique())) + : reindexer_(std::make_unique()) { } @@ -54,8 +53,8 @@ class Reindexer PYBIND11_MODULE(_reindexer, m) { m.doc() = "Python wrapper of the rosbag2_cpp reindexer API"; - pybind11::class_>( + pybind11::class_( m, "Reindexer") .def(pybind11::init()) - .def("reindex", &rosbag2_py::Reindexer::reindex); + .def("reindex", &rosbag2_py::Reindexer::reindex); } diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py index ccd649768..b478e7ee0 100644 --- a/rosbag2_py/test/test_reindexer.py +++ b/rosbag2_py/test/test_reindexer.py @@ -24,11 +24,6 @@ from pathlib import Path import sys -# from rcl_interfaces.msg import Log -# from rclpy.serialization import deserialize_message -# from rosidl_runtime_py.utilities import get_message -# from std_msgs.msg import String - if os.environ.get('ROSBAG2_PY_TEST_WITH_RTLD_GLOBAL', None) is not None: # This is needed on Linux when compiling with clang/libc++. # TL;DR This makes class_loader work when using a python extension compiled with libc++. @@ -42,49 +37,15 @@ def test_reindexer_multiple_files(): bag_path = str(Path(__file__).parent.parent - / 'resources' / 'reindex_test_bags', 'multiple_files') + / 'resources' / 'reindex_test_bags' / 'multiple_files') storage_options, converter_options = get_rosbag_options(bag_path) reindexer = rosbag2_py.Reindexer() - # reader = rosbag2_py.SequentialReader() - # reader.open(storage_options, converter_options) - - # topic_types = reader.get_all_topics_and_types() - - # # Create a map for quicker lookup - # type_map = {topic_types[i].name: topic_types[i].type for i in range(len(topic_types))} - - # # Set filter for topic of string type - # storage_filter = rosbag2_py.StorageFilter(topics=['/topic']) - # reader.set_filter(storage_filter) - - # msg_counter = 0 - - # while reader.has_next(): - # (topic, data, t) = reader.read_next() - # msg_type = get_message(type_map[topic]) - # msg = deserialize_message(data, msg_type) - - # assert isinstance(msg, String) - # assert msg.data == f'Hello, world! {msg_counter}' - - # msg_counter += 1 - - # # No filter - # reader.reset_filter() - - # reader = rosbag2_py.SequentialReader() - # reader.open(storage_options, converter_options) - - # msg_counter = 0 + reindexer.reindex(storage_options) - # while reader.has_next(): - # (topic, data, t) = reader.read_next() - # msg_type = get_message(type_map[topic]) - # msg = deserialize_message(data, msg_type) + result_path = Path(__file__).parent.parent / 'resources' / 'reindex_test_bags' \ + / 'multiple_files' / 'metadata.yaml' - # assert isinstance(msg, Log) or isinstance(msg, String) + assert(result_path.exists()) - # if isinstance(msg, String): - # assert msg.data == f'Hello, world! {msg_counter}' - # msg_counter += 1 + result_path.unlink(missing_ok=True) From 9e2260c5bc75b010c0cc14844de94fca0505da37 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Tue, 30 Mar 2021 08:32:04 -0400 Subject: [PATCH 07/14] Reindex is callable from terminal Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- ros2bag/ros2bag/verb/reindex.py | 29 +++++++++++++++++++++-------- ros2bag/setup.py | 1 + 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/ros2bag/ros2bag/verb/reindex.py b/ros2bag/ros2bag/verb/reindex.py index 1992bf99a..556e52598 100644 --- a/ros2bag/ros2bag/verb/reindex.py +++ b/ros2bag/ros2bag/verb/reindex.py @@ -20,17 +20,18 @@ # # This notice must appear in all copies of this file and its derivatives. -from argparse import FileType +# from argparse import FileType +import os -from rclpy.qos import InvalidQoSProfileException +# from rclpy.qos import InvalidQoSProfileException from ros2bag.api import check_path_exists -from ros2bag.api import check_positive_float -from ros2bag.api import convert_yaml_to_qos_profile +# from ros2bag.api import check_positive_float +# from ros2bag.api import convert_yaml_to_qos_profile from ros2bag.api import print_error from ros2bag.verb import VerbExtension -from ros2cli.node import NODE_NAME_PREFIX -from rosbag2_py import get_registered_readers -import yaml +# from ros2cli.node import NODE_NAME_PREFIX +from rosbag2_py import Reindexer, get_registered_readers, StorageOptions +# import yaml class ReindexVerb(VerbExtension): """Reconstruct metadata file for a bag""" @@ -42,4 +43,16 @@ def add_arguments(self, parser, cli_name): 'bag_directory', type=check_path_exists, help="bag to reindex") parser.add_argument( 'storage_id', default=default_storage, choices=storage_choices, - help=f"storage identifier to be used, defaults to '{default_storage}'") \ No newline at end of file + help=f"storage identifier to be used, defaults to '{default_storage}'") + + def main(self, *, args): + if not os.path.isdir(args.bag_directory): + return print_error('Must specify a bag directory') + + storage_options = StorageOptions( + uri=args.bag_directory, + storage_id=args.storage_id, + ) + + reindexer = Reindexer() + reindexer.reindex(storage_options) \ No newline at end of file diff --git a/ros2bag/setup.py b/ros2bag/setup.py index c409f8bee..40cbd99e4 100644 --- a/ros2bag/setup.py +++ b/ros2bag/setup.py @@ -42,6 +42,7 @@ 'list = ros2bag.verb.list:ListVerb', 'play = ros2bag.verb.play:PlayVerb', 'record = ros2bag.verb.record:RecordVerb', + 'reindex = ros2bag.verb.reindex:ReindexVerb' ], } ) From ba54ee130fba1de3d673b4902249cf5c3a2c7e26 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Tue, 30 Mar 2021 09:17:29 -0400 Subject: [PATCH 08/14] Fix linting errors Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- ros2bag/ros2bag/verb/reindex.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ros2bag/ros2bag/verb/reindex.py b/ros2bag/ros2bag/verb/reindex.py index 556e52598..924230245 100644 --- a/ros2bag/ros2bag/verb/reindex.py +++ b/ros2bag/ros2bag/verb/reindex.py @@ -30,17 +30,18 @@ from ros2bag.api import print_error from ros2bag.verb import VerbExtension # from ros2cli.node import NODE_NAME_PREFIX -from rosbag2_py import Reindexer, get_registered_readers, StorageOptions +from rosbag2_py import get_registered_readers, Reindexer, StorageOptions # import yaml + class ReindexVerb(VerbExtension): - """Reconstruct metadata file for a bag""" + """Reconstruct metadata file for a bag.""" def add_arguments(self, parser, cli_name): storage_choices = get_registered_readers() default_storage = 'sqlite3' if 'sqlite3' in storage_choices else storage_choices[0] parser.add_argument( - 'bag_directory', type=check_path_exists, help="bag to reindex") + 'bag_directory', type=check_path_exists, help='bag to reindex') parser.add_argument( 'storage_id', default=default_storage, choices=storage_choices, help=f"storage identifier to be used, defaults to '{default_storage}'") @@ -55,4 +56,4 @@ def main(self, *, args): ) reindexer = Reindexer() - reindexer.reindex(storage_options) \ No newline at end of file + reindexer.reindex(storage_options) From 4355d218a40aafeaea5c00d6248b0502cfe5222c Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Tue, 30 Mar 2021 15:43:50 -0400 Subject: [PATCH 09/14] Enhance code clarity Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/src/rosbag2_py/_reindexer.cpp | 2 +- rosbag2_py/test/test_reindexer.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_reindexer.cpp b/rosbag2_py/src/rosbag2_py/_reindexer.cpp index a2e68bfd6..97857a096 100644 --- a/rosbag2_py/src/rosbag2_py/_reindexer.cpp +++ b/rosbag2_py/src/rosbag2_py/_reindexer.cpp @@ -24,7 +24,7 @@ #include #include -# include "rosbag2_cpp/reindexer.hpp" +#include "rosbag2_cpp/reindexer.hpp" #include "rosbag2_storage/storage_options.hpp" #include "./pybind11.hpp" diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py index b478e7ee0..745f5e339 100644 --- a/rosbag2_py/test/test_reindexer.py +++ b/rosbag2_py/test/test_reindexer.py @@ -43,8 +43,7 @@ def test_reindexer_multiple_files(): reindexer = rosbag2_py.Reindexer() reindexer.reindex(storage_options) - result_path = Path(__file__).parent.parent / 'resources' / 'reindex_test_bags' \ - / 'multiple_files' / 'metadata.yaml' + result_path = bag_path / 'metadata.yaml' assert(result_path.exists()) From 98016094fb2371180993fcb025180efbbf2c4558 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Tue, 30 Mar 2021 15:45:12 -0400 Subject: [PATCH 10/14] Re-order variable creation Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/test/test_reindexer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py index 745f5e339..44acce4ec 100644 --- a/rosbag2_py/test/test_reindexer.py +++ b/rosbag2_py/test/test_reindexer.py @@ -38,13 +38,13 @@ def test_reindexer_multiple_files(): bag_path = str(Path(__file__).parent.parent / 'resources' / 'reindex_test_bags' / 'multiple_files') + result_path = bag_path / 'metadata.yaml' + storage_options, converter_options = get_rosbag_options(bag_path) reindexer = rosbag2_py.Reindexer() reindexer.reindex(storage_options) - result_path = bag_path / 'metadata.yaml' - assert(result_path.exists()) result_path.unlink(missing_ok=True) From 9b9e2e0176a9e98558c81b3b192511527706897a Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Tue, 30 Mar 2021 16:25:34 -0400 Subject: [PATCH 11/14] Fix bag_path being a string when supposed to be a path Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- rosbag2_py/test/test_reindexer.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rosbag2_py/test/test_reindexer.py b/rosbag2_py/test/test_reindexer.py index 44acce4ec..296fb4e36 100644 --- a/rosbag2_py/test/test_reindexer.py +++ b/rosbag2_py/test/test_reindexer.py @@ -36,12 +36,10 @@ def test_reindexer_multiple_files(): - bag_path = str(Path(__file__).parent.parent - / 'resources' / 'reindex_test_bags' / 'multiple_files') + bag_path = Path(__file__).parent.parent / 'resources' / 'reindex_test_bags' / 'multiple_files' result_path = bag_path / 'metadata.yaml' - storage_options, converter_options = get_rosbag_options(bag_path) - + storage_options, converter_options = get_rosbag_options(str(bag_path)) reindexer = rosbag2_py.Reindexer() reindexer.reindex(storage_options) From 7e9b1248ee84b4811a978405e48a09cab0eb1ce6 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Wed, 31 Mar 2021 07:53:24 -0400 Subject: [PATCH 12/14] Remove unused imports Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- ros2bag/ros2bag/verb/reindex.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ros2bag/ros2bag/verb/reindex.py b/ros2bag/ros2bag/verb/reindex.py index 924230245..83ccca4c5 100644 --- a/ros2bag/ros2bag/verb/reindex.py +++ b/ros2bag/ros2bag/verb/reindex.py @@ -20,18 +20,12 @@ # # This notice must appear in all copies of this file and its derivatives. -# from argparse import FileType import os -# from rclpy.qos import InvalidQoSProfileException from ros2bag.api import check_path_exists -# from ros2bag.api import check_positive_float -# from ros2bag.api import convert_yaml_to_qos_profile from ros2bag.api import print_error from ros2bag.verb import VerbExtension -# from ros2cli.node import NODE_NAME_PREFIX from rosbag2_py import get_registered_readers, Reindexer, StorageOptions -# import yaml class ReindexVerb(VerbExtension): From a995017190985330da7e026cc35e92881dbd6154 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Thu, 1 Apr 2021 15:20:00 -0400 Subject: [PATCH 13/14] Replace database files with ones from rosbag2_tests Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- .../message_compression_0.db3 | Bin 0 -> 86016 bytes .../message_compression_1.db3 | Bin 0 -> 81920 bytes .../message_compression_2.db3 | Bin 0 -> 81920 bytes .../message_compression_3.db3 | Bin 0 -> 16384 bytes .../multiple_files/multiple_files_0.db3 | Bin 53248 -> 0 bytes .../multiple_files/multiple_files_1.db3 | Bin 49152 -> 0 bytes .../multiple_files/multiple_files_2.db3 | Bin 53248 -> 0 bytes .../multiple_files/multiple_files_3.db3 | Bin 24576 -> 0 bytes .../multiple_files/metadata.yaml | 36 +++++++++--------- 9 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_1.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_2.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 new file mode 100644 index 0000000000000000000000000000000000000000..cb496d68a3a31c2965e53bf6cbd5738b67719d2e GIT binary patch literal 86016 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 literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 new file mode 100644 index 0000000000000000000000000000000000000000..11a87eb30c0f47398c50b9cdc30c06ac15b9da80 GIT binary patch literal 81920 zcmeFa2Ut{ByEeS{^u`Qj1XRQUK?g+vK?ND52ntBIAr`uV5=HDK!XO|`1;maKRO}k8 zF~&l%SFEumBGwqASYlVcwf365XU|Y3?|c65{m=OhURTgNitbtWUTZz&ex7GYh=0Pg zIN7+#$=^jylR0Ag7=wYi%VZdaF~EOP@E`eu34XyM0r(lG{kpkdGO!+QxAeg8GR0#t zNr3n#@KfuL))i=7fz}mhU4hmWXkCHU6=+?7))i=7fz}mhU4j4SR$v5^W74GqK09Gj zY}~AA3E#y{ofh?7Qba=REbz;zQRCyLvIc~DdkpoK`38Dq(cW>IeS`EbYdL&$Hj#2~mj&bE2jtOr8{> za^N+;Yx1~pamjJ95mP2ljYvwKJT4(IZmQ;AY(x0wLJ6ifU+4&aYW>l=0>+q+BzEP*{N*z*og0@j-P4=zSs?!mYgtYd`xU|x(|bk zwRbVf3bIR{JazK)X~{8(5ebu~#U+o6iityi*ncwolig+U3BdkOp50gGD3HlwOM2{XXIJqfs9=pR<& zh{U+4sc{kTNuWzX`%85H%TY5XC&Wg8<%odJ3wVZ@xQLj^lV-$Cf`1kGr^ZDkPK^_^ zE{NuWq^ICq%r3|%+sG~{DjBRCc!?t7;Hph+;-v~E|A;sI6aW7E)f2o1vHu^vU%Fon z^$Yet=Y{*N{uHdUU z4d(Cll+(ahk#Z#XDpd9dUj@oe;45Fr17CUHfiK)p@P*R{d|{hGkv}eZ0ls4T=qLEg z)*r1a(7FPxE6}i^BK5=?SVA{Gx3o9ji0Hi#w(e-ykH9N~ZCd+^k_y|I0rd&Da>u8O{VxJSwJ2P$S=O_f=+gAN;GJ{eThp$tNx`ak8y! z=H%qWSPPkxqoX5+Df_nPfbU9+h97j4_m}Ot#J8Pp!^Wxv*7AHlCQ+1gocA5v=+*FG z^VECAU%t(IG5h_*Wn0dl*7vEIytQ9X{U^tm4SMr={(ikIK6R|WVPAUd?+VTp_u?Gu zUnY+JuH&!my1t%1A;zX~;oU9Y75J{te_;<$5ve}R^ym%KAi#*d*yyL`QU~n)w(M?cQtFM!N!+_hIq#ZSxGxn-SKu#$^=__e7!cP(te&PSW7H{X%2mT#JS z(>^Ny>a6qkV{XmO$}Z`8vNq*gTfK$V?jsd995@-Ne|2RHa0w2xxgYT*aMg+#1^f2; zlr6jV;|De-6-&65mans!Osqa?@nV}9<5$jcY^x^B`%m^u-Guc7ggKiMpLs0tndM!q zyCTBafUq2^E`Tt%jYXmQ=B6sb{C!ds?+<@gb{jhGc($*8k3BOxIedEAAe_%9_>$D$ z&@a7pz2f9TDn-+JvjuxO%Qn~#0>?|yrFz>5vDo~KFYe3SydyhiVdd*OCG#md6h zSgc%s*yu^*u)Vm8NU%9}adm@o-H`4lhc6zu`sM`V&mHR{Dk|#m(wyAC9nI-<^);cr zYjU%qi-<1pt}%r0T{FZa?n-V_?9aYwM}wToihj46-|+31qAkYxta(-$%5tuwr^CxP zZj}Q_w%h<)9Ke>z!ztQqul97c_hvZ|2mFpIsMr%CeAg zV7oBSt1_xAGvedgo_2pR62=$!b=&GzYhqdw88&{s<<~koS;lIzR z#_n>J5)U6sylH|N8R%#@-vQ7yShc&-8L3?{!9?cAtNu1+OV_URvHL1Ld@w0$ZuyLf zHTs*Ub|`+1yH&c9e8Jt-0$)79*9OJon%&R)9d}agF76_Z=boe;F%n<=&M@}C!iw@M zRmVQi_=>3Qhy_ctjT{QbPNDNFwKGqs($u>H`sRau8@#8phlmzQsw`yat+7#syoLw22Wakj>3 zC^>drRsoI^^=as8pyn(5`H^BF@$f3X(DqWS;FcH7@qydR zdfo3<3B>lY9NT&Jsj7;#o7zV0=`x$zUW0q3yxv)cR}Wn(g4=7bN!{S<Ex@Y3p@-Z#78C$!|+QdpRY%JQHLQzqNp!ly|2boi?5XjXDn?0 z<>$D4o@*A=H|Txi5p;p=rQbYVebjV$K)M?4yTz0iltdbO&$d2axosS?+8)xiuz^jd zE2Y-W!#y-=ioC})NxcSJVj5eQj(UvMU<=({0+6jhyX%k5OV?(j-6iY3k(0GAKKttK z7e#NW&83qqxVfrTZ1qBH30WsS281}@*v&0V{cBs5r*CBBwW=RKtlhMEhH~HDc$k7ur=zMvNgc&;;L*7;xu$S z-jMDQ66VaxeH~i7U|7JyhfcP|g)Wi??)<-( z|X3GXD5y@X_w;} zYn{37m22GC+um0$S}q$N3b&X0{hFlCT`i9}(+Lx(2`j(zM68=Ikn~da<OlAPL5y2V1J?O3mk{Q*l3Bc z32$F_KlEF6!NJ&bcT=(&&U$w8xG%LmJ9vtCc(3+F)#XWkkDb4C`QUOrI+2~QF?;8@ z-3^Qet|@kgx#wWkho#^^Q6Gm29*wZ2`VrF_5$5C_k{%vlusWPZSP+A8VEAO0L#&Bi zqhp`TPB1~$=<3qwc4 zVkOrijH@PWDZU5OO;~S0m&`9c2wR-zIy-acLHze z)qcfU<&T`rr+x@~XC5sJZW9CUFFiKb)3a*Uju^viaDQbE+*4m3T73zc8#`6zAvh6b zxVUsj^LsU>o|6Cq*Or@03%sIpo0rv6^- zlcBl0mu)EMd|>s7Z$@A2^nG|)?#3qPH1Dsz4C2uV$1yxS$UVZahipDotM&c@`zyoJRB_WM?c2SeXEsN&Hy``_Ls8kYmBWJmX#aL@ zkY7gKtJ%;QCG0PFp(}UJku7i*j}QO(MY~~lPVLXknYZ?~an3`F_aR<4rV!5Pqe zub^KKuDysyC%l`{L(00nLGLf!yTLHIzJ=7n{hQMezdvH1bh$FvjcwQCuD+k3VEMUr zgGQS#e-4ft${U5=4Lojst#0Ivra^BMk6OI6er5GZwKp0evzMA?Ujg2zA@jg?QEsf- z8+{#5c%$&RaW_acS{3%A#tZDEW@|`k`@y=|g5IdJBaN*f%Y{9(*>a2G*9_0#4lgWe zc)xUx-{iVKULNfd*XGoYIemTc_NxknCmy^3Y$0nIuvMShEL*;SEko#xPTHq{Y#pm^ zV3n24b*0?4V{V zNcwP;ZnmH=>TFMA%cSIeq!wG4WS+8dpl5nUMNf--Um`LW`E@4TTmLZ7L$IX|^u${D zO36SExXWRn=VB9qo?2tQEp=&M^E6E_JL1s^TY0p}4=<57N5)a?u~y#|w}7rD2Zq05IB=`m8GNRM0<>FEsV z(#wm*qpcTeM0()fIv5F#2IFVAn0}S_P}60yrrb>@U5!dPdhoR?jGG(7Q=i-9cRLpPODqjDr3S3bbMRlt;Vo8JTFM4InN!5s=cB9xD_4({56b@}M>lA{v`8|d0aUC`=aB0|AK)7TGSgD%9W%i+Flj){-a>w-9E3v zIDRPV?GEE|4b>^J9wE}e%Jqj0fuRhes6rS;ZEPsZwwAj~O+GO-FD@GzTX(z%&TGUL zVKf$oX+=>je-MevzSLfI8JAwyWj2j19eeBFVhb2v`ci*;vGP^rDz0hx@Wi2T~n9>|mr9Ul< zsyYinoJWUW)5PY2VN?yjrg0b*+fW6X*buuzPZM$Hy1QBnz*@AYP(=1H&Y!$c56lrKy-slDIK}A;}r4e zE$%JoggRRhpBQB**4=ZvkJzF)HK+NriWy557`=u;?~Ci+K0#rgX>TEW2v2zd8EMi*_SMsf@y~Ilw3kP%Kv>vVc*z2O5PbT|^J_Brk54uw2gSr`Z|3$uJ$g>Ja$skymYUG9WnZZ58A|02shV`?3_*>uV!f;g_df%*4+%dshck7 zgSuGIHka~%{V+tAYIBuz!R#F!f9_iIn?u==58uAu{MVXmDKqa?%TI{|48q4P9Q=E^ z@&p>6rm9a9#pMZ>MaL)9&jq=AFVQ&o`50^H2Rai+*z{WHi2%yRKZ&;0rmS zB_(7K)y8^-t6Ra?Pd2lr;8L&Pz%$v)o!9$C=M>u=8|%Bx-+X@XFFvbs@Te{Y_#v)JGnlmi9{P>gqr|I?5=;oSj&P=%QKiw>yN#mlF9EBE<9c!TXoT z24{DzJI*Sz*MAp3@M-xnU}$JWezL+t38-za?K-Y$IGcXnox)jSPjB|G!LhTT~`|D(o)!An40a z;rsFOxRRof4?_w{)qYP2Mi(|%?d+j8?jrJ}MG9GD_wZqdl z|Gmb&d?mzZ0R3JT5bq+qm!oc-sJ&v9HDq_}%thO~Pu*E+8L_$d@^-UNe{Z}fpvKd# zsqL^vNt zhxPAcF2*J=HC>b-HCtngqi^eGi|{A|X>7UIh*kL)^~nK0v9XfoqJVHdh&F~VR|pKP zsEb)09S$aD9ucA}1j9SW^l^`IP@pZmwoL z%BKB)Ln2&5`2WD@ZRGz0qn8&ys|mV%)pT`Ydq3Ar7m?ibAwDx<=Z|3rl%u{4V=vw||XhuzG%8Xi?wS(CKnNd^Vz1)!5;OogO zox(GIw8;7Fw#S}?8D*wrM!{GpzQEJNsExk1kZKT(Ft+0R&6L@l0HrynK`>Oc zzh=r6hUR|EJ&OZiuB^S8pt{;mobq7i*~9yCH?H;Wx^v^V)QHr`$jZ8*qkR+)=mDF7 zYQoq(tvc!^j7V;Js|g$Zg-1I|+l+lzk%YSarZ&=Fq_HbdNZ1jc9hxRZVEpFh`v(d*Y8t~Lyt|+#^ zK`R^W>P0*}ie5iC;HXM&(kv;7f?c+E;|Z87yAnuVU)I~Qj=WlH$GlLPS2IrjFL;&k zJk*v_$(_&!vuZ9L3O87Zv+?FS%R0^TZ~(>E=qEeRz1Phb;Z}MQADM6~N1r+T`4i$x zeS1a7a(9H*c3)sbYN^l$%L?(>-1*-K*{JMZCP9~^!5}l%0@CGYmOdHu3x%R(v` zvYDzCy|!}FN6~92d}}HO0K%bRwsPr3FYmdUUZuO5tut%p$#kUdQAq{tbC<~LrUa79(M`5 zp6Grt4P-VS)UVUXYzn`0#3D-wwlp(CeftxSPMqYUcdYZaL~PL`HnzB=3AQdiy|_a8 z7<26G-@l4U3$Ve<3)&hhHZ<~5=D@_ztH?#r)}SYbr&)t(k`IrzUGh(cbyG$s$}z1&yr54LFgi9{%-fa&Q$wh7DZ$l+$ZFCsG=YX8Itd>n!IMz0p}@y3cjR4mMQ|^*9N=1U->1W^SUc% zE(XOG&KHaweb9rI;d3r-QK$KOUhh(%Msa9}`HJNezNJp?F1fj_bK8egMu!g%&$1hK zhcjw$z(Tu(QSw6j-v(rz?k}zywNU)qd;P1a3EhFFG{U}J-oW+F*Zvw1UB1mXs=&(L zet&(pV}s8RIplsjWS?}%pCACh!-m#*`9JTbk!a|vCTsECoqy>j3o5pqU1($_{XG9f zBeI6J1K~AmGb$L0?yb^2&qMM{mOTH>=ONGxNK}GtDi+!#SzXjtyaI-|osgDlCHF1+%UTR`agvz8U_OguWewUYLvu0mvK+*&}Pcx_*d z5xlkfL8r^@YY%X1Iers^tra;i-mwT|@hGz9D_bP18j|&3=YWMT=4K^S>{|{bRCcC% z>5#1MUd@r!@dKYBw=xG=Jk8KG^8c^H{C|cx807zNiZ%!z5&8c<{CWIAylf)>|0|~* z`w_b{YXYkmb0*^uBLhE)3xNLrzvmCf@2FRBY_@qnbkwyJ;q46_NtZ-|M6)w~T$AqYGFG#`F25a9QSlyV(7#bKqh`(vK2XUH!bg(lMJM7a zHfUJJ;bdfh1LNfbvmF!q%TGn!FFLRM;HD9STH3(i@ZDL%yv(&t-HF7r6TZpVi6@^S zw~ES5LLHx|x+~Q2osp$%vnl(~`QxZLe{{j|JLB>%rvvgtBGTFD2FN5M z;UJ>QLsc{Yl9LkzbW>M@utyb-siJ|!v=HxxEb2B^$A~bJ{O|TFEbhUo z9Ez`JJym?6?4){sDQ{huJqT81Q0_bqAK-m7@H^Xnuk%0Knr|;jAA8j6C)e&k7PjJZ z$5$N_B7?)6+1am$1D)&z?n7s*;$#XSjHEv*k!J3?Ae1GVg z#Aq73Bcz66{ld(c4oiJ_H+S`vpGm9s(?hPLka8v6L2`8=a8253$k1ceeD%Ckitg5y z&cj}WD;Y!EUj{$lMQI3{E7=v~&$qD;FFR~S+h0&98`?A8tD^JYldO7vgvoyt2c>kf zdz$k7e^Ku*f8tI)PVKLWP$%25@IeXC$+|bz$zt}Fy@N9co_ML@ob-z(9zGswM#mcL z>G%rmukN7C?ZX?S6NmHSkuPW#$^0CfXYum&E8u*_pc z)4qQg@cp580)2m#SR=(&F0+!0Pxl>IDlH%L-7L9CznjaK#e~6Ihzwr#Hyq35=1m2z z@FI=;f0UXrgKYuhbnh_eO!kdbGdAY!j5w9JhIS%idI}la+@Z@uxA}eFUq~l&ly65D z`{u8N(VFR?Fo&jW4p!cJp>VBjMoowSs)t`Wq;6K2$yw@GQ&5MwkmYGQo_ z6BO!GZWT(nBfX!X)M2vFk(IHN3j=^W^1w?0~^BrYe#7!!(198U1=WuqOVY zS*55CPDJ-jQRD_AtKJ?0x|Sx{!W<>2%Siw^%3toLENt-EQ<4wq>U6Pk+hYb4LyZn3 z^&0A&GFHBXJ;&eam}Zfp%V^@!31ex@^@j&1A-2F_&Nyc!FX0-h60AoSy|>v^wC7Qv z9mps@dov}wlUwPYzj~A}@3QCO6HrCvrjj)~pzQ_Ndf=>*HB)T$11ZY9S@x#@TQH>@ z4`k?&Ejv>_Phly6zHRXoY>%Ii8STQ_7oub@xzhGs&W)amWHCNYv`$JDR zSJ0d68&2C>2N$T6!L-wGdVDE+Me1^CvL|_ap*(}%AdsP)Fp$hp(jwQy^%YN&bpfeD z2?0Qe;()dQz$(f|OA4hH0KhzhYH!u9w`4Z4w?@+T)RV0+Qw}L!i3D}`_Yf5OR zA-KNQtSOapUO1iSod^PHA?o&mY!M>#rV|ZKsB6Z9JOipxY%Z_{m1|qdS2{~gE@)aC zVQRh(rr;}e^F=t6BWQbT_3#;6HTD*$C>>J4Tr#9~N|FX$hXq8@0Ic#bT=iupUAYGL zmh3^ZbRiLXcThC20u~MU8XHOpuh3LXkM=DBkavy7jYKGHZwbcPrhN8Wt z3e{+f&_jU;J^L*Xp$j+uIA|2pD}3Kcg9vVyxo~gM(n2j%D4GIWLsdkTr7H0NdyC71 zvQQZetS#~;_Lhcn4ahaH;*(X4HrFsUS*tzYqw2~QO%15H?mLwBiRTrS|Bc8}UtGZT z%0N+2b9zOo@=Azh04f z5R9xr*Nc>e0u`^Z;fdXg17Oazy(yo0+)sjXu5467b*#e8y`~&icxdKak^f(fNjwPu zzd&?dR3f}Dv=Y1&IPhokJ$VbbC%FZj%N!~D9$UtWX4x_m8M_#>@Sm`cSoMDk_uo;; zqu#lQm6_#-bRH1B3HMRSRljr*GmGbp(0=KLRBX6nemXfg*^_49g3NJOsjyl95!8V- zY2R*F+qc^OBT)y|f_>{`+f)DKNp1U9iHf2K12m$V;I`TxXhrt4eNB25x84z?C#*;O6Dz#uRvH8MsQ2;!vsZ zB4#e15TlzkA|I(_(MSuAazW+5v}+gzX;xcXf1;lhS4!qsc?P7-AN*GV-s=`LasS~- zA=5f3ro@Luk|#xg>ZCAe;-uhTbZ^(*RO_TrC{bk;5vGXShDerPjQ8VVcbuG#xv~(T!Cj7|xG{Vd~KC5VgumSoT1>u{J8jp(9bZrMB zHH57@5G0YwP$){B{0k>zdMSvk>B~`tEOjz=)Toff8`vUyryjv4Gqq2~?}>*;2cx-k zJ&JamryY#9Epu&iMh+M@NwXn`<&2qU%Ix!91BiwkG?@n6WAHw1=3t~}{VC7i9(2V3 zo`3IB)ABLXXUX;SyYUJ2BZCdXjzT(ip=k^HlOl zwE=ahw8qm^F=>_I*Cp#Ne(z}U_2b<)FMeHC-*w2^)vWJ>IVWWp?2CrwU3B!K;DPQ+R z2HnX%vxv_;nut%;`By2>7W>M=s{DwWW^|7^_V=LM9zS|Vc^UoAX!}6a zph)t;E;2R6UD{?z$}74$*>xuI|`<0`G!OGanPNJ*=gjgu&t;& z(eT-*t_F(9or7&bznj+@a#zP06j@{IT$fMLO%~BkYPx!NjXl2gN~0DJ5(T!oqIOCr zH;OIf`*)4bP9t`g%%pk~~FWK$p}H(RKRtC^Ex@&+u``vhzK!K^P@vbAaI-8J@j>9jS7FU{R$JFJIQ z9E<;Y^Xkx?$%V(tR?Iilui0{a)Z!kMt8+{*cRNdO@c^BF=uS3~8Y%=fhjW4b=_!iG z^|0ZM0yVs8zc`)A%7B5jBB;~Q^M)m%sKtXd<)2{g7P~=A{rINUirgTFT40DrKNEQF#PiI3bL zmy)p>G7fqT6l;ueYSEq4HWK?$sRrc&5nnHT_hs!=!xS1{o8GzkX|1|+@uzm5S4{Z@&`}|9~ z9supXItaufJzvn_VVD&!afF508KB`c0I7yUhxhrRR0B8-OKQ_9Y9nKvBuRADT9TTt zO)t+y=-yyZaqTjh##eUFuhGP}omTUOuCE;fG*qEE(rsB8PM{^n=ehZ(UH)n?m@gz1 z*F@a9X}+SIw#zb+``-q-|3R-hj+_;rj_1WuMjJk$}=NUd76Bs9h22E2GoXW@rC^V9iT^^mM7>;* z>#g1g>wLNTAfM5aV2DT*M=m(?svf;vYU4m=4=V%Y}d+d1w49i<{u>=_o{<4Wb%=4K|peU6ihx^pyZ=h6Uj#>bNk>%!5M`T zRWl*Z#xY045l>H@3DBZVbj}=BXuDREGgjhXe?J~&IMSW_(ECR@uxS4)!5O(N%09Ln zoXH*dU}z)GKWe98lHm1S;>E?=}Yx$5SCs9}SuIOF_=T*zK^}$;Qg^8rU2#&=e?;7an&4-R4#` z(QU3GqsrO1Z5yqCnyV7^4JDkB$ZjKio9GUBK700-vK{TU6I)%Lup@}zOx)x*w8Yji z)!EpLETief7E+9(b|+2OA@jDB*9>SBoKc#nDeLBUF-rH@NMs_F#x%-AyMmA&R%4%C zt1{1$I!vVk*T@}tW=y6cQFsQqBh)@?@;(C%0?GS~6pb6jd4#}@bABz~XA6XRf>;pu z)et^8D#5i&o-LwHJHF`t%+LcqRh*MvDCp=SY4f<@RLTV&u&AX7zHJyW;g=+L> zXz&{86AWXZnw&MN%fRw-gpD`@tB*Q}q6p24J2 zw`B2?&qm+is~^6ZTfu#{G=;G=G$896^KdV(_!<4mmCmGMjjZ{Hji82k-GC{7*hN~E zAWE?=jZ#vL0y`ExfQIYVJ@VwK$pud~u-OEmVXdlQp(qgSP} z^u8&y8}*^x_y&sByuR2Gq3cKSsJSDvfzQxqS>)yAYE|#{Q=(p?D0aO!Y4rxg8O;Wf zfO@<7&0oy5a}8Yv7>1d~1DT<5kN2Pgii(7i_gOPG2#j6BTryp?203dvb`8ojz=*lr zslZv$RIMq6YSQ+Oem71xX@u}vDIiEA!Zi^qS41MRY3{#dKkWWJZnZ|Z=K1gp8~p-9 z&fR=6T%%ToHqRMs7^o_%A@><6 ziQ0*xeFmHABhED-c6*bHsXo&+S@i0lVBdV1b_{9h{z9bpROCQur>hS+Cv zUzq>bl!hwTxmWVaolV-d(TLa3{Qoquzh18Bf@p>CS7BR0n81=B%kROP%-zfVo^zCg zvCp#ktih}{%wdcbjHv&A{Qv&c>lL;0#@Kf{UoU6mOZHQr2~qhL_u3QRM?1%pfRMF< zSyOFuS)ERx7SYWR{(3B_5U7s%dJ>ir_mgqD2Czg1@fX!wftG`Eze zP0_TMl>L;bjEOiCqVmmlUq$a1?Mwj5vy9i9H+9f3alP-i@$$&3J@>CGS>c(Wtz;$r zlHO#Zzey#lD0g8KXM(Gmw0z^^NZQj<3ep)llYMEVC4b+qlQwDh0BPmY8sJQ-3R%hS zNUK4jKPQWHCRL;XBNrUx&E+7WGpXv1M3T0#5?sC@2RTvWAaCSMik(DVgBv-M3ed9_ zSh;D$p%9fkCDjR$MmrRi95SCZT9P_}I26uoMvWMN;BM>4DMvxeotvzMN}^U=mFOpC zIB;Pj(R^<5Hrp|vf-6Sv!16WXb(2QftY7)U!aKd6epQUP!@1uF4`w}!7JhqrYB`f4kKalvAQAyan__`LbSq0C3jR7G9wCQ zAz?Ku)e5_jk(Y17O@ep9Z)+-uYB4-M0fwDnSxHngP1m3aIXNkiVG z6OFXqwf9hdh;}*>LdlXjnxwgnoRYoYi>N?$Y`5u4hX%f?s1}o>c+$dcA!4JN=Ro!%b8H7ZNu6?hG>!P)4{FQcU!c33ligXi(JjovF zJr?tJWNq zz|$XleCfy_DdWtxwHLmiG#04i{_d>Ih3=|&^%xBg+s8KaRleYBE$ zH1*`GDO8vZ^)c`IgqPq0tNs6l`X`uz(6T_Rpar5%L8x5GMsotNp6z<;XKL$16-v|# zl(0Y|e{+73gO;CWfk+0HX6%uA%_l4nT2-=*oMsEtm$aRz@56C&)KTuUeZlok? z$R`u-f6jp40XSulgsBgtYoKVY3F(?BH?z@}aa49zlXh(8`8zsE>w|>Y)-=-Ack^}D zChc6wAmakY$o9oGnhn>^x&Tuj&XdZWrWLbkUi}X$LrG1q5lsKvz3ND4dO4sn6q=2c zrdLR$|5c|WO#i12?8J;p9Ic)HSE9zCXrrx{Phb;IPsK)wINMpz8M%?&wKtlJp~1Yi zuovp`BNv!N%;q0&G_qL(xzX&wIcKG7qea@;FV@~@$p7C4^Z#jjReCI1{=XAHj&H}C z#4YE};T&RrVV`7kS-vbI<`Bj*{2FeI)neQJllgx~?T*~ZF9OLg zx`c6{L${C1y~?vJ2a1WQN>l}xj&mHQOURJT12hwGrovF4XguaYOjR<=@vQa}p^zXg zS>*uh?HZ*^hNw5%`~wYpbZ;5tNQTlli@g8XM0?8+t*okhMQd@E5#CuNE%|TDY*cAU zT{4?IuCTGp##M=$eiD93bmXn*<;2r#$XY>vr2Qp9D*j3VEKQmd&1Z>dFtCEd_o0pM_@xV6Ij*KdlsPiYe>qZLXXYuUqq+w6^IR?^iR6iULJaI@QN{z*4| z%)PRStYmV>+&@)_(+!8SurPEZ|8tVUvZYJwKlYc~<(Y!*5 zZLe)l1vOezG}hv)q^HDZHlb$aJFb>3@Z^X3~Y3de6vU@Flc2w$bQ!}L3~12w zONNJO)Ed%u+Q06Xz>YNh*Ms>e)mK8iOZnY z(2S@xOx+y@y6tM$8hTNjMLp|03u$&+Ivt&XFX^aMH{pyrcgz=^E-ii+QV63ioP@O> zb*}srugUFM&V8V%5Z;yE%>(rQg5^`Fz~djAn@uT%fjUQJZZ=n;h~;sbFkKW%)QA%? zeQs0Q4C3i2rlGlMg_zd32e;VbcRIgF9Fx|ojl=p8@E)X;izzMNgD}!YnwzRp;F$_@ z9-)o$RhgSWA*^X`!uqL-^_BOv)uzDMcc<;MozHqN)?R%O_4pyR>~VXo!!dhUg>fYs z@Mua5g`#{dWb8Mo8*NVO3xYP9THi*gK9N&T^Ts!tLg_|4JzD*pwP{W2Y}z=#-55t? zAZP*YL6&KDZHxaL=;~w-J$h&5RDvfWX%cf-lAnRzGB!10 zp0IV_)vhu8NH39W)AgJ|I@scU9QT-ho(W7{s)h@+m}ssy(i(MdBqh-s2{hYTpKo=_ zJ!EV)nlJ$>?s}ZMpHfLw+-(9=DOaBO270&3;xRd_yS}8+%*s`X>X``VB<3*B1BFBB z&PlkpuzNZ#-lcL*UUpPXa2bEGi%sR5=~ks5d_mGgV`e#&-!(I0f=BBX_lA7MSl+&1 z#Kdz8hsa+JRrpBT4Ug6wF(LfIWG&(6bP6%h&T>sr6Ly%is*?Hs+LFn$dq4~TG-T|=yg>|B{--imt=`B>Gg#g(x@E3R5tK|eF55sQ zO~kPflly9JU86&}{J!bHr-hNXv<0i(!dFi8l}hB%$IZHcvJEQH1rOyGB$INQ%|r@T z3V$#=XhBBWR z)!SVHBe^f@8{DOZ4}q229%?q)F5X*`boP;xN_=+$2yME9$;wcCS2#i6`^0h0#H2!r z+J7R#zKguXZA6&8sQuz$hPG=oZqbeQ74y7vHW77_Kc9fJU#Xytj$0IZlZ`a4+$9UE zQb9{AIB7m3Gp(llN)<7w_b*G-fDANA0{xwRn(!tkstNmUc(R9X!k{81?%lH+OTqT_<-_Qdzm-I5*Y#`(J<*BXAkR1620ld;i} zOR!U^?XTQhu+bZYrpZkP`ZBf~MANU-sSXlyNRF!D}tS_~$hz)@sNEnI}4XMA9_ zYHnOU=tMSw=<@w&`o1?vqXCCDFmSzuaIvy)^2d-eoEW zgB012C5W2x|HdVVdAW^CHh}yebpl148SU+?YJoxvwAnkFW)8dJd{g@_Yk$J0^C8yQ zAk{vj><=CLj7K{f6OjGU$9xGWA;(9aGKVGP0zGSGR9S|G{6D3_&feYPJ~$c;wB-NM zYR-(djnQd;IJ%&;WR#k-=)eC?My)vL`%F=8m~R|vO}QnimgI!{|N94UnR!C_e*}{M za}W1YG%x=LbD)*_C^$+^7K&3^ctH8TD-=d`D7p%TQHsVXAgoZ(q?!%&0!1;KzyDI8 zFrh}w=DZEtlx^=|<#Dge>QKMQ@h;x%dZb6tkgn$?!UB!Tx}`WHQk9&)cBD zm`$26FGgE_;i!zDNQ?fv?iRY2S};HyU63a~mPXo5YrlByjTRyMwZcUIx$OUv0D!DP z)NJb2gfH0xH1*OJ04S8GAto*Q7t)=jY2~oG-^b(|6ye9Kb+qMd&vRPV9X{f8*MaKV^g3dKM5w*z+Q44%xGG2 z0ag2-S{q#n>+!T?qodWF-4s0V*L65Lx*&b_C>m#nMmm^jb0)C`tr}|O6uBWO2->TFQW20b{+vzIniXM-ApBF+x^ za=Q^vuMvHjCC{-9NyyVq_WeEMO?QujnU(|Vg+=`u)c$`&?I^SN*ELHZP*L!AnB9;=YMuglThzk z?A3x*t989=P7ctibWRf!?-~&Wh}}Q=F6yp9mrjD_8pGE@<4F|-fSo~p1yKO=1jDzZ zCM*%bwEjOgcU77$(%g;xXXdVK8Dr$=p;}s3MH;GYBHpyv{qcQ~ESvtOZP^CiG@DKK znx<1_{)pmf_X_3a!N+}wv@+#VlGkuEom}J=QTgz6fSo2)F6Cq^GiNga=rrL?#QECg zfEq}V8!^vnFx7-SvP2o3+^CaFnn=yq{wRr3H)BMOGEJyH9b#7uDztBOIw ztMHV2`pcl$RfMi#df=vcDF9*aYE@2##8c+(US#e94<(K8Q0V4vWg6CmxtoScn-FI! zJZEwmpAMq!R%6aujP0&jw<;SO($0{G%_iqA1+iJmbb{A#3o6K_OeZsyS1D0>l@(2S zl|Cg|jlIe=zM8WY{Tfc_=8VWurtxT;&CWfrv%5~aEfNQW)Z+r7TX)n zA=A`us8e045M?yRs%p}S1~DPFqNL1d9SRv z;(YfAKQQ$4$F`+J69B3s8RUzIjy7#H!PyKOR7R8P0`8-4Xtp?g_l_7tV!ZXhJ@w_G z)r3b0Y5>L;_;uR~J2Zxw*#?3{m!@G=uo;S zQ-}{u#M)wIy%JF9gI4D1;|EGr>T4{iKB!1jIP|`m2iju=f$G_(y300Hp*GT=O!u(x z{Rd?m?qeclxp_HSrO65<>IsT2GFgwkDDpu!KI}z%SwDJiJfj%{Sa#Pm&Nq0lCDo*n zGCp)%WH6ph`jccl+e#H{L&k?0VSH$4+F+8gq_hge+B6$5I4ZwaQzq+T5Tu(j=uSE- z=Mj`4bCH$0Qq@;eGihY3T&>yC=EwG>haT;-AS!LbHfvAQY_3h?h9s&4fTS!In2UiR zI%-6Zj;0{nW05-4Hhb34lH7%jDsAS{_84nU+uTNbOri*0xToTkX5pyyHu>m}3D(w0 zNB@oajF2$e9vfjOZnr4?J~>dsZ+$I!EdHfB7C}5a*w|LygraSZnlM)K{%5)gL%!r} z;zJXe{FsNa_fWNpM$o3oY0zD-4EO}*$i;phKr}+7SspC}N1^4Ry2vQYgOf4v0q`YV zp)c8?u-TwZ5rf^x@^DnnqCRuX!zj}~bbn@8DyvYUj-15SjCmMVtLhp+56_9J%l(QY zhq#_zH^I;5sPDJsV?X)2SKL@_wZ*!?HZuL%W6(dfLESX~ZcTpkVQ?7g*{j(#V5Yqs zg~0>lpkrVMGe30&Iw>~=b&D15CAHf9Q$hZJ292|mr>c>?rN!A%sg2qvBUFfOX8bYd zaem26AJEhLPt6>JjtWGr;Ak6m`oIVJstUyRr~=XXOQV=gVR|X>%CsvG6-v|`6s`Wr zBllFoQQGR)TKE=D%d%Ldkv9TUhICkqrJ?1cOwg509^MhzCI>-D|sThEx916knELg zlB|;CNm3-qk~m42WU!>a#6e;uF_8$wU&Zy}2jUyzGvdSIAI0m%%fwmYx#CIUDDhD7 zAaP%Dcd<-tB=3LI6bdo~vjh_bV+A1s zFF_wcS3w7XzJSSp$Nz(Wmw$<0#oy20!e7H*%unSfgKh`I`9A!LN_d65blwbJJTIK*&+E^#=UMWkJP!8*_Zjyt_ae6fbV=OEUCzzo&fz9< z$8v+Yo?ItxXRaw%!1=;?!Kvk3;T-22;B4Wn=HzkabCNjGoS~e79A{2fju{8UB-pRn z57{?>#^Mlr2m1$hK0A#)jXjPX#`a??*ge=XwjrCvddGUoy3IPzI?5_%t!EXnGFh|0 zM8?sqK$bhJC(DXu%;GUWF`qMkXVx&QnERNUm@An%%z4a7%t&S^(~H@gDQC80iWuJ* z^^7{kHO5KCLB=*lF=H_!m66PdWejKdF#0lV8RqJE4(GM{*R8*5U4hmWXkCHU6=+?7 z|5sN)kI8{8`H49~SQd%kbRcXYg}}5OER#ZDcny|8A~=!;OQ#SR@q#U&5Ez+)rI82@ zLcx?20)s`cR1uSd!+#x)>PR609KbQ30$`xU_Y?s0A?A?)PJNh50Wd{j4h6teg4rrC z7S0-&MFG&he$iQz!tMeov}Ftas| z0$>JeED7Lb(-;bXNukjc0E0K9RDc+#8A$;!o-%?0VBX_c62K{rV<-UTB95j27&SPG z1aN?0I0e8!zL69F6Yj!D0O!_?pa7TzH=F`sw%RZfz=>%?DF7yr4WU5lUGq>9j4k)t z8A5@wBYT4>P#k?bhy?C6Vy{37oSRi0K!Fn%4g5*a$++y%U97pd$0Wjd*nF3qib?-xh zA)8Ot_NG8tw>P~gP}+X56A6MW7xr+ZfN9pno)nNi9OXa)lalw5_7wQxWs)5Q)|9*T zP=QgOZ|w`}PJt^=c(xQcJF06p65R2>KC3GQya&#+p@71_tDFQ!ZmclrLV>I2-*%?J zr5&fNNwDso+kGnv+;v#ci2^snZd#H+dBA>{1qF6pxgev!miU7mNf2}O(@1j)oSj(K zfdW;68Z#1jf7zbfo&s;~C$^)&pX`@yNg(fH-PM!=W?w-`;puyQnG{I* z`wBzI=)?&-(z0HB(Eh8B{w9eC5I$CBtJ;)TZxUuJiSlA^Z#A12J{lxr?*LO zrCyHSJiSSJk$RzeUcm2{>$TGpiN1;IMRlTUqLZS7qHUsL(PH5BCyQc5!$m%#z9L(Z zxkz8c5WW>Y29pTR3J(i+2}^{9!gS#bVZ1P0=r8Oqv=>?ekDnv>Ab2LYE4V1A5bP0b z6f75H3FZhAfxjOt@Dw-+Itxq%0{$2N3w|yC3ja9&0Pyx#^Yi%g`APg}{!sovzB9io z-;6KjW4zbAhrAoS)4W5x9lRfS`MfmVG~PH~7|)NV;Pv3ic!oR{_Z{~s_cr%D_bBLz zu%27Q&E(GFPT-E_26ElGJ-Jp~V=j;LiSwNEJEsOHCiZbQaaMA2IP*A@IFX!Cju)pl zN6u--5rJBYdUhTA8tABSkiCsv%wEh+Whb*^*~8gB?7nPUwmDm$&0xJ{J!aixon;+n z?P8U%3R&r_8LW6#ILn{apJmUoWJy^Z<_G38=3PKv>yOqI04t!fCgUA{zLbc^Q)u_T zN_;$pHm%LU$C1cbAZ>@oQ3zjPgvXMo%{$(7JVu4ae;7L89Ue^~uT3-YC<^syDyRKb{H2hmt7f*W$VO5DHzsdmay^(E0pPcnFES z+h03?2UEz{V=5j*AxYvxJdi|PPUZiF2Tx+9)=*Ev#_y7uB)Ekd`lBhi3 zb1LpZp@Dx7$K5H^-|7x2-jzg^_a?dGHWb?admJvO(1t2^ybFmocFz#tohfAWBpA1*kZ|=S+=@gQpW{~I zohbCiwg|VR(9^HeaSIZ~PmCB!ZG9oJS!b0m8Wy0-_q6Ln0`Z!Pyi7;uD-jA)w~KnIwW54V*zC zpn1S?3IP!TPM+R`GyrQLe-Gx`v2PRtxohkziC{(=`$8d*58tf^FV2up+ zghHU^1ba*&P{V;eA`z_2z#dWvR61Y}CH)C(6axBstd>GRu8!R!5fq_g zzf%Z^y0PCV1Vqx4vlib9}F9;+k~EIP+3C}^i;+Uk_dK6#(ts@=sb)apb%)}i|r>7Y|o4BqY!9!i|wTl z=pT#iArb5fi|wWm=(CEIQwTIJ#eP&Fq8%x=i$t)&C$^J9plv6%gG8_gCbpeIpr<6Z zjY6PDBes=9u=66eg+ic{A-0)9pfMn}iA1p7A67;o&^`~_NFgxd4ckB>IJga4Pa!Y} z4J)M(7%YaBkO+tK98!f9QwR)w!q!j-%uvEslL$^m!d6iT zOd7&gQV5Lh!B&t64&=d>QwWT>!In`746eb7REQV@gDs^H7^{L6QV5JG!3s!p84Mr6 z@+ky{d0M(K>{M6!OA60 zP|*TjKopCPjzI~;sn^kRteqoaD_+oY^)A(LQMAWS@lvbSsR%f2tvX(+Q*RZt+WTXw z&WK9od~2<}vv>ARNbUL2AIJXe^Y}a=Z`QZg_kQp9zEj29#RjK6qMt+`{%%c|nhLi_ zW%M`UCFW2nGZ;H3Q(>&0OOM`c_}_74t_xb7VvN043?9$h!`pDji8v>ZiU;T9XKoz7 zE7*3mDRb=!GS^h1C67f3Wd+Rz$`rplAP$ltaZt~)TC`{qZ6h2cJW?qy;x8yCP{i95 zYbNz4;Dw1lJJ$pNIT&byrFy*PYw{A(-%3l;m8QYb4GEwb~6rvgBIL z-E%0%HHPH4_A0($P|7}u|4$is@MP+g?w$h%cC5V__TWNfS-$_CgB4FuG{~A2Yeou8 z0H{zFuoLhgb_^I&lE+g0Ie?+3GY>E^B)LjVmDTZCHP-QDduN2qJ9lqbSdZf6W-z;Q zPfF?0_86@OWrI1npDm#t(~;1O?%>>Tl{B*CifXNXW-gjdbVp9=mu3IVJ~l^oFcxaSQ(_R zgNHr=j8+CQI`YL~>EW-GY0s?Bh`;i94WuTWSSx!iT)g_=w2iUv%&*<=#z73}vXC&@ z&b|gp-knV+?=pzFd#xHdMRR$d+er|Ti$|vDvSyR0kRC3Z-QAvwS%K&d~k}IWT z5vzm7#4%!cJ(=pqs=4&2g&~Ns{$wb*adU0+CCf%RPTTxj`jj2c#fmu@OcePt)@Z}N z_8%Z)lCCu9j2&<8Od38rW<0DX`*7EjY0V^OUqjb)%jUiY$qFTy6+z2o6SH@HFHF7i z$7eAUQ@_jkCKT3_B~g*n!WPfnGkj##+4~t+oV6#^%BlGide?{J4Lpf`EnRyw>jE%^ zw%YK7_2m8F0^psx{HJj7$hh>ZFdDOR3udC2#F&znBtB++SWX|+)-^AuQZsHr~e-)w-^ z*Wuqh2&u6(6epuoZ-6G*3TYJg5bZgxa&hiygSDVpp}RK0c%2&evoUxyB+6-7gAOfy zI_;R6Awe@^9>55i9U62X^8j5kNwvhfo8i%SL4#PKfAQzb?M}QM8xj*r0E+@LNB~%R;vWr#J6GIGwXzi69lX8c z+Q&HM>gP%@^B0(-{Hu9k74PwZ!sG%VOb)Fcg29uVcG>_jdBD1y^I4xLDv-!E6}vVZ zZ%2ULH{cx`Bqmn{cMr|r=WI{`EMQT>Pm7yPL{9D$4@ zOpZpf@PLR9lFPK0)@S^+vSZ-iA6AND4_#J%I&e)yYk}@-kcA&-3mkfWbYTLG3LNZ3 z;V?O7T{J=o>!LU^6N1TK3Y0Fl720T4DZqueyR~Zr1z$5AJE8Xm7SSfFWT{LHS^?4kQicXpR zuVph!$8E{!=CfvF~#aqhBoh$=Hl zl`ECsK23rrmOD5pJQ*FzEr%};nqn3|g5jz8ONXLkgR+1Q-;#!`ICYA&-_Wo5j zdTESvbvFd9Wc~$M=KAr5!M_mMlhbv9Y)sl~OKdH3NnA(8fj#+n2lnK$bs|Aq0u2VS zH6@rez=YKbGu-|gDPy?wT%x;G`|mmHNZH(NbG!m?E#A246d1}4<+hS$C!~;@(*k+&qcFi zK4#GV_ckg9@~w2!KYtRHd~W`pMV}h~ebcGaV;P~?x{i}`L#zJ}?+-kBW6kWtIiFuI zSlKBR*Pf4cUVHx!L6F=axucALFjrY;CD*P24CPF^;Oa!*9zLD7oSa3OJzSS8I6XR{ z7BC}Gp#-xEm~~rWhMU5OwKcm+l0LJxYcNT!mH5i1k2to6K4%t^&A~ZyhjYf505VQj z-n2UzvTL}sVkIT8YtXj#4A`7*iiJOb_h!c-*vPo-IlOMUq1C{hPZOR0jkz&i$)Zto?DL=O{sPLs)ws;6+dT241w8_TQx; zi;@StP3#(4fMsh6#w^=w%j!>$`6%(~l)4M4-}h#rQg#a}9CwkK85~m9|HqV>WDXf3!0R#3*L65ix4NHQ}>t z1-A=oOwj@Lx(Q#c20Po&%BqTrCJwGg#ONOXSp$;$jhi!s5ToZr3liaFFF0l-D3lzt z$sqqAkkQu}Dve7#MaHAj)x6RuyT4Q~md`#Ckyibn5ar2RN+UXEU6_+0mJLz>v1bxf z8s&lBgk>v+W9Bw8B`Yh%nq})_mdQ0rR~x1A6&AC}AXjmW8EGena4jjl;-gBeYrNKPm@X0af| zA((NF8N8n~=KA%K*n^l8Y5VtIx@{`FtLuI&;7bjV*-X+Ve&*Uw+UyHSoATR(R+Z@Q z?cC|~#y&~G!{dp%n8475duMg~1Rb+m%IN4nx1}ws|9s;ABnDnR=vRALYwqrnlx`zw zlTx#g#e#0gF=V8h9L#|XDUA4#A!m`x@3#Icqo(uci$~`7uhZ^$>#JX=9^unxxN?Y5 z`k29O29*(_qt7Q+732BC%k=!g1I-_tuDE89fe}MyD~D%Cdn3rWm65hbEhPp3$R5?y zH={7vPk78oPAEBMND)OK|h%>cNbdTYY1^C2$RCSk)Uj?IRHV}=+2<~Dni z_HC5Yx0w$*W<@J2S{r97hCLgw){9`q zdFSiasMdQF`SXw2evL@^ZNImMVxw;_`T;^NGkY|f8$08RLGuS~b3qc!_`tRC=>qS` zLwb}|q8VQV?b>*U6ZWm@FHf12)Unnov>}0t#GjqeY|lWMMiAp3vJTO}m^&v%^L$Yj z-qk+Lm{*d!BLCBQy^pic{7$HgXp`TLFADUMrA#{NLi)+Leq{}s@wt{mY}a(1QtCBe zkoAnu;~6EAx)cg}Ni_vAE(~S!41{!!0mDY$6iEuj&wM?S+!4UoXMQ;J&)2HEW zkU+*cWD(h5j=HhGfU+4j^>RsM->=9ad%o6;Ib<|uLzzQ{e4}j|+M*|8vME-u|4;h= zgT()@*-L`w|5pY5f1|5da$4dEo8|#@|G!K0z3AZY(*KLpl+N-y%WDVevBTe44Dq;{ z!4`%*BvK~7GfrX9n2W@(ED5SQ*V+Ev^`YG_SZF5Nf5+zucwDhhCit1zBLFIaWugfH zx|SCx!3JWYNj1MEF6&ZG;#mq_XXXWR!WzCPBE@P^&4IhRVX99@p}`?XYA(Amh~XXixP&zO9P>@(b_# z^;cY9h#(W%7F7X>g+!~+97JC|HTq?4b9}!H;TTWT($ML1Z~*D?AHWs z$fUyHMh!)xLJ4MtuvGz%LsnVMl3_HdXwX4&qrm=e5{nsHPjQSH=_My}&KX){ z5nu+j#ZOTMiEP?s@sG}|c=*kte||LMwcWv2Qbs~%^7{c(*8Kuza_nd_+J66!Mw7J9 zRlkLwZ9LNH(^=_Cs8LiJ&#d}77SU|-POId`S>kSh-%~W(b@mSoHM(@4aiI`u?Yn?@XX|>2`px_ zU{T01W~7-+=U|3biujmm+X~&vRviMx#*R4r{viE-+vdo4sErnt4NYg0X3`#=jWDCn z8RJccYa^U9G){(4TRLS-5CX8=W1Xwe=Q@ERS)t@Q8wD#+1T)SH1YKwM<#pq%&Y9{M zrFbAg*V$?2I^zhV{x8SO6CE?2WCI$Q8e`sf3_DGuI@GY7oMnI$`TGujZ@%vVYAn{hMqX4KetGm2dz zf@~DVF)U)CusP=#F=!^$6r0bPhc@gS|0`lL&B^D?^MGAEf-~o(3DlgtZde$fGmz%> z9?U(O+~J_Tqlu_F`e<@9RT!R!%~T;VI5ahfcphET2q&RxAb}$JoCIhO*c}uA4M~+Q zAJm;3Wpy-@dMx}$pT~pEKX|G~fH;T48lY<0MRR~y14d0n4+m#N69#GT6%BE^CGV@#4Q1-@uD+;Keua;v0DJ z4ZQdUUVH;DzJV9t!2i#009XJ6%K~6;9nzq1SpcJJV*J6EE!`m=9KGkeK~K*ij9Y(% z!I1|?Yh!P4gyhNe;E0hY=a9kCy_Vrwm*ymTBYE;|;ovBCcjFQpEI>TPi3>HT!3v1< zC(zoWG@CNak4j6g^$QphasJU7=uft_+`Cz@$v3m5*9~Y6uNy|I?*2EZ5Cw`hJCh@{ zHi{^1G&#CR(ro4{$mHnDkr|EonbqY=lxAZ!IqKFfaSh&hYwV=tj$2l=O|FFmFsQ+} z2!Hmj!ck(#ny(%Mh9v+7WN}0QV<&xTQ<1;Ie<_=^ftLU>YZwVY@CaD*^`SRyvp30Lj@*{S$brQTB2+wn5H@AcYu@X5Y7Q z!ZPUv02s~2HY}NDDs~g>vXPun!oIYFFP0Tx_<)@b3z=?fH2eNTee03)be4@pnvME@ sM2vQ^8U^eNcQq;x9Wbu`KW1->ISP+vHAH_1?2Ef9xJO=aur)FIzf(42R{#J2 literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 new file mode 100644 index 0000000000000000000000000000000000000000..9b189dfa134be5ea501d81e28b8c103401e29ae0 GIT binary patch literal 16384 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 K&_y70lHgyP)6tdy literal 0 HcmV?d00001 diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 deleted file mode 100644 index ffcf41d90b2389c4130c6232ff393308426ce856..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53248 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 diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 deleted file mode 100644 index d742510b96c51a9ec0ab3bdcd44a94d3923417bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 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 diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_3.db3 deleted file mode 100644 index 6137336d101e4098c4217abcf64c75c6dceba044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeI)eQXnD7y$6=$J%}MZfs*?z{*h}V+7W<+d4X<2&_S%Y-4O;6Yz3tZ|wB?!Cf~u z`NM23#)u^Tp&>KzBLpFm7(!4sqDDXsABh+tXhcI|hw;oJVB2GIgio*)R1Re}Q%|rgMNwwB+2E#57MQWB0oT+M1Tko0U|&IhyW2F0z`laJa7UVEVjauVpES8 z4GY}~F(N1lJ`(4|a5u~<{1!p6u4oJ_YYMQd>S_Zm?35I?zK&JX*adhMyKMc6(%w9? zy|B30)Z3Hb+ay6vQ|~PkTWwmlJQ%-SihWAmzDOGo9u-}MW((-lSh@@t}_0wdCC!u zFVi}nC?65nra%iE1U`_S_&*mZf-Lfq_&lEwV^MCRfuH)QSbMu53t?_+OyS~ktX-4@ zW$K1Ylf8NN9Ev{dXoWj65dk7V1c(3;AOb{y2oM1x@bC)sRa@-TEPr1AVz(SqVx0*& zBynOiA;|4~NKo7nWs5r)+Y$=Pi`fnldL6l^hONkC*{~2#bkwlrFe?j^$hV1-n1FR2 zw60U08Vh__5~D&5tYcY42-UD&Pi1xGk_umCb#hrWxvz5Xg#D2eTY66d2S z5AvYBvFvyqXx$i61Y$- z+9gEMreIg?yrc+yo6UC0U7y!q?~d~_B!U?ypd{rkh7D>;0A<`irx%`e_&?&jx5T8U z0lu{+J5^MHd?)(sFbCB*UXtq*vKZA-l@AYN8l2lq%%A8CXB)qJcu#iZnG*pbKm>>Y z5g-CYfCvx)B0vO)01D%-T`Xc=;eUko!-cRqM-=JTnx6x6Wr<-6SWFi7YfCvx)B0vO)01+Sp zM1Tkofd^e6+hQ{ntT@92*WBFc!oh0G)wya=wl#Avi-YKao;hlebLZ=RCk}3(ey4aM zphv#gbYV6Qj%}1@slmB|!}Dk2AiwE&ks1sx+_hl_4oZ%;6sp0%rtnJzICyH6bGjOA zd(%nf<6!5PZ|AAO<|Flw<>KJes|C~4VCnBvb`B0khYvDp;41m$G>wD#4W}GxVBOe% zJR1kC&fKhtz;S8E@K`1ew!5xmsKJQ~kNDDY@WXfS+0|g*Si^N24n{sco2CXk>bnkD zaS+`7zC{h7z{#cHfe8!8e|94V76yu_A(M677M^5(7+4ig-Gylpwn=zJg zD*ameQTs*vknOx}f7&-`d#op{Z&^OGyly^Z-fsH9)JN@x2j9P(|DY_+IpPywL- zO&}k(^Q0h2u|@22F7y`XDYeQ54#IzKM&G6o>LJTxt)>{!(hC}3F2s9GWhNuJxCIwwqI>>fR??}HGZ J$M6qJ{{}8Sp)CLa diff --git a/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml b/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml index a251989f7..147265e2c 100644 --- a/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml +++ b/rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml @@ -2,33 +2,33 @@ rosbag2_bagfile_information: version: 4 storage_identifier: sqlite3 relative_file_paths: - - multiple_files_0.db3 - - multiple_files_1.db3 - - multiple_files_2.db3 - - multiple_files_3.db3 + - message_compression/message_compression_0.db3 + - message_compression/message_compression_1.db3 + - message_compression/message_compression_2.db3 + - message_compression/message_compression_3.db3 duration: - nanoseconds: 59997863418 + nanoseconds: 59872587605 starting_time: - nanoseconds_since_epoch: 1604356847420232242 - message_count: 766 + nanoseconds_since_epoch: 1604581538133709023 + message_count: 1127 topics_with_message_count: - - topic_metadata: - name: /topic - type: std_msgs/msg/String - serialization_format: cdr - offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" - message_count: 378 - topic_metadata: name: /parameter_events type: rcl_interfaces/msg/ParameterEvent serialization_format: cdr - offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" + offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false\n- history: 3\n depth: 0\n reliability: 1\n durability: 2\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 2147483647\n nsec: 4294967295\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" message_count: 0 - topic_metadata: name: /rosout type: rcl_interfaces/msg/Log serialization_format: cdr - offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 1\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 10\n nsec: 0\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" - message_count: 388 - compression_format: "" - compression_mode: "" \ No newline at end of file + offered_qos_profiles: "- history: 3\n depth: 0\n reliability: 1\n durability: 1\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 10\n nsec: 0\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false\n- history: 3\n depth: 0\n reliability: 1\n durability: 1\n deadline:\n sec: 2147483647\n nsec: 4294967295\n lifespan:\n sec: 10\n nsec: 0\n liveliness: 1\n liveliness_lease_duration:\n sec: 2147483647\n nsec: 4294967295\n avoid_ros_namespace_conventions: false" + message_count: 758 + - topic_metadata: + name: /topic + type: std_msgs/msg/String + serialization_format: cdr + offered_qos_profiles: "" + message_count: 369 + compression_format: zstd + compression_mode: MESSAGE \ No newline at end of file From 1b6606d41222153abbc244aaeab03c8480458407 Mon Sep 17 00:00:00 2001 From: Jacob Hassold Date: Thu, 1 Apr 2021 16:11:46 -0400 Subject: [PATCH 14/14] Use the PROPER database. Also remove unneeded file Distro A, OPSEC #4584 Signed-off-by: Jacob Hassold --- .../message_compression_0.db3 | Bin 86016 -> 0 bytes .../message_compression_1.db3 | Bin 81920 -> 0 bytes .../message_compression_2.db3 | Bin 81920 -> 0 bytes .../message_compression_3.db3 | Bin 16384 -> 0 bytes .../multiple_files/multiple_files_0.db3 | Bin 0 -> 90112 bytes .../multiple_files/multiple_files_1.db3 | Bin 0 -> 90112 bytes .../multiple_files/multiple_files_2.db3 | Bin 0 -> 49152 bytes .../multiple_files/metadata.yaml | 34 ------------------ 8 files changed, 34 deletions(-) delete mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_1.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_1.db3 create mode 100644 rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_2.db3 delete mode 100644 rosbag2_py/resources/reindex_test_bags/target_metadata/multiple_files/metadata.yaml diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_0.db3 deleted file mode 100644 index cb496d68a3a31c2965e53bf6cbd5738b67719d2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86016 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 diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_2.db3 deleted file mode 100644 index 11a87eb30c0f47398c50b9cdc30c06ac15b9da80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81920 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 diff --git a/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 b/rosbag2_py/resources/reindex_test_bags/message_compression/message_compression_3.db3 deleted file mode 100644 index 9b189dfa134be5ea501d81e28b8c103401e29ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 K&_y70lHgyP)6tdy diff --git a/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 b/rosbag2_py/resources/reindex_test_bags/multiple_files/multiple_files_0.db3 new file mode 100644 index 0000000000000000000000000000000000000000..3edf7512232916aff1e1030f2b809d73e085947b GIT binary patch literal 90112 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 nkXVTXIU%tE2~t6#90@W&VmT5denc4(