From 21f6f0705e53c15aa2b8a5706b208200447774a9 Mon Sep 17 00:00:00 2001
From: Davide Galassi <davxy@datawok.net>
Date: Sun, 23 Feb 2025 15:10:33 +0100
Subject: [PATCH] Bandersnatch hot fix (#7670)

Essentially, this locks `bandersnatch_vrfs` to a specific branch of a
repository I control. This is a temporary workaround to avoid issues
like https://github.com/paritytech/polkadot-sdk/issues/7653 until
https://github.com/paritytech/polkadot-sdk/pull/7669 is ready.

Closes: https://github.com/paritytech/polkadot-sdk/issues/7653

@drskalman

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---
 Cargo.lock                                    | 247 +++++++-----------
 .../src/data/25_tickets_100_auths.bin         | Bin 24728 -> 24728 bytes
 substrate/primitives/core/Cargo.toml          |   2 +-
 3 files changed, 95 insertions(+), 154 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 508b7706854..125b49be7e0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -698,20 +698,6 @@ dependencies = [
  "hashbrown 0.13.2",
 ]
 
-[[package]]
-name = "ark-scale"
-version = "0.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51bd73bb6ddb72630987d37fa963e99196896c0d0ea81b7c894567e74a2f83af"
-dependencies = [
- "ark-ec",
- "ark-ff 0.4.2",
- "ark-serialize 0.4.2",
- "ark-std 0.4.0",
- "parity-scale-codec",
- "scale-info",
-]
-
 [[package]]
 name = "ark-scale"
 version = "0.0.12"
@@ -729,13 +715,13 @@ dependencies = [
 [[package]]
 name = "ark-secret-scalar"
 version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+source = "git+https://github.com/davxy/ring-vrf?branch=locked#c64ae9b1aad7755ae1bf88016002365ffcc4912e"
 dependencies = [
  "ark-ec",
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
- "ark-transcript",
+ "ark-transcript 0.0.2 (git+https://github.com/davxy/ring-vrf?branch=locked)",
  "digest 0.10.7",
  "getrandom_or_panic",
  "zeroize",
@@ -798,7 +784,20 @@ dependencies = [
 [[package]]
 name = "ark-transcript"
 version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+source = "git+https://github.com/davxy/ring-vrf?branch=locked#c64ae9b1aad7755ae1bf88016002365ffcc4912e"
+dependencies = [
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "digest 0.10.7",
+ "rand_core 0.6.4",
+ "sha3 0.10.8",
+]
+
+[[package]]
+name = "ark-transcript"
+version = "0.0.2"
+source = "git+https://github.com/w3f/ark-transcript?rev=288e49d#288e49ddba6f8f8e67be6822715afe36b11c4e65"
 dependencies = [
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
@@ -1715,7 +1714,7 @@ dependencies = [
 [[package]]
 name = "bandersnatch_vrfs"
 version = "0.0.4"
-source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+source = "git+https://github.com/davxy/ring-vrf?branch=locked#c64ae9b1aad7755ae1bf88016002365ffcc4912e"
 dependencies = [
  "ark-bls12-381",
  "ark-ec",
@@ -3828,7 +3827,7 @@ dependencies = [
 [[package]]
 name = "common"
 version = "0.1.0"
-source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+source = "git+https://github.com/davxy/ring-proof?branch=locked#a24b371b8d51725ac2ce195aa3369b31df6c9873"
 dependencies = [
  "ark-ec",
  "ark-ff 0.4.2",
@@ -3837,8 +3836,6 @@ dependencies = [
  "ark-std 0.4.0",
  "fflonk",
  "getrandom_or_panic",
- "merlin",
- "rand_chacha 0.3.1",
 ]
 
 [[package]]
@@ -5289,7 +5286,7 @@ dependencies = [
  "sp-io 30.0.0",
  "sp-maybe-compressed-blob 11.0.0",
  "tracing",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -6240,15 +6237,15 @@ checksum = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632"
 [[package]]
 name = "dleq_vrf"
 version = "0.0.2"
-source = "git+https://github.com/w3f/ring-vrf?rev=0fef826#0fef8266d851932ad25d6b41bc4b34d834d1e11d"
+source = "git+https://github.com/davxy/ring-vrf?branch=locked#c64ae9b1aad7755ae1bf88016002365ffcc4912e"
 dependencies = [
  "ark-ec",
  "ark-ff 0.4.2",
- "ark-scale 0.0.12",
+ "ark-scale",
  "ark-secret-scalar",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
- "ark-transcript",
+ "ark-transcript 0.0.2 (git+https://github.com/davxy/ring-vrf?branch=locked)",
  "arrayvec 0.7.4",
  "zeroize",
 ]
@@ -6650,7 +6647,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
 dependencies = [
  "libc",
- "windows-sys 0.59.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -6919,7 +6916,7 @@ dependencies = [
 [[package]]
 name = "fflonk"
 version = "0.1.0"
-source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35"
+source = "git+https://github.com/w3f/fflonk?rev=1e854f3#1e854f35e9a65d08b11a86291405cdc95baa0a35"
 dependencies = [
  "ark-ec",
  "ark-ff 0.4.2",
@@ -7511,7 +7508,7 @@ dependencies = [
  "sp-statement-store 10.0.0",
  "sp-tracing 16.0.0",
  "tempfile",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -10864,15 +10861,6 @@ version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
-[[package]]
-name = "matchers"
-version = "0.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1"
-dependencies = [
- "regex-automata 0.1.10",
-]
-
 [[package]]
 name = "matchers"
 version = "0.1.0"
@@ -16711,7 +16699,7 @@ checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9"
 dependencies = [
  "bitcoin_hashes 0.13.0",
  "rand 0.8.5",
- "rand_core 0.6.4",
+ "rand_core 0.5.1",
  "serde",
  "unicode-normalization",
 ]
@@ -21743,18 +21731,18 @@ dependencies = [
 [[package]]
 name = "ring"
 version = "0.1.0"
-source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+source = "git+https://github.com/davxy/ring-proof?branch=locked#a24b371b8d51725ac2ce195aa3369b31df6c9873"
 dependencies = [
  "ark-ec",
  "ark-ff 0.4.2",
  "ark-poly",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
+ "ark-transcript 0.0.2 (git+https://github.com/w3f/ark-transcript?rev=288e49d)",
  "arrayvec 0.7.4",
  "blake2 0.10.6",
  "common",
  "fflonk",
- "merlin",
 ]
 
 [[package]]
@@ -22281,7 +22269,7 @@ dependencies = [
  "errno",
  "libc",
  "linux-raw-sys 0.4.14",
- "windows-sys 0.59.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -23195,7 +23183,7 @@ dependencies = [
  "substrate-test-runtime",
  "tempfile",
  "tracing",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
  "wat",
 ]
 
@@ -24123,8 +24111,8 @@ dependencies = [
  "sp-tracing 16.0.0",
  "thiserror 1.0.65",
  "tracing",
- "tracing-log 0.2.0",
- "tracing-subscriber 0.3.18",
+ "tracing-log",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -26232,19 +26220,19 @@ dependencies = [
 [[package]]
 name = "sp-ark-bls12-381"
 version = "0.4.2"
-source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f"
+source = "git+https://github.com/paritytech/arkworks-substrate?rev=caa2eed#caa2eed74beb885dd07c7db5f916f2281dad818f"
 dependencies = [
  "ark-bls12-381-ext",
- "sp-crypto-ec-utils 0.4.1",
+ "sp-crypto-ec-utils 0.10.0 (git+https://github.com/paritytech/polkadot-sdk)",
 ]
 
 [[package]]
 name = "sp-ark-ed-on-bls12-381-bandersnatch"
 version = "0.4.2"
-source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f"
+source = "git+https://github.com/paritytech/arkworks-substrate?rev=caa2eed#caa2eed74beb885dd07c7db5f916f2281dad818f"
 dependencies = [
  "ark-ed-on-bls12-381-bandersnatch-ext",
- "sp-crypto-ec-utils 0.4.1",
+ "sp-crypto-ec-utils 0.10.0 (git+https://github.com/paritytech/polkadot-sdk)",
 ]
 
 [[package]]
@@ -26798,8 +26786,7 @@ dependencies = [
 
 [[package]]
 name = "sp-crypto-ec-utils"
-version = "0.4.1"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "0.10.0"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -26812,14 +26799,14 @@ dependencies = [
  "ark-ed-on-bls12-377-ext",
  "ark-ed-on-bls12-381-bandersnatch",
  "ark-ed-on-bls12-381-bandersnatch-ext",
- "ark-scale 0.0.11",
- "sp-runtime-interface 17.0.0",
- "sp-std 8.0.0",
+ "ark-scale",
+ "sp-runtime-interface 24.0.0",
 ]
 
 [[package]]
 name = "sp-crypto-ec-utils"
 version = "0.10.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -26832,8 +26819,8 @@ dependencies = [
  "ark-ed-on-bls12-377-ext",
  "ark-ed-on-bls12-381-bandersnatch",
  "ark-ed-on-bls12-381-bandersnatch-ext",
- "ark-scale 0.0.12",
- "sp-runtime-interface 24.0.0",
+ "ark-scale",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
 ]
 
 [[package]]
@@ -26853,7 +26840,7 @@ dependencies = [
  "ark-ed-on-bls12-377-ext",
  "ark-ed-on-bls12-381-bandersnatch",
  "ark-ed-on-bls12-381-bandersnatch-ext",
- "ark-scale 0.0.12",
+ "ark-scale",
  "sp-runtime-interface 28.0.0",
 ]
 
@@ -26915,8 +26902,7 @@ dependencies = [
 
 [[package]]
 name = "sp-debug-derive"
-version = "8.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "14.0.0"
 dependencies = [
  "proc-macro2 1.0.93",
  "quote 1.0.38",
@@ -26926,6 +26912,8 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe"
 dependencies = [
  "proc-macro2 1.0.93",
  "quote 1.0.38",
@@ -26935,8 +26923,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "proc-macro2 1.0.93",
  "quote 1.0.38",
@@ -26945,22 +26932,21 @@ dependencies = [
 
 [[package]]
 name = "sp-externalities"
-version = "0.19.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "0.25.0"
 dependencies = [
  "environmental",
  "parity-scale-codec",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
+ "sp-storage 19.0.0",
 ]
 
 [[package]]
 name = "sp-externalities"
 version = "0.25.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "environmental",
  "parity-scale-codec",
- "sp-storage 19.0.0",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
 ]
 
 [[package]]
@@ -27516,24 +27502,6 @@ dependencies = [
  "tracing",
 ]
 
-[[package]]
-name = "sp-runtime-interface"
-version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
-dependencies = [
- "bytes",
- "impl-trait-for-tuples",
- "parity-scale-codec",
- "primitive-types 0.12.2",
- "sp-externalities 0.19.0",
- "sp-runtime-interface-proc-macro 11.0.0",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-tracing 10.0.0",
- "sp-wasm-interface 14.0.0",
- "static_assertions",
-]
-
 [[package]]
 name = "sp-runtime-interface"
 version = "24.0.0"
@@ -27558,6 +27526,25 @@ dependencies = [
  "trybuild",
 ]
 
+[[package]]
+name = "sp-runtime-interface"
+version = "24.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
+dependencies = [
+ "bytes",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "polkavm-derive 0.18.0",
+ "primitive-types 0.13.1",
+ "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
+ "static_assertions",
+]
+
 [[package]]
 name = "sp-runtime-interface"
 version = "27.0.0"
@@ -27620,11 +27607,11 @@ dependencies = [
 
 [[package]]
 name = "sp-runtime-interface-proc-macro"
-version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "17.0.0"
 dependencies = [
  "Inflector",
- "proc-macro-crate 1.3.1",
+ "expander",
+ "proc-macro-crate 3.1.0",
  "proc-macro2 1.0.93",
  "quote 1.0.38",
  "syn 2.0.98",
@@ -27633,6 +27620,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "17.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "Inflector",
  "expander",
@@ -27898,41 +27886,40 @@ dependencies = [
 
 [[package]]
 name = "sp-std"
-version = "8.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "14.0.0"
 
 [[package]]
 name = "sp-std"
 version = "14.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834"
 
 [[package]]
 name = "sp-std"
 version = "14.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 
 [[package]]
 name = "sp-storage"
-version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "19.0.0"
 dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "parity-scale-codec",
  "ref-cast",
  "serde",
- "sp-debug-derive 8.0.0",
- "sp-std 8.0.0",
+ "sp-debug-derive 14.0.0",
 ]
 
 [[package]]
 name = "sp-storage"
 version = "19.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "impl-serde 0.5.0",
  "parity-scale-codec",
  "ref-cast",
  "serde",
- "sp-debug-derive 14.0.0",
+ "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
 ]
 
 [[package]]
@@ -27999,24 +27986,23 @@ dependencies = [
 
 [[package]]
 name = "sp-tracing"
-version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "16.0.0"
 dependencies = [
  "parity-scale-codec",
- "sp-std 8.0.0",
  "tracing",
  "tracing-core",
- "tracing-subscriber 0.2.25",
+ "tracing-subscriber",
 ]
 
 [[package]]
 name = "sp-tracing"
 version = "16.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "parity-scale-codec",
  "tracing",
  "tracing-core",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -28028,7 +28014,7 @@ dependencies = [
  "parity-scale-codec",
  "tracing",
  "tracing-core",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -28253,26 +28239,24 @@ dependencies = [
 
 [[package]]
 name = "sp-wasm-interface"
-version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
+version = "20.0.0"
 dependencies = [
  "anyhow",
  "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
- "sp-std 8.0.0",
  "wasmtime",
 ]
 
 [[package]]
 name = "sp-wasm-interface"
 version = "20.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk#934c091421af4be362839996bfaa441ba59bf12b"
 dependencies = [
  "anyhow",
  "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
- "wasmtime",
 ]
 
 [[package]]
@@ -29866,7 +29850,7 @@ dependencies = [
  "fastrand 2.3.0",
  "once_cell",
  "rustix 0.38.42",
- "windows-sys 0.59.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -29913,7 +29897,7 @@ checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93"
 dependencies = [
  "env_logger 0.11.3",
  "test-log-macros",
- "tracing-subscriber 0.3.18",
+ "tracing-subscriber",
 ]
 
 [[package]]
@@ -30617,17 +30601,6 @@ dependencies = [
  "syn 2.0.98",
 ]
 
-[[package]]
-name = "tracing-log"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
-dependencies = [
- "lazy_static",
- "log",
- "tracing-core",
-]
-
 [[package]]
 name = "tracing-log"
 version = "0.2.0"
@@ -30639,38 +30612,6 @@ dependencies = [
  "tracing-core",
 ]
 
-[[package]]
-name = "tracing-serde"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
-dependencies = [
- "serde",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71"
-dependencies = [
- "ansi_term",
- "chrono",
- "lazy_static",
- "matchers 0.0.1",
- "regex",
- "serde",
- "serde_json",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "tracing",
- "tracing-core",
- "tracing-log 0.1.3",
- "tracing-serde",
-]
-
 [[package]]
 name = "tracing-subscriber"
 version = "0.3.18"
@@ -30678,7 +30619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "chrono",
- "matchers 0.1.0",
+ "matchers",
  "nu-ansi-term",
  "once_cell",
  "parking_lot 0.12.3",
@@ -30689,7 +30630,7 @@ dependencies = [
  "time",
  "tracing",
  "tracing-core",
- "tracing-log 0.2.0",
+ "tracing-log",
 ]
 
 [[package]]
diff --git a/substrate/frame/sassafras/src/data/25_tickets_100_auths.bin b/substrate/frame/sassafras/src/data/25_tickets_100_auths.bin
index 6e81f216455ae9dc61be31a9edef583a652721a8..4c50b06ad9f9cc81cde714bd5fbc7a032f164c6d 100644
GIT binary patch
delta 19309
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

delta 19309
zcmV((K;XZa!2y`T0kA6#e*s}zH(<A~VF4y~b=mhG0+yre>~{P%G_M~H^JMf4Ie?Rq
zSl#&Rk5xTZT9-Y6NklEN82`ScZ-Q#_nd<f5@f85O%(g+2HV{8m-~f!J{(7abb5l}3
zDf-a8=*cLJ2Nil}!ZS;%H!7!Dv5K#lNv5W$ZgZ`mPqPuQtS*y3f6Wd6;(hGqw;M#O
zjq#}IDLtmE@MOte&($Xc8=RQ20c7AGfTknx?lbV!t(lFz_#l<V*n2(=la?jN0FYZM
z?xTgmDBp)bi`uJ(-Ct2&V0LwCjFl+KX>ilSbeP%cqKvJISOACKb)YtV5JiWagHdO<
zKTuS>V1aN6I_K+{f0+rj?Pj6#p+!~AbG+y4LZ-5Z1!EXS5|Y#Y8w&Q6A#c)0qmge)
z30tC+xx)Y<n(fPslyHlEv|N42+T~!*()<w+a7ZW&>X|U_BdD$>A4>`EJar?e3z&~<
zhL#Ty$F07cAIWjcQ2AEJ_Mf7JK?>*Ukm6&)RCm=nwB4pRe<N78pH6dD-sFsFp`LdQ
z7{Ab8y~rD;utvm&4MqeQl^b@Yi|G){PJp+pk>W#{(Fz90*SxKQnHDJb-B8YbJeD+G
zoQFy)ZykP`KhKUJq=4!<St~w=!6|~1X$>Lsi=WnKZ+9XGm@POllf<B%&*<qPA7th3
z)$04ogsI-3f0&(s0ySn?%UT8YajVy#p9OZ$tg9Gafg_0-MYAz-L!mPy2o0Y$NL1@@
zcks{|IBs=KvU{XJgZ8*Ct&xTn3s_!IGf32Fq`ZU&fga)<oUx2v@_I>1^tI<M(<5p0
zjh;v|l5x*v>tDiU{L2j|_mlNFDpWUPIql9m{#4gUe~+StRcB0Yl)_rWd~p<`rB-YP
z8`VghI)JYT0k*<TcW^f${*U66n(l=;RD+GXRcy)R;6i)<6|0ip;-oMtPdCw_SS{)_
zWQBas3YRVKsT;N@U|R`wYEmpRovvW@!Ud-6S7t6&ZHkb=4_}4xiGVwYp;0F@83flJ
z@no9>lO+&efAheWu2UkB2|45g_~$mA7v$JX^=%egavULrCZ0oJIDoGvO5CHzT}({6
zRH#KnP?@Dqa5=gzJ`L}0$KsZZDH89K($lP($6n!mB1BZBXuv+nc2nl*t8ks<${ai*
z3mXr`u%77q&k7l}n2D&zW7oL1i$!XgRE=TdLwDhef1ELZf^Y2wP-0=qJls7L`~5QT
zK+@O7fO|KTK$FQ5C7iiLfRQ2m3w0(54whLTfTU$bZtQd{8Zl1aLe5t5T8jkQw<&5)
zui52<!isUb=T|Ped!_a}T_IJ$EQ_u{MY$|jU-LHDC)G%{vL0)g8>AD?f~fq+b$s^6
zEy4J5e|ThN!1|ND2s$B7gC}!d?`e5sw(;Y)kgFH#UBGw5O$dmoCOO6_$<J1XQ!t|E
zx-2vhY&Vm>rUpqQ4$|V1lrc3$8d_@AuI##&kclSlf)6*}K6weGQN%V;o$QQ-6iC$8
zq~4(Vf>j!jij<YOph{!h;ahUIcC-XC%-yT`f8Md3I*kT8BS!P9KYx`1&t}O}BCKzC
zWvO48Qx#CrZxu(mq<?Y@su0~(p6vX&H~S+459YLPcV3Qvf!a$`aw8zhq}(~l-{n)4
z<7iyu4Z0tg>bJ<fBqV{60>|b?%YCDQ2W$<Yd8HkSh6}Kc85}G*JTHABdlMZuxe3o*
ze|p^ww>!9I3$9(RO95Ve*A@A@OZ3Bf(xxg#BET%z|L+JTf`Kt*?iC01+y`FQcQ-QS
z&H3f+J(7XjZAI=e10gL1j;dfSxeLGf<L#6{#=zFhh(E_L^=ksA=Koc0u&3Y_SZ>7u
z9>SNB6-Lm&NR(TE%eS&dKzuf(;M0q2e}Cw@5#G5_RZ6}A<zw3Q=9U(B$Oz;m2&3SH
z#>#B7aaGjC;q06){}?k%$=*)9UgCy5n>dKlV(WFFqz1@wL%4$(A#pz0ftiYd_JH=e
zivq?V6$#6*(O(0IUVsoF5D(}EXw>Cm@P~?3*)}o1z4jD*y;=EIYy`}e!qOhklYSFl
ze}lLUqL=l53@r6F#%)db{&`G>GL`+^om^q*!qiw_Gyqg(J*FaOv7jiA+|H)(M*U8j
zI%byc+NnK*c>;;=J_{_Nh*3%jD+iKfh$;g+7(ADzmjoP@*CFa_t|(A}vI}l|jlC&l
zElot}TKuM&x#$?>Oc<1LprHw_7L(DhfAU}eglW~d`!Qa-^hP-MMl5zw`?4ttFmbbH
zc^b@sA;K;I0EcqKF|^6M4Q+=eW?s|lV^s#Ud1(KLjm70os=z;kjn9h7a@WPC&Zs7+
z7BTY3)|3(_PqR<WV}P!=zWCNim!;&!w0d4+zyg%8il->y=6d7QM~=H5Fs;%ye^5j<
z1(Aivq*YLVWDW1!wDI60U~EmU65DP;p&d<dB2&=@9=oZvCYt5kSfsxou_rlyImxu^
z9CkpIzxlk8g1?sieDeP}J6Y1X)H=t&K%m8YiG_rYpb@nDL)drR4f=v8FmM|rdrzj0
z(DsQ?L<H-=CnzBYf+lI0)sH-~f1=*xkCzeW+`teo@NE(OloU(nCCEjCW&$Cpf(sUY
zvKoEKX{JcFJdqCG)F_oT$sWX?p+0{?`OE}5dKEqjcT3vvKF2oaEq5R?+{N*$nM|&w
za%HFDc8DwCgA|6zw235k7NkocfBNHfA~G<#S8^y+yS*Qq;q}kxF~fKMe~<o<Z=|^*
z!kV7BXU8yR^OZR_UiA{erBM#jf$)y8;XVo=2d)MRZbZa?pav_yWjpn^t9jx$NRD4)
z;~H5%Eabo@YA%>^iDK|wR}5W~?=H6b`Zz>)s}~$%xL7=^Q?S}+^v4LZp!7i1?g#Lp
z^Zld-0uDYPMRSe9Dx~N(e{jb3MVhQN9Ho)HH?RccY!kV`S}@r%ZItI~f^ON47*S2(
zxvzCF?AJgPBCsk^%M$zvCYx!)V_0I$&}U5^QKdOi;%Jy}7rBU_uDvCtEU+Apz4zlo
z-%WzAYsCks$waS&Um?(fZcKx9-f@1ftTlbAwHy-BYXrY?hb%Zzlh+nse=YN75SpFe
zo&(S~g5Oh`jP}Xv0OXtt_o`Ka&eKe{J%9`Yzsc@k=l;pX$@FewKa`!b-iTim)*H<A
zNkIiZ$`V>VQqF)9@)q*&z1vo!#`?LHb8Ycu93#bIn7-|>_YNml^zs3yi)!zMF=J@{
z-rC=z>#0ZgIC{C@-y&8{e~DfIJ=H#@TTu{?8GB{k`;T1v`uP>(X_3UDI<Bo&3)JE_
z0Ec<D?NT>obS#+FqdNnYd3sx8NH+ClVofNw+J&ut@PU0IaU3`LC7GX3tns(HFO3W!
zSfhyp%?rLjwxAuZFqwk{^ia^QECYH-bb;3-=Z67y5Z|gjv0sFge<;QSi@uNeyG+(L
z>mAaOn&~|VRWioiOau||K_moo?&Q2Y3{ES%+=NN({;ctx^E4+@4r{1eFay>ZyG$E3
zfGOH;j|~V^{~vK^AlDW;yv+eepvto`0UfIuJFUez(n&u`P8}YBlY5HvBxz4+oZiX)
zw{zb#@Oub`#IBf5e-Zu)KXE~#;Wfoe_F${&bR;RB{U%d_=r;N}-$&y3ldeF{9Y!3D
z-fA>_u5Eg*GAxlhqW<|{RI&W4?dW=2ay$L)d#ykYzx}U|HD|LZ9*1auE3ee2fnE^1
z$b9Y9m&duR|GP-SJVXDl5hE?cG7!EO3!5UJVe=`rh&pAWf3{ZA*VH&G-w}Sw*m4P9
zBuq{?RAhP0OR4ut)w$wSp0?0?9|;<2JG;J|`+aIm><>E(bms*g3@P+{Vvh~i&Cx^;
zT*IPsksp&NI7SK^gS@N9Ihvuh<9ZVnPJAkR6CNO{{GGP3Z($@)lHC4CIO6K%$>azs
zq;$M{6q!N$e-Mo;XSO`23<PDS=zv_8`HKXNzVPy;PPnVHIQ`Jf5Z6uhXf;9PVvGc$
zy!AZ~p@>e(Px+g|ftXY<nJF5{_D_%Uk{N#ForYf~=+)sn@=Bg1-##Lb_Mx?hDArlJ
z8Ml?3CCV~YP59-{WkpAzzh@?Q#8)pheFOp0(#B^blQ0@zf7XlK+&s~)uy4drW`~ok
zP307?v^wA6Wm*qL6cjRvAAo{2NMNqi1U^1fIN_WptXpKF6Pw;8*g~!&L4}0CO&6BU
zjcu2seAH^r2OH<KD>3TzSMZ#7$@R2Nd%;$T!y5M?)iVPO-v7`yCplwymn^5mcuUe#
zRKpvK=3D?Ff0+#cP0f>pQO5h<JkC4cTVBw%GOUO70UJl(g>e`=zW`}wfRxa^R>8MF
zZkW|4q^|na1zdJ}k6<ChkSf*LiQ>hr)HuW36jZ~3+OKU&=njD?dXpNskAd$f!w^FE
zE|YRpfuO8{a+ijm^GhM&w+JrSA-MuB(r_{k^QDwBe^W-@HH)WW46{WnnP^`Byox8u
zv(~5rLrIEtnG2fQuT&W`;7KW#4iJ5kN5J_W4Ikk@Pvd~963iUzC1><q%}w74^)H4$
z@S5~iWzRISTTx(Wh5YH-`|z~^@s)n%iuS?)6~MF=bU-ieDKx2Uvp@b=vJ;NMBX5u)
zM17;vf21MRmzF?|H}f<K4{_5UUw@BbSR_cAG&{+^PjnVH0guP*0&8N!SV`|X2}63=
zW)FB~t7a;r>2HeIabvq_WfoLK07??15B*UgeE+L$q)3Koyc~=?1Rtp5S|rz)q-=a=
z2;(&eAz6Kc-g-QPTBU99;)EFBJJEgC)({65e-RO6`ZNe__6NlTiL{h^Ok8@`R(=Z;
zzq^FCMkW>Ie954=NoCkMyup?GaJt^Ul%sd**ejBwjDWhNj#|?^3XlM^(!8o$lKtAH
zVjU{Z9Ge9_c@@~zAb$!txwtlZp3hI9%V{NL9P9{{c*=4J2t&pLmX8B?Rw+ObC|>nR
zf1ZdtGtS%mmIrvi0KQh*0o?qJdG3G*L6`!1JrI~U3q@Rw)w+2Ze3Rz^VvOLTMJ??S
zP2ezM97{hZa3as$V7tK&)~xjapM}=}!mS#WIK-Zy$F(PWSh8F2eCuRas^<n+JZmG(
z%$uc!&EW%=$0R{6f4j&o$po8vpr1h3lZhQ)fAD=|1mAN?b!^55DD?(0-)qxBgtqkf
zK3`F@#m;U#LjdY~zoD400V0nRu)~9*ysaa^V2|0tf|xcQ8YM23YzQ_`<?YduKk-`Z
zjG=k$&Eh1QlIq>|)gsvxnOF<umkI&iFRnl%DMk3@eSVxAJ%9WI2VWVIPK;@*%1^ei
zf8!K@F+X0?8cGpdjy_E+0!mGA{*U^;zt52@<I7vPrSQ>SfP{MRy@O_Hq(Xanl1lDo
zTxJzrsz~>nY()92V*>-o<lNAe)V#X%7w17N9vYrH%$4jagrRYCSrN)wKmO*wx%PEJ
zJbO&XQ%-kQbWV;M!seB?`>JBaV|NVTe-s+PzUGatrZ_ya(9<dcoWE`(5BM5M32!0A
zgE*MsMp`}OWaLv*Y@XYW+L{1h2VH0&tGJ+kw}V8NC92|C#wP3GQ?nU}-T0IUUVVLu
zChCzHkK0XDHj8BfKV`Cg4t`xFmkGq%&ZXB$pbqPfPH>&jukeI%#&wp61<|_Xe_f64
z%Uf#3Sgl(KX@7iDBHwWq6Z+nTX2;glL3n6<3A-XDLhDS^h1gDbKV6x3Y^&(k#vxLj
zfG|^eCqoSx$7?vhBg_Sk+;B(@d_I!=*Sdpe9n+9c1O2&;ZO@Nik&J-_UKeI_mL`1p
zyHzZ7WLVnO8?gM8lCi%dO%g`7f3ok8dEi!8P!6Z?#n3l$S)<+9-tl3Z0Kl6C4R(xR
z6I^d1$&TqQ%tb_AI-<5f;Jlf-(Oq1&wfx*9y>X4M5kMPf!2GQPqEWr`Lpg=%hFa;w
zkGPN%e7KwOU1m6!NgGZfFk8+t;3xM+x!O8A@vQ+(76|QK;WWQeaP{$We-v*)W07Gs
zG*nPvKilTfx;)*l;-AgI8iKyo2wSe0I0u6qrPb)Hd^3vMQbZCBoFa_4k&B}f!RU#a
zn0?jF>B3M3A_yP9AeSLow$rO`9EV&s7>Y)5C5={p!EhN{u2u6N-*<|}_+xatO89-<
z|L=T42$*!gaRf1qG<3*}lj0y>e|{yOKxkd`viC05Akbp|-HU|K&1eJQ+*g@E#7)}H
zTY&9VCR{n<v11ZeON=x7&EAc}I`sjzt{vW)vY+J@IvND(92a+h{@ja68g;xXOR?~M
zGQ)(Pi>8mq;$95J$rTc(amTSD6*a9!SX{N>`{RnOi>fS9{q;5Kx|F*Sf6-k4y4mt+
zk=qYKlJn~g!ah(%e+I7jINVKc916QQ2V>||0Hz>CN-fPwethbS8A?!l90CH-X4E`m
z9WToNrKvcUcEAgMyIiSA)?M>~CXfdEak+@=d^J@4F?NpP5QFhU^{GgWUZ?lwB2es<
zY#VAzcT6b>hXAMYmF#jZe_Z=tFe<ilh;K20s@Fh(z(LkT47MB{uST;>L`NeE1}e{}
zqheDV0N#8pK>>oqBQago#V?ozr6))yTPvkL?~1B=SU{K}{jmI^-Ig9?o>Z{dhFnYP
zR@S+*XNOvwhEx4{+rVej#bb*&d7VU|>yOU(#Z!bMbS`dvKp)R2e;$)!J8DTyIg?gQ
z(MKTL5<qDMLg(X<a2=eqDBr6S4P@DjTfrzWppwl3iYe`5gE@PG%q76<CTehhuGM5A
zY#x54SdK$`j4pQk0p~$1gtbSixt+uc<orY0QFDUKI~!@X6ryZVmsZ=Jl+<g#JCGre
zaAq{8u1;Uf2nmDVe>>|vu@A>P6v?hDf5>B2$MfgL8pP=d&Z&t{YelnbF8S8doTyX*
zwWnRjJaY9eAE&KI3nD`FeF+-`0qp}%M1>=XTYwk_ua(ZOQpzppf>Eu~iyd{g*fsT6
zBDYB5jQ#t2ANjmjrk(cxFh^%sj9$W(vLk%kuE$+HMxo&we-M=JFj**^ojG6w7QQcR
zj<qWC9zJCbR;dc8-bK3==vrN#it0zftAI9$K5J<uphWX#)Gs5c(h0jwZEZUG3164k
zCuy*n|FcUj0;31IR6447xPc_KMER6Q*q%~#BYL*GWm6lEZtm?H5wZe$N{JPI)r%O7
z8wCEK8TPgtlRG3|e=B~seHW}nSZ|*|V3U9r)Q=jD&h1%a%t@^7vp)n}8h{%D<as>i
z?@s;_Emrn%CFpf*samcGmQ5Y8>@G3F-wWlu*h6vQ(cPLDXy@)b_94w1W<D<7(GmmE
zSEN9<HwN}?_=1+1U=n{33-2c&(p0Y@Cqt)qwLN=Na%MtMf09T5hG(#HDeL?iNvEJE
z;F}V2i5M5cq`XP$m$8x|=IlONfU<!o+H;bJsftqp-5~w5Ew(70S?bfjv(HB9lf3o2
zvZ#{HE&|limiD~^a#`(ds*c4fco$y#Jtf_f`Z$5v{L1@DH5IE~%jeU@KDmf4VFe~c
z7~l;5l?9o{f8458uu7#i!TK|@1?B$=?N_mRUWr>=Ur$9(3D$oGg2dL|hcOJy3ppt$
zp0}H=TdwHYPaU*-IZN?_qr#02ns6WF=jh!h^nM32V6k{TSPe}Z8zbZK(LqH+VNX9r
z*<%?(uj2I1yD`C0)qp3=0{~)PMQP@9fA4gfEE<^ce-v9DUkz3N&TZAp|4SnA1MLJ#
zR2U~iMAGJmfU9giLlYyr+^q(n)eo6++p8)SkQUBV<058Z)&cnfi%b7ME->3?YH~{G
z7iqPb7uGE~5~xIEhiSGQwu#NM!ghf<zK~d)K-MNPt8Nwq3`Vxc4YRBw+JkvD@e38s
zzFieEf9O?Pf#FL55}OYk;=;1X$tD~ydLjHh=~xpM#xkzCUXUUj?{UpeEgJ-q3GG(M
zPvE(n{%~|*;b`CE1fn}WBf0Ce6HL`=mmAvJG5m8>g>c}zi>yEmvk|$dGmqS3pq(|;
z^myBlxLLBv2L}C+GDn<SCNQiHKHzf+-L-IFf8&2!mqU%j{wxB=>kkyY?ncIp7Q4v&
zRiSNPA?M!c{60aNN`XbZHkCgax?rFYDY&_<)x4+pcS5eNS~~lnLnv}sl+XC|wxdj2
zFJdVaGkqaY`Gk;01A{jR28H=tQl|G6SR?Dotvo{uea)djhON@;9BX!z!vs&R+^-^X
zlawc4e<1WIar>qCUKzP5Z!#(g?G`4FR8ij>$9@A=V+js6GyoxU-rfAEn!gPIn|;wF
z%q!r7#_Z`Ah1_OP#J1$P00~D=x1du(9IS0U`OrE-`SZZu+fT1a_JyO8fmniVC=<(%
zwfOttf&3U`emwnHt5<dod8gYED}?W0y)OMbf4?387Lge*VyDr*J-<H)#6}ih*Cpy$
zE`2qn^c>;f`j9m>fUgUe>P}Kh*dnNyDM2(5QH0i%@Zyo>;+V<Hm4mH2`V8)0nE5ol
z<fl=zpVgCO)q>bvNPsvHpo&jwv{|Kbi@JYa`&V`lSyrHIRvp%zOd`DuwhYmD6;BJM
ze=}~*tOuj?peJ#bkbPrU+*ZWg(o$l*kABynHW2V^y`+o|4vfBDxU?EZzToAM%mu==
z_(G2o3~rrX>*ERE4Lf8ZcN*w}m-Z{;gC=!-ab0O9`&0)Y2Ye%^bTHL>PvGmx0-2f=
zoHV-p9R;CH!Atl0*y?F*;B!?6R~6nPe=;1?Kd~L@wVjqoT)-#6@Lu@;ZGSu^)$bDn
zL?F-fx`h=~RO)2b2(zTA>W6@SsYe^4Kt6Nd)5dbFzD`?hE`Wy&*P#mEnb5&#21w3I
zMzBu>t)Qa<R$6YI&q#4Ey-uDQj;L2KynAFomr4AIO6cx4G?j17r-_R<-k_*)e=s8{
zYgbb%7~Q=ki)s|LbZ=cfUc=Yrm9IxAPz{-`yP01Z;05nsce3B6)T9127<~L+ubHm-
zJ<PfbA#fCl<$uj`XD`u7qkDH_9Qjrw*ESYt!Ebopdb$5gp-?-7EI#IvDF{5xD;P>+
z`%iv}#!KpU2n~c7=QRag#3DJ&e<erAaeyTR!+9N&1{`n<6Ro}9Z6l@1VzObX#O&(F
z_P1%n1oZ$byVpO*DxTE2yo&TBA67Zn=)SWoS*cdabN2H-3@-r%QlUI(7=n?pksto+
zXj@RhD#8Gr>!N*+$>#+ML9ztMa)I|W=A-KLI-!(m-M1>Po&*6yPe+TnlkF;Bf5!27
z0yS#X3Xa$ZmheJtJMb&TAdjmOpYkSm*jDL?6@YY7_%i2e?OmBIjN%q^qqV3YWED`z
z7CPPUCR`JsG7}%{T0rH>9F)b5vEXT(v#;VW-Un$B=(=zgXlk{T9tKx9<h<5>Pw?fH
ze9y(E4G2JTrkCVl@=fztEy6cLf94SYGA0B6nnG`%NLtr3WV6%0tv%WV(k5uVyu4y}
zD_h)hfQKTq!OJ3w4(m%sX#&%0yeyZ%M=bzu6WaR!Y>h@ycOzQO8h4w@N=h7|X<T!h
zFOK5pj<l6j!sW645atsu*`tQxdo8k2;w`>e7gx(wWg3?p*FzH5g3Zj-f9P{`LZ7s=
zRAht7E8b)zbvj~?(F>X@W;sftC7d$%Me@aB+l7I*AmGoXIQFn~r%c>>7W1ni7tx*;
zG}TG^qhYvdc@2E{F$FPzG(aX&-P^^6*nZz9QN<IhPK#HH8noHpa{#!5NK(eCA?|3P
zPypuzCm6%=^det+bejYGe^D48-RTO@{@d<UE3)}aWzl*C#1Plpd%qA^Wm~6HN1@QJ
zU9Dm%iOVp`$P-9J@K(3rXJW-gx|x?&Rr`FnLQ@>S`7dB2b&n9r2fNX&zGYwn%7l=w
zzA06Q#R#0OcEO2VdpuT0ilY1Nywt#oX*=_O6$PxpPX4S&`AFD9e+hs41zz<ixAeq0
z#C>xZwP}!9Kk=-H>PoqMIjQ(A4>i8D|NcEMY71fX9^fNtG<gEW=$}4iPUv_O==ai`
zvB*D(zyWP*w8N!Ioj7RBzb3h{+@9h-I82X-$VXgQK&qAi19<xLAABr)3i{SFooq<W
z+X0Z98zwt76fDVYfA62b*4*^Q)CB{5#Lk&yR(}g8g$hE=N{qAgYC@JX?ie*B(5oFm
zW_cR+;cb(b+y?gZD&Km;Gr%h%3w^!<)-FQUGaIzxBChvcyXyU6K2DDMLYSkr0LVyr
zpqnO}KBUs%Mb{qZ7o5uObh+Vl^$ju0Rhax&;{@c?3AYO8lSVFIe<tHU*pNlYZHX>T
zyl*R*9T+L#ylcgTIG8~OBdj-rS%57aS@N}8Lgm{<oLZg^XC0Y!3`mLv9($6qZnJet
zodm{F2tI>@sHH^MLXQbiq!xK4gGR@hRjN!%FWH#CumH&v5dug<T#{15$gN*<I0Ba?
z*OS}$$s)g!^X|?_e>G2l{?AnNb{aCwMs22-u<X9Q{c@eL`+OvyDmaPhW_)Q&fQ?z(
z2*w*Cq#ayVYg55loHz2BCFO~0U_c2FoPL3*>#-g-Cvzu==vU^qeMstr;IuEA77suo
zP9Y5AJ#1Ie=QNWGV<*iLk}s?a)tBC{c^Mqn^jN_n^^p|9f6o6HEGw15--XQv{$$!g
zZ$I^Y%5fTi4M7C*BDq2hdzD6={uc|_szb$eKi{e<qvz!)nF^Kr7@oYVhcEVNHTY9s
zLX?cbJS-%>nw`Y(mj{hIE6+LUvG2YN65Gs&T1@JF@x6Sg)g5<Z#7UnIyYIYbuLRCI
z5WmLVtfE1`f4X1_>HBc}%5GxC(}M`MHYgceq<~Zq$wLx#bU_VElxEGDhk8N~6F&IU
z$!5w~VrOV~|HY691G_Z<ShNFOO6LkBc#9#ACf|c4Kn8%%4>2`AipC_!2ijJGe-fyF
zh_C969$pVfg_F4$?+{gF1DGV@XS22T^^www*6nqJe;SzE-`gEiZ`C#&NT*jHcmz1D
zHGU+<2t!a`s=B141)scA^qoIJhu5Hcxn7Rc0Dg9h&tdn+x6l2+52A_9#kDJPXRJOd
zu7ct5$pVf*FsNZCiV2rFz1K+-Bi>+rBRy1#guMK>{fzx7H!cKgYi9BYsli{m38(y_
z*ci7Je-g84!&cvYqHWe!0BWofml<v|Ci$?BK(ck_vu~1r{Bu|Vp*Be@%n?H8hDx94
z1Lh1osy5DY?XWY%_Pm9?Xp@W_v$|#xw1sd9<GXK5To`03E70wLjrgn*EK-xRdNx*4
zOJOk`PN4%JW>!xMPvFa(^(QzcoCMR#%-F<hlb<nPf81d)x7zVpi6kjY=h6a7F-kWF
z+g7D-M)blRz>+KdDS)c#TBx8#`#W<--)_50C*W4yD0Qo;zZ!XQxnYZI+6-@A0w6Gw
zu3E_Y1?rQCn!vEjo9lc_?pm~?>*08jItI*MYdB6F34jNf0)j2@^C7dKF@j(M!33T)
zDJtrSf8!YdhMIf_$CZ53Fs8BJ$I5-pmUpuO_SD=U7<*VXlfZTafPs|((%cW8<!o8K
z!40)k-fHp$JsS!;PwxEpz1YJUg1qFJ?za@lRU3x^`ZP-IAES10y2VD$S;t((QenXL
z_Fe$7y>Bk(n@3^TeI>a5Akwd*(_X<-{&-<?e`+WSUFU=u_cZi*<wYzG_*tN*oR<Te
zg`Rm=?ax;(eQ!5)zjf+RbrnzyY$H>;H97hEoRE}MIo-nqoKpcR_#7eCubg941S$=C
ztb<i{j>Dm3kQ5%mL%&B~u|WQ8J61QX(nF2-8dK$&N5kLu7!~-r1*_rQePPyHJ@rn~
zf4wC=JQg%?7-M2-;vnwOJE*i<L0eRG_o#2okhW+<Ok~cyKkYQryiAE)IV>j1%OYLl
z1r=I5ga=I^Jo##y>C;!gO${#l;L!9C#!-TWkF}1(bah7B6G-WW_$fAY&HG){x?lkm
zofQtuwU+))3!yVFM)2SNdNp<_Xqz^?e|pyzxVW}vz%E_G@t;_(I(TPos?BXbN34{y
zMf;+gx0IX(b^MkagEgt6r!q(Kyw@f-NGKqY4XeQd)H&lCTNcOL__3@smrWngx^8LU
z4ou3z4`W6xVyn=$2w<6zLZP9((rUTbK#ap~h~ngbiKRyZ9nT5<-e#%^vug$qe^)*`
z+%8dl7yrlKs*d&6<|gC+QiT@PJhk{^1T@7JpEq3P6|!i)SzB>OcBv`Y?D#u4&U-LZ
zWRoHZSjYbj=AeKOXsgNLw38}b)hBEA{~sJLhrS>sD+x0`QfYKth(bDuZauEc_Vl$B
zO+@t6RY-{6NEtb976jGPfz+cSllU}We;cD5{g?X4F>&LW2qvL5vyj{{CptXi_X3aZ
z+AuV7X8>bBL9HzrJ8Jp4y=BBbjP^)UQ(co90P@l;)*=;!@&xDaf#XpV0EFlKIT0qe
zZnkgr2>xt&lRH5yjm^O}1_cX4d9kl|N|0{)6pqmO7|%DoJOW&@8wvMd*SkP5fBRkl
zCq&dpN2}HN_8bii8M4s)JmV)MPJ`^V4q2({p0DF90J4MCN5$zJ5C#*JeD|b&oBXvF
z$K(wm;ykw#9cW<-{ssS%G0aAhju;aKaV9~<!?&J$7rA$KJ$l(E$uwhqBvxWr3E@A2
zg78<8_6QmF?DD_ZMc-vbB@9)!f6giLoCB5Ga3jmvOHBfN+cH8^H$Z1_AxOp`x)yJ?
zdVp6%r+ii*;oq!9-Zt>BJWr(e4(Y7$!ri!>WwYu1d!m5FNGEL{N$Mub9O~8NbCma!
zl6mSX-rxAtIb@0lju@DJuYT2Y13<}kDtm73o-&p$B0T&y!{OSogV`rTf2Q3Qw~AqD
z`%l@=O8}({X_P+5KR=i6cXbbWWD*BK`Zqxom>M3ObJM*7<1T&Q@bW}f_jQ5zZar81
z$@wxrvxva4Q2{<@y4RDT6S%9)<g3JPa5_J^Mj-y0lj93CO^>Qxamyl@C*&#mW^wxK
z;4;LvrPq=7$6NJO`cf(6fBBKN`GU7kK2rv;tW}&>CNZQuq{j4S6q=K`756y^L9o_&
z`=GHI%Xy7P;!(?&4L)Z7s?PEu$|GMj%CCXJWcB{T5$oh6xh{y`c<_*dlz*%8pz7j*
z2v%T6^db`^XF{21v+U%6qqQ>ujT!h64Bna_<fuMu%7638>8@S@f0jJ)<&6q;)|6T4
zF+Idz1-$eCEG{klS+8Q`Ru8zPSXA|B8~XABbpeEoXxg+gHhT;%^b~QTGHeS06#8*$
zlbHn2Q80uv1+7?@Q*y~9+QG<DWORs#=nqEN6h<xmXcD6PP;$0b-QJi4N$IFIa3zxw
zn6b{kHw3ASH{xzAlTkQde;^Y9y}dz)@BzF`nN}LdSfkIXXI5F@4GdE<WhFI2QGjEU
z*&#{^JPTM9AUIu|=DRq@uEQfQ^>`wGYm~kv4HJc_dshgw?`6ig8UfxtAA)oc++AR^
zxml`l7qygT`V&0&)=;c%FsKNCo=0}9=G|2JH+;MxY<I?bILFzDf7der-3G;i`c8+0
zll^*1k5~8FrEOMQHJhY5)tmp5(7DcEfU)b?-UyvSHyM)ow*wO1b|O>H@t35ts4v^D
z&WsG4A+MPRgP3242D&RI6XQb3rMA>7AE#=y01VbOt7o8CnUAsedjHCa{&HRdes5ZM
z6)oads~yzhb;q*wf9<C0%_pUmQk7Qt7ONsR_j2YXo+;$4`IRiRCQx_+L0QvP*H>@-
zmelMM(l1nfa#WM`)bpoV_58x?*_Ymek-9s@5t+J+oO;l{1Pwzq4tc@fsX*y#Q>`9b
zzyf*Y#~tBd##EO6#tr<2^4R2Yf@0ZI>+uvbG>TZpw=G?pe_oQSNa<cfXK3($m-6j%
zh@j8#S~RKO)KZ+UhswbTr=cA*+qFJ4q$vWocO9$NM{jOTQBc7qfHnRJls%u%IFA=)
zSpy)RL=BB;5bX(MRPv||5DdhcK7(ZYOh+2ooV2v&sEu-OH?QHNhZZ7p?|h-p?4mfD
zGM~^{wj4M1e}`r@+T2)I!<=fsID^eZ5B)Cqe(A!GU;S$^bSeKzg%(Zw;A!$G^orRI
z?n|w8p<(Qx{T6$J1~9NDD|_oI*=<wzeY*lXs{0khgk-sIDtUUqttIG%%aQ7cES<5T
zsdn1a1N~9>Til+4j{)y*{y^__n^CaJMjL8#&;v2zfBtajh@2Yk!B=Ls*m@x^oqs2Q
zul{HX5QZu$w|tE%xY3o7bAlu{N%|H8oMc|3$sCR9>1cz9(!2%2NvBeD_#}jAtl_D$
zUx-X<>T7JA_XSDD`N1SKGA*wu%4LMMr0V3i(>G{8TY~=p6?rA~5_t|l){qG#;{@3^
zi2jmmld3yke^EOcB!)?T@tQUaOVmHAy0BU*<5C_=zHNoYh?O0!Wq_n$`;OtaVDo9W
z|9!G=I8FAz<xP6WZ}(?wMZY0xe--`~#t#B#(>DmV<0QzO5@T`XS80DFu<rAJCe&O4
zatU!sz5xz=F3Wp%$)mGR5nJmnGu8Wuql=jcepKvvf01bb1T_Snmav>J*h_-0oRig3
zSiN#XEnSQ&WoUo}pV`PO0HQ@3w$?z_c4xb3DBO#YLG8D5RXu6E63H0r;23Cf<oCVN
z9=0m$AF-fNf#)af^nnR3mpRng#gbN_K3TY|XBLldy%p1ueOlb@TvJ}w7WFUN9Kbm-
zM@P_Xe@?N{g>a?$j5XtG0=d`pr)7cum6C<4@2d=a$9O%#AFoXmuOpjYE_g%ZE7V>`
zx-f0OTF01uAWh2*kA7qY(RfY~C|5Ixt<V0~$#3jQoYF#A!J>zkBI7U(v*vF^N#3Oq
zt^J6}c?DPC!YUwyG4-(wbqQ+Hds4js2%iD@e;8eU=|p6NAJK<K-AZLX<AYgcy39c*
z#A|Hq7+@7c4qa!7iqs{6VAH+VgKx5Z9`RQEtG5d~Aaj$H%I=y+iZUqJ6rfBG2D=6!
ziBo*mV+30GgPjIgrag6ewo~vj0&sc)9F!3NksAYizn8#RHsg;&naeguetQ+>(Y_ev
ze}YV>Bw!0tLR@hf(~)dsWiEc<@0CWb0&1$8B5z--xvLakKx_&OCQn!7H8`FdVTLr_
z_M}8rMIC8MOLHtpp1q)YEacWJmO&YS#fi;xM#-~PYhv<I9eEI>BN$lh&$c}tl^U<!
zFM$uV`9ub^f*DiyxG=_Ea+GeqkjEEWf5P?Vyv{8fwYoc{#DP5t!nC~I=D)UXHLGvk
zMA9PJMBnuS32Q?%)x)#|cOi5-i1R_v!z5FEHv1EoBUS|d-=e&@StNz54ugqhW&k4v
zuMU)@Zel@p$?FU)k<Sp+3U;>IG}r3)+KJ}_W-`nR*8s1~HTS>STLdv2lHdcWlLJ3r
ze~MaOdInp>`gr*m#btLn(m6FAb4PmTJG!HTSQ0HvQGhVbKZW}UueKglNEGGD`HzN!
z>62CvZ4Hxuv7JHk{SCl)won+tBbcNo9aLt5`|oXw$OXf-thxmMCv$1{ycJ#^jMy9u
z@jqhNxnDd$xWQMDpB-gKutsY*EFTv@f51HeQc8o*r49r2R$WkR!r83N2oE^Io=P!F
zE?cotj~=E=fU*>Wu__XGbAjO_nFEc&`&b~8f3Vap)mpp4Lt@PctoB~m&BsqmaQF$D
z^drKi0j5ocp4t05YfxadF)b3pY@-U*t4tCxB0CJ+g%S+cL+HqDyvp*(!JGd8fAp%_
zw?L=gOh{5(s&!ojI2Jyvk+VG7|D?*Mp}N&jO}s@qOguj@jhp6M86*jcq7-}85}AZi
zUH!3lmA7kb9X<F=pd{zE%EqmyaGQBxia&rm5WOs?$du&VRknSKA`~8|y;_j&#i7E)
zxsadxG0t@Cd>!$y;_#Wc1h*!We}$JPDNSP~)*SHXze4+b5e+Eb=6+zt2C_@1f(?dj
zYqrSOlszvQIX{0&t+zw*?S6v?t|O9v%*?uJr@F=bueQ8TOi&HH$N;_91W}k*(h*$~
zZpn+db#I9WKLrT^Kdr`|dt4GoaQMNtY6#h;AyB8s5!7q^UhQ5&Rv{w(e`QjN5)>dD
z?)dUEPs=nwEskFN*tFH_)MZ;}BuS&^3Tu$}j~Ck^PvaaqCE^8}oe-1bL-3v|ZG!&T
zDx`!vPI;l_{z{ittTV|5Kyb#Jpg%Q|ZpjF~g>9Z^11v~BYoqlr(e$29#=O0V`?R*(
z{rZye_PDGtmIsWEfMSRie+ILN(iNp95o3*C-P$Bf?Y}GP8bZz@H<opALSkhzK%~Lp
zLKA=Fng9P=5N2Uq5<uRS?dBhYj}U?!NYL}q4NI4x{_P{BY_q<a&+ge94S47KH4f=~
zJfUfh+!%5IsyU?Sh_p;Wk62&go=X4W2!_Lgg*zS!E(9FKtXu)clUzbyf0+mF>qUUt
zy&dv35>0%YSk)x#Nwrc{lcR7D=k~i$SO7P7CLMg71A#8bloo<;QPu_kS>ZupV!o3_
z@^(-Js0W?;%H{c`+4S9{_xtlr3_dEZ%cI${iU-^kq|DY2!3=Um$0BR@k})Fg-KCIa
zt*#C`_NTpGTBQAjaZ4naf4Ud|1eYKtqy#l+i0+zgqV^rEHgEz?VY3*@Sxj@Lre{xa
z0JvD7)#}F#Wmnv=N$%HPNGKq{hT(!gT>$QqoopSLL022*gU(Z%MbC<v&(e|hg@m3R
zzY;2L$4{tCGVR2~ON2vHOlp(S>g~Sw?0jaNb^nhEAw2mpnGiyOf50y$0%f9P98;V(
zCxA4^A8;RRndrK{q~-m{lW;t9C<GgS>N2z(T@mTb6DryhqBs1yb*PNHHYLxN3^I3c
zTu^@~#49(V@?)X-Y>Bra<4`-aHx}jwT6P5`I91^-0dZd4p%c*tMsxG$!$55(ttU@N
zM_VlHhv=1D-jiVCe^v9vf2wG(+<z2-A4;}jmSDf4#O09KAF%WLuHzLCR83%QPpb%9
z|L-t|T75=I?Jb#~aNx;O3g5PMUF$WsL04`R-Qi>S;0n2aS(TpmqMlfVs5C$bmGYS;
zA{Q`ETgYP5R?I1e%K#%h6`iVbe0;T$4Q`+AvhQUI^KS^ze>=vHVAkbluR53bJM5er
zlb0zKENcNv7momp3fgT9qXeR1Bz7YW9QE$_=V|wi)rZRvaP?Dpffy+OImtqe!ek<o
z2{d0asGbXgtt*OaouE5@(+jTLn;+Q34{ZDW-{2zh|4%xFW+(svH101D*Y}<xC~V8F
zO>%m_7*s0se{`J@fQ0sOK;yziAsA3py-tTkhru8COODP~?9ZYY-Pw<}aeUo@#v6{s
zCx@p3MQtaO{B8ua`~63G<uwzwZL+*cBD)7zb+n67L_(id_FOF_hm1|KVU6}cTyttP
zJp<K=QX>BN?zDFomvXG(B)f-O=U+K)Yy>8IfHI?hleI-(e_2DKXWQvrG|aEjp}Iw%
z3p4dP=X6FN!b4yKq;CfT1c1psKUHgaE#Gk|1F!=ZS15M`>K;Mp8J6N<WD-+0$^e2j
z(4lbEHj}ww@+m0xD+LRv+)jE-3+3!1Mb(E_8xE}9mPBbkM*4D7a5@o@YSxoE`R>B=
zn)d$r{P{qWfBsj1*<PoFckV!jX9!sC2Q%|<o$TRbzi7-=W0?>}0(`zZfTzPIM?U@<
zjFy%w^7BqxBlUb^nwWrzrkM_tI~=YY^pF;?PcODXPBJ8PJv05%u(mu?*F>3FsMm-N
zF+3#g9?%A@5$kO1u)jxyslgKJ&Ul|1)>4ya0wh%*f1VjLaVECVzRfU6VZ`K)h@A~O
zH3&tkuF_hV-%Sk<+f*R>rkcg%*=;eP)w+Z41vyG+W2=nZdMMp-4L<yTOlO1DkcIc#
zT|%z+PdAUh+=&iuSL6H$J{v~P3CV`>&>oZ$IkVUqNpS)+iE*^@tj5(XZnrAC1*U2*
zjsH&{f3pAim^wDl$QrIb3I1E)1vhq!RsGrP=LHOW%@|B>;qaPbJqlTfJOu(e_Ev)1
zH-OU<U13Yj{Zli#gDsZ38jn;y$7?-bS2rjfa#*dn^TduWCAU_QY8(`u-p)^D=Q1)i
zUHv;(7V4I005c9MTG`7>9o<ORA*S}kbbEyMe~cM1JDYJtAZjz<2x>-a*=#+~`OZ~w
z4IqU;-k%rE1XQS2i*a#gf;c5F9M_<>e&*chAtShks{&0+79EEF5|FTEgNe#9xfUrA
zWXj4#c-0JJ^8=ZMJ!zVqv||fRbFz=l#+%Jclf0|;b$Hviyn-%ncJ@)=R*sK^5mcNq
ze<O=3`e_13Rpm16QOJZ(3qoW**`$`BF_eCkAQOqgCI5}+o4K+@hpVg|ByO_0`PX9w
zU0$F@zv<53q8@_k8FtHq33<z@6q4X+(S8rK0?*;B|03HD>;&EzGmU(quR0x7p+c2>
zXTlMqJkvG!IkC*ZIl+k@!2|<JmJYHVlMYE=e?7ZA0a&50LV@HY@J5~Ah@g>q&>%TG
zf!%b+A}Ji`3V^L~I^?C2q0C73GL;pLMf8gBU=z<b0=odC{s_WteHIr*S1vLBzY^7B
z(1(xE)MWOwv0G$_$f$gkbs^lFj0gbgStLHC%oV-RqCOC#0<D1TMm6Edn9XMC;v<;%
zf8bVt2s@Q?2(Y7G_#d2WX97Q2&`+V(hI}jhX&&%qU3AL|0E|$SEqG|rIr9VIzgSgP
z%!-~5AQqry(*#yrHlmV_s0Ubf%D-r$lpXH!(OL(2MSz`ytb0NUo2Eq&bSz+yrZKC}
zZ*G2Sd!5k(dyO4cE}TqF9H##57P#naf6s|NYe0xT9ewD`ivH&*qy(AHHZ+4QvZ6SR
zQ$J`>I+S(K!t1#7H+Pn-21=z`Bzn@@IrpaT1`)(EEl{Thq`bgtD|wfF_iB4M8r44G
zUImOam@q#hn?$?BoOM&Ec+Rr1h2}j+5?)@Gl*;5d9^tO)5IRU9J(MY%YS4|%fBp)M
zuNH5q2sBgxe82lgj=6Lq>?(#!dmD$odBy%lWgsgUd$CWP++AU<0qa*xYZMLM#G{OL
zi}WKMx_J?F=B-#$>e^uytmk5acv@k2d_PU`Sqgcbsj%P0NypjBV4ZR)*wY+iyA@9%
zMG6xL&lGi49`S0~dB5`xLY@Mgf4hUO!sRDpKeIl^>fZG0rKiiY_LTBrtP6y6*+gf9
znzJfe&phNb{=dWi>>?0}NY8P>pP!CRnL=?`zpEg<cg7-Q3Cgzul`j?gOu4+mJ(lMv
zvVO(nJMDMxsrdMH<(S&|=Ds1{L$8OnG_u|(v#n&*i>)=NU6AobSmzPUfAzW?yrWpG
zpXT#@p>AzV?Eb7{Us(TZQ>oCEJgMmvqRMKt@5*-u5_^~pqz4lSOy!&dRmU>A*<9WH
z#xgWetpB$6`^81mucfz8J;1i}$Q-8%8lO`JVO8sQ>e%gZ-yJbC6+zkv^bzh84bNlB
z7zos6zylC(IRt=&zB3~IlV?m{e}VPr_G5fsLAsTvWQwZXv&FEu$99BZmb15k2cY1E
zT7dNEfjVUrYpF$%$$vVNvjYUb-8#1x{~`P&G&NzH+5-|s`hJPI?kD@x1Xe21GEj`j
zC5sFHv}lSXvF<rzXB<oOc1D$z_2JgHRxOK5C&mMh&{uod)(JN4obdnIe*_HxfoRm9
zI)OeJdFA%hK)9}s$DQHRN(Ron*_cnl%m%D+0Ff}65z78=$O)W+B99b=!M^B2gnsi4
zW=G7~4;fs*EHhW7-PcZ!*3}wZPX`GlQ;5$)U)^oJupb<;pU%Li!dcCLj<D7Y(#c4o
zZ5k%bB4|5GL;4-okP>rye`wqcamTj|Le52@(~~FuqS2w;JT-FKBi*R+))K#OmM@|b
z2i2xa=+Dq~O**R|Yw$l$ISQ{qY>;>~>}z*r&w_8Aro(^b$a9qwOZ~)^W6N)3g8<D2
z=m-xAZh&TC56y%BpQ3`qoc8h&E~v>bo8s~g<F2@gTZ-`(e-g}Nf7e`2Uce+ccpvlp
zHEhi<#Xy{~&!kP%8uN$n)RMZ}K={IoM!iEjn)O>}OiPalBVarbGwOhJ@~`bbKWtb6
zNnLkngt8Vq&xy0xQe;d0wK^|ei#4>Xope^MK%}s29PC<rW}7IP2Z(Qh#3uNX8B+T}
zO-e5!aYz@Adw0|Ce@#>M&sv~DVFhK%rnf|95tb`Ctgjh20j(U^F39{Es@gDF9g<N2
zbi%lnl{@nbdos(^(=w2>#R3i9)XsF)CN}2y>5{o?m((NZF<F7q$;k2SY{O`(p$zO+
z*zpY90|~d(8BjsH;WMShW;}dksUhIT-z`uwrOz=YX+QyFe`lK-fGLRkj?yiAA~K)Y
zLz7LcVIn@|CXvtN1-ew-Wemn2X5FjvY0`X>^_X&CjTq1%tTIko;?M@&=1CGR^vV8!
zrP!Z8N1%Tp^f9P?MEfe#eALuYa>0C#>IIXsRhG4aX%0vdPz2eSW0cUi_!MHBMcx<p
z<OE4Y*&yUIlfX}3fBlsai@rDsy_a6vVZn#a+hn2xNXOj;?-#GB%Od-kWPoyfstBrj
z8iu{aHkpK&RYX!Q#kdg<>|A;-cn!_Nv;+x!o~SOBsgF>o`Lq|f#Rs8b5;AE;Uxw{B
zs&XJ7cm!_dByb-q&g$zw$q4I?_?4O=_LbsUE~?QB@HE)|e=u4AXKb65O14MjiOR+K
zZ%9U2e~QI`hysCOLXpThf9s<RfQZtpA`=I#WjlqoL0tp<qkA}1-;oem&Tcc?i+(>1
zY8x%?f+L76mY4fUu80R0Ag`NNKrxOo;vJuKVnj}!#;LcfZ;vgm_&pdqzkfnp>%b%n
zBVw{rF|4WPfAZiU7=W~GKghE@<aRI*A~=!vYq}lxvSApu+|hWghunwSOgSOOT**Ng
zPB4_7st0o5J(Gdaid90Ao3BEH@QmYyaEk#vKD6|$B>SLU6l7gL>_P0a^!j<QR_|*4
za-k3x!g1~e`&)GO_kKT*Rn4$w%zKt4<tAQ~y9Mw?f7dx*AqF;P67<wlsL_1M9VDk}
zub5nM@MB87EI4h1ZGxz(t{+!2m3eiAk9uM0R~EhSw<m3$UibhX9os9N6LFf-#yL7y
zMau$d0p<Y2YfWgH^z$V|EAGby9mWp=ZtV(;EO;_MG(#BuEz{a26h7+Uq&<#*V_8;_
zE1^pke<j#)kDg^)hp(Yvi8pT-I<hB`j%jvhix-VrJW9q%8UAH+aZYp+gCb@|la-su
z*L6o7v1I8|3zbSK<2`@cvhysbSD~vKqmQtl$9AdGh)T$z%%PffZ-}ij3-Wj_?B<UU
z+FNo$i!#_vX*hdQRp~Mem_oFvPUS5I5Awgce_`q=!~+YxDO7}TDk2ySS9R1BVA5KU
z8Mbp3-V+5Pq^P-k(=cNEb+Ym;m>dm1tBE1WFeD0lfy~eiLsO8bI08bgp`@lJ>4^xE
zq~KFjE&}HiNS*q=;ZU%yW|SxYz8ka~8rb_&C_OXl9FN&M_0WjLQG0O}Fa%-0rdH?O
zlNnQAe`V|!tNml<szcMhxIGw0s+6P@Pq-A)v#gO3se7n48USm?#s6fPt-%qqwrD;7
zQgkiNUG^GuW3Q_iG6M(PP64&4KZXh6^9IWYWf7e7JK1q4l4o9U;X><-hs&<zb`;Qx
zVkXHn9}eFu_{~2!4)^C*Fz&0Xc*nxb_fHyMe@q;JJFA0CjC3|GyIEf%QU6QRCWk%i
z|1yGAy>SY{?fTqW0IHxsu_371+0v>ZZxkXH=mnFG6$yaGU5`%t*Wm$93$gUIsUxUq
zMl3?ysN1vmAt0ncHsOMHqNhDmRQKvPUq|88jI<`HUO}I?v(SC9<#F<eA9#X73q<=h
z@^zPE1%I(U{mm?hV!k+;0($0nPlC~Z%%dx(T1&mjcLAGS@6C6dYUOVF5}k%&T2Cke
zBB}W;FZh0=c(P#AK#Ee1ny0(@MaiwGfhLpAcDR3XRj|D|_LAW(6o;i(uY0+V^K^vt
zX#))V(}wyt)Q~w)nKa)Q_Q}Q42Fvqp15d;rGk>lifS?3NRb+jcGc}vNcs9g7@3|cP
zbd^y}#ygicnNDVwh{X{Z5`h>%;+kgF_c$|2^ym@57Ps*W79zct4T#w$oR1wB2M+$@
zBf9nZ&enNT-;u7jJF46^+;9iIJcKh)g*~Tj%3e&%c2zDSxV)%;leNLwWrOJHCS)3h
zCx2X+bcJ}XPt(j7<bgo(lXAj1M8T6bS_B6mL0U3B*+aR>i4J-NN%;=ia{{;G%u&~Z
zwxmgh!J+l_(rDn?J;}qJ3Eju19j0!LokBp5oiuQq>l2Lm_<oH6+Wj5d*<E-0X9l&N
ztWLjaL{7~BSH}1}Q>aEa`t-VY%VBw;pntwP48GoHnii>1(M+b3b>QAaOTMF;C{me0
z)+x`rMnQ568DBj1STuE{$%h`gHt<*??QN=0s_uv&t#93wQd#kyM_p(BRE3KJZJ>=0
zxNoL11|%wb=yeNjsRm19=XF8M?J|Gq$fm;o89ZN+@LoBYDvA3}{DlO)Tul-m(vxyl
zUw`oT_<z9Mri>(o!yv%Gc#%p+2lHIS7u;)p(*BMmyas?vrcVkbT?@&1m|@-_%UM=d
zB}-Eg$>YT5?BIy=T;LBlaDos7w^qvVDBoKqbuJ%ol93;DDdktT%5?9^nSBuKu=^V1
z!EruzxNFi+$b#A#TCl<tC(-6`NtivYLVraofL|jI>t8l=u!c}LUDbq{r1i*sQkN#0
zs=yUy^~T~rPyno+;TohLh2Vbp@?;m2%ef}#uYVyrM+qn+mM?T57+dSjYW<{Y!1v!%
z>YJJuL9&B>+0E9^ex~V#IUMNXy!HytcqUnM^_u}NfG^m?H)P-@pQ@m+nxNLbQGZlS
z{<fI3`P-i_jP-(d*(Ao(%PBbC%~Ol(pH#T$6(ZgK;pMkxoRm5?Q&->ubFNk*<9N=X
zM<MIzGz6wEgr(HudL5xb#nLpiNjR}OO1k>_wRaj*K)ZFXdQ=}pkbJ35ccRKnBuuD5
z`a_E};zCV+aRo0(92CegNXqR*!+%{=iAKa}EB%GwxU{N`L4_;N{KR-~P~^)RUf+#P
zgE;jlZcNG)(k7O(D!i&q)6YQDEvLwL)>HCD!M|`&BX6C)R4?`w?K~mTqll&hvGY=4
z(A>Hc-e>;P`^~6w_UaDH>NA>VP}ve2#6n_<l;AEQWD+~jP_ViODd%p%!G9(|wUZJT
z06p*8jl4?!+-(}WJKftTp)H$>siJ)-iKzS2tZqQGV{vT@@+XcI8a}_p1a)WvH`adc
z8u}J#{nVHsq}m?*KCTQuS+@H_Bbo?jl=uoir#_{qhn`Z1&XhZAMOID3@}|5zRp|z*
zqoR{$c(s=0yrqq?nbIdD%zq6x!I?#Xyx2@77ALN~5u>gpe(SFc=VFY)Z4X=8_(m44
z{KpTO{c5tY_ho#}h`&!%@l*J|z5Yrx8&VP}4$UP-AYV5SR<DYYOI&g|`X9TyWKmq1
z|Fv?tFjH0P09mjQ+(>qMax;CJpx`p1YPDs2CxKxIyX*vO@@QxKRFlhDUw`iqw|;cq
z;aM|2=`4yoT;@z12IXVh;aP}kyxp^roGt)cbDm!30UXQ}sVU!t*uutMH(7Z=&Lx)a
zL1I2KR(k_qJ<L;l?Cw<`0w8&F<Bb>FjV5XM=qP&CquQP8)j<Ko28!IA6Vm-{G7l_E
z^`M^6ieN8MBYL=TsZ3lra)0eb0Isi-Lm*CKCs~TWrd*n8S$lgv@|1-+<o}oWjHD5F
z8UT}*m5fC1&dkbZ7xbA%odHjy=!c-}wmD_Q1~@07Y?_V(DS$|#3oZbco{<H1X1cDn
z-IU3PN;@W{Q?z@rnAtAQJi6`fFxZg!Y9<lZM%^{x%}BnNNi>VO&wn+)SonpnAgEbb
z0#`ZA*_z<$g7LR|`fZn;R~Y|JdH3@#`uMeA0To#*k#Dbi!KPf^c>-~OSmS-|Z`#}F
zqSnRe6_6R4QU5j@H6K%w5tYK!nTV7%TOU^~8DuJELvZ);7EbufKJa4S8!yIFmYw4d
z4_FDZiz0JRaO3`%=6_wShPQk$VmHE05305PHUPZh@GSW+-;7b&Dj?vYBwt(GnO4zf
z`Lbe4OMj)H>Vz~^&WGbcEq)SI+0qs0Ffl?bBh$=Rc)=NtCl?k8tq{DJB9SIXI~Cp5
z9}*{`_+C^E-od~hsh^dnc^(FGSBIYzH81yY7K*OXQW+3jQGZ;%IRiSRI+*#%1#u`$
z7WlU9TTC_Oh!eNFkUEppc;5Z2hbPHD2qQTg{d!spkq^C+DHtlL1qAZgi3R20Xo+Xe
z(<YaQ2&Ha9cxDCV>Yru|$=p>;deF1ECz#VSSQ}<J^(@&x%j$D1o<VX(y~7BY>A^DP
zBh~s+3}dGeaDSk9s?$5;{LVYgf4(XtNNEGc+k<R;o*S0k63Rql*SS-e$R}XVZAka?
zSooKsMz-*@9X)c2Y`8!z0@!eI1<cPb@QZ)Pgb%Jb#`UL`#+u1qYV$ez>MP@~R2h!V
zsqdHNMkP3gJ=?zQuVa1B^64AyN~Jj%p>PCrJ!`<z$CD&oUw^R77GvLIb;&+Py^9?r
zwq~;#*z+i{JUgmQUx%#{;b(v#1Nk?E1wcC}4}LfDee|>42wydqBPTXrkZc4}grN;V
zoi~!GVD|;SBv)1x9V<2%ddtY_<x-R{8HBEvo#PF=0g<b`n9uxic<1mFki1S-Y7M{n
z@`<Uc?;$*aS%1Jv0N*=uU<eh>$^61WXm6W$TO4k5ojzDoNlQtHU;O0#9)PD{-<=@s
zq@~hpj;sP&nIl7s=6SS@odL07Uyd_lrr|efM}iz1wcm^R>5Oj?7-o@pU?w{u2v(Av
zo8)+GW$h#rY=|FE?Qq<rEN9RMT@w^9(0VCCnWWZZ7=PRHnfly`A_*{>DK#f_0i(?L
zu{)%K)35FjL|rTf#5&WiY;PPTzkDuM09Xt4h2XC>b&P$BBs=yxP?>6b=l!?+neSMC
zi{xgp&;FAl)<ithKP*)Q7tFLt!~CC?hn{EN5~+{456hQs8-gW7qLDZVt7Iofh_fk|
zY$z4|TYpz@wagbBMWb0XE7kv#faX*I@*`ENsUD|6-tO3}&*S2yCR+4lbt--ZF61^%
zV3fX#=96RL^!^7WlLJW$J`;;2-|7A+6I?n3m(8LOLg5YkRJ`51_hZdA(>Q}J7w*nK
zKhsnz18W6$TIXk?PEt1e@R{t&U1l5?wzop%I)BF&=Q<roUmZATiJHZ~nP3~RRp(=p
z?X1HGRIdyBQw0RFV!#Ex4K#Na|76Na_v=yl)yMD)P=|hgKA1*@NM?_KPe#!EUbwDY
zp%#KyaJ(ypn&{QN2x5I~!b9FxuiPP4Dya0qxk!9~r=OBR-bw_1IN);a=|5!pw?;?E
zFn^bOKYZfk1V70NuR{QJ_~YKpKMFdBZ(Wbz0T6(~rnx1XIy7~`>h_i014gks#J~i7
zcKcO^Bq=lDG``@?W=A-(z?A!Tc#gBQ=OiXB*)4F~!;JL`b_Rw_^`kfyt!kcS8y^#1
g$#rLr6+)v|wa#j*(N7pm%rOM;;%0X8I+J~18}~LMumAu6

diff --git a/substrate/primitives/core/Cargo.toml b/substrate/primitives/core/Cargo.toml
index 0ea885abd22..6865572f4c9 100644
--- a/substrate/primitives/core/Cargo.toml
+++ b/substrate/primitives/core/Cargo.toml
@@ -70,7 +70,7 @@ secp256k1 = { features = [
 # bls crypto
 w3f-bls = { optional = true, workspace = true }
 # bandersnatch crypto
-bandersnatch_vrfs = { git = "https://github.com/w3f/ring-vrf", rev = "0fef826", default-features = false, features = [
+bandersnatch_vrfs = { git = "https://github.com/davxy/ring-vrf", branch = "locked", default-features = false, features = [
 	"substrate-curves",
 ], optional = true }
 
-- 
GitLab