diff options
author | 2024-06-26 15:11:03 -0400 | |
---|---|---|
committer | 2024-06-27 15:49:13 +0000 | |
commit | 7a356a7e84f6fc7b67a725cfb27d432b782ab43e (patch) | |
tree | 423cacaa2598cbccdb80e9f85f5496c7818e338d /recipes-connectivity | |
parent | 7618c4a08229834883c8ade90e52c8c41eb81901 (diff) |
Move base VSS and KUKSA.val recipes to meta-agl-kuksa-val
Remove base VSS and KUKSA.val recipes, as they are moving to a new
meta-agl-kuksa-val layer in the meta-agl repository. The recipes
for the Python modules they depend on have also been moved.
Additional changes:
- A new kuksa-can-provider-conf-agl recipe has been added to install
our common AGL-specific kuksa-can-provider configuration. The
intent is that the kuksa-can-provider in meta-agl-kuksa-val not be
dependent on our demo configuration choices.
- The other kuksa-can-provider configuration recipes have been
tweaked to mark them as allarch.
- The python3-argparse-addons recipe and python3-cantools bbappend
that used it have been removed, as it looks like it is no longer
required.
- The dangling kuksa-val-agl-demo-cluster recipe has been removed,
it was missed in the previous kuksa-val server removal.
Bug-AGL: SPEC-5136
Change-Id: I8c5aa556a796852c5ee3d8c26e045a089911f37e
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/30038
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Tested-by: Jenkins Job builder account
Diffstat (limited to 'recipes-connectivity')
31 files changed, 40 insertions, 2122 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl.bb b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl.bb new file mode 100644 index 00000000..64f194d7 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl.bb @@ -0,0 +1,32 @@ +SUMMARY = "KUKSA.val CAN provider configuration for AGL demos" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = "file://config.ini \ + file://can-provider.token \ + file://dbc_default_values.json \ + file://can-dev-helper.conf \ + file://agl-vcar.dbc \ +" + +S = "${WORKDIR}" + +inherit allarch systemd + +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${sysconfdir}/kuksa-can-provider + install -m 0644 ${WORKDIR}/config.ini ${D}${sysconfdir}/kuksa-can-provider/ + install -m 0644 ${WORKDIR}/can-provider.token ${D}${sysconfdir}/kuksa-can-provider/ + install -m 0644 ${WORKDIR}/dbc_default_values.json ${D}${sysconfdir}/kuksa-can-provider/ + install -m 0644 ${WORKDIR}/agl-vcar.dbc ${D}${sysconfdir}/kuksa-can-provider/ + install -d ${D}${systemd_system_unitdir}/kuksa-can-provider.service.d + install -m 0644 ${WORKDIR}/can-dev-helper.conf ${D}${systemd_system_unitdir}/kuksa-can-provider.service.d/ +} + +FILES:${PN} += "${systemd_system_unitdir}" + +RDEPENDS:${PN} += "kuksa-can-provider can-dev-helper" +RPROVIDES:${PN} += "kuksa-can-provider-conf" diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/agl-vcar.dbc b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/agl-vcar.dbc index e638d128..e638d128 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/agl-vcar.dbc +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/agl-vcar.dbc diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-dev-helper.conf b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-dev-helper.conf new file mode 100644 index 00000000..d6474fe5 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-dev-helper.conf @@ -0,0 +1,3 @@ +[Unit] +Requires=can-dev-helper.service +After=can-dev-helper.service diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/can-provider.json.token b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-provider.json.token index b8df6666..b8df6666 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/can-provider.json.token +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-provider.json.token diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/can-provider.token b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-provider.token index 8ce854f3..8ce854f3 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/can-provider.token +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/can-provider.token diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/config.ini b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/config.ini index f41fb87a..f41fb87a 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/config.ini +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/config.ini diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/dbc_default_values.json b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/dbc_default_values.json index 0562569d..0562569d 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/dbc_default_values.json +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-agl/dbc_default_values.json diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-control-panel.bb b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-control-panel.bb index eba5f84c..f34aed01 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-control-panel.bb +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-control-panel.bb @@ -7,7 +7,7 @@ SRC_URI = "file://kuksa-can-provider.control-panel" S = "${WORKDIR}" -inherit update-alternatives +inherit allarch update-alternatives do_compile[noexec] = "1" @@ -22,4 +22,4 @@ RPROVIDES:${PN} = "kuksa-can-provider.env" ALTERNATIVE:${PN} = "kuksa-can-provider.env" ALTERNATIVE_TARGET_${PN} = "${sysconfdir}/default/kuksa-can-provider.control-panel" -RDEPENDS:${PN} += "kuksa-can-provider" +RDEPENDS:${PN} += "kuksa-can-provider kuksa-can-provider-conf-agl" diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-control-panel.bb b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-control-panel.bb index 02483a87..f2e9e673 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-control-panel.bb +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-control-panel.bb @@ -22,4 +22,4 @@ RPROVIDES:${PN} = "kuksa-can-provider.env" ALTERNATIVE:${PN} = "kuksa-can-provider.env" ALTERNATIVE_TARGET_${PN} = "${sysconfdir}/default/kuksa-can-provider.gw-control-panel" -RDEPENDS:${PN} += "kuksa-can-provider" +RDEPENDS:${PN} += "kuksa-can-provider kuksa-can-provider-conf-agl" diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-hardware.bb b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-hardware.bb index 1275235f..723035b6 100644 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-hardware.bb +++ b/recipes-connectivity/kuksa-val/kuksa-can-provider-conf-gw-hardware.bb @@ -29,4 +29,4 @@ do_install() { FILES:${PN} += "${systemd_system_unitdir}" -RDEPENDS:${PN} += "kuksa-can-provider vss-agl-gw-hardware" +RDEPENDS:${PN} += "kuksa-can-provider kuksa-can-provider-conf-agl vss-agl-gw-hardware" diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/0001-dbc2val-add-installation-mechanism.patch b/recipes-connectivity/kuksa-val/kuksa-can-provider/0001-dbc2val-add-installation-mechanism.patch deleted file mode 100644 index 6a9c1ba1..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/0001-dbc2val-add-installation-mechanism.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 73dd680486b72d15d6f4c7aa129219ecdbcbd7b2 Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Wed, 19 Apr 2023 15:55:01 -0400 -Subject: [PATCH 1/4] dbc2val: add installation mechanism - -Add setup.py and setup.cfg to allow installing the dbcfeederlib -module and dbcfeeder.py in a way suitable for packaging. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - setup.cfg | 30 ++++++++++++++++++++++++++++++ - setup.py | 14 ++++++++++++++ - 2 files changed, 44 insertions(+) - create mode 100644 setup.cfg - create mode 100644 setup.py - -diff --git a/setup.cfg b/setup.cfg -new file mode 100644 -index 0000000..cb64407 ---- /dev/null -+++ b/setup.cfg -@@ -0,0 +1,30 @@ -+[metadata] -+name = dbcfeeder -+author = Sebastian Schildt, Naresh Nayak, Wenwen Chen -+author_email = sebastian.schildt@de.bosch.com, naresh.nayak@de.bosch.com, wenwen.chen@de.bosch.com -+description = KUKSA.val CAN provider -+long_description = file:README.md -+long_description_content_type = text/markdown -+url=https://github.com/eclipse-kuksa/kuksa-can-provider -+project_urls= -+ Source=https://github.com/eclipse-kuksa/kuksa-can-provider -+ Bug Tracker=https://github.com/eclipse-kuksa/kuksa-can-provider/issues -+classifiers = -+ Intended Audience :: Developers -+ Development Status :: 3 - Alpha -+ Environment :: Console -+ Programming Language :: Python :: 3 -+ License :: OSI Approved :: Apache Software License -+ Operating System :: OS Independent -+ Topic :: Software Development -+ -+license_file = LICENSE -+ -+[options] -+python_requires = >=3.6 -+install_requires= -+ pyserial -+ pyyaml -+ kuksa-client -+packages=dbcfeederlib -+scripts=dbcfeeder.py -diff --git a/setup.py b/setup.py -new file mode 100644 -index 0000000..c5fb2b7 ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,14 @@ -+from setuptools import setup -+ -+setup( -+ version_config={ -+ "template": "{tag}", -+ "dev_template": "{tag}-{ccount}", -+ "dirty_template": "{tag}+{ccount}-dirty", -+ "starting_version": "0.1.0", -+ "version_callback": None, -+ "version_file": None, -+ "count_commits_from_version_file": False -+ }, -+ setup_requires=['setuptools-git-versioning'], -+) --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/0002-dbc2val-usability-improvements.patch b/recipes-connectivity/kuksa-val/kuksa-can-provider/0002-dbc2val-usability-improvements.patch deleted file mode 100644 index 91a30924..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/0002-dbc2val-usability-improvements.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 2e4e1f9147f1ebe5b545ae0cab41341e3abb00ae Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Sat, 15 Jun 2024 13:13:17 -0400 -Subject: [PATCH 2/4] dbc2val: usability improvements - -Changes: -- Tweaked default configuration file search path to better match - Linux FHS. First look for a config.ini or dbc_feeder.ini in - /etc/kuksa-can-provider, then fall back to /etc/dbc_feeder.ini - before using trying other possible paths. -- Add catching of exceptions around CAN device opening so that the - script can exit cleanly with an error message if the device is - not available. -- Tweaked DBC default value file command line argument parsing so - that it does not attempt to fallback to "dbc_default_values.json" - in the current working directory. That likely works for upstream - test scenarios, but prevents running on a target. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - dbcfeeder.py | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -diff --git a/dbcfeeder.py b/dbcfeeder.py -index a1ef174..c252503 100755 ---- a/dbcfeeder.py -+++ b/dbcfeeder.py -@@ -144,7 +144,11 @@ class Feeder: - whitelisted_frame_ids.append(filter.can_id) # type: ignore - elm2canbridge.elm2canbridge(canport, self._elmcan_config, whitelisted_frame_ids) - -- self._reader.start() -+ try: -+ self._reader.start() -+ except: -+ log.error("Could not open %s, exiting", canport) -+ sys.exit(-1) - - receiver = threading.Thread(target=self._run_receiver) - receiver.start() -@@ -165,7 +169,12 @@ class Feeder: - # For now creating another bus - # Maybe support different buses for downstream/upstream in the future - -- self._canclient = CANClient(interface="socketcan", channel=canport, can_fd=can_fd) -+ self._canclient = None -+ try: -+ self._canclient = CANClient(interface="socketcan", channel=canport, can_fd=can_fd) -+ except: -+ log.error("Could not open %s, exiting", canport) -+ sys.exit(-1) - - transmitter = threading.Thread(target=self._run_transmitter) - transmitter.start() -@@ -335,8 +344,10 @@ def _parse_config(filename: str) -> configparser.ConfigParser: - configfile = filename - else: - config_candidates = [ -- "/config/dbc_feeder.ini", -+ "/etc/kuksa-can-provider/config.ini", -+ "/etc/kuksa-can-provider/dbc_feeder.ini", - "/etc/dbc_feeder.ini", -+ "/config/dbc_feeder.ini", - "config/dbc_feeder.ini", - ] - for candidate in config_candidates: -@@ -534,7 +545,7 @@ def main(argv): - elif os.environ.get("DBC_DEFAULT_FILE"): - dbc_default = os.environ.get("DBC_DEFAULT_FILE") - else: -- dbc_default = config.get(CONFIG_SECTION_CAN, CONFIG_OPTION_DBC_DEFAULT_FILE, fallback="dbc_default_values.json") -+ dbc_default = config.get(CONFIG_SECTION_CAN, CONFIG_OPTION_DBC_DEFAULT_FILE, fallback=None) - - if args.mapping: - mappingfile = args.mapping --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/0003-dbc2val-fix-token-file-configuration-option.patch b/recipes-connectivity/kuksa-val/kuksa-can-provider/0003-dbc2val-fix-token-file-configuration-option.patch deleted file mode 100644 index faf94e0a..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/0003-dbc2val-fix-token-file-configuration-option.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0b5822c6a8f8fa489bc7ae67f91284ac150f6518 Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Sat, 15 Jun 2024 13:18:08 -0400 -Subject: [PATCH 3/4] dbc2val: fix token file configuration option - -The client library changed the token option name to -'token_or_tokenfile', update things to match so that token -location can be configured again for dbcfeeder.py. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - dbcfeederlib/serverclientwrapper.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dbcfeederlib/serverclientwrapper.py b/dbcfeederlib/serverclientwrapper.py -index 498e1b6..fa43d28 100644 ---- a/dbcfeederlib/serverclientwrapper.py -+++ b/dbcfeederlib/serverclientwrapper.py -@@ -56,7 +56,7 @@ class ServerClientWrapper(clientwrapper.ClientWrapper): - self._client_config["insecure"] = not self._tls - # Do not set token if it is empty to allow default client lib info to be used - if self._token_path != "": -- self._client_config["token"] = self._token_path -+ self._client_config["token_or_tokenfile"] = self._token_path - - if self._root_ca_path: - self._client_config['cacertificate'] = self._root_ca_path --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/0004-Enable-val2dbc-for-sensor-values.patch b/recipes-connectivity/kuksa-val/kuksa-can-provider/0004-Enable-val2dbc-for-sensor-values.patch deleted file mode 100644 index e45fb4cf..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/0004-Enable-val2dbc-for-sensor-values.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 937218a357ac1914fe410cf3ad31a67d54a63270 Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Mon, 17 Jun 2024 17:07:44 -0400 -Subject: [PATCH 4/4] Enable val2dbc for sensor values - -Rework to allow val2dbc mode to write out sensor values in -addition to actuator target values. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - dbcfeeder.py | 8 ++++++-- - dbcfeederlib/databrokerclientwrapper.py | 18 ++++++++++++------ - dbcfeederlib/dbc2vssmapper.py | 21 ++++++++++----------- - dbcfeederlib/serverclientwrapper.py | 2 +- - mapping/README.md | 2 -- - 5 files changed, 29 insertions(+), 22 deletions(-) - -diff --git a/dbcfeeder.py b/dbcfeeder.py -index c252503..c1e20c4 100755 ---- a/dbcfeeder.py -+++ b/dbcfeeder.py -@@ -289,19 +289,23 @@ class Feeder: - log.debug("Processing %d VSS Data Entry updates", len(updates)) - dbc_signal_names: Set[str] = set() - for update in updates: -+ value = None - if update.entry.value is not None: -- # This should never happen as we do not subscribe to current value - log.warning( - "Current value for %s is now: %s of type %s", - update.entry.path, update.entry.value.value, type(update.entry.value.value) - ) -+ value = update.entry.value.value - - if update.entry.actuator_target is not None: - log.debug( - "Target value for %s is now: %s of type %s", - update.entry.path, update.entry.actuator_target, type(update.entry.actuator_target.value) - ) -- affected_signals = self._mapper.handle_update(update.entry.path, update.entry.actuator_target.value) -+ value = update.entry.actuator_target.value -+ -+ if value != None: -+ affected_signals = self._mapper.handle_update(update.entry.path, value) - dbc_signal_names.update(affected_signals) - - messages_to_send: Set[Message] = set() -diff --git a/dbcfeederlib/databrokerclientwrapper.py b/dbcfeederlib/databrokerclientwrapper.py -index 716ee6d..db2b80a 100644 ---- a/dbcfeederlib/databrokerclientwrapper.py -+++ b/dbcfeederlib/databrokerclientwrapper.py -@@ -199,14 +199,20 @@ class DatabrokerClientWrapper(clientwrapper.ClientWrapper): - def supports_subscription(self) -> bool: - return True - -- async def subscribe(self, vss_names: List[str], callback): -+ async def subscribe(self, vss_entries: dict[str, str], callback): - """Create a subscription and invoke the callback when data received.""" - entries: List[SubscribeEntry] = [] -- for name in vss_names: -- # Always subscribe to target -- subscribe_entry = SubscribeEntry(name, View.FIELDS, [Field.ACTUATOR_TARGET]) -- log.info("Subscribe entry: %s", subscribe_entry) -- entries.append(subscribe_entry) -+ for name, signal_type in vss_entries.items(): -+ if signal_type == "actuator": -+ subscribe_entry = SubscribeEntry(name, View.FIELDS, [Field.ACTUATOR_TARGET]) -+ log.info("Subscribe entry: %s", subscribe_entry) -+ entries.append(subscribe_entry) -+ if signal_type == "sensor": -+ subscribe_entry = SubscribeEntry(name, View.FIELDS, [Field.VALUE]) -+ log.info("Subscribe entry: %s", subscribe_entry) -+ entries.append(subscribe_entry) -+ if not entries: -+ return - - # If there is a path VSSClient will request a secure connection - if self._tls and self._root_ca_path: -diff --git a/dbcfeederlib/dbc2vssmapper.py b/dbcfeederlib/dbc2vssmapper.py -index 218f693..2be5e98 100644 ---- a/dbcfeederlib/dbc2vssmapper.py -+++ b/dbcfeederlib/dbc2vssmapper.py -@@ -69,12 +69,13 @@ class VSSMapping: - parser: Parser = Parser() - - def __init__(self, vss_name: str, dbc_name: str, transform: dict, interval_ms: int, -- on_change: bool, datatype: str, description: str): -+ on_change: bool, signal_type: str, datatype: str, description: str): - self.vss_name = vss_name - self.dbc_name = dbc_name - self.transform = transform - self.interval_ms = interval_ms - self.on_change = on_change -+ self.signal_type = signal_type - self.datatype = datatype - self.description = description - # For time comparison (interval_ms) we store last value used for comparison. Unit seconds. -@@ -347,7 +348,7 @@ class Mapper(DBCParser): - if can_signal_name not in self._dbc2vss_mapping: - self._dbc2vss_mapping[can_signal_name] = [] - mapping_entry = VSSMapping(expanded_name, can_signal_name, transformation_definition, interval, on_change, -- node["datatype"], node["description"]) -+ node["type"], node["datatype"], node["description"]) - self._dbc2vss_mapping[can_signal_name].append(mapping_entry) - - for msg_def in self.get_messages_for_signal(can_signal_name): -@@ -398,7 +399,7 @@ class Mapper(DBCParser): - log.warning("Ignoring \"interval_ms\" property of mapping definition for %s", expanded_name) - - mapping_entry = VSSMapping(expanded_name, can_signal_name, transform, interval, on_change, -- node["datatype"], node["description"]) -+ node["type"], node["datatype"], node["description"]) - if can_signal_name not in self._vss2dbc_mapping: - self._vss2dbc_mapping[expanded_name] = [] - self._vss2dbc_mapping[expanded_name].append(mapping_entry) -@@ -426,12 +427,7 @@ class Mapper(DBCParser): - if dbc2vss_def is not None: - self._analyze_dbc2vss(expanded_name, node, dbc2vss_def) - if "vss2dbc" in node: -- if node["type"] == "actuator": -- self._analyze_vss2dbc(expanded_name, node, node["vss2dbc"]) -- else: -- # vss2dbc is handled by subscription to target value, so only makes sense for actuators -- log.error("vss2dbc only allowed for actuators, VSS signal %s is not an actuator!", expanded_name) -- sys.exit(-1) -+ self._analyze_vss2dbc(expanded_name, node, node["vss2dbc"]) - - def _traverse_vss_node(self, name, node, prefix=""): - """ -@@ -474,9 +470,12 @@ class Mapper(DBCParser): - """Get all CAN signal names for which a mapping to a VSS Data Entry exists.""" - return self._dbc2vss_mapping.keys() - -- def get_vss2dbc_entries(self) -> KeysView[str]: -+ def get_vss2dbc_entries(self) -> Dict[str, str]: - """Get all VSS Data Entry paths for which a mapping to a CAN signal name exists.""" -- return self._vss2dbc_mapping.keys() -+ entries: Dict[str, str] = {} -+ for name, mappings in self._vss2dbc_mapping.items(): -+ entries[name] = mappings[0].signal_type -+ return entries - - def get_vss_names(self) -> Set[str]: - """Get all VSS names used in mappings, both vss2dbc and dbc2vss""" -diff --git a/dbcfeederlib/serverclientwrapper.py b/dbcfeederlib/serverclientwrapper.py -index fa43d28..86b2ceb 100644 ---- a/dbcfeederlib/serverclientwrapper.py -+++ b/dbcfeederlib/serverclientwrapper.py -@@ -122,6 +122,6 @@ class ServerClientWrapper(clientwrapper.ClientWrapper): - log.info("Feature not implemented") - return False - -- async def subscribe(self, vss_names: List[str], callback): -+ async def subscribe(self, vss_entries: dict[str, str], callback): - log.error("Feature not implemented") - return -diff --git a/mapping/README.md b/mapping/README.md -index 2155f28..ea6de07 100644 ---- a/mapping/README.md -+++ b/mapping/README.md -@@ -44,8 +44,6 @@ This is built on the assumption that the DBC provider always send target values - Having separate configurations (`dbc2vss` and `vss2dbc`) is needed as wanted value and actual value never are sent - by the same DBC signal, they are not even part of the same CAN-frame. - --*This means that `vss2dbc` only can be used for actuators, as only actuators have target values!* -- - ## Example mapping files - - Example mapping files for various VSS versions can be found in this folder. --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.default b/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.default deleted file mode 100644 index aad0bc41..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.default +++ /dev/null @@ -1,3 +0,0 @@ -# For output only mode: -#EXTRA_ARGS="--val2dbc --no-dbc2val --dbc-default /etc/kuksa-can-provider/dbc_default_values.json" -#LOG_LEVEL=debug diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.service b/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.service deleted file mode 100644 index 41258d27..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/kuksa-can-provider.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Eclipse KUKSA.val DBC feeder -Requires=kuksa-databroker.service can-dev-helper.service -After=kuksa-databroker.service can-dev-helper.service - -[Service] -EnvironmentFile=-/etc/default/kuksa-can-provider -ExecStart=/usr/bin/dbcfeeder.py $EXTRA_ARGS -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider/mapping.yml b/recipes-connectivity/kuksa-val/kuksa-can-provider/mapping.yml deleted file mode 100644 index b1c1fece..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider/mapping.yml +++ /dev/null @@ -1,152 +0,0 @@ -# Mapping Speed -PT_VehicleAvgSpeed: - minupdatedelay: 100 - targets: - Vehicle.Speed: {} - -PT_EngineSpeed: - minupdatedelay: 100 - targets: - Vehicle.Powertrain.CombustionEngine.Speed: - transform: - math: "floor(x+0.5)" - -# -# NOTE: -# -# The following mappings depend on the AGL-specific VSS overlay -# that adds the extra Vehicle.Cabin.SteeringWheel.Switches sensors. -# Since the CAN events are coming from LIN polling, applications -# need to filter/debounce themselves. The minupdatedelay of 0 is -# intentional to avoid missing events. -# - -SW_Next: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.Next: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_Previous: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.Previous: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_Mode: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.Mode: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_Info: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.Info: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_CruiseEnable: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.CruiseEnable: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_CruiseSet: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.CruiseSet: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_CruiseResume: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.CruiseResume: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_CruiseCancel: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.CruiseCancel: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_VolumeUp: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.VolumeUp: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_VolumeDown: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.VolumeDown: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_VolumeMute: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.VolumeMute: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_Horn: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.Horn: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" - -SW_LaneDepartureWarning: - minupdatedelay: 0 - targets: - Vehicle.Cabin.SteeringWheel.Switches.LaneDepartureWarning: - filter-duplicates: "true" - transform: - fullmapping: - 0: "false" - 1: "true" diff --git a/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb b/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb deleted file mode 100644 index 16861fcf..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "CAN provider for KUKSA.val, the KUKSA Vehicle Abstraction Layer" -HOMEPAGE = "https://github.com/eclipse-kuksa" -BUGTRACKER = "https://github.com/eclips-kuksa/kuksa-can-provider/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" - -DEPENDS = "python3-setuptools-git-versioning-native" - -PV = "0.4.3+git${SRCPV}" - -SRC_URI = "git://github.com/eclipse-kuksa/kuksa-can-provider.git;protocol=https;branch=main \ - file://0001-dbc2val-add-installation-mechanism.patch \ - file://0002-dbc2val-usability-improvements.patch \ - file://0003-dbc2val-fix-token-file-configuration-option.patch \ - file://0004-Enable-val2dbc-for-sensor-values.patch \ - file://config.ini \ - file://can-provider.token \ - file://agl-vcar.dbc \ - file://dbc_default_values.json \ - file://kuksa-can-provider.service \ - file://kuksa-can-provider.default \ - " -SRCREV = "d5fdcfa7574ce69059b6f449629571db0982c1cf" - -S = "${WORKDIR}/git" - -inherit setuptools3 systemd update-alternatives - -#SETUPTOOLS_SETUP_PATH = "${S}/dbc2val" - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" - -do_install:append() { - install -d ${D}${sysconfdir}/kuksa-can-provider - install -m 0644 ${WORKDIR}/config.ini ${D}${sysconfdir}/kuksa-can-provider/ - # Token should ideally not be readable by other users. - # The potential for running the feeder as non-root will take some - # investigation. - install -m 0600 ${WORKDIR}/can-provider.token ${D}${sysconfdir}/kuksa-can-provider/ - install -m 0644 ${WORKDIR}/agl-vcar.dbc ${D}${sysconfdir}/kuksa-can-provider/ - install -m 0644 ${WORKDIR}/dbc_default_values.json ${D}${sysconfdir}/kuksa-can-provider/ - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/kuksa-can-provider.default ${D}${sysconfdir}/default/ - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/kuksa-can-provider.service ${D}${systemd_system_unitdir} - fi -} - -ALTERNATIVE_LINK_NAME[kuksa-can-provider.env] = "${sysconfdir}/default/kuksa-can-provider" - -ALTERNATIVE_TARGET_${PN} = "${sysconfdir}/default/kuksa-can-provider.default" -FILES:${PN} += "${systemd_system_unitdir}" - -RDEPENDS:${PN} += " \ - bash \ - python3-pyserial \ - python3-cantools \ - python3-can \ - python3-can-j1939 \ - python3-pyyaml \ - python3-py-expression-eval \ - kuksa-client \ - can-dev-helper \ -" diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch b/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch deleted file mode 100644 index 3f552738..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-client/0001-kuksa-client-Update-cmd2-completer-usage.patch +++ /dev/null @@ -1,161 +0,0 @@ -From acb2bbff3de6e9f0bafb8b96a339820a9ddfadca Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Mon, 27 Nov 2023 15:31:02 -0500 -Subject: [PATCH 1/2] kuksa-client: Update cmd2 completer usage - -Update cmd2 usage to avoid using internal methods and fix breakage -with newer versions of the cmd2 module. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - kuksa-client/kuksa_client/__main__.py | 33 +++++++++++++-------------- - 1 file changed, 16 insertions(+), 17 deletions(-) - -diff --git a/kuksa-client/kuksa_client/__main__.py b/kuksa-client/kuksa_client/__main__.py -index 2b29623..7061ec1 100755 ---- a/kuksa-client/kuksa_client/__main__.py -+++ b/kuksa-client/kuksa_client/__main__.py -@@ -36,7 +36,6 @@ from cmd2 import CompletionItem - from cmd2 import with_argparser - from cmd2 import with_category - from cmd2 import constants --from cmd2.utils import basic_complete - from urllib.parse import urlparse - - from kuksa_client import KuksaClientThread -@@ -151,7 +150,7 @@ class TestClient(Cmd): - self.pathCompletionItems = [] - for sub_id in self.subscribeIds: - self.pathCompletionItems.append(CompletionItem(sub_id)) -- return basic_complete(text, line, begidx, endidx, self.pathCompletionItems) -+ return Cmd.basic_complete(self, text, line, begidx, endidx, self.pathCompletionItems) - - COMM_SETUP_COMMANDS = "Communication Set-up Commands" - VSS_COMMANDS = "Kuksa Interaction Commands (Supported by both KUKSA Databroker and KUKSA Server)" -@@ -167,19 +166,19 @@ class TestClient(Cmd): - - ap_disconnect = argparse.ArgumentParser() - ap_authorize = argparse.ArgumentParser() -- tokenfile_completer_method = functools.partial( -+ tokenfile_completer = functools.partial( - Cmd.path_complete, - path_filter=lambda path: (os.path.isdir(path) or path.endswith(".token")), - ) - ap_authorize.add_argument( - "token_or_tokenfile", - help="JWT(or the file storing the token) for authorizing the client.", -- completer_method=tokenfile_completer_method, -+ completer=tokenfile_completer, - ) - - ap_setValue = argparse.ArgumentParser() - ap_setValue.add_argument( -- "Path", help="Path to be set", completer_method=path_completer -+ "Path", help="Path to be set", completer=path_completer - ) - ap_setValue.add_argument("Value", nargs="+", help="Value to be set") - ap_setValue.add_argument( -@@ -199,7 +198,7 @@ class TestClient(Cmd): - - ap_getValue = argparse.ArgumentParser() - ap_getValue.add_argument( -- "Path", help="Path to be read", completer_method=path_completer -+ "Path", help="Path to be read", completer=path_completer - ) - ap_getValue.add_argument( - "-a", "--attribute", help="Attribute to be get", default="value" -@@ -210,7 +209,7 @@ class TestClient(Cmd): - "Path", - help="Path whose value is to be read", - nargs="+", -- completer_method=path_completer, -+ completer=path_completer, - ) - ap_getValues.add_argument( - "-a", "--attribute", help="Attribute to be get", default="value" -@@ -220,7 +219,7 @@ class TestClient(Cmd): - ap_setTargetValue.add_argument( - "Path", - help="Path whose target value to be set", -- completer_method=path_completer, -+ completer=path_completer, - ) - ap_setTargetValue.add_argument("Value", help="Value to be set") - -@@ -236,7 +235,7 @@ class TestClient(Cmd): - ap_getTargetValue.add_argument( - "Path", - help="Path whose target value is to be read", -- completer_method=path_completer, -+ completer=path_completer, - ) - - ap_getTargetValues = argparse.ArgumentParser() -@@ -244,12 +243,12 @@ class TestClient(Cmd): - "Path", - help="Path whose target value is to be read", - nargs="+", -- completer_method=path_completer, -+ completer=path_completer, - ) - - ap_subscribe = argparse.ArgumentParser() - ap_subscribe.add_argument( -- "Path", help="Path to subscribe to", completer_method=path_completer -+ "Path", help="Path to subscribe to", completer=path_completer - ) - ap_subscribe.add_argument( - "-a", "--attribute", help="Attribute to subscribe to", default="value" -@@ -264,7 +263,7 @@ class TestClient(Cmd): - - ap_subscribeMultiple = argparse.ArgumentParser() - ap_subscribeMultiple.add_argument( -- "Path", help="Path to subscribe to", nargs="+", completer_method=path_completer -+ "Path", help="Path to subscribe to", nargs="+", completer=path_completer - ) - ap_subscribeMultiple.add_argument( - "-a", "--attribute", help="Attribute to subscribe to", default="value" -@@ -280,18 +279,18 @@ class TestClient(Cmd): - ap_unsubscribe.add_argument( - "SubscribeId", - help="Corresponding subscription Id", -- completer_method=subscriptionIdCompleter, -+ completer=subscriptionIdCompleter, - ) - - ap_getMetaData = argparse.ArgumentParser() - ap_getMetaData.add_argument( - "Path", - help="Path whose metadata is to be read", -- completer_method=path_completer, -+ completer=path_completer, - ) - ap_updateMetaData = argparse.ArgumentParser() - ap_updateMetaData.add_argument( -- "Path", help="Path whose MetaData is to update", completer_method=path_completer -+ "Path", help="Path whose MetaData is to update", completer=path_completer - ) - ap_updateMetaData.add_argument( - "Json", -@@ -300,14 +299,14 @@ class TestClient(Cmd): - ) - - ap_updateVSSTree = argparse.ArgumentParser() -- jsonfile_completer_method = functools.partial( -+ jsonfile_completer = functools.partial( - Cmd.path_complete, - path_filter=lambda path: (os.path.isdir(path) or path.endswith(".json")), - ) - ap_updateVSSTree.add_argument( - "Json", - help="Json tree to update VSS", -- completer_method=jsonfile_completer_method, -+ completer=jsonfile_completer, - ) - - # Constructor, request names after protocol to avoid errors --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-client/0002-Tweak-grpcio-tools-requirement.patch b/recipes-connectivity/kuksa-val/kuksa-client/0002-Tweak-grpcio-tools-requirement.patch deleted file mode 100644 index fef2265b..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-client/0002-Tweak-grpcio-tools-requirement.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 43823a52a9cb25d906542d15dc207f6516579aa3 Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Tue, 18 Jun 2024 16:08:13 -0400 -Subject: [PATCH 2/2] Tweak grpcio-tools requirement - -Lower grpcio-tools requirement to 1.62.0 so building on YP scarthgap -is possible. - -Upstream-Status: Pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - kuksa-client/pyproject.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kuksa-client/pyproject.toml b/kuksa-client/pyproject.toml -index a7afaca..a8d70ff 100644 ---- a/kuksa-client/pyproject.toml -+++ b/kuksa-client/pyproject.toml -@@ -1,6 +1,6 @@ - [build-system] - requires = [ -- "grpcio-tools>=1.63.0", -+ "grpcio-tools>=1.62.0", - "setuptools>=42", - "setuptools-git-versioning", - "wheel", --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-client_git.bb b/recipes-connectivity/kuksa-val/kuksa-client_git.bb deleted file mode 100644 index e12816ad..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-client_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Python client for KUKSA.val, the KUKSA Vehicle Abstraction Layer" -HOMEPAGE = "https://github.com/eclipse/kuksa.val" -BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -DEPENDS = " \ - python3-setuptools-git-versioning-native \ - python3-grpcio-tools-native \ - python3-grpcio \ -" - -PV = "0.4.3" - -SRC_URI = "gitsm://github.com/eclipse-kuksa/kuksa-python-sdk.git;protocol=https;branch=main \ - file://0001-kuksa-client-Update-cmd2-completer-usage.patch;patchdir=.. \ - file://0002-Tweak-grpcio-tools-requirement.patch;patchdir=.. \ -" -SRCREV = "d72777a6aec6bd9f9a2bdf5ae5d01a9bc2de423a" - -S = "${WORKDIR}/git/kuksa-client" - -inherit python_setuptools_build_meta - -RDEPENDS:${PN} += " \ - python3-cmd2 \ - python3-importlib-metadata \ - python3-pkg-resources \ - python3-pygments \ - python3-websockets \ - python3-grpcio \ - python3-grpcio-tools \ - python3-jsonpath-ng \ -" - -# A script for generating new certificates currently gets shipped inside -# the client module, for now add bash to RDEPENDS to quiet the QA error. -# This should probably be addressed with finer-grained packaging or some -# other change worked out with upstream. -RDEPENDS:${PN} += "bash" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker-crates.inc b/recipes-connectivity/kuksa-val/kuksa-databroker-crates.inc deleted file mode 100644 index 02adc113..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-databroker-crates.inc +++ /dev/null @@ -1,988 +0,0 @@ -# Autogenerated with 'bitbake -c update_crates kuksa-databroker' - -# from Cargo.lock -SRC_URI += " \ - crate://crates.io/addr2line/0.22.0 \ - crate://crates.io/adler/1.0.2 \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/android-tzdata/0.1.1 \ - crate://crates.io/android_system_properties/0.1.5 \ - crate://crates.io/ansi_term/0.12.1 \ - crate://crates.io/anstream/0.6.14 \ - crate://crates.io/anstyle/1.0.7 \ - crate://crates.io/anstyle-parse/0.2.4 \ - crate://crates.io/anstyle-query/1.1.0 \ - crate://crates.io/anstyle-wincon/3.0.3 \ - crate://crates.io/anyhow/1.0.86 \ - crate://crates.io/arc-swap/1.7.1 \ - crate://crates.io/arrayref/0.3.7 \ - crate://crates.io/arrayvec/0.5.2 \ - crate://crates.io/async-stream/0.3.5 \ - crate://crates.io/async-stream-impl/0.3.5 \ - crate://crates.io/async-trait/0.1.80 \ - crate://crates.io/autocfg/1.3.0 \ - crate://crates.io/axum/0.6.20 \ - crate://crates.io/axum-core/0.3.4 \ - crate://crates.io/backtrace/0.3.72 \ - crate://crates.io/base64/0.13.1 \ - crate://crates.io/base64/0.21.7 \ - crate://crates.io/base64/0.22.1 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.5.0 \ - crate://crates.io/blake2b_simd/0.5.11 \ - crate://crates.io/block-buffer/0.10.4 \ - crate://crates.io/bstr/1.9.1 \ - crate://crates.io/btoi/0.4.3 \ - crate://crates.io/bumpalo/3.16.0 \ - crate://crates.io/bytecount/0.6.8 \ - crate://crates.io/byteorder/1.5.0 \ - crate://crates.io/bytes/1.6.0 \ - crate://crates.io/camino/1.1.7 \ - crate://crates.io/cargo-platform/0.1.8 \ - crate://crates.io/cargo_metadata/0.18.1 \ - crate://crates.io/cc/1.0.98 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/chrono/0.4.38 \ - crate://crates.io/clap/4.5.4 \ - crate://crates.io/clap_builder/4.5.2 \ - crate://crates.io/clap_derive/4.5.4 \ - crate://crates.io/clap_lex/0.7.0 \ - crate://crates.io/clru/0.6.2 \ - crate://crates.io/colorchoice/1.0.1 \ - crate://crates.io/console/0.15.8 \ - crate://crates.io/constant_time_eq/0.1.5 \ - crate://crates.io/core-foundation-sys/0.8.6 \ - crate://crates.io/cpufeatures/0.2.12 \ - crate://crates.io/crc32fast/1.4.2 \ - crate://crates.io/crossbeam-deque/0.8.5 \ - crate://crates.io/crossbeam-epoch/0.9.18 \ - crate://crates.io/crossbeam-utils/0.8.20 \ - crate://crates.io/crypto-common/0.1.6 \ - crate://crates.io/cucumber/0.20.2 \ - crate://crates.io/cucumber-codegen/0.20.2 \ - crate://crates.io/cucumber-expressions/0.3.0 \ - crate://crates.io/data-encoding/2.6.0 \ - crate://crates.io/deranged/0.3.11 \ - crate://crates.io/derive_more/0.99.17 \ - crate://crates.io/digest/0.10.7 \ - crate://crates.io/dirs/1.0.5 \ - crate://crates.io/dirs/4.0.0 \ - crate://crates.io/dirs-sys/0.3.7 \ - crate://crates.io/drain_filter_polyfill/0.1.3 \ - crate://crates.io/dunce/1.0.4 \ - crate://crates.io/either/1.12.0 \ - crate://crates.io/encode_unicode/0.3.6 \ - crate://crates.io/equivalent/1.0.1 \ - crate://crates.io/errno/0.3.9 \ - crate://crates.io/faster-hex/0.9.0 \ - crate://crates.io/fastrand/2.1.0 \ - crate://crates.io/filetime/0.2.23 \ - crate://crates.io/fixedbitset/0.4.2 \ - crate://crates.io/flate2/1.0.30 \ - crate://crates.io/fnv/1.0.7 \ - crate://crates.io/form_urlencoded/1.2.1 \ - crate://crates.io/futures/0.3.30 \ - crate://crates.io/futures-channel/0.3.30 \ - crate://crates.io/futures-core/0.3.30 \ - crate://crates.io/futures-executor/0.3.30 \ - crate://crates.io/futures-io/0.3.30 \ - crate://crates.io/futures-macro/0.3.30 \ - crate://crates.io/futures-sink/0.3.30 \ - crate://crates.io/futures-task/0.3.30 \ - crate://crates.io/futures-util/0.3.30 \ - crate://crates.io/generic-array/0.14.7 \ - crate://crates.io/getrandom/0.1.16 \ - crate://crates.io/getrandom/0.2.15 \ - crate://crates.io/gherkin/0.14.0 \ - crate://crates.io/gimli/0.29.0 \ - crate://crates.io/gix/0.57.1 \ - crate://crates.io/gix-actor/0.29.1 \ - crate://crates.io/gix-bitmap/0.2.11 \ - crate://crates.io/gix-chunk/0.4.8 \ - crate://crates.io/gix-commitgraph/0.23.2 \ - crate://crates.io/gix-config/0.33.1 \ - crate://crates.io/gix-config-value/0.14.6 \ - crate://crates.io/gix-date/0.8.6 \ - crate://crates.io/gix-diff/0.39.1 \ - crate://crates.io/gix-discover/0.28.1 \ - crate://crates.io/gix-features/0.37.2 \ - crate://crates.io/gix-fs/0.9.1 \ - crate://crates.io/gix-glob/0.15.1 \ - crate://crates.io/gix-hash/0.14.2 \ - crate://crates.io/gix-hashtable/0.5.2 \ - crate://crates.io/gix-index/0.28.2 \ - crate://crates.io/gix-lock/12.0.1 \ - crate://crates.io/gix-macros/0.1.5 \ - crate://crates.io/gix-object/0.40.1 \ - crate://crates.io/gix-odb/0.56.1 \ - crate://crates.io/gix-pack/0.46.1 \ - crate://crates.io/gix-path/0.10.7 \ - crate://crates.io/gix-quote/0.4.12 \ - crate://crates.io/gix-ref/0.40.1 \ - crate://crates.io/gix-refspec/0.21.1 \ - crate://crates.io/gix-revision/0.25.1 \ - crate://crates.io/gix-revwalk/0.11.1 \ - crate://crates.io/gix-sec/0.10.6 \ - crate://crates.io/gix-tempfile/12.0.1 \ - crate://crates.io/gix-trace/0.1.9 \ - crate://crates.io/gix-traverse/0.36.2 \ - crate://crates.io/gix-url/0.26.1 \ - crate://crates.io/gix-utils/0.1.12 \ - crate://crates.io/gix-validate/0.8.5 \ - crate://crates.io/glob-match/0.2.1 \ - crate://crates.io/globset/0.4.14 \ - crate://crates.io/globwalk/0.8.1 \ - crate://crates.io/h2/0.3.26 \ - crate://crates.io/hashbrown/0.12.3 \ - crate://crates.io/hashbrown/0.14.5 \ - crate://crates.io/heck/0.4.1 \ - crate://crates.io/heck/0.5.0 \ - crate://crates.io/hermit-abi/0.3.9 \ - crate://crates.io/home/0.5.9 \ - crate://crates.io/http/0.2.12 \ - crate://crates.io/http-body/0.4.6 \ - crate://crates.io/httparse/1.8.0 \ - crate://crates.io/httpdate/1.0.3 \ - crate://crates.io/humantime/2.1.0 \ - crate://crates.io/hyper/0.14.29 \ - crate://crates.io/hyper-timeout/0.4.1 \ - crate://crates.io/iana-time-zone/0.1.60 \ - crate://crates.io/iana-time-zone-haiku/0.1.2 \ - crate://crates.io/idna/0.5.0 \ - crate://crates.io/ignore/0.4.22 \ - crate://crates.io/indexmap/1.9.3 \ - crate://crates.io/indexmap/2.2.6 \ - crate://crates.io/inflections/1.1.1 \ - crate://crates.io/inventory/0.3.15 \ - crate://crates.io/is_terminal_polyfill/1.70.0 \ - crate://crates.io/itertools/0.12.1 \ - crate://crates.io/itoa/1.0.11 \ - crate://crates.io/jemalloc-sys/0.5.4+5.3.0-patched \ - crate://crates.io/jemallocator/0.5.4 \ - crate://crates.io/js-sys/0.3.69 \ - crate://crates.io/jsonwebtoken/9.3.0 \ - crate://crates.io/lazy-regex/3.1.0 \ - crate://crates.io/lazy-regex-proc_macros/3.1.0 \ - crate://crates.io/lazy_static/1.4.0 \ - crate://crates.io/libc/0.2.155 \ - crate://crates.io/libredox/0.1.3 \ - crate://crates.io/linefeed/0.6.0 \ - crate://crates.io/linked-hash-map/0.5.6 \ - crate://crates.io/linux-raw-sys/0.4.14 \ - crate://crates.io/lock_api/0.4.12 \ - crate://crates.io/log/0.4.21 \ - crate://crates.io/matchers/0.1.0 \ - crate://crates.io/matchit/0.7.3 \ - crate://crates.io/memchr/2.7.2 \ - crate://crates.io/memmap2/0.9.4 \ - crate://crates.io/mime/0.3.17 \ - crate://crates.io/minimal-lexical/0.2.1 \ - crate://crates.io/miniz_oxide/0.7.3 \ - crate://crates.io/mio/0.8.11 \ - crate://crates.io/mortal/0.2.4 \ - crate://crates.io/multimap/0.10.0 \ - crate://crates.io/nix/0.26.4 \ - crate://crates.io/nom/7.1.3 \ - crate://crates.io/nom_locate/4.2.0 \ - crate://crates.io/nu-ansi-term/0.46.0 \ - crate://crates.io/num-bigint/0.4.5 \ - crate://crates.io/num-conv/0.1.0 \ - crate://crates.io/num-integer/0.1.46 \ - crate://crates.io/num-traits/0.2.19 \ - crate://crates.io/num_cpus/1.16.0 \ - crate://crates.io/num_threads/0.1.7 \ - crate://crates.io/object/0.35.0 \ - crate://crates.io/once_cell/1.19.0 \ - crate://crates.io/overload/0.1.1 \ - crate://crates.io/parking_lot/0.12.3 \ - crate://crates.io/parking_lot_core/0.9.10 \ - crate://crates.io/peg/0.6.3 \ - crate://crates.io/peg-macros/0.6.3 \ - crate://crates.io/peg-runtime/0.6.3 \ - crate://crates.io/pem/3.0.4 \ - crate://crates.io/percent-encoding/2.3.1 \ - crate://crates.io/petgraph/0.6.5 \ - crate://crates.io/phf/0.11.2 \ - crate://crates.io/phf_codegen/0.11.2 \ - crate://crates.io/phf_generator/0.11.2 \ - crate://crates.io/phf_shared/0.11.2 \ - crate://crates.io/pin-project/1.1.5 \ - crate://crates.io/pin-project-internal/1.1.5 \ - crate://crates.io/pin-project-lite/0.2.14 \ - crate://crates.io/pin-utils/0.1.0 \ - crate://crates.io/powerfmt/0.2.0 \ - crate://crates.io/ppv-lite86/0.2.17 \ - crate://crates.io/prettyplease/0.2.20 \ - crate://crates.io/proc-macro2/1.0.85 \ - crate://crates.io/prodash/28.0.0 \ - crate://crates.io/prost/0.12.6 \ - crate://crates.io/prost-build/0.12.6 \ - crate://crates.io/prost-derive/0.12.6 \ - crate://crates.io/prost-types/0.12.6 \ - crate://crates.io/quote/1.0.36 \ - crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/redox_syscall/0.1.57 \ - crate://crates.io/redox_syscall/0.4.1 \ - crate://crates.io/redox_syscall/0.5.1 \ - crate://crates.io/redox_users/0.3.5 \ - crate://crates.io/redox_users/0.4.5 \ - crate://crates.io/regex/1.10.4 \ - crate://crates.io/regex-automata/0.1.10 \ - crate://crates.io/regex-automata/0.4.6 \ - crate://crates.io/regex-syntax/0.6.29 \ - crate://crates.io/regex-syntax/0.7.5 \ - crate://crates.io/regex-syntax/0.8.3 \ - crate://crates.io/ring/0.17.8 \ - crate://crates.io/rust-argon2/0.8.3 \ - crate://crates.io/rustc-demangle/0.1.24 \ - crate://crates.io/rustix/0.38.34 \ - crate://crates.io/rustls/0.22.4 \ - crate://crates.io/rustls-pemfile/2.1.2 \ - crate://crates.io/rustls-pki-types/1.7.0 \ - crate://crates.io/rustls-webpki/0.102.4 \ - crate://crates.io/rustversion/1.0.17 \ - crate://crates.io/ryu/1.0.18 \ - crate://crates.io/same-file/1.0.6 \ - crate://crates.io/scopeguard/1.2.0 \ - crate://crates.io/sd-notify/0.4.1 \ - crate://crates.io/sealed/0.5.0 \ - crate://crates.io/semver/1.0.23 \ - crate://crates.io/serde/1.0.203 \ - crate://crates.io/serde_derive/1.0.203 \ - crate://crates.io/serde_json/1.0.117 \ - crate://crates.io/serde_path_to_error/0.1.16 \ - crate://crates.io/serde_urlencoded/0.7.1 \ - crate://crates.io/sha1/0.10.6 \ - crate://crates.io/sha1_smol/1.0.0 \ - crate://crates.io/sharded-slab/0.1.7 \ - crate://crates.io/signal-hook/0.3.17 \ - crate://crates.io/signal-hook-registry/1.4.2 \ - crate://crates.io/simple_asn1/0.6.2 \ - crate://crates.io/siphasher/0.3.11 \ - crate://crates.io/slab/0.4.9 \ - crate://crates.io/smallstr/0.2.0 \ - crate://crates.io/smallvec/1.13.2 \ - crate://crates.io/smart-default/0.7.1 \ - crate://crates.io/smawk/0.3.2 \ - crate://crates.io/socket2/0.5.7 \ - crate://crates.io/spin/0.9.8 \ - crate://crates.io/sqlparser/0.16.0 \ - crate://crates.io/strsim/0.11.1 \ - crate://crates.io/subtle/2.5.0 \ - crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.66 \ - crate://crates.io/sync_wrapper/0.1.2 \ - crate://crates.io/synthez/0.3.1 \ - crate://crates.io/synthez-codegen/0.3.1 \ - crate://crates.io/synthez-core/0.3.1 \ - crate://crates.io/tempfile/3.10.1 \ - crate://crates.io/terminal_size/0.3.0 \ - crate://crates.io/terminfo/0.8.0 \ - crate://crates.io/textwrap/0.16.1 \ - crate://crates.io/thiserror/1.0.61 \ - crate://crates.io/thiserror-impl/1.0.61 \ - crate://crates.io/thread_local/1.1.8 \ - crate://crates.io/time/0.3.36 \ - crate://crates.io/time-core/0.1.2 \ - crate://crates.io/time-macros/0.2.18 \ - crate://crates.io/tinyvec/1.6.0 \ - crate://crates.io/tinyvec_macros/0.1.1 \ - crate://crates.io/tokio/1.38.0 \ - crate://crates.io/tokio-io-timeout/1.2.0 \ - crate://crates.io/tokio-macros/2.3.0 \ - crate://crates.io/tokio-rustls/0.25.0 \ - crate://crates.io/tokio-stream/0.1.15 \ - crate://crates.io/tokio-tungstenite/0.20.1 \ - crate://crates.io/tokio-util/0.7.11 \ - crate://crates.io/tonic/0.11.0 \ - crate://crates.io/tonic-build/0.11.0 \ - crate://crates.io/tonic-mock/0.3.0 \ - crate://crates.io/tower/0.4.13 \ - crate://crates.io/tower-layer/0.3.2 \ - crate://crates.io/tower-service/0.3.2 \ - crate://crates.io/tracing/0.1.40 \ - crate://crates.io/tracing-attributes/0.1.27 \ - crate://crates.io/tracing-core/0.1.32 \ - crate://crates.io/tracing-subscriber/0.3.18 \ - crate://crates.io/try-lock/0.2.5 \ - crate://crates.io/tungstenite/0.20.1 \ - crate://crates.io/typed-builder/0.15.2 \ - crate://crates.io/typed-builder-macro/0.15.2 \ - crate://crates.io/typenum/1.17.0 \ - crate://crates.io/unicode-bidi/0.3.15 \ - crate://crates.io/unicode-bom/2.0.3 \ - crate://crates.io/unicode-ident/1.0.12 \ - crate://crates.io/unicode-linebreak/0.1.5 \ - crate://crates.io/unicode-normalization/0.1.23 \ - crate://crates.io/unicode-width/0.1.13 \ - crate://crates.io/untrusted/0.9.0 \ - crate://crates.io/url/2.5.0 \ - crate://crates.io/utf-8/0.7.6 \ - crate://crates.io/utf8parse/0.2.1 \ - crate://crates.io/uuid/1.8.0 \ - crate://crates.io/vergen/8.3.1 \ - crate://crates.io/version_check/0.9.4 \ - crate://crates.io/walkdir/2.5.0 \ - crate://crates.io/want/0.3.1 \ - crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \ - crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ - crate://crates.io/wasm-bindgen/0.2.92 \ - crate://crates.io/wasm-bindgen-backend/0.2.92 \ - crate://crates.io/wasm-bindgen-macro/0.2.92 \ - crate://crates.io/wasm-bindgen-macro-support/0.2.92 \ - crate://crates.io/wasm-bindgen-shared/0.2.92 \ - crate://crates.io/winapi/0.3.9 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.8 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/windows-core/0.52.0 \ - crate://crates.io/windows-sys/0.48.0 \ - crate://crates.io/windows-sys/0.52.0 \ - crate://crates.io/windows-targets/0.48.5 \ - crate://crates.io/windows-targets/0.52.5 \ - crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ - crate://crates.io/windows_aarch64_gnullvm/0.52.5 \ - crate://crates.io/windows_aarch64_msvc/0.48.5 \ - crate://crates.io/windows_aarch64_msvc/0.52.5 \ - crate://crates.io/windows_i686_gnu/0.48.5 \ - crate://crates.io/windows_i686_gnu/0.52.5 \ - crate://crates.io/windows_i686_gnullvm/0.52.5 \ - crate://crates.io/windows_i686_msvc/0.48.5 \ - crate://crates.io/windows_i686_msvc/0.52.5 \ - crate://crates.io/windows_x86_64_gnu/0.48.5 \ - crate://crates.io/windows_x86_64_gnu/0.52.5 \ - crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ - crate://crates.io/windows_x86_64_gnullvm/0.52.5 \ - crate://crates.io/windows_x86_64_msvc/0.48.5 \ - crate://crates.io/windows_x86_64_msvc/0.52.5 \ - crate://crates.io/winnow/0.5.40 \ - crate://crates.io/zeroize/1.8.1 \ -" - -SRC_URI[addr2line-0.22.0.sha256sum] = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" -SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -SRC_URI[ansi_term-0.12.1.sha256sum] = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -SRC_URI[anstream-0.6.14.sha256sum] = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" -SRC_URI[anstyle-1.0.7.sha256sum] = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" -SRC_URI[anstyle-parse-0.2.4.sha256sum] = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" -SRC_URI[anstyle-query-1.1.0.sha256sum] = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" -SRC_URI[anstyle-wincon-3.0.3.sha256sum] = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" -SRC_URI[anyhow-1.0.86.sha256sum] = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" -SRC_URI[arc-swap-1.7.1.sha256sum] = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -SRC_URI[arrayref-0.3.7.sha256sum] = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" -SRC_URI[arrayvec-0.5.2.sha256sum] = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" -SRC_URI[async-stream-0.3.5.sha256sum] = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -SRC_URI[async-stream-impl-0.3.5.sha256sum] = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -SRC_URI[async-trait-0.1.80.sha256sum] = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -SRC_URI[axum-0.6.20.sha256sum] = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -SRC_URI[axum-core-0.3.4.sha256sum] = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -SRC_URI[backtrace-0.3.72.sha256sum] = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" -SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" -SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -SRC_URI[blake2b_simd-0.5.11.sha256sum] = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -SRC_URI[bstr-1.9.1.sha256sum] = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" -SRC_URI[btoi-0.4.3.sha256sum] = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad" -SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -SRC_URI[bytecount-0.6.8.sha256sum] = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" -SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -SRC_URI[bytes-1.6.0.sha256sum] = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" -SRC_URI[camino-1.1.7.sha256sum] = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" -SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -SRC_URI[cargo_metadata-0.18.1.sha256sum] = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -SRC_URI[cc-1.0.98.sha256sum] = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[chrono-0.4.38.sha256sum] = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -SRC_URI[clap-4.5.4.sha256sum] = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" -SRC_URI[clap_builder-4.5.2.sha256sum] = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" -SRC_URI[clap_derive-4.5.4.sha256sum] = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" -SRC_URI[clap_lex-0.7.0.sha256sum] = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" -SRC_URI[clru-0.6.2.sha256sum] = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" -SRC_URI[colorchoice-1.0.1.sha256sum] = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" -SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -SRC_URI[constant_time_eq-0.1.5.sha256sum] = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -SRC_URI[cpufeatures-0.2.12.sha256sum] = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -SRC_URI[crossbeam-utils-0.8.20.sha256sum] = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" -SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -SRC_URI[cucumber-0.20.2.sha256sum] = "8e5063d8cf24f4998ad01cac265da468a15ca682a8f4f826d50e661964e8d9b8" -SRC_URI[cucumber-codegen-0.20.2.sha256sum] = "01091e28d1f566c8b31b67948399d2efd6c0a8f6228a9785519ed7b73f7f0aef" -SRC_URI[cucumber-expressions-0.3.0.sha256sum] = "d794fed319eea24246fb5f57632f7ae38d61195817b7eb659455aa5bdd7c1810" -SRC_URI[data-encoding-2.6.0.sha256sum] = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" -SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -SRC_URI[derive_more-0.99.17.sha256sum] = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -SRC_URI[dirs-1.0.5.sha256sum] = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" -SRC_URI[dirs-4.0.0.sha256sum] = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -SRC_URI[dirs-sys-0.3.7.sha256sum] = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -SRC_URI[drain_filter_polyfill-0.1.3.sha256sum] = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408" -SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" -SRC_URI[either-1.12.0.sha256sum] = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" -SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" -SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -SRC_URI[faster-hex-0.9.0.sha256sum] = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" -SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" -SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -SRC_URI[flate2-1.0.30.sha256sum] = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -SRC_URI[futures-0.3.30.sha256sum] = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -SRC_URI[futures-channel-0.3.30.sha256sum] = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -SRC_URI[futures-core-0.3.30.sha256sum] = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" -SRC_URI[futures-executor-0.3.30.sha256sum] = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -SRC_URI[futures-io-0.3.30.sha256sum] = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" -SRC_URI[futures-macro-0.3.30.sha256sum] = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -SRC_URI[futures-sink-0.3.30.sha256sum] = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" -SRC_URI[futures-task-0.3.30.sha256sum] = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" -SRC_URI[futures-util-0.3.30.sha256sum] = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -SRC_URI[getrandom-0.1.16.sha256sum] = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -SRC_URI[gherkin-0.14.0.sha256sum] = "20b79820c0df536d1f3a089a2fa958f61cb96ce9e0f3f8f507f5a31179567755" -SRC_URI[gimli-0.29.0.sha256sum] = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" -SRC_URI[gix-0.57.1.sha256sum] = "6dd025382892c7b500a9ce1582cd803f9c2ebfe44aff52e9c7f86feee7ced75e" -SRC_URI[gix-actor-0.29.1.sha256sum] = "da27b5ab4ab5c75ff891dccd48409f8cc53c28a79480f1efdd33184b2dc1d958" -SRC_URI[gix-bitmap-0.2.11.sha256sum] = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" -SRC_URI[gix-chunk-0.4.8.sha256sum] = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" -SRC_URI[gix-commitgraph-0.23.2.sha256sum] = "7e8dcbf434951fa477063e05fea59722615af70dc2567377e58c2f7853b010fc" -SRC_URI[gix-config-0.33.1.sha256sum] = "367304855b369cadcac4ee5fb5a3a20da9378dd7905106141070b79f85241079" -SRC_URI[gix-config-value-0.14.6.sha256sum] = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" -SRC_URI[gix-date-0.8.6.sha256sum] = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99" -SRC_URI[gix-diff-0.39.1.sha256sum] = "fd6a0454f8c42d686f17e7f084057c717c082b7dbb8209729e4e8f26749eb93a" -SRC_URI[gix-discover-0.28.1.sha256sum] = "b8d7b2896edc3d899d28a646ccc6df729827a6600e546570b2783466404a42d6" -SRC_URI[gix-features-0.37.2.sha256sum] = "d50270e8dcc665f30ba0735b17984b9535bdf1e646c76e638e007846164d57af" -SRC_URI[gix-fs-0.9.1.sha256sum] = "7555c23a005537434bbfcb8939694e18cad42602961d0de617f8477cc2adecdd" -SRC_URI[gix-glob-0.15.1.sha256sum] = "ae6232f18b262770e343dcdd461c0011c9b9ae27f0c805e115012aa2b902c1b8" -SRC_URI[gix-hash-0.14.2.sha256sum] = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" -SRC_URI[gix-hashtable-0.5.2.sha256sum] = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" -SRC_URI[gix-index-0.28.2.sha256sum] = "9e50e63df6c8d4137f7fb882f27643b3a9756c468a1a2cdbe1ce443010ca8778" -SRC_URI[gix-lock-12.0.1.sha256sum] = "f40a439397f1e230b54cf85d52af87e5ea44cc1e7748379785d3f6d03d802b00" -SRC_URI[gix-macros-0.1.5.sha256sum] = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" -SRC_URI[gix-object-0.40.1.sha256sum] = "0c89402e8faa41b49fde348665a8f38589e461036475af43b6b70615a6a313a2" -SRC_URI[gix-odb-0.56.1.sha256sum] = "46ae6da873de41c6c2b73570e82c571b69df5154dcd8f46dfafc6687767c33b1" -SRC_URI[gix-pack-0.46.1.sha256sum] = "782b4d42790a14072d5c400deda9851f5765f50fe72bca6dece0da1cd6f05a9a" -SRC_URI[gix-path-0.10.7.sha256sum] = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" -SRC_URI[gix-quote-0.4.12.sha256sum] = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" -SRC_URI[gix-ref-0.40.1.sha256sum] = "64d9bd1984638d8f3511a2fcbe84fcedb8a5b5d64df677353620572383f42649" -SRC_URI[gix-refspec-0.21.1.sha256sum] = "be219df5092c1735abb2a53eccdf775e945eea6986ee1b6e7a5896dccc0be704" -SRC_URI[gix-revision-0.25.1.sha256sum] = "aa78e1df3633bc937d4db15f8dca2abdb1300ca971c0fabcf9fa97e38cf4cd9f" -SRC_URI[gix-revwalk-0.11.1.sha256sum] = "702de5fe5c2bbdde80219f3a8b9723eb927466e7ecd187cfd1b45d986408e45f" -SRC_URI[gix-sec-0.10.6.sha256sum] = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" -SRC_URI[gix-tempfile-12.0.1.sha256sum] = "a8ef376d718b1f5f119b458e21b00fbf576bc9d4e26f8f383d29f5ffe3ba3eaa" -SRC_URI[gix-trace-0.1.9.sha256sum] = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" -SRC_URI[gix-traverse-0.36.2.sha256sum] = "65109e445ba7a409b48f34f570a4d7db72eade1dc1bcff81990a490e86c07161" -SRC_URI[gix-url-0.26.1.sha256sum] = "8f0f17cceb7552a231d1fec690bc2740c346554e3be6f5d2c41dfa809594dc44" -SRC_URI[gix-utils-0.1.12.sha256sum] = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" -SRC_URI[gix-validate-0.8.5.sha256sum] = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" -SRC_URI[glob-match-0.2.1.sha256sum] = "9985c9503b412198aa4197559e9a318524ebc4519c229bfa05a535828c950b9d" -SRC_URI[globset-0.4.14.sha256sum] = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -SRC_URI[globwalk-0.8.1.sha256sum] = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" -SRC_URI[h2-0.3.26.sha256sum] = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -SRC_URI[hermit-abi-0.3.9.sha256sum] = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -SRC_URI[http-0.2.12.sha256sum] = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -SRC_URI[http-body-0.4.6.sha256sum] = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -SRC_URI[httparse-1.8.0.sha256sum] = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -SRC_URI[httpdate-1.0.3.sha256sum] = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -SRC_URI[hyper-0.14.29.sha256sum] = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" -SRC_URI[hyper-timeout-0.4.1.sha256sum] = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -SRC_URI[iana-time-zone-0.1.60.sha256sum] = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -SRC_URI[ignore-0.4.22.sha256sum] = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" -SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -SRC_URI[indexmap-2.2.6.sha256sum] = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -SRC_URI[inflections-1.1.1.sha256sum] = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" -SRC_URI[inventory-0.3.15.sha256sum] = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" -SRC_URI[is_terminal_polyfill-1.70.0.sha256sum] = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" -SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -SRC_URI[jemalloc-sys-0.5.4+5.3.0-patched.sha256sum] = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2" -SRC_URI[jemallocator-0.5.4.sha256sum] = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc" -SRC_URI[js-sys-0.3.69.sha256sum] = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -SRC_URI[jsonwebtoken-9.3.0.sha256sum] = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" -SRC_URI[lazy-regex-3.1.0.sha256sum] = "5d12be4595afdf58bd19e4a9f4e24187da2a66700786ff660a418e9059937a4c" -SRC_URI[lazy-regex-proc_macros-3.1.0.sha256sum] = "44bcd58e6c97a7fcbaffcdc95728b393b8d98933bfadad49ed4097845b57ef0b" -SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -SRC_URI[linefeed-0.6.0.sha256sum] = "28715d08e35c6c074f9ae6b2e6a2420bac75d050c66ecd669d7d5b98e2caa036" -SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -SRC_URI[log-0.4.21.sha256sum] = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" -SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -SRC_URI[matchit-0.7.3.sha256sum] = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" -SRC_URI[memchr-2.7.2.sha256sum] = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" -SRC_URI[memmap2-0.9.4.sha256sum] = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -SRC_URI[miniz_oxide-0.7.3.sha256sum] = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" -SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -SRC_URI[mortal-0.2.4.sha256sum] = "2c624fa1b7aab6bd2aff6e9b18565cc0363b6d45cbcd7465c9ed5e3740ebf097" -SRC_URI[multimap-0.10.0.sha256sum] = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" -SRC_URI[nix-0.26.4.sha256sum] = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -SRC_URI[nom_locate-4.2.0.sha256sum] = "1e3c83c053b0713da60c5b8de47fe8e494fe3ece5267b2f23090a07a053ba8f3" -SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -SRC_URI[num-bigint-0.4.5.sha256sum] = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" -SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -SRC_URI[num_threads-0.1.7.sha256sum] = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -SRC_URI[object-0.35.0.sha256sum] = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" -SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -SRC_URI[peg-0.6.3.sha256sum] = "9f76678828272f177ac33b7e2ac2e3e73cc6c1cd1e3e387928aa69562fa51367" -SRC_URI[peg-macros-0.6.3.sha256sum] = "636d60acf97633e48d266d7415a9355d4389cea327a193f87df395d88cd2b14d" -SRC_URI[peg-runtime-0.6.3.sha256sum] = "9555b1514d2d99d78150d3c799d4c357a3e2c2a8062cd108e93a06d9057629c5" -SRC_URI[pem-3.0.4.sha256sum] = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" -SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -SRC_URI[petgraph-0.6.5.sha256sum] = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" -SRC_URI[phf_generator-0.11.2.sha256sum] = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -SRC_URI[pin-project-1.1.5.sha256sum] = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -SRC_URI[pin-project-internal-1.1.5.sha256sum] = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -SRC_URI[pin-project-lite-0.2.14.sha256sum] = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" -SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -SRC_URI[prettyplease-0.2.20.sha256sum] = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -SRC_URI[proc-macro2-1.0.85.sha256sum] = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -SRC_URI[prodash-28.0.0.sha256sum] = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" -SRC_URI[prost-0.12.6.sha256sum] = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -SRC_URI[prost-build-0.12.6.sha256sum] = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -SRC_URI[prost-derive-0.12.6.sha256sum] = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -SRC_URI[prost-types-0.12.6.sha256sum] = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[redox_syscall-0.1.57.sha256sum] = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" -SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -SRC_URI[redox_syscall-0.5.1.sha256sum] = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" -SRC_URI[redox_users-0.3.5.sha256sum] = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" -SRC_URI[redox_users-0.4.5.sha256sum] = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -SRC_URI[regex-automata-0.4.6.sha256sum] = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" -SRC_URI[regex-syntax-0.7.5.sha256sum] = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" -SRC_URI[regex-syntax-0.8.3.sha256sum] = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" -SRC_URI[ring-0.17.8.sha256sum] = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -SRC_URI[rust-argon2-0.8.3.sha256sum] = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" -SRC_URI[rustc-demangle-0.1.24.sha256sum] = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -SRC_URI[rustls-0.22.4.sha256sum] = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -SRC_URI[rustls-pemfile-2.1.2.sha256sum] = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -SRC_URI[rustls-pki-types-1.7.0.sha256sum] = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" -SRC_URI[rustls-webpki-0.102.4.sha256sum] = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" -SRC_URI[rustversion-1.0.17.sha256sum] = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" -SRC_URI[ryu-1.0.18.sha256sum] = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -SRC_URI[sd-notify-0.4.1.sha256sum] = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32" -SRC_URI[sealed-0.5.0.sha256sum] = "f4a8caec23b7800fb97971a1c6ae365b6239aaeddfb934d6265f8505e795699d" -SRC_URI[semver-1.0.23.sha256sum] = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -SRC_URI[serde-1.0.203.sha256sum] = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" -SRC_URI[serde_derive-1.0.203.sha256sum] = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" -SRC_URI[serde_json-1.0.117.sha256sum] = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" -SRC_URI[serde_path_to_error-0.1.16.sha256sum] = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" -SRC_URI[serde_urlencoded-0.7.1.sha256sum] = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -SRC_URI[sha1_smol-1.0.0.sha256sum] = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" -SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -SRC_URI[signal-hook-registry-1.4.2.sha256sum] = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -SRC_URI[simple_asn1-0.6.2.sha256sum] = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -SRC_URI[siphasher-0.3.11.sha256sum] = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" -SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -SRC_URI[smallstr-0.2.0.sha256sum] = "1e922794d168678729ffc7e07182721a14219c65814e66e91b839a272fe5ae4f" -SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -SRC_URI[smart-default-0.7.1.sha256sum] = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" -SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" -SRC_URI[socket2-0.5.7.sha256sum] = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -SRC_URI[sqlparser-0.16.0.sha256sum] = "7e9a527b68048eb95495a1508f6c8395c8defcff5ecdbe8ad4106d08a2ef2a3c" -SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.66.sha256sum] = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -SRC_URI[sync_wrapper-0.1.2.sha256sum] = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -SRC_URI[synthez-0.3.1.sha256sum] = "a3d2c2202510a1e186e63e596d9318c91a8cbe85cd1a56a7be0c333e5f59ec8d" -SRC_URI[synthez-codegen-0.3.1.sha256sum] = "f724aa6d44b7162f3158a57bccd871a77b39a4aef737e01bcdff41f4772c7746" -SRC_URI[synthez-core-0.3.1.sha256sum] = "78bfa6ec52465e2425fd43ce5bbbe0f0b623964f7c63feb6b10980e816c654ea" -SRC_URI[tempfile-3.10.1.sha256sum] = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -SRC_URI[terminfo-0.8.0.sha256sum] = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" -SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -SRC_URI[thiserror-1.0.61.sha256sum] = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -SRC_URI[thiserror-impl-1.0.61.sha256sum] = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" -SRC_URI[time-macros-0.2.18.sha256sum] = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -SRC_URI[tokio-1.38.0.sha256sum] = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" -SRC_URI[tokio-io-timeout-1.2.0.sha256sum] = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -SRC_URI[tokio-macros-2.3.0.sha256sum] = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" -SRC_URI[tokio-rustls-0.25.0.sha256sum] = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -SRC_URI[tokio-stream-0.1.15.sha256sum] = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -SRC_URI[tokio-tungstenite-0.20.1.sha256sum] = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -SRC_URI[tokio-util-0.7.11.sha256sum] = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -SRC_URI[tonic-0.11.0.sha256sum] = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" -SRC_URI[tonic-build-0.11.0.sha256sum] = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" -SRC_URI[tonic-mock-0.3.0.sha256sum] = "ea9163cf065e21bf30e5ad1789bf334f5ae67e4a25f0e8200a7e375466e755ea" -SRC_URI[tower-0.4.13.sha256sum] = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -SRC_URI[tower-layer-0.3.2.sha256sum] = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" -SRC_URI[tower-service-0.3.2.sha256sum] = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" -SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -SRC_URI[try-lock-0.2.5.sha256sum] = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -SRC_URI[tungstenite-0.20.1.sha256sum] = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -SRC_URI[typed-builder-0.15.2.sha256sum] = "7fe83c85a85875e8c4cb9ce4a890f05b23d38cd0d47647db7895d3d2a79566d2" -SRC_URI[typed-builder-macro-0.15.2.sha256sum] = "29a3151c41d0b13e3d011f98adc24434560ef06673a155a6c7f66b9879eecce2" -SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -SRC_URI[unicode-bidi-0.3.15.sha256sum] = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" -SRC_URI[unicode-bom-2.0.3.sha256sum] = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" -SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" -SRC_URI[unicode-normalization-0.1.23.sha256sum] = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -SRC_URI[unicode-width-0.1.13.sha256sum] = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" -SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -SRC_URI[utf-8-0.7.6.sha256sum] = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -SRC_URI[uuid-1.8.0.sha256sum] = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" -SRC_URI[vergen-8.3.1.sha256sum] = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" -SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -SRC_URI[wasi-0.9.0+wasi-snapshot-preview1.sha256sum] = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -SRC_URI[wasm-bindgen-0.2.92.sha256sum] = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -SRC_URI[wasm-bindgen-backend-0.2.92.sha256sum] = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -SRC_URI[wasm-bindgen-macro-0.2.92.sha256sum] = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -SRC_URI[wasm-bindgen-macro-support-0.2.92.sha256sum] = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -SRC_URI[wasm-bindgen-shared-0.2.92.sha256sum] = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.8.sha256sum] = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-core-0.52.0.sha256sum] = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -SRC_URI[windows-targets-0.52.5.sha256sum] = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" -SRC_URI[windows_aarch64_gnullvm-0.52.5.sha256sum] = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" -SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" -SRC_URI[windows_aarch64_msvc-0.52.5.sha256sum] = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" -SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" -SRC_URI[windows_i686_gnu-0.52.5.sha256sum] = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" -SRC_URI[windows_i686_gnullvm-0.52.5.sha256sum] = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" -SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" -SRC_URI[windows_i686_msvc-0.52.5.sha256sum] = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" -SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" -SRC_URI[windows_x86_64_gnu-0.52.5.sha256sum] = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" -SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" -SRC_URI[windows_x86_64_gnullvm-0.52.5.sha256sum] = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" -SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" -SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" -SRC_URI[winnow-0.5.40.sha256sum] = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -# from lib/Cargo.lock -SRC_URI += " \ - crate://crates.io/addr2line/0.22.0 \ - crate://crates.io/adler/1.0.2 \ - crate://crates.io/aho-corasick/1.1.3 \ - crate://crates.io/anyhow/1.0.86 \ - crate://crates.io/async-stream/0.3.5 \ - crate://crates.io/async-stream-impl/0.3.5 \ - crate://crates.io/async-trait/0.1.80 \ - crate://crates.io/autocfg/1.3.0 \ - crate://crates.io/autotools/0.2.7 \ - crate://crates.io/axum/0.6.20 \ - crate://crates.io/axum-core/0.3.4 \ - crate://crates.io/backtrace/0.3.72 \ - crate://crates.io/base64/0.21.7 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.5.0 \ - crate://crates.io/bytes/1.6.0 \ - crate://crates.io/cc/1.0.98 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/either/1.12.0 \ - crate://crates.io/equivalent/1.0.1 \ - crate://crates.io/errno/0.3.9 \ - crate://crates.io/fastrand/2.1.0 \ - crate://crates.io/fixedbitset/0.4.2 \ - crate://crates.io/fnv/1.0.7 \ - crate://crates.io/futures-channel/0.3.30 \ - crate://crates.io/futures-core/0.3.30 \ - crate://crates.io/futures-sink/0.3.30 \ - crate://crates.io/futures-task/0.3.30 \ - crate://crates.io/futures-util/0.3.30 \ - crate://crates.io/getrandom/0.2.15 \ - crate://crates.io/gimli/0.29.0 \ - crate://crates.io/h2/0.3.26 \ - crate://crates.io/hashbrown/0.12.3 \ - crate://crates.io/hashbrown/0.14.5 \ - crate://crates.io/heck/0.5.0 \ - crate://crates.io/http/0.2.12 \ - crate://crates.io/http-body/0.4.6 \ - crate://crates.io/httparse/1.8.0 \ - crate://crates.io/httpdate/1.0.3 \ - crate://crates.io/hyper/0.14.29 \ - crate://crates.io/hyper-timeout/0.4.1 \ - crate://crates.io/indexmap/1.9.3 \ - crate://crates.io/indexmap/2.2.6 \ - crate://crates.io/itertools/0.12.1 \ - crate://crates.io/itoa/1.0.11 \ - crate://crates.io/libc/0.2.155 \ - crate://crates.io/linux-raw-sys/0.4.14 \ - crate://crates.io/log/0.4.21 \ - crate://crates.io/matchit/0.7.3 \ - crate://crates.io/memchr/2.7.2 \ - crate://crates.io/mime/0.3.17 \ - crate://crates.io/miniz_oxide/0.7.3 \ - crate://crates.io/mio/0.8.11 \ - crate://crates.io/multimap/0.10.0 \ - crate://crates.io/object/0.35.0 \ - crate://crates.io/once_cell/1.19.0 \ - crate://crates.io/percent-encoding/2.3.1 \ - crate://crates.io/petgraph/0.6.5 \ - crate://crates.io/pin-project/1.1.5 \ - crate://crates.io/pin-project-internal/1.1.5 \ - crate://crates.io/pin-project-lite/0.2.14 \ - crate://crates.io/pin-utils/0.1.0 \ - crate://crates.io/ppv-lite86/0.2.17 \ - crate://crates.io/prettyplease/0.2.20 \ - crate://crates.io/proc-macro2/1.0.85 \ - crate://crates.io/prost/0.12.6 \ - crate://crates.io/prost-build/0.12.6 \ - crate://crates.io/prost-derive/0.12.6 \ - crate://crates.io/prost-types/0.12.6 \ - crate://crates.io/protobuf-src/1.1.0+21.5 \ - crate://crates.io/quote/1.0.36 \ - crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/regex/1.10.4 \ - crate://crates.io/regex-automata/0.4.6 \ - crate://crates.io/regex-syntax/0.8.3 \ - crate://crates.io/ring/0.17.8 \ - crate://crates.io/rustc-demangle/0.1.24 \ - crate://crates.io/rustix/0.38.34 \ - crate://crates.io/rustls/0.21.12 \ - crate://crates.io/rustls-pemfile/1.0.4 \ - crate://crates.io/rustls-webpki/0.101.7 \ - crate://crates.io/rustversion/1.0.17 \ - crate://crates.io/sct/0.7.1 \ - crate://crates.io/serde/1.0.203 \ - crate://crates.io/serde_derive/1.0.203 \ - crate://crates.io/slab/0.4.9 \ - crate://crates.io/socket2/0.5.7 \ - crate://crates.io/spin/0.9.8 \ - crate://crates.io/syn/2.0.66 \ - crate://crates.io/sync_wrapper/0.1.2 \ - crate://crates.io/tempfile/3.10.1 \ - crate://crates.io/tokio/1.38.0 \ - crate://crates.io/tokio-io-timeout/1.2.0 \ - crate://crates.io/tokio-macros/2.3.0 \ - crate://crates.io/tokio-rustls/0.24.1 \ - crate://crates.io/tokio-stream/0.1.15 \ - crate://crates.io/tokio-util/0.7.11 \ - crate://crates.io/tonic/0.9.2 \ - crate://crates.io/tonic/0.11.0 \ - crate://crates.io/tonic-build/0.11.0 \ - crate://crates.io/tower/0.4.13 \ - crate://crates.io/tower-layer/0.3.2 \ - crate://crates.io/tower-service/0.3.2 \ - crate://crates.io/tracing/0.1.40 \ - crate://crates.io/tracing-attributes/0.1.27 \ - crate://crates.io/tracing-core/0.1.32 \ - crate://crates.io/try-lock/0.2.5 \ - crate://crates.io/unicode-ident/1.0.12 \ - crate://crates.io/untrusted/0.9.0 \ - crate://crates.io/want/0.3.1 \ - crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ - crate://crates.io/windows-sys/0.48.0 \ - crate://crates.io/windows-sys/0.52.0 \ - crate://crates.io/windows-targets/0.48.5 \ - crate://crates.io/windows-targets/0.52.5 \ - crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ - crate://crates.io/windows_aarch64_gnullvm/0.52.5 \ - crate://crates.io/windows_aarch64_msvc/0.48.5 \ - crate://crates.io/windows_aarch64_msvc/0.52.5 \ - crate://crates.io/windows_i686_gnu/0.48.5 \ - crate://crates.io/windows_i686_gnu/0.52.5 \ - crate://crates.io/windows_i686_gnullvm/0.52.5 \ - crate://crates.io/windows_i686_msvc/0.48.5 \ - crate://crates.io/windows_i686_msvc/0.52.5 \ - crate://crates.io/windows_x86_64_gnu/0.48.5 \ - crate://crates.io/windows_x86_64_gnu/0.52.5 \ - crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ - crate://crates.io/windows_x86_64_gnullvm/0.52.5 \ - crate://crates.io/windows_x86_64_msvc/0.48.5 \ - crate://crates.io/windows_x86_64_msvc/0.52.5 \ -" - -SRC_URI[addr2line-0.22.0.sha256sum] = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -SRC_URI[anyhow-1.0.86.sha256sum] = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" -SRC_URI[async-stream-0.3.5.sha256sum] = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -SRC_URI[async-stream-impl-0.3.5.sha256sum] = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -SRC_URI[async-trait-0.1.80.sha256sum] = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -SRC_URI[autotools-0.2.7.sha256sum] = "ef941527c41b0fc0dd48511a8154cd5fc7e29200a0ff8b7203c5d777dbc795cf" -SRC_URI[axum-0.6.20.sha256sum] = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -SRC_URI[axum-core-0.3.4.sha256sum] = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -SRC_URI[backtrace-0.3.72.sha256sum] = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" -SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -SRC_URI[bytes-1.6.0.sha256sum] = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" -SRC_URI[cc-1.0.98.sha256sum] = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[either-1.12.0.sha256sum] = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" -SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" -SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -SRC_URI[futures-channel-0.3.30.sha256sum] = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -SRC_URI[futures-core-0.3.30.sha256sum] = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" -SRC_URI[futures-sink-0.3.30.sha256sum] = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" -SRC_URI[futures-task-0.3.30.sha256sum] = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" -SRC_URI[futures-util-0.3.30.sha256sum] = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -SRC_URI[gimli-0.29.0.sha256sum] = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" -SRC_URI[h2-0.3.26.sha256sum] = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -SRC_URI[http-0.2.12.sha256sum] = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -SRC_URI[http-body-0.4.6.sha256sum] = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -SRC_URI[httparse-1.8.0.sha256sum] = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -SRC_URI[httpdate-1.0.3.sha256sum] = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -SRC_URI[hyper-0.14.29.sha256sum] = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" -SRC_URI[hyper-timeout-0.4.1.sha256sum] = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -SRC_URI[indexmap-2.2.6.sha256sum] = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -SRC_URI[log-0.4.21.sha256sum] = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" -SRC_URI[matchit-0.7.3.sha256sum] = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" -SRC_URI[memchr-2.7.2.sha256sum] = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" -SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -SRC_URI[miniz_oxide-0.7.3.sha256sum] = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" -SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -SRC_URI[multimap-0.10.0.sha256sum] = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" -SRC_URI[object-0.35.0.sha256sum] = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" -SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -SRC_URI[petgraph-0.6.5.sha256sum] = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -SRC_URI[pin-project-1.1.5.sha256sum] = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -SRC_URI[pin-project-internal-1.1.5.sha256sum] = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -SRC_URI[pin-project-lite-0.2.14.sha256sum] = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" -SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -SRC_URI[prettyplease-0.2.20.sha256sum] = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -SRC_URI[proc-macro2-1.0.85.sha256sum] = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -SRC_URI[prost-0.12.6.sha256sum] = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -SRC_URI[prost-build-0.12.6.sha256sum] = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -SRC_URI[prost-derive-0.12.6.sha256sum] = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -SRC_URI[prost-types-0.12.6.sha256sum] = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -SRC_URI[protobuf-src-1.1.0+21.5.sha256sum] = "c7ac8852baeb3cc6fb83b93646fb93c0ffe5d14bf138c945ceb4b9948ee0e3c1" -SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -SRC_URI[regex-automata-0.4.6.sha256sum] = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -SRC_URI[regex-syntax-0.8.3.sha256sum] = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" -SRC_URI[ring-0.17.8.sha256sum] = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -SRC_URI[rustc-demangle-0.1.24.sha256sum] = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -SRC_URI[rustls-0.21.12.sha256sum] = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -SRC_URI[rustls-pemfile-1.0.4.sha256sum] = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -SRC_URI[rustls-webpki-0.101.7.sha256sum] = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -SRC_URI[rustversion-1.0.17.sha256sum] = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" -SRC_URI[sct-0.7.1.sha256sum] = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -SRC_URI[serde-1.0.203.sha256sum] = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" -SRC_URI[serde_derive-1.0.203.sha256sum] = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" -SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -SRC_URI[socket2-0.5.7.sha256sum] = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -SRC_URI[syn-2.0.66.sha256sum] = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -SRC_URI[sync_wrapper-0.1.2.sha256sum] = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -SRC_URI[tempfile-3.10.1.sha256sum] = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -SRC_URI[tokio-1.38.0.sha256sum] = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" -SRC_URI[tokio-io-timeout-1.2.0.sha256sum] = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -SRC_URI[tokio-macros-2.3.0.sha256sum] = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" -SRC_URI[tokio-rustls-0.24.1.sha256sum] = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -SRC_URI[tokio-stream-0.1.15.sha256sum] = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -SRC_URI[tokio-util-0.7.11.sha256sum] = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -SRC_URI[tonic-0.9.2.sha256sum] = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" -SRC_URI[tonic-0.11.0.sha256sum] = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" -SRC_URI[tonic-build-0.11.0.sha256sum] = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" -SRC_URI[tower-0.4.13.sha256sum] = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -SRC_URI[tower-layer-0.3.2.sha256sum] = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" -SRC_URI[tower-service-0.3.2.sha256sum] = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" -SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -SRC_URI[try-lock-0.2.5.sha256sum] = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -SRC_URI[windows-targets-0.52.5.sha256sum] = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" -SRC_URI[windows_aarch64_gnullvm-0.52.5.sha256sum] = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" -SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" -SRC_URI[windows_aarch64_msvc-0.52.5.sha256sum] = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" -SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" -SRC_URI[windows_i686_gnu-0.52.5.sha256sum] = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" -SRC_URI[windows_i686_gnullvm-0.52.5.sha256sum] = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" -SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" -SRC_URI[windows_i686_msvc-0.52.5.sha256sum] = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" -SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" -SRC_URI[windows_x86_64_gnu-0.52.5.sha256sum] = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" -SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" -SRC_URI[windows_x86_64_gnullvm-0.52.5.sha256sum] = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" -SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" -SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker/0001-Remove-protobuf-src-usage.patch b/recipes-connectivity/kuksa-val/kuksa-databroker/0001-Remove-protobuf-src-usage.patch deleted file mode 100644 index c6c2381d..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-databroker/0001-Remove-protobuf-src-usage.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 953c80a2acc2bbb882a2dcbbbf0eae7098cbd1fa Mon Sep 17 00:00:00 2001 -From: Scott Murray <scott.murray@konsulko.com> -Date: Tue, 18 Jun 2024 15:53:46 -0400 -Subject: [PATCH] Remove protobuf-src usage - -The vendoring of a protoc and libprotobuf build that was added in -commit 890703c9 by using protobuf-src is not really workable with -OpenEmbedded / Yocto Project, and somewhat undesirable for any -distribution package builds when it comes to transparency and -reproducibility. Remove it so that building in OE/YP will work. - -Upstream-Status: Pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> ---- - Cargo.lock | 19 ------------------- - databroker-proto/Cargo.toml | 1 - - databroker-proto/build.rs | 1 - - lib/Cargo.lock | 19 ------------------- - 4 files changed, 40 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index eb212b0..fdce813 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -162,15 +162,6 @@ version = "1.3.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - --[[package]] --name = "autotools" --version = "0.2.7" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ef941527c41b0fc0dd48511a8154cd5fc7e29200a0ff8b7203c5d777dbc795cf" --dependencies = [ -- "cc", --] -- - [[package]] - name = "axum" - version = "0.6.20" -@@ -650,7 +641,6 @@ version = "0.4.5" - dependencies = [ - "prost", - "prost-types", -- "protobuf-src", - "tonic", - "tonic-build", - ] -@@ -2322,15 +2312,6 @@ dependencies = [ - "prost", - ] - --[[package]] --name = "protobuf-src" --version = "1.1.0+21.5" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c7ac8852baeb3cc6fb83b93646fb93c0ffe5d14bf138c945ceb4b9948ee0e3c1" --dependencies = [ -- "autotools", --] -- - [[package]] - name = "quote" - version = "1.0.36" -diff --git a/databroker-proto/Cargo.toml b/databroker-proto/Cargo.toml -index 9d548b2..2f4a7f1 100644 ---- a/databroker-proto/Cargo.toml -+++ b/databroker-proto/Cargo.toml -@@ -25,4 +25,3 @@ prost-types = { workspace = true } - - [build-dependencies] - tonic-build = { workspace = true, features = ["transport", "prost"] } --protobuf-src = "1.1.0" -diff --git a/databroker-proto/build.rs b/databroker-proto/build.rs -index d02a006..d3a70ac 100644 ---- a/databroker-proto/build.rs -+++ b/databroker-proto/build.rs -@@ -12,7 +12,6 @@ - ********************************************************************************/ - - fn main() -> Result<(), Box<dyn std::error::Error>> { -- std::env::set_var("PROTOC", protobuf_src::protoc()); - tonic_build::configure() - .compile_well_known_types(false) - .protoc_arg("--experimental_allow_proto3_optional") -diff --git a/lib/Cargo.lock b/lib/Cargo.lock -index 5ba0b78..7dc93f3 100644 ---- a/lib/Cargo.lock -+++ b/lib/Cargo.lock -@@ -71,15 +71,6 @@ version = "1.3.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - --[[package]] --name = "autotools" --version = "0.2.7" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ef941527c41b0fc0dd48511a8154cd5fc7e29200a0ff8b7203c5d777dbc795cf" --dependencies = [ -- "cc", --] -- - [[package]] - name = "axum" - version = "0.6.20" -@@ -182,7 +173,6 @@ version = "0.4.5" - dependencies = [ - "prost", - "prost-types", -- "protobuf-src", - "tonic 0.11.0", - "tonic-build", - ] -@@ -663,15 +653,6 @@ dependencies = [ - "prost", - ] - --[[package]] --name = "protobuf-src" --version = "1.1.0+21.5" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c7ac8852baeb3cc6fb83b93646fb93c0ffe5d14bf138c945ceb4b9948ee0e3c1" --dependencies = [ -- "autotools", --] -- - [[package]] - name = "quote" - version = "1.0.36" --- -2.44.0 - diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker/kuksa-databroker.service b/recipes-connectivity/kuksa-val/kuksa-databroker/kuksa-databroker.service deleted file mode 100644 index 04e81992..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-databroker/kuksa-databroker.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Eclipse KUKSA.val databroker -After=network.target - -[Service] -User=kuksa -EnvironmentFile=-/etc/default/kuksa-databroker -ExecStart=/usr/bin/databroker $EXTRA_ARGS -Restart=on-abort - -[Install] -WantedBy=multi-user.target diff --git a/recipes-connectivity/kuksa-val/kuksa-databroker_git.bb b/recipes-connectivity/kuksa-val/kuksa-databroker_git.bb deleted file mode 100644 index 376e6a66..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-databroker_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "KUKSA.val databroker, the KUKSA Vehicle Abstraction Layer" -#DESCRIPTION = "KUKSA.val provides a COVESA VSS data model describing data in a vehicle." -HOMEPAGE = "https://github.com/eclipse/kuksa.val" -BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ -" - -DEPENDS = "protobuf-native grpc-native" - -PV = "0.4.5+git${SRCPV}" - -SRC_URI = "git://github.com/eclipse-kuksa/kuksa-databroker.git;protocol=https;branch=main \ - file://0001-Remove-protobuf-src-usage.patch \ - file://kuksa-databroker.service \ -" -SRCREV = "8eb7d1a36ccdbec18f742bcecddf8691cb57df46" - -require ${BPN}-crates.inc - -S = "${WORKDIR}/git" - -inherit cargo cargo-update-recipe-crates systemd useradd - -# Enable optional VISS support for potential use by e.g. the web apps -CARGO_BUILD_FLAGS += "--features viss" - -SYSTEMD_SERVICE:${PN} = "${BPN}.service" - -USERADD_PACKAGES = "${PN}" -USERADDEXTENSION = "useradd-staticids" -GROUPADD_PARAM:${PN} = "-g 900 kuksa ;" -USERADD_PARAM:${PN} = "--system -g 900 -u 900 -o -d / --shell /bin/nologin kuksa ;" - -do_install:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir} - fi - - # Install gRPC API protobuf files - install -d ${D}${includedir} - cp -dr ${S}/proto/* ${D}${includedir}/ -} - -PACKAGE_BEFORE_PN += "${PN}-cli" - -FILES:${PN} += "${systemd_system_unitdir} ${datadir}" - -FILES:${PN}-cli = "${bindir}/databroker-cli" - -# The upstream Cargo.toml builds optimized and stripped binaries, for -# now disable the QA check as opposed to tweaking the configuration. -INSANE_SKIP:${PN} = "already-stripped" -INSANE_SKIP:${PN}-cli = "already-stripped" diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb deleted file mode 100644 index 17e9e3c9..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "AGL cluster demo configuration for KUKSA.val, the KUKSA Vehicle Abstraction Layer" -HOMEPAGE = "https://github.com/eclipse/kuksa.val" -BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -SRC_URI = "file://kuksa-val.env" - -inherit allarch update-alternatives - -do_install() { - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/kuksa-val.env ${D}${sysconfdir}/default/kuksa-val.agl-demo-cluster-support -} - -ALTERNATIVE:${PN} = "kuksa-val-env" -ALTERNATIVE_LINK_NAME[kuksa-val-env] = "${sysconfdir}/default/kuksa-val" -ALTERNATIVE_TARGET[kuksa-val-env] = "${sysconfdir}/default/kuksa-val.agl-demo-cluster-support" -ALTERNATIVE_PRIORITY[kuksa-val-env] = "20" - -RDEPENDS:${PN} += "kuksa-certificates-agl-client" diff --git a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env b/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env deleted file mode 100644 index f5ea757e..00000000 --- a/recipes-connectivity/kuksa-val/kuksa-val-agl-demo-cluster/kuksa-val.env +++ /dev/null @@ -1 +0,0 @@ -EXTRA_ARGS="--vss /usr/share/vss/vss.json --address 0.0.0.0" diff --git a/recipes-connectivity/vss/vss-agl_4.2.bb b/recipes-connectivity/vss/vss-agl_4.2.bb index 4423a980..981ba164 100644 --- a/recipes-connectivity/vss/vss-agl_4.2.bb +++ b/recipes-connectivity/vss/vss-agl_4.2.bb @@ -6,7 +6,7 @@ DEPENDS = "vss-tools-native" inherit allarch update-alternatives -require vss.inc +require recipes-support/vss/vss.inc SRC_URI += "file://agl_vss_overlay.vspec \ file://agl_vss_overlay.vspec.control-panel \ diff --git a/recipes-connectivity/vss/vss-tools_4.2.bb b/recipes-connectivity/vss/vss-tools_4.2.bb deleted file mode 100644 index 62f78f07..00000000 --- a/recipes-connectivity/vss/vss-tools_4.2.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "COVESA Vehicle Signal Specification tooling." -HOMEPAGE = "https://github.com/COVESA/vss-tools" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3" - -SRC_URI = "git://github.com/COVESA/vss-tools.git;protocol=https;branch=release/4.2" -SRCREV = "b350788d6dd16942e987fdb9e8b8b3b403fe23c6" - -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS:${PN} += " \ - python3-core \ - python3-ctypes \ - python3-email \ - python3-importlib-metadata \ - python3-json \ - python3-logging \ - python3-netclient \ - python3-pkg-resources \ - python3-anytree \ - python3-deprecation \ - python3-graphql-core \ - python3-pyyaml \ - python3-six \ -" - -BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-connectivity/vss/vss.inc b/recipes-connectivity/vss/vss.inc deleted file mode 100644 index aab950be..00000000 --- a/recipes-connectivity/vss/vss.inc +++ /dev/null @@ -1,5 +0,0 @@ -SRC_URI = "git://github.com/COVESA/vehicle_signal_specification.git;branch=release/4.2;protocol=https" -# v4.2 -SRCREV = "6024c4b29065b37c074649a1a65396b9d4de9b55" - -S = "${WORKDIR}/git" diff --git a/recipes-connectivity/vss/vss_4.2.bb b/recipes-connectivity/vss/vss_4.2.bb deleted file mode 100644 index 05351662..00000000 --- a/recipes-connectivity/vss/vss_4.2.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Vehicle Signal Specification" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3" - -DEPENDS = "vss-tools-native" - -inherit allarch update-alternatives - -require vss.inc - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -do_configure[noexec] = "1" - -EXTRA_OEMAKE = "TOOLSDIR=${STAGING_BINDIR_NATIVE}" - -do_compile() { - oe_runmake json -} - -do_install() { - # Cannot use the "install" target in the project Makefile, as it is - # intended for setting the repo up for builds. - # For now, just the generated JSON is installed. It is possible that - # installing the vspec files somewhere as a development package may - # be useful, but for now things will be kept simple. - install -d ${D}${datadir}/vss - install -m 0644 ${S}/vss_rel_${PV}.json ${D}${datadir}/vss/ -} - -# NOTE: -# A virtual RPROVIDES is not used for now, as packages such as KUKSA.val -# provide their own copies of the VSS JSON, so we can install this one -# and any alternatives in parallel and point e.g. KUKSA.val at the desired -# file with a configuration change. This may be worth revisiting down the -# road. - -ALTERNATIVE_LINK_NAME[vss.json] = "${datadir}/vss/vss.json" - -ALTERNATIVE:${PN} = "vss.json" -ALTERNATIVE_TARGET_${PN} = "${datadir}/vss/vss_rel_${PV}.json" |