Merge ~mitchdz/ubuntu/+source/rabbitmq-server:mitch/rabbitmq-server-jammy-MRE into ubuntu/+source/rabbitmq-server:ubuntu/jammy-devel
- Git
- lp:~mitchdz/ubuntu/+source/rabbitmq-server
- mitch/rabbitmq-server-jammy-MRE
- Merge into ubuntu/jammy-devel
Status: | Approved | ||||||||
---|---|---|---|---|---|---|---|---|---|
Approved by: | git-ubuntu bot | ||||||||
Approved revision: | not available | ||||||||
Proposed branch: | ~mitchdz/ubuntu/+source/rabbitmq-server:mitch/rabbitmq-server-jammy-MRE | ||||||||
Merge into: | ubuntu/+source/rabbitmq-server:ubuntu/jammy-devel | ||||||||
Diff against target: |
400822 lines (+209315/-166633) 763 files modified
.bazelignore (+1/-0) .bazelrc (+28/-27) BUILD.bats (+4/-1) BUILD.bazel (+230/-109) BUILD.inet_tcp_proxy (+4/-4) BUILD.jose (+10/-0) BUILD.osiris (+33/-0) BUILD.ranch (+20/-25) CONTRIBUTING.md (+16/-1) MODULE.bazel (+420/-0) Makefile (+18/-5) README.md (+13/-8) WORKSPACE (+197/-0) bazel/bzlmod/BUILD.bazel (+0/-0) bazel/bzlmod/extensions.bzl (+139/-0) bazel/bzlmod/secondary_umbrella.bzl (+33/-0) bazel/elixir/BUILD.bazel (+14/-0) bazel/elixir/elixir.bzl (+147/-0) bazel/elixir/elixir_as_app.bzl (+42/-0) bazel/elixir/elixir_build.bzl (+171/-0) bazel/elixir/elixir_toolchain.bzl (+65/-0) bazel/elixir/iex_eval.bzl (+70/-0) bazel/platforms/BUILD.bazel (+48/-0) bazel/repositories/BUILD.bazel (+0/-0) bazel/repositories/BUILD_external.tpl (+34/-0) bazel/repositories/BUILD_internal.tpl (+36/-0) bazel/repositories/defaults.bzl.tpl (+6/-0) bazel/repositories/elixir_config.bzl (+233/-0) bazel/secondary-umbrella.patch (+13/-0) debian/changelog (+42/-0) debian/patches/CVE-2023-46118-1.patch (+2/-2) debian/patches/CVE-2023-46118-2.patch (+2/-2) debian/patches/downgrade_elixir.patch (+11/-0) debian/patches/lets-use-python3-not-python-binary.patch (+21/-62) debian/patches/max-ports-compat.patch (+32/-0) debian/patches/rabbitmq-dist.mk.patch (+3/-6) debian/patches/series (+4/-3) debian/rabbitmq-server.service (+5/-0) debian/tests/control (+20/-0) debian/tests/hello-world (+99/-0) debian/tests/publish-subscribe (+48/-0) debian/tests/rpc (+119/-0) debian/tests/smoke-test (+0/-4) debian/tests/work-queue (+117/-0) debian/upstream/signing-key.asc (+52/-0) debian/watch (+3/-2) deps/.hex/cache.erl (+1/-1) deps/.mix/archives/hex-2.0.0/hex-2.0.0/.elixir (+1/-0) deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/hex.app (+45/-15) deps/amqp10_client/BUILD.bazel (+34/-22) deps/amqp10_client/CODE_OF_CONDUCT.md (+1/-0) deps/amqp10_client/CONTRIBUTING.md (+1/-0) deps/amqp10_client/Makefile (+31/-7) deps/amqp10_client/README.md (+2/-2) deps/amqp10_client/erlang.mk (+8373/-0) deps/amqp10_client/rabbitmq-components.mk (+1/-0) deps/amqp10_client/src/amqp10_client_connection.erl (+1/-1) deps/amqp10_client/src/amqp10_client_frame_reader.erl (+1/-1) deps/amqp10_common/BUILD.bazel (+28/-52) deps/amqp10_common/CODE_OF_CONDUCT.md (+1/-0) deps/amqp10_common/CONTRIBUTING.md (+1/-0) deps/amqp10_common/Makefile (+36/-17) deps/amqp10_common/development.post.mk (+1/-1) deps/amqp10_common/erlang.mk (+8373/-0) deps/amqp10_common/rabbitmq-components.mk (+1/-0) deps/amqp10_common/src/amqp10_binary_parser.erl (+112/-6) deps/amqp10_common/src/amqp10_framing.erl (+1/-6) deps/amqp_client/BUILD.bazel (+33/-20) deps/amqp_client/CODE_OF_CONDUCT.md (+1/-0) deps/amqp_client/CONTRIBUTING.md (+1/-0) deps/amqp_client/Makefile (+21/-159) deps/amqp_client/erlang.mk (+8373/-0) deps/amqp_client/rabbitmq-components.mk (+1/-0) deps/aten/rebar.config (+0/-1) deps/aten/src/aten.app.src (+1/-1) deps/aten/src/aten_sink.erl (+4/-14) deps/credentials_obfuscation/README.md (+10/-2) deps/credentials_obfuscation/rebar.config (+3/-3) deps/credentials_obfuscation/src/credentials_obfuscation.app.src (+1/-1) deps/credentials_obfuscation/src/credentials_obfuscation.erl (+12/-5) deps/credentials_obfuscation/src/credentials_obfuscation_app.erl (+1/-1) deps/credentials_obfuscation/src/credentials_obfuscation_pbe.erl (+3/-3) deps/credentials_obfuscation/src/credentials_obfuscation_sup.erl (+1/-1) deps/credentials_obfuscation/src/credentials_obfuscation_svc.erl (+75/-20) deps/eetcd/README.md (+291/-284) deps/eetcd/include/eetcd.hrl (+37/-37) deps/eetcd/priv/protos/auth.proto (+42/-42) deps/eetcd/priv/protos/kv.proto (+48/-48) deps/eetcd/priv/protos/router.proto (+1146/-1146) deps/eetcd/rebar.config (+45/-30) deps/eetcd/rebar.lock (+5/-2) deps/eetcd/src/clients/eetcd_auth_gen.erl (+124/-124) deps/eetcd/src/clients/eetcd_cluster_gen.erl (+47/-47) deps/eetcd/src/clients/eetcd_election_gen.erl (+47/-47) deps/eetcd/src/clients/eetcd_health_gen.erl (+26/-26) deps/eetcd/src/clients/eetcd_kv_gen.erl (+47/-47) deps/eetcd/src/clients/eetcd_lease_gen.erl (+47/-47) deps/eetcd/src/clients/eetcd_lock_gen.erl (+26/-26) deps/eetcd/src/clients/eetcd_maintenance_gen.erl (+61/-61) deps/eetcd/src/clients/eetcd_watch_gen.erl (+19/-19) deps/eetcd/src/eetcd.app.src (+1/-1) deps/eetcd/src/eetcd.erl (+137/-119) deps/eetcd/src/eetcd_app.erl (+13/-13) deps/eetcd/src/eetcd_auth.erl (+361/-361) deps/eetcd/src/eetcd_cluster.erl (+151/-151) deps/eetcd/src/eetcd_compare.erl (+60/-60) deps/eetcd/src/eetcd_conn.erl (+600/-462) deps/eetcd/src/eetcd_conn_sup.erl (+44/-44) deps/eetcd/src/eetcd_data_coercion.erl (+17/-17) deps/eetcd/src/eetcd_election.erl (+318/-308) deps/eetcd/src/eetcd_grpc.erl (+57/-58) deps/eetcd/src/eetcd_kv.erl (+368/-368) deps/eetcd/src/eetcd_lease.erl (+278/-278) deps/eetcd/src/eetcd_lease_sup.erl (+38/-38) deps/eetcd/src/eetcd_lock.erl (+60/-60) deps/eetcd/src/eetcd_maintenance.erl (+104/-97) deps/eetcd/src/eetcd_op.erl (+14/-14) deps/eetcd/src/eetcd_stream.erl (+154/-152) deps/eetcd/src/eetcd_sup.erl (+47/-47) deps/eetcd/src/eetcd_watch.erl (+371/-259) deps/eetcd/src/protos/auth_pb.erl (+29983/-29983) deps/eetcd/src/protos/gogo_pb.erl (+28734/-28734) deps/eetcd/src/protos/health_pb.erl (+1143/-1143) deps/eetcd/src/protos/kv_pb.erl (+29658/-29658) deps/eetcd/src/protos/router_pb.erl (+64412/-64412) deps/elvis_mk/CHANGELOG.md (+17/-0) deps/elvis_mk/README.md (+16/-2) deps/elvis_mk/plugins.mk (+27/-8) deps/elvis_mk/rebar3.sh (+12/-0) deps/gen_batch_server/rebar.config (+1/-2) deps/gen_batch_server/src/gen_batch_server.app.src (+1/-1) deps/gen_batch_server/src/gen_batch_server.erl (+23/-17) deps/observer_cli/README.md (+315/-311) deps/observer_cli/include/observer_cli.hrl (+108/-108) deps/observer_cli/mix.exs (+1/-1) deps/observer_cli/src/observer_cli.app.src (+1/-1) deps/observer_cli/src/observer_cli_application.erl (+242/-242) deps/observer_cli/src/observer_cli_lib.erl (+472/-472) deps/observer_cli/src/observer_cli_mnesia.erl (+1/-1) deps/observer_cli/src/observer_cli_plugin.erl (+392/-392) deps/observer_cli/src/observer_cli_process.erl (+464/-462) deps/observer_cli/src/observer_cli_system.erl (+3/-3) deps/osiris/BUILD.bazel (+21/-14) deps/osiris/Makefile (+4/-4) deps/osiris/README.md (+1/-1) deps/osiris/WORKSPACE.bazel (+13/-14) deps/osiris/src/osiris.erl (+7/-6) deps/osiris/src/osiris.hrl (+1/-1) deps/osiris/src/osiris_app.erl (+1/-1) deps/osiris/src/osiris_bench.erl (+59/-30) deps/osiris/src/osiris_counters.erl (+1/-1) deps/osiris/src/osiris_log.erl (+26/-10) deps/osiris/src/osiris_peer_shim.hrl (+12/-0) deps/osiris/src/osiris_replica.erl (+114/-102) deps/osiris/src/osiris_replica_reader.erl (+13/-10) deps/osiris/src/osiris_replica_reader_sup.erl (+1/-1) deps/osiris/src/osiris_retention.erl (+1/-1) deps/osiris/src/osiris_server_sup.erl (+2/-2) deps/osiris/src/osiris_sup.erl (+1/-1) deps/osiris/src/osiris_util.erl (+28/-3) deps/osiris/src/osiris_writer.erl (+11/-10) deps/prometheus/README.md (+1/-1) deps/prometheus/bin/increment-version (+1/-1) deps/prometheus/mix.exs (+1/-1) deps/prometheus/rebar.config (+1/-1) deps/prometheus/src/collectors/mnesia/prometheus_mnesia_collector.erl (+17/-9) deps/prometheus/src/collectors/vm/prometheus_vm_dist_collector.erl (+22/-18) deps/prometheus/src/collectors/vm/prometheus_vm_statistics_collector.erl (+3/-3) deps/prometheus/src/prometheus.app.src (+1/-1) deps/ra/Makefile (+2/-2) deps/ra/README.md (+80/-14) deps/ra/rebar.config (+2/-3) deps/ra/rebar.lock (+6/-6) deps/ra/src/ra.app.src (+1/-1) deps/ra/src/ra.erl (+49/-20) deps/ra/src/ra.hrl (+10/-1) deps/ra/src/ra_app.erl (+1/-1) deps/ra/src/ra_bench.erl (+74/-32) deps/ra/src/ra_counters.erl (+1/-15) deps/ra/src/ra_dbg.erl (+1/-1) deps/ra/src/ra_directory.erl (+3/-6) deps/ra/src/ra_env.erl (+1/-1) deps/ra/src/ra_file_handle.erl (+6/-3) deps/ra/src/ra_flru.erl (+1/-1) deps/ra/src/ra_leaderboard.erl (+1/-1) deps/ra/src/ra_lib.erl (+87/-3) deps/ra/src/ra_log.erl (+128/-35) deps/ra/src/ra_log_ets.erl (+10/-4) deps/ra/src/ra_log_meta.erl (+4/-4) deps/ra/src/ra_log_pre_init.erl (+3/-1) deps/ra/src/ra_log_reader.erl (+120/-26) deps/ra/src/ra_log_segment.erl (+123/-28) deps/ra/src/ra_log_segment_writer.erl (+40/-16) deps/ra/src/ra_log_snapshot.erl (+1/-3) deps/ra/src/ra_log_sup.erl (+6/-2) deps/ra/src/ra_log_wal.erl (+168/-108) deps/ra/src/ra_log_wal_sup.erl (+1/-27) deps/ra/src/ra_machine.erl (+5/-1) deps/ra/src/ra_machine_ets.erl (+1/-3) deps/ra/src/ra_machine_simple.erl (+1/-1) deps/ra/src/ra_metrics_ets.erl (+1/-3) deps/ra/src/ra_monitors.erl (+1/-1) deps/ra/src/ra_server.erl (+99/-52) deps/ra/src/ra_server.hrl (+1/-1) deps/ra/src/ra_server_proc.erl (+101/-56) deps/ra/src/ra_server_sup.erl (+1/-2) deps/ra/src/ra_server_sup_sup.erl (+2/-1) deps/ra/src/ra_snapshot.erl (+4/-2) deps/ra/src/ra_sup.erl (+1/-1) deps/ra/src/ra_system.erl (+12/-4) deps/ra/src/ra_system_sup.erl (+1/-1) deps/ra/src/ra_systems_sup.erl (+1/-1) deps/rabbit/BUILD.bazel (+105/-121) deps/rabbit/CODE_OF_CONDUCT.md (+1/-0) deps/rabbit/CONTRIBUTING.md (+1/-0) deps/rabbit/Makefile (+10/-9) deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel (+24/-15) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_logger_fmt_helpers.erl (+3/-3) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_logger_json_fmt.erl (+2/-2) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_logger_text_fmt.erl (+10/-0) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_conf.erl (+33/-16) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_dist.erl (+20/-0) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl (+19/-5) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_erlang_compat.erl (+2/-2) deps/rabbit/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_file.erl (+95/-0) deps/rabbit/docs/rabbitmq-diagnostics.8 (+4/-4) deps/rabbit/docs/rabbitmqctl.8 (+92/-13) deps/rabbit/priv/schema/rabbit.schema (+126/-2) deps/rabbit/scripts/rabbitmq-env (+14/-3) deps/rabbit/scripts/rabbitmq-server (+1/-5) deps/rabbit/scripts/rabbitmq-server.bat (+1/-0) deps/rabbit/scripts/rabbitmq-service.bat (+1/-0) deps/rabbit/src/rabbit.erl (+27/-28) deps/rabbit/src/rabbit_amqqueue.erl (+8/-1) deps/rabbit/src/rabbit_amqqueue_process.erl (+1/-2) deps/rabbit/src/rabbit_auth_backend_internal.erl (+6/-6) deps/rabbit/src/rabbit_basic.erl (+25/-13) deps/rabbit/src/rabbit_binding.erl (+1/-4) deps/rabbit/src/rabbit_channel.erl (+49/-62) deps/rabbit/src/rabbit_channel_tracking.erl (+1/-1) deps/rabbit/src/rabbit_classic_queue.erl (+12/-7) deps/rabbit/src/rabbit_connection_tracking.erl (+1/-1) deps/rabbit/src/rabbit_definitions.erl (+75/-25) deps/rabbit/src/rabbit_direct_reply_to.erl (+14/-13) deps/rabbit/src/rabbit_disk_monitor.erl (+104/-32) deps/rabbit/src/rabbit_exchange.erl (+6/-3) deps/rabbit/src/rabbit_feature_flags.erl (+2/-2) deps/rabbit/src/rabbit_fifo_client.erl (+5/-2) deps/rabbit/src/rabbit_logger_exchange_h.erl (+7/-2) deps/rabbit/src/rabbit_maintenance.erl (+40/-7) deps/rabbit/src/rabbit_mirror_queue_misc.erl (+33/-1) deps/rabbit/src/rabbit_msg_record.erl (+8/-23) deps/rabbit/src/rabbit_networking.erl (+37/-1) deps/rabbit/src/rabbit_node_monitor.erl (+0/-4) deps/rabbit/src/rabbit_osiris_metrics.erl (+2/-2) deps/rabbit/src/rabbit_policies.erl (+1/-1) deps/rabbit/src/rabbit_policy.erl (+26/-7) deps/rabbit/src/rabbit_prelaunch_logging.erl (+93/-57) deps/rabbit/src/rabbit_priority_queue.erl (+6/-1) deps/rabbit/src/rabbit_queue_type.erl (+10/-1) deps/rabbit/src/rabbit_quorum_queue.erl (+10/-4) deps/rabbit/src/rabbit_ra_systems.erl (+89/-0) deps/rabbit/src/rabbit_reader.erl (+0/-5) deps/rabbit/src/rabbit_release_series.erl (+39/-0) deps/rabbit/src/rabbit_runtime_parameters.erl (+1/-1) deps/rabbit/src/rabbit_stream_coordinator.erl (+227/-25) deps/rabbit/src/rabbit_stream_coordinator.hrl (+13/-8) deps/rabbit/src/rabbit_stream_queue.erl (+83/-21) deps/rabbit/src/rabbit_vhost_process.erl (+0/-4) deps/rabbit_common/BUILD.bazel (+40/-111) deps/rabbit_common/CODE_OF_CONDUCT.md (+1/-0) deps/rabbit_common/CONTRIBUTING.md (+1/-0) deps/rabbit_common/Makefile (+24/-12) deps/rabbit_common/development.post.mk (+1/-1) deps/rabbit_common/erlang.mk (+8373/-0) deps/rabbit_common/include/rabbit.hrl (+4/-0) deps/rabbit_common/mk/rabbitmq-components.hexpm.mk (+2/-0) deps/rabbit_common/mk/rabbitmq-dist.mk (+3/-2) deps/rabbit_common/mk/rabbitmq-early-test.mk (+1/-1) deps/rabbit_common/mk/rabbitmq-hexpm.mk (+8/-12) deps/rabbit_common/mk/rabbitmq-run.mk (+1/-6) deps/rabbit_common/rabbitmq-components.mk (+1/-0) deps/rabbit_common/src/file_handle_cache_stats.erl (+1/-1) deps/rabbit_common/src/rabbit_core_metrics.erl (+1/-1) deps/rabbit_common/src/rabbit_data_coercion.erl (+6/-5) deps/rabbit_common/src/rabbit_date_time.erl (+73/-0) deps/rabbit_common/src/rabbit_env.erl (+8/-7) deps/rabbit_common/src/rabbit_event.erl (+4/-11) deps/rabbit_common/src/rabbit_json.erl (+23/-5) deps/rabbit_common/src/rabbit_misc.erl (+9/-0) deps/rabbit_common/src/rabbit_net.erl (+65/-2) deps/rabbit_common/src/rabbit_nodes_common.erl (+4/-0) deps/rabbit_common/src/rabbit_writer.erl (+1/-1) deps/rabbit_common/src/supervisor2.erl (+30/-11) deps/rabbit_common/src/vm_memory_monitor.erl (+19/-4) deps/rabbitmq_amqp1_0/BUILD.bazel (+28/-16) deps/rabbitmq_amqp1_0/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_amqp1_0/CONTRIBUTING.md (+1/-0) deps/rabbitmq_amqp1_0/Makefile (+0/-6) deps/rabbitmq_amqp1_0/include/rabbit_amqp1_0.hrl (+2/-2) deps/rabbitmq_amqp1_0/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListAmqp10ConnectionsCommand.erl (+0/-9) deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_reader.erl (+7/-4) deps/rabbitmq_amqp1_0/src/rabbit_amqp1_0_session_process.erl (+0/-4) deps/rabbitmq_auth_backend_cache/BUILD.bazel (+16/-15) deps/rabbitmq_auth_backend_cache/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_auth_backend_cache/CONTRIBUTING.md (+1/-0) deps/rabbitmq_auth_backend_cache/Makefile (+0/-6) deps/rabbitmq_auth_backend_cache/README.md (+1/-1) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_backend_cache_app.erl (+1/-1) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache.erl (+0/-13) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_dict.erl (+1/-1) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets.erl (+1/-1) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented.erl (+4/-3) deps/rabbitmq_auth_backend_cache/src/rabbit_auth_cache_ets_segmented_stateless.erl (+5/-4) deps/rabbitmq_auth_backend_http/BUILD.bazel (+14/-11) deps/rabbitmq_auth_backend_http/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_auth_backend_http/CONTRIBUTING.md (+1/-0) deps/rabbitmq_auth_backend_http/Makefile (+0/-6) deps/rabbitmq_auth_backend_http/README.md (+5/-0) deps/rabbitmq_auth_backend_http/examples/README.md (+24/-9) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/rabbitmq_auth_backend_django/urls.py (+6/-6) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/Controllers/AuthController.cs (+6/-8) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/Program.cs (+23/-14) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/Properties/launchSettings.json (+11/-11) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/RabbitMqAuthBackendHttp.csproj (+3/-9) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/RabbitMqAuthBackendHttp.sln (+9/-21) deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_webapi_dotnetcore/Requests/VhostAuthRequest.cs (+0/-1) deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl (+2/-5) deps/rabbitmq_auth_backend_ldap/BUILD.bazel (+11/-8) deps/rabbitmq_auth_backend_ldap/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_auth_backend_ldap/CONTRIBUTING.md (+1/-0) deps/rabbitmq_auth_backend_ldap/Makefile (+0/-6) deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap.erl (+49/-17) deps/rabbitmq_auth_backend_ldap/src/rabbit_auth_backend_ldap_app.erl (+1/-1) deps/rabbitmq_auth_backend_oauth2/BUILD.bazel (+30/-21) deps/rabbitmq_auth_backend_oauth2/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_auth_backend_oauth2/CONTRIBUTING.md (+1/-0) deps/rabbitmq_auth_backend_oauth2/Makefile (+0/-6) deps/rabbitmq_auth_backend_oauth2/priv/schema/rabbitmq_auth_backend_oauth2.schema (+3/-3) deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl (+1/-5) deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl (+11/-11) deps/rabbitmq_auth_backend_oauth2/src/uaa_jwt_jwt.erl (+0/-4) deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel (+15/-9) deps/rabbitmq_auth_mechanism_ssl/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_auth_mechanism_ssl/CONTRIBUTING.md (+1/-0) deps/rabbitmq_auth_mechanism_ssl/Makefile (+0/-6) deps/rabbitmq_aws/BUILD.bazel (+12/-16) deps/rabbitmq_aws/Makefile (+0/-6) deps/rabbitmq_cli/.formatter.exs (+3/-0) deps/rabbitmq_cli/BUILD.bazel (+72/-15) deps/rabbitmq_cli/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_cli/CONTRIBUTING.md (+1/-0) deps/rabbitmq_cli/Makefile (+0/-13) deps/rabbitmq_cli/README.md (+3/-3) deps/rabbitmq_cli/config/config.exs (+2/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/auto_complete.ex (+2/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/command_behaviour.ex (+94/-44) deps/rabbitmq_cli/lib/rabbitmq/cli/core/alarms.ex (+5/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/core/code_path.ex (+10/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/core/command_modules.ex (+27/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/core/feature_flags.ex (+0/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/core/helpers.ex (+17/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/core/input.ex (+13/-11) deps/rabbitmq_cli/lib/rabbitmq/cli/core/listeners.ex (+80/-40) deps/rabbitmq_cli/lib/rabbitmq/cli/core/log_files.ex (+27/-17) deps/rabbitmq_cli/lib/rabbitmq/cli/core/memory.ex (+13/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/core/networking.ex (+42/-31) deps/rabbitmq_cli/lib/rabbitmq/cli/core/parser.ex (+12/-7) deps/rabbitmq_cli/lib/rabbitmq/cli/core/platform.ex (+6/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/core/validators.ex (+0/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/core/version.ex (+2/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_user_command.ex (+32/-13) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/add_vhost_command.ex (+16/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/authenticate_user_command.ex (+15/-8) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/autocomplete_command.ex (+2/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/await_online_nodes_command.ex (+5/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/change_password_command.ex (+16/-8) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_permissions_command.ex (+12/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_topic_permissions_command.ex (+12/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/clear_user_limits_command.ex (+4/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_all_connections_command.ex (+11/-8) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/close_connection_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/cluster_status_command.ex (+200/-120) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/decode_command.ex (+18/-9) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/delete_user_command.ex (+7/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/enable_feature_flag_command.ex (+24/-14) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/encode_command.ex (+24/-11) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/environment_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_command.ex (+14/-6) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/eval_file_command.ex (+8/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex (+62/-32) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_boot_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_gc_command.ex (+5/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/force_reset_command.ex (+1/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/forget_cluster_node_command.ex (+24/-8) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/help_command.ex (+74/-42) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/hipe_compile_command.ex (+1/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex (+40/-14) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/join_cluster_command.ex (+10/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_consumers_command.ex (+11/-12) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_feature_flags_command.ex (+10/-10) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_queues_command.ex (+8/-7) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_unresponsive_queues_command.ex (+6/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_limits_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/node_health_check_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/ping_command.ex (+5/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/report_command.ex (+6/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/reset_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/resume_listeners_command.ex (+11/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/rotate_logs_command.ex (+1/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_global_parameter_command.ex (+2/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_log_level_command.ex (+6/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_operator_policy_command.ex (+11/-6) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_parameter_command.ex (+1/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_permissions_command.ex (+12/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_policy_command.ex (+12/-5) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_topic_permissions_command.ex (+14/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_user_tags_command.ex (+5/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vhost_tags_command.ex (+16/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/set_vm_memory_high_watermark_command.ex (+1/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/shutdown_command.ex (+24/-13) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/start_app_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex (+129/-82) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/stop_command.ex (+7/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/suspend_listeners_command.ex (+11/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/sync_queue_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/update_cluster_nodes_command.ex (+5/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/version_command.ex (+3/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/wait_command.ex (+5/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex (+9/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/alarms_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/certificates_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_alarms_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_certificate_expiration_command.ex (+18/-9) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_local_alarms_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_connectivity_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_port_listener_command.ex (+4/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_protocol_listener_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_running_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/cipher_suites_command.ex (+19/-14) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/command_line_arguments_command.ex (+4/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/consume_event_stream_command.ex (+29/-15) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/disable_auth_attempt_source_tracking_command.ex (+8/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/enable_auth_attempt_source_tracking_command.ex (+7/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_hash_command.ex (+5/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_cookie_sources_command.ex (+27/-19) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/erlang_version_command.ex (+11/-7) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_booting_command.ex (+5/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/is_running_command.ex (+11/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_network_interfaces_command.ex (+16/-11) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/list_node_auth_attempt_stats_command.ex (+22/-7) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_location_command.ex (+15/-11) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_command.ex (+6/-5) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/log_tail_stream_command.ex (+27/-13) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/maybe_stuck_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/memory_breakdown_command.ex (+4/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/observer_command.ex (+3/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/os_env_command.ex (+20/-7) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/remote_shell_command.ex (+3/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolve_hostname_command.ex (+38/-16) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/resolver_info_command.ex (+21/-13) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/runtime_thread_stats_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/server_version_command.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/tls_versions_command.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/diagnostics_helpers.ex (+5/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/formatter_behaviour.ex (+3/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/formatter_helpers.ex (+1/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex (+12/-6) deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex (+12/-6) deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/plugins.ex (+2/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/pretty_table.ex (+92/-48) deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex (+6/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/disable_command.ex (+8/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/enable_command.ex (+8/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/is_enabled.ex (+7/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/list_command.ex (+4/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/commands/set_command.ex (+8/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/error_output.ex (+1/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/plugins/plugins_helpers.ex (+8/-3) deps/rabbitmq_cli/lib/rabbitmq/cli/printer_behaviour.ex (+2/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/add_member_command.ex (+1/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_mirror_sync_critical_command.ex (+36/-14) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/check_if_node_is_quorum_critical_command.ex (+45/-15) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/grow_command.ex (+61/-36) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/peek_command.ex (+24/-10) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/rebalance_command.ex (+14/-10) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/reclaim_quorum_memory_command.ex (+6/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/shrink_command.ex (+27/-12) deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/delete_replica_command.ex (+1/-0) deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/set_stream_retention_policy_command.ex (+3/-4) deps/rabbitmq_cli/lib/rabbitmq/cli/streams/commands/stream_status_command.ex (+3/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/time_unit.ex (+0/-1) deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_quorum_plus_one_command.ex (+45/-17) deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/await_online_synchronized_mirror_command.ex (+57/-9) deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/drain_command.ex (+10/-6) deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/post_upgrade_command.ex (+1/-2) deps/rabbitmq_cli/lib/rabbitmq/cli/upgrade/commands/revive_command.ex (+10/-6) deps/rabbitmq_cli/lib/rabbitmqctl.ex (+61/-31) deps/rabbitmq_cli/mix.exs (+95/-81) deps/rabbitmq_cli/mix.lock (+1/-1) deps/rabbitmq_cli/rabbitmqctl.bzl (+145/-114) deps/rabbitmq_cli/rabbitmqctl_check_formatted.bzl (+135/-0) deps/rabbitmq_cli/rabbitmqctl_test.bzl (+190/-130) deps/rabbitmq_codegen/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_codegen/CONTRIBUTING.md (+1/-0) deps/rabbitmq_consistent_hash_exchange/BUILD.bazel (+19/-10) deps/rabbitmq_consistent_hash_exchange/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_consistent_hash_exchange/CONTRIBUTING.md (+1/-0) deps/rabbitmq_consistent_hash_exchange/Makefile (+0/-6) deps/rabbitmq_consistent_hash_exchange/README.md (+30/-10) deps/rabbitmq_consistent_hash_exchange/include/rabbitmq_consistent_hash_exchange.hrl (+5/-5) deps/rabbitmq_consistent_hash_exchange/src/Elixir.RabbitMQ.CLI.Diagnostics.Commands.ConsistentHashExchangeRingStateCommand.erl (+0/-5) deps/rabbitmq_consistent_hash_exchange/src/rabbit_exchange_type_consistent_hash.erl (+47/-15) deps/rabbitmq_event_exchange/BUILD.bazel (+16/-10) deps/rabbitmq_event_exchange/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_event_exchange/CONTRIBUTING.md (+1/-0) deps/rabbitmq_event_exchange/Makefile (+0/-5) deps/rabbitmq_event_exchange/README.md (+1/-1) deps/rabbitmq_event_exchange/src/rabbit_exchange_type_event.erl (+4/-4) deps/rabbitmq_federation/BUILD.bazel (+27/-22) deps/rabbitmq_federation/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_federation/CONTRIBUTING.md (+1/-0) deps/rabbitmq_federation/Makefile (+0/-6) deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.FederationStatusCommand.erl (+0/-2) deps/rabbitmq_federation/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand.erl (+0/-2) deps/rabbitmq_federation_management/BUILD.bazel (+19/-13) deps/rabbitmq_federation_management/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_federation_management/CONTRIBUTING.md (+1/-0) deps/rabbitmq_federation_management/Makefile (+0/-6) deps/rabbitmq_jms_topic_exchange/BUILD.bazel (+16/-11) deps/rabbitmq_jms_topic_exchange/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_jms_topic_exchange/CONTRIBUTING.md (+1/-0) deps/rabbitmq_jms_topic_exchange/Makefile (+0/-6) deps/rabbitmq_jms_topic_exchange/src/rabbit_jms_topic_exchange.erl (+20/-7) deps/rabbitmq_management/BUILD.bazel (+35/-35) deps/rabbitmq_management/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_management/CONTRIBUTING.md (+1/-0) deps/rabbitmq_management/Makefile (+0/-6) deps/rabbitmq_management/bin/rabbitmqadmin (+15/-11) deps/rabbitmq_management/priv/www/css/main.css (+6/-2) deps/rabbitmq_management/priv/www/js/formatters.js (+11/-5) deps/rabbitmq_management/priv/www/js/global.js (+1/-1) deps/rabbitmq_management/priv/www/js/tmpl/binary.ejs (+16/-13) deps/rabbitmq_management/priv/www/js/tmpl/layout.ejs (+9/-9) deps/rabbitmq_management/priv/www/js/tmpl/memory.ejs (+12/-11) deps/rabbitmq_management/src/rabbit_mgmt_dispatcher.erl (+2/-1) deps/rabbitmq_management/src/rabbit_mgmt_wm_environment.erl (+33/-0) deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl (+3/-2) deps/rabbitmq_management_agent/BUILD.bazel (+17/-12) deps/rabbitmq_management_agent/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_management_agent/CONTRIBUTING.md (+1/-0) deps/rabbitmq_management_agent/Makefile (+0/-6) deps/rabbitmq_management_agent/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ResetStatsDbCommand.erl (+0/-2) deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl (+1/-40) deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl (+5/-2) deps/rabbitmq_management_agent/src/rabbit_mgmt_metrics_collector.erl (+4/-20) deps/rabbitmq_mqtt/BUILD.bazel (+33/-32) deps/rabbitmq_mqtt/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_mqtt/CONTRIBUTING.md (+1/-0) deps/rabbitmq_mqtt/Makefile (+6/-8) deps/rabbitmq_mqtt/priv/schema/rabbitmq_mqtt.schema (+3/-0) deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DecommissionMqttNodeCommand.erl (+0/-2) deps/rabbitmq_mqtt/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListMqttConnectionsCommand.erl (+0/-8) deps/rabbitmq_mqtt/src/rabbit_mqtt.erl (+19/-29) deps/rabbitmq_mqtt/src/rabbit_mqtt_collector.erl (+13/-6) deps/rabbitmq_mqtt/src/rabbit_mqtt_internal_event_handler.erl (+4/-4) deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl (+14/-7) deps/rabbitmq_mqtt/src/rabbit_mqtt_reader.erl (+13/-4) deps/rabbitmq_peer_discovery_aws/BUILD.bazel (+13/-12) deps/rabbitmq_peer_discovery_aws/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_peer_discovery_aws/CONTRIBUTING.md (+1/-0) deps/rabbitmq_peer_discovery_aws/Makefile (+0/-6) deps/rabbitmq_peer_discovery_common/BUILD.bazel (+8/-8) deps/rabbitmq_peer_discovery_common/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_peer_discovery_common/CONTRIBUTING.md (+1/-0) deps/rabbitmq_peer_discovery_common/Makefile (+0/-6) deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_httpc.erl (+52/-7) deps/rabbitmq_peer_discovery_common/src/rabbit_peer_discovery_util.erl (+1/-1) deps/rabbitmq_peer_discovery_consul/BUILD.bazel (+16/-11) deps/rabbitmq_peer_discovery_consul/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_peer_discovery_consul/CONTRIBUTING.md (+1/-0) deps/rabbitmq_peer_discovery_consul/Makefile (+0/-6) deps/rabbitmq_peer_discovery_consul/priv/schema/rabbitmq_peer_discovery_consul.schema (+116/-0) deps/rabbitmq_peer_discovery_consul/src/rabbit_peer_discovery_consul.erl (+76/-19) deps/rabbitmq_peer_discovery_etcd/BUILD.bazel (+17/-12) deps/rabbitmq_peer_discovery_etcd/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_peer_discovery_etcd/CONTRIBUTING.md (+1/-0) deps/rabbitmq_peer_discovery_etcd/Makefile (+1/-7) deps/rabbitmq_peer_discovery_k8s/BUILD.bazel (+16/-11) deps/rabbitmq_peer_discovery_k8s/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_peer_discovery_k8s/CONTRIBUTING.md (+1/-0) deps/rabbitmq_peer_discovery_k8s/Makefile (+0/-6) deps/rabbitmq_peer_discovery_k8s/README.md (+1/-1) deps/rabbitmq_peer_discovery_k8s/examples/gke/README.md (+1/-3) deps/rabbitmq_peer_discovery_k8s/examples/kind/README.md (+6/-2) deps/rabbitmq_peer_discovery_k8s/examples/minikube/README.md (+6/-2) deps/rabbitmq_prelaunch/BUILD.bazel (+24/-15) deps/rabbitmq_prelaunch/src/rabbit_logger_fmt_helpers.erl (+3/-3) deps/rabbitmq_prelaunch/src/rabbit_logger_json_fmt.erl (+2/-2) deps/rabbitmq_prelaunch/src/rabbit_logger_text_fmt.erl (+10/-0) deps/rabbitmq_prelaunch/src/rabbit_prelaunch_conf.erl (+33/-16) deps/rabbitmq_prelaunch/src/rabbit_prelaunch_dist.erl (+20/-0) deps/rabbitmq_prelaunch/src/rabbit_prelaunch_early_logging.erl (+19/-5) deps/rabbitmq_prelaunch/src/rabbit_prelaunch_erlang_compat.erl (+2/-2) deps/rabbitmq_prelaunch/src/rabbit_prelaunch_file.erl (+95/-0) deps/rabbitmq_prometheus/BUILD.bazel (+19/-14) deps/rabbitmq_prometheus/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_prometheus/CONTRIBUTING.md (+1/-0) deps/rabbitmq_prometheus/Makefile (+0/-44) deps/rabbitmq_prometheus/metrics-detailed.md (+1/-0) deps/rabbitmq_prometheus/src/collectors/prometheus_process_collector.erl (+64/-0) deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl (+2/-1) deps/rabbitmq_prometheus/src/rabbit_prometheus_dispatcher.erl (+2/-1) deps/rabbitmq_random_exchange/BUILD.bazel (+13/-9) deps/rabbitmq_random_exchange/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_random_exchange/CONTRIBUTING.md (+1/-0) deps/rabbitmq_random_exchange/Makefile (+0/-6) deps/rabbitmq_recent_history_exchange/BUILD.bazel (+16/-9) deps/rabbitmq_recent_history_exchange/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_recent_history_exchange/CONTRIBUTING.md (+1/-0) deps/rabbitmq_recent_history_exchange/Makefile (+0/-6) deps/rabbitmq_sharding/BUILD.bazel (+17/-10) deps/rabbitmq_sharding/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_sharding/CONTRIBUTING.md (+1/-0) deps/rabbitmq_sharding/Makefile (+0/-6) deps/rabbitmq_sharding/README.md (+5/-0) deps/rabbitmq_shovel/BUILD.bazel (+28/-27) deps/rabbitmq_shovel/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_shovel/CONTRIBUTING.md (+1/-0) deps/rabbitmq_shovel/Makefile (+0/-7) deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.DeleteShovelCommand.erl (+0/-5) deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.RestartShovelCommand.erl (+0/-2) deps/rabbitmq_shovel/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ShovelStatusCommand.erl (+0/-2) deps/rabbitmq_shovel/src/rabbit_amqp091_shovel.erl (+6/-0) deps/rabbitmq_shovel/src/rabbit_amqp10_shovel.erl (+8/-0) deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup.erl (+1/-1) deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl (+2/-2) deps/rabbitmq_shovel/src/rabbit_shovel_status.erl (+7/-2) deps/rabbitmq_shovel/src/rabbit_shovel_worker.erl (+6/-0) deps/rabbitmq_shovel_management/BUILD.bazel (+22/-16) deps/rabbitmq_shovel_management/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_shovel_management/CONTRIBUTING.md (+1/-0) deps/rabbitmq_shovel_management/Makefile (+0/-6) deps/rabbitmq_stomp/BUILD.bazel (+28/-23) deps/rabbitmq_stomp/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_stomp/CONTRIBUTING.md (+1/-0) deps/rabbitmq_stomp/Makefile (+0/-6) deps/rabbitmq_stomp/priv/schema/rabbitmq_stomp.schema (+3/-0) deps/rabbitmq_stomp/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStompConnectionsCommand.erl (+0/-9) deps/rabbitmq_stomp/src/rabbit_stomp_reader.erl (+13/-0) deps/rabbitmq_stream/BUILD.bazel (+28/-15) deps/rabbitmq_stream/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_stream/CONTRIBUTING.md (+1/-0) deps/rabbitmq_stream/Makefile (+0/-6) deps/rabbitmq_stream/docs/PROTOCOL.adoc (+2/-2) deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConnectionsCommand.erl (+0/-7) deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamConsumersCommand.erl (+0/-7) deps/rabbitmq_stream/src/Elixir.RabbitMQ.CLI.Ctl.Commands.ListStreamPublishersCommand.erl (+0/-7) deps/rabbitmq_stream/src/rabbit_stream.erl (+12/-10) deps/rabbitmq_stream/src/rabbit_stream_manager.erl (+51/-38) deps/rabbitmq_stream/src/rabbit_stream_metrics_gc.erl (+1/-1) deps/rabbitmq_stream/src/rabbit_stream_reader.erl (+89/-70) deps/rabbitmq_stream/src/rabbit_stream_sup.erl (+3/-2) deps/rabbitmq_stream_common/BUILD.bazel (+5/-6) deps/rabbitmq_stream_common/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_stream_common/CONTRIBUTING.md (+1/-0) deps/rabbitmq_stream_common/Makefile (+0/-6) deps/rabbitmq_stream_management/BUILD.bazel (+21/-16) deps/rabbitmq_stream_management/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_stream_management/CONTRIBUTING.md (+1/-0) deps/rabbitmq_stream_management/Makefile (+0/-6) deps/rabbitmq_stream_management/src/rabbit_stream_connection_consumers_mgmt.erl (+4/-3) deps/rabbitmq_stream_management/src/rabbit_stream_connection_mgmt.erl (+6/-5) deps/rabbitmq_stream_management/src/rabbit_stream_connection_publishers_mgmt.erl (+7/-5) deps/rabbitmq_stream_management/src/rabbit_stream_connections_mgmt.erl (+20/-14) deps/rabbitmq_stream_management/src/rabbit_stream_connections_vhost_mgmt.erl (+6/-4) deps/rabbitmq_stream_management/src/rabbit_stream_consumers_mgmt.erl (+7/-5) deps/rabbitmq_stream_management/src/rabbit_stream_management_utils.erl (+1/-2) deps/rabbitmq_stream_management/src/rabbit_stream_mgmt_db.erl (+18/-6) deps/rabbitmq_stream_management/src/rabbit_stream_publishers_mgmt.erl (+8/-6) deps/rabbitmq_top/BUILD.bazel (+18/-12) deps/rabbitmq_top/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_top/CONTRIBUTING.md (+1/-0) deps/rabbitmq_top/Makefile (+0/-6) deps/rabbitmq_tracing/BUILD.bazel (+18/-12) deps/rabbitmq_tracing/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_tracing/CONTRIBUTING.md (+1/-0) deps/rabbitmq_tracing/Makefile (+0/-6) deps/rabbitmq_tracing/src/rabbit_tracing_consumer.erl (+3/-3) deps/rabbitmq_tracing/src/rabbit_tracing_sup.erl (+2/-2) deps/rabbitmq_trust_store/BUILD.bazel (+14/-17) deps/rabbitmq_trust_store/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_trust_store/CONTRIBUTING.md (+1/-0) deps/rabbitmq_trust_store/Makefile (+0/-7) deps/rabbitmq_trust_store/src/rabbit_trust_store.erl (+8/-12) deps/rabbitmq_trust_store/src/rabbit_trust_store_http_provider.erl (+1/-1) deps/rabbitmq_web_dispatch/BUILD.bazel (+14/-11) deps/rabbitmq_web_dispatch/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_web_dispatch/CONTRIBUTING.md (+1/-0) deps/rabbitmq_web_dispatch/Makefile (+0/-6) deps/rabbitmq_web_mqtt/BUILD.bazel (+22/-18) deps/rabbitmq_web_mqtt/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_web_mqtt/CONTRIBUTING.md (+1/-0) deps/rabbitmq_web_mqtt/Makefile (+0/-6) deps/rabbitmq_web_mqtt_examples/BUILD.bazel (+9/-10) deps/rabbitmq_web_mqtt_examples/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_web_mqtt_examples/CONTRIBUTING.md (+1/-0) deps/rabbitmq_web_mqtt_examples/Makefile (+0/-6) deps/rabbitmq_web_stomp/BUILD.bazel (+21/-18) deps/rabbitmq_web_stomp/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_web_stomp/CONTRIBUTING.md (+1/-0) deps/rabbitmq_web_stomp/Makefile (+0/-6) deps/rabbitmq_web_stomp/src/rabbit_web_stomp_handler.erl (+2/-2) deps/rabbitmq_web_stomp/src/rabbit_web_stomp_internal_event_handler.erl (+1/-1) deps/rabbitmq_web_stomp/src/rabbit_web_stomp_listener.erl (+3/-3) deps/rabbitmq_web_stomp_examples/BUILD.bazel (+9/-10) deps/rabbitmq_web_stomp_examples/CODE_OF_CONDUCT.md (+1/-0) deps/rabbitmq_web_stomp_examples/CONTRIBUTING.md (+1/-0) deps/rabbitmq_web_stomp_examples/Makefile (+0/-6) deps/recon/README.md (+6/-2) deps/recon/mix.exs (+1/-1) deps/recon/src/recon.app.src (+1/-1) deps/recon/src/recon.erl (+2/-0) deps/recon/src/recon_alloc.erl (+3/-1) deps/recon/src/recon_trace.erl (+1/-1) dev/null (+0/-13) dist.bzl (+208/-64) erlang.mk (+263/-47) erlang_ls.config (+1/-0) git-revisions.txt (+73/-73) mk/bazel.mk (+2/-2) rabbitmq-components.mk (+4/-4) rabbitmq.bzl (+137/-82) rabbitmq_home.bzl (+61/-45) rabbitmq_run.bzl (+99/-25) rabbitmqctl.bzl (+0/-4) release-notes/3.8.29.md (+99/-0) release-notes/3.8.30.md (+78/-0) release-notes/3.8.31.md (+69/-0) release-notes/3.8.32.md (+79/-0) release-notes/3.8.33.md (+56/-0) release-notes/3.8.34.md (+51/-0) release-notes/3.8.35.md (+65/-0) release-notes/3.9.14.md (+126/-0) release-notes/3.9.15.md (+108/-0) release-notes/3.9.16.md (+72/-0) release-notes/3.9.17.md (+64/-0) release-notes/3.9.18.md (+69/-0) release-notes/3.9.19.md (+58/-0) release-notes/3.9.20.md (+26/-0) release-notes/3.9.21.md (+118/-0) release-notes/3.9.22.md (+61/-0) release-notes/3.9.23.md (+129/-0) release-notes/3.9.24.md (+46/-0) release-notes/3.9.25.md (+62/-0) release-notes/3.9.26.md (+49/-0) release-notes/3.9.27.md (+84/-0) scripts/bazel/rabbitmq-run.bat (+157/-0) scripts/bazel/rabbitmq-run.sh (+170/-102) tools/BUILD.bazel (+16/-0) tools/erlang_ls.bzl (+93/-0) user-template.bazelrc (+5/-8) workspace_helpers.bzl (+84/-124) |
||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu bot | Approve | ||
Andreas Hasenack | Approve | ||
Paride Legovini (community) | Approve | ||
Canonical Server Reporter | Pending | ||
Review via email: mp+465969@code.launchpad.net |
Commit message
Description of the change
Mitchell Dzurick (mitchdz) wrote : | # |
Okay I am tired of waiting for autopkgtest. The runners for everything except amd64 has ran and succeeded.
- rabbitmq-
+ ✅ rabbitmq-server on jammy for armhf @ 09.05.24 16:35:18
• Log: https:/
+ ✅ rabbitmq-server on jammy for i386 @ 08.05.24 07:54:12
• Log: https:/
+ ✅ rabbitmq-server on jammy for ppc64el @ 07.05.24 21:16:10
• Log: https:/
+ ✅ rabbitmq-server on jammy for s390x @ 07.05.24 16:57:23
• Log: https:/
amd64 local results are here and passing - https:/
Paride Legovini (paride) wrote : | # |
LGTM, uploading.
Andreas Hasenack (ahasenack) : | # |
Andreas Hasenack (ahasenack) wrote (last edit ): | # |
I propose a different d/changelog entry, let me know what you think:
* New upstream version 3.9.27 (LP: #2060248):
- d/p/max-
concurrent client connections was set based on the kernel open file handle
limit. In v3.9.23 the concurrent client connection limit was changed to
the value of the ERL_MAX_PORTS environment variable, and defaults to 65536
if the variable is not set. To not change the behavior in upgrades to this
version, this patch sets ERL_MAX_PORTS to the kernel open file handle
limit if the variable is not set already. If the variable is set,
then it's left alone. Note that ERL_MAX_PORTS must never be higher than
the kernel open file handle limit.
- In environments where DNS resolution is not yet available at the time
RabbitMQ nodes boot and try to perform peer discovery, such as CoreDNS
with default caching interval of 30s on Kubernetes, nodes now will
retry hostname resolution (including of their own host) several times
with a wait interval.
- LDAP server password could end up in the logs in certain types of
exceptions.
- Details about these and many futher changes can be found at
https:/
- Added new dep8 tests:
+ d/t/hello-world
+ d/t/publish-
+ d/t/rpc
+ d/t/work-queue
- Remove patches fixed upstream:
+ d/p/lp1999816-
The goal was to put all under the "new upstream version" entry, which is referring to the bug. I would be fine to move "Added new dep8 tests" to the top level again (so it becomes a "*" entry, instead of "-"), as, for SRU purposes, new DEP8 tests don't usually require a bug of their own, and these new dep8 tests are not directly related to the new version.
What do you think?
Andreas Hasenack (ahasenack) wrote : | # |
Of course launchpad butchered the formatting :/
Mitchell Dzurick (mitchdz) wrote : | # |
That's fine to me, but the new dep8 tests are not really tied to the upstream release, so IMO it doesn't make sense to be included in the new upstream subsection.
Andreas Hasenack (ahasenack) wrote : | # |
Yep, move them up then (well, left :)
Andreas Hasenack (ahasenack) wrote : | # |
Have you found a way to test the ERL_MAX_PORTS setting?
Andreas Hasenack (ahasenack) : | # |
Mitchell Dzurick (mitchdz) wrote : | # |
Yes I believe I have found a consistent way to test the max ports setting. Give me a little bit to run through the different scenarios to make sure the results make sense.
Andreas Hasenack (ahasenack) wrote : | # |
commit 4988372e592750e
Author: mitchdz <email address hidden>
Date: Thu Apr 4 15:14:26 2024 -0700
remove old patches
This is also not mentioned in d/changelog
Mitchell Dzurick (mitchdz) wrote : | # |
Ah apologies, the "remove old patches" commit was to just make it so I can run `gbp import` as they didn't apply. I added the relevant patches back after refreshing, it's just an artifact of my workflow at the time.
Also with regards to my comment on testing max ports, I wrote this simple script that has been able to open file handles and cause the errors with hitting the limit, but still want to do further testing[0].
[0] - https:/
Mitchell Dzurick (mitchdz) wrote : | # |
@ahasenack I updated the d/changelog.
According to [0], just checking the limits file is good enough for verifying the limit. Coming from upstream, I think that should be good enough.
This is easy enough to do by:
# cat /proc/$(pidof beam.smp)/limits | head -n 1 && \
cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Limit Soft Limit Hard Limit Units
Max open files 1024 1024 files
[0] - https:/
Andreas Hasenack (ahasenack) wrote : | # |
> According to [0], just checking the limits file is good enough for verifying the limit. Coming from
> upstream, I think that should be good enough.
I don't think that's the same. The limits are still set by LimitNOFILE, whereas ERL_MAX_PORTS is something different. Or we completely misunderstood these.
For example, with LimitNOFILE=32768, and ERL_MAX_PORTS=8192, I would expect rabbitmq to handle at most 8192 concurrent client connections. How can we verify that? That is the upstream change announced in 3.9.23.
The data in /proc from your comment above will just tell me the LimitNOFILE value. UNLESS rabbit used ERL_MAX_PORTS to then set the NOFILE limit by itself, but that doesn't seem to be the case. I started rabbit with these settings:
LimitNOFILE=32768
Environment=
And in /proc I get this, from your handy cat command:
Limit Soft Limit Hard Limit Units
Max open files 32768 32768 files
Furthermore, in the rabbit logs, I see:
2024-07-03 16:58:38.
2024-07-03 16:58:38.
And those values didn't change from when I had rabbit started with ERL_MAX_PORTS=16384
It looks like ERL_MAX_PORTS is doing nothing...?
git-ubuntu bot (git-ubuntu-bot) wrote : | # |
Approvers: mitchdz, paride
Uploaders: mitchdz, paride
MP auto-approved
Mitchell Dzurick (mitchdz) wrote : | # |
Hi, I’ve been out for a bit for vacation. I’ll dig more into this tomorrow if I’m not sick.
I do agree with your findings Andreas, and I’m thinking a bug report for the upstream docs should be made to address this issue once we find out what’s going on.
Mitchell Dzurick (mitchdz) wrote : | # |
I got more sick unfortunately, but am back now. Picking back up.
Mitchell Dzurick (mitchdz) wrote : | # |
Digging into it more, reading the /proc/ values is indeed misleading. That is the system limit for the open file handles, which is different from the ERLANG ports.
To see your active max erlang ports for the rabbitmq process, you should be able to run:
# rabbitmqctl eval 'erlang:
Which for a system that has the following systemd unit:
[Service]
LimitNOFILE=8192
Environment=
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | head -n 1 && \
cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Limit Soft Limit Hard Limit Units
Max open files 8192 8192 files
root@j-vm:~# rabbitmqctl eval 'erlang:
4096
I've seen the term ERL_MAX_PORTS used to limit open file handles, and while yes, it will limit open file handles, it is not exclusive to that. The documentation is a little frustrating to navigate, I found the command from [0], and got some useful information about ports at [1].
[0] - https:/
[1] - https:/
Mitchell Dzurick (mitchdz) wrote : | # |
I do want to point out the very important line in [0]:
NOTE: The actual maximum chosen may be much larger than the actual Number passed. Currently the runtime system often, but not always, chooses a value that is a power of 2. This might, however, be changed in the future. The actual value chosen can be checked by calling erlang:
Make sure your selected ERL_MAX_PORTS value is a power of 2, or else it will (in my limited testing) round up.
Mitchell Dzurick (mitchdz) wrote : | # |
@ahasenack let me know your thoughts on the above command to check ERL_MAX_PORTS, it seems to be working well and is easy to run, so I'm happy with it :)
Andreas Hasenack (ahasenack) wrote : | # |
That works, bake it in the test case and we can proceed.
Mitchell Dzurick (mitchdz) wrote : | # |
Thanks, I'll go ahead and update the tests and run them.
I also made an upstream PR to add this command to the docs[0].
[0] - https:/
Mitchell Dzurick (mitchdz) wrote : | # |
I tested a few scenarios with this package and the behavior of the current Jammy setup is adhered to without further user intervention.
Base setup before download:
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.13-
root@j-vm:~# rabbitmqctl eval 'erlang:
65536
# testing base setup (no changed user values) after upgrade
root@j-vm:~# apt full-upgrade -y
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.27-
root@j-vm:~# rabbitmqctl eval 'erlang:
65536
## Testing updating the value post upgrade
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.27-
root@j-vm:~# systemctl cat rabbitmq-
[Service]
LimitNOFILE=16384
Environment=
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Max open files 16384 16384 files
root@j-vm:~# rabbitmqctl eval 'erlang:
16384
## Testing updating the max open file handle limit and ERL_MAX_PORTS to be different values
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.27-
root@j-vm:~# systemctl cat rabbitmq-
[Service]
LimitNOFILE=16384
Environment=
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Max open files 16384 16384 files
root@j-vm:~# rabbitmqctl eval 'erlang:
8192
## Testing non power of 2 value
root@j-vm:~# systemctl cat rabbitmq-
[Service]
LimitNOFILE=9000
Environment=
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Max open files 9000 9000 files
root@j-vm:~# rabbitmqctl eval 'erlang:
16384
This is expected, ERL_MAX_PORTS will round up to the next power of 2.
## Testing an upgrade to newer version, with LimitNOFILE set to higher than default of 64K and no environment variable set.
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.13-
root@j-vm:~# systemctl cat rabbitmq-
[Service]
LimitNOFILE=180000
root@j-vm:~# rabbitmqctl eval 'erlang:
262144
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Max open files 180000 180000 files
root@j-vm:~# apt install -y rabbitmq-server
root@j-vm:~# dpkg -s rabbitmq-server | grep Version:
Version: 3.9.27-
root@j-vm:~# systemctl cat rabbitmq-
[Service]
LimitNOFILE=180000
root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
Max open files 180000 180000 files
root@j-vm:~# rabbitmqctl eval 'erlang:
262144
Andreas Hasenack (ahasenack) wrote : | # |
Thanks for these
> I tested a few scenarios with this package and the behavior of the current
> Jammy setup is adhered to without further user intervention.
> ## Testing non power of 2 value
> root@j-vm:~# systemctl cat rabbitmq-
> [Service]
> LimitNOFILE=9000
> Environment=
> root@j-vm:~# cat /proc/$(pidof beam.smp)/limits | grep "Max open files"
> Max open files 9000 9000 files
> root@j-vm:~# rabbitmqctl eval 'erlang:
> 16384
>
> This is expected, ERL_MAX_PORTS will round up to the next power of 2.
Isn't this a problematic case for rabbit? ERL_MAX_PORTS is higher than the kernel limit, and at some point rabbit may fail to open more ports, if the count is higher than ulimit.
Mitchell Dzurick (mitchdz) wrote : | # |
I don't think it's necessarily problematic, because I would consider that an incorrectly provisioned system, I mainly did that to highlight that power of 2 aspect is being important.
This is also how the value has been set in the past, so if it has caused critical issues we should have seen a bug report I would imagine.
Andreas Hasenack (ahasenack) wrote : | # |
ok, shipit!
Mitchell Dzurick (mitchdz) wrote : | # |
I made 2 new changes.
1. Fixed test flakiness of the new `rpc` test. This is achieved by adding a simple `sleep 2` inbetween starting the server/client.
2. Added comments in the systemd service file explaining how to use the new variable.
Mitchell Dzurick (mitchdz) wrote : | # |
latest autopkgtest
- rabbitmq-
+ ✅ rabbitmq-server on jammy for amd64 @ 18.07.24 00:38:43 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for arm64 @ 18.07.24 00:40:31 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for armhf @ 18.07.24 00:43:53 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for i386 @ 18.07.24 00:38:49 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for ppc64el @ 18.07.24 00:39:57 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for s390x @ 18.07.24 00:39:58 Log️ 🗒️
Mitchell Dzurick (mitchdz) wrote : | # |
@ahasenack apologies for one last check. Could you please look over the systemd comments and let me know your thoughts? Otherwise this package is good to go :)
Andreas Hasenack (ahasenack) wrote : | # |
First pass, more changelog fun. And the test comments from the focal MP probably apply here too, given what we discussed in MM.
Mitchell Dzurick (mitchdz) wrote : | # |
Changes included. Rebuilding in PPA now.
Mitchell Dzurick (mitchdz) wrote (last edit ): | # |
Changes passed dep8
- rabbitmq-
+ ✅ rabbitmq-server on jammy for amd64 @ 22.07.24 12:39:38 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for arm64 @ 22.07.24 14:22:06 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for i386 @ 22.07.24 13:15:34 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for ppc64el @ 22.07.24 12:40:35 Log️ 🗒️
+ ✅ rabbitmq-server on jammy for s390x @ 22.07.24 12:54:15 Log️ 🗒️
Mitchell Dzurick (mitchdz) wrote : | # |
Actually armhf wasn't included in that report - the runners seem unhappy. I'll retrigger a test now.
Mitchell Dzurick (mitchdz) wrote : | # |
+ ✅ rabbitmq-server on jammy for arm64 @ 22.07.24 14:22:06 Log️ 🗒️
Andreas Hasenack (ahasenack) : | # |
Andreas Hasenack (ahasenack) wrote : | # |
Like in the focal MP, both cases are an error.
Andreas Hasenack (ahasenack) wrote : | # |
Please also push these new dep8 tests to the oracular package. Not a blocker for this MP here.
Andreas Hasenack (ahasenack) wrote : | # |
All good up to 7f093c8f3290436
Mitchell Dzurick (mitchdz) wrote : | # |
d/watch updated, and signing key is added.
Mitchell Dzurick (mitchdz) wrote : | # |
FWIW, I also suggested the d/watch change to debian - https:/
Andreas Hasenack (ahasenack) wrote : | # |
The two first bullet points below "* Packaging changes needed by this update:" in d/changelog are using 3 spaces instead of 4, like the remaining ones.
Mitchell Dzurick (mitchdz) wrote : | # |
I wish dpkg-buildpackage would warn me about that formatting issue :/
Andreas Hasenack (ahasenack) wrote : | # |
+1 for 6f633b0489132c5
git-ubuntu bot (git-ubuntu-bot) wrote : | # |
Approvers: mitchdz, ahasenack, paride
Uploaders: mitchdz, ahasenack, paride
MP auto-approved
Mitchell Dzurick (mitchdz) wrote : | # |
This should be rejected in favor of [0], which is exactly this merge, but with one extra commit. I noticed an SRU was about to happen to Jammy, and decided to digest it into this MRE so our users do not need to do another update after this MRE goes through.
Mitchell Dzurick (mitchdz) wrote : | # |
I'll keep it open for now while MR#470751 gets reviewed.
Unmerged commits
- 6f633b0... by Mitchell Dzurick
-
changelog
- 47ca42b... by Mitchell Dzurick
-
d/watch: update to find upstream tarball, and verify its signature
- d86d233... by Mitchell Dzurick
-
d/rabbitmq-
server. service: add notice about ERL_MAX_PORTS variable - 08149c6... by Andreas Hasenack
-
* d/p/max-
ports-compat. patch: adjust ERL_MAX_PORTS according to the
kernel file handle limit, as was done before 3.9.23 - 08f4113... by Mitchell Dzurick
-
add d/t/{hello-
world,publish- subscribe, rpc,work- queue} - 596665b... by Mitchell Dzurick
-
d/p/CVE-
2023-46118- {1,2}.patch: fix fuzz - d9db898... by Mitchell Dzurick
-
add d/p/CVE-
2023-46118- {1,2}.patch from previous version - 796e3b7... by Mitchell Dzurick
-
add d/p/downgrade_
elixir. patch elixir was upgraded in the commit
https://github. com/rabbitmq/ rabbitmq- server/ pull/5811/ files to enable JIT compilation for amd64/arm64 and for general compiler
optimizations. Since this is just for optimizations it should be fine to
downgrade, we just lose the performance benefits this commit was trying to
achieve. - 2df2f5e... by Mitchell Dzurick
-
add d/p/rabbitmq-
dist.mk. patch from previous version - e721c9b... by Mitchell Dzurick
-
add d/p/lets-
use-python3- not-python- binary. patch from previous version
Preview Diff
1 | diff --git a/.bazelignore b/.bazelignore |
2 | new file mode 100644 |
3 | index 0000000..1d16e9d |
4 | --- /dev/null |
5 | +++ b/.bazelignore |
6 | @@ -0,0 +1 @@ |
7 | +/.erlang.mk/ |
8 | diff --git a/.bazelrc b/.bazelrc |
9 | index 816e431..a38bf68 100644 |
10 | --- a/.bazelrc |
11 | +++ b/.bazelrc |
12 | @@ -1,6 +1,14 @@ |
13 | +build --experimental_enable_bzlmod |
14 | +build --registry=https://raw.githubusercontent.com/rabbitmq/bazel-central-registry/dev/ |
15 | + |
16 | build --incompatible_strict_action_env |
17 | build --local_test_jobs=1 |
18 | |
19 | +build --flag_alias=erlang_home=@rules_erlang//:erlang_home |
20 | +build --flag_alias=erlang_version=@rules_erlang//:erlang_version |
21 | +build --flag_alias=elixir_home=//:elixir_home |
22 | +build --flag_alias=test_build=//:enable_test_build |
23 | + |
24 | build:buildbuddy --bes_results_url=https://app.buildbuddy.io/invocation/ |
25 | build:buildbuddy --bes_backend=grpcs://remote.buildbuddy.io |
26 | build:buildbuddy --remote_cache=grpcs://remote.buildbuddy.io |
27 | @@ -9,47 +17,40 @@ build:buildbuddy --grpc_keepalive_time=360s |
28 | build:buildbuddy --grpc_keepalive_timeout=360s |
29 | build:buildbuddy --remote_download_minimal |
30 | build:buildbuddy --build_metadata=REPO_URL=https://github.com/rabbitmq/rabbitmq-server.git |
31 | +build:buildbuddy --experimental_remote_cache_compression |
32 | +build:buildbuddy --experimental_remote_cache_async |
33 | +build:buildbuddy --noslim_profile |
34 | +build:buildbuddy --experimental_profile_include_target_label |
35 | +build:buildbuddy --experimental_profile_include_primary_output |
36 | |
37 | build:rbe --config=buildbuddy |
38 | |
39 | build:rbe --remote_executor=grpcs://remote.buildbuddy.io |
40 | |
41 | -build:rbe --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
42 | -build:rbe --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
43 | -build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 |
44 | - |
45 | -build:rbe --@bazel-erlang//:erlang_home=/usr/lib/erlang |
46 | -build:rbe --//:elixir_home=/usr/local |
47 | - |
48 | build:rbe --spawn_strategy=remote |
49 | build:rbe --test_strategy="" |
50 | -build:rbe --jobs=100 |
51 | +build:rbe --jobs=50 |
52 | |
53 | -build:rbe-23 --config=rbe |
54 | -build:rbe-23 --host_javabase=@rbe_23//java:jdk |
55 | -build:rbe-23 --javabase=@rbe_23//java:jdk |
56 | -build:rbe-23 --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
57 | -build:rbe-23 --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 |
58 | -build:rbe-23 --crosstool_top=@rbe_23//cc:toolchain |
59 | -build:rbe-23 --extra_toolchains=@rbe_23//config:cc-toolchain |
60 | +build:rbe --crosstool_top=@rbe//cc:toolchain |
61 | +build:rbe --extra_toolchains=@rbe//config:cc-toolchain |
62 | |
63 | -build:rbe-23 --host_platform=@rbe_23//config:platform |
64 | -build:rbe-23 --platforms=@rbe_23//config:platform |
65 | -build:rbe-23 --extra_execution_platforms=@rbe_23//config:platform |
66 | +build:rbe --host_platform=//bazel/platforms:erlang_internal_platform |
67 | |
68 | -build:rbe-23 --@bazel-erlang//:erlang_version=23 |
69 | +build:rbe --host_cpu=k8 |
70 | +build:rbe --cpu=k8 |
71 | |
72 | build:rbe-24 --config=rbe |
73 | -build:rbe-24 --host_javabase=@rbe_24//java:jdk |
74 | -build:rbe-24 --javabase=@rbe_24//java:jdk |
75 | -build:rbe-24 --crosstool_top=@rbe_24//cc:toolchain |
76 | -build:rbe-24 --extra_toolchains=@rbe_24//config:cc-toolchain |
77 | +build:rbe-24 --platforms=//bazel/platforms:erlang_linux_24_platform |
78 | + |
79 | +build:rbe-25 --config=rbe |
80 | +build:rbe-25 --platforms=//bazel/platforms:erlang_linux_25_1_platform |
81 | |
82 | -build:rbe-24 --host_platform=@rbe_24//config:platform |
83 | -build:rbe-24 --platforms=@rbe_24//config:platform |
84 | -build:rbe-24 --extra_execution_platforms=@rbe_24//config:platform |
85 | +# no-op config so that --config=local does not error |
86 | +build:local --color=auto |
87 | |
88 | -build:rbe-24 --@bazel-erlang//:erlang_version=24 |
89 | +# having bzlmod enabled seems to interfere with docker toolchain resolution, |
90 | +# so we set this flag |
91 | +build --@io_bazel_rules_docker//transitions:enable=false |
92 | |
93 | # Try importing a user specific .bazelrc |
94 | # You can create your own by copying and editing the template-user.bazelrc template: |
95 | diff --git a/BUILD.bats b/BUILD.bats |
96 | index ed50b3c..1fe48bc 100644 |
97 | --- a/BUILD.bats |
98 | +++ b/BUILD.bats |
99 | @@ -1,5 +1,8 @@ |
100 | filegroup( |
101 | name = "bin_dir", |
102 | - srcs = glob(["bin/**/*", "libexec/**/*"]), |
103 | + srcs = glob([ |
104 | + "bin/**/*", |
105 | + "libexec/**/*", |
106 | + ]), |
107 | visibility = ["//visibility:public"], |
108 | ) |
109 | diff --git a/BUILD.bazel b/BUILD.bazel |
110 | index 5c3c256..b5c63cc 100644 |
111 | --- a/BUILD.bazel |
112 | +++ b/BUILD.bazel |
113 | @@ -1,93 +1,56 @@ |
114 | +load( |
115 | + "@bazel_skylib//rules:common_settings.bzl", |
116 | + "bool_flag", |
117 | + "string_flag", |
118 | +) |
119 | load("@rules_pkg//:pkg.bzl", "pkg_tar") |
120 | -load("@bazel-erlang//:dialyze.bzl", "plt") |
121 | -load("@bazel-erlang//:shell.bzl", "shell") |
122 | -load("elixir_home.bzl", "elixir_home") |
123 | +load("@rules_erlang//:dialyze.bzl", "plt") |
124 | +load("@rules_erlang//:shell.bzl", "shell") |
125 | +load("@rules_erlang//:erl_eval.bzl", "erl_eval") |
126 | +load("//bazel/elixir:iex_eval.bzl", "iex_eval") |
127 | load(":rabbitmq_home.bzl", "rabbitmq_home") |
128 | load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command") |
129 | load(":rabbitmqctl.bzl", "rabbitmqctl") |
130 | -load(":rabbitmq.bzl", "ALL_PLUGINS", "APP_VERSION") |
131 | -load(":dist.bzl", "collect_licenses", "versioned_rabbitmq_home") |
132 | +load(":dist.bzl", "package_generic_unix", "source_archive") |
133 | +load(":rabbitmq.bzl", "all_plugins") |
134 | |
135 | exports_files([ |
136 | "scripts/bazel/rabbitmq-run.sh", |
137 | + "scripts/bazel/rabbitmq-run.bat", |
138 | + "release-notes", |
139 | ]) |
140 | |
141 | -# This allows us to |
142 | -# `bazel build //my/target \ |
143 | -# --//:elixir_home=/path/to/elixir/installation` |
144 | -elixir_home( |
145 | - name = "elixir_home", |
146 | - build_setting_default = "~/.kiex/elixirs/elixir-1.10.4", |
147 | +bool_flag( |
148 | + name = "enable_test_build", |
149 | + build_setting_default = False, |
150 | visibility = ["//visibility:public"], |
151 | ) |
152 | |
153 | -platform( |
154 | - name = "erlang_git_platform", |
155 | - constraint_values = [ |
156 | - "@platforms//os:linux", |
157 | - "@platforms//cpu:x86_64", |
158 | - "@bazel_tools//tools/cpp:clang", |
159 | - ], |
160 | - exec_properties = { |
161 | - "OSFamily": "Linux", |
162 | - # linux-erlang-git-master |
163 | - "container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv@sha256:5d4fa38f723186668a497a8ee57e22010187e9347add5d4a7cc199dc13f1493f", |
164 | +config_setting( |
165 | + name = "test_build", |
166 | + flag_values = { |
167 | + "//:enable_test_build": "true", |
168 | }, |
169 | ) |
170 | |
171 | +string_flag( |
172 | + name = "elixir_home", |
173 | + build_setting_default = "", |
174 | + visibility = ["//visibility:public"], |
175 | +) |
176 | + |
177 | plt( |
178 | name = "base_plt", |
179 | visibility = ["//visibility:public"], |
180 | ) |
181 | |
182 | -rabbitmq_home( |
183 | - name = "broker-home", |
184 | - plugins = [ |
185 | - "//deps/rabbit:bazel_erlang_lib", |
186 | - "//deps/rabbitmq_amqp1_0:bazel_erlang_lib", |
187 | - "//deps/rabbitmq_auth_backend_cache:bazel_erlang_lib", |
188 | - "//deps/rabbitmq_auth_backend_http:bazel_erlang_lib", |
189 | - "//deps/rabbitmq_auth_backend_ldap:bazel_erlang_lib", |
190 | - "//deps/rabbitmq_auth_backend_oauth2:bazel_erlang_lib", |
191 | - "//deps/rabbitmq_auth_mechanism_ssl:bazel_erlang_lib", |
192 | - "//deps/rabbitmq_consistent_hash_exchange:bazel_erlang_lib", |
193 | - "//deps/rabbitmq_event_exchange:bazel_erlang_lib", |
194 | - "//deps/rabbitmq_federation:bazel_erlang_lib", |
195 | - "//deps/rabbitmq_federation_management:bazel_erlang_lib", |
196 | - "//deps/rabbitmq_jms_topic_exchange:bazel_erlang_lib", |
197 | - "//deps/rabbitmq_management:bazel_erlang_lib", |
198 | - "//deps/rabbitmq_mqtt:bazel_erlang_lib", |
199 | - "//deps/rabbitmq_peer_discovery_aws:bazel_erlang_lib", |
200 | - "//deps/rabbitmq_peer_discovery_consul:bazel_erlang_lib", |
201 | - "//deps/rabbitmq_peer_discovery_etcd:bazel_erlang_lib", |
202 | - "//deps/rabbitmq_peer_discovery_k8s:bazel_erlang_lib", |
203 | - "//deps/rabbitmq_prometheus:bazel_erlang_lib", |
204 | - "//deps/rabbitmq_random_exchange:bazel_erlang_lib", |
205 | - "//deps/rabbitmq_recent_history_exchange:bazel_erlang_lib", |
206 | - "//deps/rabbitmq_sharding:bazel_erlang_lib", |
207 | - "//deps/rabbitmq_shovel:bazel_erlang_lib", |
208 | - "//deps/rabbitmq_shovel_management:bazel_erlang_lib", |
209 | - "//deps/rabbitmq_stomp:bazel_erlang_lib", |
210 | - "//deps/rabbitmq_stream:bazel_erlang_lib", |
211 | - "//deps/rabbitmq_stream_management:bazel_erlang_lib", |
212 | - "//deps/rabbitmq_top:bazel_erlang_lib", |
213 | - "//deps/rabbitmq_tracing:bazel_erlang_lib", |
214 | - "//deps/rabbitmq_trust_store:bazel_erlang_lib", |
215 | - "//deps/rabbitmq_web_dispatch:bazel_erlang_lib", |
216 | - "//deps/rabbitmq_web_mqtt:bazel_erlang_lib", |
217 | - "//deps/rabbitmq_web_stomp:bazel_erlang_lib", |
218 | - ], |
219 | +PLUGINS = all_plugins( |
220 | + rabbitmq_workspace = "", |
221 | ) |
222 | |
223 | rabbitmq_home( |
224 | - name = "broker-for-cli-tests-home", |
225 | - testonly = True, |
226 | - plugins = [ |
227 | - "//deps/rabbit:bazel_erlang_lib", |
228 | - "//deps/rabbitmq_federation:bazel_erlang_lib", |
229 | - "//deps/rabbitmq_stomp:bazel_erlang_lib", |
230 | - "//deps/amqp_client:bazel_erlang_lib", |
231 | - ], |
232 | + name = "broker-home", |
233 | + plugins = PLUGINS, |
234 | ) |
235 | |
236 | rabbitmq_run( |
237 | @@ -96,22 +59,30 @@ rabbitmq_run( |
238 | visibility = ["//visibility:public"], |
239 | ) |
240 | |
241 | -rabbitmq_run( |
242 | - name = "rabbitmq-for-cli-tests-run", |
243 | - testonly = True, |
244 | - home = ":broker-for-cli-tests-home", |
245 | - visibility = ["//visibility:public"], |
246 | -) |
247 | - |
248 | # Allow us to `bazel run broker` |
249 | # for the equivalent of `make run-broker` |
250 | -# (though it as of yet includes no plugins) |
251 | rabbitmq_run_command( |
252 | name = "broker", |
253 | rabbitmq_run = ":rabbitmq-run", |
254 | subcommand = "run-broker", |
255 | ) |
256 | |
257 | +# Allow us to `bazel run start-cluster` |
258 | +# for the equivalent of `make start-cluster` |
259 | +rabbitmq_run_command( |
260 | + name = "start-cluster", |
261 | + rabbitmq_run = ":rabbitmq-run", |
262 | + subcommand = "start-cluster", |
263 | +) |
264 | + |
265 | +# Allow us to `bazel run stop-cluster` |
266 | +# for the equivalent of `make stop-cluster` |
267 | +rabbitmq_run_command( |
268 | + name = "stop-cluster", |
269 | + rabbitmq_run = ":rabbitmq-run", |
270 | + subcommand = "stop-cluster", |
271 | +) |
272 | + |
273 | # `bazel run rabbitmqctl` |
274 | rabbitmqctl( |
275 | name = "rabbitmqctl", |
276 | @@ -129,13 +100,30 @@ rabbitmqctl( |
277 | home = ":broker-home", |
278 | ) |
279 | |
280 | +rabbitmqctl( |
281 | + name = "rabbitmq-streams", |
282 | + home = ":broker-home", |
283 | +) |
284 | + |
285 | shell( |
286 | name = "repl", |
287 | - deps = ALL_PLUGINS, |
288 | + deps = PLUGINS, |
289 | +) |
290 | + |
291 | +erl_eval( |
292 | + name = "otp_version", |
293 | + outs = ["otp_version.txt"], |
294 | + expression = """{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), file:write_file(os:getenv("OUTS"), Version), halt().""", |
295 | +) |
296 | + |
297 | +iex_eval( |
298 | + name = "elixir_version", |
299 | + outs = ["elixir_version.txt"], |
300 | + expression = """File.write!(System.get_env("OUTS"), System.version()); System.halt()""", |
301 | ) |
302 | |
303 | -collect_licenses( |
304 | - name = "licenses", |
305 | +filegroup( |
306 | + name = "root-licenses", |
307 | srcs = glob( |
308 | ["LICENSE*"], |
309 | exclude = [ |
310 | @@ -143,25 +131,11 @@ collect_licenses( |
311 | "LICENSE.txt", |
312 | ], |
313 | ), |
314 | - deps = ALL_PLUGINS, |
315 | -) |
316 | - |
317 | -versioned_rabbitmq_home( |
318 | - name = "dist-home", |
319 | - plugins = ALL_PLUGINS, |
320 | -) |
321 | - |
322 | -pkg_tar( |
323 | - name = "license-files", |
324 | - srcs = [ |
325 | - ":licenses", |
326 | - "//deps/rabbit:INSTALL", |
327 | - ], |
328 | visibility = ["//visibility:public"], |
329 | ) |
330 | |
331 | pkg_tar( |
332 | - name = "scripts", |
333 | + name = "scripts-tar", |
334 | srcs = [ |
335 | "scripts/bash_autocomplete.sh", |
336 | "scripts/rabbitmq-script-wrapper", |
337 | @@ -173,7 +147,7 @@ pkg_tar( |
338 | ) |
339 | |
340 | pkg_tar( |
341 | - name = "release-notes", |
342 | + name = "release-notes-tar", |
343 | srcs = glob([ |
344 | "release-notes/*.md", |
345 | "release-notes/*.txt", |
346 | @@ -182,19 +156,166 @@ pkg_tar( |
347 | visibility = ["//visibility:public"], |
348 | ) |
349 | |
350 | -pkg_tar( |
351 | - name = "package-generic-unix", |
352 | - srcs = [ |
353 | - ":dist-home", |
354 | - ], |
355 | - extension = "tar.xz", |
356 | - package_dir = "rabbitmq_server-{}".format(APP_VERSION), |
357 | - strip_prefix = "dist-home", |
358 | - visibility = ["//visibility:public"], |
359 | - deps = [ |
360 | - ":license-files", |
361 | - ":release-notes", |
362 | - ":scripts", |
363 | - "//deps/rabbit:manpages-dir", |
364 | - ], |
365 | +package_generic_unix( |
366 | + plugins = PLUGINS, |
367 | + rabbitmq_workspace = "@", |
368 | +) |
369 | + |
370 | +source_archive( |
371 | + plugins = PLUGINS, |
372 | + rabbitmq_workspace = "@", |
373 | +) |
374 | + |
375 | +genrule( |
376 | + name = "test-logs", |
377 | + outs = ["open-test-logs.sh"], |
378 | + cmd = """set -euo pipefail |
379 | +cat << 'EOF' > $@ |
380 | +#!/bin/bash |
381 | +set -euo pipefail |
382 | +if [ $$# -eq 0 ]; then |
383 | + echo "Usage: bazel run test-logs TEST_LABEL [shard_index]" |
384 | + exit 1 |
385 | +fi |
386 | + |
387 | +RELATIVE=$${1#//} |
388 | +PACKAGE=$${RELATIVE%%:*} |
389 | +SUITE=$${RELATIVE##*:} |
390 | +OUTPUT_DIR=test.outputs |
391 | + |
392 | +if [ $$# -gt 1 ]; then |
393 | + OUTPUT_DIR=shard_$$2_of_*/test.outputs |
394 | +fi |
395 | + |
396 | +if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then |
397 | + echo "Test output dir not found, perhaps shard_index needed?" |
398 | + echo "Usage: bazel run test-logs TEST_LABEL [shard_index]" |
399 | + exit 1 |
400 | +fi |
401 | + |
402 | +cd "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR |
403 | +if [ -f outputs.zip ]; then |
404 | + unzip -u outputs.zip |
405 | +fi |
406 | +set +e |
407 | +open index.html |
408 | +rc=$$? |
409 | +set -e |
410 | +if [[ $$rc -eq 3 ]]; then |
411 | + # For xdg-open exit code 3 means "A required tool could not be found." That is, there is no browser. |
412 | + echo "Open your browser at http://$$(hostname -s):8000/index.html" |
413 | + python -m http.server 8000 |
414 | +fi |
415 | +EOF |
416 | +""", |
417 | + executable = True, |
418 | +) |
419 | + |
420 | +genrule( |
421 | + name = "remote-test-logs", |
422 | + outs = ["open-remote-test-logs.sh"], |
423 | + cmd = """set -euo pipefail |
424 | +cat << 'EOF' > $@ |
425 | +#!/bin/bash |
426 | +set -euo pipefail |
427 | +if [ $$# -eq 0 ]; then |
428 | + echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]" |
429 | + exit 1 |
430 | +fi |
431 | + |
432 | +RELATIVE=$${1#//} |
433 | +PACKAGE=$${RELATIVE%%:*} |
434 | +SUITE=$${RELATIVE##*:} |
435 | +OUTPUT_DIR=test.outputs |
436 | +if [ $$# -gt 1 ]; then |
437 | + OUTPUT_DIR=shard_$$2_of_*/test.outputs |
438 | +fi |
439 | + |
440 | +TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs) |
441 | + |
442 | +if [ ! -d "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" ]; then |
443 | + echo "Test output dir not found, perhaps shard_index needed?" |
444 | + echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]" |
445 | + exit 1 |
446 | +fi |
447 | + |
448 | +cd "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" && unzip -u outputs.zip |
449 | +open index.html |
450 | +EOF |
451 | +""", |
452 | + executable = True, |
453 | +) |
454 | + |
455 | +genrule( |
456 | + name = "test-node-data", |
457 | + outs = ["open-test-node-data.sh"], |
458 | + cmd = """set -euo pipefail |
459 | +cat << 'EOF' > $@ |
460 | + set -euo pipefail |
461 | + if [ $$# -eq 0 ]; then |
462 | + echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]" |
463 | + exit 1 |
464 | + fi |
465 | + |
466 | + RELATIVE=$${1#//} |
467 | + PACKAGE=$${RELATIVE%%:*} |
468 | + SUITE=$${RELATIVE##*:} |
469 | + OUTPUT_DIR=test.outputs |
470 | + if [ $$# -gt 1 ]; then |
471 | + OUTPUT_DIR=shard_$$2_of_*/test.outputs |
472 | + fi |
473 | + |
474 | + if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then |
475 | + echo "Test output dir not found, perhaps shard_index needed?" |
476 | + echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]" |
477 | + exit 1 |
478 | + fi |
479 | + |
480 | + cd bazel-testlogs/$$PACKAGE/$$SUITE/$$OUTPUT_DIR |
481 | + if [ -f outputs.zip ]; then |
482 | + unzip -u outputs.zip |
483 | + fi |
484 | + open index.html |
485 | + open ct_run.*/deps.*/run.*/log_private |
486 | +EOF |
487 | +""", |
488 | + executable = True, |
489 | +) |
490 | + |
491 | +# NOTE: this rule may not work properly if --remote_download_minimal has been used, |
492 | +# which is currently the default for remote runs |
493 | +genrule( |
494 | + name = "remote-test-node-data", |
495 | + outs = ["open-remote-test-node-data.sh"], |
496 | + cmd = """set -euo pipefail |
497 | +cat << 'EOF' > $@ |
498 | + set -euo pipefail |
499 | + if [ $$# -eq 0 ]; then |
500 | + echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]" |
501 | + exit 1 |
502 | + fi |
503 | + |
504 | + RELATIVE=$${1#//} |
505 | + PACKAGE=$${RELATIVE%%:*} |
506 | + SUITE=$${RELATIVE##*:} |
507 | + OUTPUT_DIR=test.outputs |
508 | + |
509 | + if [ $$# -gt 1 ]; then |
510 | + OUTPUT_DIR=shard_$$2_of_*/test.outputs |
511 | + fi |
512 | + |
513 | + TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs) |
514 | + |
515 | + if [ ! -d $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR ]; then |
516 | + echo "Test output dir not found, perhaps shard_index needed?" |
517 | + echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]" |
518 | + exit 1 |
519 | + fi |
520 | + |
521 | + cd $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR && unzip -u outputs.zip |
522 | + open index.html |
523 | + open ct_run.*/deps.*/run.*/log_private |
524 | +EOF |
525 | +""", |
526 | + executable = True, |
527 | ) |
528 | diff --git a/BUILD.inet_tcp_proxy b/BUILD.inet_tcp_proxy |
529 | index 303e530..eab7e2e 100644 |
530 | --- a/BUILD.inet_tcp_proxy |
531 | +++ b/BUILD.inet_tcp_proxy |
532 | @@ -1,8 +1,8 @@ |
533 | -load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib") |
534 | +load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
535 | |
536 | -erlang_lib( |
537 | - app_name = "inet_tcp_proxy_dist", |
538 | - app_version = "0.1.0", |
539 | +erlang_app( |
540 | app_description = "Erlang distribution proxy to simulate network failures", |
541 | app_module = "inet_tcp_proxy_dist_app", |
542 | + app_name = "inet_tcp_proxy_dist", |
543 | + app_version = "0.1.0", |
544 | ) |
545 | diff --git a/BUILD.jose b/BUILD.jose |
546 | new file mode 100644 |
547 | index 0000000..9321fd0 |
548 | --- /dev/null |
549 | +++ b/BUILD.jose |
550 | @@ -0,0 +1,10 @@ |
551 | +load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
552 | + |
553 | +erlang_app( |
554 | + app_name = "jose", |
555 | + erlc_opts = [ |
556 | + "+deterministic", |
557 | + "+debug_info", |
558 | + ], |
559 | + stamp = 0, |
560 | +) |
561 | diff --git a/BUILD.osiris b/BUILD.osiris |
562 | new file mode 100644 |
563 | index 0000000..7779335 |
564 | --- /dev/null |
565 | +++ b/BUILD.osiris |
566 | @@ -0,0 +1,33 @@ |
567 | +load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
568 | + |
569 | +NAME = "osiris" |
570 | + |
571 | +VERSION = "0.1.0" |
572 | + |
573 | +APP_ENV = """[ |
574 | + {data_dir, "/tmp/osiris"}, |
575 | + {port_range, {6000, 6500}}, |
576 | + {max_segment_size_chunks, 256000} |
577 | +]""" |
578 | + |
579 | +EXTRA_APPS = [ |
580 | + "sasl", |
581 | + "crypto", |
582 | +] |
583 | + |
584 | +DEPS = [ |
585 | + "@gen_batch_server//:erlang_app", |
586 | +] |
587 | + |
588 | +RUNTIME_DEPS = [ |
589 | + "@seshat//:erlang_app", |
590 | +] |
591 | + |
592 | +erlang_app( |
593 | + app_env = APP_ENV, |
594 | + app_name = NAME, |
595 | + app_version = VERSION, |
596 | + extra_apps = EXTRA_APPS, |
597 | + runtime_deps = RUNTIME_DEPS, |
598 | + deps = DEPS, |
599 | +) |
600 | diff --git a/BUILD.ranch b/BUILD.ranch |
601 | index 7a89e08..55f02b0 100644 |
602 | --- a/BUILD.ranch |
603 | +++ b/BUILD.ranch |
604 | @@ -1,25 +1,17 @@ |
605 | -load("@bazel-erlang//:bazel_erlang_lib.bzl", "app_file", "bazel_erlang_lib", "erlc", |
606 | -"DEFAULT_ERLC_OPTS") |
607 | +load("@rules_erlang//:app_file.bzl", "app_file") |
608 | +load("@rules_erlang//:erlang_app_info.bzl", "erlang_app_info") |
609 | +load("@rules_erlang//:erlang_app.bzl", "DEFAULT_ERLC_OPTS") |
610 | +load("@rules_erlang//:erlang_bytecode.bzl", "erlang_bytecode") |
611 | |
612 | -FIRST_SRCS = [ |
613 | - "src/ranch_transport.erl", |
614 | -] |
615 | - |
616 | -erlc( |
617 | - name = "first_beam_files", |
618 | - hdrs = glob(["include/**/*.hrl", "src/**/*.hrl"]), |
619 | - srcs = glob(FIRST_SRCS), |
620 | - erlc_opts = DEFAULT_ERLC_OPTS, |
621 | - dest = "ebin", |
622 | -) |
623 | - |
624 | -erlc( |
625 | +erlang_bytecode( |
626 | name = "beam_files", |
627 | - hdrs = glob(["include/**/*.hrl", "src/**/*.hrl"]), |
628 | - srcs = glob(["src/**/*.erl"], exclude = FIRST_SRCS), |
629 | - beam = [":first_beam_files"], |
630 | - erlc_opts = DEFAULT_ERLC_OPTS, |
631 | + srcs = glob(["src/**/*.erl"]), |
632 | + hdrs = glob([ |
633 | + "include/**/*.hrl", |
634 | + "src/**/*.hrl", |
635 | + ]), |
636 | dest = "ebin", |
637 | + erlc_opts = DEFAULT_ERLC_OPTS, |
638 | ) |
639 | |
640 | genrule( |
641 | @@ -33,14 +25,17 @@ app_file( |
642 | name = "app_file", |
643 | app_name = "ranch", |
644 | app_version = "2.1.0", |
645 | - modules = [":first_beam_files", ":beam_files"], |
646 | + modules = [":beam_files"], |
647 | ) |
648 | |
649 | -bazel_erlang_lib( |
650 | - name = "bazel_erlang_lib", |
651 | - app_name = "ranch", |
652 | - app = ":app_file", |
653 | +erlang_app_info( |
654 | + name = "erlang_app", |
655 | hdrs = glob(["include/**/*.hrl"]), |
656 | - beam = [":first_beam_files", ":beam_files", ":appup"], |
657 | + app = ":app_file", |
658 | + app_name = "ranch", |
659 | + beam = [ |
660 | + ":beam_files", |
661 | + ":appup", |
662 | + ], |
663 | visibility = ["//visibility:public"], |
664 | ) |
665 | diff --git a/BUILD.trust_store_http b/BUILD.trust_store_http |
666 | deleted file mode 100644 |
667 | index 9fceaaf..0000000 |
668 | --- a/BUILD.trust_store_http |
669 | +++ /dev/null |
670 | @@ -1,15 +0,0 @@ |
671 | -load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib") |
672 | - |
673 | -erlang_lib( |
674 | - app_name = "trust_store_http", |
675 | - app_description = "Trust store HTTP server", |
676 | - app_module = "trust_store_http_app", |
677 | - app_version = "1.0.0", |
678 | - extra_apps = [ |
679 | - "ssl", |
680 | - ], |
681 | - deps = [ |
682 | - "@cowboy//:bazel_erlang_lib", |
683 | - "@jsx//:bazel_erlang_lib", |
684 | - ], |
685 | -) |
686 | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md |
687 | index 2e32d5f..d490c90 100644 |
688 | --- a/CONTRIBUTING.md |
689 | +++ b/CONTRIBUTING.md |
690 | @@ -10,7 +10,7 @@ The process is fairly standard: |
691 | * Fork the repository or repositories you plan on contributing to |
692 | * Run `make` |
693 | * Create a branch with a descriptive name in the relevant repositories |
694 | - * Make your changes, run tests, commit with a [descriptive message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), push to your fork |
695 | + * Make your changes, run tests, ensure correct code formatting, commit with a [descriptive message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), push to your fork |
696 | * Submit pull requests with an explanation what has been changed and **why** |
697 | * Submit a filled out and signed [Contributor Agreement](https://github.com/rabbitmq/ca#how-to-submit) if needed (see below) |
698 | * Be patient. We will get to your pull request eventually |
699 | @@ -43,6 +43,21 @@ make ct-cluster_rename t=cluster_size_3:partial_one_by_one |
700 | |
701 | Test output is in the `logs/` subdirectory. |
702 | |
703 | +## Formatting the RabbitMQ CLI |
704 | + |
705 | +The RabbitMQ CLI uses the standard [Elixir code formatter](https://hexdocs.pm/mix/main/Mix.Tasks.Format.html). To ensure correct code formatting of the CLI: |
706 | + |
707 | +``` |
708 | +cd deps/rabbitmq_cli |
709 | +mix format |
710 | +``` |
711 | + |
712 | +Running `make` will validate the CLI formatting and issue any necessary warnings. Alternatively, run the format checker in the `deps/rabbitmq_cli` directory: |
713 | + |
714 | +``` |
715 | +mix format --check-formatted |
716 | +``` |
717 | + |
718 | ## Code of Conduct |
719 | |
720 | See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). |
721 | diff --git a/MODULE.bazel b/MODULE.bazel |
722 | new file mode 100644 |
723 | index 0000000..e499ef0 |
724 | --- /dev/null |
725 | +++ b/MODULE.bazel |
726 | @@ -0,0 +1,420 @@ |
727 | +module( |
728 | + name = "rabbitmq-server", |
729 | + version = "3.9.25", |
730 | +) |
731 | + |
732 | +bazel_dep( |
733 | + name = "rules_pkg", |
734 | + version = "0.5.1", |
735 | +) |
736 | + |
737 | +bazel_dep( |
738 | + name = "bazel_skylib", |
739 | + version = "1.2.0", |
740 | +) |
741 | + |
742 | +bazel_dep( |
743 | + name = "platforms", |
744 | + version = "0.0.5", |
745 | +) |
746 | + |
747 | +bazel_dep( |
748 | + name = "rules_cc", |
749 | + version = "0.0.2", |
750 | +) |
751 | + |
752 | +bazel_dep( |
753 | + name = "rules_erlang", |
754 | + version = "3.8.3", |
755 | +) |
756 | + |
757 | +erlang_config = use_extension( |
758 | + "@rules_erlang//bzlmod:extensions.bzl", |
759 | + "erlang_config", |
760 | +) |
761 | + |
762 | +erlang_config.internal_erlang_from_github_release( |
763 | + name = "24", |
764 | + sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82", |
765 | + version = "24.3.4.6", |
766 | +) |
767 | + |
768 | +erlang_config.internal_erlang_from_github_release( |
769 | + name = "25_0", |
770 | + sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf", |
771 | + version = "25.0.4", |
772 | +) |
773 | + |
774 | +erlang_config.internal_erlang_from_github_release( |
775 | + name = "25_1", |
776 | + sha256 = "42840c32e13a27bdb2c376d69aa22466513d441bfe5eb882de23baf8218308d3", |
777 | + version = "25.1.1", |
778 | +) |
779 | + |
780 | +erlang_config.internal_erlang_from_http_archive( |
781 | + name = "git_master", |
782 | + strip_prefix = "otp-master", |
783 | + url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz", |
784 | + version = "master", |
785 | +) |
786 | + |
787 | +use_repo( |
788 | + erlang_config, |
789 | + "erlang_config", |
790 | +) |
791 | + |
792 | +elixir_config = use_extension( |
793 | + "//bazel/bzlmod:extensions.bzl", |
794 | + "elixir_config", |
795 | +) |
796 | + |
797 | +elixir_config.internal_elixir_from_github_release( |
798 | + name = "1_13", |
799 | + sha256 = "95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579", |
800 | + version = "1.13.4", |
801 | +) |
802 | +elixir_config.internal_elixir_from_github_release( |
803 | + name = "1_14", |
804 | + sha256 = "8ad537eb84471c24c3e6984c37884f06a7834ff2efd72c436c222baee8df9a11", |
805 | + version = "1.14.1", |
806 | +) |
807 | + |
808 | +use_repo( |
809 | + elixir_config, |
810 | + "elixir_config", |
811 | +) |
812 | + |
813 | +register_toolchains( |
814 | + "@erlang_config//24:toolchain", |
815 | + "@erlang_config//24:toolchain2", |
816 | + "@erlang_config//25_0:toolchain", |
817 | + "@erlang_config//25_0:toolchain2", |
818 | + "@erlang_config//25_1:toolchain", |
819 | + "@erlang_config//25_1:toolchain2", |
820 | + "@erlang_config//git_master:toolchain", |
821 | + "@erlang_config//git_master:toolchain2", |
822 | + "@elixir_config//external:toolchain", |
823 | + "@elixir_config//1_13:toolchain", |
824 | + "@elixir_config//1_14:toolchain", |
825 | +) |
826 | + |
827 | +erlang_package = use_extension( |
828 | + "@rules_erlang//bzlmod:extensions.bzl", |
829 | + "erlang_package", |
830 | +) |
831 | + |
832 | +erlang_package.hex_package( |
833 | + name = "accept", |
834 | + version = "0.3.5", |
835 | + sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8", |
836 | +) |
837 | + |
838 | +erlang_package.hex_package( |
839 | + name = "aten", |
840 | + version = "0.5.8", |
841 | + sha256 = "64d40a8cf0ddfea4e13af00b7327f0925147f83612d0627d9506cbffe90c13ef", |
842 | +) |
843 | + |
844 | +erlang_package.hex_package( |
845 | + name = "base64url", |
846 | + version = "1.0.1", |
847 | + sha256 = "f9b3add4731a02a9b0410398b475b33e7566a695365237a6bdee1bb447719f5c", |
848 | +) |
849 | + |
850 | +erlang_package.hex_package( |
851 | + name = "cowboy", |
852 | + version = "2.8.0", |
853 | + sha256 = "4643e4fba74ac96d4d152c75803de6fad0b3fa5df354c71afdd6cbeeb15fac8a", |
854 | +) |
855 | + |
856 | +erlang_package.hex_package( |
857 | + name = "cowlib", |
858 | + version = "2.9.1", |
859 | + sha256 = "e4175dc240a70d996156160891e1c62238ede1729e45740bdd38064dad476170", |
860 | +) |
861 | + |
862 | +erlang_package.hex_package( |
863 | + name = "credentials_obfuscation", |
864 | + version = "3.1.0", |
865 | + sha256 = "04884e62b1c6cdfba999d4d6b3e99bc0a59d5e439517bc5c01767255afb7b778", |
866 | +) |
867 | + |
868 | +erlang_package.git_package( |
869 | + repository = "extend/ct_helper", |
870 | + branch = "master", |
871 | +) |
872 | + |
873 | +erlang_package.hex_package( |
874 | + name = "cuttlefish", |
875 | + version = "3.0.1", |
876 | + sha256 = "3feff3ae4ed1f0ca6df87ac89235068fbee9242ee85d2ac17fb1b8ce0e30f1a6", |
877 | +) |
878 | + |
879 | +erlang_package.hex_package( |
880 | + name = "eetcd", |
881 | + version = "0.3.6", |
882 | + sha256 = "66493bfd6698c1b6baa49679034c3def071ff329961ca1aa7b1dee061c2809af", |
883 | + build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
884 | + |
885 | +erlang_app( |
886 | + app_name = "eetcd", |
887 | + erlc_opts = [ |
888 | + "+deterministic", |
889 | + "+debug_info", |
890 | + ], |
891 | + runtime_deps = [ |
892 | + "@gun//:erlang_app", |
893 | + ], |
894 | +) |
895 | +""", |
896 | +) |
897 | + |
898 | +erlang_package.git_package( |
899 | + name = "emqtt", |
900 | + repository = "emqx/emqtt", |
901 | + tag = "1.7.0-rc.2", |
902 | + build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
903 | + |
904 | +erlang_app( |
905 | + app_name = "emqtt", |
906 | + erlc_opts = [ |
907 | + "+deterministic", |
908 | + "+debug_info", |
909 | + "-DBUILD_WITHOUT_QUIC", |
910 | + ], |
911 | +) |
912 | +""", |
913 | +) |
914 | + |
915 | +erlang_package.hex_package( |
916 | + name = "enough", |
917 | + version = "0.1.0", |
918 | + sha256 = "0460c7abda5f5e0ea592b12bc6976b8a5c4b96e42f332059cd396525374bf9a1", |
919 | +) |
920 | + |
921 | +erlang_package.hex_package( |
922 | + name = "gen_batch_server", |
923 | + version = "0.8.7", |
924 | + sha256 = "94a49a528486298b009d2a1b452132c0a0d68b3e89d17d3764cb1ec879b7557a", |
925 | +) |
926 | + |
927 | +erlang_package.hex_package( |
928 | + name = "gun", |
929 | + version = "1.3.3", |
930 | + sha256 = "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0", |
931 | +) |
932 | + |
933 | +erlang_package.git_package( |
934 | + name = "inet_tcp_proxy_dist", |
935 | + repository = "rabbitmq/inet_tcp_proxy", |
936 | + branch = "master", |
937 | +) |
938 | + |
939 | +erlang_package.git_package( |
940 | + name = "jose", |
941 | + repository = "potatosalad/erlang-jose", |
942 | + commit = "2b1d66b5f4fbe33cb198149a8cb23895a2c877ea", |
943 | +) |
944 | + |
945 | +erlang_package.hex_package( |
946 | + name = "jsx", |
947 | + version = "3.1.0", |
948 | + sha256 = "0c5cc8fdc11b53cc25cf65ac6705ad39e54ecc56d1c22e4adb8f5a53fb9427f3", |
949 | +) |
950 | + |
951 | +erlang_package.git_package( |
952 | + repository = "eproxus/meck", |
953 | + branch = "master", |
954 | +) |
955 | + |
956 | +erlang_package.hex_package( |
957 | + name = "observer_cli", |
958 | + version = "1.7.3", |
959 | + sha256 = "a41b6d3e11a3444e063e09cc225f7f3e631ce14019e5fbcaebfda89b1bd788ea", |
960 | +) |
961 | + |
962 | +erlang_package.git_package( |
963 | + repository = "rabbitmq/osiris", |
964 | + tag = "v1.2.6", |
965 | + patch_cmds = ["""sed -i"_orig" -E 's/ct_sharded\\.bzl/ct.bzl/' BUILD.bazel |
966 | +"""], |
967 | +) |
968 | + |
969 | +erlang_package.hex_package( |
970 | + name = "prometheus", |
971 | + version = "4.9.1", |
972 | + sha256 = "d75e80d7b2c1be6bf296e211e806e939ae3d9e0428f45b4caad1817f028213d3", |
973 | + build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
974 | + |
975 | +erlang_app( |
976 | + app_name = "prometheus", |
977 | + erlc_opts = [ |
978 | + "+deterministic", |
979 | + "+debug_info", |
980 | + ], |
981 | + deps = [ |
982 | + "@quantile_estimator//:erlang_app", |
983 | + ], |
984 | +) |
985 | +""", |
986 | +) |
987 | + |
988 | +erlang_package.git_package( |
989 | + repository = "manopapad/proper", |
990 | + branch = "master", |
991 | +) |
992 | + |
993 | +erlang_package.hex_package( |
994 | + name = "quantile_estimator", |
995 | + version = "0.2.1", |
996 | + sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946", |
997 | +) |
998 | + |
999 | +erlang_package.git_package( |
1000 | + repository = "rabbitmq/ra", |
1001 | + tag = "v2.0.13", |
1002 | + patch_cmds = ["""sed -i"_orig" -E 's/erlc/erlang_bytecode/g' ra.bzl |
1003 | +"""], |
1004 | + build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
1005 | + |
1006 | +NAME = "ra" |
1007 | + |
1008 | +EXTRA_APPS = [ |
1009 | + "sasl", |
1010 | + "crypto", |
1011 | +] |
1012 | + |
1013 | +DEPS = [ |
1014 | + "@gen_batch_server//:erlang_app", |
1015 | +] |
1016 | + |
1017 | +RUNTIME_DEPS = [ |
1018 | + "@aten//:erlang_app", |
1019 | +] |
1020 | + |
1021 | +erlang_app( |
1022 | + app_name = NAME, |
1023 | + extra_apps = EXTRA_APPS, |
1024 | + runtime_deps = RUNTIME_DEPS, |
1025 | + deps = DEPS, |
1026 | +) |
1027 | +""", |
1028 | +) |
1029 | + |
1030 | +erlang_package.hex_package( |
1031 | + name = "ranch", |
1032 | + version = "2.1.0", |
1033 | + sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916", |
1034 | +) |
1035 | + |
1036 | +erlang_package.hex_package( |
1037 | + name = "recon", |
1038 | + version = "2.5.2", |
1039 | + sha256 = "2c7523c8dee91dff41f6b3d63cba2bd49eb6d2fe5bf1eec0df7f87eb5e230e1c", |
1040 | +) |
1041 | + |
1042 | +erlang_package.hex_package( |
1043 | + name = "redbug", |
1044 | + version = "2.0.7", |
1045 | + sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c", |
1046 | +) |
1047 | + |
1048 | +erlang_package.git_package( |
1049 | + repository = "rabbitmq/seshat", |
1050 | + tag = "0.1.0", |
1051 | +) |
1052 | + |
1053 | +erlang_package.hex_package( |
1054 | + name = "stdout_formatter", |
1055 | + version = "0.2.4", |
1056 | + sha256 = "51f1df921b0477275ea712763042155dbc74acc75d9648dbd54985c45c913b29", |
1057 | +) |
1058 | + |
1059 | +erlang_package.git_package( |
1060 | + repository = "schlagert/syslog", |
1061 | + tag = "4.0.0", |
1062 | +) |
1063 | + |
1064 | +erlang_package.hex_package( |
1065 | + name = "sysmon_handler", |
1066 | + version = "1.3.0", |
1067 | + sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef", |
1068 | +) |
1069 | + |
1070 | +erlang_package.hex_package( |
1071 | + name = "systemd", |
1072 | + version = "0.6.1", |
1073 | + sha256 = "8ec5ed610a5507071cdb7423e663e2452a747a624bb8a58582acd9491ccad233", |
1074 | + build_file_content = """load("@rules_erlang//:erlang_app.bzl", "erlang_app") |
1075 | + |
1076 | +erlang_app( |
1077 | + app_name = "systemd", |
1078 | + erlc_opts = [ |
1079 | + "+deterministic", |
1080 | + "+debug_info", |
1081 | + ], |
1082 | + deps = [ |
1083 | + "@enough//:erlang_app", |
1084 | + ], |
1085 | +) |
1086 | +""", |
1087 | +) |
1088 | + |
1089 | +use_repo( |
1090 | + erlang_package, |
1091 | + "accept", |
1092 | + "aten", |
1093 | + "base64url", |
1094 | + "cowboy", |
1095 | + "cowlib", |
1096 | + "credentials_obfuscation", |
1097 | + "ct_helper", |
1098 | + "cuttlefish", |
1099 | + "eetcd", |
1100 | + "emqtt", |
1101 | + "gen_batch_server", |
1102 | + "gun", |
1103 | + "inet_tcp_proxy_dist", |
1104 | + "jose", |
1105 | + "jsx", |
1106 | + "meck", |
1107 | + "observer_cli", |
1108 | + "osiris", |
1109 | + "prometheus", |
1110 | + "proper", |
1111 | + "ra", |
1112 | + "ranch", |
1113 | + "recon", |
1114 | + "redbug", |
1115 | + "seshat", |
1116 | + "stdout_formatter", |
1117 | + "syslog", |
1118 | + "sysmon_handler", |
1119 | + "systemd", |
1120 | +) |
1121 | + |
1122 | +rbe = use_extension( |
1123 | + "//bazel/bzlmod:extensions.bzl", |
1124 | + "rbe", |
1125 | +) |
1126 | + |
1127 | +rbe.git_repository( |
1128 | + remote = "https://github.com/rabbitmq/rbe-erlang-platform.git", |
1129 | + branch = "linux-rbe", |
1130 | +) |
1131 | + |
1132 | +use_repo( |
1133 | + rbe, |
1134 | + "rbe", |
1135 | +) |
1136 | + |
1137 | +secondary_umbrella = use_extension( |
1138 | + "//bazel/bzlmod:extensions.bzl", |
1139 | + "secondary_umbrella", |
1140 | + dev_dependency = True, |
1141 | +) |
1142 | + |
1143 | +use_repo( |
1144 | + secondary_umbrella, |
1145 | + "rabbitmq-server-generic-unix-3.8", |
1146 | +) |
1147 | diff --git a/Makefile b/Makefile |
1148 | index a381433..2a480c6 100644 |
1149 | --- a/Makefile |
1150 | +++ b/Makefile |
1151 | @@ -29,11 +29,24 @@ DEP_PLUGINS = rabbit_common/mk/rabbitmq-dist.mk \ |
1152 | |
1153 | DISABLE_DISTCLEAN = 1 |
1154 | |
1155 | -# FIXME: Use erlang.mk patched for RabbitMQ, while waiting for PRs to be |
1156 | -# reviewed and merged. |
1157 | - |
1158 | -ERLANG_MK_REPO = https://github.com/rabbitmq/erlang.mk.git |
1159 | -ERLANG_MK_COMMIT = rabbitmq-tmp |
1160 | +XREF_SCOPE = app deps |
1161 | + |
1162 | +# We add all the applications that are in non-standard paths |
1163 | +# so they are included in the analyses as well. |
1164 | +XREF_EXTRA_APP_DIRS = $(filter-out deps/rabbitmq_cli/_build/dev/lib/rabbit_common/,$(wildcard deps/rabbitmq_cli/_build/dev/lib/*/)) deps/rabbit/apps/rabbitmq_prelaunch/ |
1165 | + |
1166 | +# For Elixir protocols the right fix is to include the consolidated/ |
1167 | +# folders in addition to ebin/. However this creates conflicts because |
1168 | +# some modules are duplicated. So instead we ignore warnings from |
1169 | +# protocols directly. |
1170 | +XREF_IGNORE = [ \ |
1171 | + {'Elixir.CSV.Encode',impl_for,1}, \ |
1172 | + {'Elixir.JSON.Decoder',impl_for,1}, \ |
1173 | + {'Elixir.JSON.Encoder',impl_for,1}, \ |
1174 | + {'Elixir.RabbitMQ.CLI.Core.DataCoercion',impl_for,1}] |
1175 | + |
1176 | +# Include Elixir libraries in the Xref checks. |
1177 | +xref: ERL_LIBS := $(ERL_LIBS):$(CURDIR)/apps:$(CURDIR)/deps:$(dir $(shell elixir --eval ":io.format '~s~n', [:code.lib_dir :elixir ]")) |
1178 | |
1179 | ifneq ($(wildcard deps/.hex/cache.erl),) |
1180 | deps:: restore-hex-cache-ets-file |
1181 | diff --git a/README.md b/README.md |
1182 | index b4bdb26..7844a21 100644 |
1183 | --- a/README.md |
1184 | +++ b/README.md |
1185 | @@ -2,7 +2,8 @@ |
1186 | |
1187 | # RabbitMQ Server |
1188 | |
1189 | -[RabbitMQ](https://rabbitmq.com) is a [feature rich](https://rabbitmq.com/documentation.html), multi-protocol messaging broker. It supports: |
1190 | +[RabbitMQ](https://rabbitmq.com) is a [feature rich](https://rabbitmq.com/documentation.html), |
1191 | +multi-protocol messaging and streaming broker. It supports: |
1192 | |
1193 | * AMQP 0-9-1 |
1194 | * AMQP 1.0 |
1195 | @@ -13,14 +14,14 @@ |
1196 | ## Installation |
1197 | |
1198 | * [Installation guides](https://rabbitmq.com/download.html) for various platforms |
1199 | - * [Kubernetes Cluster Operator](https://www.rabbitmq.com/kubernetes/operator/operator-overview.html) |
1200 | + * [Kubernetes Cluster Operator](https://rabbitmq.com/kubernetes/operator/operator-overview.html) |
1201 | * [Changelog](https://www.rabbitmq.com/changelog.html) |
1202 | * [Releases](https://github.com/rabbitmq/rabbitmq-server/releases) on GitHub |
1203 | - * [Supported and unsupported series](https://www.rabbitmq.com/versions.html) |
1204 | + * [Currently supported released series](https://www.rabbitmq.com/versions.html) |
1205 | * [Supported Erlang versions](https://www.rabbitmq.com/which-erlang.html) |
1206 | |
1207 | |
1208 | -## Tutorials & Documentation |
1209 | +## Tutorials and Documentation |
1210 | |
1211 | * [RabbitMQ tutorials](https://rabbitmq.com/getstarted.html) |
1212 | * [All documentation guides](https://rabbitmq.com/documentation.html) |
1213 | @@ -32,15 +33,19 @@ Some key doc guides include |
1214 | * [Configuration guide](https://rabbitmq.com/configure.html) |
1215 | * [Client libraries and tools](https://rabbitmq.com/devtools.html) |
1216 | * [Monitoring](https://rabbitmq.com/monitoring.html) and [Prometheus/Grafana](https://www.rabbitmq.com/prometheus.html) guides |
1217 | + * [Kubernetes Cluster Operator](https://rabbitmq.com/kubernetes/operator/operator-overview.html) |
1218 | * [Production checklist](https://rabbitmq.com/production-checklist.html) |
1219 | * [Quorum queues](https://rabbitmq.com/quorum-queues.html): a replicated, data safety- and consistency-oriented queue type |
1220 | + * [Streams](https://rabbitmq.com/streams.html): a persistent and replicated append-only log with non-destructive consumer semantics |
1221 | * [Runnable tutorials](https://github.com/rabbitmq/rabbitmq-tutorials/) |
1222 | - * [Documentation source](https://github.com/rabbitmq/rabbitmq-website/) |
1223 | |
1224 | +RabbitMQ documentation is also [developed on GitHub](https://github.com/rabbitmq/rabbitmq-website/). |
1225 | |
1226 | -## Commercial Support |
1227 | +## Commercial Features and Support |
1228 | |
1229 | -* [Commercial support](https://rabbitmq.com/services.html) from [VMware](https://vmware.com) for open source RabbitMQ |
1230 | + * [Commercial edition of RabbitMQ](https://tanzu.vmware.com/rabbitmq) |
1231 | + * [Commercial edition for Kubernetes](https://rabbitmq.com/kubernetes/tanzu/installation.html) |
1232 | + * [Commercial support](https://rabbitmq.com/services.html) from [VMware](https://vmware.com) for open source RabbitMQ |
1233 | |
1234 | ## Getting Help from the Community |
1235 | |
1236 | @@ -70,4 +75,4 @@ RabbitMQ server is [licensed under the MPL 2.0](LICENSE-MPL-RabbitMQ). |
1237 | |
1238 | ## Copyright |
1239 | |
1240 | -(c) 2007-2021 VMware, Inc. or its affiliates. |
1241 | +(c) 2007-2022 VMware, Inc. or its affiliates. |
1242 | diff --git a/WORKSPACE b/WORKSPACE |
1243 | new file mode 100644 |
1244 | index 0000000..da290c5 |
1245 | --- /dev/null |
1246 | +++ b/WORKSPACE |
1247 | @@ -0,0 +1,197 @@ |
1248 | +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") |
1249 | + |
1250 | +http_archive( |
1251 | + name = "bazel_skylib", |
1252 | + sha256 = "af87959afe497dc8dfd4c6cb66e1279cb98ccc84284619ebfec27d9c09a903de", |
1253 | + urls = [ |
1254 | + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", |
1255 | + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.0/bazel-skylib-1.2.0.tar.gz", |
1256 | + ], |
1257 | +) |
1258 | + |
1259 | +load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") |
1260 | + |
1261 | +bazel_skylib_workspace() |
1262 | + |
1263 | +http_archive( |
1264 | + name = "rules_pkg", |
1265 | + sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d", |
1266 | + urls = [ |
1267 | + "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz", |
1268 | + "https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz", |
1269 | + ], |
1270 | +) |
1271 | + |
1272 | +load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") |
1273 | + |
1274 | +rules_pkg_dependencies() |
1275 | + |
1276 | +http_archive( |
1277 | + name = "io_bazel_rules_docker", |
1278 | + sha256 = "b1e80761a8a8243d03ebca8845e9cc1ba6c82ce7c5179ce2b295cd36f7e394bf", |
1279 | + urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.25.0/rules_docker-v0.25.0.tar.gz"], |
1280 | +) |
1281 | + |
1282 | +load( |
1283 | + "@io_bazel_rules_docker//repositories:repositories.bzl", |
1284 | + container_repositories = "repositories", |
1285 | +) |
1286 | + |
1287 | +container_repositories() |
1288 | + |
1289 | +load("@io_bazel_rules_docker//repositories:deps.bzl", container_deps = "deps") |
1290 | + |
1291 | +container_deps() |
1292 | + |
1293 | +load( |
1294 | + "@io_bazel_rules_docker//container:container.bzl", |
1295 | + "container_pull", |
1296 | +) |
1297 | + |
1298 | +container_pull( |
1299 | + name = "ubuntu2004", |
1300 | + registry = "index.docker.io", |
1301 | + repository = "pivotalrabbitmq/ubuntu", |
1302 | + tag = "20.04", |
1303 | +) |
1304 | + |
1305 | +http_file( |
1306 | + name = "openssl-1.1.1g", |
1307 | + downloaded_file_path = "openssl-1.1.1g.tar.gz", |
1308 | + sha256 = "ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46", |
1309 | + urls = ["https://www.openssl.org/source/openssl-1.1.1g.tar.gz"], |
1310 | +) |
1311 | + |
1312 | +http_file( |
1313 | + name = "otp_src_24", |
1314 | + downloaded_file_path = "OTP-24.3.4.6.tar.gz", |
1315 | + sha256 = "dc3d2c54eeb093e0dc9a0fe493bc69d6dfac0affbe77c9e3c935aa86c0f63cd5", |
1316 | + urls = ["https://github.com/erlang/otp/archive/OTP-24.3.4.6.tar.gz"], |
1317 | +) |
1318 | + |
1319 | +http_file( |
1320 | + name = "otp_src_25_0", |
1321 | + downloaded_file_path = "OTP-25.0.4.tar.gz", |
1322 | + sha256 = "05878cb51a64b33c86836b12a21903075c300409b609ad5e941ddb0feb8c2120", |
1323 | + urls = ["https://github.com/erlang/otp/archive/OTP-25.0.4.tar.gz"], |
1324 | +) |
1325 | + |
1326 | +http_file( |
1327 | + name = "otp_src_25_1", |
1328 | + downloaded_file_path = "OTP-25.1.1.tar.gz", |
1329 | + sha256 = "3348616450868fa8b39bddf0b528030e4525afef5b30e3a4b54c375add7d3f4f", |
1330 | + urls = ["https://github.com/erlang/otp/archive/OTP-25.1.1.tar.gz"], |
1331 | +) |
1332 | + |
1333 | +http_archive( |
1334 | + name = "io_buildbuddy_buildbuddy_toolchain", |
1335 | + sha256 = "a2a5cccec251211e2221b1587af2ce43c36d32a42f5d881737db3b546a536510", |
1336 | + strip_prefix = "buildbuddy-toolchain-829c8a574f706de5c96c54ca310f139f4acda7dd", |
1337 | + urls = ["https://github.com/buildbuddy-io/buildbuddy-toolchain/archive/829c8a574f706de5c96c54ca310f139f4acda7dd.tar.gz"], |
1338 | +) |
1339 | + |
1340 | +load("@io_buildbuddy_buildbuddy_toolchain//:deps.bzl", "buildbuddy_deps") |
1341 | + |
1342 | +buildbuddy_deps() |
1343 | + |
1344 | +load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy") |
1345 | + |
1346 | +buildbuddy( |
1347 | + name = "buildbuddy_toolchain", |
1348 | + llvm = True, |
1349 | +) |
1350 | + |
1351 | +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") |
1352 | + |
1353 | +git_repository( |
1354 | + name = "rbe", |
1355 | + branch = "linux-rbe", |
1356 | + remote = "https://github.com/rabbitmq/rbe-erlang-platform.git", |
1357 | +) |
1358 | + |
1359 | +git_repository( |
1360 | + name = "rules_erlang", |
1361 | + remote = "https://github.com/rabbitmq/rules_erlang.git", |
1362 | + tag = "3.7.2", |
1363 | +) |
1364 | + |
1365 | +load( |
1366 | + "@rules_erlang//:rules_erlang.bzl", |
1367 | + "erlang_config", |
1368 | + "internal_erlang_from_github_release", |
1369 | + "internal_erlang_from_http_archive", |
1370 | + "rules_erlang_dependencies", |
1371 | +) |
1372 | + |
1373 | +erlang_config( |
1374 | + internal_erlang_configs = [ |
1375 | + internal_erlang_from_github_release( |
1376 | + name = "24", |
1377 | + sha256 = "8444ff9abe23aea268adbb95463561fc222c965052d35d7c950b17be01c3ad82", |
1378 | + version = "24.3.4.6", |
1379 | + ), |
1380 | + internal_erlang_from_github_release( |
1381 | + name = "25_0", |
1382 | + sha256 = "8fc707f92a124b2aeb0f65dcf9ac8e27b2a305e7bcc4cc1b2fdf770eec0165bf", |
1383 | + version = "25.0.4", |
1384 | + ), |
1385 | + internal_erlang_from_github_release( |
1386 | + name = "25_1", |
1387 | + sha256 = "42840c32e13a27bdb2c376d69aa22466513d441bfe5eb882de23baf8218308d3", |
1388 | + version = "25.1.1", |
1389 | + ), |
1390 | + internal_erlang_from_http_archive( |
1391 | + name = "git_master", |
1392 | + strip_prefix = "otp-master", |
1393 | + url = "https://github.com/erlang/otp/archive/refs/heads/master.tar.gz", |
1394 | + version = "master", |
1395 | + ), |
1396 | + ], |
1397 | +) |
1398 | + |
1399 | +rules_erlang_dependencies() |
1400 | + |
1401 | +load("@erlang_config//:defaults.bzl", "register_defaults") |
1402 | + |
1403 | +register_defaults() |
1404 | + |
1405 | +load( |
1406 | + "//bazel/elixir:elixir.bzl", |
1407 | + "elixir_config", |
1408 | + "internal_elixir_from_github_release", |
1409 | +) |
1410 | + |
1411 | +elixir_config( |
1412 | + internal_elixir_configs = [ |
1413 | + internal_elixir_from_github_release( |
1414 | + name = "1_13", |
1415 | + sha256 = "95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579", |
1416 | + version = "1.13.4", |
1417 | + ), |
1418 | + internal_elixir_from_github_release( |
1419 | + name = "1_14", |
1420 | + sha256 = "8ad537eb84471c24c3e6984c37884f06a7834ff2efd72c436c222baee8df9a11", |
1421 | + version = "1.14.1", |
1422 | + ), |
1423 | + ], |
1424 | + rabbitmq_server_workspace = "@", |
1425 | +) |
1426 | + |
1427 | +load( |
1428 | + "@elixir_config//:defaults.bzl", |
1429 | + register_elixir_defaults = "register_defaults", |
1430 | +) |
1431 | + |
1432 | +register_elixir_defaults() |
1433 | + |
1434 | +load("//:workspace_helpers.bzl", "rabbitmq_external_deps") |
1435 | + |
1436 | +rabbitmq_external_deps(rabbitmq_workspace = "@") |
1437 | + |
1438 | +load("//deps/amqp10_client:activemq.bzl", "activemq_archive") |
1439 | + |
1440 | +activemq_archive() |
1441 | + |
1442 | +load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella") |
1443 | + |
1444 | +secondary_umbrella() |
1445 | diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel |
1446 | deleted file mode 100644 |
1447 | index 6c8bbf1..0000000 |
1448 | --- a/WORKSPACE.bazel |
1449 | +++ /dev/null |
1450 | @@ -1,108 +0,0 @@ |
1451 | -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
1452 | -load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") |
1453 | - |
1454 | -http_archive( |
1455 | - name = "rules_pkg", |
1456 | - sha256 = "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d", |
1457 | - urls = [ |
1458 | - "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", |
1459 | - "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", |
1460 | - ], |
1461 | -) |
1462 | - |
1463 | -load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") |
1464 | - |
1465 | -rules_pkg_dependencies() |
1466 | - |
1467 | -http_archive( |
1468 | - name = "io_buildbuddy_buildbuddy_toolchain", |
1469 | - sha256 = "48546946879b1fd2dcba327ba15776c822f2ce9a9ef1077be9bf3ecadcc1564a", |
1470 | - strip_prefix = "buildbuddy-toolchain-b2f5e7e3b126c6d7cf243227147478c0959bfc95", |
1471 | - urls = ["https://github.com/buildbuddy-io/buildbuddy-toolchain/archive/b2f5e7e3b126c6d7cf243227147478c0959bfc95.zip"], |
1472 | -) |
1473 | - |
1474 | -load("@io_buildbuddy_buildbuddy_toolchain//:deps.bzl", "buildbuddy_deps") |
1475 | - |
1476 | -buildbuddy_deps() |
1477 | - |
1478 | -load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy") |
1479 | - |
1480 | -buildbuddy( |
1481 | - name = "buildbuddy_toolchain", |
1482 | - llvm = True, |
1483 | -) |
1484 | - |
1485 | -git_repository( |
1486 | - name = "rbe_23", |
1487 | - commit = "b21c066e426de48e526cc0f8c5158b7024d04e85", |
1488 | - remote = "https://github.com/rabbitmq/rbe-erlang-platform.git", |
1489 | -) |
1490 | - |
1491 | -git_repository( |
1492 | - name = "rbe_24", |
1493 | - commit = "c8cbf65e2facbe464ebbcee7b6cf6f7a2d422ded", |
1494 | - remote = "https://github.com/rabbitmq/rbe-erlang-platform.git", |
1495 | -) |
1496 | - |
1497 | -http_archive( |
1498 | - name = "rules_pkg", |
1499 | - sha256 = "038f1caa773a7e35b3663865ffb003169c6a71dc995e39bf4815792f385d837d", |
1500 | - urls = [ |
1501 | - "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", |
1502 | - "https://github.com/bazelbuild/rules_pkg/releases/download/0.4.0/rules_pkg-0.4.0.tar.gz", |
1503 | - ], |
1504 | -) |
1505 | - |
1506 | -load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") |
1507 | - |
1508 | -rules_pkg_dependencies() |
1509 | - |
1510 | -http_archive( |
1511 | - name = "bazel-erlang", |
1512 | - sha256 = "2ba878df673020ac714c050c0aaf3c66cac2f9cca0aa4259e3c74603c59e0cd0", |
1513 | - strip_prefix = "rules_erlang-1.4.0", |
1514 | - urls = ["https://github.com/rabbitmq/bazel-erlang/archive/refs/tags/1.4.0.zip"], |
1515 | -) |
1516 | - |
1517 | -load("@bazel-erlang//:bazel_erlang.bzl", "bazel_erlang_deps") |
1518 | - |
1519 | -bazel_erlang_deps() |
1520 | - |
1521 | -load("//:workspace_helpers.bzl", "rabbitmq_external_deps") |
1522 | - |
1523 | -rabbitmq_external_deps(rabbitmq_workspace = "@") |
1524 | - |
1525 | -load("//deps/amqp10_client:activemq.bzl", "activemq_archive") |
1526 | - |
1527 | -activemq_archive() |
1528 | - |
1529 | -ADD_PLUGINS_DIR_BUILD_FILE = """set -euo pipefail |
1530 | - |
1531 | -cat << EOF > plugins/BUILD.bazel |
1532 | -load("@rules_pkg//:pkg.bzl", "pkg_zip") |
1533 | - |
1534 | -pkg_zip( |
1535 | - name = "inet_tcp_proxy_ez", |
1536 | - package_dir = "inet_tcp_proxy/ebin", |
1537 | - srcs = [ |
1538 | - "@inet_tcp_proxy//:bazel_erlang_lib", |
1539 | - ], |
1540 | - package_file_name = "inet_tcp_proxy.ez", |
1541 | - visibility = ["//visibility:public"], |
1542 | -) |
1543 | - |
1544 | -filegroup( |
1545 | - name = "standard_plugins", |
1546 | - srcs = glob(["*.ez"]), |
1547 | - visibility = ["//visibility:public"], |
1548 | -) |
1549 | -EOF |
1550 | -""" |
1551 | - |
1552 | -http_archive( |
1553 | - name = "rabbitmq-server-generic-unix-3.8.22", |
1554 | - build_file = "@//:BUILD.package_generic_unix", |
1555 | - patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE], |
1556 | - strip_prefix = "rabbitmq_server-3.8.22", |
1557 | - urls = ["https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.22/rabbitmq-server-generic-unix-3.8.22.tar.xz"], |
1558 | -) |
1559 | diff --git a/bazel/bzlmod/BUILD.bazel b/bazel/bzlmod/BUILD.bazel |
1560 | new file mode 100644 |
1561 | index 0000000..e69de29 |
1562 | --- /dev/null |
1563 | +++ b/bazel/bzlmod/BUILD.bazel |
1564 | diff --git a/bazel/bzlmod/extensions.bzl b/bazel/bzlmod/extensions.bzl |
1565 | new file mode 100644 |
1566 | index 0000000..ddc10c8 |
1567 | --- /dev/null |
1568 | +++ b/bazel/bzlmod/extensions.bzl |
1569 | @@ -0,0 +1,139 @@ |
1570 | +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") |
1571 | +load( |
1572 | + ":secondary_umbrella.bzl", |
1573 | + fetch_secondary_umbrella = "secondary_umbrella", |
1574 | +) |
1575 | +load( |
1576 | + "//bazel/repositories:elixir_config.bzl", |
1577 | + "INSTALLATION_TYPE_EXTERNAL", |
1578 | + "INSTALLATION_TYPE_INTERNAL", |
1579 | + _elixir_config_rule = "elixir_config", |
1580 | +) |
1581 | +load( |
1582 | + "//bazel/elixir:elixir.bzl", |
1583 | + "DEFAULT_ELIXIR_SHA256", |
1584 | + "DEFAULT_ELIXIR_VERSION", |
1585 | +) |
1586 | + |
1587 | +def _elixir_config(ctx): |
1588 | + types = {} |
1589 | + versions = {} |
1590 | + urls = {} |
1591 | + strip_prefixs = {} |
1592 | + sha256s = {} |
1593 | + elixir_homes = {} |
1594 | + |
1595 | + for mod in ctx.modules: |
1596 | + for elixir in mod.tags.external_elixir_from_path: |
1597 | + types[elixir.name] = INSTALLATION_TYPE_EXTERNAL |
1598 | + versions[elixir.name] = elixir.version |
1599 | + elixir_homes[elixir.name] = elixir.elixir_home |
1600 | + |
1601 | + for elixir in mod.tags.internal_elixir_from_http_archive: |
1602 | + types[elixir.name] = INSTALLATION_TYPE_INTERNAL |
1603 | + versions[elixir.name] = elixir.version |
1604 | + urls[elixir.name] = elixir.url |
1605 | + strip_prefixs[elixir.name] = elixir.strip_prefix |
1606 | + sha256s[elixir.name] = elixir.sha256 |
1607 | + |
1608 | + for elixir in mod.tags.internal_elixir_from_github_release: |
1609 | + url = "https://github.com/elixir-lang/elixir/archive/refs/tags/v{}.tar.gz".format( |
1610 | + elixir.version, |
1611 | + ) |
1612 | + strip_prefix = "elixir-{}".format(elixir.version) |
1613 | + |
1614 | + types[elixir.name] = INSTALLATION_TYPE_INTERNAL |
1615 | + versions[elixir.name] = elixir.version |
1616 | + urls[elixir.name] = url |
1617 | + strip_prefixs[elixir.name] = strip_prefix |
1618 | + sha256s[elixir.name] = elixir.sha256 |
1619 | + |
1620 | + _elixir_config_rule( |
1621 | + name = "elixir_config", |
1622 | + rabbitmq_server_workspace = "@rabbitmq-server", |
1623 | + types = types, |
1624 | + versions = versions, |
1625 | + urls = urls, |
1626 | + strip_prefixs = strip_prefixs, |
1627 | + sha256s = sha256s, |
1628 | + elixir_homes = elixir_homes, |
1629 | + ) |
1630 | + |
1631 | +external_elixir_from_path = tag_class(attrs = { |
1632 | + "name": attr.string(), |
1633 | + "version": attr.string(), |
1634 | + "elixir_home": attr.string(), |
1635 | +}) |
1636 | + |
1637 | +internal_elixir_from_http_archive = tag_class(attrs = { |
1638 | + "name": attr.string(), |
1639 | + "version": attr.string(), |
1640 | + "url": attr.string(), |
1641 | + "strip_prefix": attr.string(), |
1642 | + "sha256": attr.string(), |
1643 | +}) |
1644 | + |
1645 | +internal_elixir_from_github_release = tag_class(attrs = { |
1646 | + "name": attr.string( |
1647 | + default = "internal", |
1648 | + ), |
1649 | + "version": attr.string( |
1650 | + default = DEFAULT_ELIXIR_VERSION, |
1651 | + ), |
1652 | + "sha256": attr.string( |
1653 | + default = DEFAULT_ELIXIR_SHA256, |
1654 | + ), |
1655 | +}) |
1656 | + |
1657 | +elixir_config = module_extension( |
1658 | + implementation = _elixir_config, |
1659 | + tag_classes = { |
1660 | + "external_elixir_from_path": external_elixir_from_path, |
1661 | + "internal_elixir_from_http_archive": internal_elixir_from_http_archive, |
1662 | + "internal_elixir_from_github_release": internal_elixir_from_github_release, |
1663 | + }, |
1664 | +) |
1665 | + |
1666 | +def _rbe(ctx): |
1667 | + rbe_repo_props = [] |
1668 | + for mod in ctx.modules: |
1669 | + for repo in mod.tags.git_repository: |
1670 | + props = {"remote": repo.remote} |
1671 | + if repo.commit != "": |
1672 | + props["commit"] = repo.commit |
1673 | + if repo.tag != "": |
1674 | + props["tag"] = repo.tag |
1675 | + if repo.branch != "": |
1676 | + props["branch"] = repo.branch |
1677 | + if not props in rbe_repo_props: |
1678 | + rbe_repo_props.append(props) |
1679 | + |
1680 | + if len(rbe_repo_props) > 1: |
1681 | + fail("Multiple definitions for @rbe exist: {}".format(rbe_repo_props)) |
1682 | + |
1683 | + if len(rbe_repo_props) > 0: |
1684 | + git_repository( |
1685 | + name = "rbe", |
1686 | + **rbe_repo_props[0] |
1687 | + ) |
1688 | + |
1689 | +git_repository_tag = tag_class(attrs = { |
1690 | + "remote": attr.string(), |
1691 | + "branch": attr.string(), |
1692 | + "tag": attr.string(), |
1693 | + "commit": attr.string(), |
1694 | +}) |
1695 | + |
1696 | +rbe = module_extension( |
1697 | + implementation = _rbe, |
1698 | + tag_classes = { |
1699 | + "git_repository": git_repository_tag, |
1700 | + }, |
1701 | +) |
1702 | + |
1703 | +def _secondary_umbrella(ctx): |
1704 | + fetch_secondary_umbrella() |
1705 | + |
1706 | +secondary_umbrella = module_extension( |
1707 | + implementation = _secondary_umbrella, |
1708 | +) |
1709 | diff --git a/bazel/bzlmod/secondary_umbrella.bzl b/bazel/bzlmod/secondary_umbrella.bzl |
1710 | new file mode 100644 |
1711 | index 0000000..77f3e3d |
1712 | --- /dev/null |
1713 | +++ b/bazel/bzlmod/secondary_umbrella.bzl |
1714 | @@ -0,0 +1,33 @@ |
1715 | +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
1716 | + |
1717 | +ADD_PLUGINS_DIR_BUILD_FILE = """set -euo pipefail |
1718 | + |
1719 | +cat << EOF > plugins/BUILD.bazel |
1720 | +load("@rules_pkg//:pkg.bzl", "pkg_zip") |
1721 | + |
1722 | +pkg_zip( |
1723 | + name = "inet_tcp_proxy_ez", |
1724 | + package_dir = "inet_tcp_proxy/ebin", |
1725 | + srcs = [ |
1726 | + "@inet_tcp_proxy_dist//:erlang_app", |
1727 | + ], |
1728 | + package_file_name = "inet_tcp_proxy-0.1.0.ez", |
1729 | + visibility = ["//visibility:public"], |
1730 | +) |
1731 | + |
1732 | +filegroup( |
1733 | + name = "standard_plugins", |
1734 | + srcs = glob(["**/*"]), |
1735 | + visibility = ["//visibility:public"], |
1736 | +) |
1737 | +EOF |
1738 | +""" |
1739 | + |
1740 | +def secondary_umbrella(): |
1741 | + http_archive( |
1742 | + name = "rabbitmq-server-generic-unix-3.8", |
1743 | + build_file = "@//:BUILD.package_generic_unix", |
1744 | + patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE], |
1745 | + strip_prefix = "rabbitmq_server-3.8", |
1746 | + urls = ["https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com/secondary-umbrellas/package-generic-unix-for-mixed-version-testing-v3.8.27.tar.xz"], |
1747 | + ) |
1748 | diff --git a/bazel/elixir/BUILD.bazel b/bazel/elixir/BUILD.bazel |
1749 | new file mode 100644 |
1750 | index 0000000..b362f11 |
1751 | --- /dev/null |
1752 | +++ b/bazel/elixir/BUILD.bazel |
1753 | @@ -0,0 +1,14 @@ |
1754 | +load( |
1755 | + ":elixir_as_app.bzl", |
1756 | + "elixir_as_app", |
1757 | +) |
1758 | + |
1759 | +toolchain_type( |
1760 | + name = "toolchain_type", |
1761 | + visibility = ["//visibility:public"], |
1762 | +) |
1763 | + |
1764 | +elixir_as_app( |
1765 | + name = "erlang_app", |
1766 | + visibility = ["//visibility:public"], |
1767 | +) |
1768 | diff --git a/bazel/elixir/elixir.bzl b/bazel/elixir/elixir.bzl |
1769 | new file mode 100644 |
1770 | index 0000000..d36240a |
1771 | --- /dev/null |
1772 | +++ b/bazel/elixir/elixir.bzl |
1773 | @@ -0,0 +1,147 @@ |
1774 | +load( |
1775 | + ":elixir_build.bzl", |
1776 | + "elixir_build", |
1777 | + "elixir_external", |
1778 | +) |
1779 | +load( |
1780 | + ":elixir_toolchain.bzl", |
1781 | + "elixir_toolchain", |
1782 | +) |
1783 | +load( |
1784 | + "//bazel/repositories:elixir_config.bzl", |
1785 | + "INSTALLATION_TYPE_INTERNAL", |
1786 | + _elixir_config = "elixir_config", |
1787 | +) |
1788 | + |
1789 | +def elixir_toolchain_external(): |
1790 | + """DEPRECATED""" |
1791 | + |
1792 | + elixir_external( |
1793 | + name = "external_elixir_installation_ref", |
1794 | + target_compatible_with = [ |
1795 | + Label("//bazel/platforms:elixir_external"), |
1796 | + ], |
1797 | + ) |
1798 | + |
1799 | + elixir_toolchain( |
1800 | + name = "elixir_external", |
1801 | + elixir = ":external_elixir_installation_ref", |
1802 | + ) |
1803 | + |
1804 | + native.toolchain( |
1805 | + name = "elixir_toolchain_external", |
1806 | + exec_compatible_with = [ |
1807 | + Label("@erlang_config//:erlang_external"), |
1808 | + ], |
1809 | + target_compatible_with = [ |
1810 | + Label("//bazel/platforms:elixir_external"), |
1811 | + ], |
1812 | + toolchain = ":elixir_external", |
1813 | + toolchain_type = Label("//bazel/elixir:toolchain_type"), |
1814 | + visibility = ["//visibility:public"], |
1815 | + ) |
1816 | + |
1817 | +def elixir_toolchain_from_http_archive( |
1818 | + name_suffix = "", |
1819 | + url = None, |
1820 | + strip_prefix = None, |
1821 | + sha256 = None, |
1822 | + elixir_constraints = None): |
1823 | + """DEPRECATED""" |
1824 | + |
1825 | + elixir_build( |
1826 | + name = "elixir_build{}".format(name_suffix), |
1827 | + url = url, |
1828 | + strip_prefix = strip_prefix, |
1829 | + sha256 = sha256, |
1830 | + target_compatible_with = elixir_constraints, |
1831 | + ) |
1832 | + |
1833 | + elixir_toolchain( |
1834 | + name = "elixir{}".format(name_suffix), |
1835 | + elixir = ":elixir_build{}".format(name_suffix), |
1836 | + ) |
1837 | + |
1838 | + native.toolchain( |
1839 | + name = "elixir_toolchain{}".format(name_suffix), |
1840 | + exec_compatible_with = [ |
1841 | + Label("@erlang_config//:erlang_internal"), |
1842 | + ], |
1843 | + target_compatible_with = elixir_constraints, |
1844 | + toolchain = ":elixir{}".format(name_suffix), |
1845 | + toolchain_type = Label("//bazel/elixir:toolchain_type"), |
1846 | + visibility = ["//visibility:public"], |
1847 | + ) |
1848 | + |
1849 | +def elixir_toolchain_from_github_release( |
1850 | + name_suffix = "_default", |
1851 | + version = None, |
1852 | + sha256 = None): |
1853 | + """DEPRECATED""" |
1854 | + |
1855 | + [major, minor, patch] = version.split(".") |
1856 | + elixir_constraints = [ |
1857 | + Label("//bazel/platforms:elixir_{}_{}".format(major, minor)), |
1858 | + ] |
1859 | + url = "https://github.com/elixir-lang/elixir/archive/refs/tags/v{}.tar.gz".format(version) |
1860 | + elixir_toolchain_from_http_archive( |
1861 | + name_suffix = name_suffix, |
1862 | + url = url, |
1863 | + strip_prefix = "elixir-{}".format(version), |
1864 | + sha256 = sha256, |
1865 | + elixir_constraints = elixir_constraints, |
1866 | + ) |
1867 | + |
1868 | +DEFAULT_ELIXIR_VERSION = "1.13.4" |
1869 | +DEFAULT_ELIXIR_SHA256 = "95daf2dd3052e6ca7d4d849457eaaba09de52d65ca38d6933c65bc1cdf6b8579" |
1870 | + |
1871 | +# Generates the @elixir_config repository, which contains erlang |
1872 | +# toolchains and platform defintions |
1873 | +def elixir_config( |
1874 | + rabbitmq_server_workspace = "@rabbitmq-server", |
1875 | + internal_elixir_configs = []): |
1876 | + types = {c.name: INSTALLATION_TYPE_INTERNAL for c in internal_elixir_configs} |
1877 | + versions = {c.name: c.version for c in internal_elixir_configs} |
1878 | + urls = {c.name: c.url for c in internal_elixir_configs} |
1879 | + strip_prefixs = {c.name: c.strip_prefix for c in internal_elixir_configs if c.strip_prefix} |
1880 | + sha256s = {c.name: c.sha256 for c in internal_elixir_configs if c.sha256} |
1881 | + |
1882 | + _elixir_config( |
1883 | + name = "elixir_config", |
1884 | + rabbitmq_server_workspace = rabbitmq_server_workspace, |
1885 | + types = types, |
1886 | + versions = versions, |
1887 | + urls = urls, |
1888 | + strip_prefixs = strip_prefixs, |
1889 | + sha256s = sha256s, |
1890 | + ) |
1891 | + |
1892 | +def internal_elixir_from_http_archive( |
1893 | + name = None, |
1894 | + version = None, |
1895 | + url = None, |
1896 | + strip_prefix = None, |
1897 | + sha256 = None): |
1898 | + return struct( |
1899 | + name = name, |
1900 | + version = version, |
1901 | + url = url, |
1902 | + strip_prefix = strip_prefix, |
1903 | + sha256 = sha256, |
1904 | + ) |
1905 | + |
1906 | +def internal_elixir_from_github_release( |
1907 | + name = "internal", |
1908 | + version = DEFAULT_ELIXIR_VERSION, |
1909 | + sha256 = DEFAULT_ELIXIR_SHA256): |
1910 | + url = "https://github.com/elixir-lang/elixir/archive/refs/tags/v{}.tar.gz".format( |
1911 | + version, |
1912 | + ) |
1913 | + |
1914 | + return internal_elixir_from_http_archive( |
1915 | + name = name, |
1916 | + version = version, |
1917 | + url = url, |
1918 | + strip_prefix = "elixir-{}".format(version), |
1919 | + sha256 = sha256, |
1920 | + ) |
1921 | diff --git a/bazel/elixir/elixir_as_app.bzl b/bazel/elixir/elixir_as_app.bzl |
1922 | new file mode 100644 |
1923 | index 0000000..433355c |
1924 | --- /dev/null |
1925 | +++ b/bazel/elixir/elixir_as_app.bzl |
1926 | @@ -0,0 +1,42 @@ |
1927 | +load( |
1928 | + "@rules_erlang//:erlang_app_info.bzl", |
1929 | + "ErlangAppInfo", |
1930 | +) |
1931 | +load( |
1932 | + ":elixir_toolchain.bzl", |
1933 | + "elixir_dirs", |
1934 | +) |
1935 | + |
1936 | +def _impl(ctx): |
1937 | + ebin = ctx.actions.declare_directory("ebin") |
1938 | + |
1939 | + (elixir_home, elixir_runfiles) = elixir_dirs(ctx) |
1940 | + |
1941 | + ctx.actions.run_shell( |
1942 | + inputs = elixir_runfiles.files, |
1943 | + outputs = [ebin], |
1944 | + command = """set -euo pipefail |
1945 | + |
1946 | +cp -r "{elixir_home}"/lib/elixir/ebin/* {ebin} |
1947 | +""".format( |
1948 | + elixir_home = elixir_home, |
1949 | + ebin = ebin.path, |
1950 | + ), |
1951 | + ) |
1952 | + |
1953 | + return [ |
1954 | + DefaultInfo(files = depset([ebin])), |
1955 | + ErlangAppInfo( |
1956 | + app_name = "elixir", |
1957 | + include = [], |
1958 | + beam = [ebin], |
1959 | + priv = [], |
1960 | + deps = [], |
1961 | + ), |
1962 | + ] |
1963 | + |
1964 | +elixir_as_app = rule( |
1965 | + implementation = _impl, |
1966 | + toolchains = [":toolchain_type"], |
1967 | + provides = [ErlangAppInfo], |
1968 | +) |
1969 | diff --git a/bazel/elixir/elixir_build.bzl b/bazel/elixir/elixir_build.bzl |
1970 | new file mode 100644 |
1971 | index 0000000..5b4d622 |
1972 | --- /dev/null |
1973 | +++ b/bazel/elixir/elixir_build.bzl |
1974 | @@ -0,0 +1,171 @@ |
1975 | +load( |
1976 | + "@bazel_skylib//rules:common_settings.bzl", |
1977 | + "BuildSettingInfo", |
1978 | +) |
1979 | +load( |
1980 | + "@rules_erlang//tools:erlang_toolchain.bzl", |
1981 | + "erlang_dirs", |
1982 | + "maybe_install_erlang", |
1983 | +) |
1984 | + |
1985 | +ElixirInfo = provider( |
1986 | + doc = "A Home directory of a built Elixir", |
1987 | + fields = [ |
1988 | + "release_dir", |
1989 | + "elixir_home", |
1990 | + "version_file", |
1991 | + ], |
1992 | +) |
1993 | + |
1994 | +def _impl(ctx): |
1995 | + (_, _, filename) = ctx.attr.url.rpartition("/") |
1996 | + downloaded_archive = ctx.actions.declare_file(filename) |
1997 | + |
1998 | + release_dir = ctx.actions.declare_directory(ctx.label.name + "_release") |
1999 | + build_dir = ctx.actions.declare_directory(ctx.label.name + "_build") |
2000 | + |
2001 | + version_file = ctx.actions.declare_file(ctx.label.name + "_version") |
2002 | + |
2003 | + ctx.actions.run_shell( |
2004 | + inputs = [], |
2005 | + outputs = [downloaded_archive], |
2006 | + command = """set -euo pipefail |
2007 | + |
2008 | +curl -L "{archive_url}" -o {archive_path} |
2009 | + |
2010 | +if [ -n "{sha256}" ]; then |
2011 | + echo "{sha256} {archive_path}" | sha256sum --check --strict - |
2012 | +fi |
2013 | +""".format( |
2014 | + archive_url = ctx.attr.url, |
2015 | + archive_path = downloaded_archive.path, |
2016 | + sha256 = ctx.attr.sha256, |
2017 | + ), |
2018 | + mnemonic = "CURL", |
2019 | + progress_message = "Downloading {}".format(ctx.attr.url), |
2020 | + ) |
2021 | + |
2022 | + (erlang_home, _, runfiles) = erlang_dirs(ctx) |
2023 | + |
2024 | + inputs = depset( |
2025 | + direct = [downloaded_archive], |
2026 | + transitive = [runfiles.files], |
2027 | + ) |
2028 | + |
2029 | + strip_prefix = ctx.attr.strip_prefix |
2030 | + if strip_prefix != "": |
2031 | + strip_prefix += "\\/" |
2032 | + |
2033 | + ctx.actions.run_shell( |
2034 | + inputs = inputs, |
2035 | + outputs = [release_dir, build_dir, version_file], |
2036 | + command = """set -euo pipefail |
2037 | + |
2038 | +{maybe_install_erlang} |
2039 | + |
2040 | +export PATH="{erlang_home}"/bin:${{PATH}} |
2041 | + |
2042 | +ABS_BUILD_DIR=$PWD/{build_path} |
2043 | +ABS_RELEASE_DIR=$PWD/{release_path} |
2044 | +ABS_VERSION_FILE=$PWD/{version_file} |
2045 | + |
2046 | +tar --extract \\ |
2047 | + --transform 's/{strip_prefix}//' \\ |
2048 | + --file {archive_path} \\ |
2049 | + --directory $ABS_BUILD_DIR |
2050 | + |
2051 | +cd $ABS_BUILD_DIR |
2052 | + |
2053 | +make |
2054 | + |
2055 | +cp -r bin $ABS_RELEASE_DIR/ |
2056 | +cp -r lib $ABS_RELEASE_DIR/ |
2057 | + |
2058 | +$ABS_RELEASE_DIR/bin/iex --version > $ABS_VERSION_FILE |
2059 | +""".format( |
2060 | + maybe_install_erlang = maybe_install_erlang(ctx), |
2061 | + erlang_home = erlang_home, |
2062 | + archive_path = downloaded_archive.path, |
2063 | + strip_prefix = strip_prefix, |
2064 | + build_path = build_dir.path, |
2065 | + release_path = release_dir.path, |
2066 | + version_file = version_file.path, |
2067 | + ), |
2068 | + mnemonic = "ELIXIR", |
2069 | + progress_message = "Compiling elixir from source", |
2070 | + ) |
2071 | + |
2072 | + return [ |
2073 | + DefaultInfo( |
2074 | + files = depset([ |
2075 | + release_dir, |
2076 | + version_file, |
2077 | + ]), |
2078 | + ), |
2079 | + ctx.toolchains["@rules_erlang//tools:toolchain_type"].otpinfo, |
2080 | + ElixirInfo( |
2081 | + release_dir = release_dir, |
2082 | + elixir_home = None, |
2083 | + version_file = version_file, |
2084 | + ), |
2085 | + ] |
2086 | + |
2087 | +elixir_build = rule( |
2088 | + implementation = _impl, |
2089 | + attrs = { |
2090 | + "url": attr.string(mandatory = True), |
2091 | + "strip_prefix": attr.string(), |
2092 | + "sha256": attr.string(), |
2093 | + }, |
2094 | + toolchains = ["@rules_erlang//tools:toolchain_type"], |
2095 | +) |
2096 | + |
2097 | +def _elixir_external_impl(ctx): |
2098 | + elixir_home = ctx.attr.elixir_home |
2099 | + if elixir_home == "": |
2100 | + elixir_home = ctx.attr._elixir_home[BuildSettingInfo].value |
2101 | + |
2102 | + version_file = ctx.actions.declare_file(ctx.label.name + "_version") |
2103 | + |
2104 | + (erlang_home, _, runfiles) = erlang_dirs(ctx) |
2105 | + |
2106 | + ctx.actions.run_shell( |
2107 | + inputs = runfiles.files, |
2108 | + outputs = [version_file], |
2109 | + command = """set -euo pipefail |
2110 | + |
2111 | +{maybe_install_erlang} |
2112 | + |
2113 | +export PATH="{erlang_home}"/bin:${{PATH}} |
2114 | + |
2115 | +"{elixir_home}"/bin/iex --version > {version_file} |
2116 | +""".format( |
2117 | + maybe_install_erlang = maybe_install_erlang(ctx), |
2118 | + erlang_home = erlang_home, |
2119 | + elixir_home = elixir_home, |
2120 | + version_file = version_file.path, |
2121 | + ), |
2122 | + mnemonic = "ELIXIR", |
2123 | + progress_message = "Validating elixir at {}".format(elixir_home), |
2124 | + ) |
2125 | + |
2126 | + return [ |
2127 | + DefaultInfo( |
2128 | + files = depset([version_file]), |
2129 | + ), |
2130 | + ctx.toolchains["@rules_erlang//tools:toolchain_type"].otpinfo, |
2131 | + ElixirInfo( |
2132 | + release_dir = None, |
2133 | + elixir_home = elixir_home, |
2134 | + version_file = version_file, |
2135 | + ), |
2136 | + ] |
2137 | + |
2138 | +elixir_external = rule( |
2139 | + implementation = _elixir_external_impl, |
2140 | + attrs = { |
2141 | + "_elixir_home": attr.label(default = Label("//:elixir_home")), |
2142 | + "elixir_home": attr.string(), |
2143 | + }, |
2144 | + toolchains = ["@rules_erlang//tools:toolchain_type"], |
2145 | +) |
2146 | diff --git a/bazel/elixir/elixir_toolchain.bzl b/bazel/elixir/elixir_toolchain.bzl |
2147 | new file mode 100644 |
2148 | index 0000000..1274bfc |
2149 | --- /dev/null |
2150 | +++ b/bazel/elixir/elixir_toolchain.bzl |
2151 | @@ -0,0 +1,65 @@ |
2152 | +load( |
2153 | + "@rules_erlang//private:erlang_build.bzl", |
2154 | + "OtpInfo", |
2155 | +) |
2156 | +load( |
2157 | + ":elixir_build.bzl", |
2158 | + "ElixirInfo", |
2159 | +) |
2160 | + |
2161 | +def _impl(ctx): |
2162 | + toolchain_info = platform_common.ToolchainInfo( |
2163 | + otpinfo = ctx.attr.elixir[OtpInfo], |
2164 | + elixirinfo = ctx.attr.elixir[ElixirInfo], |
2165 | + ) |
2166 | + return [toolchain_info] |
2167 | + |
2168 | +elixir_toolchain = rule( |
2169 | + implementation = _impl, |
2170 | + attrs = { |
2171 | + "elixir": attr.label( |
2172 | + mandatory = True, |
2173 | + providers = [OtpInfo, ElixirInfo], |
2174 | + ), |
2175 | + }, |
2176 | + provides = [platform_common.ToolchainInfo], |
2177 | +) |
2178 | + |
2179 | +def _build_info(ctx): |
2180 | + return ctx.toolchains[":toolchain_type"].otpinfo |
2181 | + |
2182 | +def erlang_dirs(ctx): |
2183 | + info = _build_info(ctx) |
2184 | + if info.release_dir != None: |
2185 | + runfiles = ctx.runfiles([ |
2186 | + info.release_dir, |
2187 | + info.version_file, |
2188 | + ]) |
2189 | + else: |
2190 | + runfiles = ctx.runfiles([ |
2191 | + info.version_file, |
2192 | + ]) |
2193 | + return (info.erlang_home, info.release_dir, runfiles) |
2194 | + |
2195 | +def elixir_dirs(ctx, short_path = False): |
2196 | + info = ctx.toolchains[":toolchain_type"].elixirinfo |
2197 | + if info.elixir_home != None: |
2198 | + return (info.elixir_home, ctx.runfiles([info.version_file])) |
2199 | + else: |
2200 | + p = info.release_dir.short_path if short_path else info.release_dir.path |
2201 | + return (p, ctx.runfiles([info.release_dir, info.version_file])) |
2202 | + |
2203 | +def maybe_install_erlang(ctx, short_path = False): |
2204 | + info = _build_info(ctx) |
2205 | + release_dir = info.release_dir |
2206 | + if release_dir == None: |
2207 | + return "" |
2208 | + else: |
2209 | + return """mkdir -p $(dirname "{erlang_home}") |
2210 | +cp -r {erlang_release_dir} "{erlang_home}" |
2211 | +ERTS_DIRNAME="$(basename "$(echo "{erlang_home}"/erts-*)")" |
2212 | +ln -sf ../$ERTS_DIRNAME/bin/epmd "{erlang_home}"/bin/epmd |
2213 | +""".format( |
2214 | + erlang_release_dir = release_dir.short_path if short_path else release_dir.path, |
2215 | + erlang_home = info.erlang_home, |
2216 | + ) |
2217 | diff --git a/bazel/elixir/iex_eval.bzl b/bazel/elixir/iex_eval.bzl |
2218 | new file mode 100644 |
2219 | index 0000000..956fd75 |
2220 | --- /dev/null |
2221 | +++ b/bazel/elixir/iex_eval.bzl |
2222 | @@ -0,0 +1,70 @@ |
2223 | +load( |
2224 | + ":elixir_toolchain.bzl", |
2225 | + "elixir_dirs", |
2226 | + "erlang_dirs", |
2227 | + "maybe_install_erlang", |
2228 | +) |
2229 | + |
2230 | +def _impl(ctx): |
2231 | + outs = [ |
2232 | + ctx.actions.declare_file(f) |
2233 | + for f in ctx.attr.outs |
2234 | + ] |
2235 | + |
2236 | + (erlang_home, _, erlang_runfiles) = erlang_dirs(ctx) |
2237 | + (elixir_home, elixir_runfiles) = elixir_dirs(ctx) |
2238 | + |
2239 | + script = """set -euo pipefail |
2240 | + |
2241 | +{maybe_install_erlang} |
2242 | + |
2243 | +if [[ "{elixir_home}" == /* ]]; then |
2244 | + ABS_ELIXIR_HOME="{elixir_home}" |
2245 | +else |
2246 | + ABS_ELIXIR_HOME=$PWD/{elixir_home} |
2247 | +fi |
2248 | + |
2249 | +export PATH="$ABS_ELIXIR_HOME"/bin:"{erlang_home}"/bin:${{PATH}} |
2250 | + |
2251 | +export SRCS="{srcs}" |
2252 | +export OUTS="{outs}" |
2253 | + |
2254 | +${{ABS_ELIXIR_HOME}}/bin/iex --eval "$1" |
2255 | +""".format( |
2256 | + maybe_install_erlang = maybe_install_erlang(ctx), |
2257 | + erlang_home = erlang_home, |
2258 | + elixir_home = elixir_home, |
2259 | + srcs = ctx.configuration.host_path_separator.join([src.path for src in ctx.files.srcs]), |
2260 | + outs = ctx.configuration.host_path_separator.join([out.path for out in outs]), |
2261 | + ) |
2262 | + |
2263 | + inputs = depset( |
2264 | + direct = ctx.files.srcs, |
2265 | + transitive = [ |
2266 | + erlang_runfiles.files, |
2267 | + elixir_runfiles.files, |
2268 | + ], |
2269 | + ) |
2270 | + |
2271 | + ctx.actions.run_shell( |
2272 | + inputs = inputs, |
2273 | + outputs = outs, |
2274 | + command = script, |
2275 | + arguments = [ctx.attr.expression], |
2276 | + ) |
2277 | + |
2278 | + return [ |
2279 | + DefaultInfo(files = depset(outs)), |
2280 | + ] |
2281 | + |
2282 | +iex_eval = rule( |
2283 | + implementation = _impl, |
2284 | + attrs = { |
2285 | + "srcs": attr.label_list(allow_files = True), |
2286 | + "outs": attr.string_list(), |
2287 | + "expression": attr.string( |
2288 | + mandatory = True, |
2289 | + ), |
2290 | + }, |
2291 | + toolchains = [":toolchain_type"], |
2292 | +) |
2293 | diff --git a/bazel/platforms/BUILD.bazel b/bazel/platforms/BUILD.bazel |
2294 | new file mode 100644 |
2295 | index 0000000..07791db |
2296 | --- /dev/null |
2297 | +++ b/bazel/platforms/BUILD.bazel |
2298 | @@ -0,0 +1,48 @@ |
2299 | +package( |
2300 | + default_visibility = ["//visibility:public"], |
2301 | +) |
2302 | + |
2303 | +platform( |
2304 | + name = "erlang_internal_platform", |
2305 | + constraint_values = [ |
2306 | + "@erlang_config//:erlang_internal", |
2307 | + "@elixir_config//:elixir_internal", |
2308 | + ], |
2309 | + parents = ["@rbe//config:platform"], |
2310 | +) |
2311 | + |
2312 | +platform( |
2313 | + name = "erlang_linux_24_platform", |
2314 | + constraint_values = [ |
2315 | + "@erlang_config//:erlang_24", |
2316 | + "@elixir_config//:elixir_1_13", |
2317 | + ], |
2318 | + parents = ["@rbe//config:platform"], |
2319 | +) |
2320 | + |
2321 | +platform( |
2322 | + name = "erlang_linux_25_0_platform", |
2323 | + constraint_values = [ |
2324 | + "@erlang_config//:erlang_25_0", |
2325 | + "@elixir_config//:elixir_1_14", |
2326 | + ], |
2327 | + parents = ["@rbe//config:platform"], |
2328 | +) |
2329 | + |
2330 | +platform( |
2331 | + name = "erlang_linux_25_1_platform", |
2332 | + constraint_values = [ |
2333 | + "@erlang_config//:erlang_25_1", |
2334 | + "@elixir_config//:elixir_1_14", |
2335 | + ], |
2336 | + parents = ["@rbe//config:platform"], |
2337 | +) |
2338 | + |
2339 | +platform( |
2340 | + name = "erlang_linux_git_master_platform", |
2341 | + constraint_values = [ |
2342 | + "@erlang_config//:erlang_26", |
2343 | + "@elixir_config//:elixir_1_14", |
2344 | + ], |
2345 | + parents = ["@rbe//config:platform"], |
2346 | +) |
2347 | diff --git a/bazel/repositories/BUILD.bazel b/bazel/repositories/BUILD.bazel |
2348 | new file mode 100644 |
2349 | index 0000000..e69de29 |
2350 | --- /dev/null |
2351 | +++ b/bazel/repositories/BUILD.bazel |
2352 | diff --git a/bazel/repositories/BUILD_external.tpl b/bazel/repositories/BUILD_external.tpl |
2353 | new file mode 100644 |
2354 | index 0000000..d8649ce |
2355 | --- /dev/null |
2356 | +++ b/bazel/repositories/BUILD_external.tpl |
2357 | @@ -0,0 +1,34 @@ |
2358 | +# This file is generated by rabbitmq-server via the elixir_config macro |
2359 | + |
2360 | +load( |
2361 | + "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:elixir_build.bzl", |
2362 | + "elixir_external", |
2363 | +) |
2364 | +load( |
2365 | + "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:elixir_toolchain.bzl", |
2366 | + "elixir_toolchain", |
2367 | +) |
2368 | + |
2369 | +elixir_external( |
2370 | + name = "elixir_external", |
2371 | + elixir_home = "%{ELIXIR_HOME}", |
2372 | +) |
2373 | + |
2374 | +elixir_toolchain( |
2375 | + name = "elixir", |
2376 | + elixir = ":elixir_external", |
2377 | + visibility = ["//visibility:public"], |
2378 | +) |
2379 | + |
2380 | +toolchain( |
2381 | + name = "toolchain", |
2382 | + exec_compatible_with = [ |
2383 | + "//:elixir_external", |
2384 | + ], |
2385 | + target_compatible_with = [ |
2386 | + "//:elixir_%{ELIXIR_VERSION_ID}", |
2387 | + ], |
2388 | + toolchain = ":elixir", |
2389 | + toolchain_type = "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:toolchain_type", |
2390 | + visibility = ["//visibility:public"], |
2391 | +) |
2392 | diff --git a/bazel/repositories/BUILD_internal.tpl b/bazel/repositories/BUILD_internal.tpl |
2393 | new file mode 100644 |
2394 | index 0000000..6592e8e |
2395 | --- /dev/null |
2396 | +++ b/bazel/repositories/BUILD_internal.tpl |
2397 | @@ -0,0 +1,36 @@ |
2398 | +# This file is generated by rabbitmq-server via the elixir_config macro |
2399 | + |
2400 | +load( |
2401 | + "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:elixir_build.bzl", |
2402 | + "elixir_build", |
2403 | +) |
2404 | +load( |
2405 | + "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:elixir_toolchain.bzl", |
2406 | + "elixir_toolchain", |
2407 | +) |
2408 | + |
2409 | +elixir_build( |
2410 | + name = "elixir_build", |
2411 | + url = "%{URL}", |
2412 | + strip_prefix = "%{STRIP_PREFIX}", |
2413 | + sha256 = "%{SHA_256}", |
2414 | +) |
2415 | + |
2416 | +elixir_toolchain( |
2417 | + name = "elixir", |
2418 | + elixir = ":elixir_build", |
2419 | + visibility = ["//visibility:public"], |
2420 | +) |
2421 | + |
2422 | +toolchain( |
2423 | + name = "toolchain", |
2424 | + exec_compatible_with = [ |
2425 | + "//:elixir_internal", |
2426 | + ], |
2427 | + target_compatible_with = [ |
2428 | + "//:elixir_%{ELIXIR_VERSION_ID}", |
2429 | + ], |
2430 | + toolchain = ":elixir", |
2431 | + toolchain_type = "%{RABBITMQ_SERVER_WORKSPACE}//bazel/elixir:toolchain_type", |
2432 | + visibility = ["//visibility:public"], |
2433 | +) |
2434 | diff --git a/bazel/repositories/defaults.bzl.tpl b/bazel/repositories/defaults.bzl.tpl |
2435 | new file mode 100644 |
2436 | index 0000000..f4822fd |
2437 | --- /dev/null |
2438 | +++ b/bazel/repositories/defaults.bzl.tpl |
2439 | @@ -0,0 +1,6 @@ |
2440 | +# This file is generated by rabbitmq-server via the elixir_config macro |
2441 | + |
2442 | +def register_defaults(): |
2443 | + native.register_toolchains( |
2444 | +%{TOOLCHAINS} |
2445 | + ) |
2446 | diff --git a/bazel/repositories/elixir_config.bzl b/bazel/repositories/elixir_config.bzl |
2447 | new file mode 100644 |
2448 | index 0000000..1d59cbf |
2449 | --- /dev/null |
2450 | +++ b/bazel/repositories/elixir_config.bzl |
2451 | @@ -0,0 +1,233 @@ |
2452 | +load( |
2453 | + "@rules_erlang//:util.bzl", |
2454 | + "msys2_path", |
2455 | + "path_join", |
2456 | +) |
2457 | + |
2458 | +ELIXIR_HOME_ENV_VAR = "ELIXIR_HOME" |
2459 | + |
2460 | +_DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME = "external" |
2461 | +_ELIXIR_VERSION_UNKNOWN = "UNKNOWN" |
2462 | + |
2463 | +INSTALLATION_TYPE_EXTERNAL = "external" |
2464 | +INSTALLATION_TYPE_INTERNAL = "internal" |
2465 | + |
2466 | +def _version_identifier(version_string): |
2467 | + parts = version_string.split(".", 2) |
2468 | + if len(parts) > 1: |
2469 | + return "{}_{}".format(parts[0], parts[1]) |
2470 | + else: |
2471 | + return parts[0] |
2472 | + |
2473 | +def _impl(repository_ctx): |
2474 | + rabbitmq_server_workspace = repository_ctx.attr.rabbitmq_server_workspace |
2475 | + |
2476 | + elixir_installations = _default_elixir_dict(repository_ctx) |
2477 | + for name in repository_ctx.attr.types.keys(): |
2478 | + if name == _DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME: |
2479 | + fail("'{}' is reserved as an elixir name".format( |
2480 | + _DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME, |
2481 | + )) |
2482 | + version = repository_ctx.attr.versions[name] |
2483 | + identifier = _version_identifier(version) |
2484 | + elixir_installations[name] = struct( |
2485 | + type = repository_ctx.attr.types[name], |
2486 | + version = version, |
2487 | + identifier = identifier, |
2488 | + url = repository_ctx.attr.urls.get(name, None), |
2489 | + strip_prefix = repository_ctx.attr.strip_prefixs.get(name, None), |
2490 | + sha256 = repository_ctx.attr.sha256s.get(name, None), |
2491 | + elixir_home = repository_ctx.attr.elixir_homes.get(name, None), |
2492 | + ) |
2493 | + |
2494 | + for (name, props) in elixir_installations.items(): |
2495 | + if props.type == INSTALLATION_TYPE_EXTERNAL: |
2496 | + repository_ctx.template( |
2497 | + "{}/BUILD.bazel".format(name), |
2498 | + Label("//bazel/repositories:BUILD_external.tpl"), |
2499 | + { |
2500 | + "%{ELIXIR_HOME}": props.elixir_home, |
2501 | + "%{ELIXIR_VERSION_ID}": props.identifier, |
2502 | + "%{RABBITMQ_SERVER_WORKSPACE}": rabbitmq_server_workspace, |
2503 | + }, |
2504 | + False, |
2505 | + ) |
2506 | + else: |
2507 | + repository_ctx.template( |
2508 | + "{}/BUILD.bazel".format(name), |
2509 | + Label("//bazel/repositories:BUILD_internal.tpl"), |
2510 | + { |
2511 | + "%{URL}": props.url, |
2512 | + "%{STRIP_PREFIX}": props.strip_prefix or "", |
2513 | + "%{SHA_256}": props.sha256 or "", |
2514 | + "%{ELIXIR_VERSION_ID}": props.identifier, |
2515 | + "%{RABBITMQ_SERVER_WORKSPACE}": rabbitmq_server_workspace, |
2516 | + }, |
2517 | + False, |
2518 | + ) |
2519 | + |
2520 | + if len(elixir_installations) == 0: |
2521 | + fail("No elixir installations configured") |
2522 | + |
2523 | + repository_ctx.file( |
2524 | + "BUILD.bazel", |
2525 | + _build_file_content(elixir_installations), |
2526 | + False, |
2527 | + ) |
2528 | + |
2529 | + toolchains = [ |
2530 | + "@{}//{}:toolchain".format(repository_ctx.name, name) |
2531 | + for name in elixir_installations.keys() |
2532 | + ] |
2533 | + |
2534 | + repository_ctx.template( |
2535 | + "defaults.bzl", |
2536 | + Label("//bazel/repositories:defaults.bzl.tpl"), |
2537 | + { |
2538 | + "%{TOOLCHAINS}": "\n".join([ |
2539 | + ' "%s",' % t |
2540 | + for t in toolchains |
2541 | + ]), |
2542 | + }, |
2543 | + False, |
2544 | + ) |
2545 | + |
2546 | +elixir_config = repository_rule( |
2547 | + implementation = _impl, |
2548 | + attrs = { |
2549 | + "rabbitmq_server_workspace": attr.string(), |
2550 | + "types": attr.string_dict(), |
2551 | + "versions": attr.string_dict(), |
2552 | + "urls": attr.string_dict(), |
2553 | + "strip_prefixs": attr.string_dict(), |
2554 | + "sha256s": attr.string_dict(), |
2555 | + "elixir_homes": attr.string_dict(), |
2556 | + }, |
2557 | + environ = [ |
2558 | + ELIXIR_HOME_ENV_VAR, |
2559 | + "PATH", |
2560 | + ], |
2561 | + local = True, |
2562 | +) |
2563 | + |
2564 | +def _elixir_home_from_elixir_path(repository_ctx, elixir_path): |
2565 | + ehr = repository_ctx.execute( |
2566 | + [ |
2567 | + elixir_path, |
2568 | + "-e", |
2569 | + "IO.puts Path.dirname(Path.dirname(Path.dirname(Path.dirname(Path.expand(:code.which(System))))))", |
2570 | + ], |
2571 | + ) |
2572 | + if ehr.return_code == 0: |
2573 | + elixir_home = ehr.stdout.strip("\n") |
2574 | + else: |
2575 | + elixir_home = str(elixir_path.dirname.dirname) |
2576 | + return elixir_home |
2577 | + |
2578 | +def _is_windows(repository_ctx): |
2579 | + return repository_ctx.os.name.lower().find("windows") != -1 |
2580 | + |
2581 | +def _default_elixir_dict(repository_ctx): |
2582 | + if _is_windows(repository_ctx): |
2583 | + if ELIXIR_HOME_ENV_VAR in repository_ctx.os.environ: |
2584 | + elixir_home = repository_ctx.os.environ[ELIXIR_HOME_ENV_VAR] |
2585 | + elixir_path = elixir_home + "\\bin\\elixir" |
2586 | + else: |
2587 | + elixir_path = repository_ctx.which("elixir") |
2588 | + if elixir_path == None: |
2589 | + elixir_path = repository_ctx.path("C:/Program Files (x86)/Elixir/bin/elixir") |
2590 | + elixir_home = _elixir_home_from_elixir_path(repository_ctx, elixir_path) |
2591 | + elixir_home = msys2_path(elixir_home) |
2592 | + elif ELIXIR_HOME_ENV_VAR in repository_ctx.os.environ: |
2593 | + elixir_home = repository_ctx.os.environ[ELIXIR_HOME_ENV_VAR] |
2594 | + elixir_path = path_join(elixir_home, "bin", "elixir") |
2595 | + else: |
2596 | + elixir_path = repository_ctx.which("elixir") |
2597 | + if elixir_path == None: |
2598 | + elixir_path = repository_ctx.path("/usr/local/bin/elixir") |
2599 | + elixir_home = _elixir_home_from_elixir_path(repository_ctx, elixir_path) |
2600 | + |
2601 | + version = repository_ctx.execute( |
2602 | + [ |
2603 | + path_join(elixir_home, "bin", "elixir"), |
2604 | + "-e", |
2605 | + "IO.puts System.version()", |
2606 | + ], |
2607 | + timeout = 10, |
2608 | + ) |
2609 | + if version.return_code == 0: |
2610 | + version = version.stdout.strip("\n") |
2611 | + identifier = _version_identifier(version) |
2612 | + return { |
2613 | + _DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME: struct( |
2614 | + type = INSTALLATION_TYPE_EXTERNAL, |
2615 | + version = version, |
2616 | + identifier = identifier, |
2617 | + elixir_home = elixir_home, |
2618 | + ), |
2619 | + } |
2620 | + else: |
2621 | + return { |
2622 | + _DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME: struct( |
2623 | + type = INSTALLATION_TYPE_EXTERNAL, |
2624 | + version = _ELIXIR_VERSION_UNKNOWN, |
2625 | + identifier = _ELIXIR_VERSION_UNKNOWN.lower(), |
2626 | + elixir_home = elixir_home, |
2627 | + ), |
2628 | + } |
2629 | + |
2630 | +def _build_file_content(elixir_installations): |
2631 | + build_file_content = """\ |
2632 | +package( |
2633 | + default_visibility = ["//visibility:public"], |
2634 | +) |
2635 | + |
2636 | +constraint_setting( |
2637 | + name = "elixir_internal_external", |
2638 | + default_constraint_value = ":elixir_external", |
2639 | +) |
2640 | + |
2641 | +constraint_value( |
2642 | + name = "elixir_external", |
2643 | + constraint_setting = ":elixir_internal_external", |
2644 | +) |
2645 | + |
2646 | +constraint_value( |
2647 | + name = "elixir_internal", |
2648 | + constraint_setting = ":elixir_internal_external", |
2649 | +) |
2650 | + |
2651 | +""" |
2652 | + |
2653 | + default_installation = elixir_installations[_DEFAULT_EXTERNAL_ELIXIR_PACKAGE_NAME] |
2654 | + |
2655 | + build_file_content += """\ |
2656 | +constraint_setting( |
2657 | + name = "elixir_version", |
2658 | + default_constraint_value = ":elixir_{}", |
2659 | +) |
2660 | + |
2661 | +""".format(default_installation.identifier) |
2662 | + |
2663 | + unique_identifiers = { |
2664 | + props.identifier: name |
2665 | + for (name, props) in elixir_installations.items() |
2666 | + }.keys() |
2667 | + |
2668 | + for identifier in unique_identifiers: |
2669 | + build_file_content += """\ |
2670 | +constraint_value( |
2671 | + name = "elixir_{identifier}", |
2672 | + constraint_setting = ":elixir_version", |
2673 | +) |
2674 | + |
2675 | +platform( |
2676 | + name = "elixir_{identifier}_platform", |
2677 | + constraint_values = [ |
2678 | + ":elixir_{identifier}", |
2679 | + ], |
2680 | +) |
2681 | + |
2682 | +""".format(identifier = identifier) |
2683 | + |
2684 | + return build_file_content |
2685 | diff --git a/bazel/secondary-umbrella.patch b/bazel/secondary-umbrella.patch |
2686 | new file mode 100644 |
2687 | index 0000000..82cd492 |
2688 | --- /dev/null |
2689 | +++ b/bazel/secondary-umbrella.patch |
2690 | @@ -0,0 +1,13 @@ |
2691 | +diff --git a/rabbitmq.bzl b/rabbitmq.bzl |
2692 | +index 85f9a2d790..08c2bc957e 100644 |
2693 | +--- a/rabbitmq.bzl |
2694 | ++++ b/rabbitmq.bzl |
2695 | +@@ -28,6 +28,8 @@ STARTS_BACKGROUND_BROKER_TAG = "starts-background-broker" |
2696 | + MIXED_VERSION_CLUSTER_TAG = "mixed-version-cluster" |
2697 | + |
2698 | + RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [ |
2699 | ++ "-DTEST=1", |
2700 | ++ "+nowarn_export_all", |
2701 | + "-DINSTR_MOD=gm", |
2702 | + ] |
2703 | + |
2704 | diff --git a/debian/changelog b/debian/changelog |
2705 | index ed7c33a..6b48226 100644 |
2706 | --- a/debian/changelog |
2707 | +++ b/debian/changelog |
2708 | @@ -1,3 +1,45 @@ |
2709 | +rabbitmq-server (3.9.27-0ubuntu0.1) jammy; urgency=medium |
2710 | + |
2711 | + * New upstream version 3.9.27 (LP: #2060248): |
2712 | + - In environments where DNS resolution is not yet available at the time |
2713 | + RabbitMQ nodes boot and try to perform peer discovery, such as CoreDNS |
2714 | + with default caching interval of 30s on Kubernetes, nodes now will |
2715 | + retry hostname resolution (including of their own host) several times |
2716 | + with a wait interval. |
2717 | + - LDAP server password could end up in the logs in certain types of |
2718 | + exceptions. |
2719 | + - Details about these and many futher changes can be found at |
2720 | + https://github.com/rabbitmq/rabbitmq-server/blob/main/release-notes/3.9.27.md |
2721 | + and earlier versions in the same folder. |
2722 | + * Added new dep8 tests (LP: #1679386): |
2723 | + - d/t/hello-world |
2724 | + - d/t/publish-subscribe |
2725 | + - d/t/rpc |
2726 | + - d/t/work-queue |
2727 | + * Packaging changes needed by this update: |
2728 | + - d/watch: update to find upstream tarball, and verify its signature |
2729 | + - d/upstream/signing-key.asc: added, downloaded from |
2730 | + https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc |
2731 | + - Remove patches fixed upstream: |
2732 | + - d/p/lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch. |
2733 | + - d/p/CVE-2023-46118-{1,2}.patch: fix fuzz. |
2734 | + - d/p/lets-use-python3-not-python-binary.patch: refresh. |
2735 | + - d/p/downgrade_elixir.patch: downgrade the allowed elixir version minimum |
2736 | + to 1.12.2 to allow Jammy to run. Upstream upgrades the minimum for general |
2737 | + compiler optimizations, but is too recent for us. |
2738 | + - d/p/max-ports-compat.patch: before v3.9.23, the maximum number of |
2739 | + concurrent client connections was set based on the kernel open file handle |
2740 | + limit. In v3.9.23 the concurrent client connection limit was changed to |
2741 | + the value of the ERL_MAX_PORTS environment variable, and defaults to 65536 |
2742 | + if the variable is not set. To not change the behavior in upgrades to this |
2743 | + version, this patch sets ERL_MAX_PORTS to the kernel open file handle |
2744 | + limit if the variable is not set already. If the variable is set, |
2745 | + then it's left alone. Note that ERL_MAX_PORTS must never be higher than |
2746 | + the kernel open file handle limit. |
2747 | + - d/rabbitmq-server.service: add notice about ERL_MAX_PORTS variable. |
2748 | + |
2749 | + -- Mitchell Dzurick <mitchell.dzurick@canonical.com> Thu, 04 Apr 2024 12:54:06 -0700 |
2750 | + |
2751 | rabbitmq-server (3.9.13-1ubuntu0.22.04.2) jammy-security; urgency=medium |
2752 | |
2753 | * SECURITY UPDATE: Denial of service |
2754 | diff --git a/debian/patches/CVE-2023-46118-1.patch b/debian/patches/CVE-2023-46118-1.patch |
2755 | index fa4d8f1..a0eb166 100644 |
2756 | --- a/debian/patches/CVE-2023-46118-1.patch |
2757 | +++ b/debian/patches/CVE-2023-46118-1.patch |
2758 | @@ -23,7 +23,7 @@ Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2759 | =================================================================== |
2760 | --- rabbitmq-server-3.9.13.orig/deps/rabbitmq_management/BUILD.bazel |
2761 | +++ rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2762 | -@@ -35,7 +35,8 @@ APP_ENV = """[ |
2763 | +@@ -36,7 +36,8 @@ APP_ENV = """[ |
2764 | |
2765 | {cors_allow_origins, []}, |
2766 | {cors_max_age, 1800}, |
2767 | @@ -32,7 +32,7 @@ Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2768 | + {max_http_body_size, 20000000} |
2769 | ]""" |
2770 | |
2771 | - FIRST_SRCS = [ |
2772 | + DEPS = [ |
2773 | Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/Makefile |
2774 | =================================================================== |
2775 | --- rabbitmq-server-3.9.13.orig/deps/rabbitmq_management/Makefile |
2776 | diff --git a/debian/patches/CVE-2023-46118-2.patch b/debian/patches/CVE-2023-46118-2.patch |
2777 | index 566afb9..b4c9d78 100644 |
2778 | --- a/debian/patches/CVE-2023-46118-2.patch |
2779 | +++ b/debian/patches/CVE-2023-46118-2.patch |
2780 | @@ -20,7 +20,7 @@ Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2781 | =================================================================== |
2782 | --- rabbitmq-server-3.9.13.orig/deps/rabbitmq_management/BUILD.bazel |
2783 | +++ rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2784 | -@@ -36,7 +36,7 @@ APP_ENV = """[ |
2785 | +@@ -37,7 +37,7 @@ APP_ENV = """[ |
2786 | {cors_allow_origins, []}, |
2787 | {cors_max_age, 1800}, |
2788 | {content_security_policy, "script-src 'self' 'unsafe-eval' 'unsafe-inline'; object-src 'self'"}, |
2789 | @@ -28,7 +28,7 @@ Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/BUILD.bazel |
2790 | + {max_http_body_size, 10000000} |
2791 | ]""" |
2792 | |
2793 | - FIRST_SRCS = [ |
2794 | + DEPS = [ |
2795 | Index: rabbitmq-server-3.9.13/deps/rabbitmq_management/Makefile |
2796 | =================================================================== |
2797 | --- rabbitmq-server-3.9.13.orig/deps/rabbitmq_management/Makefile |
2798 | diff --git a/debian/patches/downgrade_elixir.patch b/debian/patches/downgrade_elixir.patch |
2799 | new file mode 100644 |
2800 | index 0000000..99af347 |
2801 | --- /dev/null |
2802 | +++ b/debian/patches/downgrade_elixir.patch |
2803 | @@ -0,0 +1,11 @@ |
2804 | +--- a/deps/rabbitmq_cli/mix.exs |
2805 | ++++ b/deps/rabbitmq_cli/mix.exs |
2806 | +@@ -10,7 +10,7 @@ |
2807 | + def project do |
2808 | + [ |
2809 | + app: :rabbitmqctl, |
2810 | +- elixir: ">= 1.13.4 and < 1.15.0", |
2811 | ++ elixir: ">= 1.12.2 and < 1.15.0", |
2812 | + build_embedded: Mix.env() == :prod, |
2813 | + start_permanent: Mix.env() == :prod, |
2814 | + escript: [main_module: RabbitMQCtl, emu_args: "-hidden", path: "escript/rabbitmqctl"], |
2815 | diff --git a/debian/patches/lets-use-python3-not-python-binary.patch b/debian/patches/lets-use-python3-not-python-binary.patch |
2816 | index 60ef1c4..c681ea1 100644 |
2817 | --- a/debian/patches/lets-use-python3-not-python-binary.patch |
2818 | +++ b/debian/patches/lets-use-python3-not-python-binary.patch |
2819 | @@ -1,101 +1,60 @@ |
2820 | Description: Using /usr/bin/python3, not just python |
2821 | Author: Thomas Goirand <zigo@debian.org> |
2822 | Forwarded: no |
2823 | -Last-Update: 2019-09-23 |
2824 | - |
2825 | -Index: rabbitmq-server/deps/amqp10_common/codegen.py |
2826 | -=================================================================== |
2827 | ---- rabbitmq-server.orig/deps/amqp10_common/codegen.py |
2828 | -+++ rabbitmq-server/deps/amqp10_common/codegen.py |
2829 | +Last-Update: 2024-04-04 |
2830 | +--- a/deps/amqp10_common/codegen.py |
2831 | ++++ b/deps/amqp10_common/codegen.py |
2832 | @@ -1,4 +1,4 @@ |
2833 | -#!/usr/bin/env python |
2834 | +#!/usr/bin/env python3 |
2835 | |
2836 | from __future__ import print_function |
2837 | |
2838 | -Index: rabbitmq-server/deps/amqp10_common/development.post.mk |
2839 | -=================================================================== |
2840 | ---- rabbitmq-server.orig/deps/amqp10_common/development.post.mk |
2841 | -+++ rabbitmq-server/deps/amqp10_common/development.post.mk |
2842 | -@@ -2,7 +2,7 @@ |
2843 | - # Framing sources generation. |
2844 | - # -------------------------------------------------------------------- |
2845 | - |
2846 | --PYTHON ?= python |
2847 | -+PYTHON ?= python3 |
2848 | - CODEGEN = $(CURDIR)/codegen.py |
2849 | - CODEGEN_DIR ?= $(DEPS_DIR)/rabbitmq_codegen |
2850 | - CODEGEN_AMQP = $(CODEGEN_DIR)/amqp_codegen.py |
2851 | -Index: rabbitmq-server/deps/rabbit_common/codegen.py |
2852 | -=================================================================== |
2853 | ---- rabbitmq-server.orig/deps/rabbit_common/codegen.py |
2854 | -+++ rabbitmq-server/deps/rabbit_common/codegen.py |
2855 | +--- a/deps/rabbit_common/codegen.py |
2856 | ++++ b/deps/rabbit_common/codegen.py |
2857 | @@ -1,4 +1,4 @@ |
2858 | -#!/usr/bin/env python |
2859 | +#!/usr/bin/env python3 |
2860 | |
2861 | ## This Source Code Form is subject to the terms of the Mozilla Public |
2862 | ## License, v. 2.0. If a copy of the MPL was not distributed with this |
2863 | -Index: rabbitmq-server/deps/rabbit_common/development.post.mk |
2864 | -=================================================================== |
2865 | ---- rabbitmq-server.orig/deps/rabbit_common/development.post.mk |
2866 | -+++ rabbitmq-server/deps/rabbit_common/development.post.mk |
2867 | -@@ -2,7 +2,7 @@ |
2868 | - # Framing sources generation. |
2869 | - # -------------------------------------------------------------------- |
2870 | - |
2871 | --PYTHON ?= python |
2872 | -+PYTHON ?= python3 |
2873 | - CODEGEN = $(CURDIR)/codegen.py |
2874 | - CODEGEN_DIR ?= $(DEPS_DIR)/rabbitmq_codegen |
2875 | - CODEGEN_AMQP = $(CODEGEN_DIR)/amqp_codegen.py |
2876 | -Index: rabbitmq-server/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py |
2877 | -=================================================================== |
2878 | ---- rabbitmq-server.orig/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py |
2879 | -+++ rabbitmq-server/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py |
2880 | +--- a/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py |
2881 | ++++ b/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py |
2882 | @@ -1,4 +1,4 @@ |
2883 | -#!/usr/bin/env python |
2884 | +#!/usr/bin/env python3 |
2885 | import os |
2886 | import sys |
2887 | |
2888 | -Index: rabbitmq-server/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/start.sh |
2889 | -=================================================================== |
2890 | ---- rabbitmq-server.orig/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/start.sh |
2891 | -+++ rabbitmq-server/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/start.sh |
2892 | -@@ -1,3 +1,3 @@ |
2893 | - #!/bin/sh |
2894 | --python manage.py migrate |
2895 | --python manage.py runserver 0.0.0.0:8000 |
2896 | -+python3 manage.py migrate |
2897 | -+python3 manage.py runserver 0.0.0.0:8000 |
2898 | -Index: rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py |
2899 | -=================================================================== |
2900 | ---- rabbitmq-server.orig/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py |
2901 | -+++ rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py |
2902 | +--- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py |
2903 | ++++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py |
2904 | @@ -1,4 +1,4 @@ |
2905 | -#!/usr/bin/env python |
2906 | +#!/usr/bin/env python3 |
2907 | |
2908 | import pika |
2909 | import time |
2910 | -Index: rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py |
2911 | -=================================================================== |
2912 | ---- rabbitmq-server.orig/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py |
2913 | -+++ rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py |
2914 | +--- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py |
2915 | ++++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py |
2916 | @@ -1,4 +1,4 @@ |
2917 | -#!/usr/bin/env python |
2918 | +#!/usr/bin/env python3 |
2919 | |
2920 | import pika |
2921 | import time |
2922 | -Index: rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py |
2923 | -=================================================================== |
2924 | ---- rabbitmq-server.orig/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py |
2925 | -+++ rabbitmq-server/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py |
2926 | +--- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py |
2927 | ++++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py |
2928 | @@ -1,4 +1,4 @@ |
2929 | -#!/usr/bin/env python |
2930 | +#!/usr/bin/env python3 |
2931 | |
2932 | import pika |
2933 | import time |
2934 | +--- a/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/start.sh |
2935 | ++++ b/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/start.sh |
2936 | +@@ -1,3 +1,3 @@ |
2937 | + #!/bin/sh |
2938 | +-python manage.py migrate |
2939 | +-python manage.py runserver 0.0.0.0:8000 |
2940 | ++python3 manage.py migrate |
2941 | ++python3 manage.py runserver 0.0.0.0:8000 |
2942 | diff --git a/debian/patches/lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch b/debian/patches/lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch |
2943 | deleted file mode 100644 |
2944 | index 680c06c..0000000 |
2945 | --- a/debian/patches/lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch |
2946 | +++ /dev/null |
2947 | @@ -1,37 +0,0 @@ |
2948 | -From: Philip Kuryloski <kuryloskip@vmware.com> |
2949 | -Subject: Fix `rabbitmqctl status` when the disk_free cannot be |
2950 | - determined |
2951 | - |
2952 | -By adjusting RabbitMQ.CLI.InformationUnit to no longer attempt to |
2953 | -convert non-numeric values |
2954 | - |
2955 | -Origin: upstream, https://github.com/rabbitmq/rabbitmq-server/commit/9dc9b92a94f3f3bb48824ea21b9f4a9236a9a3d3 |
2956 | -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1999816 |
2957 | -Last-Update: 2023-01-30 |
2958 | ---- |
2959 | -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ |
2960 | -diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex |
2961 | -index c5e02277a9e..fa548c8fe18 100644 |
2962 | ---- a/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex |
2963 | -+++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/information_unit.ex |
2964 | -@@ -30,14 +30,18 @@ defmodule RabbitMQ.CLI.InformationUnit do |
2965 | - :rabbit_resource_monitor_misc.parse_information_unit(val) |
2966 | - end |
2967 | - |
2968 | -- def convert(bytes, "bytes") do |
2969 | -+ def convert(bytes, "bytes") when is_number(bytes) do |
2970 | - bytes |
2971 | - end |
2972 | - |
2973 | -- def convert(bytes, unit) do |
2974 | -+ def convert(bytes, unit) when is_number(bytes) do |
2975 | - do_convert(bytes, String.downcase(unit)) |
2976 | - end |
2977 | - |
2978 | -+ def convert(:unknown, _) do |
2979 | -+ :unknown |
2980 | -+ end |
2981 | -+ |
2982 | - def known_unit?(val) do |
2983 | - MapSet.member?(known_units(), String.downcase(val)) |
2984 | - end |
2985 | diff --git a/debian/patches/max-ports-compat.patch b/debian/patches/max-ports-compat.patch |
2986 | new file mode 100644 |
2987 | index 0000000..9e874b1 |
2988 | --- /dev/null |
2989 | +++ b/debian/patches/max-ports-compat.patch |
2990 | @@ -0,0 +1,32 @@ |
2991 | +Description: adjust ERL_MAX_PORTS according to the kernel file handle limit |
2992 | + In v3.9.23, upstream changed how it handles the maximum concurrent client |
2993 | + connections. Instead of using the effective kernel open file handle limit, it |
2994 | + now has a default of 65536, which can be changed by the ERL_MAX_PORTS |
2995 | + environment variable. See https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.23 for details. |
2996 | + . |
2997 | + With this patch, we are attempting to keep the same behavior as previous |
2998 | + versions by following the kernel file handle limit, unless there is an |
2999 | + ERL_MAX_PORTS variable set. |
3000 | +Author: Andreas Hasenack <andeas.hasenack@canonical.com> |
3001 | +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/rabbitmq-server/+bug/2060248 |
3002 | +Forwarded: no |
3003 | +Last-Update: 2024-06-28 |
3004 | + |
3005 | +diff --git a/deps/rabbit/scripts/rabbitmq-env b/deps/rabbit/scripts/rabbitmq-env |
3006 | +index 1c7ed764..d1938527 100755 |
3007 | +--- a/deps/rabbit/scripts/rabbitmq-env |
3008 | ++++ b/deps/rabbit/scripts/rabbitmq-env |
3009 | +@@ -108,7 +108,12 @@ fi |
3010 | + # Default is defined here: |
3011 | + # https://github.com/erlang/otp/blob/master/erts/emulator/beam/erl_port.h |
3012 | + if [ -z "$ERL_MAX_PORTS" ]; then |
3013 | +- export ERL_MAX_PORTS=65536 |
3014 | ++ nofile=$(ulimit -n) # soft limit, could be defined in the systemd unit file via LimitNOFILE |
3015 | ++ if [ -n "${nofile}" ]; then |
3016 | ++ export ERL_MAX_PORTS="${nofile}" |
3017 | ++ else |
3018 | ++ export ERL_MAX_PORTS=65536 |
3019 | ++ fi |
3020 | + fi |
3021 | + |
3022 | + [ -n "$ERL_EPMD_PORT" ] && export ERL_EPMD_PORT |
3023 | diff --git a/debian/patches/rabbitmq-dist.mk.patch b/debian/patches/rabbitmq-dist.mk.patch |
3024 | index 92ec5a1..b56b0a1 100644 |
3025 | --- a/debian/patches/rabbitmq-dist.mk.patch |
3026 | +++ b/debian/patches/rabbitmq-dist.mk.patch |
3027 | @@ -3,12 +3,9 @@ Author: Yuriy Vidineev <yuriy.vidineev@revjet.com> |
3028 | Forwarded: no |
3029 | Bug-Debian: https://bugs.debian.org/964636 |
3030 | Last-Update: 2020-07-22 |
3031 | - |
3032 | -Index: rabbitmq-server/deps/rabbit_common/mk/rabbitmq-dist.mk |
3033 | -=================================================================== |
3034 | ---- rabbitmq-server.orig/deps/rabbit_common/mk/rabbitmq-dist.mk |
3035 | -+++ rabbitmq-server/deps/rabbit_common/mk/rabbitmq-dist.mk |
3036 | -@@ -80,8 +80,8 @@ $$(dist_$(1)_ez): $$(if $$(wildcard $(3) |
3037 | +--- a/deps/rabbit_common/mk/rabbitmq-dist.mk |
3038 | ++++ b/deps/rabbit_common/mk/rabbitmq-dist.mk |
3039 | +@@ -81,8 +81,8 @@ |
3040 | ifeq ($$(shell test -f $(3)/rabbitmq-components.mk \ |
3041 | && grep -q '^list-dist-deps::' $(3)/Makefile && echo yes),yes) |
3042 | $$(dist_$(1)_ez): $$(patsubst %,$(3)/%, \ |
3043 | diff --git a/debian/patches/series b/debian/patches/series |
3044 | index b39ee2b..a72eb3c 100644 |
3045 | --- a/debian/patches/series |
3046 | +++ b/debian/patches/series |
3047 | @@ -1,5 +1,6 @@ |
3048 | -lets-use-python3-not-python-binary.patch |
3049 | -rabbitmq-dist.mk.patch |
3050 | -lp1999816-fix-rabbitmqctl-status-disk-free-timeout.patch |
3051 | CVE-2023-46118-1.patch |
3052 | CVE-2023-46118-2.patch |
3053 | +downgrade_elixir.patch |
3054 | +rabbitmq-dist.mk.patch |
3055 | +lets-use-python3-not-python-binary.patch |
3056 | +max-ports-compat.patch |
3057 | diff --git a/debian/rabbitmq-server.service b/debian/rabbitmq-server.service |
3058 | index f3bce06..a2266ff 100644 |
3059 | --- a/debian/rabbitmq-server.service |
3060 | +++ b/debian/rabbitmq-server.service |
3061 | @@ -11,6 +11,11 @@ UMask=0027 |
3062 | NotifyAccess=all |
3063 | TimeoutStartSec=600 |
3064 | LimitNOFILE=65536 |
3065 | +# ERL_MAX_PORTS can be used to further limit the number of concurrent client |
3066 | +# connections. It should be equal or less than LimitNOFILE, and be a power of 2. |
3067 | +# If not defined, the startup script will set ERL_MAX_PORTS to the value of |
3068 | +# LimitNOFILE. An example is below. |
3069 | +# Environment="ERL_MAX_PORTS=16384" |
3070 | SyslogIdentifier=rabbitmq |
3071 | Restart=on-failure |
3072 | RestartSec=10 |
3073 | diff --git a/debian/tests/control b/debian/tests/control |
3074 | index 293be3b..2d4c5e4 100644 |
3075 | --- a/debian/tests/control |
3076 | +++ b/debian/tests/control |
3077 | @@ -1,2 +1,22 @@ |
3078 | Tests: smoke-test |
3079 | Restrictions: superficial, isolation-container |
3080 | + |
3081 | +Tests: hello-world |
3082 | +Restrictions: isolation-container, needs-root, allow-stderr |
3083 | +Depends: rabbitmq-server, |
3084 | + python3-pika |
3085 | + |
3086 | +Tests: work-queue |
3087 | +Restrictions: isolation-container, needs-root, allow-stderr |
3088 | +Depends: rabbitmq-server, |
3089 | + python3-pika |
3090 | + |
3091 | +Tests: publish-subscribe |
3092 | +Restrictions: isolation-container, needs-root, allow-stderr |
3093 | +Depends: rabbitmq-server, |
3094 | + python3-pika |
3095 | + |
3096 | +Tests: rpc |
3097 | +Restrictions: isolation-container, needs-root, allow-stderr |
3098 | +Depends: rabbitmq-server, |
3099 | + python3-pika |
3100 | diff --git a/debian/tests/hello-world b/debian/tests/hello-world |
3101 | new file mode 100755 |
3102 | index 0000000..cd42954 |
3103 | --- /dev/null |
3104 | +++ b/debian/tests/hello-world |
3105 | @@ -0,0 +1,99 @@ |
3106 | +#!/bin/sh |
3107 | + |
3108 | +# Reset rabbitmq |
3109 | +rabbitmqctl stop_app |
3110 | +rabbitmqctl reset |
3111 | +rabbitmqctl start_app |
3112 | + |
3113 | +cat <<EOF >send.py |
3114 | +#!/usr/bin/env python3 |
3115 | +import pika |
3116 | + |
3117 | +connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) |
3118 | +channel = connection.channel() |
3119 | + |
3120 | +channel.queue_declare(queue='hello') |
3121 | + |
3122 | +channel.basic_publish(exchange='', |
3123 | + routing_key='hello', |
3124 | + body='Hello World!') |
3125 | +print(" [x] Sent 'Hello World!'") |
3126 | +EOF |
3127 | + |
3128 | +cat <<EOF >receive.py |
3129 | +#!/usr/bin/env python3 |
3130 | +import pika, sys, os |
3131 | + |
3132 | +def main(): |
3133 | + connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) |
3134 | + channel = connection.channel() |
3135 | + |
3136 | + channel.queue_declare(queue='hello') |
3137 | + |
3138 | + def callback(ch, method, properties, body): |
3139 | + print(f" [x] Received {body}") |
3140 | + |
3141 | + channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True) |
3142 | + |
3143 | + print(' [*] Waiting for messages. To exit press CTRL+C') |
3144 | + channel.start_consuming() |
3145 | + |
3146 | +if __name__ == '__main__': |
3147 | + try: |
3148 | + main() |
3149 | + except KeyboardInterrupt: |
3150 | + print('Interrupted') |
3151 | + try: |
3152 | + sys.exit(0) |
3153 | + except SystemExit: |
3154 | + os._exit(0) |
3155 | +EOF |
3156 | + |
3157 | +echo "sending the message now" |
3158 | +python3 send.py |
3159 | + |
3160 | +# `rabbitmqctl list_queues` should look like |
3161 | +# Timeout: 60.0 seconds ... |
3162 | +# Listing queues for vhost / ... |
3163 | +# name messages |
3164 | +# hello 1 |
3165 | +# |
3166 | +# Check that the hello queue exists and that there is 1 message |
3167 | +rabbitmqctl list_queues # print for debugging |
3168 | +if rabbitmqctl list_queues | grep hello | awk '{print $2}' | grep -q "^1$"; then |
3169 | + echo "The 'hello' queue exists with a single message." |
3170 | +else |
3171 | + if [ $? -eq 1 ]; then |
3172 | + echo "Error: 'hello' queue not found." |
3173 | + exit 1 |
3174 | + else |
3175 | + echo "Error: An unknown error occurred." |
3176 | + exit 1 |
3177 | + fi |
3178 | +fi |
3179 | + |
3180 | +# should see |
3181 | +# [*] Waiting for messages. To exit press CTRL+C |
3182 | +# [x] Received b'Hello World!' |
3183 | +timeout 3s python3 receive.py |
3184 | + |
3185 | +# now the hello queue should still exist, but have no messages like so: |
3186 | +# # rabbitmqctl list_queues |
3187 | +# Timeout: 60.0 seconds ... |
3188 | +# Listing queues for vhost / ... |
3189 | +# name messages |
3190 | +# hello 0 |
3191 | +# |
3192 | +# Check that the hello queue exists and that there is no message |
3193 | +rabbitmqctl list_queues # print for debugging |
3194 | +if rabbitmqctl list_queues | grep hello | awk '{print $2}' | grep -q "^0$"; then |
3195 | + echo "The 'hello' queue exists with no messages." |
3196 | +else |
3197 | + if [ $? -eq 1 ]; then |
3198 | + echo "Error: 'hello' queue not found." |
3199 | + exit 1 |
3200 | + else |
3201 | + echo "Error: An unknown error occurred." |
3202 | + exit 1 |
3203 | + fi |
3204 | +fi |
3205 | diff --git a/debian/tests/publish-subscribe b/debian/tests/publish-subscribe |
3206 | new file mode 100755 |
3207 | index 0000000..b721ad2 |
3208 | --- /dev/null |
3209 | +++ b/debian/tests/publish-subscribe |
3210 | @@ -0,0 +1,48 @@ |
3211 | +#!/bin/sh |
3212 | + |
3213 | +# Reset rabbitmq |
3214 | +rabbitmqctl stop_app |
3215 | +rabbitmqctl reset |
3216 | +rabbitmqctl start_app |
3217 | + |
3218 | +cat << EOF > receive_logs.py |
3219 | +#!/usr/bin/env python3 |
3220 | +import pika |
3221 | + |
3222 | +connection = pika.BlockingConnection( |
3223 | + pika.ConnectionParameters(host='localhost')) |
3224 | +channel = connection.channel() |
3225 | + |
3226 | +channel.exchange_declare(exchange='logs', exchange_type='fanout') |
3227 | + |
3228 | +result = channel.queue_declare(queue='', exclusive=True) |
3229 | +queue_name = result.method.queue |
3230 | + |
3231 | +channel.queue_bind(exchange='logs', queue=queue_name) |
3232 | + |
3233 | +print(' [*] Waiting for logs. To exit press CTRL+C') |
3234 | + |
3235 | +def callback(ch, method, properties, body): |
3236 | + print(f" [x] {body}") |
3237 | + |
3238 | +channel.basic_consume( |
3239 | + queue=queue_name, on_message_callback=callback, auto_ack=True) |
3240 | + |
3241 | +channel.start_consuming() |
3242 | +EOF |
3243 | + |
3244 | +# create 2 consumers |
3245 | +python3 receive_logs.py & |
3246 | +python3 receive_logs.py & |
3247 | + |
3248 | +# the consumers are listed in the bindings. |
3249 | +# # rabbitmqctl list_bindings | grep logs |
3250 | +# logs exchange amq.gen-9cej1xIy-VQLf6d3UXvU1w queue amq.gen-9cej1xIy-VQLf6d3UXvU1w [] |
3251 | +# logs exchange amq.gen-H-ky4z3jFxa5UxpigJAD0g queue amq.gen-H-ky4z3jFxa5UxpigJAD0g [] |
3252 | +rabbitmqctl list_bindings # print for debug |
3253 | +if [ $(rabbitmqctl list_bindings | grep "logs" | awk '{print $1}' | wc -l) -eq 2 ]; then |
3254 | + echo "The number of consumers is 2." |
3255 | +else |
3256 | + echo "The number of consumers is not 2." |
3257 | + exit 1 |
3258 | +fi |
3259 | diff --git a/debian/tests/rpc b/debian/tests/rpc |
3260 | new file mode 100755 |
3261 | index 0000000..9e96551 |
3262 | --- /dev/null |
3263 | +++ b/debian/tests/rpc |
3264 | @@ -0,0 +1,119 @@ |
3265 | +#!/bin/sh |
3266 | + |
3267 | +# Reset rabbitmq |
3268 | +rabbitmqctl stop_app |
3269 | +rabbitmqctl reset |
3270 | +rabbitmqctl start_app |
3271 | + |
3272 | +cat << EOF > rpc_server.py |
3273 | +#!/usr/bin/env python |
3274 | +import pika |
3275 | + |
3276 | +connection = pika.BlockingConnection( |
3277 | + pika.ConnectionParameters(host='localhost')) |
3278 | + |
3279 | +channel = connection.channel() |
3280 | + |
3281 | +channel.queue_declare(queue='rpc_queue') |
3282 | + |
3283 | +def fib(n): |
3284 | + if n == 0: |
3285 | + return 0 |
3286 | + elif n == 1: |
3287 | + return 1 |
3288 | + else: |
3289 | + return fib(n - 1) + fib(n - 2) |
3290 | + |
3291 | +def on_request(ch, method, props, body): |
3292 | + n = int(body) |
3293 | + |
3294 | + print(f" [.] fib({n})") |
3295 | + response = fib(n) |
3296 | + |
3297 | + ch.basic_publish(exchange='', |
3298 | + routing_key=props.reply_to, |
3299 | + properties=pika.BasicProperties(correlation_id = \ |
3300 | + props.correlation_id), |
3301 | + body=str(response)) |
3302 | + ch.basic_ack(delivery_tag=method.delivery_tag) |
3303 | + |
3304 | +channel.basic_qos(prefetch_count=1) |
3305 | +channel.basic_consume(queue='rpc_queue', on_message_callback=on_request) |
3306 | + |
3307 | +print(" [x] Awaiting RPC requests") |
3308 | +channel.start_consuming() |
3309 | +EOF |
3310 | + |
3311 | +cat << EOF > rpc_client.py |
3312 | +#!/usr/bin/env python3 |
3313 | +import pika |
3314 | +import uuid |
3315 | + |
3316 | + |
3317 | +class FibonacciRpcClient(object): |
3318 | + |
3319 | + def __init__(self): |
3320 | + self.connection = pika.BlockingConnection( |
3321 | + pika.ConnectionParameters(host='localhost')) |
3322 | + |
3323 | + self.channel = self.connection.channel() |
3324 | + |
3325 | + result = self.channel.queue_declare(queue='', exclusive=True) |
3326 | + self.callback_queue = result.method.queue |
3327 | + |
3328 | + self.channel.basic_consume( |
3329 | + queue=self.callback_queue, |
3330 | + on_message_callback=self.on_response, |
3331 | + auto_ack=True) |
3332 | + |
3333 | + self.response = None |
3334 | + self.corr_id = None |
3335 | + |
3336 | + def on_response(self, ch, method, props, body): |
3337 | + if self.corr_id == props.correlation_id: |
3338 | + self.response = body |
3339 | + |
3340 | + def call(self, n): |
3341 | + self.response = None |
3342 | + self.corr_id = str(uuid.uuid4()) |
3343 | + self.channel.basic_publish( |
3344 | + exchange='', |
3345 | + routing_key='rpc_queue', |
3346 | + properties=pika.BasicProperties( |
3347 | + reply_to=self.callback_queue, |
3348 | + correlation_id=self.corr_id, |
3349 | + ), |
3350 | + body=str(n)) |
3351 | + while self.response is None: |
3352 | + self.connection.process_data_events(time_limit=None) |
3353 | + return int(self.response) |
3354 | + |
3355 | + |
3356 | +fibonacci_rpc = FibonacciRpcClient() |
3357 | + |
3358 | +print(" [x] Requesting fib(30)") |
3359 | +response = fibonacci_rpc.call(30) |
3360 | +print(f" [.] Got {response}") |
3361 | +EOF |
3362 | + |
3363 | +# Start the RPC server |
3364 | +python3 rpc_server.py & |
3365 | + |
3366 | +# Give the server some time to start |
3367 | +sleep 2 |
3368 | + |
3369 | +# Run a client to initiate a job for the fibonacci sequence |
3370 | +client_result=$(python3 rpc_client.py) |
3371 | + |
3372 | +# $client_results should look like: |
3373 | +# [x] Requesting fib(30) |
3374 | +# [.] fib(30) |
3375 | +# [.] Got 832040 |
3376 | + |
3377 | +echo $client_result |
3378 | +if echo $client_result | grep -q "Got 832040"; then |
3379 | + echo "client ran succesffuly" |
3380 | +else |
3381 | + echo "ERROR, something went wrong." |
3382 | + exit 1 |
3383 | +fi |
3384 | diff --git a/debian/tests/smoke-test b/debian/tests/smoke-test |
3385 | index 13ff26b..56a4899 100755 |
3386 | --- a/debian/tests/smoke-test |
3387 | +++ b/debian/tests/smoke-test |
3388 | @@ -1,7 +1,3 @@ |
3389 | #!/bin/sh |
3390 | |
3391 | -exec 2>&1 |
3392 | - |
3393 | -set -exu |
3394 | - |
3395 | systemctl is-active rabbitmq-server.service |
3396 | diff --git a/debian/tests/work-queue b/debian/tests/work-queue |
3397 | new file mode 100755 |
3398 | index 0000000..5db58d5 |
3399 | --- /dev/null |
3400 | +++ b/debian/tests/work-queue |
3401 | @@ -0,0 +1,117 @@ |
3402 | +#!/bin/sh |
3403 | + |
3404 | +# Reset rabbitmq |
3405 | +rabbitmqctl stop_app |
3406 | +rabbitmqctl reset |
3407 | +rabbitmqctl start_app |
3408 | + |
3409 | +cat << EOF > new_task.py |
3410 | +#!/usr/bin/env python3 |
3411 | +import pika |
3412 | +import sys |
3413 | + |
3414 | +connection = pika.BlockingConnection( |
3415 | + pika.ConnectionParameters(host='localhost')) |
3416 | +channel = connection.channel() |
3417 | + |
3418 | +channel.queue_declare(queue='task_queue', durable=True) |
3419 | + |
3420 | +message = ' '.join(sys.argv[1:]) or "Hello World!" |
3421 | +channel.basic_publish( |
3422 | + exchange='', |
3423 | + routing_key='task_queue', |
3424 | + body=message, |
3425 | + properties=pika.BasicProperties(delivery_mode=2) # Set delivery mode to persistent (2) |
3426 | + ) |
3427 | +print(f" [x] Sent {message}") |
3428 | +connection.close() |
3429 | +EOF |
3430 | + |
3431 | +cat << EOF > worker.py |
3432 | +#!/usr/bin/env python3 |
3433 | +import pika |
3434 | +import time |
3435 | + |
3436 | +connection = pika.BlockingConnection( |
3437 | + pika.ConnectionParameters(host='localhost')) |
3438 | +channel = connection.channel() |
3439 | + |
3440 | +channel.queue_declare(queue='task_queue', durable=True) |
3441 | +print(' [*] Waiting for messages. To exit press CTRL+C') |
3442 | + |
3443 | + |
3444 | +def callback(ch, method, properties, body): |
3445 | + print(f" [x] Received {body.decode()}") |
3446 | + time.sleep(body.count(b'.')) |
3447 | + print(" [x] Done") |
3448 | + ch.basic_ack(delivery_tag=method.delivery_tag) |
3449 | + |
3450 | + |
3451 | +channel.basic_qos(prefetch_count=1) |
3452 | +channel.basic_consume(queue='task_queue', on_message_callback=callback) |
3453 | + |
3454 | +channel.start_consuming() |
3455 | +EOF |
3456 | + |
3457 | + |
3458 | +# Create 5 queues messages |
3459 | +python3 new_task.py First message. |
3460 | +python3 new_task.py Second message.. |
3461 | +python3 new_task.py Third message... |
3462 | +python3 new_task.py Fourth message.... |
3463 | +python3 new_task.py Fifth message..... |
3464 | + |
3465 | +# check the queued messages, we shoudl have 5 such as: |
3466 | +# # rabbitmqctl list_queues name messages_ready messages_unacknowledged |
3467 | +# Timeout: 60.0 seconds ... |
3468 | +# Listing queues for vhost / ... |
3469 | +# name messages_ready messages_unacknowledged |
3470 | +# hello 0 0 |
3471 | +# task_queue 5 0 |
3472 | +# |
3473 | +# Check that the task queue exists and that there is 5 messages |
3474 | +echo "Expected:" |
3475 | +echo "task_queue 5 0" |
3476 | +echo "Actual:" |
3477 | +tqueue=$(rabbitmqctl list_queues name messages_ready messages_unacknowledged | grep task_queue) |
3478 | +echo $tqueue |
3479 | +if echo $tqueue | awk '{print $2}' | grep -q "^5$"; then |
3480 | + echo "The 'task_queue' queue exists with 5 message." |
3481 | +else |
3482 | + echo "Error: error checking the task_queue" |
3483 | + exit 1 |
3484 | +fi |
3485 | + |
3486 | +# Now create 2 workers |
3487 | +python3 worker.py & |
3488 | +python3 worker.py & |
3489 | + |
3490 | +# let the workers do their job |
3491 | +sleep 13 |
3492 | + |
3493 | +# Now there should be no messages_ready and no messages_unacknowledged such as: |
3494 | +# # rabbitmqctl list_queues name messages_ready messages_unacknowledged |
3495 | +# Timeout: 60.0 seconds ... |
3496 | +# Listing queues for vhost / ... |
3497 | +# name messages_ready messages_unacknowledged |
3498 | +# hello 0 0 |
3499 | +# task_queue 0 0 |
3500 | +echo "Expected:" |
3501 | +echo "task_queue 0 0" |
3502 | +echo "Actual:" |
3503 | +tqueue=$(rabbitmqctl list_queues name messages_ready messages_unacknowledged | grep task_queue) |
3504 | +echo $tqueue |
3505 | +if echo $tqueue | grep task_queue | awk '{print $2}' | grep -q "^0"; then |
3506 | + echo "The 'task_queue' queue exists with 0 messages_ready." |
3507 | +else |
3508 | + echo "Error: checking the task_queue messages_ready" |
3509 | + exit 1 |
3510 | +fi |
3511 | + |
3512 | +if echo $tqueue | awk '{print $3}' | grep -q "^0"; then |
3513 | + echo "The 'task_queue' queue exists with 0 messages_unacknowledged." |
3514 | +else |
3515 | + echo "Error: checking the task_queue messages_unacknowledged" |
3516 | + exit 1 |
3517 | +fi |
3518 | + |
3519 | diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc |
3520 | new file mode 100644 |
3521 | index 0000000..9171461 |
3522 | --- /dev/null |
3523 | +++ b/debian/upstream/signing-key.asc |
3524 | @@ -0,0 +1,52 @@ |
3525 | +-----BEGIN PGP PUBLIC KEY BLOCK----- |
3526 | + |
3527 | +mQINBFc6394BEACzae+l1pU31AMhJrRx4BqYv8ZCVUBOeiS3xIcgme1Oq2HSq/Vt |
3528 | +x49VPU9xY9ni4GjOU9c9/J9/esuigbctCN7CdR8bqN/srwqmuIPNIS/MvGhNimjO |
3529 | +/EUKcZtmJ5fnFk08bzjkyS/ScEzf3jdJadrercoPpbAKWnzCUblX8AdFDyDJhl65 |
3530 | +TlSKS9+Sz0tfSdUIa0LpyJHZmLQ4chCy6KbDUAvchM2xUTIEJwx+sL4n/J6yYkZl |
3531 | +L90mVi4QEYl1Cajioeg9zxduoUmXq0SR5gQe6VIaXYrIk2gOEMNQL4P/4CKEn9No |
3532 | +1yvUP1+dSYTyvbmF+1pr16xPyNpw3ydmxDX9VxZAEnzPabB8Uortirtt0Dpopufy |
3533 | +TJR99dPcKV+BWJtQF6xD30kj8LaDfhyVeB6Bo+L0hhhvnZYWkps8ZJ1swcoBjir7 |
3534 | +RDq8hJVqu8YHrzsiFL5Ut/pRkNhrK83GVOxnTndmj/MNboExD3IR/yjCiWNxC9Zu |
3535 | +Iaedv2ux+0KrQVTDU7I97x2GDwyiUMnKL7IKWSOTDR4osv5RlJzAovuv2+lZ8sle |
3536 | +ZvCEWOGeEYYM1VLDgXhPQdMwyizJ113oobxbqF+InlWq/T9mWmJDLb4wAiha3KKE |
3537 | +XJi8wXkJMdRQ0ftM1zKD8qBMukyVndZ6yNQrx3uHAP/Yl2XKPUbtkq/KVQARAQAB |
3538 | +tDBSYWJiaXRNUSBSZWxlYXNlIFNpZ25pbmcgS2V5IDxpbmZvQHJhYmJpdG1xLmNv |
3539 | +bT6JAjcEEwEKACEFAlc6394CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ |
3540 | +a3OjbmAm38qiJQ/+PkS0I+Be1jQINT2F4f8Mwq4Zxcqm4whbg6DH6zkvvqSqXFNB |
3541 | +wg7HVsC3qQ9Uh6OPw3dziBHmsOE50DpeqCGjHGacJ/Az/00PHKUn8eJQ/dIB1rla |
3542 | +PcSOBUP2CrMLLh9PbP1ZDm2/6gpInyYIRQox8k7j5PnHSVprYAA6tp/11i351WOQ |
3543 | +WkuN54482svVRfUEttt0NPLXtXJQl4V1eBt8+J11ZSh0mq2QSTxg211YBY0ugeVx |
3544 | +Q0PBIWvrNmcsnBttj5MJ/4L9nFmuemiSS3M9ONjwDBxaiaWCwxFwKXGensNOWeZy |
3545 | +bBfbhQxTpOKSNgyk+MymrG5EyI7fVlbmmHEhuYmV4pJadXmW1a9wvRHap/aLR1Aw |
3546 | +akFI29CABbnYD3ZXg+DmNqqE6um5Uem2zYr/9hfSL5KuuwawoyW8HV4gKBe+MgW1 |
3547 | +n1lECvECt9Bn2VepjIUCv4gfHBDel5v1CXxZpTnHLt8Hsno1qTf6dGvvBYEPyTA+ |
3548 | +cAlUeCmfjhBVNQEapUzgW0D7E8JaWHAbJPtwwp/iIO/xqEps3VGOouG+G4GPiABh |
3549 | +CP7hYUceecgVAF5g75gcI2mZeXAfbHVdfffZZXSYA7RjOAA1bLOopjq6UvYyIBhe |
3550 | +D72feGzkEPtjTpHtqttDFO9ypBEwnJjTpw2uTcBIbc6E7AThaZeEF/JC84aIRgQQ |
3551 | +EQoABgUCV0RROwAKCRD3uM6mBW6OVjBwAJ9j4tcWbw03rBy5j4LjP9a4EToJcwCf |
3552 | +TEfCiAWldVzFkDM9jBfu0V+rIwC5Ag0EVzrf3gEQAN4Nor5B6nG+Rrb0yzI7Q1sO |
3553 | +VM+OD6CdCN4Ic9E3u+pgsfbtRQKRuSNk8LyPVOpI5rpsJhqGKEDOUWEtb7uyfZxV |
3554 | +J57QhbhIiJTJsFp50mofC58Kb8+vQ4x6QKdW9dwNSH3+BzwHi6QN+b+ZFifC4J6H |
3555 | +q/1Ebu1b6q7aWjY7dPh2K+XgKTIq6qio9HFqUTGdj2QM0eLiQ6FDDKH0cMvVqPGD |
3556 | +dwJXAYoG5Br6WeYFyoBiygfaKXMVu72dL9YhyeUfGJtrZkRv6zqrkwnjWL7Xu1Rd |
3557 | +5gdYXV1QBz3SyBdZYS3MCbvkMLEkBCXrMG4zvReasrkanMANRQyM/XPMS5joO5dD |
3558 | +cvL5FDQeOy7+YlznkM5pAar2SLrJDerjVLBvXdCBX4MjsW05t3OPg6ryMId1rHbY |
3559 | +XtPslrCm9abox53dUtd16Gp/FSxs2TT3Wbos0/zel/zOIyj4kcVR3QjplMchlWOA |
3560 | +YLYO5VwM1f49/xvFOEMiyb98ameS0fFf1pNAstLodEDxgXIdzoelxbybYrRLymgD |
3561 | +tp3gkf53mhSN1q5Qu+/CQbSChqbcAsT8qUSdeGkvzR4qKEzDh+dEo4lheNwi7xPZ |
3562 | +/kj2RjaKs6jjxUWw9oyqxdGt9IwbRo+0TV+gLKUv/uj/lVKO5O3alNN37lobLQbF |
3563 | +5fFTrp9oXz2eerqAJFI7ABEBAAGJAh8EGAEKAAkFAlc6394CGwwACgkQa3OjbmAm |
3564 | +38pltg//W37vxUm6OMmXaKuLtE/G4GsM7QHD/OIvXZw+HIzyVClsM8v0+DGolOGU |
3565 | +Qif9HBRZfrgEWHTVeTDkynq3y7hbA2ekXEGvdKMVTt1JqRWgWPP57dAu8aVaJuR6 |
3566 | +b4HLS0dfavXxnG1K2zunq3eARoOpynUJRzdG95JjXaLyYd1FGU6WBfyaVEnaZump |
3567 | +o6evG8VcH8fj/h88vhc3qlU+FdP0B8pb6QQpkqZGJeeiKP/yVFI/wQEqITIs1/ST |
3568 | +stzNGzIeUnNITjUCm/O2Hy+VmrYeFqFNY0SSdRriENnbcxOZN4raQfhBToe5wdgo |
3569 | +vUXCJaaVTd5WMGJX6Gn3GevMaLjO8YlRfcqnD7rAFUGwTKdGRjgc2NbD0L3fB2Mo |
3570 | +Y6SIAhEFbVWp/IExGhF+RTX0GldX/NgYMGvf6onlCRbY6By24I+OJhluD6lFaogG |
3571 | +vyar4hPA2PMw2LUjR5sZGHPGd65LtXviRn6E1nAJ8CM9g9s6LD5nA9A7m+FEI0rL |
3572 | +LVJf9GjgRbyD6QF53AZanwGUoKUPaF+Jp6HhVXNWEyc2xV1GQL+9U2/BX6zyzAZP |
3573 | +fVeMPOtWIF9ZPqp7nQw9hhzfYWxJRh4UZ90/ErwzKYzZLYZJcPNMSbScPVB/th/n |
3574 | +FfI07vQHGzzlrJi+064X5V6BdvKB25qBq67GbYw88+XcrM6R+Uk= |
3575 | +=tsX2 |
3576 | +-----END PGP PUBLIC KEY BLOCK----- |
3577 | diff --git a/debian/watch b/debian/watch |
3578 | index f4d3d8a..864051c 100644 |
3579 | --- a/debian/watch |
3580 | +++ b/debian/watch |
3581 | @@ -1,3 +1,4 @@ |
3582 | version=4 |
3583 | -https://github.com/rabbitmq/@PACKAGE@/releases \ |
3584 | - (?:.*?/)?@PACKAGE@_(\d[\d.]*)\.orig\.tar\.xz debian uupdate |
3585 | +opts="searchmode=plain,pgpmode=auto" \ |
3586 | + https://api.github.com/repos/rabbitmq/rabbitmq-server/releases?per_page=100 \ |
3587 | + https://github.com/rabbitmq/rabbitmq-server/releases/download/[^/]+/@PACKAGE@-@ANY_VERSION@@ARCHIVE_EXT@ |
3588 | diff --git a/deps/.hex/cache.erl b/deps/.hex/cache.erl |
3589 | index 529c3c1..b7068f1 100644 |
3590 | --- a/deps/.hex/cache.erl |
3591 | +++ b/deps/.hex/cache.erl |
3592 | @@ -1,2 +1,2 @@ |
3593 | [{read_concurrency,false},{write_concurrency,false},{compressed,false},{heir,none},{name,'Elixir.Hex.Registry.Server'},{named_table,false},{type,set},{keypos,1},{protection,protected}]. |
3594 | -[{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},<<51,221,215,227,240,137,141,26,124,212,235,117,88,77,41,16,14,43,149,75,115,25,59,120,255,172,203,118,182,37,87,124>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},<<72,67,100,98,6,104,157,95,209,160,235,61,14,8,188,194,70,39,52,17,101,196,9,111,104,119,219,243,240,116,38,190>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},<<44,187,218,100,149,12,13,159,201,60,175,106,184,221,155,49,232,55,50,164,156,21,248,17,153,78,214,142,229,155,45,213>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},<<145,11,107,111,136,138,168,176,247,155,220,168,171,244,206,33,214,76,152,252,135,182,186,139,106,231,242,237,34,85,28,250>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},nil},{{registry_etag,<<104,101,120,112,109>>,<<99,115,118>>},<<34,99,53,97,50,55,50,50,50,48,53,50,50,102,56,55,53,98,98,101,55,57,54,100,101,52,99,52,98,54,51,57,54,34>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},[]},{{versions,<<104,101,120,112,109>>,<<106,115,111,110>>},[<<48,46,51,46,48>>,<<48,46,51,46,50>>,<<48,46,51,46,51>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>,<<49,46,49,46,48>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,50,46,51>>,<<49,46,50,46,52>>,<<49,46,50,46,53>>,<<49,46,51,46,48>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},{{2022,1,18},{22,48,17}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},<<105,102,54,18,176,225,123,172,122,29,127,26,69,235,225,149,15,19,218,24,10,69,123,7,223,63,175,139,223,24,200,149>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},<<227,235,78,191,17,38,38,39,240,183,155,79,209,224,120,250,78,194,190,249,12,248,59,124,125,33,79,110,230,167,191,174>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},<<121,180,219,142,142,93,115,110,206,124,216,109,238,5,68,39,61,188,79,192,147,122,157,207,219,65,51,176,151,41,238,29>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},<<143,86,163,52,2,26,42,207,236,45,147,7,8,208,240,25,53,241,101,76,138,222,121,119,187,241,248,235,72,67,9,114>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},<<165,235,69,46,242,66,123,154,112,20,171,100,152,141,178,66,81,134,95,142,111,174,125,163,240,100,177,227,178,61,51,219>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},<<109,44,115,99,187,137,175,235,209,36,27,0,51,60,161,178,176,156,97,30,253,148,104,172,0,236,207,120,210,64,58,4>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},[]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},<<207,101,129,50,228,228,150,173,232,111,35,114,94,237,64,16,52,240,120,216,88,212,173,10,147,76,123,58,58,204,20,178>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},<<172,88,31,32,233,197,199,224,203,127,65,143,86,7,39,141,113,97,28,101,221,242,233,48,101,241,244,206,17,221,84,24>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},<<84,80,137,56,172,103,226,121,102,177,14,244,150,6,227,173,89,149,214,101,215,252,38,136,239,179,234,177,48,124,144,121>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},<<241,44,133,153,45,45,129,212,251,122,96,34,90,55,175,239,58,240,6,152,35,204,50,26,37,233,223,157,59,203,110,210>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},{{2022,1,18},{22,48,17}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},<<222,146,226,188,133,188,9,236,103,111,25,246,236,45,170,89,186,31,1,3,209,218,150,207,12,202,54,52,44,144,217,63>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},<<228,10,21,153,48,36,160,203,79,94,34,129,109,107,227,64,2,204,68,99,198,23,137,237,53,236,148,196,25,17,235,238>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},<<206,105,157,49,102,44,52,218,135,131,255,23,171,152,12,99,80,186,80,189,130,71,85,105,219,224,255,146,149,83,217,202>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},<<232,37,108,31,91,115,43,205,72,90,169,75,192,19,113,243,36,225,20,154,143,38,38,35,64,124,162,204,19,171,8,74>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>},{{2022,1,18},{22,48,17}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},<<212,46,32,5,65,22,196,157,82,66,211,255,158,25,19,172,204,235,230,1,95,68,157,110,49,42,91,193,96,231,154,98>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},<<245,47,115,235,52,75,194,45,227,53,153,35,119,65,49,56,64,87,150,224,208,173,153,217,149,217,151,122,194,159,28,169>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},<<2,74,88,8,199,219,172,173,7,228,200,251,223,183,96,201,108,45,40,115,94,67,214,95,26,241,22,67,164,211,163,242>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},<<230,66,147,177,199,46,50,58,218,21,109,71,23,74,239,14,251,80,38,58,21,246,26,15,152,146,235,24,81,15,119,123>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},<<144,235,14,1,159,220,17,222,131,168,140,108,26,139,190,153,105,68,81,76,246,187,206,222,7,44,143,34,45,28,113,35>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},[{<<104,101,120,112,109>>,<<100,101,99,105,109,97,108>>,<<100,101,99,105,109,97,108>>,<<126,62,32,49,46,48>>,true}]},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},<<144,237,193,93,248,153,119,172,98,173,124,194,8,202,22,226,66,122,169,193,130,137,238,155,243,134,208,96,117,166,219,140>>},{{inner_checksum,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},<<239,80,163,97,241,27,95,38,181,241,109,6,150,228,106,158,70,97,117,100,146,201,129,247,178,34,158,244,47,241,205,21>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},<<9,34,102,42,94,22,87,147,197,30,24,201,196,184,166,184,228,130,97,241,131,192,210,137,82,91,53,245,135,195,225,84>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},<<120,201,76,85,220,135,233,31,246,237,228,245,244,103,37,10,222,151,49,232,233,82,110,222,32,154,82,16,238,82,134,146>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},<<164,193,167,195,13,33,81,182,228,151,108,178,245,44,10,29,73,236,150,90,251,115,126,216,74,104,75,196,40,77,22,39>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},[]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},<<114,192,119,214,28,104,4,106,65,50,246,197,185,28,62,118,157,147,111,245,38,78,44,46,155,203,221,7,141,223,92,139>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},<<102,119,195,9,132,22,101,46,0,16,158,203,221,72,26,117,90,45,1,123,86,124,29,233,255,150,17,77,155,211,112,222>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},<<209,118,249,103,201,120,171,139,138,41,195,92,18,82,79,120,183,187,54,253,78,155,130,118,221,117,201,203,86,224,126,66>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},{{2022,1,18},{22,48,18}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},<<137,28,32,233,180,214,31,0,187,29,21,255,46,29,244,81,14,48,42,7,254,77,205,184,84,193,108,34,59,72,29,163>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},<<80,233,140,137,253,228,76,91,121,125,96,45,137,62,163,15,126,225,180,91,77,1,174,170,62,167,66,214,185,139,30,238>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},<<156,4,35,121,62,187,118,245,82,245,191,173,131,219,120,194,17,60,104,78,153,237,178,24,144,111,162,40,179,216,152,119>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},[{<<104,101,120,112,109>>,<<101,97,114,109,97,114,107>>,<<101,97,114,109,97,114,107>>,<<62,61,32,48,46,48,46,48>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},<<144,31,247,139,57,199,84,251,77,111,215,45,207,13,189,57,137,103,187,210,228,213,156,8,212,215,170,68,167,61,233,29>>},{{versions,<<104,101,120,112,109>>,<<114,101,99,111,110>>},[<<50,46,50,46,48>>,<<50,46,50,46,49>>,<<50,46,51,46,48>>,<<50,46,51,46,49>>,<<50,46,51,46,50>>,<<50,46,51,46,51>>,<<50,46,51,46,52>>,<<50,46,51,46,53>>,<<50,46,51,46,54>>,<<50,46,52,46,48>>,<<50,46,53,46,48>>,<<50,46,53,46,49>>,<<50,46,53,46,50>>]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},<<44,107,172,83,3,113,61,27,67,202,111,60,136,23,103,245,123,42,223,102,140,222,48,19,189,113,87,220,101,239,41,156>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},<<222,84,131,50,37,176,230,127,33,219,71,51,58,8,104,90,237,80,215,120,162,241,28,247,227,106,233,227,254,78,225,7>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},<<203,165,63,168,219,131,173,150,140,154,101,46,9,195,237,125,220,196,218,67,79,39,195,234,169,202,71,255,178,177,255,3>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},<<119,62,225,102,102,158,178,27,82,151,206,65,179,199,180,116,190,9,110,184,237,5,45,69,112,129,40,154,28,242,80,122>>},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},nil},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},<<251,60,197,214,171,222,88,2,7,87,132,147,178,216,96,62,100,143,44,93,168,223,234,187,26,186,196,121,147,150,228,33>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},<<114,243,132,15,237,217,79,6,49,92,82,63,108,236,245,180,130,114,51,190,215,174,63,225,53,178,160,235,234,181,225,150>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},<<110,77,136,127,221,142,139,234,129,238,215,150,170,88,155,200,14,52,183,137,97,121,182,132,249,117,202,184,58,27,23,62>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},<<126,106,131,77,27,49,48,195,34,70,205,62,157,56,3,252,52,28,167,175,148,54,47,51,33,56,139,197,165,119,161,26>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},<<68,68,200,121,190,50,59,27,19,62,236,82,65,203,132,189,56,33,234,25,76,116,13,117,97,126,16,107,228,116,67,24>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},<<77,136,166,207,49,69,174,71,48,206,151,157,195,38,52,182,223,150,54,59,81,222,161,94,32,206,80,184,22,1,35,229>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},<<185,80,65,252,17,144,118,152,187,77,64,117,190,80,75,6,0,168,234,119,129,196,236,127,27,240,142,115,235,238,108,37>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},<<62,26,107,110,184,70,116,187,13,10,189,144,160,61,7,208,27,242,46,141,86,147,149,102,74,41,138,252,89,164,234,49>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},<<29,227,205,145,60,190,39,174,240,172,159,191,122,176,110,194,117,248,93,162,139,55,96,100,128,73,153,209,214,51,54,122>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},<<158,233,172,54,50,92,173,255,53,126,95,219,121,194,116,101,7,77,182,127,154,240,15,64,126,21,191,100,146,57,149,10>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},<<226,111,246,64,124,87,46,227,117,253,144,19,151,219,230,226,40,138,182,110,71,245,89,90,225,173,188,186,123,187,147,88>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},<<0,214,237,215,48,254,153,35,132,121,150,70,157,1,139,250,210,149,54,105,189,43,99,91,7,84,206,45,213,159,166,37>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},<<71,184,128,141,153,7,132,52,53,26,145,255,10,183,239,226,166,131,80,36,207,53,156,206,25,80,127,16,58,100,69,117>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},<<162,54,21,16,103,251,60,169,201,96,54,128,105,50,209,5,210,224,199,188,179,119,133,19,239,254,106,108,59,35,58,96>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},<<80,227,39,73,149,59,107,249,129,141,191,237,129,207,17,144,227,140,223,36,249,88,145,48,49,8,8,116,134,197,146,94>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},<<121,217,236,185,73,178,123,204,43,90,3,121,139,93,113,250,129,148,13,153,252,240,217,106,194,6,142,94,242,154,218,192>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},<<139,206,65,63,178,82,52,228,110,97,243,99,163,106,208,125,204,229,50,39,152,45,198,78,39,33,182,228,14,218,121,129>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},<<54,130,193,140,107,7,72,13,242,18,45,13,175,92,5,69,123,66,193,153,15,25,124,227,222,83,136,78,139,168,52,196>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},<<87,33,198,182,213,1,34,216,246,140,204,172,113,44,170,18,49,249,120,148,186,183,121,239,245,255,15,136,108,180,70,72>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},<<107,98,70,96,40,214,224,171,62,198,128,92,81,244,168,134,41,230,152,183,29,248,224,31,165,92,92,74,49,174,190,107>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},nil},{{versions,<<104,101,120,112,109>>,<<99,115,118>>},[<<48,46,49,46,48>>,<<48,46,49,46,49>>,<<48,46,50,46,48>>,<<48,46,50,46,49>>,<<48,46,50,46,50>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,49,46,48>>,<<49,46,49,46,49>>,<<49,46,49,46,50>>,<<49,46,49,46,51>>,<<49,46,49,46,52>>,<<49,46,49,46,53>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,50,46,51>>,<<49,46,50,46,52>>,<<49,46,51,46,48>>,<<49,46,51,46,49>>,<<49,46,51,46,50>>,<<49,46,51,46,51>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<49,46,52,46,50>>,<<49,46,52,46,51>>,<<49,46,52,46,52>>,<<50,46,48,46,48,45,114,99,46,48>>,<<50,46,48,46,48>>,<<50,46,49,46,48>>,<<50,46,49,46,49>>,<<50,46,50,46,48>>,<<50,46,51,46,48>>,<<50,46,51,46,49>>,<<50,46,52,46,48>>,<<50,46,52,46,49>>]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},<<53,139,202,226,196,66,253,64,191,71,65,138,14,15,148,73,5,216,206,18,44,194,156,98,62,109,252,217,190,194,181,19>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},<<166,252,251,218,190,26,239,145,25,184,113,48,72,70,177,206,40,45,154,65,36,188,221,175,199,97,108,26,37,108,117,150>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},[]},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},<<76,202,250,170,44,224,27,133,221,209,69,145,244,213,246,115,27,78,19,182,16,167,15,184,65,240,112,17,120,71,130,128>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},<<237,244,27,181,79,195,77,80,10,31,149,28,153,82,162,59,134,174,136,12,189,252,117,59,72,225,183,14,63,184,238,19>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},<<104,79,209,145,145,174,223,175,56,123,186,187,235,143,243,199,82,240,34,12,129,18,235,144,125,121,127,69,146,214,232,113>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},<<37,105,199,33,33,80,209,87,165,122,53,119,190,202,207,162,227,70,163,175,234,105,135,8,133,22,134,172,220,210,141,4>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},<<17,125,88,18,60,172,60,104,2,0,82,72,191,3,237,32,165,177,77,221,30,57,216,108,122,229,40,150,2,53,82,144>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},[]},{version,3},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},<<8,68,93,118,243,173,53,7,188,74,243,14,175,216,130,96,192,243,92,80,56,84,42,242,119,171,208,151,91,225,234,38>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},<<244,176,215,37,57,47,193,87,159,2,33,179,207,112,170,174,89,243,238,225,104,54,215,40,142,180,84,243,238,92,236,34>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},<<195,39,7,44,190,185,154,8,86,82,207,17,10,122,61,93,123,153,249,69,104,209,73,124,167,105,113,200,128,97,85,90>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},[]},{{registry_etag,<<104,101,120,112,109>>,<<114,101,99,111,110>>},<<34,57,51,50,99,100,100,53,52,102,102,55,57,49,54,57,98,54,50,97,55,50,48,50,56,100,56,98,53,48,53,49,48,34>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},<<227,19,177,246,201,71,212,213,150,103,66,219,100,159,247,226,103,54,224,132,176,162,127,161,246,74,202,120,50,120,28,196>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},[{<<104,101,120,112,109>>,<<100,101,99,105,109,97,108>>,<<100,101,99,105,109,97,108>>,<<126,62,32,49,46,48>>,true}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},<<84,1,54,83,199,46,117,255,59,75,72,115,66,223,229,103,21,201,116,159,249,195,26,125,232,248,77,24,160,158,28,60>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},{{2022,1,18},{22,48,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},<<99,155,46,135,73,225,27,135,185,235,66,242,173,50,93,22,28,23,11,57,178,136,172,141,4,196,243,31,143,8,35,235>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},<<232,72,155,58,124,119,194,21,92,11,103,250,159,144,217,175,167,107,241,92,36,251,123,49,42,221,204,17,119,113,209,84>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},<<121,81,11,127,243,186,89,124,117,140,230,243,151,226,59,63,194,252,114,157,214,51,40,129,196,104,183,103,183,28,119,193>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},<<220,199,223,5,177,219,110,77,26,62,164,3,245,148,210,223,129,195,79,185,24,146,201,196,194,204,109,44,245,156,34,154>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},<<83,185,186,191,253,24,107,180,251,159,221,71,232,164,66,184,241,141,184,20,151,255,163,165,91,90,95,89,111,90,200,20>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},<<87,63,110,101,253,118,8,187,24,230,175,36,91,213,105,165,181,56,126,4,204,76,7,123,31,218,233,153,8,74,169,85>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},<<36,170,165,33,61,173,49,64,42,227,123,151,158,11,91,183,126,152,210,219,190,163,38,237,145,161,0,12,145,196,17,19>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},<<3,204,80,111,88,227,177,218,36,255,228,114,121,197,14,205,7,16,167,169,40,52,192,58,35,38,244,226,34,80,213,77>>},{{versions,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},[<<48,46,50,46,49>>]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},<<217,80,154,44,34,147,65,79,12,138,178,35,105,23,194,141,154,6,6,227,139,49,72,11,47,118,177,203,206,191,151,106>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},<<221,82,137,92,76,143,33,54,94,138,69,110,63,63,180,18,123,84,143,1,54,24,160,87,216,253,118,164,42,200,244,239>>},{{registry_etag,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},<<34,53,99,48,99,48,48,55,97,55,55,54,55,101,50,51,49,97,48,50,98,55,54,56,49,57,48,98,54,57,55,49,97,34>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},<<52,24,227,25,118,75,157,255,31,70,158,67,203,223,253,127,213,78,164,124,191,118,80,39,197,87,171,209,70,161,159,179>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},{{2022,1,18},{22,48,20}}},{{versions,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},[<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52>>,<<49,46,48,46,53>>,<<49,46,48,46,55>>,<<49,46,48,46,56>>,<<49,46,48,46,57>>,<<49,46,49,46,48>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,51,46,48>>,<<49,46,51,46,49>>,<<49,46,51,46,50>>,<<49,46,51,46,51>>,<<49,46,51,46,52>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<49,46,52,46,50>>,<<49,46,52,46,51>>,<<49,46,52,46,52>>,<<49,46,52,46,53>>,<<49,46,53,46,48>>,<<49,46,53,46,49>>,<<49,46,53,46,50>>,<<49,46,53,46,51>>,<<49,46,53,46,52>>,<<49,46,54,46,48>>,<<49,46,54,46,49>>,<<49,46,54,46,50>>,<<49,46,55,46,48>>,<<49,46,55,46,49>>]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},<<160,88,176,66,166,90,171,75,107,220,254,73,23,150,200,208,67,105,54,44,172,223,141,93,75,234,156,81,112,151,208,56>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},<<219,220,236,81,73,70,188,141,202,177,215,125,255,119,25,67,122,133,217,134,23,144,134,74,177,33,85,237,163,253,111,175>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},<<43,202,208,207,98,31,178,119,202,187,182,65,49,89,205,58,163,2,101,194,222,228,44,150,134,151,152,139,48,16,134,4>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},<<89,208,170,245,32,158,59,80,103,69,138,80,59,168,11,115,136,213,101,180,134,161,131,77,199,158,216,113,202,46,175,195>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},<<221,84,236,175,169,116,61,21,164,128,166,157,237,246,104,174,139,137,135,221,19,11,237,83,29,1,222,45,224,219,114,231>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,50,46,49>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},<<93,43,197,39,177,127,29,127,117,31,104,29,56,234,57,136,166,142,206,162,41,215,41,123,71,219,82,241,176,26,149,42>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},<<47,127,203,236,44,53,3,75,173,226,249,113,127,119,5,157,197,78,180,233,41,163,4,156,167,186,103,117,192,189,102,205>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},<<218,31,129,51,81,87,77,55,61,179,235,87,157,45,159,228,185,29,239,194,50,224,8,39,238,90,163,139,86,196,193,210>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},<<42,36,205,38,187,111,153,246,43,113,23,68,183,101,166,2,86,8,105,191,53,227,14,136,204,113,61,233,238,209,143,84>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},<<61,98,119,99,233,68,81,236,33,113,230,208,52,205,163,1,55,45,225,205,240,11,189,224,214,126,14,174,103,116,102,219>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},<<59,151,167,246,49,247,35,53,197,202,105,173,82,159,74,171,245,78,9,177,14,190,12,114,5,182,175,122,13,146,27,148>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},<<10,15,244,148,212,41,101,199,80,103,93,163,225,174,2,244,58,151,127,76,237,209,79,159,115,152,247,177,247,37,52,29>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},<<203,247,114,93,87,123,181,54,15,26,132,29,231,129,200,59,140,131,56,79,158,10,194,88,127,8,19,128,121,36,154,200>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,51,46,49>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},<<18,192,208,123,207,0,180,26,155,61,161,233,207,82,235,5,192,76,185,237,23,20,177,174,34,9,208,212,27,25,175,60>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},<<224,46,111,121,220,82,7,59,144,156,91,229,51,110,126,35,25,122,216,162,152,132,87,94,173,123,5,68,102,84,30,2>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},<<7,70,231,172,135,119,124,3,107,104,136,211,75,235,196,163,110,83,65,104,59,87,163,225,184,103,14,93,9,182,129,82>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},<<18,52,153,51,188,38,72,236,120,159,155,27,62,139,58,235,92,234,198,54,131,247,95,139,203,7,135,0,36,91,135,76>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},<<72,36,218,219,1,225,67,149,246,94,157,24,218,41,77,83,67,38,215,238,215,121,150,243,194,47,116,169,135,1,121,235>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},<<82,54,119,31,28,24,178,146,208,95,163,243,177,122,136,230,32,65,105,41,167,111,111,118,7,160,99,84,190,131,223,24>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},<<233,250,128,26,6,80,103,232,165,96,68,74,199,144,121,115,174,138,214,151,226,6,200,187,26,66,45,159,37,206,202,197>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},<<153,68,136,43,113,245,91,37,3,102,61,156,181,77,63,28,123,189,247,204,109,208,28,196,14,168,239,81,32,118,1,236>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},<<97,30,5,50,254,221,69,36,250,157,80,45,165,247,59,154,203,174,132,156,144,9,236,40,125,217,158,208,156,33,90,65>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},<<198,111,234,137,186,120,98,185,73,1,186,240,135,18,133,233,183,60,173,137,197,253,181,122,99,134,210,173,207,41,89,62>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},<<98,26,26,62,83,107,158,33,99,236,107,176,120,77,253,229,236,19,218,138,190,196,107,183,101,189,126,177,248,173,21,2>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},<<61,45,231,167,16,185,190,212,207,189,174,4,25,217,139,25,133,99,75,216,204,31,38,239,149,118,194,235,154,166,179,94>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},<<33,232,214,152,48,145,102,15,57,79,68,167,193,31,140,241,244,103,175,178,170,218,31,207,89,194,241,181,144,164,47,104>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},<<139,29,56,94,0,231,8,1,161,47,107,212,62,182,79,116,124,79,114,200,142,82,63,143,13,50,118,165,19,92,160,11>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},<<253,149,195,248,33,112,38,177,155,78,193,134,22,8,84,223,29,230,41,51,192,33,56,76,84,98,69,66,3,239,206,224>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},<<139,0,144,177,58,66,52,58,215,9,237,8,129,17,253,64,169,228,194,209,129,158,246,193,230,1,52,113,52,237,52,208>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},<<0,37,224,56,226,242,232,197,200,36,13,24,188,252,17,177,239,225,162,86,113,101,111,197,178,253,214,112,245,72,222,52>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},{{2022,1,18},{22,48,17}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},<<81,54,235,143,128,32,164,64,245,248,148,241,193,30,127,169,72,3,21,178,230,227,152,176,228,102,9,203,150,62,118,138>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},<<158,206,25,186,234,42,11,160,204,226,167,220,175,197,212,98,51,88,47,253,21,126,117,89,227,31,149,135,213,169,181,63>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},<<122,235,9,94,73,65,128,174,217,87,243,88,187,139,146,21,54,10,58,167,226,61,174,125,154,240,251,21,72,66,17,100>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{registry_etag,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},<<34,56,100,48,55,102,97,49,50,50,98,102,51,57,57,56,49,56,102,50,101,49,57,101,57,98,56,54,48,98,55,100,54,34>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},<<250,117,237,79,53,92,212,171,70,140,37,88,129,113,248,0,42,114,116,211,213,251,55,108,24,130,45,223,199,195,63,31>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},<<170,203,72,169,240,220,55,111,21,223,48,101,202,33,132,115,141,215,201,81,80,174,216,60,40,206,11,171,181,110,91,152>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},<<124,16,141,227,48,56,16,40,44,161,17,236,192,147,138,120,230,2,246,180,240,203,107,144,253,245,47,149,209,152,5,159>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},<<196,149,38,14,55,137,176,144,88,147,32,164,221,109,151,69,54,147,217,186,43,222,120,167,11,98,32,205,246,88,203,255>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},<<34,76,89,87,237,225,240,215,135,68,94,165,238,52,99,79,186,176,6,253,161,30,77,66,240,37,11,97,16,216,237,49>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},{{2022,1,18},{22,48,17}}},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},<<59,28,140,11,227,44,39,32,207,5,135,132,129,87,236,95,14,20,247,84,219,99,34,156,52,187,19,90,94,236,181,40>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},<<79,89,119,17,222,247,188,179,135,133,25,245,127,149,88,219,60,157,134,138,238,65,83,94,220,220,32,170,192,179,158,104>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},<<225,176,196,235,165,145,73,137,247,161,169,173,159,137,147,207,116,118,14,70,72,134,240,253,34,10,98,51,126,52,121,20>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},<<23,26,137,155,34,80,224,72,191,89,178,41,171,37,52,247,77,137,44,170,243,29,184,245,90,242,156,26,6,1,71,84>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},nil},{{registry_etag,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},<<34,49,55,48,53,48,57,49,53,97,53,57,55,56,102,97,97,53,56,57,55,56,56,49,99,97,101,99,97,100,51,57,57,34>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},<<83,93,248,66,116,16,163,147,66,189,186,61,17,181,60,80,132,232,115,81,105,99,126,190,213,196,76,215,14,171,0,35>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},<<144,94,191,180,229,77,90,141,108,61,184,90,151,227,68,244,0,142,188,59,117,227,37,235,243,184,143,105,204,82,97,188>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},[]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},nil},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},<<239,82,71,134,18,4,215,101,218,196,201,174,239,141,242,228,84,208,44,85,221,176,130,198,199,103,181,203,151,45,101,25>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},<<223,18,100,181,135,27,186,248,218,79,17,254,173,250,13,198,97,244,213,17,73,58,37,248,249,199,214,21,224,214,20,213>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},<<159,1,192,129,120,215,122,101,122,54,82,135,8,70,212,202,238,122,123,113,202,50,151,29,247,206,87,192,121,218,111,222>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},<<227,14,75,190,99,54,83,165,194,218,67,202,180,42,97,98,62,10,204,128,239,64,195,33,188,41,240,214,152,105,123,211>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},<<81,222,127,212,160,25,247,150,107,51,19,62,173,183,197,186,145,158,93,130,159,185,169,5,79,1,43,225,62,143,157,1>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},<<154,191,33,141,190,78,164,252,184,117,224,135,213,249,4,239,38,61,1,46,229,237,33,212,110,157,188,166,63,5,61,22>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>,false}]},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},<<201,202,31,98,58,62,240,21,130,131,163,195,124,215,183,35,91,254,133,146,122,214,226,99,150,221,36,126,32,87,245,161>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},<<247,30,210,221,230,58,44,168,206,231,133,5,145,64,254,121,160,122,142,67,65,133,52,199,94,32,21,56,185,12,31,185>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},<<37,176,134,181,185,240,219,77,168,137,42,78,21,67,87,112,109,29,219,116,166,190,176,5,234,235,228,11,96,67,46,140>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},<<134,98,110,28,137,164,173,154,150,208,217,198,56,249,232,140,35,70,184,155,75,161,97,25,136,89,78,190,114,181,213,238>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},<<197,103,12,1,118,217,143,197,134,60,112,72,163,173,92,172,44,1,81,110,133,253,40,176,162,35,166,106,125,235,140,234>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},<<38,30,64,121,8,118,140,103,246,243,173,85,119,190,179,66,64,69,24,207,58,141,28,37,249,112,76,8,167,126,137,109>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},<<72,227,29,177,140,35,191,51,200,56,93,63,114,178,112,129,75,142,94,101,7,17,152,154,152,201,40,95,125,184,34,154>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},<<78,125,235,70,12,170,104,171,2,130,210,4,228,58,85,50,98,180,93,64,169,61,208,16,154,133,137,103,171,28,143,191>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},<<130,13,172,184,217,233,253,211,206,164,132,51,239,127,49,178,246,251,249,233,63,255,40,220,35,138,5,190,195,76,57,87>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},<<64,60,123,48,80,27,93,51,205,168,188,107,254,48,127,89,219,1,95,199,37,86,122,86,4,218,231,246,5,165,30,23>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},<<6,79,119,21,219,121,136,118,175,30,184,40,124,132,98,109,32,87,82,237,176,225,163,143,209,38,34,47,103,105,237,172>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,50,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},<<217,57,74,179,245,173,205,169,122,75,139,28,11,121,141,203,40,107,7,145,60,64,32,234,127,120,200,135,35,251,20,94>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},<<204,30,48,54,44,84,234,91,230,196,12,140,160,37,46,105,227,103,226,22,134,157,107,154,241,123,89,58,246,167,104,36>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},<<14,193,72,255,99,89,118,57,179,255,140,195,239,82,60,251,70,105,244,250,26,46,146,30,5,132,156,143,149,12,124,109>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},nil},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},{{2022,1,18},{22,48,17}}},{{versions,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},[<<48,46,49,46,48>>,<<48,46,50,46,48>>,<<48,46,50,46,49>>,<<48,46,50,46,50>>,<<48,46,50,46,51>>,<<48,46,50,46,52>>]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},<<134,72,240,74,148,57,118,90,212,73,188,86,163,255,125,139,17,221,68,255,8,255,205,239,196,50,159,124,147,132,61,250>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},<<128,143,97,68,230,177,7,27,6,94,239,120,144,128,132,98,39,236,140,208,209,97,22,203,135,221,149,155,216,18,239,43>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},{{2022,1,18},{22,48,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},<<64,95,116,217,92,226,6,190,163,171,188,216,241,63,34,144,224,191,223,138,75,210,50,253,14,103,194,242,36,158,40,119>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},<<54,23,39,196,84,172,47,207,55,141,38,16,79,102,79,157,134,244,254,184,32,110,4,45,190,24,116,214,109,132,163,224>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},<<205,13,176,11,249,85,42,18,87,148,80,64,244,222,235,41,152,176,92,122,1,134,215,152,246,224,234,5,150,141,178,69>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},<<135,70,99,76,186,2,83,179,168,68,50,96,128,215,141,77,124,129,171,147,194,248,161,18,241,10,234,167,248,181,81,137>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},<<33,182,157,95,117,31,169,225,236,145,71,77,68,247,183,80,73,20,184,249,214,168,53,45,56,133,111,119,129,224,124,53>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},<<43,187,237,224,72,117,138,214,127,122,117,84,47,144,246,148,202,128,50,50,162,182,127,221,127,159,218,152,141,186,154,137>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},<<167,118,4,141,83,165,143,243,181,212,72,231,82,105,45,47,47,255,248,233,98,241,72,127,19,182,62,184,86,155,14,126>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},<<58,232,236,78,152,164,72,80,212,148,216,68,28,136,150,99,28,41,91,53,65,202,199,145,229,110,160,136,91,167,223,63>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},<<217,196,187,165,244,253,121,45,191,150,34,0,67,83,251,201,249,118,86,33,218,135,58,172,135,166,143,252,81,205,108,102>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},<<56,183,89,231,65,206,79,134,87,102,151,38,186,237,121,114,96,39,96,147,19,252,40,47,90,103,30,25,132,140,33,53>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},<<200,135,134,160,114,7,168,11,7,30,163,142,26,113,168,171,215,50,62,203,247,5,102,1,39,0,155,32,56,197,161,209>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},<<253,251,221,94,157,163,22,77,45,83,151,15,50,140,123,100,157,118,74,72,185,111,245,238,167,113,163,222,82,148,155,177>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},<<139,58,59,201,53,11,160,69,50,244,82,198,7,170,36,213,157,224,58,54,162,131,139,30,161,124,39,70,70,226,243,213>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},<<16,4,241,79,86,196,247,98,133,76,72,46,15,233,45,98,116,227,208,7,139,61,112,228,178,238,179,183,158,39,81,7>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},<<55,62,180,247,50,31,137,138,214,119,41,153,243,13,175,101,249,243,142,29,61,212,215,152,215,168,45,59,18,63,225,211>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},<<44,117,35,200,222,233,29,255,65,246,179,214,60,186,43,212,158,182,210,254,91,241,238,192,223,127,135,235,94,35,14,28>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},<<60,135,105,131,179,53,62,116,172,85,245,4,171,228,244,113,115,162,199,86,112,89,188,95,36,84,45,187,182,47,19,218>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},<<133,128,81,127,114,25,171,182,235,26,100,132,19,211,194,49,151,164,153,232,238,12,184,91,99,120,17,14,55,59,18,213>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},<<174,118,224,106,125,26,72,9,28,95,84,35,200,94,240,134,206,108,19,85,140,94,14,149,211,176,78,31,86,195,90,134>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},<<101,91,237,185,64,198,75,180,213,141,96,128,203,130,4,177,249,36,215,227,22,137,13,7,134,172,127,144,251,154,104,212>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},{{2022,1,18},{22,48,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},<<136,22,143,146,203,209,35,224,41,13,135,208,161,202,128,3,232,99,170,67,10,225,114,87,177,231,195,222,195,33,119,158>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},<<243,164,124,34,50,116,36,41,23,88,22,125,243,196,96,13,207,139,243,71,149,163,120,118,18,1,154,165,184,106,92,33>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},{{2022,1,18},{22,48,17}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},<<40,31,44,187,67,159,227,192,67,119,62,230,200,49,114,171,216,3,38,220,198,21,63,100,48,228,212,230,177,77,126,157>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},<<244,130,93,55,75,34,242,88,173,17,74,116,121,107,121,184,110,32,160,54,17,5,23,25,246,6,35,83,192,83,137,203>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},<<130,163,223,22,68,204,169,183,106,75,126,192,23,189,164,63,18,214,96,37,232,245,60,212,77,210,176,19,164,69,251,147>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},<<154,36,158,30,159,221,180,243,75,252,43,207,43,251,67,191,243,170,98,165,95,128,124,114,203,34,73,177,227,145,74,233>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},<<102,254,225,234,245,54,52,125,73,57,66,203,94,8,83,33,197,30,128,222,18,79,240,15,75,38,81,135,11,145,155,153>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},{{2022,1,18},{22,48,17}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},<<137,173,179,41,68,72,116,128,150,65,204,47,100,90,236,43,211,141,253,132,30,127,228,193,179,188,162,230,249,26,26,243>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},<<9,86,102,121,241,147,49,21,246,24,158,108,78,32,94,53,170,234,28,174,220,248,67,135,92,62,182,94,236,131,228,136>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},<<142,100,15,158,141,162,129,223,90,1,24,144,127,209,142,52,140,31,35,205,199,71,41,100,142,232,55,174,217,27,140,41>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},<<24,229,217,170,84,18,236,6,60,249,113,155,207,231,59,249,144,197,254,213,201,163,200,66,44,43,93,149,41,252,139,13>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},<<107,156,170,216,147,0,6,249,187,53,104,12,93,51,17,145,122,198,118,144,195,175,27,160,24,98,51,36,192,21,171,229>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},<<105,239,141,192,74,76,174,199,209,37,41,162,55,199,180,155,139,177,255,48,198,228,44,186,234,71,245,179,206,145,253,189>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},<<194,18,58,158,240,37,55,126,12,183,146,202,226,3,176,251,111,81,83,62,45,9,138,157,207,126,43,240,18,221,33,194>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},<<110,125,164,69,241,34,142,178,227,58,182,153,25,226,63,248,245,119,212,177,213,64,199,18,55,58,247,109,196,24,107,86>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},<<247,255,225,201,212,59,123,176,236,219,241,88,208,221,33,29,68,170,80,93,85,16,190,88,13,31,37,220,165,98,122,8>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},<<34,136,7,241,80,124,193,231,171,163,101,61,18,237,57,253,168,150,159,119,240,14,201,84,24,81,241,206,105,167,229,224>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},<<125,82,45,99,193,63,55,10,240,85,62,39,241,17,175,46,151,249,79,82,241,156,152,189,85,126,220,205,83,211,23,237>>},{{repo,<<104,101,120,112,109>>},<<104,116,116,112,115,58,47,47,114,101,112,111,46,104,101,120,46,112,109>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},<<253,239,107,136,195,29,76,34,224,117,107,33,94,103,115,31,76,39,57,250,253,19,168,240,150,226,247,69,122,201,252,195>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},<<81,241,223,146,27,4,119,39,94,167,18,118,48,66,21,93,188,116,172,199,93,150,72,219,213,73,133,196,92,145,59,41>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},<<211,69,204,226,233,242,86,144,250,158,83,33,6,112,113,98,221,93,141,153,138,197,64,226,68,231,158,219,138,143,60,44>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},<<146,48,109,88,81,27,235,226,12,242,50,205,65,94,151,159,216,143,175,226,159,194,63,30,158,27,67,127,162,208,6,180>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},<<87,98,95,24,53,198,99,53,131,106,213,107,2,224,21,248,208,190,199,234,139,100,211,5,241,134,255,216,60,134,175,63>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},<<18,120,55,62,72,14,61,187,172,80,45,35,75,247,111,77,173,185,164,174,22,208,182,58,172,75,199,249,79,211,178,228>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},<<176,130,101,218,0,52,39,160,71,207,77,50,70,74,228,200,25,201,193,58,33,248,106,182,237,228,254,60,75,17,130,13>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},<<110,216,76,213,101,167,236,112,146,0,220,53,152,58,23,181,31,118,152,56,180,196,142,200,193,64,28,253,16,50,224,254>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},<<34,47,127,11,94,117,136,177,233,233,183,62,72,148,15,18,212,59,190,8,196,116,176,143,213,126,249,135,71,209,197,102>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},<<59,50,222,86,143,18,144,1,225,207,137,204,91,207,214,219,177,38,15,171,178,207,138,52,16,205,192,246,52,235,161,130>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},<<4,169,229,159,101,162,157,117,225,224,34,182,226,186,4,222,45,15,34,138,192,11,179,255,223,212,21,128,10,36,196,109>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},<<153,47,46,20,24,132,154,50,111,209,217,40,120,1,250,45,134,9,29,180,249,97,31,96,120,29,166,210,54,246,76,212>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},{{2022,1,18},{22,48,20}}},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},<<140,102,178,169,55,154,72,235,237,246,174,23,188,43,114,195,171,233,203,219,247,130,73,57,128,105,103,50,97,1,195,113>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},<<78,149,60,214,171,60,247,71,60,37,144,249,155,72,255,149,21,190,25,113,189,191,237,213,92,218,18,14,251,45,35,205>>},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},<<236,36,134,141,134,25,117,122,104,240,121,131,87,199,25,8,7,161,207,196,44,233,12,24,194,55,96,229,146,73,162,26>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},<<243,239,123,26,226,138,85,229,59,140,181,193,29,14,11,100,231,110,56,213,243,232,48,191,46,59,242,204,10,137,216,72>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},<<155,164,209,166,168,242,208,178,113,109,226,178,165,204,43,170,204,126,246,97,224,35,89,184,212,159,28,14,122,140,94,203>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},<<188,191,142,48,184,96,93,175,22,10,140,42,41,213,74,23,46,82,15,75,160,227,94,17,122,106,162,64,96,208,159,6>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},<<67,15,250,96,104,90,193,239,223,177,254,76,151,184,118,124,146,208,217,46,110,124,62,134,33,85,155,167,117,152,103,138>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},nil},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},[]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},<<126,52,227,187,132,18,57,63,249,247,246,37,143,69,206,99,36,123,203,172,231,142,225,73,214,152,89,118,13,216,14,92>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},<<110,147,67,127,116,169,151,8,6,138,50,183,103,176,36,50,209,19,137,98,117,66,20,9,227,1,141,152,146,54,166,90>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},<<194,61,185,228,204,160,232,73,173,196,43,10,9,154,255,185,230,38,124,95,35,168,113,252,111,20,67,72,178,73,52,31>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},<<84,125,88,219,189,134,76,10,86,12,12,163,120,158,232,132,137,116,232,197,23,205,183,130,124,51,3,227,180,46,117,77>>},{{versions,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},[<<48,46,49,46,48>>,<<48,46,49,46,49>>,<<48,46,49,46,50>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52>>,<<49,46,48,46,53>>,<<49,46,48,46,54>>,<<49,46,49,46,48>>]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},<<108,84,138,208,244,145,100,149,167,137,119,103,74,37,24,71,134,159,133,181,18,91,124,42,68,218,49,120,149,90,223,209>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},<<153,157,191,5,166,154,48,207,230,159,28,50,23,123,19,188,187,118,12,110,235,200,231,70,167,54,130,189,127,223,71,171>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},<<16,133,39,148,221,224,88,193,239,122,91,157,83,212,8,217,4,194,7,110,159,171,116,172,67,252,103,109,50,227,218,211>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},<<221,158,21,194,160,108,229,114,231,154,103,96,57,12,160,35,72,192,241,193,134,58,34,145,8,98,133,129,134,36,121,114>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},{{2022,1,18},{22,48,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},<<40,42,138,50,60,162,168,69,201,230,247,135,209,102,52,143,119,108,29,74,65,237,230,48,70,215,45,66,46,61,169,70>>},{{registry_etag,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},<<34,53,97,98,101,48,97,101,50,49,54,56,57,56,49,52,99,101,101,57,53,54,55,50,50,99,100,98,101,53,99,100,49,34>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},<<180,6,194,252,205,234,160,217,78,35,181,227,10,227,214,53,162,212,97,227,99,165,201,198,49,104,151,3,124,240,80,210>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},{{2022,1,18},{22,48,18}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},<<132,183,103,162,219,142,204,47,7,187,132,252,180,245,79,37,22,12,7,161,218,226,124,70,11,63,12,64,191,203,247,159>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},<<75,178,27,173,213,26,50,173,80,237,204,229,78,83,18,172,240,121,163,188,119,15,38,108,25,151,7,28,127,202,223,23>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},<<22,126,93,61,210,231,113,110,88,101,245,168,208,100,215,169,247,0,69,22,199,150,104,64,131,241,205,24,12,45,66,150>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},<<24,34,98,146,249,177,109,241,247,196,117,36,59,152,185,133,59,170,233,18,101,88,198,253,222,53,77,27,159,120,134,56>>},{last_update,{{2022,1,18},{20,55,39}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},<<7,202,4,16,92,47,46,71,50,244,235,97,134,62,24,231,241,183,181,11,109,30,227,30,126,23,205,198,18,154,77,225>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},<<245,131,207,95,146,14,6,187,25,227,36,29,139,227,242,66,199,98,16,105,185,125,1,19,130,88,232,183,165,73,55,89>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},<<109,146,154,92,130,248,99,214,32,28,161,252,218,171,38,179,85,143,41,221,224,211,160,34,229,242,200,221,175,180,203,22>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},<<206,219,47,35,1,113,230,209,4,35,174,232,206,144,81,40,51,176,126,151,135,71,204,131,107,15,44,3,127,207,119,157>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},{{2022,1,18},{22,48,17}}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},<<76,120,211,230,117,249,239,248,133,203,226,82,200,154,143,193,210,251,128,60,13,3,169,20,40,30,88,120,52,224,148,49>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},<<245,81,152,101,10,142,192,29,62,252,4,121,122,190,85,12,125,2,62,127,248,181,9,243,115,207,147,48,50,4,155,216>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},<<21,65,73,21,16,131,0,130,100,90,163,191,158,38,141,151,254,169,191,217,126,7,137,84,112,244,23,246,108,243,192,116>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},<<185,103,190,43,35,240,246,120,127,171,126,214,129,180,196,90,33,90,129,72,31,182,43,1,165,183,80,250,143,48,247,108>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},{{2022,1,18},{22,48,20}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},<<16,58,136,179,90,253,98,119,4,200,46,74,189,12,206,172,147,54,164,224,65,214,227,196,113,15,233,60,72,73,65,147>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},<<222,148,84,174,200,249,97,163,28,227,188,38,197,39,87,121,10,152,130,7,85,93,208,130,110,90,96,165,229,244,16,167>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},<<28,55,228,101,104,121,52,189,79,135,20,25,68,145,107,252,74,110,96,231,95,211,42,107,78,234,230,154,136,205,203,158>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},<<127,124,167,45,243,210,158,82,45,55,170,37,73,44,171,71,77,10,229,214,151,31,14,228,151,173,141,53,228,113,230,18>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},<<215,201,232,38,14,156,220,31,178,203,119,226,217,3,149,105,98,193,247,97,87,235,130,0,126,198,189,229,218,171,101,210>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},{{2022,1,18},{22,48,17}}},{{registry_etag,<<104,101,120,112,109>>,<<106,115,111,110>>},<<34,101,102,101,101,99,52,55,102,57,50,98,97,99,55,54,55,55,57,97,50,55,49,99,48,102,98,98,51,54,51,98,55,34>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},<<1,101,136,233,169,102,36,116,1,188,191,2,151,109,70,143,30,111,6,137,29,222,68,248,115,201,37,156,100,150,204,161>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},<<99,11,135,164,61,90,213,41,40,103,253,138,103,49,217,123,60,131,58,11,150,140,210,3,25,183,9,32,254,241,64,107>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},{{2022,1,18},{22,48,20}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},{{2022,1,18},{22,48,20}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},<<120,45,32,1,18,21,106,160,173,174,245,209,65,156,42,204,229,182,91,99,69,210,69,48,241,27,87,153,24,77,152,231>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},<<140,130,155,178,142,63,49,106,54,18,22,49,68,5,254,41,109,141,210,253,116,9,223,165,63,164,172,28,255,55,151,160>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},<<156,225,30,255,90,116,160,123,175,55,135,178,177,157,215,152,114,77,41,169,195,164,146,164,29,243,159,106,246,134,218,14>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},{{2022,1,18},{22,48,20}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},<<228,42,101,145,72,233,247,177,231,215,28,123,93,36,153,124,215,189,123,114,215,227,30,165,194,219,22,116,184,238,231,136>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},<<60,195,226,58,205,234,110,131,64,115,25,39,91,193,250,174,216,30,159,132,1,73,217,241,199,203,174,78,19,145,128,169>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},<<209,152,101,72,132,113,137,181,31,30,251,101,209,150,230,171,159,46,136,166,135,138,54,58,236,14,60,119,226,85,6,22>>}]. |
3595 | +[{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},<<18,192,208,123,207,0,180,26,155,61,161,233,207,82,235,5,192,76,185,237,23,20,177,174,34,9,208,212,27,25,175,60>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,52>>},<<67,143,151,181,22,168,83,33,207,7,214,240,153,92,43,111,2,163,254,240,252,68,1,112,205,240,62,140,238,165,137,121>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,53,46,48>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},<<140,102,178,169,55,154,72,235,237,246,174,23,188,43,114,195,171,233,203,219,247,130,73,57,128,105,103,50,97,1,195,113>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},<<245,47,115,235,52,75,194,45,227,53,153,35,119,65,49,56,64,87,150,224,208,173,153,217,149,217,151,122,194,159,28,169>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},<<134,72,240,74,148,57,118,90,212,73,188,86,163,255,125,139,17,221,68,255,8,255,205,239,196,50,159,124,147,132,61,250>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},<<0,214,237,215,48,254,153,35,132,121,150,70,157,1,139,250,210,149,54,105,189,43,99,91,7,84,206,45,213,159,166,37>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},<<108,84,138,208,244,145,100,149,167,137,119,103,74,37,24,71,134,159,133,181,18,91,124,42,68,218,49,120,149,90,223,209>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},<<37,176,134,181,185,240,219,77,168,137,42,78,21,67,87,112,109,29,219,116,166,190,176,5,234,235,228,11,96,67,46,140>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,50>>},<<153,96,89,85,120,88,108,113,207,236,21,185,76,63,10,244,52,98,128,43,94,179,170,236,143,40,166,211,133,178,47,184>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>},{{2022,12,13},{13,54,17}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,48>>},<<90,200,61,232,134,131,140,0,95,137,67,231,25,190,86,140,248,111,114,54,31,244,165,214,129,216,247,2,77,147,47,0>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,52>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},<<194,61,185,228,204,160,232,73,173,196,43,10,9,154,255,185,230,38,124,95,35,168,113,252,111,20,67,72,178,73,52,31>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},<<130,163,223,22,68,204,169,183,106,75,126,192,23,189,164,63,18,214,96,37,232,245,60,212,77,210,176,19,164,69,251,147>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},<<250,117,237,79,53,92,212,171,70,140,37,88,129,113,248,0,42,114,116,211,213,251,55,108,24,130,45,223,199,195,63,31>>},{{registry_etag,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},<<34,101,54,98,102,48,48,97,102,102,97,54,53,53,52,54,100,51,53,48,56,55,102,48,55,49,54,97,51,52,51,49,56,34>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},<<78,149,60,214,171,60,247,71,60,37,144,249,155,72,255,149,21,190,25,113,189,191,237,213,92,218,18,14,251,45,35,205>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,51>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},<<222,148,84,174,200,249,97,163,28,227,188,38,197,39,87,121,10,152,130,7,85,93,208,130,110,90,96,165,229,244,16,167>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},<<218,31,129,51,81,87,77,55,61,179,235,87,157,45,159,228,185,29,239,194,50,224,8,39,238,90,163,139,86,196,193,210>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},{{2022,12,13},{13,54,22}}},{{registry_etag,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},<<34,53,97,98,101,48,97,101,50,49,54,56,57,56,49,52,99,101,101,57,53,54,55,50,50,99,100,98,101,53,99,100,49,34>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,53>>},<<60,20,85,18,126,146,222,136,69,128,109,184,149,84,173,125,69,224,33,41,116,190,65,221,156,56,165,200,129,134,23,19>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},[]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},<<9,86,102,121,241,147,49,21,246,24,158,108,78,32,94,53,170,234,28,174,220,248,67,135,92,62,182,94,236,131,228,136>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},<<162,54,21,16,103,251,60,169,201,96,54,128,105,50,209,5,210,224,199,188,179,119,133,19,239,254,106,108,59,35,58,96>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},[]},{{versions,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},[<<48,46,49,46,48>>,<<48,46,50,46,48>>,<<48,46,50,46,49>>,<<48,46,50,46,50>>,<<48,46,50,46,51>>,<<48,46,50,46,52>>]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},<<40,31,44,187,67,159,227,192,67,119,62,230,200,49,114,171,216,3,38,220,198,21,63,100,48,228,212,230,177,77,126,157>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,50>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,51>>},<<164,27,109,62,17,163,68,78,6,62,9,204,34,95,127,62,99,28,225,64,25,229,251,202,235,253,168,155,27,215,136,234>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},<<18,120,55,62,72,14,61,187,172,80,45,35,75,247,111,77,173,185,164,174,22,208,182,58,172,75,199,249,79,211,178,228>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},<<110,216,76,213,101,167,236,112,146,0,220,53,152,58,23,181,31,118,152,56,180,196,142,200,193,64,28,253,16,50,224,254>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},<<10,15,244,148,212,41,101,199,80,103,93,163,225,174,2,244,58,151,127,76,237,209,79,159,115,152,247,177,247,37,52,29>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},<<133,128,81,127,114,25,171,182,235,26,100,132,19,211,194,49,151,164,153,232,238,12,184,91,99,120,17,14,55,59,18,213>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},<<37,105,199,33,33,80,209,87,165,122,53,119,190,202,207,162,227,70,163,175,234,105,135,8,133,22,134,172,220,210,141,4>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},<<28,55,228,101,104,121,52,189,79,135,20,25,68,145,107,252,74,110,96,231,95,211,42,107,78,234,230,154,136,205,203,158>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},<<107,156,170,216,147,0,6,249,187,53,104,12,93,51,17,145,122,198,118,144,195,175,27,160,24,98,51,36,192,21,171,229>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},<<17,125,88,18,60,172,60,104,2,0,82,72,191,3,237,32,165,177,77,221,30,57,216,108,122,229,40,150,2,53,82,144>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},<<64,95,116,217,92,226,6,190,163,171,188,216,241,63,34,144,224,191,223,138,75,210,50,253,14,103,194,242,36,158,40,119>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},<<136,22,143,146,203,209,35,224,41,13,135,208,161,202,128,3,232,99,170,67,10,225,114,87,177,231,195,222,195,33,119,158>>},{{retired,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},<<144,31,247,139,57,199,84,251,77,111,215,45,207,13,189,57,137,103,187,210,228,213,156,8,212,215,170,68,167,61,233,29>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},<<180,6,194,252,205,234,160,217,78,35,181,227,10,227,214,53,162,212,97,227,99,165,201,198,49,104,151,3,124,240,80,210>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},<<89,208,170,245,32,158,59,80,103,69,138,80,59,168,11,115,136,213,101,180,134,161,131,77,199,158,216,113,202,46,175,195>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},{{2022,12,13},{13,54,17}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},<<99,155,46,135,73,225,27,135,185,235,66,242,173,50,93,22,28,23,11,57,178,136,172,141,4,196,243,31,143,8,35,235>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},<<188,191,142,48,184,96,93,175,22,10,140,42,41,213,74,23,46,82,15,75,160,227,94,17,122,106,162,64,96,208,159,6>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},<<201,202,31,98,58,62,240,21,130,131,163,195,124,215,183,35,91,254,133,146,122,214,226,99,150,221,36,126,32,87,245,161>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,51>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},<<224,46,111,121,220,82,7,59,144,156,91,229,51,110,126,35,25,122,216,162,152,132,87,94,173,123,5,68,102,84,30,2>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},<<80,233,140,137,253,228,76,91,121,125,96,45,137,62,163,15,126,225,180,91,77,1,174,170,62,167,66,214,185,139,30,238>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},<<172,88,31,32,233,197,199,224,203,127,65,143,86,7,39,141,113,97,28,101,221,242,233,48,101,241,244,206,17,221,84,24>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},{{2022,12,13},{13,54,22}}},{last_update,{{2022,12,13},{2,23,18}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},{{2022,12,13},{13,54,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},<<6,79,119,21,219,121,136,118,175,30,184,40,124,132,98,109,32,87,82,237,176,225,163,143,209,38,34,47,103,105,237,172>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},<<165,235,69,46,242,66,123,154,112,20,171,100,152,141,178,66,81,134,95,142,111,174,125,163,240,100,177,227,178,61,51,219>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,53,46,48>>},<<232,33,245,65,72,112,69,199,89,26,25,99,238,180,42,255,240,223,169,155,220,219,235,52,16,121,90,47,89,199,125,52>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,52>>},<<60,27,251,109,145,191,104,246,163,209,95,70,174,32,218,15,119,64,211,99,238,91,192,65,25,28,232,114,42,108,79,174>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},<<24,229,217,170,84,18,236,6,60,249,113,155,207,231,59,249,144,197,254,213,201,163,200,66,44,43,93,149,41,252,139,13>>},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},<<16,58,136,179,90,253,98,119,4,200,46,74,189,12,206,172,147,54,164,224,65,214,227,196,113,15,233,60,72,73,65,147>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},<<107,98,70,96,40,214,224,171,62,198,128,92,81,244,168,134,41,230,152,183,29,248,224,31,165,92,92,74,49,174,190,107>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},<<200,135,134,160,114,7,168,11,7,30,163,142,26,113,168,171,215,50,62,203,247,5,102,1,39,0,155,32,56,197,161,209>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},<<227,19,177,246,201,71,212,213,150,103,66,219,100,159,247,226,103,54,224,132,176,162,127,161,246,74,202,120,50,120,28,196>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},<<16,4,241,79,86,196,247,98,133,76,72,46,15,233,45,98,116,227,208,7,139,61,112,228,178,238,179,183,158,39,81,7>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},<<185,80,65,252,17,144,118,152,187,77,64,117,190,80,75,6,0,168,234,119,129,196,236,127,27,240,142,115,235,238,108,37>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},<<203,247,114,93,87,123,181,54,15,26,132,29,231,129,200,59,140,131,56,79,158,10,194,88,127,8,19,128,121,36,154,200>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},<<137,28,32,233,180,214,31,0,187,29,21,255,46,29,244,81,14,48,42,7,254,77,205,184,84,193,108,34,59,72,29,163>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},<<140,130,155,178,142,63,49,106,54,18,22,49,68,5,254,41,109,141,210,253,116,9,223,165,63,164,172,28,255,55,151,160>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,53,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},[]},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},[]},{{versions,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},[<<48,46,49,46,48>>,<<48,46,49,46,49>>,<<48,46,49,46,50>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52>>,<<49,46,48,46,53>>,<<49,46,48,46,54>>,<<49,46,49,46,48>>]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},<<102,119,195,9,132,22,101,46,0,16,158,203,221,72,26,117,90,45,1,123,86,124,29,233,255,150,17,77,155,211,112,222>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},<<97,30,5,50,254,221,69,36,250,157,80,45,165,247,59,154,203,174,132,156,144,9,236,40,125,217,158,208,156,33,90,65>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},<<120,201,76,85,220,135,233,31,246,237,228,245,244,103,37,10,222,151,49,232,233,82,110,222,32,154,82,16,238,82,134,146>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},<<9,34,102,42,94,22,87,147,197,30,24,201,196,184,166,184,228,130,97,241,131,192,210,137,82,91,53,245,135,195,225,84>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},{{2022,12,13},{13,54,17}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},<<221,158,21,194,160,108,229,114,231,154,103,96,57,12,160,35,72,192,241,193,134,58,34,145,8,98,133,129,134,36,121,114>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,50>>},<<161,210,128,193,18,187,84,67,240,155,99,4,29,108,93,218,57,180,8,41,219,64,178,79,223,32,142,27,134,218,179,83>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},<<54,23,39,196,84,172,47,207,55,141,38,16,79,102,79,157,134,244,254,184,32,110,4,45,190,24,116,214,109,132,163,224>>},{{versions,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},[<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52>>,<<49,46,48,46,53>>,<<49,46,48,46,55>>,<<49,46,48,46,56>>,<<49,46,48,46,57>>,<<49,46,49,46,48>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,51,46,48>>,<<49,46,51,46,49>>,<<49,46,51,46,50>>,<<49,46,51,46,51>>,<<49,46,51,46,52>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<49,46,52,46,50>>,<<49,46,52,46,51>>,<<49,46,52,46,52>>,<<49,46,52,46,53>>,<<49,46,53,46,48>>,<<49,46,53,46,49>>,<<49,46,53,46,50>>,<<49,46,53,46,51>>,<<49,46,53,46,52>>,<<49,46,54,46,48>>,<<49,46,54,46,49>>,<<49,46,54,46,50>>,<<49,46,55,46,48>>,<<49,46,55,46,49>>,<<49,46,55,46,50>>,<<49,46,55,46,51>>,<<49,46,55,46,52>>]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},[]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},nil},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},<<197,103,12,1,118,217,143,197,134,60,112,72,163,173,92,172,44,1,81,110,133,253,40,176,162,35,166,106,125,235,140,234>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},nil},{{registry_etag,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},<<34,56,100,48,55,102,97,49,50,50,98,102,51,57,57,56,49,56,102,50,101,49,57,101,57,98,56,54,48,98,55,100,54,34>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},{{2022,12,13},{13,54,19}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},<<245,131,207,95,146,14,6,187,25,227,36,29,139,227,242,66,199,98,16,105,185,125,1,19,130,88,232,183,165,73,55,89>>},{{repo,<<104,101,120,112,109>>},<<104,116,116,112,115,58,47,47,114,101,112,111,46,104,101,120,46,112,109>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},{{2022,12,13},{13,54,17}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},<<62,26,107,110,184,70,116,187,13,10,189,144,160,61,7,208,27,242,46,141,86,147,149,102,74,41,138,252,89,164,234,49>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},<<51,221,215,227,240,137,141,26,124,212,235,117,88,77,41,16,14,43,149,75,115,25,59,120,255,172,203,118,182,37,87,124>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},<<34,47,127,11,94,117,136,177,233,233,183,62,72,148,15,18,212,59,190,8,196,116,176,143,213,126,249,135,71,209,197,102>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},<<227,235,78,191,17,38,38,39,240,183,155,79,209,224,120,250,78,194,190,249,12,248,59,124,125,33,79,110,230,167,191,174>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,53>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},<<251,60,197,214,171,222,88,2,7,87,132,147,178,216,96,62,100,143,44,93,168,223,234,187,26,186,196,121,147,150,228,33>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},<<80,227,39,73,149,59,107,249,129,141,191,237,129,207,17,144,227,140,223,36,249,88,145,48,49,8,8,116,134,197,146,94>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},nil},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},<<83,93,248,66,116,16,163,147,66,189,186,61,17,181,60,80,132,232,115,81,105,99,126,190,213,196,76,215,14,171,0,35>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},<<217,80,154,44,34,147,65,79,12,138,178,35,105,23,194,141,154,6,6,227,139,49,72,11,47,118,177,203,206,191,151,106>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},<<84,80,137,56,172,103,226,121,102,177,14,244,150,6,227,173,89,149,214,101,215,252,38,136,239,179,234,177,48,124,144,121>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},<<42,36,205,38,187,111,153,246,43,113,23,68,183,101,166,2,86,8,105,191,53,227,14,136,204,113,61,233,238,209,143,84>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},<<230,66,147,177,199,46,50,58,218,21,109,71,23,74,239,14,251,80,38,58,21,246,26,15,152,146,235,24,81,15,119,123>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},<<72,227,29,177,140,35,191,51,200,56,93,63,114,178,112,129,75,142,94,101,7,17,152,154,152,201,40,95,125,184,34,154>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},<<167,118,4,141,83,165,143,243,181,212,72,231,82,105,45,47,47,255,248,233,98,241,72,127,19,182,62,184,86,155,14,126>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},<<219,220,236,81,73,70,188,141,202,177,215,125,255,119,25,67,122,133,217,134,23,144,134,74,177,33,85,237,163,253,111,175>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},{{2022,12,13},{13,54,17}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},<<144,94,191,180,229,77,90,141,108,61,184,90,151,227,68,244,0,142,188,59,117,227,37,235,243,184,143,105,204,82,97,188>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},<<16,133,39,148,221,224,88,193,239,122,91,157,83,212,8,217,4,194,7,110,159,171,116,172,67,252,103,109,50,227,218,211>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},<<83,185,186,191,253,24,107,180,251,159,221,71,232,164,66,184,241,141,184,20,151,255,163,165,91,90,95,89,111,90,200,20>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},<<253,149,195,248,33,112,38,177,155,78,193,134,22,8,84,223,29,230,41,51,192,33,56,76,84,98,69,66,3,239,206,224>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,53>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},<<170,203,72,169,240,220,55,111,21,223,48,101,202,33,132,115,141,215,201,81,80,174,216,60,40,206,11,171,181,110,91,152>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},<<209,152,101,72,132,113,137,181,31,30,251,101,209,150,230,171,159,46,136,166,135,138,54,58,236,14,60,119,226,85,6,22>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},<<220,199,223,5,177,219,110,77,26,62,164,3,245,148,210,223,129,195,79,185,24,146,201,196,194,204,109,44,245,156,34,154>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},<<159,1,192,129,120,215,122,101,122,54,82,135,8,70,212,202,238,122,123,113,202,50,151,29,247,206,87,192,121,218,111,222>>},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},[]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},[]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},<<99,11,135,164,61,90,213,41,40,103,253,138,103,49,217,123,60,131,58,11,150,140,210,3,25,183,9,32,254,241,64,107>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,51,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},<<59,28,140,11,227,44,39,32,207,5,135,132,129,87,236,95,14,20,247,84,219,99,34,156,52,187,19,90,94,236,181,40>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},<<237,244,27,181,79,195,77,80,10,31,149,28,153,82,162,59,134,174,136,12,189,252,117,59,72,225,183,14,63,184,238,19>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},<<76,202,250,170,44,224,27,133,221,209,69,145,244,213,246,115,27,78,19,182,16,167,15,184,65,240,112,17,120,71,130,128>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,51>>},[]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},<<144,235,14,1,159,220,17,222,131,168,140,108,26,139,190,153,105,68,81,76,246,187,206,222,7,44,143,34,45,28,113,35>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},{{2022,12,13},{13,54,17}}},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},<<59,50,222,86,143,18,144,1,225,207,137,204,91,207,214,219,177,38,15,171,178,207,138,52,16,205,192,246,52,235,161,130>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},<<55,62,180,247,50,31,137,138,214,119,41,153,243,13,175,101,249,243,142,29,61,212,215,152,215,168,45,59,18,63,225,211>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},<<207,101,129,50,228,228,150,173,232,111,35,114,94,237,64,16,52,240,120,216,88,212,173,10,147,76,123,58,58,204,20,178>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},nil},{{registry_etag,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>},<<34,49,55,48,53,48,57,49,53,97,53,57,55,56,102,97,97,53,56,57,55,56,56,49,99,97,101,99,97,100,51,57,57,34>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},<<34,76,89,87,237,225,240,215,135,68,94,165,238,52,99,79,186,176,6,253,161,30,77,66,240,37,11,97,16,216,237,49>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},<<121,81,11,127,243,186,89,124,117,140,230,243,151,226,59,63,194,252,114,157,214,51,40,129,196,104,183,103,183,28,119,193>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,50>>},<<221,82,137,92,76,143,33,54,94,138,69,110,63,63,180,18,123,84,143,1,54,24,160,87,216,253,118,164,42,200,244,239>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},<<119,62,225,102,102,158,178,27,82,151,206,65,179,199,180,116,190,9,110,184,237,5,45,69,112,129,40,154,28,242,80,122>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},<<243,164,124,34,50,116,36,41,23,88,22,125,243,196,96,13,207,139,243,71,149,163,120,118,18,1,154,165,184,106,92,33>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},nil},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},<<33,232,214,152,48,145,102,15,57,79,68,167,193,31,140,241,244,103,175,178,170,218,31,207,89,194,241,181,144,164,47,104>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},<<154,191,33,141,190,78,164,252,184,117,224,135,213,249,4,239,38,61,1,46,229,237,33,212,110,157,188,166,63,5,61,22>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},<<232,37,108,31,91,115,43,205,72,90,169,75,192,19,113,243,36,225,20,154,143,38,38,35,64,124,162,204,19,171,8,74>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},nil},{{versions,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>},[<<48,46,50,46,49>>]},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,51>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},<<212,46,32,5,65,22,196,157,82,66,211,255,158,25,19,172,204,235,230,1,95,68,157,110,49,42,91,193,96,231,154,98>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},<<68,68,200,121,190,50,59,27,19,62,236,82,65,203,132,189,56,33,234,25,76,116,13,117,97,126,16,107,228,116,67,24>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},<<84,125,88,219,189,134,76,10,86,12,12,163,120,158,232,132,137,116,232,197,23,205,183,130,124,51,3,227,180,46,117,77>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},<<222,146,226,188,133,188,9,236,103,111,25,246,236,45,170,89,186,31,1,3,209,218,150,207,12,202,54,52,44,144,217,63>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,51>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},<<166,252,251,218,190,26,239,145,25,184,113,48,72,70,177,206,40,45,154,65,36,188,221,175,199,97,108,26,37,108,117,150>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},[{<<104,101,120,112,109>>,<<100,101,99,105,109,97,108>>,<<100,101,99,105,109,97,108>>,<<126,62,32,49,46,48>>,true}]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},{{2022,12,13},{13,54,17}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,49>>},<<78,125,235,70,12,170,104,171,2,130,210,4,228,58,85,50,98,180,93,64,169,61,208,16,154,133,137,103,171,28,143,191>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},<<87,98,95,24,53,198,99,53,131,106,213,107,2,224,21,248,208,190,199,234,139,100,211,5,241,134,255,216,60,134,175,63>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},<<203,165,63,168,219,131,173,150,140,154,101,46,9,195,237,125,220,196,218,67,79,39,195,234,169,202,71,255,178,177,255,3>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,50>>},<<234,60,159,122,114,175,184,186,230,37,71,134,105,46,42,89,195,188,54,132,141,132,46,251,52,200,220,69,174,84,179,187>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},<<61,98,119,99,233,68,81,236,33,113,230,208,52,205,163,1,55,45,225,205,240,11,189,224,214,126,14,174,103,116,102,219>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>},nil},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},<<156,225,30,255,90,116,160,123,175,55,135,178,177,157,215,152,114,77,41,169,195,164,146,164,29,243,159,106,246,134,218,14>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},<<247,30,210,221,230,58,44,168,206,231,133,5,145,64,254,121,160,122,142,67,65,133,52,199,94,32,21,56,185,12,31,185>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},<<228,10,21,153,48,36,160,203,79,94,34,129,109,107,227,64,2,204,68,99,198,23,137,237,53,236,148,196,25,17,235,238>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},<<60,135,105,131,179,53,62,116,172,85,245,4,171,228,244,113,115,162,199,86,112,89,188,95,36,84,45,187,182,47,19,218>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},<<81,222,127,212,160,25,247,150,107,51,19,62,173,183,197,186,145,158,93,130,159,185,169,5,79,1,43,225,62,143,157,1>>},{{inner_checksum,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},<<239,80,163,97,241,27,95,38,181,241,109,6,150,228,106,158,70,97,117,100,146,201,129,247,178,34,158,244,47,241,205,21>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,50,46,49>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},<<21,65,73,21,16,131,0,130,100,90,163,191,158,38,141,151,254,169,191,217,126,7,137,84,112,244,23,246,108,243,192,116>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},<<217,196,187,165,244,253,121,45,191,150,34,0,67,83,251,201,249,118,86,33,218,135,58,172,135,166,143,252,81,205,108,102>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},<<34,136,7,241,80,124,193,231,171,163,101,61,18,237,57,253,168,150,159,119,240,14,201,84,24,81,241,206,105,167,229,224>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},<<215,201,232,38,14,156,220,31,178,203,119,226,217,3,149,105,98,193,247,97,87,235,130,0,126,198,189,229,218,171,101,210>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},<<245,81,152,101,10,142,192,29,62,252,4,121,122,190,85,12,125,2,62,127,248,181,9,243,115,207,147,48,50,4,155,216>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},<<72,36,218,219,1,225,67,149,246,94,157,24,218,41,77,83,67,38,215,238,215,121,150,243,194,47,116,169,135,1,121,235>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,49,46,48>>},<<226,111,246,64,124,87,46,227,117,253,144,19,151,219,230,226,40,138,182,110,71,245,89,90,225,173,188,186,123,187,147,88>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},<<43,202,208,207,98,31,178,119,202,187,182,65,49,89,205,58,163,2,101,194,222,228,44,150,134,151,152,139,48,16,134,4>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},<<135,70,99,76,186,2,83,179,168,68,50,96,128,215,141,77,124,129,171,147,194,248,161,18,241,10,234,167,248,181,81,137>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},<<105,102,54,18,176,225,123,172,122,29,127,26,69,235,225,149,15,19,218,24,10,69,123,7,223,63,175,139,223,24,200,149>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},{{2022,12,13},{13,54,17}}},{{deps,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{registry_etag,<<104,101,120,112,109>>,<<106,115,111,110>>},<<34,101,102,101,101,99,52,55,102,57,50,98,97,99,55,54,55,55,57,97,50,55,49,99,48,102,98,98,51,54,51,98,55,34>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},<<176,130,101,218,0,52,39,160,71,207,77,50,70,74,228,200,25,201,193,58,33,248,106,182,237,228,254,60,75,17,130,13>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},<<204,30,48,54,44,84,234,91,230,196,12,140,160,37,46,105,227,103,226,22,134,157,107,154,241,123,89,58,246,167,104,36>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,51>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},<<98,26,26,62,83,107,158,33,99,236,107,176,120,77,253,229,236,19,218,138,190,196,107,183,101,189,126,177,248,173,21,2>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},<<232,72,155,58,124,119,194,21,92,11,103,250,159,144,217,175,167,107,241,92,36,251,123,49,42,221,204,17,119,113,209,84>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,52>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,50>>},<<72,67,100,98,6,104,157,95,209,160,235,61,14,8,188,194,70,39,52,17,101,196,9,111,104,119,219,243,240,116,38,190>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},<<77,136,166,207,49,69,174,71,48,206,151,157,195,38,52,182,223,150,54,59,81,222,161,94,32,206,80,184,22,1,35,229>>},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,51>>},<<207,82,90,5,217,93,219,154,200,54,15,62,178,31,44,73,2,42,42,242,17,42,8,71,250,12,219,103,203,201,239,88>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,49>>},<<222,84,131,50,37,176,230,127,33,219,71,51,58,8,104,90,237,80,215,120,162,241,28,247,227,106,233,227,254,78,225,7>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},[]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},<<139,206,65,63,178,82,52,228,110,97,243,99,163,106,208,125,204,229,50,39,152,45,198,78,39,33,182,228,14,218,121,129>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},<<84,1,54,83,199,46,117,255,59,75,72,115,66,223,229,103,21,201,116,159,249,195,26,125,232,248,77,24,160,158,28,60>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},<<87,63,110,101,253,118,8,187,24,230,175,36,91,213,105,165,181,56,126,4,204,76,7,123,31,218,233,153,8,74,169,85>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},<<71,184,128,141,153,7,132,52,53,26,145,255,10,183,239,226,166,131,80,36,207,53,156,206,25,80,127,16,58,100,69,117>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,48>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,48>>},<<205,63,29,62,113,187,153,120,32,235,125,151,137,61,22,251,86,182,209,140,135,33,150,196,98,67,174,223,103,246,182,230>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},<<243,239,123,26,226,138,85,229,59,140,181,193,29,14,11,100,231,110,56,213,243,232,48,191,46,59,242,204,10,137,216,72>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},{{2022,12,13},{13,54,17}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},<<4,169,229,159,101,162,157,117,225,224,34,182,226,186,4,222,45,15,34,138,192,11,179,255,223,212,21,128,10,36,196,109>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},<<22,126,93,61,210,231,113,110,88,101,245,168,208,100,215,169,247,0,69,22,199,150,104,64,131,241,205,24,12,45,66,150>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},<<158,206,25,186,234,42,11,160,204,226,167,220,175,197,212,98,51,88,47,253,21,126,117,89,227,31,149,135,213,169,181,63>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},nil},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},<<209,118,249,103,201,120,171,139,138,41,195,92,18,82,79,120,183,187,54,253,78,155,130,118,221,117,201,203,86,224,126,66>>},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},[]},{{versions,<<104,101,120,112,109>>,<<106,115,111,110>>},[<<48,46,51,46,48>>,<<48,46,51,46,50>>,<<48,46,51,46,51>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,48,46,50>>,<<49,46,48,46,51>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>,<<49,46,49,46,48>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,50,46,51>>,<<49,46,50,46,52>>,<<49,46,50,46,53>>,<<49,46,51,46,48>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},<<29,227,205,145,60,190,39,174,240,172,159,191,122,176,110,194,117,248,93,162,139,55,96,100,128,73,153,209,214,51,54,122>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},<<211,69,204,226,233,242,86,144,250,158,83,33,6,112,113,98,221,93,141,153,138,197,64,226,68,231,158,219,138,143,60,44>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,49>>},<<226,39,222,193,44,248,226,65,122,214,81,81,208,111,25,164,244,101,26,246,205,51,164,118,184,16,94,196,234,98,31,28>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,55>>},<<225,176,196,235,165,145,73,137,247,161,169,173,159,137,147,207,116,118,14,70,72,134,240,253,34,10,98,51,126,52,121,20>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,50>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,52,46,48>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},<<8,68,93,118,243,173,53,7,188,74,243,14,175,216,130,96,192,243,92,80,56,84,42,242,119,171,208,151,91,225,234,38>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},<<60,195,226,58,205,234,110,131,64,115,25,39,91,193,250,174,216,30,159,132,1,73,217,241,199,203,174,78,19,145,128,169>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},<<0,37,224,56,226,242,232,197,200,36,13,24,188,252,17,177,239,225,162,86,113,101,111,197,178,253,214,112,245,72,222,52>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},<<125,82,45,99,193,63,55,10,240,85,62,39,241,17,175,46,151,249,79,82,241,156,152,189,85,126,220,205,83,211,23,237>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},<<134,98,110,28,137,164,173,154,150,208,217,198,56,249,232,140,35,70,184,155,75,161,97,25,136,89,78,190,114,181,213,238>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},<<253,239,107,136,195,29,76,34,224,117,107,33,94,103,115,31,76,39,57,250,253,19,168,240,150,226,247,69,122,201,252,195>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},<<154,36,158,30,159,221,180,243,75,252,43,207,43,251,67,191,243,170,98,165,95,128,124,114,203,34,73,177,227,145,74,233>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,49>>},<<130,13,172,184,217,233,253,211,206,164,132,51,239,127,49,178,246,251,249,233,63,255,40,220,35,138,5,190,195,76,57,87>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>},[]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,51>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},<<194,18,58,158,240,37,55,126,12,183,146,202,226,3,176,251,111,81,83,62,45,9,138,157,207,126,43,240,18,221,33,194>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,50>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},nil},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},<<127,124,167,45,243,210,158,82,45,55,170,37,73,44,171,71,77,10,229,214,151,31,14,228,151,173,141,53,228,113,230,18>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},<<239,82,71,134,18,4,215,101,218,196,201,174,239,141,242,228,84,208,44,85,221,176,130,198,199,103,181,203,151,45,101,25>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,50>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},<<93,43,197,39,177,127,29,127,117,31,104,29,56,234,57,136,166,142,206,162,41,215,41,123,71,219,82,241,176,26,149,42>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},nil},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,50>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,49>>},<<228,42,101,145,72,233,247,177,231,215,28,123,93,36,153,124,215,189,123,114,215,227,30,165,194,219,22,116,184,238,231,136>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},<<142,100,15,158,141,162,129,223,90,1,24,144,127,209,142,52,140,31,35,205,199,71,41,100,142,232,55,174,217,27,140,41>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,49,45,83,78,65,80,83,72,79,84>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},<<153,47,46,20,24,132,154,50,111,209,217,40,120,1,250,45,134,9,29,180,249,97,31,96,120,29,166,210,54,246,76,212>>},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,54>>},<<185,103,190,43,35,240,246,120,127,171,126,214,129,180,196,90,33,90,129,72,31,182,43,1,165,183,80,250,143,48,247,108>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,53>>},<<64,60,123,48,80,27,93,51,205,168,188,107,254,48,127,89,219,1,95,199,37,86,122,86,4,218,231,246,5,165,30,23>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},<<120,45,32,1,18,21,106,160,173,174,245,209,65,156,42,204,229,182,91,99,69,210,69,48,241,27,87,153,24,77,152,231>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},[{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101>>,<<98,101,110,99,104,101,101>>,<<126,62,32,48,46,56>>,true},{<<104,101,120,112,109>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<98,101,110,99,104,101,101,95,104,116,109,108>>,<<126,62,32,48,46,49>>,true},{<<104,101,120,112,109>>,<<101,120,106,115,120>>,<<101,120,106,115,120>>,<<126,62,32,52,46,48>>,true},{<<104,101,120,112,109>>,<<106,97,115,111,110>>,<<106,97,115,111,110>>,<<126,62,32,49,46,48>>,true},{<<104,101,120,112,109>>,<<106,115,111,110,101>>,<<106,115,111,110,101>>,<<126,62,32,49,46,52>>,true},{<<104,101,120,112,109>>,<<112,111,105,115,111,110>>,<<112,111,105,115,111,110>>,<<126,62,32,51,46,48>>,true},{<<104,101,120,112,109>>,<<116,105,110,121>>,<<116,105,110,121>>,<<126,62,32,49,46,48>>,true}]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},<<87,33,198,182,213,1,34,216,246,140,204,172,113,44,170,18,49,249,120,148,186,183,121,239,245,255,15,136,108,180,70,72>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},nil},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},<<44,187,218,100,149,12,13,159,201,60,175,106,184,221,155,49,232,55,50,164,156,21,248,17,153,78,214,142,229,155,45,213>>},{{retired,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},<<196,149,38,14,55,137,176,144,88,147,32,164,221,109,151,69,54,147,217,186,43,222,120,167,11,98,32,205,246,88,203,255>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},<<43,187,237,224,72,117,138,214,127,122,117,84,47,144,246,148,202,128,50,50,162,182,127,221,127,159,218,152,141,186,154,137>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},<<206,105,157,49,102,44,52,218,135,131,255,23,171,152,12,99,80,186,80,189,130,71,85,105,219,224,255,146,149,83,217,202>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,53>>},<<203,190,84,85,201,61,245,243,242,148,62,153,94,40,183,168,128,131,97,186,52,207,62,68,38,125,119,160,30,175,22,9>>},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},<<24,34,98,146,249,177,109,241,247,196,117,36,59,152,185,133,59,170,233,18,101,88,198,253,222,53,77,27,159,120,134,56>>},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,48>>},<<143,86,163,52,2,26,42,207,236,45,147,7,8,208,240,25,53,241,101,76,138,222,121,119,187,241,248,235,72,67,9,114>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,49>>},<<89,9,255,229,179,206,196,194,176,199,190,30,196,163,38,224,24,168,144,223,254,187,5,224,247,159,68,20,164,65,237,182>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,50>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},<<53,139,202,226,196,66,253,64,191,71,65,138,14,15,148,73,5,216,206,18,44,194,156,98,62,109,252,217,190,194,181,19>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},<<33,182,157,95,117,31,169,225,236,145,71,77,68,247,183,80,73,20,184,249,214,168,53,45,56,133,111,119,129,224,124,53>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},<<109,44,115,99,187,137,175,235,209,36,27,0,51,60,161,178,176,156,97,30,253,148,104,172,0,236,207,120,210,64,58,4>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,48>>},<<205,13,176,11,249,85,42,18,87,148,80,64,244,222,235,41,152,176,92,122,1,134,215,152,246,224,234,5,150,141,178,69>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,53,46,48>>},<<196,123,90,82,33,191,46,86,214,232,235,121,231,120,132,4,109,127,213,22,40,13,199,217,182,116,37,30,10,228,98,70>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},<<145,11,107,111,136,138,168,176,247,155,220,168,171,244,206,33,214,76,152,252,135,182,186,139,106,231,242,237,34,85,28,250>>},{{timestamp,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},<<137,173,179,41,68,72,116,128,150,65,204,47,100,90,236,43,211,141,253,132,30,127,228,193,179,188,162,230,249,26,26,243>>},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},nil},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,50>>},nil},{{registry_etag,<<104,101,120,112,109>>,<<99,115,118>>},<<34,52,101,52,57,56,102,51,97,57,49,97,55,54,100,102,56,100,97,52,100,53,54,51,55,53,102,98,97,54,99,51,53,34>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},<<110,147,67,127,116,169,151,8,6,138,50,183,103,176,36,50,209,19,137,98,117,66,20,9,227,1,141,152,146,54,166,90>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,49,46,48,45,83,78,65,80,83,72,79,84>>},[{<<104,101,120,112,109>>,<<100,101,99,105,109,97,108>>,<<100,101,99,105,109,97,108>>,<<126,62,32,49,46,48>>,true}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,52>>},<<80,222,109,149,216,20,244,71,69,139,213,215,38,102,167,70,36,237,219,14,249,139,220,238,97,160,21,58,174,8,101,255>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},<<47,127,203,236,44,53,3,75,173,226,249,113,127,119,5,157,197,78,180,233,41,163,4,156,167,186,103,117,192,189,102,205>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,52,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,53>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,51>>},<<139,0,144,177,58,66,52,58,215,9,237,8,129,17,253,64,169,228,194,209,129,158,246,193,230,1,52,113,52,237,52,208>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,51>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,56>>},<<153,157,191,5,166,154,48,207,230,159,28,50,23,123,19,188,187,118,12,110,235,200,231,70,167,54,130,189,127,223,71,171>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},<<128,143,97,68,230,177,7,27,6,94,239,120,144,128,132,98,39,236,140,208,209,97,22,203,135,221,149,155,216,18,239,43>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},<<82,54,119,31,28,24,178,146,208,95,163,243,177,122,136,230,32,65,105,41,167,111,111,118,7,160,99,84,190,131,223,24>>},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,49>>},<<23,26,137,155,34,80,224,72,191,89,178,41,171,37,52,247,77,137,44,170,243,29,184,245,90,242,156,26,6,1,71,84>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,50>>},<<22,121,198,93,112,4,147,137,25,95,221,158,95,224,15,153,89,70,147,93,29,204,99,87,229,20,202,26,241,54,226,56>>},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},<<174,118,224,106,125,26,72,9,28,95,84,35,200,94,240,134,206,108,19,85,140,94,14,149,211,176,78,31,86,195,90,134>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},{{2022,12,13},{13,54,17}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,52>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,52>>},<<42,245,24,234,240,88,173,144,1,42,109,190,24,196,158,0,252,224,224,52,111,169,244,187,153,60,22,68,93,239,132,139>>},{{timestamp,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},{{2022,12,13},{13,54,19}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},<<223,18,100,181,135,27,186,248,218,79,17,254,173,250,13,198,97,244,213,17,73,58,37,248,249,199,214,21,224,214,20,213>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},<<160,88,176,66,166,90,171,75,107,220,254,73,23,150,200,208,67,105,54,44,172,223,141,93,75,234,156,81,112,151,208,56>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},<<206,219,47,35,1,113,230,209,4,35,174,232,206,144,81,40,51,176,126,151,135,71,204,131,107,15,44,3,127,207,119,157>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,48>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},<<81,54,235,143,128,32,164,64,245,248,148,241,193,30,127,169,72,3,21,178,230,227,152,176,228,102,9,203,150,62,118,138>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},<<121,180,219,142,142,93,115,110,206,124,216,109,238,5,68,39,61,188,79,192,147,122,157,207,219,65,51,176,151,41,238,29>>},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},<<44,107,172,83,3,113,61,27,67,202,111,60,136,23,103,245,123,42,223,102,140,222,48,19,189,113,87,220,101,239,41,156>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},<<227,14,75,190,99,54,83,165,194,218,67,202,180,42,97,98,62,10,204,128,239,64,195,33,188,41,240,214,152,105,123,211>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,51,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,32,50,46,50,46,49>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,48>>},<<105,239,141,192,74,76,174,199,209,37,41,162,55,199,180,155,139,177,255,48,198,228,44,186,234,71,245,179,206,145,253,189>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},<<54,130,193,140,107,7,72,13,242,18,45,13,175,92,5,69,123,66,193,153,15,25,124,227,222,83,136,78,139,168,52,196>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,51>>},<<82,182,199,251,72,31,102,206,0,52,187,146,182,43,120,127,6,107,148,191,89,175,22,55,230,80,84,253,49,146,12,96>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},<<155,164,209,166,168,242,208,178,113,109,226,178,165,204,43,170,204,126,246,97,224,35,89,184,212,159,28,14,122,140,94,203>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},[]},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,51>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},[]},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},[]},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},nil},{{versions,<<104,101,120,112,109>>,<<99,115,118>>},[<<48,46,49,46,48>>,<<48,46,49,46,49>>,<<48,46,50,46,48>>,<<48,46,50,46,49>>,<<48,46,50,46,50>>,<<49,46,48,46,48>>,<<49,46,48,46,49>>,<<49,46,49,46,48>>,<<49,46,49,46,49>>,<<49,46,49,46,50>>,<<49,46,49,46,51>>,<<49,46,49,46,52>>,<<49,46,49,46,53>>,<<49,46,50,46,48>>,<<49,46,50,46,49>>,<<49,46,50,46,50>>,<<49,46,50,46,51>>,<<49,46,50,46,52>>,<<49,46,51,46,48>>,<<49,46,51,46,49>>,<<49,46,51,46,50>>,<<49,46,51,46,51>>,<<49,46,52,46,48>>,<<49,46,52,46,49>>,<<49,46,52,46,50>>,<<49,46,52,46,51>>,<<49,46,52,46,52>>,<<50,46,48,46,48,45,114,99,46,48>>,<<50,46,48,46,48>>,<<50,46,49,46,48>>,<<50,46,49,46,49>>,<<50,46,50,46,48>>,<<50,46,51,46,48>>,<<50,46,51,46,49>>,<<50,46,52,46,48>>,<<50,46,52,46,49>>,<<50,46,53,46,48>>,<<51,46,48,46,48>>,<<51,46,48,46,49>>,<<51,46,48,46,50>>,<<51,46,48,46,51>>,<<51,46,48,46,52>>,<<51,46,48,46,53>>]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,51,46,54>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},<<124,16,141,227,48,56,16,40,44,161,17,236,192,147,138,120,230,2,246,180,240,203,107,144,253,245,47,149,209,152,5,159>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},[]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,50>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,48>>},<<2,74,88,8,199,219,172,173,7,228,200,251,223,183,96,201,108,45,40,115,94,67,214,95,26,241,22,67,164,211,163,242>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},[{<<104,101,120,112,109>>,<<101,97,114,109,97,114,107>>,<<101,97,114,109,97,114,107>>,<<62,61,32,48,46,48,46,48>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},<<221,84,236,175,169,116,61,21,164,128,166,157,237,246,104,174,139,137,135,221,19,11,237,83,29,1,222,45,224,219,114,231>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,50>>},<<14,193,72,255,99,89,118,57,179,255,140,195,239,82,60,251,70,105,244,250,26,46,146,30,5,132,156,143,149,12,124,109>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,49>>},{{2022,12,13},{13,54,22}}},{{registry_etag,<<104,101,120,112,109>>,<<114,101,99,111,110>>},<<34,57,51,50,99,100,100,53,52,102,102,55,57,49,54,57,98,54,50,97,55,50,48,50,56,100,56,98,53,48,53,49,48,34>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,53,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52,32,111,114,32,126,62,32,49,46,49,46,48>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,51>>},<<37,208,148,212,133,244,114,57,242,24,181,61,240,105,26,16,47,239,19,7,29,253,13,4,146,43,81,66,41,124,252,147>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},<<102,254,225,234,245,54,52,125,73,57,66,203,94,8,83,33,197,30,128,222,18,79,240,15,75,38,81,135,11,145,155,153>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,52>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},{{2022,12,13},{13,54,17}}},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},nil},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,52>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,48>>},<<38,30,64,121,8,118,140,103,246,243,173,85,119,190,179,66,64,69,24,207,58,141,28,37,249,112,76,8,167,126,137,109>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,52>>},<<18,52,153,51,188,38,72,236,120,159,155,27,62,139,58,235,92,234,198,54,131,247,95,139,203,7,135,0,36,91,135,76>>},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,49>>},<<67,15,250,96,104,90,193,239,223,177,254,76,151,184,118,124,146,208,217,46,110,124,62,134,33,85,155,167,117,152,103,138>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,49>>},<<139,58,59,201,53,11,160,69,50,244,82,198,7,170,36,213,157,224,58,54,162,131,139,30,161,124,39,70,70,226,243,213>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},<<144,237,193,93,248,153,119,172,98,173,124,194,8,202,22,226,66,122,169,193,130,137,238,155,243,134,208,96,117,166,219,140>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,51,46,48>>},<<126,106,131,77,27,49,48,195,34,70,205,62,157,56,3,252,52,28,167,175,148,54,47,51,33,56,139,197,165,119,161,26>>},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,51>>},<<236,36,134,141,134,25,117,122,104,240,121,131,87,199,25,8,7,161,207,196,44,233,12,24,194,55,96,229,146,73,162,26>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},<<61,45,231,167,16,185,190,212,207,189,174,4,25,217,139,25,133,99,75,216,204,31,38,239,149,118,194,235,154,166,179,94>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,53>>},<<56,183,89,231,65,206,79,134,87,102,151,38,186,237,121,114,96,39,96,147,19,252,40,47,90,103,30,25,132,140,33,53>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,53>>},<<110,77,136,127,221,142,139,234,129,238,215,150,170,88,155,200,14,52,183,137,97,121,182,132,249,117,202,184,58,27,23,62>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,55,46,51>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,49>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},<<109,146,154,92,130,248,99,214,32,28,161,252,218,171,38,179,85,143,41,221,224,211,160,34,229,242,200,221,175,180,203,22>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},<<244,130,93,55,75,34,242,88,173,17,74,116,121,107,121,184,110,32,160,54,17,5,23,25,246,6,35,83,192,83,137,203>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<48,46,51,46,50>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},[]},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,52>>},<<195,39,7,44,190,185,154,8,86,82,207,17,10,122,61,93,123,153,249,69,104,209,73,124,167,105,113,200,128,97,85,90>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},<<158,233,172,54,50,92,173,255,53,126,95,219,121,194,116,101,7,77,182,127,154,240,15,64,126,21,191,100,146,57,149,10>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},<<122,235,9,94,73,65,128,174,217,87,243,88,187,139,146,21,54,10,58,167,226,61,174,125,154,240,251,21,72,66,17,100>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,48>>},<<3,204,80,111,88,227,177,218,36,255,228,114,121,197,14,205,7,16,167,169,40,52,192,58,35,38,244,226,34,80,213,77>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,52>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},<<126,52,227,187,132,18,57,63,249,247,246,37,143,69,206,99,36,123,203,172,231,142,225,73,214,152,89,118,13,216,14,92>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,49,46,48>>},<<104,79,209,145,145,174,223,175,56,123,186,187,235,143,243,199,82,240,34,12,129,18,235,144,125,121,127,69,146,214,232,113>>},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},{{2022,12,13},{13,54,17}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},nil},{{retired,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,48>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},[]},{{deps,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},[]},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},<<139,29,56,94,0,231,8,1,161,47,107,212,62,182,79,116,124,79,114,200,142,82,63,143,13,50,118,165,19,92,160,11>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},<<59,151,167,246,49,247,35,53,197,202,105,173,82,159,74,171,245,78,9,177,14,190,12,114,5,182,175,122,13,146,27,148>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,50>>},<<101,91,237,185,64,198,75,180,213,141,96,128,203,130,4,177,249,36,215,227,22,137,13,7,134,172,127,144,251,154,104,212>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,57>>},<<110,125,164,69,241,34,142,178,227,58,182,153,25,226,63,248,245,119,212,177,213,64,199,18,55,58,247,109,196,24,107,86>>},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,49>>},<<52,24,227,25,118,75,157,255,31,70,158,67,203,223,253,127,213,78,164,124,191,118,80,39,197,87,171,209,70,161,159,179>>},{{outer_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,50>>},<<7,70,231,172,135,119,124,3,107,104,136,211,75,235,196,163,110,83,65,104,59,87,163,225,184,103,14,93,9,182,129,82>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,49,46,48>>},<<132,183,103,162,219,142,204,47,7,187,132,252,180,245,79,37,22,12,7,161,218,226,124,70,11,63,12,64,191,203,247,159>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},<<198,111,234,137,186,120,98,185,73,1,186,240,135,18,133,233,183,60,173,137,197,253,181,122,99,134,210,173,207,41,89,62>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<48,46,50,46,49>>},<<146,48,109,88,81,27,235,226,12,242,50,205,65,94,151,159,216,143,175,226,159,194,63,30,158,27,67,127,162,208,6,180>>},{{inner_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},<<217,57,74,179,245,173,205,169,122,75,139,28,11,121,141,203,40,107,7,145,60,64,32,234,127,120,200,135,35,251,20,94>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<50,46,48,46,48,45,83,78,65,80,83,72,79,84>>},#{message => <<82,101,116,105,114,101,100,32,82,67,32,118,101,114,115,105,111,110>>,reason => 'RETIRED_OTHER'}},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},<<36,170,165,33,61,173,49,64,42,227,123,151,158,11,91,183,126,152,210,219,190,163,38,237,145,161,0,12,145,196,17,19>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,52>>},<<7,202,4,16,92,47,46,71,50,244,235,97,134,62,24,231,241,183,181,11,109,30,227,30,126,23,205,198,18,154,77,225>>},{{outer_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,49>>},<<244,176,215,37,57,47,193,87,159,2,33,179,207,112,170,174,89,243,238,225,104,54,215,40,142,180,84,243,238,92,236,34>>},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,53>>},<<79,89,119,17,222,247,188,179,135,133,25,245,127,149,88,219,60,157,134,138,238,65,83,94,220,220,32,170,192,179,158,104>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},<<164,193,167,195,13,33,81,182,228,151,108,178,245,44,10,29,73,236,150,90,251,115,126,216,74,104,75,196,40,77,22,39>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,48,46,49>>},[]},{{timestamp,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,49>>},{{2022,12,13},{13,54,17}}},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,51>>},nil},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,50>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,50,46,48>>},[]},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,48>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,49,46,48>>},nil},{{outer_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,48>>},<<241,44,133,153,45,45,129,212,251,122,96,34,90,55,175,239,58,240,6,152,35,204,50,26,37,233,223,157,59,203,110,210>>},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,52>>},nil},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,48>>},<<247,255,225,201,212,59,123,176,236,219,241,88,208,221,33,29,68,170,80,93,85,16,190,88,13,31,37,220,165,98,122,8>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,51,46,49>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,51>>,false}]},{{outer_checksum,<<104,101,120,112,109>>,<<113,117,97,110,116,105,108,101,95,101,115,116,105,109,97,116,111,114>>,<<48,46,50,46,49>>},<<40,42,138,50,60,162,168,69,201,230,247,135,209,102,52,143,119,108,29,74,65,237,230,48,70,215,45,66,46,61,169,70>>},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,49>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,48>>},<<121,217,236,185,73,178,123,204,43,90,3,121,139,93,113,250,129,148,13,153,252,240,217,106,194,6,142,94,242,154,218,192>>},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,52,46,48>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,53>>},<<76,120,211,230,117,249,239,248,133,203,226,82,200,154,143,193,210,251,128,60,13,3,169,20,40,30,88,120,52,224,148,49>>},{{timestamp,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,51>>},{{2022,12,13},{13,54,22}}},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{version,3},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,49>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<48,46,49,46,49>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,51,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>},<<75,178,27,173,213,26,50,173,80,237,204,229,78,83,18,172,240,121,163,188,119,15,38,108,25,151,7,28,127,202,223,23>>},{{versions,<<104,101,120,112,109>>,<<114,101,99,111,110>>},[<<50,46,50,46,48>>,<<50,46,50,46,49>>,<<50,46,51,46,48>>,<<50,46,51,46,49>>,<<50,46,51,46,50>>,<<50,46,51,46,51>>,<<50,46,51,46,52>>,<<50,46,51,46,53>>,<<50,46,51,46,54>>,<<50,46,52,46,48>>,<<50,46,53,46,48>>,<<50,46,53,46,49>>,<<50,46,53,46,50>>]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,48>>},<<153,68,136,43,113,245,91,37,3,102,61,156,181,77,63,28,123,189,247,204,109,208,28,196,14,168,239,81,32,118,1,236>>},{{timestamp,<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<49,46,48,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},{{2022,12,13},{13,54,22}}},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},{{2022,12,13},{13,54,22}}},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,52>>},nil},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,49,46,52>>},[]},{{deps,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,53>>},[]},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,53,46,52>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<126,62,50,46,53,46,49>>,false}]},{{retired,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,52,46,50>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,52,46,48>>},<<253,251,221,94,157,163,22,77,45,83,151,15,50,140,123,100,157,118,74,72,185,111,245,238,167,113,163,222,82,148,155,177>>},{{inner_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<49,46,50,46,50>>},<<233,250,128,26,6,80,103,232,165,96,68,74,199,144,121,115,174,138,214,151,226,6,200,187,26,66,45,159,37,206,202,197>>},{{timestamp,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,52,45,83,78,65,80,83,72,79,84>>},{{2022,12,13},{13,54,22}}},{{outer_checksum,<<104,101,120,112,109>>,<<115,116,100,111,117,116,95,102,111,114,109,97,116,116,101,114>>,<<48,46,50,46,52>>},<<81,241,223,146,27,4,119,39,94,167,18,118,48,66,21,93,188,116,172,199,93,150,72,219,213,73,133,196,92,145,59,41>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,48>>},<<114,243,132,15,237,217,79,6,49,92,82,63,108,236,245,180,130,114,51,190,215,174,63,225,53,178,160,235,234,181,225,150>>},{{deps,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,48,46,48,45,114,99,46,48>>},[{<<104,101,120,112,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<112,97,114,97,108,108,101,108,95,115,116,114,101,97,109>>,<<126,62,32,49,46,48,46,52>>,false}]},{{retired,<<104,101,120,112,109>>,<<106,115,111,110>>,<<49,46,48,46,51>>},nil},{{inner_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,50,46,48>>},<<114,192,119,214,28,104,4,106,65,50,246,197,185,28,62,118,157,147,111,245,38,78,44,46,155,203,221,7,141,223,92,139>>},{{outer_checksum,<<104,101,120,112,109>>,<<99,115,118>>,<<50,46,49,46,49>>},<<58,232,236,78,152,164,72,80,212,148,216,68,28,136,150,99,28,41,91,53,65,202,199,145,229,110,160,136,91,167,223,63>>},{{outer_checksum,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,53,46,50>>},<<44,117,35,200,222,233,29,255,65,246,179,214,60,186,43,212,158,182,210,254,91,241,238,192,223,127,135,235,94,35,14,28>>},{{deps,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,48,46,51>>},[{<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<114,101,99,111,110>>,<<50,46,50,46,49>>,false}]},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,54,46,50>>},<<1,101,136,233,169,102,36,116,1,188,191,2,151,109,70,143,30,111,6,137,29,222,68,248,115,201,37,156,100,150,204,161>>},{{timestamp,<<104,101,120,112,109>>,<<99,115,118>>,<<51,46,48,46,50>>},{{2022,12,13},{13,54,22}}},{{inner_checksum,<<104,101,120,112,109>>,<<111,98,115,101,114,118,101,114,95,99,108,105>>,<<49,46,50,46,48>>},<<156,4,35,121,62,187,118,245,82,245,191,173,131,219,120,194,17,60,104,78,153,237,178,24,144,111,162,40,179,216,152,119>>},{{retired,<<104,101,120,112,109>>,<<114,101,99,111,110>>,<<50,46,51,46,51>>},nil}]. |
3596 | diff --git a/deps/.hex/packages/hexpm/observer_cli-1.7.1.tar b/deps/.hex/packages/hexpm/observer_cli-1.7.1.tar |
3597 | deleted file mode 100644 |
3598 | index 440a2f0..0000000 |
3599 | Binary files a/deps/.hex/packages/hexpm/observer_cli-1.7.1.tar and /dev/null differ |
3600 | diff --git a/deps/.hex/packages/hexpm/observer_cli-1.7.4.tar b/deps/.hex/packages/hexpm/observer_cli-1.7.4.tar |
3601 | new file mode 100644 |
3602 | index 0000000..5bd7d6c |
3603 | Binary files /dev/null and b/deps/.hex/packages/hexpm/observer_cli-1.7.4.tar differ |
3604 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/.elixir b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/.elixir |
3605 | deleted file mode 100644 |
3606 | index 463544a..0000000 |
3607 | --- a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/.elixir |
3608 | +++ /dev/null |
3609 | @@ -1 +0,0 @@ |
3610 | -~> 1.0 |
3611 | \ No newline at end of file |
3612 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.beam |
3613 | deleted file mode 100644 |
3614 | index 4f1b9a3..0000000 |
3615 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.beam and /dev/null differ |
3616 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam |
3617 | deleted file mode 100644 |
3618 | index 0af8683..0000000 |
3619 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam and /dev/null differ |
3620 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.Certs.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.Certs.beam |
3621 | deleted file mode 100644 |
3622 | index 49cc31d..0000000 |
3623 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.Certs.beam and /dev/null differ |
3624 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.VerifyHostname.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.VerifyHostname.beam |
3625 | deleted file mode 100644 |
3626 | index de07848..0000000 |
3627 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.VerifyHostname.beam and /dev/null differ |
3628 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.beam |
3629 | deleted file mode 100644 |
3630 | index 9870b19..0000000 |
3631 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.HTTP.beam and /dev/null differ |
3632 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Mix.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Mix.beam |
3633 | deleted file mode 100644 |
3634 | index 5beb81c..0000000 |
3635 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Mix.beam and /dev/null differ |
3636 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Parallel.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Parallel.beam |
3637 | deleted file mode 100644 |
3638 | index 7c95e41..0000000 |
3639 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Parallel.beam and /dev/null differ |
3640 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Registry.Server.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Registry.Server.beam |
3641 | deleted file mode 100644 |
3642 | index 7b726a1..0000000 |
3643 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Registry.Server.beam and /dev/null differ |
3644 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.RemoteConverger.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.RemoteConverger.beam |
3645 | deleted file mode 100644 |
3646 | index 84dcae0..0000000 |
3647 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.RemoteConverger.beam and /dev/null differ |
3648 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Repo.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Repo.beam |
3649 | deleted file mode 100644 |
3650 | index df86756..0000000 |
3651 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Repo.beam and /dev/null differ |
3652 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.Backtracks.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.Backtracks.beam |
3653 | deleted file mode 100644 |
3654 | index afa0f1e..0000000 |
3655 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.Backtracks.beam and /dev/null differ |
3656 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.beam |
3657 | deleted file mode 100644 |
3658 | index a4e7b57..0000000 |
3659 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Resolver.beam and /dev/null differ |
3660 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.SCM.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.SCM.beam |
3661 | deleted file mode 100644 |
3662 | index c274d12..0000000 |
3663 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.SCM.beam and /dev/null differ |
3664 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Server.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Server.beam |
3665 | deleted file mode 100644 |
3666 | index df1d842..0000000 |
3667 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Server.beam and /dev/null differ |
3668 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Set.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Set.beam |
3669 | deleted file mode 100644 |
3670 | index 3814718..0000000 |
3671 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Set.beam and /dev/null differ |
3672 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Shell.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Shell.beam |
3673 | deleted file mode 100644 |
3674 | index 6a52fd7..0000000 |
3675 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Shell.beam and /dev/null differ |
3676 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.State.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.State.beam |
3677 | deleted file mode 100644 |
3678 | index f28e6a1..0000000 |
3679 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.State.beam and /dev/null differ |
3680 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Stdlib.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Stdlib.beam |
3681 | deleted file mode 100644 |
3682 | index 49a6efd..0000000 |
3683 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Stdlib.beam and /dev/null differ |
3684 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.UpdateChecker.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.UpdateChecker.beam |
3685 | deleted file mode 100644 |
3686 | index 55c3b3e..0000000 |
3687 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.UpdateChecker.beam and /dev/null differ |
3688 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Utils.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Utils.beam |
3689 | deleted file mode 100644 |
3690 | index 22228d9..0000000 |
3691 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Utils.beam and /dev/null differ |
3692 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.InvalidVersionError.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.InvalidVersionError.beam |
3693 | deleted file mode 100644 |
3694 | index c0fdd18..0000000 |
3695 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.InvalidVersionError.beam and /dev/null differ |
3696 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.beam |
3697 | deleted file mode 100644 |
3698 | index c680670..0000000 |
3699 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Version.beam and /dev/null differ |
3700 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Build.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Build.beam |
3701 | deleted file mode 100644 |
3702 | index f594d0a..0000000 |
3703 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Build.beam and /dev/null differ |
3704 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Docs.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Docs.beam |
3705 | deleted file mode 100644 |
3706 | index 507e003..0000000 |
3707 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Docs.beam and /dev/null differ |
3708 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Info.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Info.beam |
3709 | deleted file mode 100644 |
3710 | index cd90ebb..0000000 |
3711 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Info.beam and /dev/null differ |
3712 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Organization.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Organization.beam |
3713 | deleted file mode 100644 |
3714 | index cb71ee3..0000000 |
3715 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Organization.beam and /dev/null differ |
3716 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Outdated.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Outdated.beam |
3717 | deleted file mode 100644 |
3718 | index bae9164..0000000 |
3719 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Outdated.beam and /dev/null differ |
3720 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Owner.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Owner.beam |
3721 | deleted file mode 100644 |
3722 | index 30785fc..0000000 |
3723 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Owner.beam and /dev/null differ |
3724 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Package.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Package.beam |
3725 | deleted file mode 100644 |
3726 | index fc21443..0000000 |
3727 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Package.beam and /dev/null differ |
3728 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Publish.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Publish.beam |
3729 | deleted file mode 100644 |
3730 | index daf0e39..0000000 |
3731 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Publish.beam and /dev/null differ |
3732 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Registry.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Registry.beam |
3733 | deleted file mode 100644 |
3734 | index 949c400..0000000 |
3735 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Registry.beam and /dev/null differ |
3736 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Repo.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Repo.beam |
3737 | deleted file mode 100644 |
3738 | index ead74d8..0000000 |
3739 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.Repo.beam and /dev/null differ |
3740 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.User.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.User.beam |
3741 | deleted file mode 100644 |
3742 | index 86a008f..0000000 |
3743 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.User.beam and /dev/null differ |
3744 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.beam |
3745 | deleted file mode 100644 |
3746 | index ff38080..0000000 |
3747 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Mix.Tasks.Hex.beam and /dev/null differ |
3748 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_erl_tar.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_erl_tar.beam |
3749 | deleted file mode 100644 |
3750 | index 8639a90..0000000 |
3751 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_erl_tar.beam and /dev/null differ |
3752 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_licenses.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_licenses.beam |
3753 | deleted file mode 100644 |
3754 | index cadfbba..0000000 |
3755 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_licenses.beam and /dev/null differ |
3756 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_names.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_names.beam |
3757 | deleted file mode 100644 |
3758 | index ee4e263..0000000 |
3759 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_names.beam and /dev/null differ |
3760 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_package.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_package.beam |
3761 | deleted file mode 100644 |
3762 | index 3dfbb8e..0000000 |
3763 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_package.beam and /dev/null differ |
3764 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_signed.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_signed.beam |
3765 | deleted file mode 100644 |
3766 | index c305cb2..0000000 |
3767 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_signed.beam and /dev/null differ |
3768 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_versions.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_versions.beam |
3769 | deleted file mode 100644 |
3770 | index d2a460f..0000000 |
3771 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_pb_versions.beam and /dev/null differ |
3772 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_tarball.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_tarball.beam |
3773 | deleted file mode 100644 |
3774 | index 972c41d..0000000 |
3775 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_hex_tarball.beam and /dev/null differ |
3776 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_safe_erl_term.beam b/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_safe_erl_term.beam |
3777 | deleted file mode 100644 |
3778 | index 807491c..0000000 |
3779 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/mix_safe_erl_term.beam and /dev/null differ |
3780 | diff --git a/deps/.mix/archives/hex-2.0.0/hex-2.0.0/.elixir b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/.elixir |
3781 | new file mode 100644 |
3782 | index 0000000..d539202 |
3783 | --- /dev/null |
3784 | +++ b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/.elixir |
3785 | @@ -0,0 +1 @@ |
3786 | +~> 1.5 |
3787 | \ No newline at end of file |
3788 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Auth.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Auth.beam |
3789 | similarity index 79% |
3790 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Auth.beam |
3791 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Auth.beam |
3792 | index 94ecaf6..e5c320b 100644 |
3793 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Auth.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Auth.beam differ |
3794 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.Organization.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.Organization.beam |
3795 | similarity index 66% |
3796 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.Organization.beam |
3797 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.Organization.beam |
3798 | index ceb474e..720fcfd 100644 |
3799 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.Organization.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.Organization.beam differ |
3800 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.beam |
3801 | similarity index 76% |
3802 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.beam |
3803 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.beam |
3804 | index efa98b4..fc0c042 100644 |
3805 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Key.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Key.beam differ |
3806 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.Owner.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.Owner.beam |
3807 | similarity index 70% |
3808 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.Owner.beam |
3809 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.Owner.beam |
3810 | index aa3d503..004c5fd 100644 |
3811 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.Owner.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.Owner.beam differ |
3812 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.beam |
3813 | similarity index 77% |
3814 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.beam |
3815 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.beam |
3816 | index adbda95..001cc50 100644 |
3817 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Package.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Package.beam differ |
3818 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Release.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Release.beam |
3819 | similarity index 70% |
3820 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Release.beam |
3821 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Release.beam |
3822 | index 157effa..e21a6dc 100644 |
3823 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.Release.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.Release.beam differ |
3824 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ReleaseDocs.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ReleaseDocs.beam |
3825 | similarity index 73% |
3826 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ReleaseDocs.beam |
3827 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ReleaseDocs.beam |
3828 | index b29ccf6..1dd0bbe 100644 |
3829 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ReleaseDocs.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ReleaseDocs.beam differ |
3830 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ShortURL.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ShortURL.beam |
3831 | similarity index 78% |
3832 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ShortURL.beam |
3833 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ShortURL.beam |
3834 | index 6c73a7c..33fd143 100644 |
3835 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.ShortURL.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.ShortURL.beam differ |
3836 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.User.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.User.beam |
3837 | similarity index 80% |
3838 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.User.beam |
3839 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.User.beam |
3840 | index 1f773d2..e663cf6 100644 |
3841 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.API.User.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.User.beam differ |
3842 | diff --git a/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.beam |
3843 | new file mode 100644 |
3844 | index 0000000..b7e2123 |
3845 | Binary files /dev/null and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.API.beam differ |
3846 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Application.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Application.beam |
3847 | similarity index 62% |
3848 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Application.beam |
3849 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Application.beam |
3850 | index fe5da04..e3fea66 100644 |
3851 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Application.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Application.beam differ |
3852 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Config.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Config.beam |
3853 | similarity index 55% |
3854 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Config.beam |
3855 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Config.beam |
3856 | index 1feb7d4..01b8fb7 100644 |
3857 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Config.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Config.beam differ |
3858 | diff --git a/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam |
3859 | new file mode 100644 |
3860 | index 0000000..bd9b075 |
3861 | Binary files /dev/null and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_CBC_HMAC_SHA2.beam differ |
3862 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_GCM.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_GCM.beam |
3863 | similarity index 63% |
3864 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_GCM.beam |
3865 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_GCM.beam |
3866 | index 6c6f486..1ba1d58 100644 |
3867 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.AES_GCM.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.AES_GCM.beam differ |
3868 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam |
3869 | similarity index 54% |
3870 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam |
3871 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam |
3872 | index 5536608..eb97cb3 100644 |
3873 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.ContentEncryptor.beam differ |
3874 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.Encryption.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.Encryption.beam |
3875 | similarity index 50% |
3876 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.Encryption.beam |
3877 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.Encryption.beam |
3878 | index a88c3d7..bb3a86f 100644 |
3879 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.Encryption.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.Encryption.beam differ |
3880 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.KeyManager.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.KeyManager.beam |
3881 | similarity index 55% |
3882 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.KeyManager.beam |
3883 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.KeyManager.beam |
3884 | index 3fc23da..0abf3e4 100644 |
3885 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.KeyManager.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.KeyManager.beam differ |
3886 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam |
3887 | similarity index 59% |
3888 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam |
3889 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam |
3890 | index 2d8bd78..25fb637 100644 |
3891 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PBES2_HMAC_SHA2.beam differ |
3892 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PKCS5.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PKCS5.beam |
3893 | similarity index 71% |
3894 | rename from deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PKCS5.beam |
3895 | rename to deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PKCS5.beam |
3896 | index 40ded39..b250650 100644 |
3897 | Binary files a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PKCS5.beam and b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PKCS5.beam differ |
3898 | diff --git a/deps/.mix/archives/hex-1.0.1/hex-1.0.1/ebin/Elixir.Hex.Crypto.PublicKey.beam b/deps/.mix/archives/hex-2.0.0/hex-2.0.0/ebin/Elixir.Hex.Crypto.PublicKey.beam |
Waiting for autopkgtest to finish, been sitting in queue for a while. Currently only amd64 still needs to run.