diff --git a/.gitmodules b/.gitmodules
index 937bff2..ed737f5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,3 +7,6 @@
 [submodule "third_party/boringssl"]
 	path = third_party/boringssl
 	url = https://boringssl.googlesource.com/boringssl
+[submodule "third_party/fuzztest"]
+	path = third_party/fuzztest
+	url = https://github.com/google/fuzztest.git
diff --git a/nearby/.cargo/config-boringssl.toml b/nearby/.cargo/config-boringssl.toml
deleted file mode 100644
index 2bde6df..0000000
--- a/nearby/.cargo/config-boringssl.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-# The packages to override
-paths = [
-    "../third_party/boringssl/rust/bssl-sys",
-    "../boringssl-build/rust-openssl/openssl",
-    "../boringssl-build/rust-openssl/openssl-sys",
-]
-
-[env]
-WORKSPACE_DIR = { value = "", relative = true }
diff --git a/nearby/Cargo.lock b/nearby/Cargo.lock
index 813de5f..46d9066 100644
--- a/nearby/Cargo.lock
+++ b/nearby/Cargo.lock
@@ -69,12 +69,6 @@
 ]
 
 [[package]]
-name = "aliasable"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
-
-[[package]]
 name = "android-tzdata"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -97,16 +91,15 @@
 
 [[package]]
 name = "anstream"
-version = "0.3.2"
+version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
- "is-terminal",
  "utf8parse",
 ]
 
@@ -136,19 +129,19 @@
 
 [[package]]
 name = "anstyle-wincon"
-version = "1.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.72"
+version = "1.0.80"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
 
 [[package]]
 name = "array_ref"
@@ -183,15 +176,9 @@
 
 [[package]]
 name = "base64"
-version = "0.13.1"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64ct"
@@ -207,9 +194,9 @@
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "blake2"
@@ -240,9 +227,9 @@
 
 [[package]]
 name = "bssl-crypto"
-version = "0.1.0"
+version = "0.2.0"
 dependencies = [
- "bssl-sys 0.1.0",
+ "bssl-sys",
 ]
 
 [[package]]
@@ -250,12 +237,6 @@
 version = "0.1.0"
 
 [[package]]
-name = "bssl-sys"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "312d12393c060384f2e6ed14c7b4be37b3dd90249857485613c1a91b9a1abb5c"
-
-[[package]]
 name = "bstr"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -271,11 +252,12 @@
 dependencies = [
  "anyhow",
  "chrono",
- "clap 4.3.19",
+ "clap 4.5.1",
  "cmd-runner",
  "crossbeam",
  "env_logger",
  "file-header",
+ "glob",
  "globset",
  "log",
  "owo-colors",
@@ -303,9 +285,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cast"
@@ -323,6 +305,25 @@
 ]
 
 [[package]]
+name = "cbindgen"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49"
+dependencies = [
+ "clap 3.2.25",
+ "heck",
+ "indexmap",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn 1.0.109",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
 name = "cc"
 version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -342,14 +343,14 @@
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
- "winapi",
+ "windows-targets 0.52.3",
 ]
 
 [[package]]
@@ -395,45 +396,47 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
 dependencies = [
+ "atty",
  "bitflags 1.3.2",
  "clap_lex 0.2.4",
  "indexmap",
+ "strsim 0.10.0",
+ "termcolor",
  "textwrap",
 ]
 
 [[package]]
 name = "clap"
-version = "4.3.19"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
 dependencies = [
  "clap_builder",
  "clap_derive",
- "once_cell",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.3.19"
+version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
 dependencies = [
  "anstream",
  "anstyle",
- "clap_lex 0.5.0",
- "strsim",
+ "clap_lex 0.7.0",
+ "strsim 0.11.0",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.3.12"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
@@ -447,9 +450,9 @@
 
 [[package]]
 name = "clap_lex"
-version = "0.5.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cmd-runner"
@@ -477,10 +480,6 @@
 ]
 
 [[package]]
-name = "connections_adv"
-version = "0.1.0"
-
-[[package]]
 name = "const-oid"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -512,19 +511,19 @@
 
 [[package]]
 name = "criterion"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
 dependencies = [
  "anes",
- "atty",
  "cast",
  "ciborium",
- "clap 3.2.25",
+ "clap 4.5.1",
  "criterion-plot",
+ "is-terminal",
  "itertools",
- "lazy_static",
  "num-traits",
+ "once_cell",
  "oorandom",
  "plotters",
  "rayon",
@@ -641,8 +640,7 @@
 version = "0.1.0"
 dependencies = [
  "criterion",
- "crypto_provider_openssl",
- "crypto_provider_rustcrypto",
+ "crypto_provider_default",
  "hex-literal",
  "rand",
  "rand_ext",
@@ -664,25 +662,10 @@
  "cfg-if",
  "crypto_provider",
  "crypto_provider_boringssl",
- "crypto_provider_openssl",
  "crypto_provider_rustcrypto",
 ]
 
 [[package]]
-name = "crypto_provider_openssl"
-version = "0.1.0"
-dependencies = [
- "cfg-if",
- "crypto_provider",
- "crypto_provider_stubs",
- "crypto_provider_test",
- "hex-literal",
- "openssl",
- "ouroboros",
- "rstest",
-]
-
-[[package]]
 name = "crypto_provider_rustcrypto"
 version = "0.1.0"
 dependencies = [
@@ -766,7 +749,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
@@ -808,15 +791,16 @@
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core 0.6.4",
  "serde",
  "sha2",
+ "subtle",
  "zeroize",
 ]
 
@@ -847,9 +831,9 @@
 
 [[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -860,30 +844,19 @@
 
 [[package]]
 name = "errno"
-version = "0.3.2"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "errno-dragonfly",
  "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "ff"
@@ -931,21 +904,6 @@
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
 name = "generic-array"
 version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -978,6 +936,12 @@
 ]
 
 [[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
 name = "globset"
 version = "0.4.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1024,11 +988,11 @@
 
 [[package]]
 name = "hdrhistogram"
-version = "7.5.2"
+version = "7.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
+checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d"
 dependencies = [
- "base64 0.13.1",
+ "base64",
  "byteorder",
  "crossbeam-channel",
  "flate2",
@@ -1163,6 +1127,16 @@
 checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
+name = "java-locator"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90003f2fd9c52f212c21d8520f1128da0080bad6fff16b68fe6e7f2f0c3780c2"
+dependencies = [
+ "glob",
+ "lazy_static",
+]
+
+[[package]]
 name = "jni"
 version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1171,7 +1145,9 @@
  "cesu8",
  "cfg-if",
  "combine",
+ "java-locator",
  "jni-sys",
+ "libloading",
  "log",
  "thiserror",
  "walkdir",
@@ -1208,9 +1184,9 @@
 dependencies = [
  "aes",
  "anyhow",
- "base64 0.21.2",
+ "base64",
  "blake2",
- "clap 4.3.19",
+ "clap 4.5.1",
  "criterion",
  "crypto_provider",
  "crypto_provider_default",
@@ -1235,11 +1211,10 @@
 dependencies = [
  "anyhow",
  "array_view",
- "base64 0.21.2",
+ "base64",
  "criterion",
  "crypto_provider",
  "crypto_provider_default",
- "crypto_provider_openssl",
  "crypto_provider_rustcrypto",
  "hex",
  "ldt",
@@ -1254,6 +1229,21 @@
 ]
 
 [[package]]
+name = "ldt_np_adv_ffi"
+version = "0.1.0"
+dependencies = [
+ "cfg-if",
+ "crypto_provider",
+ "crypto_provider_default",
+ "lazy_static",
+ "ldt",
+ "ldt_np_adv",
+ "np_hkdf",
+ "rand",
+ "spin 0.9.8",
+]
+
+[[package]]
 name = "ldt_np_jni"
 version = "0.1.0"
 dependencies = [
@@ -1275,9 +1265,19 @@
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
 
 [[package]]
 name = "license"
@@ -1292,9 +1292,9 @@
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_adapter"
@@ -1315,9 +1315,9 @@
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "memchr"
@@ -1399,6 +1399,15 @@
 ]
 
 [[package]]
+name = "np_c_ffi"
+version = "0.1.0"
+dependencies = [
+ "cbindgen",
+ "lock_adapter",
+ "np_ffi_core",
+]
+
+[[package]]
 name = "np_ed25519"
 version = "0.1.0"
 dependencies = [
@@ -1420,6 +1429,7 @@
  "ldt_np_adv",
  "lock_adapter",
  "np_adv",
+ "np_adv_dynamic",
  "np_hkdf",
 ]
 
@@ -1442,9 +1452,9 @@
 
 [[package]]
 name = "num-bigint"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -1499,75 +1509,12 @@
 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
-name = "openssl"
-version = "0.10.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.28",
-]
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.90"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
-dependencies = [
- "bssl-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "os_str_bytes"
 version = "6.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
 
 [[package]]
-name = "ouroboros"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2ba07320d39dfea882faa70554b4bd342a5f273ed59ba7c1c6b4c840492c954"
-dependencies = [
- "aliasable",
- "ouroboros_macro",
- "static_assertions",
-]
-
-[[package]]
-name = "ouroboros_macro"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 2.0.28",
-]
-
-[[package]]
 name = "owo-colors"
 version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1594,12 +1541,6 @@
 ]
 
 [[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
 name = "platforms"
 version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1646,6 +1587,30 @@
 ]
 
 [[package]]
+name = "pourover"
+version = "0.1.0"
+dependencies = [
+ "jni",
+ "pourover_macro",
+]
+
+[[package]]
+name = "pourover_macro"
+version = "0.1.0"
+dependencies = [
+ "pourover_macro_core",
+]
+
+[[package]]
+name = "pourover_macro_core"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1661,34 +1626,10 @@
 ]
 
 [[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
-]
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -1746,9 +1687,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.32"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1839,15 +1780,6 @@
 ]
 
 [[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
 name = "regex"
 version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1877,6 +1809,12 @@
 checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
+name = "relative-path"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
+
+[[package]]
 name = "reword"
 version = "7.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1887,9 +1825,9 @@
 
 [[package]]
 name = "rstest"
-version = "0.17.0"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de1bb486a691878cd320c2f0d319ba91eeaa2e894066d8b5f8f117c000e9d962"
+checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
 dependencies = [
  "rstest_macros",
  "rustc_version",
@@ -1897,15 +1835,18 @@
 
 [[package]]
 name = "rstest_macros"
-version = "0.17.0"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290ca1a1c8ca7edb7c3283bd44dc35dd54fdec6253a3912e201ba1072018fca8"
+checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
 dependencies = [
  "cfg-if",
+ "glob",
  "proc-macro2",
  "quote",
+ "regex",
+ "relative-path",
  "rustc_version",
- "syn 1.0.109",
+ "syn 2.0.50",
  "unicode-ident",
 ]
 
@@ -1918,7 +1859,7 @@
  "quote",
  "rand",
  "rustc_version",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
@@ -1932,15 +1873,15 @@
 
 [[package]]
 name = "rustix"
-version = "0.38.4"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1991,29 +1932,29 @@
 
 [[package]]
 name = "serde"
-version = "1.0.192"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.192"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.104"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -2022,9 +1963,9 @@
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -2076,18 +2017,18 @@
 ]
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
 name = "strum"
 version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2103,7 +2044,7 @@
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
@@ -2125,9 +2066,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.28"
+version = "2.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2136,15 +2077,14 @@
 
 [[package]]
 name = "tempfile"
-version = "3.7.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2172,22 +2112,22 @@
 
 [[package]]
 name = "thiserror"
-version = "1.0.44"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.44"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
 ]
 
 [[package]]
@@ -2207,6 +2147,15 @@
 checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 
 [[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "typenum"
 version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2284,7 +2233,7 @@
 name = "ukey2_shell"
 version = "0.1.0"
 dependencies = [
- "clap 4.3.19",
+ "clap 4.5.1",
  "crypto_provider_rustcrypto",
  "ukey2_connections",
  "ukey2_rs",
@@ -2319,12 +2268,6 @@
 checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2367,7 +2310,7 @@
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
  "wasm-bindgen-shared",
 ]
 
@@ -2389,7 +2332,7 @@
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.28",
+ "syn 2.0.50",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -2480,6 +2423,15 @@
 ]
 
 [[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.3",
+]
+
+[[package]]
 name = "windows-targets"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2510,6 +2462,21 @@
 ]
 
 [[package]]
+name = "windows-targets"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.3",
+ "windows_aarch64_msvc 0.52.3",
+ "windows_i686_gnu 0.52.3",
+ "windows_i686_msvc 0.52.3",
+ "windows_x86_64_gnu 0.52.3",
+ "windows_x86_64_gnullvm 0.52.3",
+ "windows_x86_64_msvc 0.52.3",
+]
+
+[[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2522,6 +2489,12 @@
 checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+
+[[package]]
 name = "windows_aarch64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2534,6 +2507,12 @@
 checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+
+[[package]]
 name = "windows_i686_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2546,6 +2525,12 @@
 checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
+name = "windows_i686_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+
+[[package]]
 name = "windows_i686_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2558,6 +2543,12 @@
 checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
+name = "windows_i686_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+
+[[package]]
 name = "windows_x86_64_gnu"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2570,6 +2561,12 @@
 checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+
+[[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2582,6 +2579,12 @@
 checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+
+[[package]]
 name = "windows_x86_64_msvc"
 version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2594,12 +2597,18 @@
 checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
+
+[[package]]
 name = "wycheproof"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e639f57253b80c6584b378011aec0fed61c4c21d7a4b97c4d9d7eaf35ca77d12"
 dependencies = [
- "base64 0.21.2",
+ "base64",
  "hex",
  "serde",
  "serde_json",
@@ -2632,7 +2641,7 @@
  "aes",
  "anyhow",
  "array_ref",
- "base64 0.21.2",
+ "base64",
  "crypto_provider",
  "crypto_provider_default",
  "hex",
diff --git a/nearby/Cargo.toml b/nearby/Cargo.toml
index 774e1d8..301fe34 100644
--- a/nearby/Cargo.toml
+++ b/nearby/Cargo.toml
@@ -1,6 +1,5 @@
 [workspace]
 members = [
-    "connections/connections_adv/connections_adv",
     "connections/ukey2/ukey2",
     "connections/ukey2/ukey2_connections",
     "connections/ukey2/ukey2_c_ffi",
@@ -8,7 +7,6 @@
     "connections/ukey2/ukey2_proto",
     "connections/ukey2/ukey2_shell",
     "crypto/crypto_provider",
-    "crypto/crypto_provider_openssl",
     "crypto/crypto_provider_rustcrypto",
     "crypto/crypto_provider_stubs",
     "crypto/crypto_provider_test",
@@ -17,10 +15,12 @@
     "presence/array_view",
     "presence/ldt",
     "presence/ldt_np_adv",
+    "presence/ldt_np_adv_ffi",
     "presence/ldt_np_jni",
     "presence/ldt_tbc",
     "presence/np_adv",
     "presence/np_adv_dynamic",
+    "presence/np_c_ffi",
     "presence/np_ed25519",
     "presence/np_ffi_core",
     "presence/np_hkdf",
@@ -30,15 +30,14 @@
     "presence/xts_aes",
     "util/lock_adapter",
     "util/handle_map",
+    "util/pourover",
+    "util/pourover_macro",
+    "util/pourover_macro_core",
 ]
 
-# TODO: remove ldt_np_adv_ffi once support for no_std + alloc no longer requires nightly
 # TODO: remove boringssl once we figure out a better plan for integrating the build system
-# TODO: remove np_c_ffi once cbindgen no longer requires nightly
 exclude = [
-    "presence/ldt_np_adv_ffi",
     "crypto/crypto_provider_boringssl",
-    "presence/np_c_ffi",
 ]
 
 [workspace.lints.rust]
@@ -56,14 +55,12 @@
 panic = "deny"
 expect_used = "deny"
 
-
 [workspace.dependencies]
 # local crates
 array_ref = { path = "presence/array_ref" }
 array_view = { path = "presence/array_view" }
 crypto_provider = { path = "crypto/crypto_provider", default-features = false }
-crypto_provider_default = { path = "crypto/crypto_provider_default", default-features = false }
-crypto_provider_openssl = { path = "crypto/crypto_provider_openssl" }
+crypto_provider_default = { path = "crypto/crypto_provider_default", default-features=false}
 crypto_provider_boringssl = { path = "crypto/crypto_provider_boringssl" }
 crypto_provider_rustcrypto = { path = "crypto/crypto_provider_rustcrypto" }
 crypto_provider_stubs = { path = "crypto/crypto_provider_stubs" }
@@ -83,64 +80,70 @@
 np_adv_dynamic = { path = "presence/np_adv_dynamic" }
 np_ed25519 = { path = "presence/np_ed25519" }
 np_ffi_core = { path = "presence/np_ffi_core" }
+pourover = { path = "util/pourover" }
+pourover_macro = { path = "util/pourover_macro" }
+pourover_macro_core = { path = "util/pourover_macro_core" }
 sink = { path = "presence/sink" }
 
 # from crates.io
 rand = { version = "0.8.5", default-features = false }
 rand_core = { version = "0.6.4", features = ["getrandom"] }
 rand_pcg = "0.3.1"
-sha2 = { version = "0.10.6", default-features = false }
-aes = "0.8.2"
+sha2 = { version = "0.10.8", default-features = false }
+aes = "0.8.3"
 cbc = { version = "0.1.2", features = ["block-padding"] }
-ctr = "0.9.1"
+ctr = "0.9.2"
 hkdf = "0.12.3"
 hmac = "0.12.1"
-ed25519-dalek = { version = "2.0.0", default-features = false }
-ed25519 = "2.2.0"
+ed25519-dalek = { version = "2.1.0", default-features = false }
+ed25519 = "2.2.3"
 aes-gcm = "0.10.3"
 hex = "0.4.3"
-serde = { version = "1.0.189" }
-serde_json = { version = "1.0.96", features = [
+serde = { version = "1.0.193" }
+serde_json = { version = "1.0.108", features = [
     "alloc",
 ], default-features = false }
-base64 = "0.21.0"
+base64 = "0.21.5"
 x25519-dalek = { version = "2.0.0", default-features = false }
 subtle = { version = "2.5.0", default-features = false }
 rand_chacha = { version = "0.3.1", default-features = false }
 p256 = { version = "0.13.2", default-features = false }
-sec1 = "0.7.2"
-protobuf = "3.2.0"
-protobuf-codegen = "3.2.0"
-reqwest = { version = "0.11.19", default-features = false, features = ["blocking", "rustls-tls"] }
+sec1 = "0.7.3"
+protobuf = "=3.2.0"
+protobuf-codegen = "=3.2.0"
+reqwest = { version = "0.11.22", default-features = false, features = ["blocking", "rustls-tls"] }
 jni = "0.21.1"
 lock_api = "0.4.11"
 spin = { version = "0.9.8", features = ["once", "lock_api", "rwlock"] }
-anyhow = "1.0.64"
-log = "0.4.17"
-env_logger = "0.10.0"
-criterion = { version = "0.4.0", features = ["html_reports"] }
-clap = { version = "4.0.25", features = ["derive"] }
+anyhow = "1.0.75"
+log = "0.4.20"
+env_logger = "0.10.1"
+criterion = { version = "0.5.1", features = ["html_reports"] }
+clap = { version = "4.4.11", features = ["derive"] }
 lazy_static = { version = "1.4.0", features = ["spin_no_std"] }
 hex-literal = "0.4.1"
-openssl = "0.10.48"
 cfg-if = "1.0.0"
-blake2 = "0.10.4"
-hdrhistogram = "7.5.0"
-regex = "1.7.0"
-tokio = { version = "1.32.0", features = ["full"] }
+blake2 = "0.10.6"
+hdrhistogram = "7.5.4"
+regex = "1.10.2"
+tokio = { version = "1.35.0", features = ["full"] }
 xts-mode = "0.5.1"
-rstest = { version = "0.17.0", default-features = false }
+rstest = { version = "0.18.2", default-features = false }
 rstest_reuse = "0.6.0"
 wycheproof = "0.5.1"
-chrono = { version = "0.4.26", default-features = false, features = ["clock"] }
-tempfile = "3.5.0"
-thiserror = "1.0.40"
+chrono = { version = "0.4.31", default-features = false, features = ["clock"] }
+tempfile = "3.8.1"
+thiserror = "1.0.51"
 tinyvec = { version = "1.6.0", features = ["rustc_1_55"] }
-mlua = "0.8.8"
-strum = { version = "0.25.0", default-features=false }
-strum_macros = { version = "0.25.3", default-features=false }
+mlua = "0.9.2"
+strum = { version = "0.25.0", default-features = false }
+strum_macros = { version = "0.25.3", default-features = false }
 owo-colors = "3.5.0"
 rhai = { version = "1.16.3", features = ["sync"] }
+cbindgen = "0.26.0"
+syn = { version = "2.0", features = ["full"] }
+proc-macro2 = "1.0"
+quote = "1.0"
 
 [workspace.package]
 version = "0.1.0"
@@ -175,13 +178,14 @@
 
 [dependencies]
 clap.workspace = true
-cmd-runner = { path = "../cmd-runner"  }
+cmd-runner = { path = "../cmd-runner" }
 anyhow.workspace = true
 shell-escape = "0.1.5"
 owo-colors.workspace = true
 semver = "1.0.17"
 walkdir = "2.3.3"
 globset = "0.4.10"
+glob = "0.3.1"
 crossbeam = "0.8.2"
 chrono.workspace = true
 thiserror.workspace = true
diff --git a/nearby/connections/connections_adv/connections_adv/Cargo.toml b/nearby/connections/connections_adv/connections_adv/Cargo.toml
deleted file mode 100644
index 2b0710d..0000000
--- a/nearby/connections/connections_adv/connections_adv/Cargo.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-[package]
-name = "connections_adv"
-version.workspace = true
-edition.workspace = true
-publish.workspace = true
-
-[lints]
-workspace = true
\ No newline at end of file
diff --git a/nearby/connections/ukey2/ukey2/Cargo.toml b/nearby/connections/ukey2/ukey2/Cargo.toml
index 161c5b4..35de144 100644
--- a/nearby/connections/ukey2/ukey2/Cargo.toml
+++ b/nearby/connections/ukey2/ukey2/Cargo.toml
@@ -10,7 +10,6 @@
 [features]
 default = []
 test_rustcrypto = ["crypto_provider_default/rustcrypto"]
-test_openssl = ["crypto_provider_default/openssl"]
 test_boringssl = ["crypto_provider_default/boringssl"]
 
 [dependencies]
@@ -19,7 +18,7 @@
 ukey2_proto.workspace = true
 log.workspace = true
 
-num-bigint = "0.4.3"
+num-bigint = "0.4.4"
 
 [dev-dependencies]
 rand = { workspace = true, features = ["std_rng", "getrandom"] }
diff --git a/nearby/connections/ukey2/ukey2_c_ffi/Cargo.toml b/nearby/connections/ukey2/ukey2_c_ffi/Cargo.toml
index 182ecf2..f302119 100644
--- a/nearby/connections/ukey2/ukey2_c_ffi/Cargo.toml
+++ b/nearby/connections/ukey2/ukey2_c_ffi/Cargo.toml
@@ -19,7 +19,6 @@
 [features]
 default = ["rustcrypto", "std"]
 std = ["lock_adapter/std"]
-openssl = ["crypto_provider_default/openssl", "std"]
 boringssl = ["crypto_provider_default/boringssl", "std"]
 rustcrypto = ["crypto_provider_default/rustcrypto"]
 
diff --git a/nearby/connections/ukey2/ukey2_connections/Cargo.toml b/nearby/connections/ukey2/ukey2_connections/Cargo.toml
index e7884c4..5c9622b 100644
--- a/nearby/connections/ukey2/ukey2_connections/Cargo.toml
+++ b/nearby/connections/ukey2/ukey2_connections/Cargo.toml
@@ -11,7 +11,6 @@
 default = []
 test_boringssl = ["crypto_provider_default/boringssl"]
 test_rustcrypto = ["crypto_provider_default/rustcrypto"]
-test_openssl = ["crypto_provider_default/openssl"]
 
 [dependencies]
 ukey2_rs = { path = "../ukey2" }
@@ -19,8 +18,8 @@
 crypto_provider.workspace = true
 rand = { workspace = true, features = ["std", "std_rng"] }
 ukey2_proto.workspace = true
-nom = { version = "7.1.1", features = ["alloc"] }
-bytes = "1.2.1"
+nom = { version = "7.1.3", features = ["alloc"] }
+bytes = "1.5.0"
 criterion.workspace = true
 
 [dev-dependencies]
diff --git a/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock b/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
index b4e08bd..df37761 100644
--- a/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
+++ b/nearby/connections/ukey2/ukey2_connections/fuzz/Cargo.lock
@@ -55,9 +55,9 @@
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -69,32 +69,27 @@
 checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
-name = "anyhow"
-version = "1.0.72"
+name = "anstyle"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anyhow"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 dependencies = [
  "derive_arbitrary",
 ]
 
 [[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
 name = "autocfg"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -108,9 +103,9 @@
 
 [[package]]
 name = "bitflags"
-version = "1.3.2"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block-buffer"
@@ -132,15 +127,15 @@
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cast"
@@ -159,11 +154,12 @@
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -174,9 +170,9 @@
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -185,15 +181,15 @@
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
  "half",
@@ -211,55 +207,59 @@
 
 [[package]]
 name = "clap"
-version = "3.2.25"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
 dependencies = [
- "bitflags",
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
+dependencies = [
+ "anstyle",
  "clap_lex",
- "indexmap",
- "textwrap",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.2.4"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "const-oid"
-version = "0.9.4"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "criterion"
-version = "0.4.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
 dependencies = [
  "anes",
- "atty",
  "cast",
  "ciborium",
  "clap",
  "criterion-plot",
+ "is-terminal",
  "itertools",
- "lazy_static",
  "num-traits",
+ "once_cell",
  "oorandom",
  "plotters",
  "rayon",
@@ -282,53 +282,41 @@
 ]
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "crypto-bigint"
-version = "0.5.2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -390,9 +378,9 @@
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -406,9 +394,9 @@
 
 [[package]]
 name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -417,9 +405,9 @@
 
 [[package]]
 name = "der"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 dependencies = [
  "const-oid",
  "zeroize",
@@ -427,9 +415,9 @@
 
 [[package]]
 name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -449,36 +437,37 @@
 
 [[package]]
 name = "ed25519"
-version = "2.2.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
 dependencies = [
  "signature",
 ]
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core",
  "sha2",
+ "subtle",
 ]
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
@@ -495,33 +484,19 @@
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "errno-dragonfly",
  "libc",
  "windows-sys",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "ff"
@@ -535,9 +510,9 @@
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "generic-array"
@@ -552,9 +527,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -584,9 +559,13 @@
 
 [[package]]
 name = "half"
-version = "1.8.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+dependencies = [
+ "cfg-if",
+ "crunchy",
+]
 
 [[package]]
 name = "hashbrown"
@@ -596,24 +575,15 @@
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -628,6 +598,15 @@
 ]
 
 [[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -648,22 +627,13 @@
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
+name = "is-terminal"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
 dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.2",
- "libc",
+ "hermit-abi",
+ "rustix",
  "windows-sys",
 ]
 
@@ -678,45 +648,39 @@
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libfuzzer-sys"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb09950ae85a0a94b27676cccf37da5ff13f27076aa1adbc6545dd0d0e1bd4e"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
 dependencies = [
  "arbitrary",
  "cc",
@@ -725,30 +689,21 @@
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "minimal-lexical"
@@ -768,9 +723,9 @@
 
 [[package]]
 name = "num-bigint"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -789,28 +744,18 @@
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi 0.3.2",
- "libc",
-]
-
-[[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "oorandom"
@@ -825,12 +770,6 @@
 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
-name = "os_str_bytes"
-version = "6.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
-
-[[package]]
 name = "p256"
 version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -842,9 +781,9 @@
 
 [[package]]
 name = "platforms"
-version = "3.0.2"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "plotters"
@@ -894,18 +833,18 @@
 
 [[package]]
 name = "primeorder"
-version = "0.13.2"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
 dependencies = [
  "elliptic-curve",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -963,9 +902,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1002,9 +941,9 @@
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -1012,30 +951,19 @@
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.1"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1045,9 +973,9 @@
 
 [[package]]
 name = "regex-automata"
-version = "0.3.3"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1056,9 +984,9 @@
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.4"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc_version"
@@ -1071,13 +999,12 @@
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
  "bitflags",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
  "windows-sys",
@@ -1085,9 +1012,9 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "same-file"
@@ -1099,12 +1026,6 @@
 ]
 
 [[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
 name = "sec1"
 version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1119,24 +1040,24 @@
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
-version = "1.0.171"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.171"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1145,9 +1066,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.103"
+version = "1.0.113"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
 dependencies = [
  "itoa",
  "ryu",
@@ -1156,9 +1077,9 @@
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1167,9 +1088,9 @@
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 
 [[package]]
 name = "subtle"
@@ -1179,9 +1100,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.26"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1190,38 +1111,30 @@
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
- "autocfg",
  "cfg-if",
  "fastrand",
- "redox_syscall",
  "rustix",
  "windows-sys",
 ]
 
 [[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
 name = "thiserror"
-version = "1.0.43"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.43"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1246,9 +1159,9 @@
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ukey2_connections"
@@ -1296,9 +1209,9 @@
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "universal-hash"
@@ -1318,9 +1231,9 @@
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -1334,9 +1247,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -1344,9 +1257,9 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
  "log",
@@ -1359,9 +1272,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -1369,9 +1282,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1382,15 +1295,15 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "web-sys"
-version = "0.3.64"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -1398,13 +1311,14 @@
 
 [[package]]
 name = "which"
-version = "4.4.0"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
 dependencies = [
  "either",
- "libc",
+ "home",
  "once_cell",
+ "rustix",
 ]
 
 [[package]]
@@ -1425,9 +1339,9 @@
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -1440,18 +1354,18 @@
 
 [[package]]
 name = "windows-sys"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
  "windows-targets",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -1464,51 +1378,51 @@
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -1516,6 +1430,6 @@
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/nearby/connections/ukey2/ukey2_jni/Cargo.toml b/nearby/connections/ukey2/ukey2_jni/Cargo.toml
index 08566dd..8a5b0fe 100644
--- a/nearby/connections/ukey2/ukey2_jni/Cargo.toml
+++ b/nearby/connections/ukey2/ukey2_jni/Cargo.toml
@@ -24,7 +24,6 @@
 
 [features]
 default = ["rustcrypto"]
-openssl = ["crypto_provider_default/openssl", "std"]
 rustcrypto = ["crypto_provider_default/rustcrypto"]
 boringssl = ["crypto_provider_default/boringssl"]
 std = ["lock_adapter/std"]
diff --git a/nearby/connections/ukey2/ukey2_jni/java/build.gradle.kts b/nearby/connections/ukey2/ukey2_jni/java/build.gradle.kts
index 58c58fc..78b0ebc 100644
--- a/nearby/connections/ukey2/ukey2_jni/java/build.gradle.kts
+++ b/nearby/connections/ukey2/ukey2_jni/java/build.gradle.kts
@@ -44,6 +44,7 @@
     implementation("com.google.code.findbugs:jsr305:3.0.2")
     implementation(kotlin("stdlib"))
     testImplementation("org.junit.jupiter:junit-jupiter:5.9.2")
+    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.2")
 }
 
 kotlin {
@@ -51,10 +52,10 @@
 }
 
 tasks.jmh {
-    jvmArgs.value(mutableListOf("-Djava.library.path=../../../../target/release"))
+    jvmArgs.value(mutableListOf("-Djava.library.path=$projectDir/../../../../target/release"))
 }
 
 tasks.test {
     useJUnitPlatform()
-    jvmArgs = mutableListOf("-Djava.library.path=../../../../target/debug")
+    jvmArgs = mutableListOf("-Djava.library.path=$projectDir/../../../../target/debug")
 }
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/Ukey2Benchmark.java b/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/Ukey2Benchmark.java
deleted file mode 100644
index eb063cc..0000000
--- a/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/Ukey2Benchmark.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.security.cryptauth.lib.securegcm;
-
-import org.openjdk.jmh.annotations.*;
-import org.openjdk.jmh.infra.Blackhole;
-import org.openjdk.jmh.profile.GCProfiler;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.RunnerException;
-import org.openjdk.jmh.runner.options.Options;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.nio.charset.StandardCharsets;
-import java.time.Duration;
-import java.util.concurrent.TimeUnit;
-import java.util.Random;
-
-/**
- * Benchmark for encoding and decoding UKEY2 messages over the JNI, analogous to
- * `ukey2_benches.rs`. The parameters and the operations also roughly matches the that of the Rust
- * Criterion benchmark. That said, since the benchmark infrastructure is different, there will
- * inevitably be differences the skews the number in certain ways – comparison of numbers from the
- * different benchmarks should compared on order-of-magnitudes only. To get the JNI overhead, for
- * example, it would be better use this JMH infra to measure a call into a no-op Rust function,
- * which is a more apples-to-apples comparison.
- *
- * To run this benchmark, run
- *   cargo build -p ukey2_jni --release && ./gradlew jmh
- */
-@State(Scope.Benchmark)
-@OutputTimeUnit(TimeUnit.SECONDS)
-@BenchmarkMode(Mode.Throughput)
-public class Ukey2Benchmark {
-
-    @State(Scope.Thread)
-    public static class ConnectionState {
-        D2DConnectionContextV1 connContext;
-        D2DConnectionContextV1 serverConnContext;
-        @Param({"10", "1024"})
-        int sizeKibs;
-        byte[] inputBytes;
-
-        @Setup
-        public void setup() throws Exception {
-            D2DHandshakeContext initiatorContext =
-                new D2DHandshakeContext(D2DHandshakeContext.Role.Initiator);
-            D2DHandshakeContext serverContext =
-                new D2DHandshakeContext(D2DHandshakeContext.Role.Responder);
-            serverContext.parseHandshakeMessage(initiatorContext.getNextHandshakeMessage());
-            initiatorContext.parseHandshakeMessage(serverContext.getNextHandshakeMessage());
-            serverContext.parseHandshakeMessage(initiatorContext.getNextHandshakeMessage());
-            connContext = initiatorContext.toConnectionContext();
-            serverConnContext = serverContext.toConnectionContext();
-            Random random = new Random();
-            inputBytes = new byte[sizeKibs * 1024];
-            random.nextBytes(inputBytes);
-        }
-    }
-
-    @Benchmark
-    @Fork(3)
-    @Warmup(iterations = 2, time = 500, timeUnit = TimeUnit.MILLISECONDS)
-    @Measurement(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
-    public void encodeAndDecode(ConnectionState state, Blackhole blackhole) throws Exception {
-        byte[] encoded = state.connContext.encodeMessageToPeer(state.inputBytes, null);
-        byte[] decoded = state.serverConnContext.decodeMessageFromPeer(encoded, null);
-        blackhole.consume(decoded);
-    }
-}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/ukey2/Ukey2Benchmark.java b/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/ukey2/Ukey2Benchmark.java
new file mode 100644
index 0000000..fcc07b8
--- /dev/null
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/jmh/java/com/google/security/cryptauth/lib/securegcm/ukey2/Ukey2Benchmark.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.security.cryptauth.lib.securegcm.ukey2;
+
+import com.google.security.cryptauth.lib.securegcm.ukey2.D2DHandshakeContext.Role;
+import java.util.Random;
+import java.util.concurrent.TimeUnit;
+import org.openjdk.jmh.annotations.*;
+import org.openjdk.jmh.infra.Blackhole;
+
+/**
+ * Benchmark for encoding and decoding UKEY2 messages over the JNI, analogous to `ukey2_benches.rs`.
+ * The parameters and the operations also roughly matches the that of the Rust Criterion benchmark.
+ * That said, since the benchmark infrastructure is different, there will inevitably be differences
+ * the skews the number in certain ways – comparison of numbers from the different benchmarks should
+ * compared on order-of-magnitudes only. To get the JNI overhead, for example, it would be better
+ * use this JMH infra to measure a call into a no-op Rust function, which is a more apples-to-apples
+ * comparison.
+ *
+ * <p>To run this benchmark, run cargo build -p ukey2_jni --release && ./gradlew jmh
+ */
+@State(Scope.Benchmark)
+@OutputTimeUnit(TimeUnit.SECONDS)
+@BenchmarkMode(Mode.Throughput)
+public class Ukey2Benchmark {
+
+  @State(Scope.Thread)
+  public static class ConnectionState {
+    D2DConnectionContextV1 connContext;
+    D2DConnectionContextV1 serverConnContext;
+
+    @Param({"10", "1024"})
+    int sizeKibs;
+
+    byte[] inputBytes;
+
+    @Setup
+    public void setup() throws Exception {
+      D2DHandshakeContext initiatorContext = new D2DHandshakeContext(Role.INITIATOR);
+      D2DHandshakeContext serverContext = new D2DHandshakeContext(Role.RESPONDER);
+      serverContext.parseHandshakeMessage(initiatorContext.getNextHandshakeMessage());
+      initiatorContext.parseHandshakeMessage(serverContext.getNextHandshakeMessage());
+      serverContext.parseHandshakeMessage(initiatorContext.getNextHandshakeMessage());
+      connContext = initiatorContext.toConnectionContext();
+      serverConnContext = serverContext.toConnectionContext();
+      Random random = new Random();
+      inputBytes = new byte[sizeKibs * 1024];
+      random.nextBytes(inputBytes);
+    }
+  }
+
+  @Benchmark
+  @Fork(3)
+  @Warmup(iterations = 2, time = 500, timeUnit = TimeUnit.MILLISECONDS)
+  @Measurement(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
+  public void encodeAndDecode(ConnectionState state, Blackhole blackhole) throws Exception {
+    byte[] encoded = state.connContext.encodeMessageToPeer(state.inputBytes, null);
+    byte[] decoded = state.serverConnContext.decodeMessageFromPeer(encoded, null);
+    blackhole.consume(decoded);
+  }
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DConnectionContextV1.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DConnectionContextV1.java
deleted file mode 100644
index 7874cd9..0000000
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DConnectionContextV1.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.security.cryptauth.lib.securegcm;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-public class D2DConnectionContextV1 {
-
-    static {
-        System.loadLibrary("ukey2_jni");
-    }
-
-    private static native byte[] encode_message_to_peer(long contextPtr, byte[] payload, byte[] associatedData) throws BadHandleException;
-
-    private static native byte[] decode_message_from_peer(long contextPtr, byte[] message, byte[] associatedData) throws CryptoException;
-
-    private static native byte[] get_session_unique(long contextPtr) throws BadHandleException;
-
-    private static native int get_sequence_number_for_encoding(long contextPtr) throws BadHandleException;
-
-    private static native int get_sequence_number_for_decoding(long contextPtr) throws BadHandleException;
-
-    private static native byte[] save_session(long contextPtr) throws BadHandleException;
-
-    private static native long from_saved_session(byte[] savedSessionInfo);
-
-    private final long contextPtr;
-
-    /**
-     * Java wrapper for D2DConnectionContextV1 to interact with the underlying Rust implementation
-     *
-     * @param contextPtr the handle to the Rust implementation.
-     */
-    D2DConnectionContextV1(@Nonnull long contextPtr) {
-        this.contextPtr = contextPtr;
-    }
-
-    /**
-     * Encode a message to the connection peer using session keys derived from the handshake.
-     *
-     * @param payload The message to be encrypted.
-     * @return The encrypted/encoded message.
-     */
-     @Nonnull
-    public byte[] encodeMessageToPeer(@Nonnull byte[] payload, @Nullable byte[] associatedData) throws BadHandleException {
-        return encode_message_to_peer(contextPtr, payload, associatedData);
-    }
-
-    /**
-     * Decodes/decrypts a message from the connection peer.
-     *
-     * @param message The message received over the connection.
-     * @return The decoded message from the connection peer.
-     */
-     @Nonnull
-    public byte[] decodeMessageFromPeer(@Nonnull byte[] message, @Nullable byte[] associatedData) throws CryptoException {
-        return decode_message_from_peer(contextPtr, message, associatedData);
-    }
-
-    /**
-     * A unique session identifier derived from session-specific information
-     *
-     * @return The session unique identifier
-     */
-     @Nonnull
-    public  byte[] getSessionUnique() throws BadHandleException {
-        return get_session_unique(contextPtr);
-    }
-
-    /**
-     * Returns the encoding sequence number.
-     *
-     * @return the encoding sequence number.
-     */
-    public int getSequenceNumberForEncoding() throws BadHandleException {
-        return get_sequence_number_for_encoding(contextPtr);
-    }
-
-    /**
-     * Returns the decoding sequence number.
-     *
-     * @return the decoding sequence number.
-     */
-    public int getSequenceNumberForDecoding() throws BadHandleException {
-        return get_sequence_number_for_decoding(contextPtr);
-    }
-
-    /**
-     * Serializes the current session in a form usable by {@link D2DConnectionContextV1#fromSavedSession}
-     *
-     * @return a byte array representing the current session.
-     */
-     @Nonnull
-    public byte[] saveSession() throws BadHandleException {
-        return save_session(contextPtr);
-    }
-
-    /**
-     * Reconstructs and returns the session originally serialized by {@link D2DConnectionContextV1#saveSession}
-     *
-     * @param savedSessionInfo the byte array from saveSession()
-     * @return a D2DConnectionContextV1 session with the same properties as the context saved.
-     */
-    public static D2DConnectionContextV1 fromSavedSession(@Nonnull byte[] savedSessionInfo) {
-        return new D2DConnectionContextV1(from_saved_session(savedSessionInfo));
-    }
-
-}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DHandshakeContext.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DHandshakeContext.java
deleted file mode 100644
index 39f7aa9..0000000
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/D2DHandshakeContext.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.security.cryptauth.lib.securegcm;
-
-import javax.annotation.Nonnull;
-
-public class D2DHandshakeContext {
-    static {
-        System.loadLibrary("ukey2_jni");
-    }
-
-    public enum Role {
-        INITIATOR,
-        RESPONDER,
-    }
-
-    private final long contextPtr;
-
-    private static native boolean is_handshake_complete(long contextPtr) throws BadHandleException;
-
-    private static native long create_context(boolean isClient);
-
-    private static native byte[] get_next_handshake_message(long contextPtr) throws BadHandleException;
-
-    private static native void parse_handshake_message(long contextPtr, byte[] message) throws BadHandleException, HandshakeException;
-
-    private static native byte[] get_verification_string(long contextPtr, int length) throws BadHandleException, HandshakeException;
-
-    private static native long to_connection_context(long contextPtr) throws HandshakeException;
-
-    public D2DHandshakeContext(@Nonnull Role role) {
-        this.contextPtr = create_context(role == Role.INITIATOR);
-    }
-
-    /**
-     * Convenience constructor that creates a UKEY2 D2DHandshakeContext for the initiator role.
-     *
-     * @return a D2DHandshakeContext for the role of initiator in the handshake.
-     */
-    public static D2DHandshakeContext forInitiator() {
-        return new D2DHandshakeContext(Role.INITIATOR);
-    }
-
-    /**
-     * Convenience constructor that creates a UKEY2 D2DHandshakeContext for the initiator role.
-     *
-     * @return a D2DHandshakeContext for the role of responder/server in the handshake.
-     */
-    public static D2DHandshakeContext forResponder() {
-        return new D2DHandshakeContext(Role.RESPONDER);
-    }
-
-    /**
-     * Function that checks if the handshake is completed.
-     *
-     * @return true/false depending on if the handshake is complete.
-     */
-    public boolean isHandshakeComplete() throws BadHandleException {
-        return is_handshake_complete(contextPtr);
-    }
-
-    /**
-     * Gets the next handshake message in the exchange.
-     *
-     * @return handshake message encoded in a SecureMessage.
-     */
-    @Nonnull
-    public byte[] getNextHandshakeMessage() throws BadHandleException {
-        return get_next_handshake_message(contextPtr);
-    }
-
-    /**
-     * Parses the handshake message.
-     *
-     * @param message - handshake message from the other side.
-     */
-    @Nonnull
-    public void parseHandshakeMessage(@Nonnull byte[] message) throws BadHandleException, HandshakeException {
-        parse_handshake_message(contextPtr, message);
-    }
-
-    /**
-     * Returns an authentication string suitable for authenticating the handshake out-of-band. Note
-     * that the authentication string can be short (e.g., a 6 digit visual confirmation code). Note:
-     * this should only be called when {#isHandshakeComplete} returns true.
-     * This code is analogous to the authentication string described in the spec.
-     *
-     * @param length - The length of the returned verification string.
-     * @return - The returned verification string as a byte array.
-     * @throws BadHandleException - Thrown if the handle is no longer valid, for example after calling {@link D2DHandshakeContext#toConnectionContext}
-     * @throws HandshakeException - Thrown if the handshake is not complete when this function is called.
-     */
-    @Nonnull
-    public byte[] getVerificationString(int length) throws BadHandleException, HandshakeException {
-        return get_verification_string(contextPtr, length);
-    }
-
-    /**
-     * Function to create a secure communication channel from the handshake after confirming the auth string generated by
-     * the handshake out-of-band (i.e. via a user-facing UI).
-     *
-     * @return a new {@link D2DConnectionContextV1} with the next protocol specified when creating the D2DHandshakeContext.
-     * @throws HandshakeException if the handsshake is not complete when this function is called.
-     */
-    public D2DConnectionContextV1 toConnectionContext() throws HandshakeException {
-        return new D2DConnectionContextV1(to_connection_context(contextPtr));
-    }
-}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/HandshakeException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/HandshakeException.java
deleted file mode 100644
index 17928e9..0000000
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/HandshakeException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2022 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.security.cryptauth.lib.securegcm;
-
-/**
- * Represents an unrecoverable error that has occurred during the handshake procedure.
- */
-public class HandshakeException extends Exception {
-    public HandshakeException(String message) {
-        super(message);
-    }
-
-    public HandshakeException(Exception e) {
-        super(e);
-    }
-
-    public HandshakeException(String message, Exception e) {
-        super(message, e);
-    }
-}
\ No newline at end of file
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/AlertException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/AlertException.java
new file mode 100644
index 0000000..bab017d
--- /dev/null
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/AlertException.java
@@ -0,0 +1,36 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.security.cryptauth.lib.securegcm.ukey2;
+
+/**
+ * An alert exception that contains the alert message to send to the connection peer in case
+ * anything went wrong.
+ */
+public class AlertException extends Exception {
+
+  private final byte[] alertMessageToSend;
+
+  public AlertException(String message, byte[] alertMessageToSend) {
+    super(message);
+    this.alertMessageToSend = alertMessageToSend;
+  }
+
+  /**
+   * @return a message suitable for sending to other member of handshake.
+   */
+  public byte[] getAlertMessageToSend() {
+    return alertMessageToSend;
+  }
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/BadHandleException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException.java
similarity index 89%
rename from nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/BadHandleException.java
rename to nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException.java
index 2efd7c4..78f0e5e 100644
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/BadHandleException.java
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException.java
@@ -12,10 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.security.cryptauth.lib.securegcm;
+package com.google.security.cryptauth.lib.securegcm.ukey2;
 
 /**
- * Represents an unrecoverable error (invalid handle) that has occurred during the handshake/connection.
+ * Represents an unrecoverable error (invalid handle) that has occurred during the
+ * handshake/connection.
  */
 public class BadHandleException extends Exception {
   public BadHandleException(String message) {
@@ -29,4 +30,4 @@
   public BadHandleException(String message, Exception e) {
     super(message, e);
   }
-}
\ No newline at end of file
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/CryptoException.java
similarity index 84%
rename from nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java
rename to nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/CryptoException.java
index 6abeb53..11b5c9b 100644
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/CryptoException.java
@@ -12,11 +12,9 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.security.cryptauth.lib.securegcm;
+package com.google.security.cryptauth.lib.securegcm.ukey2;
 
-/**
- * Represents an unrecoverable error that has occurred during the handshake procedure.
- */
+/** Represents an unrecoverable error that has occurred during the handshake procedure. */
 public class CryptoException extends Exception {
   public CryptoException(String message) {
     super(message);
@@ -29,4 +27,4 @@
   public CryptoException(String message, Exception e) {
     super(message, e);
   }
-}
\ No newline at end of file
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DConnectionContextV1.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DConnectionContextV1.java
new file mode 100644
index 0000000..9ce2517
--- /dev/null
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DConnectionContextV1.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.security.cryptauth.lib.securegcm.ukey2;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+public class D2DConnectionContextV1 {
+
+  static {
+    var path = System.getProperty("java.library.path");
+
+    if (path == null) {
+      throw new RuntimeException("Path isn't set.");
+    }
+
+    var paths = java.util.List.of(path.split(";"));
+    paths.forEach(System.out::println);
+
+    System.loadLibrary("ukey2_jni");
+  }
+
+  private static native byte[] encode_message_to_peer(
+      long contextPtr, byte[] payload, byte[] associatedData) throws BadHandleException;
+
+  private static native byte[] decode_message_from_peer(
+      long contextPtr, byte[] message, byte[] associatedData) throws CryptoException;
+
+  private static native byte[] get_session_unique(long contextPtr) throws BadHandleException;
+
+  private static native int get_sequence_number_for_encoding(long contextPtr)
+      throws BadHandleException;
+
+  private static native int get_sequence_number_for_decoding(long contextPtr)
+      throws BadHandleException;
+
+  private static native byte[] save_session(long contextPtr) throws BadHandleException;
+
+  private static native long from_saved_session(byte[] savedSessionInfo);
+
+  private final long contextPtr;
+
+  /**
+   * Java wrapper for D2DConnectionContextV1 to interact with the underlying Rust implementation
+   *
+   * @param contextPtr the handle to the Rust implementation.
+   */
+  D2DConnectionContextV1(@Nonnull long contextPtr) {
+    this.contextPtr = contextPtr;
+  }
+
+  /**
+   * Encode a message to the connection peer using session keys derived from the handshake.
+   *
+   * @param payload The message to be encrypted.
+   * @return The encrypted/encoded message.
+   */
+  @Nonnull
+  public byte[] encodeMessageToPeer(@Nonnull byte[] payload, @Nullable byte[] associatedData)
+      throws BadHandleException {
+    return encode_message_to_peer(contextPtr, payload, associatedData);
+  }
+
+  /**
+   * Decodes/decrypts a message from the connection peer.
+   *
+   * @param message The message received over the connection.
+   * @return The decoded message from the connection peer.
+   */
+  @Nonnull
+  public byte[] decodeMessageFromPeer(@Nonnull byte[] message, @Nullable byte[] associatedData)
+      throws CryptoException {
+    return decode_message_from_peer(contextPtr, message, associatedData);
+  }
+
+  /**
+   * A unique session identifier derived from session-specific information
+   *
+   * @return The session unique identifier
+   */
+  @Nonnull
+  public byte[] getSessionUnique() throws BadHandleException {
+    return get_session_unique(contextPtr);
+  }
+
+  /**
+   * Returns the encoding sequence number.
+   *
+   * @return the encoding sequence number.
+   */
+  public int getSequenceNumberForEncoding() throws BadHandleException {
+    return get_sequence_number_for_encoding(contextPtr);
+  }
+
+  /**
+   * Returns the decoding sequence number.
+   *
+   * @return the decoding sequence number.
+   */
+  public int getSequenceNumberForDecoding() throws BadHandleException {
+    return get_sequence_number_for_decoding(contextPtr);
+  }
+
+  /**
+   * Serializes the current session in a form usable by {@link
+   * D2DConnectionContextV1#fromSavedSession}
+   *
+   * @return a byte array representing the current session.
+   */
+  @Nonnull
+  public byte[] saveSession() throws BadHandleException {
+    return save_session(contextPtr);
+  }
+
+  /**
+   * Reconstructs and returns the session originally serialized by {@link
+   * D2DConnectionContextV1#saveSession}
+   *
+   * @param savedSessionInfo the byte array from saveSession()
+   * @return a D2DConnectionContextV1 session with the same properties as the context saved.
+   */
+  public static D2DConnectionContextV1 fromSavedSession(@Nonnull byte[] savedSessionInfo) {
+    return new D2DConnectionContextV1(from_saved_session(savedSessionInfo));
+  }
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DHandshakeContext.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DHandshakeContext.java
new file mode 100644
index 0000000..0e1ad62
--- /dev/null
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/D2DHandshakeContext.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.security.cryptauth.lib.securegcm.ukey2;
+
+import javax.annotation.Nonnull;
+
+public class D2DHandshakeContext {
+  static {
+    System.loadLibrary("ukey2_jni");
+  }
+
+  public enum Role {
+    INITIATOR,
+    RESPONDER,
+  }
+
+  private final long contextPtr;
+
+  private static native boolean is_handshake_complete(long contextPtr) throws BadHandleException;
+
+  private static native long create_context(boolean isClient);
+
+  private static native byte[] get_next_handshake_message(long contextPtr)
+      throws BadHandleException;
+
+  private static native void parse_handshake_message(long contextPtr, byte[] message)
+      throws AlertException, BadHandleException, HandshakeException;
+
+  private static native byte[] get_verification_string(long contextPtr, int length)
+      throws BadHandleException, HandshakeException;
+
+  private static native long to_connection_context(long contextPtr) throws HandshakeException;
+
+  public D2DHandshakeContext(@Nonnull Role role) {
+    this.contextPtr = create_context(role == Role.INITIATOR);
+  }
+
+  /**
+   * Convenience constructor that creates a UKEY2 D2DHandshakeContext for the initiator role.
+   *
+   * @return a D2DHandshakeContext for the role of initiator in the handshake.
+   */
+  public static D2DHandshakeContext forInitiator() {
+    return new D2DHandshakeContext(Role.INITIATOR);
+  }
+
+  /**
+   * Convenience constructor that creates a UKEY2 D2DHandshakeContext for the initiator role.
+   *
+   * @return a D2DHandshakeContext for the role of responder/server in the handshake.
+   */
+  public static D2DHandshakeContext forResponder() {
+    return new D2DHandshakeContext(Role.RESPONDER);
+  }
+
+  /**
+   * Function that checks if the handshake is completed.
+   *
+   * @return true/false depending on if the handshake is complete.
+   */
+  public boolean isHandshakeComplete() throws BadHandleException {
+    return is_handshake_complete(contextPtr);
+  }
+
+  /**
+   * Gets the next handshake message in the exchange.
+   *
+   * @return handshake message encoded in a SecureMessage.
+   */
+  @Nonnull
+  public byte[] getNextHandshakeMessage() throws BadHandleException {
+    return get_next_handshake_message(contextPtr);
+  }
+
+  /**
+   * Parses the handshake message.
+   *
+   * @param message - handshake message from the other side.
+   * @throws AlertException - Thrown if the message is unable to be parsed.
+   * @throws BadHandleException - Thrown if the handle is no longer valid, for example after calling
+   *     {@link D2DHandshakeContext#toConnectionContext()}
+   * @throws HandshakeException - Thrown if the handshake is not complete when this function is
+   *     called.
+   */
+  @Nonnull
+  public void parseHandshakeMessage(@Nonnull byte[] message)
+      throws AlertException, BadHandleException, HandshakeException {
+    parse_handshake_message(contextPtr, message);
+  }
+
+  /**
+   * Returns an authentication string suitable for authenticating the handshake out-of-band. Note
+   * that the authentication string can be short (e.g., a 6 digit visual confirmation code). Note:
+   * this should only be called when {#isHandshakeComplete} returns true. This code is analogous to
+   * the authentication string described in the spec.
+   *
+   * @param length - The length of the returned verification string.
+   * @return - The returned verification string as a byte array.
+   * @throws BadHandleException - Thrown if the handle is no longer valid, for example after calling
+   *     {@link D2DHandshakeContext#toConnectionContext()}
+   * @throws HandshakeException - Thrown if the handshake is not complete when this function is
+   *     called.
+   */
+  @Nonnull
+  public byte[] getVerificationString(int length) throws BadHandleException, HandshakeException {
+    return get_verification_string(contextPtr, length);
+  }
+
+  /**
+   * Function to create a secure communication channel from the handshake after confirming the auth
+   * string generated by the handshake out-of-band (i.e. via a user-facing UI).
+   *
+   * @return a new {@link D2DConnectionContextV1} with the next protocol specified when creating the
+   *     D2DHandshakeContext.
+   * @throws HandshakeException if the handsshake is not complete when this function is called.
+   */
+  public D2DConnectionContextV1 toConnectionContext() throws HandshakeException {
+    return new D2DConnectionContextV1(to_connection_context(contextPtr));
+  }
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException.java
similarity index 65%
copy from nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java
copy to nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException.java
index 6abeb53..20d3112 100644
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/CryptoException.java
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException.java
@@ -12,21 +12,19 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.security.cryptauth.lib.securegcm;
+package com.google.security.cryptauth.lib.securegcm.ukey2;
 
-/**
- * Represents an unrecoverable error that has occurred during the handshake procedure.
- */
-public class CryptoException extends Exception {
-  public CryptoException(String message) {
+/** Represents an unrecoverable error that has occurred during the handshake procedure. */
+public class HandshakeException extends Exception {
+  public HandshakeException(String message) {
     super(message);
   }
 
-  public CryptoException(Exception e) {
+  public HandshakeException(Exception e) {
     super(e);
   }
 
-  public CryptoException(String message, Exception e) {
+  public HandshakeException(String message, Exception e) {
     super(message, e);
   }
-}
\ No newline at end of file
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/SessionRestoreException.java b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/SessionRestoreException.java
similarity index 85%
rename from nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/SessionRestoreException.java
rename to nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/SessionRestoreException.java
index c780973..026f8c5 100644
--- a/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/SessionRestoreException.java
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/main/java/com/google/security/cryptauth/lib/securegcm/ukey2/SessionRestoreException.java
@@ -12,11 +12,9 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.security.cryptauth.lib.securegcm;
+package com.google.security.cryptauth.lib.securegcm.ukey2;
 
-/**
- * Represents an unrecoverable error that has occurred during the handshake procedure.
- */
+/** Represents an unrecoverable error that has occurred during the handshake procedure. */
 public class SessionRestoreException extends Exception {
   public SessionRestoreException(String message) {
     super(message);
@@ -29,4 +27,4 @@
   public SessionRestoreException(String message, Exception e) {
     super(message, e);
   }
-}
\ No newline at end of file
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/TestUkey2Protocol.kt b/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/TestUkey2Protocol.kt
deleted file mode 100644
index 79cbd15..0000000
--- a/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/TestUkey2Protocol.kt
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * This Java source file was generated by the Gradle 'init' task.
- */
-package com.google.security.cryptauth.lib.securegcm
-
-import java.nio.charset.StandardCharsets
-import org.junit.jupiter.api.Assertions.assertArrayEquals
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertNotEquals
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.junit.jupiter.api.assertThrows
-
-// Driver code
-// Tests exception handling and the handshake routine, as well as encrypting/decrypting short message between the server and initiator contexts.
-@Suppress("UNUSED_VARIABLE")
-class TestUkey2Protocol {
-    @Test
-    fun testHandshake() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        assertFalse(initiatorContext.isHandshakeComplete)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        assertFalse(serverContext.isHandshakeComplete)
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            assertTrue(initiatorContext.isHandshakeComplete)
-            assertTrue(serverContext.isHandshakeComplete)
-        }
-    }
-
-    @Test
-    fun testSendReceiveMessage() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            val connContext = initiatorContext.toConnectionContext()
-            val serverConnContext = serverContext.toConnectionContext()
-            val initialShareString = "Nearby sharing to server"
-            val encoded = connContext.encodeMessageToPeer(
-                initialShareString.toByteArray(
-                    StandardCharsets.UTF_8
-                ), null
-            )
-            val response =
-                String(serverConnContext.decodeMessageFromPeer(encoded, null), StandardCharsets.UTF_8)
-            assertEquals(response, initialShareString)
-        }
-    }
-
-    @Test
-    fun testSaveRestoreSession() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            val connContext = initiatorContext.toConnectionContext()
-            val serverConnContext = serverContext.toConnectionContext()
-            val initiatorSavedSession = connContext.saveSession()
-            val restored = D2DConnectionContextV1.fromSavedSession(initiatorSavedSession)
-            assertArrayEquals(connContext.sessionUnique, restored.sessionUnique)
-            val initialShareString = "Nearby sharing to server"
-            val encoded = serverConnContext.encodeMessageToPeer(
-                initialShareString.toByteArray(
-                    StandardCharsets.UTF_8
-                ), null
-            )
-            val response = String(restored.decodeMessageFromPeer(encoded, null), StandardCharsets.UTF_8)
-            assertEquals(response, initialShareString)
-        }
-    }
-
-    @Test
-    fun testSaveRestoreBadSession() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        val deriveInitiatorSavedSession = {
-            assertDoesNotThrow {
-                serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-                initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-                serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-                val connContext = initiatorContext.toConnectionContext()
-                val serverConnContext = serverContext.toConnectionContext()
-                connContext.saveSession()
-            }
-        }
-        assertThrows<SessionRestoreException> {
-            val unused = D2DConnectionContextV1.fromSavedSession(deriveInitiatorSavedSession().copyOfRange(0, 20))
-        }
-    }
-
-    @Test
-    fun tryReuseHandshakeContext() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            val connContext = initiatorContext.toConnectionContext()
-            val serverConnContext = serverContext.toConnectionContext()
-        }
-        assertThrows<BadHandleException> {
-            val unused = serverContext.nextHandshakeMessage
-        }
-    }
-
-    @Test
-    fun testSendReceiveMessageWithAssociatedData() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        val associatedData = "Associated data.".toByteArray()
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            val connContext = initiatorContext.toConnectionContext()
-            val serverConnContext = serverContext.toConnectionContext()
-            val initialShareString = "Nearby sharing to server"
-            val encoded = connContext.encodeMessageToPeer(
-                initialShareString.toByteArray(
-                    StandardCharsets.UTF_8
-                ), associatedData
-            )
-            val response =
-                String(serverConnContext.decodeMessageFromPeer(encoded, associatedData), StandardCharsets.UTF_8)
-            assertEquals(response, initialShareString)
-        }
-    }
-
-    @Test
-    fun testVerificationString() {
-        val initiatorContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
-        val serverContext =
-            D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
-        assertDoesNotThrow {
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-            initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
-            serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
-        }
-        assert(serverContext.isHandshakeComplete)
-        assert(initiatorContext.isHandshakeComplete)
-        assertArrayEquals(serverContext.getVerificationString(32), initiatorContext.getVerificationString(32))
-    }
-}
\ No newline at end of file
diff --git a/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/ukey2/TestUkey2Protocol.kt b/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/ukey2/TestUkey2Protocol.kt
new file mode 100644
index 0000000..2940652
--- /dev/null
+++ b/nearby/connections/ukey2/ukey2_jni/java/src/test/java/com/google/security/cryptauth/lib/securegcm/ukey2/TestUkey2Protocol.kt
@@ -0,0 +1,175 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This Java source file was generated by the Gradle 'init' task.
+ */
+package com.google.security.cryptauth.lib.securegcm.ukey2
+
+import java.nio.charset.StandardCharsets
+import org.junit.jupiter.api.Assertions.assertArrayEquals
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertFalse
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertDoesNotThrow
+import org.junit.jupiter.api.assertThrows
+
+// Driver code
+// Tests exception handling and the handshake routine, as well as encrypting/decrypting short
+// message between the server and initiator contexts.
+@Suppress("UNUSED_VARIABLE")
+class TestUkey2Protocol {
+  @Test
+  fun testHandshake() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    assertFalse(initiatorContext.isHandshakeComplete)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    assertFalse(serverContext.isHandshakeComplete)
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      assertTrue(initiatorContext.isHandshakeComplete)
+      assertTrue(serverContext.isHandshakeComplete)
+    }
+  }
+
+  @Test
+  fun testSendReceiveMessage() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      val connContext = initiatorContext.toConnectionContext()
+      val serverConnContext = serverContext.toConnectionContext()
+      val initialShareString = "Nearby sharing to server"
+      val encoded =
+          connContext.encodeMessageToPeer(
+              initialShareString.toByteArray(StandardCharsets.UTF_8), null)
+      val response =
+          String(serverConnContext.decodeMessageFromPeer(encoded, null), StandardCharsets.UTF_8)
+      assertEquals(response, initialShareString)
+    }
+  }
+
+  @Test
+  fun testSaveRestoreSession() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      val connContext = initiatorContext.toConnectionContext()
+      val serverConnContext = serverContext.toConnectionContext()
+      val initiatorSavedSession = connContext.saveSession()
+      val restored = D2DConnectionContextV1.fromSavedSession(initiatorSavedSession)
+      assertArrayEquals(connContext.sessionUnique, restored.sessionUnique)
+      val initialShareString = "Nearby sharing to server"
+      val encoded =
+          serverConnContext.encodeMessageToPeer(
+              initialShareString.toByteArray(StandardCharsets.UTF_8), null)
+      val response = String(restored.decodeMessageFromPeer(encoded, null), StandardCharsets.UTF_8)
+      assertEquals(response, initialShareString)
+    }
+  }
+
+  @Test
+  fun testSaveRestoreBadSession() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    val deriveInitiatorSavedSession = {
+      assertDoesNotThrow {
+        serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+        initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+        serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+        val connContext = initiatorContext.toConnectionContext()
+        val serverConnContext = serverContext.toConnectionContext()
+        connContext.saveSession()
+      }
+    }
+    assertThrows<SessionRestoreException> {
+      val unused =
+          D2DConnectionContextV1.fromSavedSession(deriveInitiatorSavedSession().copyOfRange(0, 20))
+    }
+  }
+
+  @Test
+  fun tryReuseHandshakeContext() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      val connContext = initiatorContext.toConnectionContext()
+      val serverConnContext = serverContext.toConnectionContext()
+    }
+    assertThrows<BadHandleException> {
+      val unused = serverContext.nextHandshakeMessage
+    }
+  }
+
+  @Test
+  fun testSendReceiveMessageWithAssociatedData() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    val associatedData = "Associated data.".toByteArray()
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      val connContext = initiatorContext.toConnectionContext()
+      val serverConnContext = serverContext.toConnectionContext()
+      val initialShareString = "Nearby sharing to server"
+      val encoded =
+          connContext.encodeMessageToPeer(
+              initialShareString.toByteArray(StandardCharsets.UTF_8), associatedData)
+      val response =
+          String(
+              serverConnContext.decodeMessageFromPeer(encoded, associatedData),
+              StandardCharsets.UTF_8)
+      assertEquals(response, initialShareString)
+    }
+  }
+
+  @Test
+  fun testVerificationString() {
+    val initiatorContext = D2DHandshakeContext(D2DHandshakeContext.Role.INITIATOR)
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    assertDoesNotThrow {
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+      initiatorContext.parseHandshakeMessage(serverContext.nextHandshakeMessage)
+      serverContext.parseHandshakeMessage(initiatorContext.nextHandshakeMessage)
+    }
+    assert(serverContext.isHandshakeComplete)
+    assert(initiatorContext.isHandshakeComplete)
+    assertArrayEquals(
+        serverContext.getVerificationString(32), initiatorContext.getVerificationString(32))
+  }
+
+  @Test
+  fun throwsAlertExceptionWhenBadMessage() {
+    val serverContext = D2DHandshakeContext(D2DHandshakeContext.Role.RESPONDER)
+    val exception = assertThrows<AlertException> {
+      serverContext.parseHandshakeMessage("Hello UKEY2".toByteArray())
+    }
+    assert(exception.alertMessageToSend.isNotEmpty())
+  }
+}
diff --git a/nearby/connections/ukey2/ukey2_jni/src/lib.rs b/nearby/connections/ukey2/ukey2_jni/src/lib.rs
index b7764fa..2b277aa 100644
--- a/nearby/connections/ukey2/ukey2_jni/src/lib.rs
+++ b/nearby/connections/ukey2/ukey2_jni/src/lib.rs
@@ -20,7 +20,7 @@
 
 use std::collections::HashMap;
 
-use jni::objects::{JByteArray, JClass};
+use jni::objects::{JByteArray, JClass, JThrowable};
 use jni::sys::{jboolean, jbyteArray, jint, jlong, JNI_TRUE};
 use jni::JNIEnv;
 use lazy_static::lazy_static;
@@ -59,12 +59,12 @@
 
 pub(crate) fn insert_handshake_handle(item: D2DBox) -> u64 {
     let mut handle = generate_handle();
-    let map = HANDLE_MAPPING.lock();
+    let mut map = HANDLE_MAPPING.lock();
     while map.contains_key(&handle) {
         handle = generate_handle();
     }
 
-    let result = HANDLE_MAPPING.lock().insert(handle, item);
+    let result = map.insert(handle, item);
     // result should always be None since we checked that handle map does not contain the key already
     assert!(result.is_none());
     handle
@@ -72,12 +72,12 @@
 
 pub(crate) fn insert_conn_handle(item: ConnectionBox) -> u64 {
     let mut handle = generate_handle();
-    let map = CONNECTION_HANDLE_MAPPING.lock();
+    let mut map = CONNECTION_HANDLE_MAPPING.lock();
     while map.contains_key(&handle) {
         handle = generate_handle();
     }
 
-    let result = CONNECTION_HANDLE_MAPPING.lock().insert(handle, item);
+    let result = map.insert(handle, item);
     // result should always be None since we checked that handle map does not contain the key already
     assert!(result.is_none());
     handle
@@ -94,7 +94,7 @@
 /// Tells the caller whether the handshake has completed or not. If the handshake is complete,
 /// the caller may call `to_connection_context`to obtain a connection context.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_is_1handshake_1complete(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_is_1handshake_1complete(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -103,7 +103,7 @@
     if let Some(ctx) = HANDLE_MAPPING.lock().get(&(context_handle as u64)) {
         is_complete = ctx.is_handshake_complete();
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
     }
     is_complete as jboolean
@@ -111,7 +111,7 @@
 
 /// Creates a new handshake context
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_create_1context(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_create_1context(
     _: JNIEnv,
     _: JClass,
     is_client: jboolean,
@@ -131,7 +131,7 @@
 
 /// Constructs the next message that should be sent in the handshake.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_get_1next_1handshake_1message(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_get_1next_1handshake_1message(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -140,7 +140,7 @@
     let next_message = if let Some(ctx) = HANDLE_MAPPING.lock().get(&(context_handle as u64)) {
         ctx.get_next_handshake_message()
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         None
     };
@@ -157,7 +157,7 @@
 // Safety: We know the message pointer is safe as it is coming directly from the JVM.
 #[allow(clippy::not_unsafe_ptr_arg_deref)]
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_parse_1handshake_1message(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_parse_1handshake_1message(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -167,22 +167,48 @@
     let result = if let Some(ctx) = HANDLE_MAPPING.lock().get_mut(&(context_handle as u64)) {
         ctx.handle_handshake_message(rust_buffer.as_slice()).map_err(JniError::HandleMessageError)
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         Err(JniError::BadHandle)
     };
     if let Err(e) = result {
         if !env.exception_check().unwrap() {
-            env.throw_new(
-                "com/google/security/cryptauth/lib/securegcm/HandshakeException",
+            let msg =
                 match e {
                     JniError::BadHandle => "Bad handle",
                     JniError::DecodeError(_) => "Unable to decode message",
-                    JniError::HandleMessageError(_) => "Unable to handle message",
+                    JniError::HandleMessageError(hme) => match hme {
+                        HandleMessageError::InvalidState | HandleMessageError::BadMessage => {
+                            "Unable to handle message"
+                        }
+                        HandleMessageError::ErrorMessage(error_msg) => {
+                            let exception: JThrowable = env.new_object(
+                            "com/google/security/cryptauth/lib/securegcm/ukey2/AlertException",
+                            "(Ljava/lang/String;[B)V",
+                            &[
+                                (&env
+                                    .new_string("Failed to handle message, sending alert")
+                                    .expect("valid str message for alert exception"))
+                                    .into(),
+                                (&env
+                                    .byte_array_from_slice(&error_msg)
+                                    .expect("valid byte array for alert exception"))
+                                    .into(),
+                            ],
+                        ).expect("Did not successfully create AlertException").into();
+                            env.throw(exception).expect("Throw alert exception");
+                            ""
+                        }
+                    },
                     JniError::HandshakeError(_) => "Handshake incomplete",
-                },
-            )
-            .expect("failed to find error class");
+                };
+            if !env.exception_check().unwrap() {
+                env.throw_new(
+                    "com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException",
+                    msg,
+                )
+                .expect("failed to find error class");
+            }
         }
     }
 }
@@ -190,7 +216,7 @@
 /// Returns the `CompletedHandshake` using the results from this handshake context. May only
 /// be called if `is_handshake_complete` returns true.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_get_1verification_1string(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_get_1verification_1string(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -202,14 +228,14 @@
             .map_err(|_| JniError::HandshakeError(HandshakeError::HandshakeNotComplete))
             .map(|h| h.auth_string::<CryptoProvider>().derive_vec(length as usize).unwrap())
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         Err(JniError::BadHandle)
     };
     if let Err(e) = result {
         if !env.exception_check().unwrap() {
             env.throw_new(
-                "com/google/security/cryptauth/lib/securegcm/HandshakeException",
+                "com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException",
                 match e {
                     JniError::BadHandle => "Bad handle",
                     JniError::DecodeError(_) => "Unable to decode message",
@@ -230,7 +256,7 @@
 /// Creates a [`D2DConnectionContextV1`] using the results of the handshake. May only be called
 /// if `is_handshake_complete` returns true.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DHandshakeContext_to_1connection_1context(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DHandshakeContext_to_1connection_1context(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -242,7 +268,7 @@
     };
     if let Err(error) = conn_context {
         env.throw_new(
-            "com/google/security/cryptauth/lib/securegcm/HandshakeException",
+            "com/google/security/cryptauth/lib/securegcm/ukey2/HandshakeException",
             match error {
                 JniError::BadHandle => "Bad context handle",
                 JniError::HandshakeError(_) => "Handshake not complete",
@@ -263,7 +289,7 @@
 // from the JVM.
 #[allow(clippy::not_unsafe_ptr_arg_deref)]
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_encode_1message_1to_1peer(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_encode_1message_1to_1peer(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -293,7 +319,7 @@
     if let Ok(ret_vec) = result {
         env.byte_array_from_slice(ret_vec.as_slice()).expect("unable to create jByteArray")
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         empty_array
     }
@@ -307,7 +333,7 @@
 // from the JVM.
 #[allow(clippy::not_unsafe_ptr_arg_deref)]
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_decode_1message_1from_1peer(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_decode_1message_1from_1peer(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -337,7 +363,7 @@
         env.byte_array_from_slice(message.as_slice()).expect("unable to create jByteArray")
     } else {
         env.throw_new(
-            "com/google/security/cryptauth/lib/securegcm/CryptoException",
+            "com/google/security/cryptauth/lib/securegcm/ukey2/CryptoException",
             match result.unwrap_err() {
                 JniError::BadHandle => "Bad context handle",
                 JniError::DecodeError(e) => match e {
@@ -356,7 +382,7 @@
 
 /// Returns the last sequence number used to encode a message.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_get_1sequence_1number_1for_1encoding(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_get_1sequence_1number_1for_1encoding(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -364,7 +390,7 @@
     if let Some(ctx) = CONNECTION_HANDLE_MAPPING.lock().get(&(context_handle as u64)) {
         ctx.get_sequence_number_for_encoding()
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         -1
     }
@@ -372,7 +398,7 @@
 
 /// Returns the last sequence number used to decode a message.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_get_1sequence_1number_1for_1decoding(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_get_1sequence_1number_1for_1decoding(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -380,7 +406,7 @@
     if let Some(ctx) = CONNECTION_HANDLE_MAPPING.lock().get(&(context_handle as u64)) {
         ctx.get_sequence_number_for_decoding()
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         -1
     }
@@ -389,7 +415,7 @@
 /// Creates a saved session that can later be used for resumption. The session data may be
 /// persisted, but it must be stored in a secure location.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_save_1session(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_save_1session(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -398,7 +424,7 @@
     if let Some(ctx) = CONNECTION_HANDLE_MAPPING.lock().get(&(context_handle as u64)) {
         env.byte_array_from_slice(ctx.save_session().as_slice()).expect("unable to save session")
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         empty_array
     }
@@ -409,7 +435,7 @@
 // Safety: We know the session_info pointer is safe because it is coming directly from the JVM.
 #[no_mangle]
 #[allow(clippy::not_unsafe_ptr_arg_deref)]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_from_1saved_1session(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_from_1saved_1session(
     mut env: JNIEnv,
     _: JClass,
     session_info: jbyteArray,
@@ -421,7 +447,7 @@
         D2DConnectionContextV1::from_saved_session::<CryptoProvider>(session_info_rust.as_slice());
     if ctx.is_err() {
         env.throw_new(
-            "com/google/security/cryptauth/lib/securegcm/SessionRestoreException",
+            "com/google/security/cryptauth/lib/securegcm/ukey2/SessionRestoreException",
             match ctx.err().unwrap() {
                 DeserializeError::BadDataLength => "DeserializeError: bad session_info length",
                 DeserializeError::BadProtocolVersion => "DeserializeError: bad protocol version",
@@ -440,7 +466,7 @@
 /// of the ASCII string "D2D". Since the server and client share the same session keys, the
 /// resulting session unique is also the same.
 #[no_mangle]
-pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_D2DConnectionContextV1_get_1session_1unique(
+pub extern "system" fn Java_com_google_security_cryptauth_lib_securegcm_ukey2_D2DConnectionContextV1_get_1session_1unique(
     mut env: JNIEnv,
     _: JClass,
     context_handle: jlong,
@@ -450,7 +476,7 @@
         env.byte_array_from_slice(ctx.get_session_unique::<CryptoProvider>().as_slice())
             .expect("unable to get unique session id")
     } else {
-        env.throw_new("com/google/security/cryptauth/lib/securegcm/BadHandleException", "")
+        env.throw_new("com/google/security/cryptauth/lib/securegcm/ukey2/BadHandleException", "")
             .expect("failed to find error class");
         empty_array
     }
diff --git a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/device_to_device_messages.rs b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/device_to_device_messages.rs
index 3c2da35..fb44c51 100644
--- a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/device_to_device_messages.rs
+++ b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/device_to_device_messages.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 // This file is generated by rust-protobuf 3.2.0. Do not edit
-// .proto file is parsed by protoc 3.19.1
+// .proto file is parsed by protoc 3.21.12
 // @generated
 
 // https://github.com/rust-lang/rust-clippy/issues/702
diff --git a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securegcm.rs b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securegcm.rs
index 3231440..3ba20e0 100644
--- a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securegcm.rs
+++ b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securegcm.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 // This file is generated by rust-protobuf 3.2.0. Do not edit
-// .proto file is parsed by protoc 3.19.1
+// .proto file is parsed by protoc 3.21.12
 // @generated
 
 // https://github.com/rust-lang/rust-clippy/issues/702
diff --git a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securemessage.rs b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securemessage.rs
index 161e0be..d11c330 100644
--- a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securemessage.rs
+++ b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/securemessage.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 // This file is generated by rust-protobuf 3.2.0. Do not edit
-// .proto file is parsed by protoc 3.19.1
+// .proto file is parsed by protoc 3.21.12
 // @generated
 
 // https://github.com/rust-lang/rust-clippy/issues/702
diff --git a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/ukey.rs b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/ukey.rs
index 5370207..4535937 100644
--- a/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/ukey.rs
+++ b/nearby/connections/ukey2/ukey2_proto/src/ukey2_all_proto/ukey.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 // This file is generated by rust-protobuf 3.2.0. Do not edit
-// .proto file is parsed by protoc 3.19.1
+// .proto file is parsed by protoc 3.21.12
 // @generated
 
 // https://github.com/rust-lang/rust-clippy/issues/702
diff --git a/nearby/connections/ukey2/ukey2_shell/Cargo.toml b/nearby/connections/ukey2/ukey2_shell/Cargo.toml
index 9a2856d..2ac12fa 100644
--- a/nearby/connections/ukey2/ukey2_shell/Cargo.toml
+++ b/nearby/connections/ukey2/ukey2_shell/Cargo.toml
@@ -11,4 +11,4 @@
 crypto_provider_rustcrypto = { workspace = true, features = [ "alloc" ] }
 ukey2_rs = { version = "0.1.0", path = "../ukey2" }
 ukey2_connections = { version = "0.1.0", path = "../ukey2_connections" }
-clap = { version = "4.0.17", default-features = false, features = ["std", "derive"] }
+clap = { workspace = true, features = ["std", "derive"] }
diff --git a/nearby/crypto/README.md b/nearby/crypto/README.md
index 4cb65be..698a954 100644
--- a/nearby/crypto/README.md
+++ b/nearby/crypto/README.md
@@ -1,7 +1,7 @@
 # What is this?
 
 A crypto provider that abstracts over different crypto implementations, mainly the Rust
-implementations by [RustCrypto](https://github.com/RustCrypto), OpenSSL and BoringSSL.
+implementations by [RustCrypto](https://github.com/RustCrypto) and BoringSSL.
 
 ## Project structure
 
@@ -11,7 +11,7 @@
 like AES, SHA2, X25519 and P256 ECDH, HKDF, HMAC, etc.
 
 Two implementations are currently provided, `crypto_provider_rustcrypto` and
-`crypto_provider_openssl`.
+`crypto_provider_boringssl`.
 
 #### `crypto_provider::aes`
 Abstraction on top plain AES, including AES-CTR and AES-CBC.
@@ -26,25 +26,11 @@
 Implementations of `crypto_provider` types using the convenient pure-Rust primitives
 from [Rust Crypto](https://github.com/RustCrypto).
 
-### `crypto_provider_openssl`
+### `crypto_provider_boringssl`
 
 Implementations of `crypto_provider` types using the
-[openSSL Rust crate](https://github.com/sfackler/rust-openssl), which is a Rust
-wrapper for openSSL.
-
-#### Using BoringSSL
-
-`crypto_provider_openssl` can also be made to use BoringSSL via the `boringssl` feature. This
-translates to using the `openssl` and `openssl-sys` crates' `unstable_boringssl` feature. Since the
-depenedency `bssl-sys` is not on crates.io, to test the BoringSSL integration, you'll need to run
-`cargo run -- build-boringssl`, which clones BoringSSL. Then, to use the Android version of
-`rust-openssl`, run `cargo run -- prepare-rust-openssl`.
-
-* Run `cargo run -- build-boringssl` to setup the workspace
-* Run `cargo --config=.cargo/config-boringssl.toml test --features=boringssl` to test the crypto
-  provider implementations.
-* Run `cargo --config=.cargo/config-boringssl.toml run -p <package> --features=openssl,boringssl
-  --no-default-features` on FFI, JNI, or shell targets to make them use BoringSSL.
+[bssl-crypto](https://boringssl.googlesource.com/boringssl/+/master/rust/bssl-crypto), which is a
+Rust binding layer for BoringSSL.
 
 ## Setup
 
diff --git a/nearby/crypto/crypto_provider/Cargo.toml b/nearby/crypto/crypto_provider/Cargo.toml
index 1a588bb..a31f5fa 100644
--- a/nearby/crypto/crypto_provider/Cargo.toml
+++ b/nearby/crypto/crypto_provider/Cargo.toml
@@ -13,8 +13,7 @@
 [dev-dependencies]
 criterion.workspace = true
 hex-literal.workspace = true
-crypto_provider_openssl.workspace = true
-crypto_provider_rustcrypto = { workspace = true, features = ["std"] }
+crypto_provider_default = { workspace = true, features = ["std"]}
 rand_ext.workspace = true
 rand.workspace = true
 
@@ -23,6 +22,7 @@
 std = []
 alloc = []
 test_vectors = []
+test_boringssl = ["crypto_provider_default/boringssl"]
 raw_private_key_permit = []
 
 [[bench]]
diff --git a/nearby/crypto/crypto_provider/benches/constant_time_eq_bench.rs b/nearby/crypto/crypto_provider/benches/constant_time_eq_bench.rs
index 70c65cf..3859616 100644
--- a/nearby/crypto/crypto_provider/benches/constant_time_eq_bench.rs
+++ b/nearby/crypto/crypto_provider/benches/constant_time_eq_bench.rs
@@ -18,8 +18,7 @@
     criterion_group, criterion_main, measurement::WallTime, BatchSize, BenchmarkGroup, Criterion,
 };
 use crypto_provider::CryptoProvider;
-use crypto_provider_openssl::Openssl;
-use crypto_provider_rustcrypto::RustCrypto;
+use crypto_provider_default::CryptoProviderImpl;
 use rand::{distributions::Standard, rngs::ThreadRng, Rng};
 
 fn constant_time_eq_equals(c: &mut Criterion) {
@@ -57,8 +56,7 @@
         }
     }
 
-    add_benches::<RustCrypto>(&mut group, &mut rng);
-    add_benches::<Openssl>(&mut group, &mut rng);
+    add_benches::<CryptoProviderImpl>(&mut group, &mut rng);
 }
 
 criterion_group!(benches, constant_time_eq_equals);
diff --git a/nearby/crypto/crypto_provider/benches/hkdf_bench.rs b/nearby/crypto/crypto_provider/benches/hkdf_bench.rs
index e73f8cf..6464c7e 100644
--- a/nearby/crypto/crypto_provider/benches/hkdf_bench.rs
+++ b/nearby/crypto/crypto_provider/benches/hkdf_bench.rs
@@ -19,8 +19,7 @@
 
 use crypto_provider::hkdf::Hkdf;
 use crypto_provider::CryptoProvider;
-use crypto_provider_openssl::Openssl;
-use crypto_provider_rustcrypto::RustCrypto;
+use crypto_provider_default::CryptoProviderImpl;
 
 // simple benchmark, which creates a new hmac, updates once, then finalizes
 fn hkdf_sha256_operations<C: CryptoProvider>(c: &mut Criterion) {
@@ -46,6 +45,6 @@
     });
 }
 
-criterion_group!(benches, hkdf_sha256_operations::<RustCrypto>, hkdf_sha256_operations::<Openssl>,);
+criterion_group!(benches, hkdf_sha256_operations::<CryptoProviderImpl>);
 
 criterion_main!(benches);
diff --git a/nearby/crypto/crypto_provider/benches/hmac_bench.rs b/nearby/crypto/crypto_provider/benches/hmac_bench.rs
index 9bcfde0..0d856d4 100644
--- a/nearby/crypto/crypto_provider/benches/hmac_bench.rs
+++ b/nearby/crypto/crypto_provider/benches/hmac_bench.rs
@@ -18,8 +18,7 @@
 
 use crypto_provider::hmac::Hmac;
 use crypto_provider::{CryptoProvider, CryptoRng};
-use crypto_provider_openssl::Openssl;
-use crypto_provider_rustcrypto::RustCrypto;
+use crypto_provider_default::CryptoProviderImpl;
 use rand_ext::random_bytes;
 
 // simple benchmark, which creates a new hmac, updates once, then finalizes
@@ -53,10 +52,8 @@
 
 criterion_group!(
     benches,
-    hmac_sha256_operations::<RustCrypto>,
-    hmac_sha256_operations::<Openssl>,
-    hmac_sha512_operations::<RustCrypto>,
-    hmac_sha512_operations::<Openssl>
+    hmac_sha256_operations::<CryptoProviderImpl>,
+    hmac_sha512_operations::<CryptoProviderImpl>,
 );
 
 criterion_main!(benches);
diff --git a/nearby/crypto/crypto_provider/src/aes/mod.rs b/nearby/crypto/crypto_provider/src/aes/mod.rs
index e359bad..b3dbd6a 100644
--- a/nearby/crypto/crypto_provider/src/aes/mod.rs
+++ b/nearby/crypto/crypto_provider/src/aes/mod.rs
@@ -15,7 +15,7 @@
 //! An abstraction layer around AES implementations.
 //!
 //! The design is an attempt to make it easy to provide implementations that are both idiomatic
-//! Rust (e.g. RustCrypto) as well as FFI-backed (e.g. openssl and other C impls).
+//! Rust (e.g. RustCrypto) as well as FFI-backed (e.g. boringSSL and other C impls).
 use core::{array, fmt};
 
 pub mod ctr;
diff --git a/nearby/crypto/crypto_provider/src/ed25519.rs b/nearby/crypto/crypto_provider/src/ed25519.rs
index b435ca2..7002335 100644
--- a/nearby/crypto/crypto_provider/src/ed25519.rs
+++ b/nearby/crypto/crypto_provider/src/ed25519.rs
@@ -166,7 +166,7 @@
 
     /// Builds this public key from an array of bytes in
     /// the format yielded by `to_bytes`.
-    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidBytes>
+    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidPublicKeyBytes>
     where
         Self: Sized;
 
@@ -183,7 +183,7 @@
 
 /// error returned when bad bytes are provided to generate keypair
 #[derive(Debug)]
-pub struct InvalidBytes;
+pub struct InvalidPublicKeyBytes;
 
 /// Error returned if the verification on the signature + message fails
 #[derive(Debug)]
diff --git a/nearby/crypto/crypto_provider_boringssl/Cargo.lock b/nearby/crypto/crypto_provider_boringssl/Cargo.lock
index 7773e56..432c546 100644
--- a/nearby/crypto/crypto_provider_boringssl/Cargo.lock
+++ b/nearby/crypto/crypto_provider_boringssl/Cargo.lock
@@ -3,6 +3,15 @@
 version = 3
 
 [[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "base64"
 version = "0.21.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10,7 +19,7 @@
 
 [[package]]
 name = "bssl-crypto"
-version = "0.1.0"
+version = "0.2.0"
 dependencies = [
  "bssl-sys",
 ]
@@ -68,6 +77,12 @@
 ]
 
 [[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
 name = "hex"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -98,6 +113,12 @@
 checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -105,18 +126,18 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -171,10 +192,45 @@
 ]
 
 [[package]]
-name = "rstest"
-version = "0.17.0"
+name = "regex"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de1bb486a691878cd320c2f0d319ba91eeaa2e894066d8b5f8f117c000e9d962"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "relative-path"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
+
+[[package]]
+name = "rstest"
+version = "0.18.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
 dependencies = [
  "rstest_macros",
  "rustc_version",
@@ -182,15 +238,18 @@
 
 [[package]]
 name = "rstest_macros"
-version = "0.17.0"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290ca1a1c8ca7edb7c3283bd44dc35dd54fdec6253a3912e201ba1072018fca8"
+checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
 dependencies = [
  "cfg-if",
+ "glob",
  "proc-macro2",
  "quote",
+ "regex",
+ "relative-path",
  "rustc_version",
- "syn 1.0.109",
+ "syn",
  "unicode-ident",
 ]
 
@@ -203,7 +262,7 @@
  "quote",
  "rand",
  "rustc_version",
- "syn 2.0.29",
+ "syn",
 ]
 
 [[package]]
@@ -229,29 +288,29 @@
 
 [[package]]
 name = "serde"
-version = "1.0.187"
+version = "1.0.194"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a7fe14252655bd1e578af19f5fa00fe02fd0013b100ca6b49fde31c41bae4c"
+checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.187"
+version = "1.0.194"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e46b2a6ca578b3f1d4501b12f78ed4692006d79d82a1a7c561c12dbc3d625eb8"
+checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.29",
+ "syn",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.105"
+version = "1.0.110"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
+checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257"
 dependencies = [
  "itoa",
  "ryu",
@@ -260,20 +319,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.109"
+version = "2.0.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm.rs b/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm.rs
index 03bb087..75fb385 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm.rs
@@ -19,52 +19,89 @@
 use crypto_provider::aead::{Aead, AeadError, AeadInit};
 use crypto_provider::aes::{Aes128Key, Aes256Key, AesKey};
 
-pub struct AesGcm(bssl_crypto::aead::AesGcm);
+pub struct AesGcm128(bssl_crypto::aead::Aes128Gcm);
 
-impl AeadInit<Aes128Key> for AesGcm {
+pub struct AesGcm256(bssl_crypto::aead::Aes256Gcm);
+
+impl AeadInit<Aes128Key> for AesGcm128 {
     fn new(key: &Aes128Key) -> Self {
-        Self(bssl_crypto::aead::new_aes_128_gcm(key.as_array()))
+        Self(bssl_crypto::aead::Aes128Gcm::new(key.as_array()))
     }
 }
 
-impl AeadInit<Aes256Key> for AesGcm {
-    fn new(key: &Aes256Key) -> Self {
-        Self(bssl_crypto::aead::new_aes_256_gcm(key.as_array()))
-    }
-}
+impl crypto_provider::aead::AesGcm for AesGcm128 {}
 
-impl crypto_provider::aead::AesGcm for AesGcm {}
-
-impl Aead for AesGcm {
+impl Aead for AesGcm128 {
     const TAG_SIZE: usize = 16;
     type Nonce = [u8; 12];
     type Tag = [u8; 16];
 
     fn encrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
-        self.0.encrypt(msg, aad, nonce).map_err(|_| AeadError)
+        Ok(self.0.seal(nonce, msg, aad))
     }
 
     fn encrypt_detached(
         &self,
-        _msg: &mut [u8],
-        _aad: &[u8],
-        _nonce: &Self::Nonce,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
     ) -> Result<Self::Tag, AeadError> {
-        unimplemented!("Not yet supported by boringssl")
+        Ok(self.0.seal_in_place(nonce, msg, aad))
     }
 
     fn decrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
-        self.0.decrypt(msg, aad, nonce).map_err(|_| AeadError)
+        self.0.open(nonce, msg, aad).ok_or(AeadError)
     }
 
     fn decrypt_detached(
         &self,
-        _msg: &mut [u8],
-        _aad: &[u8],
-        _nonce: &Self::Nonce,
-        _tag: &Self::Tag,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+        tag: &Self::Tag,
     ) -> Result<(), AeadError> {
-        unimplemented!("Not yet supported by boringssl")
+        self.0.open_in_place(nonce, msg, tag, aad).map_err(|_| AeadError)
+    }
+}
+
+impl AeadInit<Aes256Key> for AesGcm256 {
+    fn new(key: &Aes256Key) -> Self {
+        Self(bssl_crypto::aead::Aes256Gcm::new(key.as_array()))
+    }
+}
+
+impl crypto_provider::aead::AesGcm for AesGcm256 {}
+
+impl Aead for AesGcm256 {
+    const TAG_SIZE: usize = 16;
+    type Nonce = [u8; 12];
+    type Tag = [u8; 16];
+
+    fn encrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
+        Ok(self.0.seal(nonce, msg, aad))
+    }
+
+    fn encrypt_detached(
+        &self,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+    ) -> Result<Self::Tag, AeadError> {
+        Ok(self.0.seal_in_place(nonce, msg, aad))
+    }
+
+    fn decrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
+        self.0.open(nonce, msg, aad).ok_or(AeadError)
+    }
+
+    fn decrypt_detached(
+        &self,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+        tag: &Self::Tag,
+    ) -> Result<(), AeadError> {
+        self.0.open_in_place(nonce, msg, tag, aad).map_err(|_| AeadError)
     }
 }
 
@@ -78,12 +115,12 @@
     use super::*;
 
     #[apply(aes_128_gcm_test_cases)]
-    fn aes_gcm_128_test(testcase: CryptoProviderTestCase<AesGcm>) {
+    fn aes_gcm_128_test(testcase: CryptoProviderTestCase<AesGcm128>) {
         testcase(PhantomData);
     }
 
     #[apply(aes_256_gcm_test_cases)]
-    fn aes_gcm_256_test(testcase: CryptoProviderTestCase<AesGcm>) {
+    fn aes_gcm_256_test(testcase: CryptoProviderTestCase<AesGcm256>) {
         testcase(PhantomData);
     }
 }
diff --git a/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm_siv.rs b/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm_siv.rs
index d1fb0e7..ac26c43 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm_siv.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/aead/aes_gcm_siv.rs
@@ -18,52 +18,89 @@
 use crypto_provider::aead::{Aead, AeadError, AeadInit};
 use crypto_provider::aes::{Aes128Key, Aes256Key, AesKey};
 
-pub struct AesGcmSiv(bssl_crypto::aead::AesGcmSiv);
+pub struct AesGcmSiv128(bssl_crypto::aead::Aes128GcmSiv);
 
-impl AeadInit<Aes128Key> for AesGcmSiv {
+impl AeadInit<Aes128Key> for AesGcmSiv128 {
     fn new(key: &Aes128Key) -> Self {
-        Self(bssl_crypto::aead::new_aes_128_gcm_siv(key.as_array()))
+        Self(bssl_crypto::aead::Aes128GcmSiv::new(key.as_array()))
     }
 }
 
-impl AeadInit<Aes256Key> for AesGcmSiv {
-    fn new(key: &Aes256Key) -> Self {
-        Self(bssl_crypto::aead::new_aes_256_gcm_siv(key.as_array()))
-    }
-}
+impl crypto_provider::aead::AesGcmSiv for AesGcmSiv128 {}
 
-impl crypto_provider::aead::AesGcmSiv for AesGcmSiv {}
-
-impl Aead for AesGcmSiv {
+impl Aead for AesGcmSiv128 {
     const TAG_SIZE: usize = 16;
     type Nonce = [u8; 12];
     type Tag = [u8; 16];
 
     fn encrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
-        self.0.encrypt(msg, aad, nonce).map_err(|_| AeadError)
+        Ok(self.0.seal(nonce, msg, aad))
     }
 
     fn encrypt_detached(
         &self,
-        _msg: &mut [u8],
-        _aad: &[u8],
-        _nonce: &Self::Nonce,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
     ) -> Result<Self::Tag, AeadError> {
-        unimplemented!("Not yet supported by boringssl")
+        Ok(self.0.seal_in_place(nonce, msg, aad))
     }
 
     fn decrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
-        self.0.decrypt(msg, aad, nonce).map_err(|_| AeadError)
+        self.0.open(nonce, msg, aad).ok_or(AeadError)
     }
 
     fn decrypt_detached(
         &self,
-        _msg: &mut [u8],
-        _aad: &[u8],
-        _nonce: &Self::Nonce,
-        _tag: &Self::Tag,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+        tag: &Self::Tag,
     ) -> Result<(), AeadError> {
-        unimplemented!("Not yet supported by boringssl")
+        self.0.open_in_place(nonce, msg, tag, aad).map_err(|_| AeadError)
+    }
+}
+
+pub struct AesGcmSiv256(bssl_crypto::aead::Aes256GcmSiv);
+
+impl AeadInit<Aes256Key> for AesGcmSiv256 {
+    fn new(key: &Aes256Key) -> Self {
+        Self(bssl_crypto::aead::Aes256GcmSiv::new(key.as_array()))
+    }
+}
+
+impl crypto_provider::aead::AesGcmSiv for AesGcmSiv256 {}
+
+impl Aead for AesGcmSiv256 {
+    const TAG_SIZE: usize = 16;
+    type Nonce = [u8; 12];
+    type Tag = [u8; 16];
+
+    fn encrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
+        Ok(self.0.seal(nonce, msg, aad))
+    }
+
+    fn encrypt_detached(
+        &self,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+    ) -> Result<Self::Tag, AeadError> {
+        Ok(self.0.seal_in_place(nonce, msg, aad))
+    }
+
+    fn decrypt(&self, msg: &[u8], aad: &[u8], nonce: &Self::Nonce) -> Result<Vec<u8>, AeadError> {
+        self.0.open(nonce, msg, aad).ok_or(AeadError)
+    }
+
+    fn decrypt_detached(
+        &self,
+        msg: &mut [u8],
+        aad: &[u8],
+        nonce: &Self::Nonce,
+        tag: &Self::Tag,
+    ) -> Result<(), AeadError> {
+        self.0.open_in_place(nonce, msg, tag, aad).map_err(|_| AeadError)
     }
 }
 
@@ -77,12 +114,12 @@
     use super::*;
 
     #[apply(aes_128_gcm_siv_test_cases)]
-    fn aes_gcm_siv_128_test(testcase: CryptoProviderTestCase<AesGcmSiv>) {
+    fn aes_gcm_siv_128_test(testcase: CryptoProviderTestCase<AesGcmSiv128>) {
         testcase(PhantomData);
     }
 
     #[apply(aes_256_gcm_siv_test_cases)]
-    fn aes_gcm_siv_256_test(testcase: CryptoProviderTestCase<AesGcmSiv>) {
+    fn aes_gcm_siv_256_test(testcase: CryptoProviderTestCase<AesGcmSiv256>) {
         testcase(PhantomData);
     }
 }
diff --git a/nearby/crypto/crypto_provider_boringssl/src/aes/mod.rs b/nearby/crypto/crypto_provider_boringssl/src/aes/mod.rs
index d5cbe58..d9f3315 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/aes/mod.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/aes/mod.rs
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-use bssl_crypto::aes::{AesDecryptKey, AesEncryptKey};
+use bssl_crypto::aes::{DecryptKey, EncryptKey};
 use crypto_provider::aes::{
     Aes, Aes128Key, Aes256Key, AesBlock, AesCipher, AesDecryptCipher, AesEncryptCipher, AesKey,
 };
@@ -40,28 +40,28 @@
 }
 
 /// A BoringSSL backed AES-128 Encryption Cipher
-pub struct Aes128EncryptCipher(AesEncryptKey);
+pub struct Aes128EncryptCipher(EncryptKey);
 
 /// A BoringSSL backed AES-128 Decryption Cipher
-pub struct Aes128DecryptCipher(AesDecryptKey);
+pub struct Aes128DecryptCipher(DecryptKey);
 
 /// A BoringSSL backed AES-256 Encryption Cipher
-pub struct Aes256EncryptCipher(AesEncryptKey);
+pub struct Aes256EncryptCipher(EncryptKey);
 
 /// A BoringSSL backed AES-256 Decryption Cipher
-pub struct Aes256DecryptCipher(AesDecryptKey);
+pub struct Aes256DecryptCipher(DecryptKey);
 
 impl AesCipher for Aes128EncryptCipher {
     type Key = Aes128Key;
 
     fn new(key: &Self::Key) -> Self {
-        Self(bssl_crypto::aes::AesEncryptKey::new_aes_128(*key.as_array()))
+        Self(EncryptKey::new_128(key.as_array()))
     }
 }
 
 impl AesEncryptCipher for Aes128EncryptCipher {
     fn encrypt(&self, block: &mut AesBlock) {
-        bssl_crypto::aes::Aes::encrypt(&self.0, block)
+        self.0.encrypt_in_place(block)
     }
 }
 
@@ -69,13 +69,13 @@
     type Key = Aes128Key;
 
     fn new(key: &Self::Key) -> Self {
-        Self(bssl_crypto::aes::AesDecryptKey::new_aes_128(*key.as_array()))
+        Self(DecryptKey::new_128(key.as_array()))
     }
 }
 
 impl AesDecryptCipher for Aes128DecryptCipher {
     fn decrypt(&self, block: &mut AesBlock) {
-        bssl_crypto::aes::Aes::decrypt(&self.0, block)
+        self.0.decrypt_in_place(block)
     }
 }
 
@@ -83,13 +83,13 @@
     type Key = Aes256Key;
 
     fn new(key: &Self::Key) -> Self {
-        Self(bssl_crypto::aes::AesEncryptKey::new_aes_256(*key.as_array()))
+        Self(EncryptKey::new_256(key.as_array()))
     }
 }
 
 impl AesEncryptCipher for Aes256EncryptCipher {
     fn encrypt(&self, block: &mut AesBlock) {
-        bssl_crypto::aes::Aes::encrypt(&self.0, block)
+        self.0.encrypt_in_place(block)
     }
 }
 
@@ -97,13 +97,13 @@
     type Key = Aes256Key;
 
     fn new(key: &Self::Key) -> Self {
-        Self(bssl_crypto::aes::AesDecryptKey::new_aes_256(*key.as_array()))
+        Self(DecryptKey::new_256(key.as_array()))
     }
 }
 
 impl AesDecryptCipher for Aes256DecryptCipher {
     fn decrypt(&self, block: &mut AesBlock) {
-        bssl_crypto::aes::Aes::decrypt(&self.0, block)
+        self.0.decrypt_in_place(block)
     }
 }
 
diff --git a/nearby/crypto/crypto_provider_boringssl/src/ed25519.rs b/nearby/crypto/crypto_provider_boringssl/src/ed25519.rs
index b5c374a..e411df1 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/ed25519.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/ed25519.rs
@@ -13,8 +13,8 @@
 // limitations under the License.
 
 use crypto_provider::ed25519::{
-    InvalidBytes, RawPrivateKey, RawPrivateKeyPermit, RawPublicKey, RawSignature, Signature as _,
-    SignatureError,
+    InvalidPublicKeyBytes, RawPrivateKey, RawPrivateKeyPermit, RawPublicKey, RawSignature,
+    Signature as _, SignatureError,
 };
 
 pub struct Ed25519;
@@ -39,7 +39,7 @@
     where
         Self: Sized,
     {
-        let private_key = bssl_crypto::ed25519::PrivateKey::new_from_seed(bytes);
+        let private_key = bssl_crypto::ed25519::PrivateKey::from_seed(bytes);
         Self(private_key)
     }
 
@@ -52,7 +52,7 @@
     }
 
     fn public(&self) -> Self::PublicKey {
-        PublicKey(self.0.public())
+        PublicKey(self.0.to_public())
     }
 }
 
@@ -60,11 +60,11 @@
 
 impl crypto_provider::ed25519::Signature for Signature {
     fn from_bytes(bytes: &RawSignature) -> Self {
-        Self(bssl_crypto::ed25519::Signature::from_bytes(*bytes))
+        Self(bssl_crypto::ed25519::Signature::from(*bytes))
     }
 
     fn to_bytes(&self) -> RawSignature {
-        self.0.to_bytes()
+        self.0
     }
 }
 
@@ -73,15 +73,15 @@
 impl crypto_provider::ed25519::PublicKey for PublicKey {
     type Signature = Signature;
 
-    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidBytes>
+    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidPublicKeyBytes>
     where
         Self: Sized,
     {
-        Ok(Self(bssl_crypto::ed25519::PublicKey::from_bytes(*bytes)))
+        Ok(Self(bssl_crypto::ed25519::PublicKey::from_bytes(bytes)))
     }
 
     fn to_bytes(&self) -> RawPublicKey {
-        self.0.to_bytes()
+        *self.0.as_bytes()
     }
 
     fn verify_strict(
@@ -90,7 +90,7 @@
         signature: &Self::Signature,
     ) -> Result<(), SignatureError> {
         self.0
-            .verify(message, bssl_crypto::ed25519::Signature::from_bytes(signature.to_bytes()))
+            .verify(message, &bssl_crypto::ed25519::Signature::from(signature.to_bytes()))
             .map_err(|_| SignatureError)
     }
 }
diff --git a/nearby/crypto/crypto_provider_boringssl/src/hkdf.rs b/nearby/crypto/crypto_provider_boringssl/src/hkdf.rs
index c162d3d..7b01a2c 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/hkdf.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/hkdf.rs
@@ -18,15 +18,21 @@
 //! See the _Using BoringSSL_ section in `crypto/README.md` for instructions on
 //! how to test against BoringSSL, or see the subcommands in the top level crate.
 
-use bssl_crypto::digest::Md;
+use bssl_crypto::digest::Algorithm;
+use bssl_crypto::hkdf::Salt;
+use core::marker::PhantomData;
 use crypto_provider::hkdf::InvalidLength;
 
 /// Struct providing BoringSSL implemented Hkdf operations.
-pub struct Hkdf<M: Md>(bssl_crypto::hkdf::Hkdf<M>);
+pub struct Hkdf<M: Algorithm>(bssl_crypto::hkdf::Prk, PhantomData<M>);
 
-impl<M: Md> crypto_provider::hkdf::Hkdf for Hkdf<M> {
+impl<M: Algorithm> crypto_provider::hkdf::Hkdf for Hkdf<M> {
     fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Self {
-        Self(bssl_crypto::hkdf::Hkdf::<M>::new(salt, ikm))
+        let bssl_salt = match salt {
+            None => Salt::None,
+            Some(raw_salt) => Salt::NonEmpty(raw_salt),
+        };
+        Self(bssl_crypto::hkdf::Hkdf::<M>::extract(ikm, bssl_salt), PhantomData)
     }
 
     fn expand_multi_info(
@@ -37,14 +43,14 @@
         if okm.is_empty() {
             return Ok(());
         }
-        self.0.expand_multi_info(info_components, okm).map_err(|_| InvalidLength)
+        self.0.expand_into(&info_components.concat(), okm).map_err(|_| InvalidLength)
     }
 
     fn expand(&self, info: &[u8], okm: &mut [u8]) -> Result<(), InvalidLength> {
         if okm.is_empty() {
             return Ok(());
         }
-        self.0.expand(info, okm).map_err(|_| InvalidLength)
+        self.0.expand_into(info, okm).map_err(|_| InvalidLength)
     }
 }
 
diff --git a/nearby/crypto/crypto_provider_boringssl/src/hmac.rs b/nearby/crypto/crypto_provider_boringssl/src/hmac.rs
index 7a5e867..53e829e 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/hmac.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/hmac.rs
@@ -19,7 +19,7 @@
 
 impl crypto_provider::hmac::Hmac<32> for HmacSha256 {
     fn new_from_key(key: [u8; 32]) -> Self {
-        Self(bssl_crypto::hmac::HmacSha256::new(key))
+        Self(bssl_crypto::hmac::HmacSha256::new(&key))
     }
 
     fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> {
@@ -31,7 +31,7 @@
     }
 
     fn finalize(self) -> [u8; 32] {
-        self.0.finalize()
+        self.0.digest()
     }
 
     fn verify_slice(self, tag: &[u8]) -> Result<(), MacError> {
@@ -39,7 +39,7 @@
     }
 
     fn verify(self, tag: [u8; 32]) -> Result<(), MacError> {
-        self.0.verify(tag).map_err(|_| MacError)
+        self.0.verify(&tag).map_err(|_| MacError)
     }
 
     fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError> {
@@ -52,7 +52,7 @@
 
 impl crypto_provider::hmac::Hmac<64> for HmacSha512 {
     fn new_from_key(key: [u8; 64]) -> Self {
-        Self(bssl_crypto::hmac::HmacSha512::new(key))
+        Self(bssl_crypto::hmac::HmacSha512::new(&key))
     }
 
     fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> {
@@ -64,7 +64,7 @@
     }
 
     fn finalize(self) -> [u8; 64] {
-        self.0.finalize()
+        self.0.digest()
     }
 
     fn verify_slice(self, tag: &[u8]) -> Result<(), MacError> {
@@ -72,7 +72,7 @@
     }
 
     fn verify(self, tag: [u8; 64]) -> Result<(), MacError> {
-        self.0.verify(tag).map_err(|_| MacError)
+        self.0.verify(&tag).map_err(|_| MacError)
     }
 
     fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError> {
diff --git a/nearby/crypto/crypto_provider_boringssl/src/lib.rs b/nearby/crypto/crypto_provider_boringssl/src/lib.rs
index 75758b6..560169a 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/lib.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/lib.rs
@@ -23,7 +23,7 @@
 
 //! Crate which provides impls for CryptoProvider backed by BoringSSL
 //!
-use bssl_crypto::rand::rand_bytes;
+use bssl_crypto::rand_bytes;
 use crypto_provider::{CryptoProvider, CryptoRng};
 
 /// Implementation of `crypto_provider::aes` types using BoringSSL
@@ -69,18 +69,18 @@
     type AesCtr128 = aes::ctr::AesCtr128;
     type AesCtr256 = aes::ctr::AesCtr256;
     type Ed25519 = ed25519::Ed25519;
-    type Aes128GcmSiv = aead::aes_gcm_siv::AesGcmSiv;
-    type Aes256GcmSiv = aead::aes_gcm_siv::AesGcmSiv;
-    type Aes128Gcm = aead::aes_gcm::AesGcm;
-    type Aes256Gcm = aead::aes_gcm::AesGcm;
+    type Aes128GcmSiv = aead::aes_gcm_siv::AesGcmSiv128;
+    type Aes256GcmSiv = aead::aes_gcm_siv::AesGcmSiv256;
+    type Aes128Gcm = aead::aes_gcm::AesGcm128;
+    type Aes256Gcm = aead::aes_gcm::AesGcm256;
     type CryptoRng = BoringSslRng;
 
     fn constant_time_eq(a: &[u8], b: &[u8]) -> bool {
-        bssl_crypto::mem::crypto_memcmp(a, b)
+        bssl_crypto::constant_time_compare(a, b)
     }
 }
 
-/// OpenSSL implemented random number generator
+/// BoringSSL implemented random number generator
 pub struct BoringSslRng;
 
 impl CryptoRng for BoringSslRng {
diff --git a/nearby/crypto/crypto_provider_boringssl/src/p256.rs b/nearby/crypto/crypto_provider_boringssl/src/p256.rs
index 7fefecd..564897b 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/p256.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/p256.rs
@@ -14,7 +14,9 @@
 
 extern crate alloc;
 
+use alloc::vec;
 use bssl_crypto::ecdh::{PrivateKey, PublicKey};
+use core::fmt::{Debug, Formatter};
 use crypto_provider::{
     elliptic_curve::{EcdhProvider, EphemeralSecret, PublicKey as _},
     p256::{PointCompression, P256},
@@ -31,13 +33,25 @@
 }
 
 /// A NIST-P256 public key.
-#[derive(Debug, PartialEq, Eq)]
-pub struct P256PublicKey(PublicKey<bssl_crypto::ecdh::P256>);
+pub struct P256PublicKey(PublicKey<bssl_crypto::ec::P256>);
+
+impl PartialEq for P256PublicKey {
+    fn eq(&self, other: &Self) -> bool {
+        self.0.to_x962_uncompressed().as_ref() == other.0.to_x962_uncompressed().as_ref()
+    }
+}
+
+impl Debug for P256PublicKey {
+    fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result {
+        write!(f, "X9.62 bytes: {:?}", self.0.to_x962_uncompressed().as_ref())
+    }
+}
+
 impl crypto_provider::p256::P256PublicKey for P256PublicKey {
-    type Error = bssl_crypto::ecdh::Error;
+    type Error = Error;
 
     fn from_sec1_bytes(bytes: &[u8]) -> Result<Self, Self::Error> {
-        PublicKey::try_from(bytes).map(Self)
+        PublicKey::from_x962_uncompressed(bytes).map(P256PublicKey).ok_or(Error::ConversionFailed)
     }
 
     fn to_sec1_bytes(&self, point_compression: PointCompression) -> ArrayVec<[u8; 65]> {
@@ -45,29 +59,37 @@
             PointCompression::Compressed => unimplemented!(),
             PointCompression::Uncompressed => {
                 let mut bytes = ArrayVec::<[u8; 65]>::new();
-                bytes.extend_from_slice(&self.0.to_vec());
+                bytes.extend_from_slice(self.0.to_x962_uncompressed().as_ref());
                 bytes
             }
         }
     }
 
-    #[allow(clippy::expect_used)]
+    #[allow(clippy::expect_used, clippy::indexing_slicing)]
     fn to_affine_coordinates(&self) -> Result<([u8; 32], [u8; 32]), Self::Error> {
-        Ok(self.0.to_affine_coordinates())
+        let raw_key = self.0.to_x962_uncompressed();
+        let x = raw_key.as_ref()[1..33].try_into().map_err(|_| Error::ConversionFailed)?;
+        let y = raw_key.as_ref()[33..65].try_into().map_err(|_| Error::ConversionFailed)?;
+        Ok((x, y))
     }
     fn from_affine_coordinates(x: &[u8; 32], y: &[u8; 32]) -> Result<Self, Self::Error> {
-        PublicKey::<bssl_crypto::ecdh::P256>::from_affine_coordinates(x, y).map(Self)
+        let mut point = vec![0x04];
+        point.extend_from_slice(x);
+        point.extend_from_slice(y);
+        PublicKey::<bssl_crypto::ec::P256>::from_x962_uncompressed(&point)
+            .map(Self)
+            .ok_or(Error::ConversionFailed)
     }
 }
 
-/// Ephemeral secrect for use in a P256 Diffie-Hellman
+/// Ephemeral secret for use in a P256 Diffie-Hellman exchange.
 pub struct P256EphemeralSecret {
-    secret: PrivateKey<bssl_crypto::ecdh::P256>,
+    secret: PrivateKey<bssl_crypto::ec::P256>,
 }
 
 impl EphemeralSecret<P256> for P256EphemeralSecret {
     type Impl = P256Ecdh;
-    type Error = bssl_crypto::ecdh::Error;
+    type Error = Error;
     type Rng = ();
     type EncodedPublicKey =
         <P256PublicKey as crypto_provider::elliptic_curve::PublicKey<P256>>::EncodedPublicKey;
@@ -77,19 +99,27 @@
     }
 
     fn public_key_bytes(&self) -> Self::EncodedPublicKey {
-        P256PublicKey((&self.secret).into()).to_bytes()
+        P256PublicKey(self.secret.to_public_key()).to_bytes()
     }
 
     fn diffie_hellman(
         self,
         other_pub: &P256PublicKey,
     ) -> Result<<Self::Impl as EcdhProvider<P256>>::SharedSecret, Self::Error> {
-        let shared_secret = self.secret.diffie_hellman(&other_pub.0)?;
-        let bytes: <Self::Impl as EcdhProvider<P256>>::SharedSecret = shared_secret.to_bytes();
-        Ok(bytes)
+        let shared_secret = self.secret.compute_shared_key(&other_pub.0);
+        shared_secret.try_into().map_err(|_| Error::DiffieHellmanFailed)
     }
 }
 
+/// Error type for ECDH operations.
+#[derive(Debug)]
+pub enum Error {
+    /// Failed when trying to convert between representations.
+    ConversionFailed,
+    /// The Diffie-Hellman key exchange failed.
+    DiffieHellmanFailed,
+}
+
 #[cfg(test)]
 impl crypto_provider_test::elliptic_curve::EphemeralSecretForTesting<P256> for P256EphemeralSecret {
     #[allow(clippy::unwrap_used)]
@@ -97,7 +127,7 @@
         private_bytes: &[u8; 32],
         _public_key: &P256PublicKey,
     ) -> Result<Self, Self::Error> {
-        Ok(Self { secret: PrivateKey::from_private_bytes(private_bytes).unwrap() })
+        Ok(Self { secret: PrivateKey::from_big_endian(private_bytes).unwrap() })
     }
 }
 
@@ -109,7 +139,7 @@
 
     #[apply(p256_test_cases)]
     fn p256_tests(testcase: CryptoProviderTestCase<P256Ecdh>, name: &str) {
-        if name == "to_bytes_compressed" {
+        if name.contains("compressed") {
             return; // EC point compression not supported by bssl-crypto yet
         }
         testcase(PhantomData::<P256Ecdh>)
diff --git a/nearby/crypto/crypto_provider_boringssl/src/sha2.rs b/nearby/crypto/crypto_provider_boringssl/src/sha2.rs
index d95294d..fbee81d 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/sha2.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/sha2.rs
@@ -17,9 +17,9 @@
 
 impl crypto_provider::sha2::Sha256 for Sha256 {
     fn sha256(input: &[u8]) -> [u8; 32] {
-        let mut digest = bssl_crypto::digest::Sha256::new_digest();
+        let mut digest = bssl_crypto::digest::Sha256::new();
         digest.update(input);
-        digest.finalize()
+        digest.digest()
     }
 }
 
@@ -28,8 +28,8 @@
 
 impl crypto_provider::sha2::Sha512 for Sha512 {
     fn sha512(input: &[u8]) -> [u8; 64] {
-        let mut digest = bssl_crypto::digest::Sha512::new_digest();
+        let mut digest = bssl_crypto::digest::Sha512::new();
         digest.update(input);
-        digest.finalize()
+        digest.digest()
     }
 }
diff --git a/nearby/crypto/crypto_provider_boringssl/src/x25519.rs b/nearby/crypto/crypto_provider_boringssl/src/x25519.rs
index 58d040b..f8444f6 100644
--- a/nearby/crypto/crypto_provider_boringssl/src/x25519.rs
+++ b/nearby/crypto/crypto_provider_boringssl/src/x25519.rs
@@ -26,29 +26,30 @@
 
 /// A X25519 ephemeral secret used for Diffie-Hellman.
 pub struct X25519EphemeralSecret {
+    public_key: bssl_crypto::x25519::PublicKey,
     secret: bssl_crypto::x25519::PrivateKey,
 }
 
 impl EphemeralSecret<X25519> for X25519EphemeralSecret {
     type Impl = X25519Ecdh;
-    type Error = bssl_crypto::x25519::DiffieHellmanError;
+    type Error = Error;
     type Rng = ();
     type EncodedPublicKey = [u8; 32];
 
     fn generate_random(_rng: &mut Self::Rng) -> Self {
-        Self { secret: bssl_crypto::x25519::PrivateKey::generate() }
+        let key_pair = bssl_crypto::x25519::PrivateKey::generate();
+        Self { public_key: key_pair.0, secret: key_pair.1 }
     }
 
     fn public_key_bytes(&self) -> Self::EncodedPublicKey {
-        let pubkey: bssl_crypto::x25519::PublicKey = (&self.secret).into();
-        pubkey.to_bytes()
+        self.public_key
     }
 
     fn diffie_hellman(
         self,
         other_pub: &<X25519Ecdh as EcdhProvider<X25519>>::PublicKey,
     ) -> Result<<X25519Ecdh as EcdhProvider<X25519>>::SharedSecret, Self::Error> {
-        self.secret.diffie_hellman(&other_pub.0).map(|secret| secret.to_bytes())
+        self.secret.compute_shared_key(&other_pub.0).ok_or(Error::WrongSize)
     }
 }
 
@@ -58,9 +59,12 @@
 {
     fn from_private_components(
         private_bytes: &[u8; 32],
-        _public_key: &X25519PublicKey,
+        public_key: &X25519PublicKey,
     ) -> Result<Self, Self::Error> {
-        Ok(Self { secret: bssl_crypto::x25519::PrivateKey::from_private_bytes(private_bytes) })
+        Ok(Self {
+            public_key: public_key.0,
+            secret: bssl_crypto::x25519::PrivateKey(*private_bytes),
+        })
     }
 }
 
@@ -69,16 +73,16 @@
 pub struct X25519PublicKey(bssl_crypto::x25519::PublicKey);
 
 impl PublicKey<X25519> for X25519PublicKey {
-    type Error = Error;
     type EncodedPublicKey = [u8; 32];
+    type Error = Error;
 
     fn from_bytes(bytes: &[u8]) -> Result<Self, Self::Error> {
         let byte_arr: [u8; 32] = bytes.try_into().map_err(|_| Error::WrongSize)?;
-        Ok(Self(bssl_crypto::x25519::PublicKey::from(&byte_arr)))
+        Ok(Self(bssl_crypto::x25519::PublicKey::from(byte_arr)))
     }
 
     fn to_bytes(&self) -> Self::EncodedPublicKey {
-        self.0.to_bytes()
+        self.0
     }
 }
 
diff --git a/nearby/crypto/crypto_provider_default/Cargo.toml b/nearby/crypto/crypto_provider_default/Cargo.toml
index 4c906e4..d79739b 100644
--- a/nearby/crypto/crypto_provider_default/Cargo.toml
+++ b/nearby/crypto/crypto_provider_default/Cargo.toml
@@ -10,8 +10,7 @@
 [dependencies]
 crypto_provider.workspace = true
 crypto_provider_rustcrypto = {workspace = true, optional = true}
-crypto_provider_boringssl = {path = "../crypto_provider_boringssl", optional = true}
-crypto_provider_openssl = {workspace = true, optional = true}
+crypto_provider_boringssl = {workspace = true, optional = true}
 cfg-if.workspace = true
 
 [features]
@@ -19,5 +18,3 @@
 std = ["crypto_provider_rustcrypto/std"]
 rustcrypto = ["crypto_provider_rustcrypto"]
 boringssl = ["crypto_provider_boringssl"]
-opensslbssl = ["crypto_provider_openssl/boringssl"]
-openssl = ["crypto_provider_openssl"]
diff --git a/nearby/crypto/crypto_provider_default/src/lib.rs b/nearby/crypto/crypto_provider_default/src/lib.rs
index 52da9d4..dcde771 100644
--- a/nearby/crypto/crypto_provider_default/src/lib.rs
+++ b/nearby/crypto/crypto_provider_default/src/lib.rs
@@ -22,8 +22,6 @@
         pub use crypto_provider_rustcrypto::RustCrypto as CryptoProviderImpl;
     } else if #[cfg(feature = "boringssl")] {
         pub use crypto_provider_boringssl::Boringssl as CryptoProviderImpl;
-    } else if #[cfg(any(feature = "openssl", feature = "opensslbssl"))] {
-        pub use crypto_provider_openssl::Openssl as CryptoProviderImpl;
     } else {
         compile_error!("No crypto_provider feature enabled!");
     }
diff --git a/nearby/crypto/crypto_provider_openssl/Cargo.toml b/nearby/crypto/crypto_provider_openssl/Cargo.toml
deleted file mode 100644
index 19ef3e4..0000000
--- a/nearby/crypto/crypto_provider_openssl/Cargo.toml
+++ /dev/null
@@ -1,25 +0,0 @@
-[package]
-name = "crypto_provider_openssl"
-version.workspace = true
-edition.workspace = true
-publish.workspace = true
-
-[lints]
-workspace = true
-
-[dependencies]
-crypto_provider = { workspace = true, features = ["alloc", "std"] }
-crypto_provider_stubs.workspace = true
-openssl.workspace = true
-cfg-if.workspace = true
-
-ouroboros = "0.17.0"
-
-[features]
-default = []
-boringssl = ["openssl/unstable_boringssl"]
-
-[dev-dependencies]
-crypto_provider_test.workspace = true
-rstest.workspace = true
-hex-literal.workspace = true
diff --git a/nearby/crypto/crypto_provider_openssl/src/aes.rs b/nearby/crypto/crypto_provider_openssl/src/aes.rs
deleted file mode 100644
index 857be74..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/aes.rs
+++ /dev/null
@@ -1,273 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Implementation of `crypto_provider::aes` types using openssl's `symm` module.
-
-use openssl::symm::{Cipher, Crypter, Mode};
-
-use crypto_provider::{
-    aes::{
-        cbc::{AesCbcIv, DecryptionError, EncryptionError},
-        ctr::NonceAndCounter,
-        Aes, Aes128Key, Aes256Key, AesBlock, AesCipher, AesDecryptCipher, AesEncryptCipher, AesKey,
-    },
-    tinyvec::SliceVec,
-};
-
-/// Uber struct which contains impls for AES-128 fns
-pub struct Aes128;
-
-impl Aes for Aes128 {
-    type Key = Aes128Key;
-    type EncryptCipher = Aes128Cipher;
-    type DecryptCipher = Aes128Cipher;
-}
-
-/// Uber struct which contains impls for AES-256 fns
-pub struct Aes256;
-
-impl Aes for Aes256 {
-    type Key = Aes256Key;
-    type EncryptCipher = Aes256Cipher;
-    type DecryptCipher = Aes256Cipher;
-}
-
-/// Wrapper around openssl's AES-128 impl
-pub struct Aes128Cipher(Aes128Key);
-
-impl AesCipher for Aes128Cipher {
-    type Key = Aes128Key;
-
-    fn new(key: &Self::Key) -> Self {
-        Self(key.clone())
-    }
-}
-
-impl AesEncryptCipher for Aes128Cipher {
-    fn encrypt(&self, block: &mut AesBlock) {
-        // openssl requires the output to be at least 32 bytes long
-        let mut output = [0_u8; 32];
-        let mut crypter =
-            Crypter::new(Cipher::aes_128_ecb(), Mode::Encrypt, self.0.as_slice(), None).unwrap();
-        crypter.pad(false);
-        let _ = crypter.update(block, &mut output).unwrap();
-        block.copy_from_slice(&output[..crypto_provider::aes::BLOCK_SIZE]);
-    }
-}
-
-impl AesDecryptCipher for Aes128Cipher {
-    fn decrypt(&self, block: &mut AesBlock) {
-        // openssl requires the output to be at least 32 bytes long
-        let mut output = [0_u8; 32];
-        let mut crypter =
-            Crypter::new(Cipher::aes_128_ecb(), Mode::Decrypt, self.0.as_slice(), None).unwrap();
-        crypter.pad(false);
-        let _ = crypter.update(block, &mut output).unwrap();
-        block.copy_from_slice(&output[..crypto_provider::aes::BLOCK_SIZE]);
-    }
-}
-
-/// Wrapper around openssl's AES-128 impl
-pub struct Aes256Cipher(Aes256Key);
-
-impl AesCipher for Aes256Cipher {
-    type Key = Aes256Key;
-
-    fn new(key: &Self::Key) -> Self {
-        Self(key.clone())
-    }
-}
-
-impl AesEncryptCipher for Aes256Cipher {
-    fn encrypt(&self, block: &mut AesBlock) {
-        // openssl requires the output to be at least 32 bytes long
-        let mut output = [0_u8; 32];
-        let mut crypter =
-            Crypter::new(Cipher::aes_256_ecb(), Mode::Encrypt, self.0.as_slice(), None).unwrap();
-        crypter.pad(false);
-        let _ = crypter.update(block, &mut output).unwrap();
-        block.copy_from_slice(&output[..crypto_provider::aes::BLOCK_SIZE]);
-    }
-}
-
-impl AesDecryptCipher for Aes256Cipher {
-    fn decrypt(&self, block: &mut AesBlock) {
-        // openssl requires the output to be at least 32 bytes long
-        let mut output = [0_u8; 32];
-        let mut crypter =
-            Crypter::new(Cipher::aes_256_ecb(), Mode::Decrypt, self.0.as_slice(), None).unwrap();
-        crypter.pad(false);
-        let _ = crypter.update(block, &mut output).unwrap();
-        block.copy_from_slice(&output[..crypto_provider::aes::BLOCK_SIZE]);
-    }
-}
-
-/// OpenSSL implementation of AES-CBC-PKCS7.
-pub struct OpenSslAesCbcPkcs7;
-
-impl crypto_provider::aes::cbc::AesCbcPkcs7Padded for OpenSslAesCbcPkcs7 {
-    fn encrypt(key: &crypto_provider::aes::Aes256Key, iv: &AesCbcIv, message: &[u8]) -> Vec<u8> {
-        openssl::symm::encrypt(Cipher::aes_256_cbc(), key.as_slice(), Some(iv.as_slice()), message)
-            // The output buffer is allocated by the openssl crate and guarantees to have enough
-            // space to hold the output value and does not overlap with the input slice.
-            .expect("encrypt should always succeed")
-    }
-
-    fn encrypt_in_place(
-        key: &Aes256Key,
-        iv: &AesCbcIv,
-        message: &mut SliceVec<u8>,
-    ) -> Result<(), EncryptionError> {
-        let encrypted = Self::encrypt(key, iv, message);
-        if encrypted.len() > message.capacity() {
-            return Err(EncryptionError::PaddingFailed);
-        }
-        message.clear();
-        message.extend_from_slice(&encrypted);
-        Ok(())
-    }
-
-    fn decrypt(
-        key: &crypto_provider::aes::Aes256Key,
-        iv: &AesCbcIv,
-        ciphertext: &[u8],
-    ) -> Result<Vec<u8>, DecryptionError> {
-        openssl::symm::decrypt(
-            Cipher::aes_256_cbc(),
-            key.as_slice(),
-            Some(iv.as_slice()),
-            ciphertext,
-        )
-        .map_err(|_| DecryptionError::BadPadding)
-    }
-
-    fn decrypt_in_place(
-        key: &Aes256Key,
-        iv: &AesCbcIv,
-        ciphertext: &mut SliceVec<u8>,
-    ) -> Result<(), DecryptionError> {
-        Self::decrypt(key, iv, ciphertext).map(|result| {
-            ciphertext.clear();
-            ciphertext.extend_from_slice(&result);
-        })
-    }
-}
-
-/// OpenSSL implementation of AES-CTR-128
-pub struct OpenSslAesCtr128 {
-    enc_cipher: Crypter,
-}
-
-impl crypto_provider::aes::ctr::AesCtr for OpenSslAesCtr128 {
-    type Key = crypto_provider::aes::Aes128Key;
-    fn new(key: &Self::Key, nonce_and_counter: NonceAndCounter) -> Self {
-        Self {
-            enc_cipher: Crypter::new(
-                Cipher::aes_128_ctr(),
-                Mode::Encrypt,
-                key.as_slice(),
-                Some(&nonce_and_counter.as_block_array()),
-            )
-            .unwrap(),
-        }
-    }
-
-    fn apply_keystream(&mut self, data: &mut [u8]) {
-        let mut in_slice = vec![0u8; data.len()];
-        in_slice.copy_from_slice(data);
-        let _ = self.enc_cipher.update(&in_slice, data);
-    }
-}
-
-/// OpenSSL implementation of AES-CTR-256
-pub struct OpenSslAesCtr256 {
-    enc_cipher: Crypter,
-}
-
-impl crypto_provider::aes::ctr::AesCtr for OpenSslAesCtr256 {
-    type Key = crypto_provider::aes::Aes256Key;
-    fn new(key: &Self::Key, nonce_and_counter: NonceAndCounter) -> Self {
-        Self {
-            enc_cipher: Crypter::new(
-                Cipher::aes_256_ctr(),
-                Mode::Encrypt,
-                key.as_slice(),
-                Some(&nonce_and_counter.as_block_array()),
-            )
-            .unwrap(),
-        }
-    }
-
-    fn apply_keystream(&mut self, data: &mut [u8]) {
-        let mut in_slice = vec![0u8; data.len()];
-        in_slice.copy_from_slice(data);
-        let _ = self.enc_cipher.update(&in_slice, data);
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use core::marker::PhantomData;
-
-    use crypto_provider_test::aes::cbc::*;
-    use crypto_provider_test::aes::ctr::*;
-    use crypto_provider_test::aes::*;
-
-    use super::*;
-
-    #[apply(aes_128_ctr_test_cases)]
-    fn aes_128_ctr_test(testcase: CryptoProviderTestCase<OpenSslAesCtr128>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_256_ctr_test_cases)]
-    fn aes_256_ctr_test(testcase: CryptoProviderTestCase<OpenSslAesCtr256>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_128_encrypt_test_cases)]
-    fn aes_128_enc_test(testcase: CryptoProviderTestCase<Aes128Cipher>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_128_decrypt_test_cases)]
-    fn aes_128_dec_test(testcase: CryptoProviderTestCase<Aes128Cipher>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_256_encrypt_test_cases)]
-    fn aes_256_enc_test(testcase: CryptoProviderTestCase<Aes256Cipher>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_256_decrypt_test_cases)]
-    fn aes_256_dec_test(testcase: CryptoProviderTestCase<Aes256Cipher>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(aes_256_cbc_test_cases)]
-    fn aes_256_cbc_test(testcase: CryptoProviderTestCase<OpenSslAesCbcPkcs7>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/ed25519.rs b/nearby/crypto/crypto_provider_openssl/src/ed25519.rs
deleted file mode 100644
index 111348a..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/ed25519.rs
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crypto_provider::ed25519::{
-    InvalidBytes, RawPrivateKey, RawPrivateKeyPermit, RawPublicKey, RawSignature, Signature as _,
-    SignatureError,
-};
-use openssl::pkey::{Id, PKey, Private};
-use openssl::sign::{Signer, Verifier};
-
-pub struct Ed25519;
-
-impl crypto_provider::ed25519::Ed25519Provider for Ed25519 {
-    type KeyPair = KeyPair;
-    type PublicKey = PublicKey;
-    type Signature = Signature;
-}
-
-pub struct KeyPair(PKey<Private>);
-
-impl crypto_provider::ed25519::KeyPair for KeyPair {
-    type PublicKey = PublicKey;
-    type Signature = Signature;
-
-    fn raw_private_key(&self, _permit: &RawPrivateKeyPermit) -> RawPrivateKey {
-        let private_key = self.0.raw_private_key().unwrap();
-        let mut public_key = self.0.raw_public_key().unwrap();
-        let mut result = private_key;
-        result.append(&mut public_key);
-        result.try_into().unwrap()
-    }
-
-    fn from_raw_private_key(bytes: &RawPrivateKey, _permit: &RawPrivateKeyPermit) -> Self {
-        Self(PKey::private_key_from_raw_bytes(bytes, Id::ED25519).unwrap())
-    }
-
-    fn sign(&self, msg: &[u8]) -> Self::Signature {
-        let mut signer =
-            Signer::new_without_digest(&self.0).expect("should be able to create a signer");
-        let sig_bytes: RawSignature = signer
-            .sign_oneshot_to_vec(msg)
-            .expect("singing should succeed")
-            .try_into()
-            .expect("signature should be a valid size");
-
-        Self::Signature::from_bytes(&sig_bytes)
-    }
-
-    fn generate() -> Self {
-        let key = PKey::generate_ed25519().expect("key generation should not fail");
-        Self(key)
-    }
-
-    fn public(&self) -> Self::PublicKey {
-        PublicKey(
-            self.0.raw_public_key().expect("should be able to get a pubic key from a keypair"),
-        )
-    }
-}
-
-pub struct Signature(RawSignature);
-
-impl crypto_provider::ed25519::Signature for Signature {
-    fn from_bytes(bytes: &RawSignature) -> Self {
-        Self(*bytes)
-    }
-
-    fn to_bytes(&self) -> RawSignature {
-        self.0
-    }
-}
-
-pub struct PublicKey(Vec<u8>);
-
-impl crypto_provider::ed25519::PublicKey for PublicKey {
-    type Signature = Signature;
-
-    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidBytes>
-    where
-        Self: Sized,
-    {
-        Ok(PublicKey(bytes.to_vec()))
-    }
-
-    fn to_bytes(&self) -> RawPublicKey {
-        //Should be length 32
-        self.0.as_slice().try_into().unwrap()
-    }
-
-    fn verify_strict(
-        &self,
-        message: &[u8],
-        signature: &Self::Signature,
-    ) -> Result<(), SignatureError> {
-        let public_key = PKey::public_key_from_raw_bytes(self.0.as_slice(), Id::ED25519)
-            .expect("should be a valid public key");
-
-        let mut verifier = Verifier::new_without_digest(public_key.as_ref())
-            .expect("should be able to init verifier");
-        let result = verifier
-            .verify_oneshot(signature.0.as_slice(), message)
-            .expect("should be able to call verify");
-        if result {
-            Ok(())
-        } else {
-            Err(SignatureError)
-        }
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::ed25519::Ed25519;
-    use crypto_provider_test::ed25519::{run_rfc_test_vectors, run_wycheproof_test_vectors};
-
-    #[test]
-    fn wycheproof_test_ed25519_openssl() {
-        run_wycheproof_test_vectors::<Ed25519>()
-    }
-
-    #[test]
-    fn rfc_test_ed25519_openssl() {
-        run_rfc_test_vectors::<Ed25519>()
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/hkdf_boringssl.rs b/nearby/crypto/crypto_provider_openssl/src/hkdf_boringssl.rs
deleted file mode 100644
index 152cdfc..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/hkdf_boringssl.rs
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! BoringSSL based HKDF implementation. Unfortunately, because the OpenSSL and BoringSSL APIs
-//! diverged for HKDF, we have to have separate implementations.
-//!
-//! See the _Using BoringSSL_ section in `crypto/README.md` for instructions on
-//! how to test against BoringSSL, or see the subcommands in the top level crate.
-
-use crate::OpenSslHash;
-use crypto_provider::hkdf::InvalidLength;
-use std::marker::PhantomData;
-
-/// openssl based hkdf implementation
-pub struct Hkdf<H: OpenSslHash> {
-    _marker: PhantomData<H>,
-    salt: Option<Vec<u8>>,
-    ikm: Vec<u8>,
-}
-
-impl<H: OpenSslHash> crypto_provider::hkdf::Hkdf for Hkdf<H> {
-    fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Self {
-        Self { _marker: Default::default(), salt: salt.map(Vec::from), ikm: Vec::from(ikm) }
-    }
-
-    fn expand_multi_info(
-        &self,
-        info_components: &[&[u8]],
-        okm: &mut [u8],
-    ) -> Result<(), InvalidLength> {
-        // open ssl will panic in the case of a 0 length okm, but expected behavior is no-op
-        if okm.is_empty() {
-            return Ok(());
-        }
-        openssl::hkdf::hkdf(
-            okm,
-            H::get_md(),
-            self.ikm.as_slice(),
-            self.salt.as_deref().unwrap_or_default(),
-            &info_components.concat(),
-        )
-        .map_err(|_| InvalidLength)
-        .map(|_| ())
-    }
-
-    fn expand(&self, info: &[u8], okm: &mut [u8]) -> Result<(), InvalidLength> {
-        self.expand_multi_info(&[info], okm)
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::Openssl;
-    use core::marker::PhantomData;
-    use crypto_provider_test::hkdf::*;
-
-    #[apply(hkdf_test_cases)]
-    fn hkdf_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/hkdf_openssl.rs b/nearby/crypto/crypto_provider_openssl/src/hkdf_openssl.rs
deleted file mode 100644
index b726f5f..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/hkdf_openssl.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crate::OpenSslHash;
-use crypto_provider::hkdf::InvalidLength;
-use std::marker::PhantomData;
-
-/// openssl based hkdf implementation
-pub struct Hkdf<H: OpenSslHash> {
-    _marker: PhantomData<H>,
-    salt: Option<Vec<u8>>,
-    ikm: Vec<u8>,
-}
-
-impl<H: OpenSslHash> crypto_provider::hkdf::Hkdf for Hkdf<H> {
-    fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Self {
-        Self { _marker: Default::default(), salt: salt.map(Vec::from), ikm: Vec::from(ikm) }
-    }
-
-    fn expand_multi_info(
-        &self,
-        info_components: &[&[u8]],
-        okm: &mut [u8],
-    ) -> Result<(), InvalidLength> {
-        // open ssl will panic in the case of a 0 length okm, but expected behavior is no-op
-        if okm.is_empty() {
-            return Ok(());
-        }
-        let mut ctx = openssl::pkey_ctx::PkeyCtx::new_id(openssl::pkey::Id::HKDF)
-            .expect("hkdf context should not fail");
-        let md = H::get_md();
-        ctx.derive_init().expect("hkdf derive init should not fail");
-        ctx.set_hkdf_md(md).expect("hkdf set md should not fail");
-        let _ = self.salt.as_ref().map(|salt| {
-            ctx.set_hkdf_salt(salt.as_slice()).expect("setting the salt is infallible")
-        });
-        ctx.set_hkdf_key(self.ikm.as_slice()).expect("should be able to set key");
-        ctx.add_hkdf_info(&info_components.concat()).expect("should be able to add info");
-        ctx.derive(Some(okm)).map_err(|_| InvalidLength).map(|_| ())
-    }
-
-    fn expand(&self, info: &[u8], okm: &mut [u8]) -> Result<(), InvalidLength> {
-        self.expand_multi_info(&[info], okm)
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::Openssl;
-    use core::marker::PhantomData;
-    use crypto_provider_test::hkdf::*;
-
-    #[apply(hkdf_test_cases)]
-    fn hkdf_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/hmac_boringssl.rs b/nearby/crypto/crypto_provider_openssl/src/hmac_boringssl.rs
deleted file mode 100644
index 5272995..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/hmac_boringssl.rs
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! BoringSSL based HMAC implementation. Unfortunately, because the OpenSSL and BoringSSL APIs
-//! diverged (https://boringssl.googlesource.com/boringssl/+/HEAD/PORTING.md#hmac-s), we have to
-//! have separate implementations.
-//!
-//! See the _Using BoringSSL_ section in `crypto/README.md` for instructions on
-//! how to test against BoringSSL, or see the subcommands in the top level crate.
-
-use crate::{sha2::OpenSslSha256, sha2::OpenSslSha512, OpenSslHash};
-use crypto_provider::hmac::{InvalidLength, MacError};
-use openssl::hmac::HmacCtx;
-use openssl::memcmp;
-use std::marker::PhantomData;
-
-/// BoringSSL based HMAC implementation
-pub struct Hmac<H: OpenSslHash> {
-    marker: PhantomData<H>,
-    ctx: HmacCtx,
-}
-
-trait Hash<const N: usize>: OpenSslHash {}
-impl Hash<32> for OpenSslSha256 {}
-impl Hash<64> for OpenSslSha512 {}
-
-impl<const N: usize, H: Hash<N>> crypto_provider::hmac::Hmac<N> for Hmac<H> {
-    fn new_from_key(key: [u8; N]) -> Self {
-        Self { marker: PhantomData, ctx: HmacCtx::new(&key, H::get_md()).unwrap() }
-    }
-
-    fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> {
-        Ok(Self { marker: PhantomData, ctx: HmacCtx::new(key, H::get_md()).unwrap() })
-    }
-
-    fn update(&mut self, data: &[u8]) {
-        self.ctx.update(data).expect("should be able to update signer");
-    }
-
-    fn finalize(mut self) -> [u8; N] {
-        let mut buf = [0_u8; N];
-        let _ = self.ctx.finalize(&mut buf).expect("wrong length");
-        buf
-    }
-
-    fn verify_slice(self, tag: &[u8]) -> Result<(), MacError> {
-        let binding: [u8; N] = self.finalize();
-        let slice = binding.as_slice();
-        if memcmp::eq(slice, tag) {
-            Ok(())
-        } else {
-            Err(MacError)
-        }
-    }
-
-    fn verify(self, tag: [u8; N]) -> Result<(), MacError> {
-        let binding: [u8; N] = self.finalize();
-        let slice = binding.as_slice();
-        if memcmp::eq(slice, &tag) {
-            Ok(())
-        } else {
-            Err(MacError)
-        }
-    }
-
-    fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError> {
-        let binding: [u8; N] = self.finalize();
-        let slice = binding.as_slice();
-        let len = tag.len();
-        if len == 0 || len > H::get_digest().block_size() {
-            return Err(MacError);
-        }
-        let left = slice.get(..len).ok_or(MacError)?;
-        if memcmp::eq(left, tag) {
-            Ok(())
-        } else {
-            Err(MacError)
-        }
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::Openssl;
-    use core::marker::PhantomData;
-    use crypto_provider_test::hmac::*;
-
-    #[apply(hmac_test_cases)]
-    fn hmac_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/hmac_openssl.rs b/nearby/crypto/crypto_provider_openssl/src/hmac_openssl.rs
deleted file mode 100644
index 42f857e..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/hmac_openssl.rs
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crate::{sha2::OpenSslSha256, sha2::OpenSslSha512, OpenSslHash};
-use core::convert::TryInto;
-use crypto_provider::hmac::{InvalidLength, MacError};
-use openssl::memcmp;
-use openssl::pkey::{PKey, Private};
-use openssl::sign::Signer;
-use ouroboros::self_referencing;
-use std::marker::PhantomData;
-
-/// openssl based hmac implementation
-#[self_referencing]
-pub struct Hmac<H: OpenSslHash> {
-    ctx: PKey<Private>,
-    #[borrows(ctx)]
-    #[covariant]
-    signer: Signer<'this>,
-    marker: PhantomData<H>,
-}
-
-impl crypto_provider::hmac::Hmac<32> for Hmac<OpenSslSha256> {
-    fn new_from_key(key: [u8; 32]) -> Self {
-        new_from_key(key)
-    }
-
-    fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> {
-        new_from_slice(key)
-    }
-
-    fn update(&mut self, data: &[u8]) {
-        update(self, data)
-    }
-
-    fn finalize(self) -> [u8; 32] {
-        finalize(self)
-    }
-
-    fn verify_slice(self, tag: &[u8]) -> Result<(), MacError> {
-        verify_slice(self, tag)
-    }
-
-    fn verify(self, tag: [u8; 32]) -> Result<(), MacError> {
-        verify(self, tag)
-    }
-
-    fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError> {
-        verify_truncated_left(self, tag)
-    }
-}
-
-impl crypto_provider::hmac::Hmac<64> for Hmac<OpenSslSha512> {
-    fn new_from_key(key: [u8; 64]) -> Self {
-        new_from_key(key)
-    }
-
-    fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength> {
-        new_from_slice(key)
-    }
-
-    fn update(&mut self, data: &[u8]) {
-        update(self, data)
-    }
-
-    fn finalize(self) -> [u8; 64] {
-        finalize(self)
-    }
-
-    fn verify_slice(self, tag: &[u8]) -> Result<(), MacError> {
-        verify_slice(self, tag)
-    }
-
-    fn verify(self, tag: [u8; 64]) -> Result<(), MacError> {
-        verify(self, tag)
-    }
-
-    fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError> {
-        verify_truncated_left(self, tag)
-    }
-}
-
-fn hmac_from_builder<H: OpenSslHash>(ctx: PKey<Private>) -> Hmac<H> {
-    let digest = H::get_digest();
-    HmacBuilder {
-        ctx,
-        marker: PhantomData,
-        signer_builder: |ctx: &openssl::pkey::PKey<openssl::pkey::Private>| {
-            Signer::new(digest, ctx).expect("should be able to create signer")
-        },
-    }
-    .build()
-}
-
-fn new_from_key<const N: usize, H: OpenSslHash>(key: [u8; N]) -> Hmac<H> {
-    let ctx = openssl::pkey::PKey::hmac(&key)
-        .expect("hmac creation shouldn't fail since key is of valid size");
-    hmac_from_builder(ctx)
-}
-
-fn new_from_slice<H: OpenSslHash>(key: &[u8]) -> Result<Hmac<H>, InvalidLength> {
-    openssl::pkey::PKey::hmac(key).map(hmac_from_builder).map_err(|_| InvalidLength)
-}
-
-fn update<H: OpenSslHash>(hmac: &mut Hmac<H>, data: &[u8]) {
-    hmac.with_signer_mut(|signer| {
-        signer.update(data).expect("should be able to update signer");
-    })
-}
-
-fn finalize<const N: usize, H: OpenSslHash>(hmac: Hmac<H>) -> [u8; N] {
-    hmac.borrow_signer()
-        .sign_to_vec()
-        .expect("sign to vec should succeed")
-        .as_slice()
-        .try_into()
-        .expect("wrong length")
-}
-
-fn verify_slice<H: OpenSslHash>(hmac: Hmac<H>, tag: &[u8]) -> Result<(), MacError> {
-    let binding = hmac.borrow_signer().sign_to_vec().expect("sign to vec should succeed");
-    let slice = binding.as_slice();
-    if memcmp::eq(slice, tag) {
-        Ok(())
-    } else {
-        Err(MacError)
-    }
-}
-
-fn verify<const N: usize, H: OpenSslHash>(hmac: Hmac<H>, tag: [u8; N]) -> Result<(), MacError> {
-    let binding = hmac.borrow_signer().sign_to_vec().expect("sign to vec should succeed");
-    let slice = binding.as_slice();
-    if memcmp::eq(slice, &tag) {
-        Ok(())
-    } else {
-        Err(MacError)
-    }
-}
-
-fn verify_truncated_left<H: OpenSslHash>(hmac: Hmac<H>, tag: &[u8]) -> Result<(), MacError> {
-    let binding = hmac.borrow_signer().sign_to_vec().expect("sign to vec should succeed");
-    let slice = binding.as_slice();
-    let len = tag.len();
-    if len == 0 || len > H::get_digest().block_size() {
-        return Err(MacError);
-    }
-    let left = slice.get(..len).ok_or(MacError)?;
-    if memcmp::eq(left, tag) {
-        Ok(())
-    } else {
-        Err(MacError)
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use crate::Openssl;
-    use core::marker::PhantomData;
-    use crypto_provider_test::hmac::*;
-
-    #[apply(hmac_test_cases)]
-    fn hmac_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/lib.rs b/nearby/crypto/crypto_provider_openssl/src/lib.rs
deleted file mode 100644
index 04b4e4c..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/lib.rs
+++ /dev/null
@@ -1,134 +0,0 @@
-#![forbid(unsafe_code)]
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Crate which provides impls for CryptoProvider backed by openssl
-
-// This crate treats allocation errors as handleable, which leads to unwraps everywhere, so they
-// have to be allowed here. This will be fixed when we can migrate over to the new boringssl bindings
-#![allow(clippy::expect_used, clippy::unwrap_used)]
-
-use cfg_if::cfg_if;
-pub use openssl;
-use openssl::hash::MessageDigest;
-use openssl::md::MdRef;
-use openssl::rand::rand_bytes;
-
-use crypto_provider::CryptoRng;
-
-/// Contains the openssl backed AES implementations for CryptoProvider
-mod aes;
-/// Contains the openssl backed ed25519 impl for key generation, verification, and signing
-mod ed25519;
-
-cfg_if! {
-    if #[cfg(feature = "boringssl")] {
-        /// Contains the boringssl backed hkdf impl for CryptoProvider
-        mod hkdf_boringssl;
-        use hkdf_boringssl as hkdf;
-        /// Contains the boringssl backed hmac impl for CryptoProvider
-        mod hmac_boringssl;
-        use hmac_boringssl as hmac;
-    } else {
-        /// Contains the openssl backed hkdf impl for CryptoProvider
-        mod hkdf_openssl;
-        use hkdf_openssl as hkdf;
-        /// Contains the openssl backed hmac impl for CryptoProvider
-        mod hmac_openssl;
-        use hmac_openssl as hmac;
-    }
-}
-/// Contains the openssl backed NIST-P256 impl for CryptoProvider
-mod p256;
-/// Contains the openssl backed SHA2 impl for CryptoProvider
-mod sha2;
-/// Contains the openssl backed X25519 impl for CryptoProvider
-mod x25519;
-
-/// The the openssl backed struct which implements CryptoProvider
-#[derive(Default, Clone, Debug, PartialEq, Eq)]
-pub struct Openssl;
-
-/// The trait which defines a has used in openssl crypto operations
-pub trait OpenSslHash {
-    /// gets the message digest algorithm to be used by the hmac implementation
-    fn get_digest() -> MessageDigest;
-    /// gets a reference to a message digest algorithm to be used by the hkdf implementation
-    fn get_md() -> &'static MdRef;
-}
-
-impl crypto_provider::CryptoProvider for Openssl {
-    type HkdfSha256 = hkdf::Hkdf<sha2::OpenSslSha256>;
-    type HmacSha256 = hmac::Hmac<sha2::OpenSslSha256>;
-    type HkdfSha512 = hkdf::Hkdf<sha2::OpenSslSha512>;
-    type HmacSha512 = hmac::Hmac<sha2::OpenSslSha512>;
-    type AesCbcPkcs7Padded = aes::OpenSslAesCbcPkcs7;
-    type X25519 = x25519::X25519Ecdh;
-    type P256 = p256::P256Ecdh;
-    type Sha256 = sha2::OpenSslSha256;
-    type Sha512 = sha2::OpenSslSha512;
-    type Aes128 = aes::Aes128;
-    type Aes256 = aes::Aes256;
-    type AesCtr128 = aes::OpenSslAesCtr128;
-    type AesCtr256 = aes::OpenSslAesCtr256;
-    type Ed25519 = ed25519::Ed25519;
-    type Aes128GcmSiv = crypto_provider_stubs::Aes128Stubs;
-    type Aes256GcmSiv = crypto_provider_stubs::Aes256Stubs;
-    type Aes128Gcm = crypto_provider_stubs::Aes128Stubs;
-    type Aes256Gcm = crypto_provider_stubs::Aes256Stubs;
-    type CryptoRng = OpenSslRng;
-
-    fn constant_time_eq(a: &[u8], b: &[u8]) -> bool {
-        a.len() == b.len() && openssl::memcmp::eq(a, b)
-    }
-}
-
-/// OpenSSL implemented random number generator
-pub struct OpenSslRng;
-
-impl CryptoRng for OpenSslRng {
-    fn new() -> Self {
-        OpenSslRng {}
-    }
-
-    fn next_u64(&mut self) -> u64 {
-        let mut buf = [0; 8];
-        rand_bytes(&mut buf).unwrap();
-        u64::from_be_bytes(buf)
-    }
-
-    fn fill(&mut self, dest: &mut [u8]) {
-        rand_bytes(dest).expect("Error in generating random bytes")
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use core::marker::PhantomData;
-
-    use crypto_provider_test::sha2::*;
-    use crypto_provider_test::{prelude::*, *};
-
-    use crate::Openssl;
-
-    #[apply(sha2_test_cases)]
-    fn sha2_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-
-    #[apply(constant_time_eq_test_cases)]
-    fn constant_time_eq_tests(testcase: CryptoProviderTestCase<Openssl>) {
-        testcase(PhantomData);
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/p256.rs b/nearby/crypto/crypto_provider_openssl/src/p256.rs
deleted file mode 100644
index 17dd6ce..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/p256.rs
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crypto_provider::{
-    elliptic_curve::{EcdhProvider, EphemeralSecret},
-    p256::{PointCompression, P256},
-    tinyvec::ArrayVec,
-};
-use openssl::bn::{BigNum, BigNumContext};
-use openssl::derive::Deriver;
-use openssl::ec::{EcGroup, EcKey, EcPoint, PointConversionForm};
-use openssl::error::ErrorStack;
-use openssl::nid::Nid;
-use openssl::pkey::{PKey, Private, Public};
-
-/// Public key type for P256 using OpenSSL's implementation.
-#[derive(Debug)]
-pub struct P256PublicKey(PKey<Public>);
-
-impl PartialEq for P256PublicKey {
-    fn eq(&self, other: &Self) -> bool {
-        self.0.public_eq(&other.0)
-    }
-}
-
-/// Custom error type for OpenSSL operations.
-#[derive(Debug)]
-#[allow(clippy::enum_variant_names)]
-pub enum Error {
-    /// Error from the openssl crate.
-    OpenSslError(ErrorStack),
-    /// Unexpected size for the given input.
-    WrongSize,
-    /// Invalid input given when creating keys from their byte representations.
-    InvalidInput,
-}
-
-impl From<ErrorStack> for Error {
-    fn from(value: ErrorStack) -> Self {
-        Self::OpenSslError(value)
-    }
-}
-
-/// The OpenSSL implementation of P256 public key.
-impl crypto_provider::p256::P256PublicKey for P256PublicKey {
-    type Error = Error;
-
-    fn from_sec1_bytes(bytes: &[u8]) -> Result<Self, Self::Error> {
-        if bytes == [0] {
-            // Single 0 byte means infinity point.
-            return Err(Error::InvalidInput);
-        }
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1)?;
-        let mut bncontext = BigNumContext::new()?;
-        let ecpoint = EcPoint::from_bytes(&ecgroup, bytes, &mut bncontext)?;
-        let eckey = EcKey::from_public_key(&ecgroup, &ecpoint)?;
-        Ok(Self(eckey.try_into()?))
-    }
-
-    fn to_sec1_bytes(&self, point_compression: PointCompression) -> ArrayVec<[u8; 65]> {
-        let point_conversion_form = match point_compression {
-            PointCompression::Compressed => PointConversionForm::COMPRESSED,
-            PointCompression::Uncompressed => PointConversionForm::UNCOMPRESSED,
-        };
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1).unwrap();
-        let mut bncontext = BigNumContext::new().unwrap();
-        let mut bytes = ArrayVec::<[u8; 65]>::new();
-        bytes.extend_from_slice(
-            &self
-                .0
-                .ec_key()
-                .unwrap()
-                .public_key()
-                .to_bytes(&ecgroup, point_conversion_form, &mut bncontext)
-                .unwrap(),
-        );
-        bytes
-    }
-
-    fn from_affine_coordinates(x: &[u8; 32], y: &[u8; 32]) -> Result<Self, Self::Error> {
-        let bn_x = BigNum::from_slice(x)?;
-        let bn_y = BigNum::from_slice(y)?;
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1)?;
-        let eckey = EcKey::from_public_key_affine_coordinates(&ecgroup, &bn_x, &bn_y)?;
-        Ok(Self(eckey.try_into()?))
-    }
-
-    fn to_affine_coordinates(&self) -> Result<([u8; 32], [u8; 32]), Self::Error> {
-        let mut bnctx = openssl::bn::BigNumContext::new()?;
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1)?;
-        let p256_key = self.0.ec_key()?;
-        let mut p256x = BigNum::new()?;
-        let mut p256y = BigNum::new()?;
-        p256_key
-            .public_key()
-            .affine_coordinates_gfp(&ecgroup, &mut p256x, &mut p256y, &mut bnctx)?;
-        Ok((
-            p256x
-                .to_vec_padded(32)
-                .map_err(|_| Error::WrongSize)?
-                .try_into()
-                .expect("to_vec_padded(32) should always return vec of length 32"),
-            p256y
-                .to_vec_padded(32)
-                .map_err(|_| Error::WrongSize)?
-                .try_into()
-                .expect("to_vec_padded(32) should always return vec of length 32"),
-        ))
-    }
-}
-
-/// Private key type for P256 using OpenSSL's implementation.
-pub struct P256EphemeralSecret(PKey<Private>);
-
-impl EphemeralSecret<P256> for P256EphemeralSecret {
-    type Impl = P256Ecdh;
-    type Error = Error;
-    type Rng = ();
-    type EncodedPublicKey = ArrayVec<[u8; 65]>;
-
-    fn generate_random(_rng: &mut Self::Rng) -> Self {
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1).unwrap();
-        let eckey = EcKey::generate(&ecgroup).unwrap();
-        Self(eckey.try_into().unwrap())
-    }
-
-    fn public_key_bytes(&self) -> Self::EncodedPublicKey {
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1).unwrap();
-        let mut bncontext = BigNumContext::new().unwrap();
-        let mut bytes = Self::EncodedPublicKey::new();
-        bytes.extend_from_slice(
-            &self
-                .0
-                .ec_key()
-                .unwrap()
-                .public_key()
-                .to_bytes(&ecgroup, PointConversionForm::COMPRESSED, &mut bncontext)
-                .unwrap(),
-        );
-        bytes
-    }
-
-    fn diffie_hellman(
-        self,
-        other_pub: &<Self::Impl as EcdhProvider<P256>>::PublicKey,
-    ) -> Result<<Self::Impl as EcdhProvider<P256>>::SharedSecret, Self::Error> {
-        let mut deriver = Deriver::new(&self.0)?;
-        deriver.set_peer(&other_pub.0)?;
-        let mut buf = [0_u8; 32];
-        let bytes_written = deriver.derive(&mut buf)?;
-        debug_assert_eq!(bytes_written, 32);
-        Ok(buf)
-    }
-}
-
-#[cfg(test)]
-impl crypto_provider_test::elliptic_curve::EphemeralSecretForTesting<P256> for P256EphemeralSecret {
-    fn from_private_components(
-        private_bytes: &[u8; 32],
-        public_key: &P256PublicKey,
-    ) -> Result<Self, Self::Error> {
-        let ecgroup = EcGroup::from_curve_name(Nid::X9_62_PRIME256V1).unwrap();
-        let private_key_bn = BigNum::from_slice(private_bytes)?;
-        let eckey = EcKey::from_private_components(
-            &ecgroup,
-            &private_key_bn,
-            public_key.0.ec_key()?.public_key(),
-        )?;
-        Ok(Self(eckey.try_into()?))
-    }
-}
-
-/// The OpenSSL implementation of P256 ECDH.
-pub enum P256Ecdh {}
-impl EcdhProvider<P256> for P256Ecdh {
-    type PublicKey = P256PublicKey;
-    type EphemeralSecret = P256EphemeralSecret;
-    type SharedSecret = [u8; 32];
-}
-
-#[cfg(test)]
-mod tests {
-    use super::P256Ecdh;
-    use core::marker::PhantomData;
-    use crypto_provider_test::p256::*;
-
-    #[apply(p256_test_cases)]
-    fn p256_tests(testcase: CryptoProviderTestCase<P256Ecdh>, _name: &str) {
-        testcase(PhantomData)
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/sha2.rs b/nearby/crypto/crypto_provider_openssl/src/sha2.rs
deleted file mode 100644
index 68fee79..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/sha2.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use openssl::hash::MessageDigest;
-use openssl::md::{Md, MdRef};
-use openssl::md_ctx::MdCtx;
-
-use crate::OpenSslHash;
-
-/// openssl sha256 digest algorithm
-#[derive(Clone)]
-pub struct OpenSslSha256 {}
-
-impl OpenSslHash for OpenSslSha256 {
-    fn get_digest() -> MessageDigest {
-        MessageDigest::sha256()
-    }
-
-    fn get_md() -> &'static MdRef {
-        Md::sha256()
-    }
-}
-
-impl crypto_provider::sha2::Sha256 for OpenSslSha256 {
-    fn sha256(input: &[u8]) -> [u8; 32] {
-        let mut mdctx = MdCtx::new().unwrap();
-        mdctx.digest_init(Self::get_md()).unwrap();
-        mdctx.digest_update(input).unwrap();
-        let mut buf = [0_u8; 32];
-        let size = mdctx.digest_final(&mut buf).unwrap();
-        debug_assert_eq!(size, 32);
-        buf
-    }
-}
-
-/// openssl sha512 digest algorithm
-#[derive(Clone)]
-pub struct OpenSslSha512 {}
-
-impl OpenSslHash for OpenSslSha512 {
-    fn get_digest() -> MessageDigest {
-        MessageDigest::sha512()
-    }
-
-    fn get_md() -> &'static MdRef {
-        Md::sha512()
-    }
-}
-
-impl crypto_provider::sha2::Sha512 for OpenSslSha512 {
-    fn sha512(input: &[u8]) -> [u8; 64] {
-        let mut mdctx = MdCtx::new().unwrap();
-        mdctx.digest_init(Self::get_md()).unwrap();
-        mdctx.digest_update(input).unwrap();
-        let mut buf = [0_u8; 64];
-        let size = mdctx.digest_final(&mut buf).unwrap();
-        debug_assert_eq!(size, 64);
-        buf
-    }
-}
diff --git a/nearby/crypto/crypto_provider_openssl/src/x25519.rs b/nearby/crypto/crypto_provider_openssl/src/x25519.rs
deleted file mode 100644
index 2cb4cab..0000000
--- a/nearby/crypto/crypto_provider_openssl/src/x25519.rs
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use crypto_provider::elliptic_curve::{EcdhProvider, EphemeralSecret, PublicKey};
-use crypto_provider::x25519::X25519;
-use openssl::derive::Deriver;
-use openssl::error::ErrorStack;
-use openssl::pkey::{Id, PKey, Private, Public};
-
-/// Public key type for X25519 using OpenSSL's implementation.
-#[derive(Debug)]
-pub struct X25519PublicKey(PKey<Public>);
-
-impl PartialEq for X25519PublicKey {
-    fn eq(&self, other: &Self) -> bool {
-        self.0.public_eq(&other.0)
-    }
-}
-
-impl PublicKey<X25519> for X25519PublicKey {
-    type Error = ErrorStack;
-    type EncodedPublicKey = [u8; 32];
-
-    fn from_bytes(bytes: &[u8]) -> Result<Self, Self::Error> {
-        let key = PKey::public_key_from_raw_bytes(bytes, Id::X25519)?;
-        Ok(X25519PublicKey(key))
-    }
-
-    fn to_bytes(&self) -> Self::EncodedPublicKey {
-        self.0.raw_public_key().unwrap().try_into().unwrap()
-    }
-}
-
-/// Private key type for X25519 using OpenSSL's implementation.
-pub struct X25519PrivateKey(PKey<Private>);
-
-impl EphemeralSecret<X25519> for X25519PrivateKey {
-    type Impl = X25519Ecdh;
-    type Error = ErrorStack;
-    type Rng = ();
-    type EncodedPublicKey = [u8; 32];
-
-    fn generate_random(_rng: &mut Self::Rng) -> Self {
-        let private_key = openssl::pkey::PKey::generate_x25519().unwrap();
-        Self(private_key)
-    }
-
-    fn public_key_bytes(&self) -> Self::EncodedPublicKey {
-        self.0.raw_public_key().unwrap().try_into().unwrap()
-    }
-
-    fn diffie_hellman(
-        self,
-        other_pub: &X25519PublicKey,
-    ) -> Result<<Self::Impl as EcdhProvider<X25519>>::SharedSecret, Self::Error> {
-        let mut deriver = Deriver::new(&self.0)?;
-        deriver.set_peer(&other_pub.0)?;
-        let mut buf = [0_u8; 32];
-        let num_bytes_written = deriver.derive(&mut buf)?;
-        debug_assert_eq!(num_bytes_written, 32);
-        Ok(buf)
-    }
-}
-
-#[cfg(test)]
-impl crypto_provider_test::elliptic_curve::EphemeralSecretForTesting<X25519> for X25519PrivateKey {
-    fn from_private_components(
-        private_bytes: &[u8; 32],
-        _public_key: &<Self::Impl as EcdhProvider<X25519>>::PublicKey,
-    ) -> Result<Self, Self::Error> {
-        let pkey = PKey::private_key_from_raw_bytes(private_bytes, Id::X25519)?;
-        Ok(Self(pkey))
-    }
-}
-
-/// The OpenSSL implementation of X25519 ECDH.
-pub enum X25519Ecdh {}
-impl EcdhProvider<X25519> for X25519Ecdh {
-    type PublicKey = X25519PublicKey;
-    type EphemeralSecret = X25519PrivateKey;
-    type SharedSecret = [u8; 32];
-}
-
-#[cfg(test)]
-mod tests {
-    use core::marker::PhantomData;
-    use crypto_provider_test::x25519::*;
-
-    use super::X25519Ecdh;
-
-    #[apply(x25519_test_cases)]
-    fn x25519_tests(testcase: CryptoProviderTestCase<X25519Ecdh>) {
-        testcase(PhantomData::<X25519Ecdh>)
-    }
-}
diff --git a/nearby/crypto/crypto_provider_rustcrypto/src/ed25519.rs b/nearby/crypto/crypto_provider_rustcrypto/src/ed25519.rs
index ce8089e..46abfc3 100644
--- a/nearby/crypto/crypto_provider_rustcrypto/src/ed25519.rs
+++ b/nearby/crypto/crypto_provider_rustcrypto/src/ed25519.rs
@@ -15,8 +15,8 @@
 use ed25519_dalek::Signer;
 
 use crypto_provider::ed25519::{
-    InvalidBytes, RawPrivateKey, RawPrivateKeyPermit, RawPublicKey, RawSignature, Signature as _,
-    SignatureError, PRIVATE_KEY_LENGTH, PUBLIC_KEY_LENGTH, SIGNATURE_LENGTH,
+    InvalidPublicKeyBytes, RawPrivateKey, RawPrivateKeyPermit, RawPublicKey, RawSignature,
+    Signature as _, SignatureError, PRIVATE_KEY_LENGTH, PUBLIC_KEY_LENGTH, SIGNATURE_LENGTH,
 };
 
 pub struct Ed25519;
@@ -76,11 +76,13 @@
 impl crypto_provider::ed25519::PublicKey for PublicKey {
     type Signature = Signature;
 
-    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidBytes>
+    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidPublicKeyBytes>
     where
         Self: Sized,
     {
-        ed25519_dalek::VerifyingKey::from_bytes(bytes).map(PublicKey).map_err(|_| InvalidBytes)
+        ed25519_dalek::VerifyingKey::from_bytes(bytes)
+            .map(PublicKey)
+            .map_err(|_| InvalidPublicKeyBytes)
     }
 
     fn to_bytes(&self) -> [u8; PUBLIC_KEY_LENGTH] {
diff --git a/nearby/crypto/crypto_provider_stubs/src/lib.rs b/nearby/crypto/crypto_provider_stubs/src/lib.rs
index 32c9381..83d54ff 100644
--- a/nearby/crypto/crypto_provider_stubs/src/lib.rs
+++ b/nearby/crypto/crypto_provider_stubs/src/lib.rs
@@ -29,7 +29,7 @@
         Aes, Aes128Key, Aes256Key, AesBlock, AesCipher, AesDecryptCipher, AesEncryptCipher,
     },
     ed25519::{
-        self, Ed25519Provider, InvalidBytes, KeyPair, RawPrivateKey, RawPrivateKeyPermit,
+        self, Ed25519Provider, InvalidPublicKeyBytes, KeyPair, RawPrivateKey, RawPrivateKeyPermit,
         RawPublicKey, RawSignature, Signature, SignatureError,
     },
     elliptic_curve::{EcdhProvider, EphemeralSecret, PublicKey},
@@ -480,7 +480,7 @@
 impl ed25519::PublicKey for PublicKeyStubs {
     type Signature = SignatureStubs;
 
-    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidBytes>
+    fn from_bytes(bytes: &RawPublicKey) -> Result<Self, InvalidPublicKeyBytes>
     where
         Self: Sized,
     {
diff --git a/nearby/crypto/crypto_provider_test/fuzz/Cargo.lock b/nearby/crypto/crypto_provider_test/fuzz/Cargo.lock
index bd8f6f9..72c827b 100644
--- a/nearby/crypto/crypto_provider_test/fuzz/Cargo.lock
+++ b/nearby/crypto/crypto_provider_test/fuzz/Cargo.lock
@@ -54,16 +54,10 @@
 ]
 
 [[package]]
-name = "aliasable"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
-
-[[package]]
 name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 dependencies = [
  "derive_arbitrary",
 ]
@@ -75,12 +69,6 @@
 checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
 
 [[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
 name = "block-buffer"
 version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -99,10 +87,21 @@
 ]
 
 [[package]]
+name = "bssl-crypto"
+version = "0.2.0"
+dependencies = [
+ "bssl-sys",
+]
+
+[[package]]
+name = "bssl-sys"
+version = "0.1.0"
+
+[[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cbc"
@@ -115,11 +114,12 @@
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -140,24 +140,24 @@
 
 [[package]]
 name = "const-oid"
-version = "0.9.4"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crypto-bigint"
-version = "0.5.2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -184,27 +184,24 @@
 ]
 
 [[package]]
+name = "crypto_provider_boringssl"
+version = "0.1.0"
+dependencies = [
+ "bssl-crypto",
+ "crypto_provider",
+]
+
+[[package]]
 name = "crypto_provider_default"
 version = "0.1.0"
 dependencies = [
  "cfg-if",
  "crypto_provider",
- "crypto_provider_openssl",
+ "crypto_provider_boringssl",
  "crypto_provider_rustcrypto",
 ]
 
 [[package]]
-name = "crypto_provider_openssl"
-version = "0.1.0"
-dependencies = [
- "cfg-if",
- "crypto_provider",
- "crypto_provider_stubs",
- "openssl",
- "ouroboros",
-]
-
-[[package]]
 name = "crypto_provider_rustcrypto"
 version = "0.1.0"
 dependencies = [
@@ -230,13 +227,6 @@
 ]
 
 [[package]]
-name = "crypto_provider_stubs"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
-]
-
-[[package]]
 name = "crypto_provider_test-fuzz"
 version = "0.0.0"
 dependencies = [
@@ -257,9 +247,9 @@
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -273,20 +263,20 @@
 
 [[package]]
 name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.26",
+ "syn",
 ]
 
 [[package]]
 name = "der"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 dependencies = [
  "const-oid",
  "zeroize",
@@ -294,13 +284,13 @@
 
 [[package]]
 name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.26",
+ "syn",
 ]
 
 [[package]]
@@ -316,30 +306,31 @@
 
 [[package]]
 name = "ed25519"
-version = "2.2.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
 dependencies = [
  "signature",
 ]
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core",
  "sha2",
+ "subtle",
 ]
 
 [[package]]
 name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
@@ -366,24 +357,9 @@
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "generic-array"
@@ -398,9 +374,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -429,16 +405,10 @@
 ]
 
 [[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -464,24 +434,24 @@
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libfuzzer-sys"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb09950ae85a0a94b27676cccf37da5ff13f27076aa1adbc6545dd0d0e1bd4e"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
 dependencies = [
  "arbitrary",
  "cc",
@@ -490,9 +460,9 @@
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -501,68 +471,6 @@
 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
-name = "openssl"
-version = "0.10.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.26",
-]
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.90"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "ouroboros"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4361ddfdd108bddc19367ba805a3a43773d8bc3e407ac30e6c364cd264dd52e"
-dependencies = [
- "aliasable",
- "ouroboros_macro",
- "static_assertions",
-]
-
-[[package]]
-name = "ouroboros_macro"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b81e113ed913910f05ef45c9344f67588fe6395f92d906eedf9ee5d54279922"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 2.0.26",
-]
-
-[[package]]
 name = "p256"
 version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -573,16 +481,10 @@
 ]
 
 [[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
 name = "platforms"
-version = "3.0.2"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "polyval"
@@ -604,51 +506,27 @@
 
 [[package]]
 name = "primeorder"
-version = "0.13.2"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
 dependencies = [
  "elliptic-curve",
 ]
 
 [[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
-]
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -705,15 +583,15 @@
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -722,15 +600,9 @@
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 
 [[package]]
 name = "subtle"
@@ -740,19 +612,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.109"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -767,15 +629,15 @@
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "universal-hash"
@@ -788,12 +650,6 @@
 ]
 
 [[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -807,9 +663,9 @@
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -817,6 +673,6 @@
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/nearby/crypto/crypto_provider_test/fuzz/Cargo.toml b/nearby/crypto/crypto_provider_test/fuzz/Cargo.toml
index 68fad3e..5bfc9ab 100644
--- a/nearby/crypto/crypto_provider_test/fuzz/Cargo.toml
+++ b/nearby/crypto/crypto_provider_test/fuzz/Cargo.toml
@@ -15,7 +15,7 @@
 
 [features]
 default = ["crypto_provider_default/default"]
-openssl = ["crypto_provider_default/openssl"]
+boringssl = ["crypto_provider_default/boringssl"]
 
 # Prevent this from interfering with workspaces
 [workspace]
diff --git a/nearby/presence/CMakeLists.txt b/nearby/presence/CMakeLists.txt
index 9670c34..ec93edd 100644
--- a/nearby/presence/CMakeLists.txt
+++ b/nearby/presence/CMakeLists.txt
@@ -14,15 +14,12 @@
 
 cmake_minimum_required(VERSION 3.14)
 
-project(NearbyProtocol)
+project(NearbyPresenceProtocol)
 
-# required for designated initializers on MSVC
 set(CMAKE_CXX_STANDARD 20)
 
-# root directory of repo
 set(BETO_CORE_ROOT ${CMAKE_SOURCE_DIR}/../..)
-
-# location of external third_party dependencies
+set(NEARBY_ROOT ${CMAKE_SOURCE_DIR}/..)
 set(THIRD_PARTY_DIR ${BETO_CORE_ROOT}/third_party)
 
 set(CMAKE_C_FLAGS_DEBUG "-DDEBUG")
@@ -32,13 +29,6 @@
     set(CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_C_FLAGS_DEBUG}")
 endif ()
 
-find_package(OpenSSL REQUIRED)
-if (OPENSSL_FOUND)
-    message(STATUS "OpenSSL Found: ${OPENSSL_VERSION}")
-    message(STATUS "OpenSSL Include: ${OPENSSL_INCLUDE_DIR}")
-    message(STATUS "OpenSSL Libraries: ${OPENSSL_LIBRARIES}")
-endif ()
-
 if (MSVC)
     add_compile_options(-W4 -O1 -MD)
 endif ()
@@ -46,6 +36,10 @@
 if (ENABLE_TESTS)
     message(STATUS "Enabling workspace wide tests")
 
+    # We want to suppress warnings coming from external libraries as they just
+    # pollute the build output
+    add_compile_options(-w)
+
     # Setup GoogleTest
     include(FetchContent)
     FetchContent_Declare(
@@ -69,19 +63,42 @@
     )
 endif ()
 
-# Add these compile options for our own code, not needed for the above deps
-if (UNIX)
-    add_compile_options(-Wall -Wextra -Wimplicit-fallthrough -Wextra-semi
-            -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi
-            -Wshadow
-            -Wsign-compare)
-endif()
+set(ABSL_PROPAGATE_CXX_STD ON)
+if (ENABLE_FUZZ)
+    if (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+        MESSAGE(FATAL_ERROR "fuzzing is only enabed when building with Clang, please set CC and CXX to use clang instead of ${CMAKE_CXX_COMPILER_ID}")
+    endif()
 
+    add_subdirectory(${THIRD_PARTY_DIR}/boringssl boringssl-build)
+    add_subdirectory(${THIRD_PARTY_DIR}/fuzztest fuzztest-build)
+    enable_testing()
+    include(GoogleTest)
+else ()
+    # fuzztest handles pulling in absl, so we if we are not building fuzzers we need
+    # to include it ourselves via third_party.
+    add_subdirectory(${THIRD_PARTY_DIR}/abseil-cpp ${THIRD_PARTY_DIR}/abseil-cpp/build)
+endif ()
+
+if (UNIX)
+    set_directory_properties(
+            PROPERTIES
+            COMPILE_OPTIONS
+            -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi
+            -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi
+            -Wshadow -Wsign-compare
+    )
+endif ()
+
+# rust std lib requires linking against these
+if (UNIX)
+    link_libraries(
+            dl pthread -fsanitize=address
+    )
+elseif (MSVC)
+    link_libraries(
+            bcrypt ntdll userenv ws2_32
+    )
+endif ()
 
 add_subdirectory(np_cpp_ffi)
-add_subdirectory(ldt_np_c_sample)
-
-if (ENABLE_FUZZ)
-    message(STATUS "Building fuzzers")
-    add_subdirectory(ldt_np_adv_ffi_fuzz)
-endif ()
+add_subdirectory(ldt_np_adv_ffi/c)
diff --git a/nearby/presence/README.md b/nearby/presence/README.md
index fe63af1..e7868b5 100644
--- a/nearby/presence/README.md
+++ b/nearby/presence/README.md
@@ -59,17 +59,6 @@
 We depend on OpenSSL of version at least 3.0.5 being installed on your machine
 to build the fuzzers, for macOS run:
 
-```
-brew install openssl@3
-```
-
-Your build system may still be picking up an older version so you will have to
-symlink to the brew installed version:
-
-```
-brew link --force openssl
-```
-
 The in-box version of Clang which comes from XCode developer tools does not have
 a fuzzer runtime so we will have to use our own
 
diff --git a/nearby/presence/ldt/fuzz/Cargo.lock b/nearby/presence/ldt/fuzz/Cargo.lock
index 419d9e9..3298a9e 100644
--- a/nearby/presence/ldt/fuzz/Cargo.lock
+++ b/nearby/presence/ldt/fuzz/Cargo.lock
@@ -55,9 +55,9 @@
 
 [[package]]
 name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 dependencies = [
  "derive_arbitrary",
 ]
@@ -92,9 +92,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cbc"
@@ -107,11 +107,12 @@
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -132,24 +133,24 @@
 
 [[package]]
 name = "const-oid"
-version = "0.9.4"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crypto-bigint"
-version = "0.5.2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -211,9 +212,9 @@
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -227,9 +228,9 @@
 
 [[package]]
 name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -238,9 +239,9 @@
 
 [[package]]
 name = "der"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 dependencies = [
  "const-oid",
  "zeroize",
@@ -248,9 +249,9 @@
 
 [[package]]
 name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -270,30 +271,31 @@
 
 [[package]]
 name = "ed25519"
-version = "2.2.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
 dependencies = [
  "signature",
 ]
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core",
  "sha2",
+ "subtle",
 ]
 
 [[package]]
 name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
@@ -320,9 +322,9 @@
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "generic-array"
@@ -337,9 +339,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -369,9 +371,9 @@
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -397,9 +399,9 @@
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
@@ -432,15 +434,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libfuzzer-sys"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb09950ae85a0a94b27676cccf37da5ff13f27076aa1adbc6545dd0d0e1bd4e"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
 dependencies = [
  "arbitrary",
  "cc",
@@ -449,9 +451,9 @@
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -471,9 +473,9 @@
 
 [[package]]
 name = "platforms"
-version = "3.0.2"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "polyval"
@@ -495,27 +497,27 @@
 
 [[package]]
 name = "primeorder"
-version = "0.13.2"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
 dependencies = [
  "elliptic-curve",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -572,15 +574,15 @@
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -589,9 +591,9 @@
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 
 [[package]]
 name = "subtle"
@@ -601,9 +603,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.26"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -618,15 +620,15 @@
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "universal-hash"
@@ -652,9 +654,9 @@
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -671,6 +673,6 @@
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/nearby/presence/ldt_np_adv/Cargo.toml b/nearby/presence/ldt_np_adv/Cargo.toml
index 3f19bdd..ce84505 100644
--- a/nearby/presence/ldt_np_adv/Cargo.toml
+++ b/nearby/presence/ldt_np_adv/Cargo.toml
@@ -21,7 +21,6 @@
 
 [dev-dependencies]
 crypto_provider_default = { workspace = true, features = ["rustcrypto", "std"] }
-crypto_provider_openssl.workspace = true
 rand_ext.workspace = true
 test_helper.workspace = true
 
diff --git a/nearby/presence/ldt_np_adv/benches/ldt_adv_scan.rs b/nearby/presence/ldt_np_adv/benches/ldt_adv_scan.rs
index 7c0b4aa..b8de6fd 100644
--- a/nearby/presence/ldt_np_adv/benches/ldt_adv_scan.rs
+++ b/nearby/presence/ldt_np_adv/benches/ldt_adv_scan.rs
@@ -21,8 +21,7 @@
 use rand::{Rng as _, SeedableRng as _};
 
 use crypto_provider::CryptoProvider;
-use crypto_provider_openssl::Openssl;
-use crypto_provider_rustcrypto::RustCrypto;
+use crypto_provider_default::CryptoProviderImpl;
 
 use np_hkdf::NpKeySeedHkdf;
 
@@ -57,7 +56,7 @@
     }
 }
 
-criterion_group!(benches, ldt_adv_scan::<RustCrypto>, ldt_adv_scan::<Openssl>);
+criterion_group!(benches, ldt_adv_scan::<CryptoProviderImpl>);
 criterion_main!(benches);
 
 fn find_matching_item<C: CryptoProvider>(
diff --git a/nearby/presence/ldt_np_adv/fuzz/Cargo.lock b/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
index 6b6ef4b..0a85bd9 100644
--- a/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
+++ b/nearby/presence/ldt_np_adv/fuzz/Cargo.lock
@@ -55,9 +55,9 @@
 
 [[package]]
 name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 dependencies = [
  "derive_arbitrary",
 ]
@@ -96,9 +96,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cbc"
@@ -111,11 +111,12 @@
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -136,24 +137,24 @@
 
 [[package]]
 name = "const-oid"
-version = "0.9.4"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crypto-bigint"
-version = "0.5.2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -215,9 +216,9 @@
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -231,9 +232,9 @@
 
 [[package]]
 name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -242,9 +243,9 @@
 
 [[package]]
 name = "der"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 dependencies = [
  "const-oid",
  "zeroize",
@@ -252,9 +253,9 @@
 
 [[package]]
 name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -274,30 +275,31 @@
 
 [[package]]
 name = "ed25519"
-version = "2.2.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
 dependencies = [
  "signature",
 ]
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core",
  "sha2",
+ "subtle",
 ]
 
 [[package]]
 name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
@@ -324,9 +326,9 @@
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "generic-array"
@@ -341,9 +343,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -373,9 +375,9 @@
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -401,9 +403,9 @@
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
@@ -450,15 +452,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libfuzzer-sys"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb09950ae85a0a94b27676cccf37da5ff13f27076aa1adbc6545dd0d0e1bd4e"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
 dependencies = [
  "arbitrary",
  "cc",
@@ -476,9 +478,9 @@
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -498,9 +500,9 @@
 
 [[package]]
 name = "platforms"
-version = "3.0.2"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "polyval"
@@ -522,27 +524,27 @@
 
 [[package]]
 name = "primeorder"
-version = "0.13.2"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
 dependencies = [
  "elliptic-curve",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -599,15 +601,15 @@
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -616,9 +618,9 @@
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 
 [[package]]
 name = "subtle"
@@ -628,9 +630,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.26"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -645,15 +647,15 @@
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "universal-hash"
@@ -679,9 +681,9 @@
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -698,6 +700,6 @@
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/nearby/presence/ldt_np_adv_ffi/.cargo/config.toml b/nearby/presence/ldt_np_adv_ffi/.cargo/config.toml
deleted file mode 100644
index 430406b..0000000
--- a/nearby/presence/ldt_np_adv_ffi/.cargo/config.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-[target.aarch64-apple-darwin]
-rustflags = [
-  "-lSystem",
-]
-
-[target.x86_64-apple-darwin]
-rustflags = [
-  "-lSystem",
-]
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_adv_ffi/Cargo.lock b/nearby/presence/ldt_np_adv_ffi/Cargo.lock
deleted file mode 100644
index 3f7e2a7..0000000
--- a/nearby/presence/ldt_np_adv_ffi/Cargo.lock
+++ /dev/null
@@ -1,946 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aead"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
-dependencies = [
- "bytes",
- "crypto-common",
- "generic-array",
-]
-
-[[package]]
-name = "aes"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
-[[package]]
-name = "aes-gcm"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "ghash",
- "subtle",
-]
-
-[[package]]
-name = "aes-gcm-siv"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "polyval",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "aliasable"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
-
-[[package]]
-name = "array_ref"
-version = "0.1.0"
-
-[[package]]
-name = "array_view"
-version = "0.1.0"
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "base16ct"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-
-[[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bssl-crypto"
-version = "0.1.0"
-dependencies = [
- "bssl-sys",
-]
-
-[[package]]
-name = "bssl-sys"
-version = "0.1.0"
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-
-[[package]]
-name = "cbc"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
-]
-
-[[package]]
-name = "const-oid"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6340df57935414636969091153f35f68d9f00bbc8fb4a9c6054706c213e6c6bc"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-bigint"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
-dependencies = [
- "generic-array",
- "rand_core",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "rand_core",
- "typenum",
-]
-
-[[package]]
-name = "crypto_provider"
-version = "0.1.0"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "crypto_provider_boringssl"
-version = "0.1.0"
-dependencies = [
- "bssl-crypto",
- "crypto_provider",
-]
-
-[[package]]
-name = "crypto_provider_openssl"
-version = "0.1.0"
-dependencies = [
- "cfg-if",
- "crypto_provider",
- "crypto_provider_stubs",
- "openssl",
- "ouroboros",
-]
-
-[[package]]
-name = "crypto_provider_rustcrypto"
-version = "0.1.0"
-dependencies = [
- "aead",
- "aes",
- "aes-gcm",
- "aes-gcm-siv",
- "cbc",
- "cfg-if",
- "crypto_provider",
- "ctr",
- "ed25519-dalek",
- "hkdf",
- "hmac",
- "p256",
- "rand",
- "rand_chacha",
- "rand_core",
- "sec1",
- "sha2",
- "subtle",
- "x25519-dalek",
-]
-
-[[package]]
-name = "crypto_provider_stubs"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
-]
-
-[[package]]
-name = "ctr"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "curve25519-dalek"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "curve25519-dalek-derive",
- "digest",
- "fiat-crypto",
- "platforms",
- "rustc_version",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "curve25519-dalek-derive"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.22",
-]
-
-[[package]]
-name = "der"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
-dependencies = [
- "const-oid",
- "zeroize",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "ed25519"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
-dependencies = [
- "pkcs8",
- "signature",
-]
-
-[[package]]
-name = "ed25519-dalek"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
-dependencies = [
- "curve25519-dalek",
- "ed25519",
- "rand_core",
- "serde",
- "sha2",
- "zeroize",
-]
-
-[[package]]
-name = "elliptic-curve"
-version = "0.13.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
-dependencies = [
- "base16ct",
- "crypto-bigint",
- "digest",
- "ff",
- "generic-array",
- "group",
- "hkdf",
- "rand_core",
- "sec1",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "ff"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
-dependencies = [
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "fiat-crypto"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
- "zeroize",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "ghash"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
-dependencies = [
- "opaque-debug",
- "polyval",
-]
-
-[[package]]
-name = "group"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
-dependencies = [
- "ff",
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hkdf"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
-dependencies = [
- "hmac",
-]
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "inout"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
-dependencies = [
- "block-padding",
- "generic-array",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-dependencies = [
- "spin 0.5.2",
-]
-
-[[package]]
-name = "ldt"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
- "ldt_tbc",
-]
-
-[[package]]
-name = "ldt_np_adv"
-version = "0.1.0"
-dependencies = [
- "array_view",
- "crypto_provider",
- "ldt",
- "ldt_tbc",
- "np_hkdf",
- "xts_aes",
-]
-
-[[package]]
-name = "ldt_np_adv_ffi"
-version = "0.1.0"
-dependencies = [
- "cfg-if",
- "crypto_provider",
- "crypto_provider_boringssl",
- "crypto_provider_openssl",
- "crypto_provider_rustcrypto",
- "lazy_static",
- "ldt",
- "ldt_np_adv",
- "libc_alloc",
- "np_hkdf",
- "panic-abort",
- "rand",
- "spin 0.9.8",
-]
-
-[[package]]
-name = "ldt_tbc"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.147"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-
-[[package]]
-name = "libc_alloc"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a090348b66d90d8507e30f0d2bd88e5a5c454bd1733fc6d617cbc3471bf69ea"
-
-[[package]]
-name = "lock_api"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "np_hkdf"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
- "ldt",
- "xts_aes",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "openssl"
-version = "0.10.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.22",
-]
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.90"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "ouroboros"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d813b7b31a82efae94bd30ffaac09aec85efc18db2d5ec3aead1a220ee954351"
-dependencies = [
- "aliasable",
- "ouroboros_macro",
- "static_assertions",
-]
-
-[[package]]
-name = "ouroboros_macro"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a56f651b4dd45ae3ac3d260ced32eaf0620cddaae5f26c69b554a9016594726"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 2.0.22",
-]
-
-[[package]]
-name = "p256"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
-dependencies = [
- "elliptic-curve",
- "primeorder",
-]
-
-[[package]]
-name = "panic-abort"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e20e6499bbbc412f280b04a42346b356c6fa0753d5fd22b7bd752ff34c778ee"
-
-[[package]]
-name = "pkcs8"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
-dependencies = [
- "der",
- "spki",
-]
-
-[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "platforms"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
-
-[[package]]
-name = "polyval"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "primeorder"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
-dependencies = [
- "elliptic-curve",
-]
-
-[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.63"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "sec1"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e"
-dependencies = [
- "base16ct",
- "der",
- "generic-array",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
-
-[[package]]
-name = "serde"
-version = "1.0.164"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
-
-[[package]]
-name = "sha2"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "signature"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
-name = "spki"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
-dependencies = [
- "base64ct",
- "der",
-]
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "subtle"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
-
-[[package]]
-name = "universal-hash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
-dependencies = [
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "x25519-dalek"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
-dependencies = [
- "curve25519-dalek",
- "rand_core",
-]
-
-[[package]]
-name = "xts_aes"
-version = "0.1.0"
-dependencies = [
- "array_ref",
- "crypto_provider",
- "ldt_tbc",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
diff --git a/nearby/presence/ldt_np_adv_ffi/Cargo.toml b/nearby/presence/ldt_np_adv_ffi/Cargo.toml
index 829f932..fdc5501 100644
--- a/nearby/presence/ldt_np_adv_ffi/Cargo.toml
+++ b/nearby/presence/ldt_np_adv_ffi/Cargo.toml
@@ -5,41 +5,24 @@
 publish = false
 
 [dependencies]
-crypto_provider = { path = "../../crypto/crypto_provider" }
-crypto_provider_openssl = { path = "../../crypto/crypto_provider_openssl", optional = true }
-crypto_provider_rustcrypto = { path = "../../crypto/crypto_provider_rustcrypto", optional = true }
-crypto_provider_boringssl = { path = "../../crypto/crypto_provider_boringssl", optional = true }
-ldt = { path = "../ldt" }
-ldt_np_adv = { path = "../ldt_np_adv" }
-np_hkdf = { path = "../np_hkdf" }
+crypto_provider_default.workspace = true
+crypto_provider.workspace = true
+ldt.workspace = true
+ldt_np_adv.workspace = true
+np_hkdf.workspace = true
 
-cfg-if = "1.0.0"
-lazy_static = { version = "1.4.0" }
-
-# no_std only deps
-libc_alloc = { version = "1.0.4", optional = true }
-panic-abort = { version = "0.3.2", optional = true }
-spin = { version = "0.9.8", optional = true }
+cfg-if.workspace = true
+lazy_static.workspace = true
+spin = { workspace = true, optional = true }
 
 [dev-dependencies]
-rand = "0.8.5"
+rand.workspace = true
 
 [lib]
 # boringssl and bssl-sys are built as a static lib, so we need to as well
 crate-type = ["staticlib"]
 
 [features]
-# by default we support no_std and use rustcrypto primitives
-default = ["lazy_static/spin_no_std", "spin", "libc_alloc", "panic-abort", "crypto_provider_rustcrypto"]
-std = ["crypto_provider_rustcrypto", "crypto_provider_rustcrypto/std"]
-openssl = ["crypto_provider_openssl"]
-boringssl = ["crypto_provider_boringssl"]
-
-[profile.release-min-size]
-inherits = "release"
-panic = "abort"
-codegen-units = 1
-lto = true
-# z optimizes for size
-opt-level = "z"
-strip = true
+default = ["lazy_static/spin_no_std", "spin", "crypto_provider_default/rustcrypto"]
+std = ["crypto_provider_default/std", "crypto_provider_default/rustcrypto"]
+boringssl = ["crypto_provider_default/boringssl"]
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_adv_ffi/c/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi/c/CMakeLists.txt
new file mode 100644
index 0000000..476b228
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/CMakeLists.txt
@@ -0,0 +1,49 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Use ExternalProject to ensure that the rust artifacts are built
+include(ExternalProject)
+set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/target/tmp)
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+    set(CARGO_ARTIFACT_DIR debug)
+    set(CARGO_PROFILE dev)
+else ()
+    set(CARGO_ARTIFACT_DIR release)
+    set(CARGO_PROFILE release)
+endif ()
+
+ExternalProject_Add(
+        ldt_np_adv_ffi
+        DOWNLOAD_COMMAND ""
+        CONFIGURE_COMMAND ""
+        BUILD_COMMAND cargo build -p ldt_np_adv_ffi --no-default-features --features std --profile=${CARGO_PROFILE}
+        BUILD_BYPRODUCTS ${NEARBY_ROOT}/target/${CARGO_ARTIFACT_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}
+        BINARY_DIR "${NEARBY_ROOT}/target/"
+        INSTALL_COMMAND "")
+
+include_directories(${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/c/include/)
+
+add_subdirectory(sample)
+
+if (ENABLE_TESTS)
+    message(STATUS "Enabling ldt tests")
+    add_subdirectory(tests)
+    add_subdirectory(benchmarks)
+endif ()
+
+# Fuzzers won't build on windows so we need a separate flag to pull them in
+if (ENABLE_FUZZ)
+    message(STATUS "Enabling ldt fuzzers")
+    add_subdirectory(fuzz)
+endif ()
diff --git a/nearby/presence/ldt_np_adv_ffi/c/benchmarks/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi/c/benchmarks/CMakeLists.txt
new file mode 100644
index 0000000..330c5ab
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/benchmarks/CMakeLists.txt
@@ -0,0 +1,24 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+add_executable(
+  ldt_benchmarks
+  ldt_benchmarks.cc
+)
+
+target_link_libraries(
+  ldt_benchmarks
+  "${NEARBY_ROOT}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+  benchmark::benchmark
+)
diff --git a/nearby/presence/ldt_np_c_sample/tests/ldt_benchmarks.cc b/nearby/presence/ldt_np_adv_ffi/c/benchmarks/ldt_benchmarks.cc
similarity index 100%
rename from nearby/presence/ldt_np_c_sample/tests/ldt_benchmarks.cc
rename to nearby/presence/ldt_np_adv_ffi/c/benchmarks/ldt_benchmarks.cc
diff --git a/nearby/presence/ldt_np_adv_ffi/c/fuzz/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi/c/fuzz/CMakeLists.txt
new file mode 100644
index 0000000..3c64c8e
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/fuzz/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+fuzztest_setup_fuzzing_flags()
+
+add_executable(
+        ldt_fuzzer
+        ldt_fuzzer.cc
+)
+
+target_link_libraries(
+        ldt_fuzzer
+        PRIVATE
+        optimized "${NEARBY_ROOT}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+        debug "${NEARBY_ROOT}/target/debug/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+        ssl)
+
+link_fuzztest(ldt_fuzzer)
+gtest_discover_tests(ldt_fuzzer)
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_adv_ffi/c/fuzz/ldt_fuzzer.cc b/nearby/presence/ldt_np_adv_ffi/c/fuzz/ldt_fuzzer.cc
new file mode 100644
index 0000000..dbe136d
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/fuzz/ldt_fuzzer.cc
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <array>
+#include <vector>
+
+#include "fuzztest/fuzztest.h"
+#include "gtest/gtest.h"
+#include "np_ldt.h"
+#include "openssl/digest.h"
+#include "openssl/hkdf.h"
+#include "openssl/hmac.h"
+#include "openssl/obj_mac.h"
+
+void LdtDecryptBadMac(std::array<uint8_t, 32> key_seed_bytes,
+                      std::array<uint8_t, 2> salt_bytes,
+                      std::vector<uint8_t> plaintext_bytes,
+                      std::array<uint8_t, 32> metadata_key_hmac_tag_bytes) {
+  NpLdtKeySeed key_seed;
+  memcpy(key_seed.bytes, key_seed_bytes.data(), key_seed_bytes.size());
+
+  NpLdtSalt salt;
+  memcpy(salt.bytes, salt_bytes.data(), salt_bytes.size());
+
+  NpMetadataKeyHmac metadata_key_hmac;
+  memcpy(metadata_key_hmac.bytes, metadata_key_hmac_tag_bytes.data(),
+         metadata_key_hmac_tag_bytes.size());
+
+  auto enc_handle = NpLdtEncryptCreate(key_seed);
+  EXPECT_NE(0, enc_handle.handle);
+
+  auto result = NpLdtEncrypt(enc_handle, plaintext_bytes.data(),
+                             plaintext_bytes.size(), salt);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+
+  auto dec_handle = NpLdtDecryptCreate(key_seed, metadata_key_hmac);
+  EXPECT_NE(0, dec_handle.handle);
+  result = NpLdtDecryptAndVerify(dec_handle, plaintext_bytes.data(),
+                                 plaintext_bytes.size(), salt);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_ERROR_MAC_MISMATCH, result)
+      << "we expect mac mismatch since we're using a random mac";
+
+  result = NpLdtEncryptClose(enc_handle);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+
+  result = NpLdtDecryptClose(dec_handle);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+}
+
+FUZZ_TEST(LdtFuzzers, LdtDecryptBadMac)
+    .WithDomains(fuzztest::Arbitrary<std::array<uint8_t, 32>>(),
+                 fuzztest::Arbitrary<std::array<uint8_t, 2>>(),
+                 fuzztest::Arbitrary<std::vector<uint8_t>>()
+                     .WithMinSize(16)
+                     .WithMaxSize(31),
+                 fuzztest::Arbitrary<std::array<uint8_t, 32>>());
+
+void LdtDecryptCorrectMac(std::array<uint8_t, 32> key_seed_bytes,
+                          std::array<uint8_t, 2> salt_bytes,
+                          std::vector<uint8_t> plaintext_bytes) {
+  NpLdtKeySeed key_seed;
+  memcpy(key_seed.bytes, key_seed_bytes.data(), key_seed_bytes.size());
+
+  NpLdtSalt salt;
+  memcpy(salt.bytes, salt_bytes.data(), salt_bytes.size());
+
+  // calculate metadata key hmac key by HKDFing key seed
+  // Reference:
+  // https://commondatastorage.googleapis.com/chromium-boringssl-docs/hkdf.h.html
+  // 32 byte HMAC-SHA256 key
+  uint8_t metadata_key_hmac_key[32] = {0};
+  auto result = HKDF(
+      metadata_key_hmac_key, sizeof(metadata_key_hmac_key), EVP_sha256(),
+      (const uint8_t *)&key_seed.bytes, (size_t)32,
+      (const uint8_t *)"Google Nearby", (size_t)13,
+      (const uint8_t *)"Legacy metadata key verification HMAC key", (size_t)41);
+  EXPECT_EQ(1, result);
+  // calculate metadata key hmac using hkdf'd hmac key
+  NpMetadataKeyHmac metadata_key_hmac = {.bytes = {0}};
+  // will be written to by HMAC call, but it will always be
+  // 32 because that's what SHA256 outputs
+  unsigned int md_len = 32;
+  // first 14 bytes of payload are metadata key
+  HMAC(EVP_sha256(), metadata_key_hmac_key, 32, plaintext_bytes.data(), 14,
+       metadata_key_hmac.bytes, &md_len);
+
+  auto enc_handle = NpLdtEncryptCreate(key_seed);
+  EXPECT_NE(0, enc_handle.handle);
+
+  result = NpLdtEncrypt(enc_handle, plaintext_bytes.data(),
+                        plaintext_bytes.size(), salt);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+
+  auto dec_handle = NpLdtDecryptCreate(key_seed, metadata_key_hmac);
+  EXPECT_NE(0, dec_handle.handle);
+  result = NpLdtDecryptAndVerify(dec_handle, plaintext_bytes.data(),
+                                 plaintext_bytes.size(), salt);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+
+  result = NpLdtEncryptClose(enc_handle);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+
+  result = NpLdtDecryptClose(dec_handle);
+  EXPECT_EQ(NP_LDT_RESULT::NP_LDT_SUCCESS, result);
+}
+
+FUZZ_TEST(LdtFuzzers, LdtDecryptCorrectMac)
+    .WithDomains(fuzztest::Arbitrary<std::array<uint8_t, 32>>(),
+                 fuzztest::Arbitrary<std::array<uint8_t, 2>>(),
+                 fuzztest::Arbitrary<std::vector<uint8_t>>()
+                     .WithMinSize(16)
+                     .WithMaxSize(31));
diff --git a/nearby/presence/ldt_np_adv_ffi/include/np_ldt.h b/nearby/presence/ldt_np_adv_ffi/c/include/np_ldt.h
similarity index 100%
rename from nearby/presence/ldt_np_adv_ffi/include/np_ldt.h
rename to nearby/presence/ldt_np_adv_ffi/c/include/np_ldt.h
diff --git a/nearby/presence/ldt_np_adv_ffi/c/sample/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi/c/sample/CMakeLists.txt
new file mode 100644
index 0000000..a18f15e
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/sample/CMakeLists.txt
@@ -0,0 +1,19 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+add_executable(ldt_c_sample main.c)
+
+target_link_libraries(
+        ldt_c_sample
+        "${NEARBY_ROOT}/target/${CARGO_ARTIFACT_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+)
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_c_sample/main.c b/nearby/presence/ldt_np_adv_ffi/c/sample/main.c
similarity index 100%
rename from nearby/presence/ldt_np_c_sample/main.c
rename to nearby/presence/ldt_np_adv_ffi/c/sample/main.c
diff --git a/nearby/presence/ldt_np_adv_ffi/c/tests/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi/c/tests/CMakeLists.txt
new file mode 100644
index 0000000..a4cbc24
--- /dev/null
+++ b/nearby/presence/ldt_np_adv_ffi/c/tests/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+file(COPY ${CMAKE_SOURCE_DIR}/ldt_np_adv/resources/test/np_adv_test_vectors.json
+     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+
+add_executable(
+  ldt_ffi_tests
+  ldt_ffi_tests.cc
+)
+
+target_link_libraries(
+  ldt_ffi_tests
+  "${NEARBY_ROOT}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+  jsoncpp
+  GTest::gtest_main
+)
+
+gtest_discover_tests(ldt_ffi_tests)
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_c_sample/tests/ldt_ffi_tests.cc b/nearby/presence/ldt_np_adv_ffi/c/tests/ldt_ffi_tests.cc
similarity index 100%
rename from nearby/presence/ldt_np_c_sample/tests/ldt_ffi_tests.cc
rename to nearby/presence/ldt_np_adv_ffi/c/tests/ldt_ffi_tests.cc
diff --git a/nearby/presence/ldt_np_adv_ffi/deny.toml b/nearby/presence/ldt_np_adv_ffi/deny.toml
deleted file mode 100644
index ca51e11..0000000
--- a/nearby/presence/ldt_np_adv_ffi/deny.toml
+++ /dev/null
@@ -1,213 +0,0 @@
-# This template contains all of the possible sections and their default values
-
-# Note that all fields that take a lint level have these possible values:
-# * deny - An error will be produced and the check will fail
-# * warn - A warning will be produced, but the check will not fail
-# * allow - No warning or error will be produced, though in some cases a note
-# will be
-
-# The values provided in this template are the default values that will be used
-# when any section or field is not specified in your own configuration
-
-# If 1 or more target triples (and optionally, target_features) are specified,
-# only the specified targets will be checked when running `cargo deny check`.
-# This means, if a particular package is only ever used as a target specific
-# dependency, such as, for example, the `nix` crate only being used via the
-# `target_family = "unix"` configuration, that only having windows targets in
-# this list would mean the nix crate, as well as any of its exclusive
-# dependencies not shared by any other crates, would be ignored, as the target
-# list here is effectively saying which targets you are building for.
-targets = [
-    # The triple can be any string, but only the target triples built in to
-    # rustc (as of 1.40) can be checked against actual config expressions
-    #{ triple = "x86_64-unknown-linux-musl" },
-    # You can also specify which target_features you promise are enabled for a
-    # particular target. target_features are currently not validated against
-    # the actual valid features supported by the target architecture.
-    #{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
-]
-
-# This section is considered when running `cargo deny check advisories`
-# More documentation for the advisories section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
-[advisories]
-# The path where the advisory database is cloned/fetched into
-db-path = "~/.cargo/advisory-db"
-# The url(s) of the advisory databases to use
-db-urls = ["https://github.com/rustsec/advisory-db"]
-# The lint level for security vulnerabilities
-vulnerability = "deny"
-# The lint level for unmaintained crates
-unmaintained = "warn"
-# The lint level for crates that have been yanked from their source registry
-yanked = "warn"
-# The lint level for crates with security notices. Note that as of
-# 2019-12-17 there are no security notice advisories in
-# https://github.com/rustsec/advisory-db
-notice = "warn"
-# A list of advisory IDs to ignore. Note that ignored advisories will still
-# output a note when they are encountered.
-ignore = [
-    #"RUSTSEC-0000-0000",
-]
-# Threshold for security vulnerabilities, any vulnerability with a CVSS score
-# lower than the range specified will be ignored. Note that ignored advisories
-# will still output a note when they are encountered.
-# * None - CVSS Score 0.0
-# * Low - CVSS Score 0.1 - 3.9
-# * Medium - CVSS Score 4.0 - 6.9
-# * High - CVSS Score 7.0 - 8.9
-# * Critical - CVSS Score 9.0 - 10.0
-#severity-threshold =
-
-# If this is true, then cargo deny will use the git executable to fetch advisory database.
-# If this is false, then it uses a built-in git library.
-# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
-# See Git Authentication for more information about setting up git authentication.
-#git-fetch-with-cli = true
-
-# This section is considered when running `cargo deny check licenses`
-# More documentation for the licenses section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
-[licenses]
-# The lint level for crates which do not have a detectable license
-unlicensed = "deny"
-# List of explicitly allowed licenses
-# See https://spdx.org/licenses/ for list of possible licenses
-# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
-allow = [
-    "MIT",
-    "Apache-2.0",
-    "BSD-3-Clause",
-    "Unicode-DFS-2016",
-]
-# List of explicitly disallowed licenses
-# See https://spdx.org/licenses/ for list of possible licenses
-# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
-deny = [
-    #"Nokia",
-]
-# Lint level for licenses considered copyleft
-copyleft = "warn"
-# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
-# * both - The license will be approved if it is both OSI-approved *AND* FSF
-# * either - The license will be approved if it is either OSI-approved *OR* FSF
-# * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF
-# * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved
-# * neither - This predicate is ignored and the default lint level is used
-allow-osi-fsf-free = "neither"
-# Lint level used when no other predicates are matched
-# 1. License isn't in the allow or deny lists
-# 2. License isn't copyleft
-# 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither"
-default = "deny"
-# The confidence threshold for detecting a license from license text.
-# The higher the value, the more closely the license text must be to the
-# canonical license text of a valid SPDX license file.
-# [possible values: any between 0.0 and 1.0].
-confidence-threshold = 0.8
-# Allow 1 or more licenses on a per-crate basis, so that particular licenses
-# aren't accepted for every possible crate as with the normal allow list
-exceptions = [
-    # Each entry is the crate and version constraint, and its specific allow
-    # list
-    #{ allow = ["Zlib"], name = "adler32", version = "*" },
-]
-
-# Some crates don't have (easily) machine readable licensing information,
-# adding a clarification entry for it allows you to manually specify the
-# licensing information
-#[[licenses.clarify]]
-# The name of the crate the clarification applies to
-#name = "ring"
-# The optional version constraint for the crate
-#version = "*"
-# The SPDX expression for the license requirements of the crate
-#expression = "MIT AND ISC AND OpenSSL"
-# One or more files in the crate's source used as the "source of truth" for
-# the license expression. If the contents match, the clarification will be used
-# when running the license check, otherwise the clarification will be ignored
-# and the crate will be checked normally, which may produce warnings or errors
-# depending on the rest of your configuration
-#license-files = [
-    # Each entry is a crate relative path, and the (opaque) hash of its contents
-    #{ path = "LICENSE", hash = 0xbd0eed23 }
-#]
-
-[[licenses.clarify]]
-name = "ring"
-version = "*"
-expression = "MIT AND ISC AND OpenSSL"
-license-files = [
-    # Each entry is a crate relative path, and the (opaque) hash of its contents
-    { path = "LICENSE", hash = 0xbd0eed23 }
-]
-
-[licenses.private]
-# If true, ignores workspace crates that aren't published, or are only
-# published to private registries.
-# To see how to mark a crate as unpublished (to the official registry),
-# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
-ignore = true
-# One or more private registries that you might publish crates to, if a crate
-# is only published to private registries, and ignore is true, the crate will
-# not have its license(s) checked
-registries = [
-    #"https://sekretz.com/registry
-]
-
-# This section is considered when running `cargo deny check bans`.
-# More documentation about the 'bans' section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
-[bans]
-# Lint level for when multiple versions of the same crate are detected
-multiple-versions = "allow"
-# Lint level for when a crate version requirement is `*`
-wildcards = "allow"
-# The graph highlighting used when creating dotgraphs for crates
-# with multiple versions
-# * lowest-version - The path to the lowest versioned duplicate is highlighted
-# * simplest-path - The path to the version with the fewest edges is highlighted
-# * all - Both lowest-version and simplest-path are used
-highlight = "all"
-# List of crates that are allowed. Use with care!
-allow = [
-    #{ name = "ansi_term", version = "=0.11.0" },
-]
-# List of crates to deny
-deny = [
-    # Each entry the name of a crate and a version range. If version is
-    # not specified, all versions will be matched.
-    #{ name = "ansi_term", version = "=0.11.0" },
-    #
-    # Wrapper crates can optionally be specified to allow the crate when it
-    # is a direct dependency of the otherwise banned crate
-    #{ name = "ansi_term", version = "=0.11.0", wrappers = [] },
-]
-# Certain crates/versions that will be skipped when doing duplicate detection.
-skip = [
-    #{ name = "ansi_term", version = "=0.11.0" },
-]
-# Similarly to `skip` allows you to skip certain crates during duplicate
-# detection. Unlike skip, it also includes the entire tree of transitive
-# dependencies starting at the specified crate, up to a certain depth, which is
-# by default infinite
-skip-tree = [
-    #{ name = "ansi_term", version = "=0.11.0", depth = 20 },
-]
-
-# This section is considered when running `cargo deny check sources`.
-# More documentation about the 'sources' section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
-[sources]
-# Lint level for what to happen when a crate from a crate registry that is not
-# in the allow list is encountered
-unknown-registry = "warn"
-# Lint level for what to happen when a crate from a git repository that is not
-# in the allow list is encountered
-unknown-git = "warn"
-# List of URLs for allowed crate registries. Defaults to the crates.io index
-# if not specified. If it is specified but empty, no registries are allowed.
-allow-registry = ["https://github.com/rust-lang/crates.io-index"]
-# List of URLs for allowed Git repositories
-allow-git = []
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_adv_ffi/rust-toolchain.toml b/nearby/presence/ldt_np_adv_ffi/rust-toolchain.toml
deleted file mode 100644
index 271800c..0000000
--- a/nearby/presence/ldt_np_adv_ffi/rust-toolchain.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[toolchain]
-channel = "nightly"
\ No newline at end of file
diff --git a/nearby/presence/ldt_np_adv_ffi/src/handle_map.rs b/nearby/presence/ldt_np_adv_ffi/src/handle_map.rs
index 9d83c19..9a19562 100644
--- a/nearby/presence/ldt_np_adv_ffi/src/handle_map.rs
+++ b/nearby/presence/ldt_np_adv_ffi/src/handle_map.rs
@@ -22,7 +22,7 @@
 // Pull in the needed deps for std vs no_std
 cfg_if::cfg_if! {
     // Test pulls in std which causes duplicate errors
-    if #[cfg(any(feature = "std", test, feature = "boringssl", feature = "openssl"))] {
+    if #[cfg(any(feature = "std", test, feature = "boringssl"))] {
         use std::sync::{Mutex, MutexGuard};
         use std::collections::HashMap;
 
diff --git a/nearby/presence/ldt_np_adv_ffi/src/lib.rs b/nearby/presence/ldt_np_adv_ffi/src/lib.rs
index 1534857..839135e 100644
--- a/nearby/presence/ldt_np_adv_ffi/src/lib.rs
+++ b/nearby/presence/ldt_np_adv_ffi/src/lib.rs
@@ -12,7 +12,6 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#![no_std]
 #![deny(
     missing_docs,
     clippy::indexing_slicing,
@@ -20,10 +19,6 @@
     clippy::panic,
     clippy::expect_used
 )]
-#![allow(internal_features)]
-// TODO: Remove usage of `lang_items` when ffi is no longer alloc
-// These features are needed to support no_std + alloc
-#![feature(lang_items)]
 
 //! Rust ffi wrapper of ldt_np_adv, can be called from C/C++ Clients
 
@@ -31,47 +26,15 @@
 
 use alloc::boxed::Box;
 use core::slice;
-use handle_map::get_enc_handle_map;
+use crypto_provider_default::CryptoProviderImpl;
 use ldt_np_adv::{
     build_np_adv_decrypter_from_key_seed, salt_padder, LdtAdvDecryptError, LdtEncrypterXtsAes128,
     LdtNpAdvDecrypterXtsAes128, LegacySalt,
 };
 use np_hkdf::NpKeySeedHkdf;
 
-use crate::handle_map::get_dec_handle_map;
-
 mod handle_map;
 
-// Pull in the needed deps for std vs no_std
-cfg_if::cfg_if! {
-    // Test pulls in std which causes duplicate errors
-    if #[cfg(any(feature = "std", test, feature = "boringssl", feature = "openssl"))] {
-        extern crate std;
-    } else {
-        // Allow using Box in no_std
-        mod no_std;
-    }
-}
-
-// Fail early for invalid combination of feature flags, we need at least one crypto library specified
-#[cfg(all(
-    not(feature = "openssl"),
-    not(feature = "crypto_provider_rustcrypto"),
-    not(feature = "boringssl")
-))]
-compile_error!("Either the \"openssl\", \"boringssl\"or \"default\" features flag needs to be set in order to specify cryptographic library");
-
-// Need to have one of the crypto provider impls
-cfg_if::cfg_if! {
-    if #[cfg(feature = "openssl")] {
-        use crypto_provider_openssl::Openssl as CryptoProviderImpl;
-    } else if #[cfg(feature = "boringssl")]{
-        use crypto_provider_boringssl::Boringssl as CryptoProviderImpl;
-    } else {
-        use crypto_provider_rustcrypto::RustCrypto as CryptoProviderImpl;
-    }
-}
-
 pub(crate) type LdtAdvDecrypter = LdtNpAdvDecrypterXtsAes128<CryptoProviderImpl>;
 pub(crate) type LdtAdvEncrypter = LdtEncrypterXtsAes128<CryptoProviderImpl>;
 
@@ -111,7 +74,7 @@
         &NpKeySeedHkdf::new(&key_seed.bytes),
         metadata_key_hmac.bytes,
     );
-    let handle = get_dec_handle_map().insert::<CryptoProviderImpl>(Box::new(cipher));
+    let handle = handle_map::get_dec_handle_map().insert::<CryptoProviderImpl>(Box::new(cipher));
     NpLdtDecryptHandle { handle }
 }
 
@@ -120,14 +83,14 @@
     let cipher = LdtAdvEncrypter::new(
         &NpKeySeedHkdf::<CryptoProviderImpl>::new(&key_seed.bytes).legacy_ldt_key(),
     );
-    let handle = get_enc_handle_map().insert::<CryptoProviderImpl>(Box::new(cipher));
+    let handle = handle_map::get_enc_handle_map().insert::<CryptoProviderImpl>(Box::new(cipher));
     NpLdtEncryptHandle { handle }
 }
 
 #[no_mangle]
 extern "C" fn NpLdtEncryptClose(handle: NpLdtEncryptHandle) -> i32 {
     map_to_error_code(|| {
-        get_enc_handle_map()
+        handle_map::get_enc_handle_map()
             .remove(&handle.handle)
             .ok_or(CloseCipherError::InvalidHandle)
             .map(|_| SUCCESS)
@@ -137,7 +100,7 @@
 #[no_mangle]
 extern "C" fn NpLdtDecryptClose(handle: NpLdtDecryptHandle) -> i32 {
     map_to_error_code(|| {
-        get_dec_handle_map()
+        handle_map::get_dec_handle_map()
             .remove(&handle.handle)
             .ok_or(CloseCipherError::InvalidHandle)
             .map(|_| SUCCESS)
@@ -154,7 +117,7 @@
     map_to_error_code(|| {
         let data = unsafe { slice::from_raw_parts_mut(buffer, buffer_len) };
         let padder = salt_padder::<16, CryptoProviderImpl>(LegacySalt::from(salt.bytes));
-        get_enc_handle_map()
+        handle_map::get_enc_handle_map()
             .get(&handle.handle)
             .map(|cipher| {
                 cipher.encrypt(data, &padder).map(|_| 0).map_err(|e| match e {
@@ -176,7 +139,7 @@
         let data = unsafe { slice::from_raw_parts_mut(buffer, buffer_len) };
         let padder = salt_padder::<16, CryptoProviderImpl>(LegacySalt::from(salt.bytes));
 
-        get_dec_handle_map()
+        handle_map::get_dec_handle_map()
             .get(&handle.handle)
             .map(|cipher| {
                 cipher
diff --git a/nearby/presence/ldt_np_adv_ffi_fuzz/CMakeLists.txt b/nearby/presence/ldt_np_adv_ffi_fuzz/CMakeLists.txt
deleted file mode 100644
index 2144811..0000000
--- a/nearby/presence/ldt_np_adv_ffi_fuzz/CMakeLists.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-cmake_minimum_required(VERSION 3.0)
-
-# libfuzzer needs clang
-SET(CMAKE_C_COMPILER "clang")
-
-include_directories(
-        ${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/include/)
-
-# enable fuzzer with ASAN
-# Can't use MSAN since EVP_KDF_fetch seems to read uninitialized memory, maybe on purpose?
-add_compile_options(-fsanitize=fuzzer,address)
-
-# we need at least version 3.0.5 for the core.h header used in the fuzzers
-find_package(OpenSSL 3.0.5 REQUIRED)
-if (OPENSSL_FOUND)
-    message(STATUS "OpenSSL Found: ${OPENSSL_VERSION}")
-    message(STATUS "OpenSSL Include: ${OPENSSL_INCLUDE_DIR}")
-    message(STATUS "OpenSSL Libraries: ${OPENSSL_LIBRARIES}")
-endif ()
-
-add_executable(fuzzer_decrypt_bad_mac src/fuzzer_decrypt_bad_mac.c)
-target_link_libraries(fuzzer_decrypt_bad_mac
-        optimized "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        debug "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/debug/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        dl pthread -fsanitize=fuzzer,address)
-target_link_libraries(fuzzer_decrypt_bad_mac OpenSSL::SSL)
-
-add_executable(fuzzer_decrypt_correct_mac src/fuzzer_decrypt_correct_mac.c)
-target_link_libraries(fuzzer_decrypt_correct_mac
-        optimized "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        debug "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/debug/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        dl pthread -fsanitize=fuzzer,address)
-target_link_libraries(fuzzer_decrypt_correct_mac OpenSSL::SSL)
diff --git a/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_bad_mac.c b/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_bad_mac.c
deleted file mode 100644
index 18abb0f..0000000
--- a/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_bad_mac.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2022 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <openssl/aes.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "np_ldt.h"
-
-// Fuzz decrypting data that doesn't match the hmac
-int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
-  // data:
-  // 32 byte key seed
-  // 2 byte salt
-  // 31 byte plaintext
-  // 1 byte length of plaintext to use
-  // 32 byte metadata key hmac
-  if (size < 98) {
-    return -1;
-  }
-
-  NpLdtKeySeed key_seed;
-  memcpy(&key_seed.bytes, data, 32);
-
-  NpLdtSalt salt;
-  memcpy(&salt.bytes, data + 32, 2);
-
-  uint8_t payload[31];
-  memcpy(&payload, data + 32 + 2, 31);
-
-  uint8_t payload_len;
-  memcpy(&payload_len, data + 32 + 2 + 31, 1);
-  // length in [16, 31]
-  payload_len = 16 + (payload_len % 16);
-
-  NpMetadataKeyHmac metadata_key_hmac;
-  memcpy(&metadata_key_hmac.bytes, data + 32 + 2 + 31 + 1, 32);
-
-  // create a cipher
-  NpLdtEncryptHandle enc_handle = NpLdtEncryptCreate(key_seed);
-  if (enc_handle.handle == 0) {
-    printf("Error: create LDT failed\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // encrypt with it
-  NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, payload, payload_len, salt);
-  if (result != 0) {
-    printf("Error: encrypt\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  NpLdtDecryptHandle dec_handle = NpLdtDecryptCreate(key_seed, metadata_key_hmac);
-  if (dec_handle.handle == 0) {
-    printf("Error: create LDT failed\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // decrypt & verify -- we expect mac mismatch since we're using a random mac
-  result = NpLdtDecryptAndVerify(dec_handle, payload, payload_len, salt);
-  if (result != -2) {
-    printf("Error: decryption didn't fail with the expected MAC mismatch\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // deallocate the cipher
-  result = NpLdtEncryptClose(enc_handle);
-  if (result) {
-    printf("Error: close cipher\n");
-    __builtin_trap();
-    return result;
-  }
-
-  result = NpLdtDecryptClose(dec_handle);
-  if (result) {
-    printf("Error: close cipher failed\n");
-    __builtin_trap();
-    return result;
-  }
-
-  return 0;  // Values other than 0 and -1 are reserved for future use.
-}
diff --git a/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_correct_mac.c b/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_correct_mac.c
deleted file mode 100644
index e99a7e8..0000000
--- a/nearby/presence/ldt_np_adv_ffi_fuzz/src/fuzzer_decrypt_correct_mac.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 2022 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <openssl/core.h>
-#include <openssl/core_names.h>
-#include <openssl/hmac.h>
-#include <openssl/kdf.h>
-#include <openssl/obj_mac.h>
-#include <openssl/params.h>
-#include <stddef.h>
-#include <string.h>
-
-#include "np_ldt.h"
-
-// Fuzz decrypting data that doesn't match the hmac
-int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
-  // data:
-  // 32 byte key seed
-  // 2 byte salt
-  // 31 byte plaintext
-  // 1 byte length of plaintext to use
-  if (size < 66) {
-    return -1;
-  }
-
-  NpLdtKeySeed key_seed;
-  memcpy(&key_seed.bytes, data, 32);
-
-  NpLdtSalt salt;
-  memcpy(&salt.bytes, data + 32, 2);
-
-  uint8_t payload[31];
-  memcpy(&payload, data + 32 + 2, 31);
-
-  uint8_t payload_len;
-  memcpy(&payload_len, data + 32 + 2 + 31, 1);
-  // length in [16, 31]
-  payload_len = 16 + (payload_len % 16);
-
-  // calculate metadata key hmac key by HKDFing key seed
-  // HKDF code from https://www.openssl.org/docs/man3.0/man7/EVP_KDF-HKDF.html
-  EVP_KDF *kdf;
-  EVP_KDF_CTX *kctx;
-  // 32 byte HMAC-SHA256 key
-  uint8_t metadata_key_hmac_key[32] = {0};
-  OSSL_PARAM params[5], *p = params;
-
-  kdf = EVP_KDF_fetch(NULL, "HKDF", NULL);
-  if (kdf == NULL) {
-    printf("Couldn't allocate KDF\n");
-    __builtin_trap();
-    return 0;
-  }
-  kctx = EVP_KDF_CTX_new(kdf);
-  EVP_KDF_free(kdf);
-
-  *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST, SN_sha256,
-                                          strlen(SN_sha256));
-  *p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY, &key_seed.bytes,
-                                           (size_t)32);
-  *p++ = OSSL_PARAM_construct_octet_string(
-      OSSL_KDF_PARAM_INFO, "Legacy metadata key verification HMAC key",
-      (size_t)41);
-  *p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_SALT, "Google Nearby",
-                                           (size_t)13);
-  *p = OSSL_PARAM_construct_end();
-  if (EVP_KDF_derive(kctx, metadata_key_hmac_key, sizeof(metadata_key_hmac_key),
-                     params) <= 0) {
-    printf("HKDF error\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  EVP_KDF_CTX_free(kctx);
-
-  // calculate metadata key hmac using hkdf'd hmac key
-  NpMetadataKeyHmac metadata_key_hmac = {.bytes = {0}};
-  // will be written to by HMAC call, but it will always be
-  // 32 because that's what SHA256 outputs
-  unsigned int md_len = 32;
-  // first 14 bytes of payload are metadata key
-  HMAC(EVP_sha256(), metadata_key_hmac_key, 32, payload, 14,
-       metadata_key_hmac.bytes, &md_len);
-
-  // create a cipher
-  NpLdtEncryptHandle enc_handle = NpLdtEncryptCreate(key_seed);
-  if (enc_handle.handle == 0) {
-    printf("Error: create LDT failed\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // encrypt with it
-  NP_LDT_RESULT result = NpLdtEncrypt(enc_handle, payload, payload_len, salt);
-  if (result != 0) {
-    printf("Error: encrypt\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  NpLdtDecryptHandle dec_handle = NpLdtDecryptCreate(key_seed, metadata_key_hmac);
-  if (dec_handle.handle == 0) {
-    printf("Error: create LDT failed\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // decrypt & verify -- we expect mac mismatch since we're using a random mac
-  result = NpLdtDecryptAndVerify(dec_handle, payload, payload_len, salt);
-  if (result != 0) {
-    printf("Error: decryption failed\n");
-    __builtin_trap();
-    return 0;
-  }
-
-  // deallocate the ciphers
-  result = NpLdtEncryptClose(enc_handle);
-  if (result) {
-    printf("Error: close cipher failed\n");
-    __builtin_trap();
-    return result;
-  }
-
-  result = NpLdtDecryptClose(dec_handle);
-  if (result) {
-    printf("Error: close cipher failed\n");
-    __builtin_trap();
-    return result;
-  }
-
-  return 0;  // Values other than 0 and -1 are reserved for future use.
-}
diff --git a/nearby/presence/ldt_np_c_sample/CMakeLists.txt b/nearby/presence/ldt_np_c_sample/CMakeLists.txt
deleted file mode 100644
index aefc0ba..0000000
--- a/nearby/presence/ldt_np_c_sample/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2022 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include_directories(
-    ${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/include/
-    ${CMAKE_SOURCE_DIR}/ldt_np_c_sample/)
-
-include(ExternalProject)
-set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/target/tmp)
-ExternalProject_Add(
-    ldt_np_adv_ffi
-    DOWNLOAD_COMMAND ""
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND cargo build COMMAND cargo build --release --no-default-features --features std
-    BINARY_DIR "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi"
-    INSTALL_COMMAND "")
-
-add_executable(ldt_c_sample main.c)
-target_link_libraries(
-    ldt_c_sample
-    optimized "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-    debug "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/debug/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-)
-
-if(UNIX)
-  target_link_libraries(
-    ldt_c_sample
-    dl pthread
-  )
-elseif(MSVC)
-  target_link_libraries(
-    ldt_c_sample
-    bcrypt ntdll userenv ws2_32
-  )
-endif()
-
-
-if(ENABLE_TESTS)
-    message(STATUS "Enabling ldt tests")
-    add_subdirectory(tests)
-endif()
diff --git a/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt b/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt
deleted file mode 100644
index 141563d..0000000
--- a/nearby/presence/ldt_np_c_sample/tests/CMakeLists.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2022 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-file(COPY ${CMAKE_SOURCE_DIR}/ldt_np_adv/resources/test/np_adv_test_vectors.json
-     DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
-add_executable(
-  ldt_ffi_tests
-  ldt_ffi_tests.cc
-)
-
-target_link_libraries(
-  ldt_ffi_tests
-  "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-  jsoncpp
-  GTest::gtest_main
-)
-if(UNIX)
-  target_link_libraries(
-    ldt_ffi_tests
-    dl pthread -fsanitize=address
-  )
-elseif(MSVC)
-  target_link_libraries(
-    ldt_ffi_tests
-    bcrypt ntdll userenv ws2_32
-  )
-endif()
-
-gtest_discover_tests(ldt_ffi_tests)
-
-# Benchmarks
-add_executable(
-  ldt_benchmarks
-  ldt_benchmarks.cc
-)
-
-target_link_libraries(
-  ldt_benchmarks
-  "${CMAKE_SOURCE_DIR}/ldt_np_adv_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}ldt_np_adv_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
-  benchmark::benchmark
-)
-
-if(UNIX)
-  target_link_libraries(
-    ldt_benchmarks
-    dl pthread -fsanitize=address
-  )
-elseif(MSVC)
-  target_link_libraries(
-    ldt_benchmarks
-    bcrypt ntdll userenv ws2_32
-  )
-endif()
diff --git a/nearby/presence/ldt_np_jni/Cargo.toml b/nearby/presence/ldt_np_jni/Cargo.toml
index 2551c14..cf7c2db 100644
--- a/nearby/presence/ldt_np_jni/Cargo.toml
+++ b/nearby/presence/ldt_np_jni/Cargo.toml
@@ -20,7 +20,6 @@
 [features]
 default = ["rustcrypto"]
 rustcrypto = ["crypto_provider_default/rustcrypto", "crypto_provider_default/std"]
-opensslbssl = ["crypto_provider_default/opensslbssl"]
 boringssl = ["crypto_provider_default/boringssl"]
 
 [lib]
diff --git a/nearby/presence/ldt_np_jni/java/LdtNpJni/src/main/java/com/google/android/gms/nearby/presence/hazmat/LdtNpJni.java b/nearby/presence/ldt_np_jni/java/LdtNpJni/src/main/java/com/google/android/gms/nearby/presence/hazmat/LdtNpJni.java
index 6af362a..1c0db30 100644
--- a/nearby/presence/ldt_np_jni/java/LdtNpJni/src/main/java/com/google/android/gms/nearby/presence/hazmat/LdtNpJni.java
+++ b/nearby/presence/ldt_np_jni/java/LdtNpJni/src/main/java/com/google/android/gms/nearby/presence/hazmat/LdtNpJni.java
@@ -17,22 +17,25 @@
 
 import androidx.annotation.IntDef;
 
-
 /** JNI for a Nearby Presence LDT-XTS-AES128 cipher with the "swap" mix function. */
 class LdtNpJni {
 
   /** Error codes which map to return values on the native side. */
-  @IntDef({DecryptErrorCode.DATA_LEN_ERROR, DecryptErrorCode.JNI_OP_ERROR, DecryptErrorCode.MAC_MISMATCH} )
+  @IntDef({
+    DecryptErrorCode.DATA_LEN_ERROR,
+    DecryptErrorCode.JNI_OP_ERROR,
+    DecryptErrorCode.MAC_MISMATCH
+  })
   public @interface DecryptErrorCode {
-    int  DATA_LEN_ERROR = -1;
+    int DATA_LEN_ERROR = -1;
     int JNI_OP_ERROR = -2;
     int MAC_MISMATCH = -3;
   }
 
   /** Error codes which map to return values on the native side. */
-  @IntDef({EncryptErrorCode.DATA_LEN_ERROR, EncryptErrorCode.JNI_OP_ERROR} )
+  @IntDef({EncryptErrorCode.DATA_LEN_ERROR, EncryptErrorCode.JNI_OP_ERROR})
   public @interface EncryptErrorCode {
-    int  DATA_LEN_ERROR = -1;
+    int DATA_LEN_ERROR = -1;
     int JNI_OP_ERROR = -2;
   }
 
@@ -43,8 +46,8 @@
   /**
    * Create a new LDT-XTS-AES128 Encryption cipher using the "swap" mix function.
    *
-   * @param keySeed is the 32-byte key material from the Nearby Presence credential from which
-   *     the LDT key will be derived.
+   * @param keySeed is the 32-byte key material from the Nearby Presence credential from which the
+   *     LDT key will be derived.
    * @return 0 on error, or a non-zero handle on success.
    */
   static native long createEncryptionCipher(byte[] keySeed);
@@ -52,16 +55,17 @@
   /**
    * Create a new LDT-XTS-AES128 Decryption cipher using the "swap" mix function.
    *
-   * @param keySeed is the 32-byte key material from the Nearby Presence credential from which
-   *     the LDT key will be derived.
-   * @param hmacTag is the hmac auth tag calculated on the metadata key used to verify
-   *     decryption was successful.
+   * @param keySeed is the 32-byte key material from the Nearby Presence credential from which the
+   *     LDT key will be derived.
+   * @param hmacTag is the hmac auth tag calculated on the metadata key used to verify decryption
+   *     was successful.
    * @return 0 on error, or a non-zero handle on success.
    */
   static native long createDecryptionCipher(byte[] keySeed, byte[] hmacTag);
 
   /**
    * Close the native resources for an LdtEncryptCipher instance.
+   *
    * @param ldtEncryptHandle a ldt handle returned from {@link LdtNpJni#createEncryptionCipher}.
    */
   static native void closeEncryptCipher(long ldtEncryptHandle);
@@ -76,28 +80,28 @@
   /**
    * Encrypt a 16-31 byte buffer in-place.
    *
-   * @param ldtEncryptHandle a ldt encryption handle returned from {@link LdtNpJni#createEncryptionCipher}.
-   * @param salt is the big-endian 2 byte salt that will be used in the Nearby
-   *     Presence advertisement, which will be incorporated into the tweaks LDT uses
-   *     while encrypting.
+   * @param ldtEncryptHandle a ldt encryption handle returned from {@link
+   *     LdtNpJni#createEncryptionCipher}.
+   * @param salt is the big-endian 2 byte salt that will be used in the Nearby Presence
+   *     advertisement, which will be incorporated into the tweaks LDT uses while encrypting.
    * @param data 16-31 bytes of plaintext data to be encrypted
-   * @return 0 on success, in which case `buffer` will now contain ciphertext or a non-zero
-   *     an error code on failure
+   * @return 0 on success, in which case `buffer` will now contain ciphertext or a non-zero an error
+   *     code on failure
    */
   @EncryptErrorCode
   static native int encrypt(long ldtEncryptHandle, char salt, byte[] data);
 
   /**
-   *  Decrypt a 16-31 byte buffer in-place and verify the plaintext metadata key matches
-   *  this item's MAC, if not the buffer will not be decrypted.
+   * Decrypt a 16-31 byte buffer in-place and verify the plaintext metadata key matches this item's
+   * MAC, if not the buffer will not be decrypted.
    *
-   * @param ldtDecryptHandle  a ldt encryption handle returned from {@link LdtNpJni#createDecryptionCipher}.
-   * @param salt is the big-endian 2 byte salt that will be used in the Nearby
-   *     Presence advertisement, which will be incorporated into the tweaks LDT uses
-   *     while encrypting.
+   * @param ldtDecryptHandle a ldt encryption handle returned from {@link
+   *     LdtNpJni#createDecryptionCipher}.
+   * @param salt is the big-endian 2 byte salt that will be used in the Nearby Presence
+   *     advertisement, which will be incorporated into the tweaks LDT uses while encrypting.
    * @param data 16-31 bytes of ciphertext data to be decrypted
-   * @return 0 on success, in which case `buffer` will now contain ciphertext or a non-zero
-   *     an error code on failure, in which case data will remain unchanged.
+   * @return 0 on success, in which case `buffer` will now contain ciphertext or a non-zero an error
+   *     code on failure, in which case data will remain unchanged.
    */
   @DecryptErrorCode
   static native int decryptAndVerify(long ldtDecryptHandle, char salt, byte[] data);
diff --git a/nearby/presence/np_adv/benches/deser_adv.rs b/nearby/presence/np_adv/benches/deser_adv.rs
index 08fd5c4..b52f53a 100644
--- a/nearby/presence/np_adv/benches/deser_adv.rs
+++ b/nearby/presence/np_adv/benches/deser_adv.rs
@@ -333,7 +333,9 @@
         }
     }
 }
-fn add_des<I: SectionEncoder>(sb: &mut SectionBuilder<I>) {
+fn add_des<I: SectionEncoder>(
+    sb: &mut SectionBuilder<&mut np_adv::extended::serialize::AdvBuilder, I>,
+) {
     sb.add_de_res(|_| TxPower::try_from(17).map(TxPowerDataElement::from)).unwrap();
     sb.add_de_res(|_| GenericDataElement::try_from(100_u32.into(), &[0; 10])).unwrap();
 }
diff --git a/nearby/presence/np_adv/src/credential/v1.rs b/nearby/presence/np_adv/src/credential/v1.rs
index 386799f..c13487d 100644
--- a/nearby/presence/np_adv/src/credential/v1.rs
+++ b/nearby/presence/np_adv/src/credential/v1.rs
@@ -18,6 +18,7 @@
     protocol_version_seal, BroadcastCryptoMaterial, DiscoveryCryptoMaterial, ProtocolVersion,
 };
 use crate::MetadataKey;
+use crypto_provider::ed25519::InvalidPublicKeyBytes;
 use crypto_provider::{aes::Aes128Key, ed25519, ed25519::PublicKey, CryptoProvider, CryptoRng};
 use np_hkdf::UnsignedSectionKeys;
 
@@ -28,22 +29,52 @@
     key_seed: [u8; 32],
     expected_unsigned_metadata_key_hmac: [u8; 32],
     expected_signed_metadata_key_hmac: [u8; 32],
-    pub_key: ed25519::RawPublicKey,
+    validated_pub_key: sealed::ValidatedPublicKey,
 }
+
+mod sealed {
+    use crypto_provider::ed25519::InvalidPublicKeyBytes;
+    use crypto_provider::{ed25519, CryptoProvider};
+
+    // Wrapper of raw public ed25519 key bytes indicating the bytes stored
+    // actually represent a valid "edwards y" format and that said compressed
+    // point is actually a point on the curve.
+    #[derive(Clone, Copy)]
+    pub(crate) struct ValidatedPublicKey(ed25519::RawPublicKey);
+
+    impl ValidatedPublicKey {
+        pub(crate) fn from_raw_bytes<C: CryptoProvider>(
+            bytes: ed25519::RawPublicKey,
+        ) -> Result<Self, InvalidPublicKeyBytes> {
+            np_ed25519::PublicKey::<C>::from_bytes(&bytes)
+                .map(|_| Self(bytes))
+                .map_err(|_| InvalidPublicKeyBytes)
+        }
+
+        pub(crate) fn to_public_key<C: CryptoProvider>(self) -> np_ed25519::PublicKey<C> {
+            np_ed25519::PublicKey::<C>::from_bytes(&self.0)
+                .expect("The public key bytes were validated on construction")
+        }
+    }
+}
+pub(crate) use sealed::ValidatedPublicKey;
+
 impl V1DiscoveryCredential {
     /// Construct a V1 discovery credential from the provided identity data.
-    pub fn new(
+    pub fn new<C: CryptoProvider>(
         key_seed: [u8; 32],
         expected_unsigned_metadata_key_hmac: [u8; 32],
         expected_signed_metadata_key_hmac: [u8; 32],
         pub_key: ed25519::RawPublicKey,
-    ) -> Self {
-        Self {
-            key_seed,
-            expected_unsigned_metadata_key_hmac,
-            expected_signed_metadata_key_hmac,
-            pub_key,
-        }
+    ) -> Result<Self, InvalidPublicKeyBytes> {
+        ValidatedPublicKey::from_raw_bytes::<C>(pub_key)
+            .map(|validated_pub_key| Self {
+                key_seed,
+                expected_unsigned_metadata_key_hmac,
+                expected_signed_metadata_key_hmac,
+                validated_pub_key,
+            })
+            .map_err(|_| InvalidPublicKeyBytes)
     }
 
     /// Constructs pre-calculated crypto material from this discovery credential.
@@ -94,7 +125,7 @@
     }
 
     fn signed_verification_material<C: CryptoProvider>(&self) -> SignedSectionVerificationMaterial {
-        SignedSectionVerificationMaterial { pub_key: self.pub_key }
+        SignedSectionVerificationMaterial { validated_public_key: self.validated_pub_key }
     }
 
     fn unsigned_verification_material<C: CryptoProvider>(
@@ -229,7 +260,7 @@
 pub struct SignedSectionVerificationMaterial {
     /// The np_ed25519 public key to be
     /// used for signature verification of signed sections.
-    pub(crate) pub_key: ed25519::RawPublicKey,
+    pub(crate) validated_public_key: sealed::ValidatedPublicKey,
 }
 
 impl SignedSectionVerificationMaterial {
@@ -238,7 +269,7 @@
     pub(crate) fn signature_verification_public_key<C: CryptoProvider>(
         &self,
     ) -> np_ed25519::PublicKey<C> {
-        np_ed25519::PublicKey::from_bytes(&self.pub_key).expect("Should only contain valid keys")
+        self.validated_public_key.to_public_key()
     }
 }
 
@@ -408,7 +439,7 @@
             .calculate_hmac(metadata_key.0.as_slice());
         let signed =
             hkdf.extended_signed_metadata_key_hmac_key().calculate_hmac(metadata_key.0.as_slice());
-        V1DiscoveryCredential::new(key_seed, unsigned, signed, pub_key)
+        V1DiscoveryCredential::new::<C>(key_seed, unsigned, signed, pub_key).expect("The public key bytes are guaranteed to be valid since they come from the key_pair construction above")
     }
 }
 
diff --git a/nearby/presence/np_adv/src/deser_v1_tests.rs b/nearby/presence/np_adv/src/deser_v1_tests.rs
index cea0063..cdd9030 100644
--- a/nearby/presence/np_adv/src/deser_v1_tests.rs
+++ b/nearby/presence/np_adv/src/deser_v1_tests.rs
@@ -429,7 +429,7 @@
 /// Populate a random number of sections with randomly chosen identities and random DEs
 fn fill_encrypted_adv<'a, R: rand::Rng, C: CryptoProvider>(
     mut rng: &mut R,
-    identities: &'a Vec<TestIdentity<C>>,
+    identities: &'a [TestIdentity<C>],
     adv_builder: &mut AdvBuilder,
 ) -> Vec<SectionConfig<'a, C>> {
     let mut expected = Vec::new();
@@ -519,7 +519,7 @@
 }
 /// Add several DEs with random types and contents
 fn add_des<I: SectionEncoder, R: rand::Rng>(
-    mut sb: SectionBuilder<I>,
+    mut sb: SectionBuilder<&mut AdvBuilder, I>,
     rng: &mut R,
 ) -> Vec<GenericDataElement> {
     let mut des = Vec::new();
diff --git a/nearby/presence/np_adv/src/extended/deserialize/encrypted_section/signature_decrypt_tests.rs b/nearby/presence/np_adv/src/extended/deserialize/encrypted_section/signature_decrypt_tests.rs
index af70228..c5a468f 100644
--- a/nearby/presence/np_adv/src/extended/deserialize/encrypted_section/signature_decrypt_tests.rs
+++ b/nearby/presence/np_adv/src/extended/deserialize/encrypted_section/signature_decrypt_tests.rs
@@ -129,12 +129,13 @@
 
     // plaintext is correct
     {
-        let crypto_material = V1DiscoveryCredential::new(
+        let crypto_material = V1DiscoveryCredential::new::<CryptoProviderImpl>(
             key_seed,
             key_seed_hkdf.extended_unsigned_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
             key_seed_hkdf.extended_signed_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
             key_pair.public().to_bytes(),
-        );
+        )
+        .expect("public key bytes are valid since they are generated from a key pair");
         let signed_identity_resolution_material =
             crypto_material.signed_identity_resolution_material::<CryptoProviderImpl>();
         let identity_resolution_contents =
@@ -179,12 +180,13 @@
 
     // deserialization to Section works
     {
-        let crypto_material = V1DiscoveryCredential::new(
+        let crypto_material = V1DiscoveryCredential::new::<CryptoProviderImpl>(
             key_seed,
             key_seed_hkdf.extended_unsigned_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
             key_seed_hkdf.extended_signed_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
             key_pair.public().to_bytes(),
-        );
+        )
+        .expect("public key bytes are valid since they are generated from a key pair");
         let signed_identity_resolution_material =
             crypto_material.signed_identity_resolution_material::<CryptoProviderImpl>();
         let signed_verification_material =
@@ -422,7 +424,10 @@
         });
 
     let signed_verification_material = SignedSectionVerificationMaterial {
-        pub_key: pub_key.unwrap_or_else(|| key_pair.public()).to_bytes(),
+        validated_public_key: ValidatedPublicKey::from_raw_bytes::<CryptoProviderImpl>(
+            pub_key.unwrap_or_else(|| key_pair.public()).to_bytes(),
+        )
+        .expect("public key should be valid bytes"),
     };
 
     assert_eq!(
@@ -526,12 +531,13 @@
         contents
     );
 
-    let crypto_material = V1DiscoveryCredential::new(
+    let crypto_material = V1DiscoveryCredential::new::<CryptoProviderImpl>(
         key_seed,
         key_seed_hkdf.extended_unsigned_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
         key_seed_hkdf.extended_signed_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
         key_pair.public().to_bytes(),
-    );
+    )
+    .expect("public key bytes are valid since they are generated from a key pair");
     let identity_resolution_material =
         crypto_material.signed_identity_resolution_material::<CryptoProviderImpl>();
     let verification_material =
diff --git a/nearby/presence/np_adv/src/extended/deserialize/mod.rs b/nearby/presence/np_adv/src/extended/deserialize/mod.rs
index 6ec7881..8f12a94 100644
--- a/nearby/presence/np_adv/src/extended/deserialize/mod.rs
+++ b/nearby/presence/np_adv/src/extended/deserialize/mod.rs
@@ -48,7 +48,7 @@
             DeserializationError, EncryptedSectionContents, MicEncryptedSection,
             MicVerificationError, SignatureEncryptedSection, SignatureVerificationError,
         },
-        DeLength, ENCRYPTION_INFO_DE_TYPE, METADATA_KEY_LEN, NP_ADV_MAX_SECTION_LEN,
+        DeLength, ENCRYPTION_INFO_DE_TYPE, NP_ADV_MAX_SECTION_LEN,
     },
     HasIdentityMatch, MetadataKey, PlaintextIdentityMode, V1Header,
 };
@@ -170,7 +170,7 @@
                         // should be trivially true since section length was checked above,
                         // but this is an invariant for EncryptedSection, so we double check
                         |(identity_and_ciphertext, _tuple)| {
-                            (METADATA_KEY_LEN..=NP_ADV_MAX_SECTION_LEN)
+                            (EncryptedIdentityMetadata::TOTAL_DE_LEN..=NP_ADV_MAX_SECTION_LEN)
                                 .contains(&identity_and_ciphertext.len())
                         },
                     ),
@@ -206,7 +206,8 @@
                         // but this is an invariant for MicEncryptedSection, so we double check.
                         // Also verify that there is enough space at the end to contain a valid-length MIC.
                         |(identity_ciphertext_and_mic, _tuple)| {
-                            (METADATA_KEY_LEN + SectionMic::CONTENTS_LEN..=NP_ADV_MAX_SECTION_LEN)
+                            (EncryptedIdentityMetadata::TOTAL_DE_LEN + SectionMic::CONTENTS_LEN
+                                ..=NP_ADV_MAX_SECTION_LEN)
                                 .contains(&identity_ciphertext_and_mic.len())
                         },
                     ),
@@ -901,6 +902,8 @@
     }
 }
 
+pub(crate) const IDENTITY_HEADER_LEN: usize = 2;
+
 /// Parsed form of an encrypted identity DE before its contents are decrypted.
 /// Metadata key is stored in the enclosing section.
 #[derive(PartialEq, Eq, Debug)]
@@ -908,7 +911,7 @@
     pub(crate) offset: v1_salt::DataElementOffset,
     /// The original DE header from the advertisement.
     /// Encrypted identity should always be a len=2 header.
-    pub(crate) header_bytes: [u8; 2],
+    pub(crate) header_bytes: [u8; IDENTITY_HEADER_LEN],
     pub(crate) identity_type: EncryptedIdentityDataElementType,
 }
 
diff --git a/nearby/presence/np_adv/src/extended/deserialize/section_tests.rs b/nearby/presence/np_adv/src/extended/deserialize/section_tests.rs
index f7e2025..5fa2dbe 100644
--- a/nearby/presence/np_adv/src/extended/deserialize/section_tests.rs
+++ b/nearby/presence/np_adv/src/extended/deserialize/section_tests.rs
@@ -523,7 +523,7 @@
 fn fill_section_random_des<'adv, R: rand::Rng, I: serialize::SectionEncoder>(
     mut rng: &mut R,
     sink: &'adv mut Vec<u8>,
-    section_builder: &mut SectionBuilder<I>,
+    section_builder: &mut SectionBuilder<&mut AdvBuilder, I>,
     de_offset: usize,
 ) -> (Vec<DataElement<'adv>>, Vec<GenericDataElement>) {
     let mut expected_des = vec![];
diff --git a/nearby/presence/np_adv/src/extended/serialize/mod.rs b/nearby/presence/np_adv/src/extended/serialize/mod.rs
index e753281..b70f49d 100644
--- a/nearby/presence/np_adv/src/extended/serialize/mod.rs
+++ b/nearby/presence/np_adv/src/extended/serialize/mod.rs
@@ -161,6 +161,12 @@
     advertisement_type: AdvertisementType,
 }
 
+impl AsMut<AdvBuilder> for AdvBuilder {
+    fn as_mut(&mut self) -> &mut AdvBuilder {
+        self
+    }
+}
+
 impl AdvBuilder {
     /// Build an [AdvBuilder].
     pub fn new(advertisement_type: AdvertisementType) -> Self {
@@ -170,17 +176,10 @@
         Self { adv, section_count: 0, advertisement_type }
     }
 
-    /// Create a section builder.
-    ///
-    /// The builder will not accept more DEs than can fit given the space already used in the
-    /// advertisement by previous sections, if any.
-    ///
-    /// Once the builder is populated, add it to the originating advertisement with
-    /// [SectionBuilder.add_to_advertisement].
-    pub fn section_builder<SE: SectionEncoder>(
-        &mut self,
-        section_encoder: SE,
-    ) -> Result<SectionBuilder<SE>, AddSectionError> {
+    fn prepare_section_builder_buffer_and_de_offset<SE: SectionEncoder>(
+        &self,
+    ) -> Result<(CapacityLimitedVec<u8, NP_ADV_MAX_SECTION_LEN>, DataElementOffset), AddSectionError>
+    {
         // section header and identity prefix
         let prefix_len = 1 + SE::PREFIX_LEN;
         let minimum_section_len = prefix_len + SE::SUFFIX_LEN;
@@ -203,16 +202,49 @@
         // placeholder for section header and identity prefix
         section.resize(prefix_len, 0);
 
-        Ok(SectionBuilder {
-            section: CapacityLimitedVec {
-                vec: section,
-                // won't underflow: checked above
-                capacity: available_len - SE::SUFFIX_LEN,
-            },
-            section_encoder,
-            adv_builder: self,
-            next_de_offset: SE::INITIAL_DE_OFFSET,
-        })
+        let section = CapacityLimitedVec {
+            vec: section,
+            // won't underflow: checked above
+            capacity: available_len - SE::SUFFIX_LEN,
+        };
+        let next_de_offset = SE::INITIAL_DE_OFFSET;
+        Ok((section, next_de_offset))
+    }
+
+    /// Create a section builder whose contents may be added to this advertisement.
+    ///
+    /// The builder will not accept more DEs than can fit given the space already used in the
+    /// advertisement by previous sections, if any.
+    ///
+    /// Once the builder is populated, add it to the originating advertisement with
+    /// [SectionBuilder.add_to_advertisement].
+    pub fn section_builder<SE: SectionEncoder>(
+        &mut self,
+        section_encoder: SE,
+    ) -> Result<SectionBuilder<&mut AdvBuilder, SE>, AddSectionError> {
+        let (section, next_de_offset) =
+            self.prepare_section_builder_buffer_and_de_offset::<SE>()?;
+
+        Ok(SectionBuilder { section, section_encoder, adv_builder: self, next_de_offset })
+    }
+
+    /// Create a section builder which actually takes ownership of this advertisement builder.
+    ///
+    /// This is unlike `AdvertisementBuilder#section_builder` in that the returned section
+    /// builder will take ownership of this advertisement builder, if the operation was
+    /// successful. Otherwise, this advertisement builder will be returned back to the
+    /// caller unaltered as part of the `Err` arm.
+    #[allow(clippy::result_large_err)]
+    pub fn into_section_builder<SE: SectionEncoder>(
+        self,
+        section_encoder: SE,
+    ) -> Result<SectionBuilder<AdvBuilder, SE>, (AdvBuilder, AddSectionError)> {
+        match self.prepare_section_builder_buffer_and_de_offset::<SE>() {
+            Ok((section, next_de_offset)) => {
+                Ok(SectionBuilder { section, section_encoder, adv_builder: self, next_de_offset })
+            }
+            Err(err) => Err((self, err)),
+        }
     }
 
     /// Convert the builder into an encoded advertisement.
@@ -220,6 +252,12 @@
         EncodedAdvertisement { adv: to_array_view(self.adv) }
     }
 
+    /// Gets the current number of sections added to this advertisement
+    /// builder, not counting any outstanding SectionBuilders.
+    pub fn section_count(&self) -> usize {
+        self.section_count
+    }
+
     /// Add the section, which must have come from a SectionBuilder generated from this, into this
     /// advertisement.
     fn add_section(&mut self, section: EncodedSection) {
@@ -272,6 +310,11 @@
     pub fn as_slice(&self) -> &[u8] {
         self.adv.as_slice()
     }
+    /// Converts this encoded advertisement into
+    /// a raw byte-array.
+    pub fn into_array_view(self) -> ArrayView<u8, BLE_ADV_SVC_CONTENT_LEN> {
+        self.adv
+    }
 }
 
 /// The encoded form of an advertisement section
@@ -279,24 +322,56 @@
 
 /// Accumulates data elements and encodes them into a section.
 #[derive(Debug)]
-pub struct SectionBuilder<'a, SE: SectionEncoder> {
+pub struct SectionBuilder<R: AsMut<AdvBuilder>, SE: SectionEncoder> {
     /// Contains the section header, the identity-specified overhead, and any DEs added
     pub(crate) section: CapacityLimitedVec<u8, NP_ADV_MAX_SECTION_LEN>,
     section_encoder: SE,
-    /// mut ref to enforce only one active section builder at a time
-    adv_builder: &'a mut AdvBuilder,
+    /// mut ref-able to enforce only one active section builder at a time
+    adv_builder: R,
     next_de_offset: DataElementOffset,
 }
 
-impl<'a, SE: SectionEncoder> SectionBuilder<'a, SE> {
+impl<'a, SE: SectionEncoder> SectionBuilder<&'a mut AdvBuilder, SE> {
     /// Add this builder to the advertisement that created it.
     pub fn add_to_advertisement(self) {
-        let adv_builder = self.adv_builder;
+        let _ = self.add_to_advertisement_internal();
+    }
+}
+
+impl<SE: SectionEncoder> SectionBuilder<AdvBuilder, SE> {
+    /// Gets the 0-based index of the section currently under construction
+    /// in the context of the containing advertisement.
+    pub fn section_index(&self) -> usize {
+        self.adv_builder.section_count()
+    }
+    /// Add this builder to the advertisement that created it,
+    /// and returns the containing advertisement back to the caller.
+    pub fn add_to_advertisement(self) -> AdvBuilder {
+        self.add_to_advertisement_internal()
+    }
+}
+
+impl<R: AsMut<AdvBuilder>, SE: SectionEncoder> SectionBuilder<R, SE> {
+    /// Add this builder to the advertisement that created it.
+    /// Returns the mut-refable to the advertisement builder
+    /// which the contents of this section builder were added to.
+    fn add_to_advertisement_internal(mut self) -> R {
+        let adv_builder = self.adv_builder.as_mut();
+        let adv_builder_header_byte = adv_builder.header_byte();
         adv_builder.add_section(Self::build_section(
+            adv_builder_header_byte,
             self.section.into_inner(),
             self.section_encoder,
-            adv_builder,
-        ))
+        ));
+        self.adv_builder
+    }
+
+    /// Gets the derived salt which will be employed for the next DE offset.
+    ///
+    /// Suitable for scenarios (like FFI) where a closure would be inappropriate
+    /// for DE construction, and interaction with the client is preferred.
+    pub fn next_de_salt(&self) -> SE::DerivedSalt {
+        self.section_encoder.de_salt(self.next_de_offset)
     }
 
     /// Add a data element to the section with a closure that returns a `Result`.
@@ -306,8 +381,7 @@
         &mut self,
         build_de: F,
     ) -> Result<(), AddDataElementError<E>> {
-        let writer = build_de(self.section_encoder.de_salt(self.next_de_offset))
-            .map_err(AddDataElementError::BuildDeError)?;
+        let writer = build_de(self.next_de_salt()).map_err(AddDataElementError::BuildDeError)?;
 
         let orig_len = self.section.len();
         // since we own the writer, and it's immutable, no race risk writing header w/ len then
@@ -357,9 +431,9 @@
     ///
     /// Implemented without self to avoid partial-move issues.
     fn build_section(
+        adv_builder_header_byte: u8,
         mut section_contents: tinyvec::ArrayVec<[u8; NP_ADV_MAX_SECTION_LEN]>,
         mut section_encoder: SE,
-        adv_builder: &AdvBuilder,
     ) -> EncodedSection {
         // there is space because the capacity for DEs was restricted to allow it
         section_contents.resize(section_contents.len() + SE::SUFFIX_LEN, 0);
@@ -372,7 +446,7 @@
             .expect("section length is always <=255 and non-negative");
 
         section_encoder.postprocess(
-            adv_builder.header_byte(),
+            adv_builder_header_byte,
             section_contents[0],
             &mut section_contents[1..],
         );
diff --git a/nearby/presence/np_adv/src/extended/serialize/section_tests.rs b/nearby/presence/np_adv/src/extended/serialize/section_tests.rs
index 68e5b60..3a6a5f9 100644
--- a/nearby/presence/np_adv/src/extended/serialize/section_tests.rs
+++ b/nearby/presence/np_adv/src/extended/serialize/section_tests.rs
@@ -805,7 +805,7 @@
 /// Write `section_contents_len` bytes of DE and header into `section_builder`
 pub(crate) fn fill_section_builder<I: SectionEncoder>(
     section_contents_len: usize,
-    section_builder: &mut SectionBuilder<I>,
+    section_builder: &mut SectionBuilder<&mut AdvBuilder, I>,
 ) {
     // DEs can only go up to 127, so we'll need multiple for long sections
     for _ in 0..(section_contents_len / 100) {
@@ -863,9 +863,14 @@
     fn into_section(self) -> EncodedSection;
 }
 
-impl<'a, I: SectionEncoder> SectionBuilderExt for SectionBuilder<'a, I> {
+impl<R: AsMut<AdvBuilder>, I: SectionEncoder> SectionBuilderExt for SectionBuilder<R, I> {
     /// Convenience method for tests
-    fn into_section(self) -> EncodedSection {
-        Self::build_section(self.section.into_inner(), self.section_encoder, self.adv_builder)
+    fn into_section(mut self) -> EncodedSection {
+        let adv_builder_header_byte = self.adv_builder.as_mut().header_byte();
+        Self::build_section(
+            adv_builder_header_byte,
+            self.section.into_inner(),
+            self.section_encoder,
+        )
     }
 }
diff --git a/nearby/presence/np_adv/src/legacy/actions/macros.rs b/nearby/presence/np_adv/src/legacy/actions/macros.rs
index 8208a57..db241d6 100644
--- a/nearby/presence/np_adv/src/legacy/actions/macros.rs
+++ b/nearby/presence/np_adv/src/legacy/actions/macros.rs
@@ -48,25 +48,6 @@
 /// Use `plaintext_only`, `ciphertext_only`, or `plaintext_and_ciphertext` to create appropriate
 /// impls.
 macro_rules! boolean_element {
-    ($type_name:ident, $index:expr, plaintext_only) => {
-        $crate::legacy::actions::macros::boolean_element_struct!($type_name);
-        $crate::legacy::actions::macros::boolean_element_struct_from_bool!($type_name);
-
-        impl $crate::legacy::actions::ActionElement for $type_name {
-            $crate::legacy::actions::macros::boolean_element_action_element_impl_shared!(
-                $type_name, $index
-            );
-
-            fn supports_flavor(flavor: $crate::legacy::PacketFlavorEnum) -> bool {
-                match flavor {
-                    $crate::legacy::PacketFlavorEnum::Plaintext => true,
-                    $crate::legacy::PacketFlavorEnum::Ciphertext => false,
-                }
-            }
-        }
-
-        $crate::legacy::actions::macros::boolean_element_to_plaintext_element!($type_name);
-    };
     ($type_name:ident, $index:expr, ciphertext_only) => {
         $crate::legacy::actions::macros::boolean_element_struct!($type_name);
         $crate::legacy::actions::macros::boolean_element_struct_from_bool!($type_name);
diff --git a/nearby/presence/np_adv/src/legacy/actions/mod.rs b/nearby/presence/np_adv/src/legacy/actions/mod.rs
index 90a0186..e0f4514 100644
--- a/nearby/presence/np_adv/src/legacy/actions/mod.rs
+++ b/nearby/presence/np_adv/src/legacy/actions/mod.rs
@@ -439,5 +439,5 @@
 macros::boolean_element!(InstantTethering, 10, ciphertext_only);
 macros::boolean_element!(PhoneHub, 11, ciphertext_only);
 macros::boolean_element!(PresenceManager, 12, ciphertext_only);
-macros::boolean_element!(Finder, 13, plaintext_only);
-macros::boolean_element!(FastPairSass, 14, plaintext_only);
+macros::boolean_element!(Finder, 13, plaintext_and_ciphertext);
+macros::boolean_element!(FastPairSass, 14, plaintext_and_ciphertext);
diff --git a/nearby/presence/np_adv/src/legacy/actions/tests.rs b/nearby/presence/np_adv/src/legacy/actions/tests.rs
index d45d968..6e68211 100644
--- a/nearby/presence/np_adv/src/legacy/actions/tests.rs
+++ b/nearby/presence/np_adv/src/legacy/actions/tests.rs
@@ -250,18 +250,6 @@
 }
 
 #[test]
-fn action_bits_try_from_flavor_mismatch_ciphertext() {
-    assert_eq!(
-        FlavorNotSupported { flavor: PacketFlavorEnum::Ciphertext },
-        ActionBits::<Ciphertext>::try_from(ActionType::Finder.all_bits()).unwrap_err()
-    );
-    assert_eq!(
-        0xF0000000,
-        ActionBits::<Ciphertext>::try_from(ActionType::ContextSyncSeqNum.all_bits()).unwrap().bits
-    );
-}
-
-#[test]
 fn actions_de_deser_plaintext_with_ciphertext_action() {
     assert_eq!(
         DataElementDeserializeError::FlavorNotSupported {
diff --git a/nearby/presence/np_adv/src/legacy/random_data_elements.rs b/nearby/presence/np_adv/src/legacy/random_data_elements.rs
index 00a2e93..aca906b 100644
--- a/nearby/presence/np_adv/src/legacy/random_data_elements.rs
+++ b/nearby/presence/np_adv/src/legacy/random_data_elements.rs
@@ -89,9 +89,8 @@
                 ActionType::PresenceManager => bits.set_action(PresenceManager::from(true)),
                 ActionType::InstantTethering => bits.set_action(InstantTethering::from(true)),
                 ActionType::PhoneHub => bits.set_action(PhoneHub::from(true)),
-                ActionType::Finder | ActionType::FastPairSass => {
-                    unreachable!("not ciphertext actions")
-                }
+                ActionType::Finder => bits.set_action(Finder::from(true)),
+                ActionType::FastPairSass => bits.set_action(FastPairSass::from(true)),
             }
         }
 
diff --git a/nearby/presence/np_adv/test.json b/nearby/presence/np_adv/test.json
deleted file mode 100644
index 953eebf..0000000
--- a/nearby/presence/np_adv/test.json
+++ /dev/null
@@ -1,24122 +0,0 @@
-[
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8CDE04CBC59C9134F37B1FFBCF5C1136",
-    "aes_key": "0C04AAE1338E928EA903CAF2FD806749",
-    "data_elements": [
-      {
-        "contents": "3DF2D0883246D50B5C981ADB",
-        "de_type": 163
-      },
-      {
-        "contents": "5628511D93E01312D69F5484",
-        "de_type": 317
-      },
-      {
-        "contents": "C255FFF1D4F8501E3467B084BDD124DF26",
-        "de_type": 721
-      }
-    ],
-    "encoded_section": "69901356E7F8215A0B45D559EFD0EE88A6398B911000C807A0FFE7C79ABD61B1862AFBD097AF9001D042A9F585F02B4DE34C7412A717A08034ECDC1862BB599B6CD7CD3F95D191135555C01A0D1A71EBF2593213E9439552D625736E024EADFA950BA7B78D6AD844AD0A",
-    "identity_type": "private",
-    "iv": "2170459EF8C3E6DB3BFB808B62A5D03E",
-    "key_seed": "43A340DE5AFC350888FB696FC77D8CB0467668F18E7EDCB8CC3AC2F59F075ACB",
-    "metadata_key": "593580A4B65DEF1E6B117C8055CB6257",
-    "section_mic_hmac_key": "CDB8526FA8BEC42B51495EEA23F347B2F8E07A757DF63FE9C5C9100E8EB39435",
-    "section_salt": "C807A0FFE7C79ABD61B1862AFBD097AF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8630E9D33F2AB78558BB4AF5C09F4C9E",
-    "aes_key": "E9FE3EF4069698F338256E23AAC08029",
-    "data_elements": [
-      {
-        "contents": "C70548D64F0D131D8551D3C2B3",
-        "de_type": 448
-      },
-      {
-        "contents": "E4EAA94038A8B4A0D46C83695DABC05262C7DA5ED2395B673527C5C337",
-        "de_type": 859
-      }
-    ],
-    "encoded_section": "6790134C7B6E97BE50C21ADAEE4D5EC611313B911000A6C0ECE0A9D25663F329C6C218D07CB59004603C46143E88C0F872F341BE2C06FB4DF9ECF1A970CAFBCD5315C9D8389770E627D3C913690256AA8BD753910DBB4FEA57E8AC5125E5B906CA0E0DF17081F34D",
-    "identity_type": "provisioned",
-    "iv": "39201C314CBC2D3F88EE094E627E7ADC",
-    "key_seed": "83FEF3C4A9E58DAA566F19AECC7C9CEE6EA4BA37F360EE8A40A26FBB99938F4B",
-    "metadata_key": "90A529D185FE0105D76179ED5AC841C8",
-    "section_mic_hmac_key": "8466111DFC334299442A84F91E3F6616C1023F2A29C72670C483F2445C18B75A",
-    "section_salt": "A6C0ECE0A9D25663F329C6C218D07CB5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6FB3720F743A68E6474B1459990DFAC6",
-    "aes_key": "A2E0437B429330BF82B8BA3B2B762770",
-    "data_elements": [
-      {
-        "contents": "13851601256B24E7",
-        "de_type": 404
-      },
-      {
-        "contents": "82FAAF4977AE0B80EAAC",
-        "de_type": 81
-      },
-      {
-        "contents": "C9B19F78DDF6FD66AA623267E9656C2E1EEB9F0F8253B1041626",
-        "de_type": 152
-      },
-      {
-        "contents": "EFD96E20D81B0ACD",
-        "de_type": 474
-      },
-      {
-        "contents": "2120F35E2B9EB9D5027BDC",
-        "de_type": 264
-      }
-    ],
-    "encoded_section": "8490137D769DEFAA2E8B1BCD01332139B1F4F99110008F7DCA2DC4146183C14177A6F847468B90043E07B7A107CC2C88A183F2D8D5A6C4A6119DFCB0603F251F3994F0468C56F2014A98BEF0881B342F28E7E83B89EBB28E2E54D88B0AAFEB4FDE73F8C8D918E818ED997A0CFB3ED6344189D0A06F4FDD3F780FC6E87421578FF68B06E6E0",
-    "identity_type": "provisioned",
-    "iv": "52A7C3FC58494668CB193C7C583AB583",
-    "key_seed": "D0B97B7B4CB8CF85A9E707ADD592E017BD7B3964F59801EA9A08DEB3E8A3EA47",
-    "metadata_key": "6AF91918569B21EC14C90B099284EEED",
-    "section_mic_hmac_key": "EA04A0F8FF46882A8B759E7E9D53CAAF2D847C393B5A47F6AA4284DA1BF8CF11",
-    "section_salt": "8F7DCA2DC4146183C14177A6F847468B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6F144BE070388B857B001873992CA0EF",
-    "aes_key": "0165985CBCA678350F250112E1354FCE",
-    "data_elements": [
-      {
-        "contents": "B6D2CE67C704514BB9F370812B470A56BA4BDD",
-        "de_type": 164
-      },
-      {
-        "contents": "49DCA454994B399B9914768E457F",
-        "de_type": 701
-      },
-      {
-        "contents": "FBD41AC2FCBB9B47F6B04863B8139AE83A9AF049A137F2A766",
-        "de_type": 466
-      },
-      {
-        "contents": "73A400CB6E36EB45BD1AE7",
-        "de_type": 172
-      },
-      {
-        "contents": "1113B990D3D4B31D4CEEFB849F8CAFD01A82968A61",
-        "de_type": 725
-      }
-    ],
-    "encoded_section": "A09013988012579D82091B81D39640A1F4B47891100077789262A428CFE712797C28D85A644A90021BBE826D956C08B86149427A8EFA6D801523C348FA78AF09433AF1A947269D58CDCA26055838209A01615CB0FFD9C55234D2EF9805FCB1FF8ED66137B2DE6A8C34F57F6FAC98645D1C482E851C77BFB1ACBB5A22E2CA297BAD14CAD0C08E4C8424C7A6E683C7EE8392A091DD9217DD6E5396D3644F01EF3CAE",
-    "identity_type": "trusted",
-    "iv": "7BAE887BD9B8BE99864343D585848A63",
-    "key_seed": "70CC58965C36307BE580E2793ACDC8D792FCFE8B17392B4F0B7A6ABC31D3CF02",
-    "metadata_key": "E503087FCE974FEDCC3290C2ABC2AF15",
-    "section_mic_hmac_key": "173560AC7513A51677C06801D39CE68B2E32F6BA7C02364800EF73AE27916ACC",
-    "section_salt": "77789262A428CFE712797C28D85A644A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BD864BCB86CC4FAFA1DF15D05C693F70",
-    "aes_key": "B7A853164A7D88165F7044725DE648FC",
-    "data_elements": [
-      {
-        "contents": "B6A9A4926FEDFDE5D8D870BA06144690",
-        "de_type": 175
-      },
-      {
-        "contents": "B8C403AC879A7EBB6D69458D",
-        "de_type": 720
-      }
-    ],
-    "encoded_section": "5990139BE32BB50428F39C6510AB0BCAE0A4519110002542EBE3983FF77643536AF98A47BDFE9001D2EFF80C4D9A6391063A16F2E989F5C02424E527596A15A5E2424EEA7317214FEEC57E1C28E1F47C8BE40C43839BD6CC2EE1",
-    "identity_type": "private",
-    "iv": "F1411FAE6BBB7AF0F798EF7898C1A026",
-    "key_seed": "15C3A38E12E82DE3D05867A72C09259B2F163E0F7E2B900013FD9589E4FCB08B",
-    "metadata_key": "BEF599A91BB40E6A3A12D69AA8AA40D5",
-    "section_mic_hmac_key": "B268F77855AAFA3A0AEC62CEF115FAF98C4616536512F7AD13EBAA17CC36237E",
-    "section_salt": "2542EBE3983FF77643536AF98A47BDFE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4112B2B6BC0C275800AF30E221E029A",
-    "aes_key": "CB3E8DA92E33B125E206698CCDDB4E17",
-    "data_elements": [
-      {
-        "contents": "99A2BBD12EA3D487BA35A47215",
-        "de_type": 374
-      },
-      {
-        "contents": "3B4AD8B0AC9370A0DBECE41039A7C136D66AE40E251A274483E1E04B",
-        "de_type": 322
-      },
-      {
-        "contents": "3B5465ABD3AB9E51E37FE1825D19EBCB6D75",
-        "de_type": 882
-      },
-      {
-        "contents": "C3303DEB37C1CBF6F2D83CF60B5AAE7343",
-        "de_type": 508
-      },
-      {
-        "contents": "5AC15AF945563810514171B4D3CF13EB7CD056ED84CC4AD84E5C8C",
-        "de_type": 734
-      }
-    ],
-    "encoded_section": "AD9013C80618AEF0E93826CCBB9F1FC3CA1D2E911000BA4390D760820DE7D19BDD18E12105A99001E4F5385E499355B62DC8EB87A3B4B44BF0A799A099FF59F83CF7042DC080D469575ECB02FD8DC04FB60539411A4142E3386DDB945F456D90F6104B6D5893E7697CCB294A98597A07EDA2FA2A1B5C92DC85F720DCCC7B4F25639F1A8E912041148020E7EF5DBFDB6455C1DEF20F9B7A14218826843B218FA12FEC92D0AC0C0664304BF11B3962",
-    "identity_type": "private",
-    "iv": "E39A28DAC41BAE56D9C38A90DE18970E",
-    "key_seed": "F8956985D12A7454C239C35BD7F5B98FED6987FE6097F27888DC942E9B4F5BAE",
-    "metadata_key": "0DFAB0A1A5C1F1FB82F4E19C387EF630",
-    "section_mic_hmac_key": "D52D92CED4F96F98A96CDE0CBCBA70D22D695FE28A792490C9EC8AD3D7C512E4",
-    "section_salt": "BA4390D760820DE7D19BDD18E12105A9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8281FAD7EBE43124AD3E52A64BDFC08",
-    "aes_key": "37FEED11494EC97655A7CDFAAFA0B332",
-    "data_elements": [
-      {
-        "contents": "2FEB5C0E9CB50EA61479D2",
-        "de_type": 182
-      },
-      {
-        "contents": "",
-        "de_type": 76
-      },
-      {
-        "contents": "EDFE252EC0AF1BCF3203E68626BD87DC210591FB4087E5",
-        "de_type": 186
-      },
-      {
-        "contents": "F3B28EE0AA3540",
-        "de_type": 53
-      }
-    ],
-    "encoded_section": "6A901326C139F9297299F3291C4C5449667C1E9110001C4A655CE96B261144D0DC30EEB06E819001ED20997FF72B0145678564A0823492B38F82A2908345E56312025794BFAB4154F007A7B8B672F38D5D78E5E201BB839A44D8E5819E8EE1563FF02619DBB4F3179D5719",
-    "identity_type": "private",
-    "iv": "6DD5002B0EC75F051EC1C94C9C5BD7DC",
-    "key_seed": "4E462ABDDDE34121284FE9958F24C16DBA38929E38A34F2019783CDAD5E08706",
-    "metadata_key": "AFEB6946137C5F406D7849DBC57AEA66",
-    "section_mic_hmac_key": "8C3FF0042FD0E1C4145EFCD9A7A84D636B6A58BE736B10AF391C72DB7B4CE6B7",
-    "section_salt": "1C4A655CE96B261144D0DC30EEB06E81"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E64361FB1C8C7325B408FAEE1E49547A",
-    "aes_key": "7BBC46B2F18B3D283060D0A697FD11CD",
-    "data_elements": [
-      {
-        "contents": "9E4B0F0E1E5F8B4A48E6E85204B7B761BB77C2B8E9D87A",
-        "de_type": 398
-      },
-      {
-        "contents": "4DA86FD08563540F21F4D25BC7B6C8FFE5D0C256F695231A9758CB",
-        "de_type": 536
-      },
-      {
-        "contents": "0EF79DA8BA03209867C317EE62ED67FE793C10338A07C7509E5B394A",
-        "de_type": 892
-      },
-      {
-        "contents": "E5282DD8F645D9C437993F0B64E1C0126B51",
-        "de_type": 44
-      }
-    ],
-    "encoded_section": "A2901389A25CC355CD62CBE4A5003ACDF8EE059110002E283829FBEBE221CF9A1F91C1B0BD1D900171AB8293D624A4D2BE56FDE47583BBD8845F3855B25932CD6A1DCA7098797D301AFBFCF9A4A8A806E391C54F110D1B9D80A21CB9769249E819530E57270E20135F0406FC4C0BB0BBFB5EF126993AEE724E98B9E92A5B6992F8298B8C4FDC7D631588EAB84DD79BD92555DCD93E5FACC5EC36EB8B9F8DF0AB62F718",
-    "identity_type": "private",
-    "iv": "A926171CE5153CBD347A51C9978CE93F",
-    "key_seed": "F36B60BF6F555557AA212FC62B5C02A13C9C2BA4DF41EDD5A72F16AE66D236AD",
-    "metadata_key": "BB668D0081DBF606A285AD033DE92814",
-    "section_mic_hmac_key": "91908BF2F777B922CC1CC476A770C7FCAECCE0DE0B2A8F95FE44D507024B93A2",
-    "section_salt": "2E283829FBEBE221CF9A1F91C1B0BD1D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9DB5D8E94ABD7216DABD6C8F66C5F52F",
-    "aes_key": "75EB4826F32F9F8B7328CB265FDE141A",
-    "data_elements": [],
-    "encoded_section": "379013542EB74608EA671B4B9C539D5DAC9E0B911000371E5AA6A854D8B34632AF62FB16F9E39002958BD9049E4B9D49DB40BFB15A1DEB0C",
-    "identity_type": "trusted",
-    "iv": "FE2F66ADC508DBE090043C56A1D4CC2F",
-    "key_seed": "5694BC71EA736D6F1C9F9CB3F7359AF337754178D62E0CB2C8305813F7334036",
-    "metadata_key": "D7DF4817E2E00574C1CF3B5BA51411C3",
-    "section_mic_hmac_key": "B6CF96993547CD0B865BA29ACD9E7989CCA2A2CCFD940E81C97A613423F34D2B",
-    "section_salt": "371E5AA6A854D8B34632AF62FB16F9E3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "815CAF890EB0DEA3D861BE22C7BE8485",
-    "aes_key": "34D85A4581FF6A69DBBD8CD74D881E2A",
-    "data_elements": [
-      {
-        "contents": "8E976835BD38B761F8F5C5E3",
-        "de_type": 175
-      }
-    ],
-    "encoded_section": "469013F70BA8EF34F0B010A6EDFF3E02486FFB91100057434E8D7DA6137D885EE4B43DA850B09001367A8D04108F605A363DDE7A55DBC6D28C92FE23A27E7D70FF072A469793CD",
-    "identity_type": "private",
-    "iv": "0F43CBDBB69194C72762C45B8A959AE2",
-    "key_seed": "9DCDB616C7824FE6E29EDEE371A1F019AB9035DEA6A2FAEED01086EB7C7BA56E",
-    "metadata_key": "386504600FDC6BB6D29B931F997569C3",
-    "section_mic_hmac_key": "40CCE5D2E8BD439CE407FADC7D03C1E5E3EE7BDB2AE09C3DAEEDBCD383994AAC",
-    "section_salt": "57434E8D7DA6137D885EE4B43DA850B0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "20AA489B07F54A47398F0D452085BA80",
-    "aes_key": "70E8FE98FC7B2F2BAF0F571C5A6CA285",
-    "data_elements": [
-      {
-        "contents": "895FC4C4D7C5327B823935153EE5",
-        "de_type": 603
-      }
-    ],
-    "encoded_section": "489013E548BFD8D8BF4BABE9BBA791575D88F0911000EA0BC8652F833AA286C9B67BDBEEFFDD90012C035FA41FD24BC9E2154A4A746EC39BD898F5AC0D626F6FDC9EC1625F4A6E0278",
-    "identity_type": "private",
-    "iv": "27675AE693055520D818FA2DF75BA1DD",
-    "key_seed": "7BE2B5351B3AF721D834EFC7D92EDCFBB356CD30C149CFF13FFA6BB9E9EB4E9E",
-    "metadata_key": "C51BF8A84C682176009DAFC96E45E52A",
-    "section_mic_hmac_key": "63BB6F972081FE41233CC4657536A17D3DA9AC374FCCAAE4A390FBB9467E6B10",
-    "section_salt": "EA0BC8652F833AA286C9B67BDBEEFFDD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E7BF03DDA652D45DE79BEC7C63C52888",
-    "aes_key": "DEC78F8DAAD1135EDA4BA73CA2EDDE93",
-    "data_elements": [
-      {
-        "contents": "CA",
-        "de_type": 831
-      },
-      {
-        "contents": "0681689828FE001F46FB",
-        "de_type": 640
-      },
-      {
-        "contents": "A0",
-        "de_type": 925
-      },
-      {
-        "contents": "6EF5787D1B7E",
-        "de_type": 821
-      }
-    ],
-    "encoded_section": "559013122F1A904EE013BF5054BD17CB565C7B911000BA917BAFABA916680B68E584D7B3C74F9002124726B3336C5A2E714BDA406F4ECAE6942867CFB87D060B7CA2B90E553A7980483C575AA8F669191B6652D622FF",
-    "identity_type": "trusted",
-    "iv": "5623FFAEE945A52FED893932E2C2831B",
-    "key_seed": "EB421B623B6601022B06C3B84A805B0BECB369AC96BDDB227D35F720BB88E54D",
-    "metadata_key": "481736D7E51E562209CB88D5098D7AB8",
-    "section_mic_hmac_key": "73839ABE23D964F432D5109E0FD1AF2B7458ACA6C4FC8C81B00F17697ADC7140",
-    "section_salt": "BA917BAFABA916680B68E584D7B3C74F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4F478C39E6822FD65B039A579058329",
-    "aes_key": "942E583271C5BAB68F5A289F13B4AD3D",
-    "data_elements": [
-      {
-        "contents": "6740DA0B7D7422B46668B2A4748EF1723D4740177B561E28",
-        "de_type": 25
-      },
-      {
-        "contents": "57673A8C3CA46CFBA015193726BA9D1B87C155F230",
-        "de_type": 157
-      },
-      {
-        "contents": "966C4FDAFD61602A93A588FCC9E9",
-        "de_type": 997
-      }
-    ],
-    "encoded_section": "7A9013E8068D3273AD4073892EC5B38DFE7A85911000F20408CF4792B57C5EAB5F364D498024900485D9D787000902A41BF9B32EBE0B9BC5457E424445793F00C68FF17BA783444CED2BC3DF3E7FD930C5D53A8FF8A279DBD838FEA95D0DB5047C90A20128D099424453872597B42EC79617D8460C78EFCDD06166",
-    "identity_type": "provisioned",
-    "iv": "97A725CAFF2ECB63466FC4FE92F1D93F",
-    "key_seed": "3B1148D64481A45A5ED6A0C71204CE9EFBBBFB24772F4376D14A60809095A80C",
-    "metadata_key": "E356AB5D0B7B4A162CFFB3DC9200B03E",
-    "section_mic_hmac_key": "622F90CBC74C39F7E270CCFEDC73CC2501A788B6233CE65018C90D315EB1B5BC",
-    "section_salt": "F20408CF4792B57C5EAB5F364D498024"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E3E029E6CCC13E76F6537200F6FE6609",
-    "aes_key": "13395363678EB859D922B0AC513D569D",
-    "data_elements": [
-      {
-        "contents": "E88903",
-        "de_type": 1
-      },
-      {
-        "contents": "9177F23C1703",
-        "de_type": 498
-      }
-    ],
-    "encoded_section": "449013DAEF852821B69637E7ECB1814AA11E6E911000C35F60118757A8DC6AC94A3145568E2C900258CBCB74090D6AEB5721940B6889ED4C3C225551A6693E6011097D84BD",
-    "identity_type": "trusted",
-    "iv": "FECC334DA28A05283126BB74D6D86328",
-    "key_seed": "836FC0759CA3CBB83B1DC440AAC7EA8832723A1804CCF55FA82B3DE62CF6EF94",
-    "metadata_key": "108F487561268EC3E2139081F2C18B93",
-    "section_mic_hmac_key": "1FAB84D97BFBBA1E719918D561F9F49A7190014740FDD66FD6521884BF997D91",
-    "section_salt": "C35F60118757A8DC6AC94A3145568E2C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ED9AB8CBA38B0378A57060CAEEB7DC37",
-    "aes_key": "85016D4CE263E72594660319A4008F5C",
-    "data_elements": [],
-    "encoded_section": "37901315D82A68468424FC66C3F583A599E184911000484C4A72DC77F3D141DFD0251501313C900421DAA8789829C8B74D5A81CD5E003B97",
-    "identity_type": "provisioned",
-    "iv": "91A3EBC0493D70CC75CD52A15EDE7EE1",
-    "key_seed": "DC9A2935DA138DBA468602F58BA4C10B2CA2073931C2CD76EB89BE9E0C62EC35",
-    "metadata_key": "6B7B939EC1DFD9DFB28A5AF4834D9837",
-    "section_mic_hmac_key": "A37F2450D25ECFEB5F5BA3B902280E75A8CD266E134AFA52489EC23247D191A0",
-    "section_salt": "484C4A72DC77F3D141DFD0251501313C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AA01BEF21050FC2F2E10253E8D1C1976",
-    "aes_key": "EC5750863DC5A63EE6C924204FDA7434",
-    "data_elements": [
-      {
-        "contents": "C9FB1F10A5EECEB78957471B0E9F5DD4F6B378",
-        "de_type": 843
-      },
-      {
-        "contents": "4E43DF33AFBCD1D9659E19B0A90FCB04634B",
-        "de_type": 419
-      },
-      {
-        "contents": "4F3484030125E7350D12E9663A",
-        "de_type": 51
-      },
-      {
-        "contents": "",
-        "de_type": 39
-      },
-      {
-        "contents": "7604411E964954B0FC27",
-        "de_type": 233
-      }
-    ],
-    "encoded_section": "809013E0B47E9EE5B8805FAE10443E6B5463BF911000DB703DF2D395F42E99EA0544CF85C1F790025E4F401EDB54B36B8CBE582AA5BD19FE4C2671F43DAA3F4E1A060E06AE4A7922BB500BF7E27485959C1A3129450249D0909ABE0F1C34BCED066AFF0140262A2007FA37F2617803C68B429540B65383073558874972F06DE286",
-    "identity_type": "trusted",
-    "iv": "9B68EF8ED1D81A8E00D41A8EDF863F8B",
-    "key_seed": "1D03BFEAD804837303B5363C8F089C79B3FAEC4D566803A636C8C566180D9587",
-    "metadata_key": "3F72F934C211CFBDE074CCB0A54DCD50",
-    "section_mic_hmac_key": "331F932E99A5D100F95C6DA9ABBDE9486649FA13D9F40B6075C678B1FD02E42F",
-    "section_salt": "DB703DF2D395F42E99EA0544CF85C1F7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "75A2C0202C54B148B3A8325523E39AC4",
-    "aes_key": "62C0EBC73039A209769197670BA21D32",
-    "data_elements": [
-      {
-        "contents": "1053D13B0CD897",
-        "de_type": 913
-      },
-      {
-        "contents": "08D336BE6750FAADCC063556753748C6D80E7BFE3AA5016139DC9EE23054",
-        "de_type": 385
-      },
-      {
-        "contents": "CA9FA19B1A1D2662477670DBAC88B27E484B45A21A4EB0",
-        "de_type": 78
-      },
-      {
-        "contents": "150352672FC7AD44BA4F3AD0AE8F1FB86B342072982DCA44D8C028",
-        "de_type": 246
-      }
-    ],
-    "encoded_section": "9990130900396AEDFDC487B3C663EED8CEB672911000607C74788B6319F4BEB5D1B4CB02D7BD900118F1E3D46294A4BA21D910380DE516BE171072179B90364446BA39519AA03E30382BAD7560A891FFB6F72D1F17D6C6385762460985DCBBBF3C890F8AAE57BE0BBBA483917D4CCA0A6837669F7B00D710D0CC2E760E3E0B4903CDCF5AC83DE4CC1995FB93278C9E0EE2667A93387B1ADBA08C",
-    "identity_type": "private",
-    "iv": "F2C95E5EC2FA105C282643BA7C800549",
-    "key_seed": "4B6810C7997D7DDE597C9268442CE989762AAD10290801679FF4594198DEA08B",
-    "metadata_key": "83562D42E58C363E0E48127F1B3897B2",
-    "section_mic_hmac_key": "43A0F588C743498AB2FC9BCEB915A1BCD353E02B9AB75CB952A6430C4D6C9062",
-    "section_salt": "607C74788B6319F4BEB5D1B4CB02D7BD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "212440B8E8D36B2CC1327699BFC93206",
-    "aes_key": "6A2AD6F934FAFA71982F6C4AA26A4F56",
-    "data_elements": [],
-    "encoded_section": "379013D5557C5A6CE2CAF81CE036A91EF70A3E9110009DC45FD603A6B020B509B8D9BFC969DB90041218B5589E2AB40D4B0B82061756E4DB",
-    "identity_type": "provisioned",
-    "iv": "F72C452B0E570EB5B9DE952C4791095A",
-    "key_seed": "47B2C609DC4A2F6785197E6EA791FEAFF65BA00A43E5A18A677933ED15386ADA",
-    "metadata_key": "8F209D0C0585905DF5DE92BD3B654667",
-    "section_mic_hmac_key": "D9FA303E247451D08056ADF12DBDD9EC49332E3AC4CA3E301069728FE0063569",
-    "section_salt": "9DC45FD603A6B020B509B8D9BFC969DB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "433465189236D09078373B8ED0CCCCAC",
-    "aes_key": "E43BC17300BCFBEB25108453100382C2",
-    "data_elements": [],
-    "encoded_section": "379013A40450E97B1E7F305B04EEA1CC6C6FF7911000858846A0F9FD9E2E0611D97BF2EF06469002A3D2D64941BB2C16BE63E6233FA8BBD9",
-    "identity_type": "trusted",
-    "iv": "5FFB8A197BE6260CBE3EF3F5A69D6F9A",
-    "key_seed": "950084CE1A17C18014492E2D819E1A4A8918E418B5D793D41CE40AC01962AB45",
-    "metadata_key": "F3105517DA032D58D69A3604C768A207",
-    "section_mic_hmac_key": "81F142D0B4A95BBF07A155889C7B253A70BE5AD20EBEE9E38B730A9201FADD47",
-    "section_salt": "858846A0F9FD9E2E0611D97BF2EF0646"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AE407D2A8A6A0F933972D7926F06C555",
-    "aes_key": "6684D1C9DA338DD00813CE3BACA74FDF",
-    "data_elements": [
-      {
-        "contents": "BA4B31050C802CCFD9F9",
-        "de_type": 261
-      },
-      {
-        "contents": "A07F15",
-        "de_type": 533
-      },
-      {
-        "contents": "3D59A78F9181304C3974C28F99BA56FC",
-        "de_type": 680
-      },
-      {
-        "contents": "BF97709E54F7",
-        "de_type": 452
-      }
-    ],
-    "encoded_section": "6690134F1022868C775755B32E82021EA423C39110001F7DE96605E9315D3517A53C620C9DFD900485ED9FED88BAEA7D0F7F2649C5C60EF3A8B1985EAC9CA0670D89222827DA233F046290021C3D90C872AAA85B5DAA376E3EF6359C0B865FBDCB1DE9AC211D91",
-    "identity_type": "provisioned",
-    "iv": "7CB6244938A943AE0C2223EE5478D9F0",
-    "key_seed": "2DF4F998B4046363F13903E444563666752112E7A50CCA849AA20A1B632BA11C",
-    "metadata_key": "81D88DAABD6499A41CC39A0B69C88149",
-    "section_mic_hmac_key": "2579AC31B40E6259D86560A179396A8C8D2460B065479AD84D1672A8E6AAF100",
-    "section_salt": "1F7DE96605E9315D3517A53C620C9DFD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6BEFDA99ED6531BCC16097D12D8E054F",
-    "aes_key": "5EAB15A140D70A229BB83A187E9F02CB",
-    "data_elements": [
-      {
-        "contents": "0F0E43C4406FA2936FA381",
-        "de_type": 236
-      },
-      {
-        "contents": "08C74C0A5E82AB",
-        "de_type": 569
-      },
-      {
-        "contents": "B739FE96118484",
-        "de_type": 911
-      }
-    ],
-    "encoded_section": "5990133C1C7C478A9872741B2CACDCE6EF85F59110005F03C93641025F2C7C9AFE7A14A9CCD590040783A8D0F38BBB63558E4FD0359A1ED0479EB554E8FB8D695366CEAC447857027FF727D304764FE2A2033DC87C56017725F3",
-    "identity_type": "provisioned",
-    "iv": "3DBA7081144B735EA26C11843C84939A",
-    "key_seed": "A6E1BBB65242EF0297CFD3F36A26E92131DF8AE1124785A313A03CBA129A5708",
-    "metadata_key": "B756D4BB650054A9B555F945179AC0BF",
-    "section_mic_hmac_key": "672FD0220AD1CE18CB5C2865E369343213F98286F70F932B6864E77878042155",
-    "section_salt": "5F03C93641025F2C7C9AFE7A14A9CCD5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "936F85512A5DA1B653FB8A2DCF27EBF9",
-    "aes_key": "212B797347439C09143EDEE8D49D1145",
-    "data_elements": [
-      {
-        "contents": "4C46272C464F1F327ABA",
-        "de_type": 300
-      },
-      {
-        "contents": "90DFEBBD2FD42483D8",
-        "de_type": 576
-      },
-      {
-        "contents": "9C67",
-        "de_type": 590
-      },
-      {
-        "contents": "54EE",
-        "de_type": 237
-      }
-    ],
-    "encoded_section": "5A9013FEC4DE90AE4B04DB998D69D7B9DAB3B6911000071925257522B40B840ADEA964E0F8549002A053445506418A7BF78DB30EAF544AC34AD6F4B2298373091CF13DB14519C86BEA5E5241124929BC2DF6F87314D8C22DE90D9A",
-    "identity_type": "trusted",
-    "iv": "2575BE3DB96C9E3EB6C7635C6F6B0E7A",
-    "key_seed": "F57E01ED4A19496DC227DE1B016B09C1EBE135D484ED8B80DD00C6EC31ED5B5D",
-    "metadata_key": "DEC2CABDD66E55B71A83AFC163D7FADB",
-    "section_mic_hmac_key": "4D01BAE5168047AD89DA9A7126549672887F9CDDA5442E356BED3D6B00AAEBFD",
-    "section_salt": "071925257522B40B840ADEA964E0F854"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7E7DA96580420BA0D659EC43121322D8",
-    "aes_key": "A8FB66F215BC84C5FE083146B193AB8D",
-    "data_elements": [
-      {
-        "contents": "FFB586B557659859",
-        "de_type": 397
-      },
-      {
-        "contents": "4263",
-        "de_type": 671
-      },
-      {
-        "contents": "E0886DD5892A663968BF0F850FDBC48C32E2C0C1268AD368AA794D",
-        "de_type": 612
-      }
-    ],
-    "encoded_section": "65901376D02BAAF38EA4CB4BDD1C73BC3871AC91100051AEC209767B8CAA7980A3BD7C3FAFF29001AF29552C93754001FD0D837E2314FDCAAB5F3F83221EBEAA38EE14E5DEB24E81B4DD949B42A0A8AF3FA573DFD9B28FF81902561D21E508C845551668B4A9",
-    "identity_type": "private",
-    "iv": "17EBA64E62386CD3B3A3DFCAA57C8990",
-    "key_seed": "598D2245CA116C288DD7F884902FD6966A3EAE9F42C0836BE31CE29C29AE3EF8",
-    "metadata_key": "05686049146A99EB4A1FE87216DCAB1B",
-    "section_mic_hmac_key": "6FA0EF16D9CAA4AC317B88DC23341FDB92AF5B2B4EBAB09202AB3CA30C38CB75",
-    "section_salt": "51AEC209767B8CAA7980A3BD7C3FAFF2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4E5974753C765E7C366AE0ABD13B6032",
-    "aes_key": "B33B94CD44650B66F7ADBC2EE729BB6E",
-    "data_elements": [
-      {
-        "contents": "86DD5BAF9A7C3DDD8447254F3203CA9E",
-        "de_type": 588
-      },
-      {
-        "contents": "AD60D51F76FB590E2E783C7120C160E0DC15543848D74BD898BF21",
-        "de_type": 887
-      },
-      {
-        "contents": "46F5356343E961455A3F74",
-        "de_type": 584
-      }
-    ],
-    "encoded_section": "7690133360E0A798FBD58AC2C9E37CEA3A383E911000FE2C7ED573CD9CBA19F2AA6AFDD623299001A71787DF83BE1DE49338E1ACF15530E60197A15D7D3007AC410A6D443BBE7F7694D2B54E3FF5BDB62ABF52F85A5180C014FB86A8DE0315F7CF97F2FEA63E21EAB45758898AD526D9AB8B38726E9315",
-    "identity_type": "private",
-    "iv": "06E07BBF2D5201688926629511421FDA",
-    "key_seed": "66E4D540348E429F58155175C858A8BD1E7CB0999B49781D348A321AA6138173",
-    "metadata_key": "48A307411309490BED28B84E99A5557E",
-    "section_mic_hmac_key": "1BBC012E6C6D7955641BC6D4D06550739840EAA718C15AD3A19816957E58528C",
-    "section_salt": "FE2C7ED573CD9CBA19F2AA6AFDD62329"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "74CB68B7EA1E95E04B832182154B0A91",
-    "aes_key": "B022EAFEFB9FF1B5C2F98A40B9ACC3D4",
-    "data_elements": [
-      {
-        "contents": "7E37E828730AB3F87C1EB99B8E",
-        "de_type": 787
-      },
-      {
-        "contents": "9135DA70E02D2232DED4F3F5568A0371",
-        "de_type": 420
-      },
-      {
-        "contents": "C89D3EC94DD71F",
-        "de_type": 236
-      },
-      {
-        "contents": "07F52CFFDEF1D58177543155723441BEDF06D3",
-        "de_type": 980
-      },
-      {
-        "contents": "CEE968AC8F1B700C2BB3019A4E9472CA7E",
-        "de_type": 169
-      }
-    ],
-    "encoded_section": "8E90134F49609F3C0B6286BCD6BB68D9F4E24E91100052CAF10EC936B174958042A90C112E5B9001ECDBEFA0B57D0456BF272B7A1D20269C96F6B666647AC239FAED67E348F463D9B7DF48FAF7A27BD87A9CF5E6B66F7AEE194A485F76350003AFFDEE337DDFCA1DA36D0CC1BE171B72A48C70809218513429B567E3465E8FF5E2033367E102CA20AAC3F702B0DC1A",
-    "identity_type": "private",
-    "iv": "A5C0BD5B8496CED016A2AF10A6F91FB1",
-    "key_seed": "BFBC7FF2263EBED86F9C96A09FC127CE977C9239CC08316F8287B00DBD0B3498",
-    "metadata_key": "A832A816BD5B77EDA8EECCA1EBABB014",
-    "section_mic_hmac_key": "710B9F30D232D15E9DE12974DA748A32F65D122AD460B292ABAFB60338BBB60E",
-    "section_salt": "52CAF10EC936B174958042A90C112E5B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BCCA0E7341FBF76B2B5F5BA041CF1E5A",
-    "aes_key": "D12B503A2F126AF19D0AF97566785ABF",
-    "data_elements": [
-      {
-        "contents": "64749203BD66A2F9ECBBE0D588092B4354",
-        "de_type": 19
-      },
-      {
-        "contents": "C163763F7A4D635495BD26B704AA19D140DAA82EC06DDAC118",
-        "de_type": 908
-      },
-      {
-        "contents": "60B0B36271380D99A2A25F",
-        "de_type": 222
-      },
-      {
-        "contents": "796D6F2B775593F100B9",
-        "de_type": 760
-      },
-      {
-        "contents": "3A0B8533F323DE0B7C2B5DE29F34DF3D265C6CE5190AA0F958811D",
-        "de_type": 994
-      }
-    ],
-    "encoded_section": "9F90136082051F8CBEAA0CCBC6113961AF0C93911000B90142AFBFD356D46AC2B2720D1F8481900205E87BF19BCF1B2CFCED4986FC2A31A121106BDD978C20BC7E027FD26CB2AA0052C1DBB34B42F03C324129015E97C6FE9694ACE4FD254641272F6873CA455E6863D3025F03D209F1C554D250F0EF5BDC10CDCD01CF4831D8C9F30EB2586D41A2CC2D6CDECF4F42AAC02C1B985BE84A98831A26B00B27596A",
-    "identity_type": "trusted",
-    "iv": "4765E55F52DA037253303C93F66A6DCD",
-    "key_seed": "50CA1651529AAF0D0E3874C19E7EE47519CBEEB16DB1A7EF99F69315502A02C6",
-    "metadata_key": "70AEC06B61DD252B459F5BE7FC72F7E8",
-    "section_mic_hmac_key": "598AC0D450A9FDAD2DD86DAFDA3011B9179E56DE268CBD38AB8B9B9726B0B2D0",
-    "section_salt": "B90142AFBFD356D46AC2B2720D1F8481"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2C14A845A98E4C0EC1D3D37E7770C558",
-    "aes_key": "A68054A9CC008CCE3091CECA4B305A11",
-    "data_elements": [
-      {
-        "contents": "DCB2B2ABBEAB26EA71BB01D24C",
-        "de_type": 12
-      },
-      {
-        "contents": "E3109D",
-        "de_type": 799
-      },
-      {
-        "contents": "EA153371A83C3827DE52AF886B3ABDDC5601",
-        "de_type": 223
-      },
-      {
-        "contents": "358C051EF89D4B2A70A66557C0E40523E07CEE5D702602A63301",
-        "de_type": 466
-      },
-      {
-        "contents": "1E3264B6EDF37242534C9123818D649D38695C4AB285727F7AB64D6D33FE",
-        "de_type": 662
-      }
-    ],
-    "encoded_section": "9F90134CFBFA0A7E0F1D95CE9E7DDE4D9D0F119110007C677DA19284373DF76BF8DC23F62A2C90018ED6D11D434C81E0813AE27A8A08FED219D8D2D509FBE4D738C507D35AF118126F68CD7A0CBDB12D6416E38172D47F328DD389DB4AFD0D27028366DF30755D45C06DA90E6A00EE097C5354215144CF3C39D600112B8853736303B3D5589D9690891FD597AFB197D8272C0FF4C4774BB0EE0E8BBD16981621",
-    "identity_type": "private",
-    "iv": "0BCB734C4A958CAA0BD6818BFC616225",
-    "key_seed": "52E8480972975E4BA2FE7605453EA8349E9BC5A94E29540433F860556F01884C",
-    "metadata_key": "8FC6598BCE8ADD3790D7EBDAF49D0103",
-    "section_mic_hmac_key": "ECCEEA279B282C887A23EC16580BE97CDD50135DEA36DCAB5DF44156A29C1607",
-    "section_salt": "7C677DA19284373DF76BF8DC23F62A2C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "229EEACD212DC405EE4811F9A977F2CF",
-    "aes_key": "B650D65C7FBB23472BB72579A77181E7",
-    "data_elements": [],
-    "encoded_section": "379013D438766EAF4C661EDD88BAA0FCB42A1E911000855BD2F01023E6A57B6E71DD49DAA2AE90041D6AFAB5B808B58855F9C7AA4F4D7EE8",
-    "identity_type": "provisioned",
-    "iv": "9902444F8F3857B3E0BEA260972F28B6",
-    "key_seed": "80897CE9046AAA4A739B63E163EB437BCFF71E3E3653B6EF46E3C6AA06D7A121",
-    "metadata_key": "34683AD177E872DCBD2A5E7E63EE0A3B",
-    "section_mic_hmac_key": "BAB117F9C1BD11C895F4602EE9EF166CFDB9267B3954B5CB5D84D4737676E3E5",
-    "section_salt": "855BD2F01023E6A57B6E71DD49DAA2AE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A0C8512737C3A026EA6F37CB99230EC",
-    "aes_key": "9E758D2B63DDD9875440E40B527116E7",
-    "data_elements": [
-      {
-        "contents": "EB02C160F935EC11145161E1CE4018A85DC6C6B87E",
-        "de_type": 947
-      },
-      {
-        "contents": "",
-        "de_type": 273
-      },
-      {
-        "contents": "513989E8F256F4BB4833E9",
-        "de_type": 980
-      }
-    ],
-    "encoded_section": "60901342D70D1E94399CE4FFC098059653E5939110001D9723326BB9045D0FA8AD2D055AB7E290013A4BC24317039BC6F6742EDF1BE1FF740DDA42AA9D246BFDB1004EE8CCADE443AEDB88834895F0E1DE5C71512B93FB850303B6C36838EBADFC",
-    "identity_type": "private",
-    "iv": "A498D9B0ABD9DF7BAE1C56730B8EE99D",
-    "key_seed": "007973A9512305072C4B09ADE63EE2B1473CC8800EE101C3B15B7601A53CA570",
-    "metadata_key": "7D44DCD6C2EAC7C368BF131C16F56757",
-    "section_mic_hmac_key": "FE60C7116D645B0830D381EF145EEF0D76CED5639BDD5BE55BD6796495102AE7",
-    "section_salt": "1D9723326BB9045D0FA8AD2D055AB7E2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AA5C563E4C1823D73563F7C3706AFDB3",
-    "aes_key": "C999C60B91C13F5DFAF5217C0D5B5C34",
-    "data_elements": [
-      {
-        "contents": "A5A7EBAC14D1B41520E40AC51864A16754521D4A7E54F92A7D",
-        "de_type": 88
-      }
-    ],
-    "encoded_section": "52901375BA880AD3ED961F78870D04157CE0E6911000EE361CB440B15CE82D93E0C1DA85A9379004C2FF0F23A2FF140F44ADBE468A1A74B9F702645EB8D1D9A8BE0BC82F88D404479CE665DFF4AE98007DC791",
-    "identity_type": "provisioned",
-    "iv": "538C25B23A3C86BCDA97A0CFD35A6FC6",
-    "key_seed": "ED88849FC0BDA24F6E40D9DE41DA1E13D489B4532491DC76DF1FA6B2119AACB7",
-    "metadata_key": "FB3E3B0DC3A793B84A8BAA8B76C66339",
-    "section_mic_hmac_key": "8B61AC0A77B70BD562BECA6B9EC68D3AE19A43F75E7C20DCBBB772E72335031F",
-    "section_salt": "EE361CB440B15CE82D93E0C1DA85A937"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "619C4C8EF05A933823C2D65A31B92B00",
-    "aes_key": "9A57A7F7C65D4129320E88946A9DC223",
-    "data_elements": [
-      {
-        "contents": "CE0E4BE0690C0A5BF044",
-        "de_type": 831
-      },
-      {
-        "contents": "BCA982D5431D61B73230868E555B97C3464366E2A4267F64",
-        "de_type": 200
-      },
-      {
-        "contents": "C82659D54B9B19F6C502A2",
-        "de_type": 338
-      },
-      {
-        "contents": "45B4B7C9A022B79136DE",
-        "de_type": 197
-      }
-    ],
-    "encoded_section": "7A90136D731B5176129F207201B4A5D0F6673A91100096D3507A4EC35496932F887BD27700429002BD18C7C64DBAFDF85D34F178917F923C0656AB4C77BD56DA1FDFD011885B997312645D52617E2F428FAA6CBD6CFE285AC1713EFAC1A641DAA3856D5F455D08BCDFE7F308E22A41706C5556B5E8996955934EC0",
-    "identity_type": "trusted",
-    "iv": "8D39404C79316D7EA939A237B0DA32A8",
-    "key_seed": "25C985FC227F539121AA167BFA906D05760D8AEFF52102154CBC785FDBD64514",
-    "metadata_key": "14318D2A0E05B5E1A77A50CDEABFA81F",
-    "section_mic_hmac_key": "123A5EAAE2B67C4169444F1235E071BBD36804622722A7DCAB1A321F22507A81",
-    "section_salt": "96D3507A4EC35496932F887BD2770042"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ADA623A6380A3F4522EE69542E99D25E",
-    "aes_key": "331F18CC2ECBE380C1590D5DBCB4E970",
-    "data_elements": [
-      {
-        "contents": "0174A015",
-        "de_type": 588
-      },
-      {
-        "contents": "9D5A034F0AFBAF",
-        "de_type": 17
-      },
-      {
-        "contents": "E0AAFAD94D19113E64B96863147869E9859DE50FDE4270216231B3184D",
-        "de_type": 99
-      },
-      {
-        "contents": "F24EB6B5AEB4FEA479F5083B7F028FA4B5B8D4DA82AE263A34",
-        "de_type": 356
-      },
-      {
-        "contents": "F8911686E780BA27D8516A00999512CFA3BDA6B6",
-        "de_type": 955
-      }
-    ],
-    "encoded_section": "9990132880845C490110E6A5557732B923E92D911000621BC78DBCDEABAF66E6D1402BC169059001AB11D8A9FF159246AF50E950BD8E400E4D615242ABF1080B0B75A379AA4368ACDBCA95F2010F3841D150725F8A670CA3FFE83412241EDF6EC0C12D1A5CB71D15F9C121E2B378017E5D61F6C1036A8B25790B193380C3897B66D488FA4DA297E39DBB71D3F430B4035F7EBF539DF3F5296380",
-    "identity_type": "private",
-    "iv": "C98BFAFEF62296B28CD51297CF787F52",
-    "key_seed": "86109574BBFC42BC1D620F4EA1018967D9B48E655E5C6DFEC0FB6773CCA774E8",
-    "metadata_key": "8D07E48C35FB78B8A5513345B3C40C9A",
-    "section_mic_hmac_key": "70AD2654896DB69E49246717749BA8FE8262F0A9EEBEF5D947BCB5253224BE17",
-    "section_salt": "621BC78DBCDEABAF66E6D1402BC16905"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "397D6D6B5613F8AC2FAEA44797C0A638",
-    "aes_key": "632129B34E30FEC65D800EA6BE5F7A61",
-    "data_elements": [
-      {
-        "contents": "796EE13738E80BD71145D729",
-        "de_type": 756
-      },
-      {
-        "contents": "1D7E9E3DF4EBC7615F0923B7C6352829DDD5E4E295F9695E3E75",
-        "de_type": 960
-      },
-      {
-        "contents": "C9308827A08A7B53E73C3D8FB9DDC3A9C61E50425623FFF66B7DAB5FA9",
-        "de_type": 391
-      },
-      {
-        "contents": "3740A8AA731F460FCBF8D08E17437A92EEBE2554CA90D8E5B063165D199A",
-        "de_type": 666
-      }
-    ],
-    "encoded_section": "A490134F9B86D148E83C40F686AEA68DECE504911000FFB3EB0B6BBD03AACDE886D4B64963A790046E990FA420DBE8370E20B582D0F390FC2EB3B4027A44D55BE09DF6AED7C73280D7B271397917B220A8E81422893C7FD705E02ED8A0D672DEF820343A46C18FF08611639060A1324C24DEFC5B4E8BCE9F9CBAF58E48EAC6DCFE80A916FB7CDE7582422D06E9287896BF6F4211D2395A5028690E94F6CC2136252D8A7105",
-    "identity_type": "provisioned",
-    "iv": "5276C1A1ED1B081D2A2A6F5DEA96F665",
-    "key_seed": "D95BE815CD7B0FD68B3E7446B8B2D79E348D548C6183AAA1BC4AEA344738987D",
-    "metadata_key": "25302242FB45A172D3B3FF58EBB4068C",
-    "section_mic_hmac_key": "CF8906BE97A01B93944A42FB2DB4610CD87BD1678F8C88F0486D9BC527FC41C4",
-    "section_salt": "FFB3EB0B6BBD03AACDE886D4B64963A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AF24B060AFFEAC233E864603EE00A9CD",
-    "aes_key": "D93AAFC5986BC8683E27129BE1E82563",
-    "data_elements": [],
-    "encoded_section": "379013E9112895D9EA079C03219B88C45A925D91100033555799B45F9C4B35FC02644ED660DA90026A0D952277833EE72223017DD0D09AF3",
-    "identity_type": "trusted",
-    "iv": "768BFD528B829A1EBA49204A0CCB4B02",
-    "key_seed": "970EB18227C61CEC00A2A05F5263593CB7C0495397DD0F533DE7CFDA67180147",
-    "metadata_key": "122A3B297DC2A96CDB5B3BBB05D6B536",
-    "section_mic_hmac_key": "2192C8F4C87ECD29422DF7A686A1EE7DA0943B83F89D81442550BD786F1F648B",
-    "section_salt": "33555799B45F9C4B35FC02644ED660DA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "82B9B8A6DE7077940685F5FAA7DF422F",
-    "aes_key": "7BFD4D7DF1E0E9C478A06570E9B9CD94",
-    "data_elements": [
-      {
-        "contents": "ADB48AB0F67DA8D5A9618BA4253EAAE7D39E310D5BD37BC56AFCF41F",
-        "de_type": 461
-      },
-      {
-        "contents": "9A86354A04BF30E00DBE8C414A9FB24C86C8EEB7FC83E460",
-        "de_type": 936
-      }
-    ],
-    "encoded_section": "71901316B26D715D337B501770721CCBE8D13B9110002C99BBEA9A300BAA95863AB8AB9A9BD39001FF44AFBB9D1C0A28266B562AE0E7B38C1BDA2D66BC2DEED15F33F3034E934A9D7FF8E3718F68A23361EB574956A6D723F38EE0575D4A922AD0DB7DCECAE52CF2C44BB26E1E71DC16BCAE",
-    "identity_type": "private",
-    "iv": "7718D52D9D5CC851A7B2C047E8E56916",
-    "key_seed": "2C2905CFE0366D03717F4F8084FEBD30602C7CB22BAE0F5E8AC4902C762AC880",
-    "metadata_key": "35E0C0C417D995CC800143D9A392B94A",
-    "section_mic_hmac_key": "A8AC22011356C040DDDD1830F1881474FAE157EDF4D0129D5DC616244F495E51",
-    "section_salt": "2C99BBEA9A300BAA95863AB8AB9A9BD3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D49E9CD1D20A4B4F340A593D6BCD93A9",
-    "aes_key": "A8BD4420579EA3F0F63C1BC03F9F6893",
-    "data_elements": [
-      {
-        "contents": "3B986384C79F675F",
-        "de_type": 650
-      },
-      {
-        "contents": "",
-        "de_type": 640
-      },
-      {
-        "contents": "40EB0279736AAA9A100E2C26941448AE2277AB",
-        "de_type": 990
-      },
-      {
-        "contents": "",
-        "de_type": 470
-      },
-      {
-        "contents": "91318CF7EE4B2E35241F",
-        "de_type": 694
-      }
-    ],
-    "encoded_section": "6B9013DDCFA87C6ECA5D9778AE29ED4AFDE2FE911000182084A74C01395449B1A065B30D8080900433A6E91CED224E8632C5205DBE49C3C810CC5A826F3F058111AF85E8729E0900EDEAFE67BA46EBDD09A8D9390F47EF040498143310AB8776ECAC80461AFD91D2A5318B82",
-    "identity_type": "provisioned",
-    "iv": "134179E764FCE0DF7ADA95F934D30276",
-    "key_seed": "BDF4556FC6C4D53488D013E20A98C17524875EAD68B64ED0BE9E0EB9DA2B7BBB",
-    "metadata_key": "F4DC6D1E64678F9606BDF71B0EA52BB9",
-    "section_mic_hmac_key": "96D8CA32AD841897F0AE2C292B9359E901760A16B9FEA999490FA1CC80C944E5",
-    "section_salt": "182084A74C01395449B1A065B30D8080"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F6A8AA713174F7D9C61E5328D2FBC88A",
-    "aes_key": "C2221BD4696591A3CEB7806807E54F5B",
-    "data_elements": [
-      {
-        "contents": "BA4C375C376640ACC08AA1864AF3BE5AEB9A59",
-        "de_type": 667
-      },
-      {
-        "contents": "54F3E1E4DDDA",
-        "de_type": 390
-      },
-      {
-        "contents": "3F3851F502FC37945B512B2DA0398A6AF6299C08DF21A49A",
-        "de_type": 664
-      },
-      {
-        "contents": "BF39F68C7BECA2FA6D4A56E4F01589339D619761",
-        "de_type": 425
-      },
-      {
-        "contents": "53B006EABB64D1206347779AEC7E47CC",
-        "de_type": 177
-      }
-    ],
-    "encoded_section": "9B9013E2396E53181A2D3263100883209CC1C2911000A30816D0EE95944953EAED4DF1C8E2069004407CB081B3ECF537ECDC12A2C42A866F9CAD0593863B3C5FB9425336A46BEC045CA6EFEC8439DAAF4C7107C4A09A5678FF4787379C733C9D71E520F141F7E1C9D048E2C6C56C0B7E1AE04A11CBB9EC7DAD91F8B8B3A783DCAB0CBE44B354B19F2D205E3550BE0CA3E25FB15F8368D0AD060D1BDC",
-    "identity_type": "provisioned",
-    "iv": "49DDF471C624612F805C254CACC512DF",
-    "key_seed": "9B73B7B20095CE1A1B91186605AFA5C48463E2A93E1F3163AAA0DC4ABA51D273",
-    "metadata_key": "7755D72850CB417465414B8AD50BC492",
-    "section_mic_hmac_key": "E15A4CC4DC3E2E1AFFEE0D584E82999BDC30D6BEC9C1143A236A4354598E69FD",
-    "section_salt": "A30816D0EE95944953EAED4DF1C8E206"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B7820F847BAB14663F5B9729C770A903",
-    "aes_key": "ED1C41116C53D174E700C90465D29FB8",
-    "data_elements": [
-      {
-        "contents": "40980514A48D57566E6CEDBC1F13125EBF242B6BE09C",
-        "de_type": 982
-      },
-      {
-        "contents": "31CC3F9A09A2163C86581D7A795A2C7D3BE9AFD63F00D797A4",
-        "de_type": 304
-      },
-      {
-        "contents": "6D85FA25468C5164AF6E8D7A5CCFE94DD7759B684850E0D007",
-        "de_type": 633
-      },
-      {
-        "contents": "191D0F07EF",
-        "de_type": 686
-      }
-    ],
-    "encoded_section": "90901336A6FD32C63BAB8221AA293FA3979ADA9110004FBD36EB5BE03713867E3B3B06A4B53C9004C4F0B8515D402330041A6614E4BA859F1A6444377518C0289C14D01EDEE0939FA2BE910809ECEBDD265B2E89B26C60B42428084CA567C85EB2B76C8035DD8B8787E94AB3C760DBD281CD84D0C8CF8F281E486096E34230F0DE44456677971EDCC5A2F5DA4E0ACFBD94",
-    "identity_type": "provisioned",
-    "iv": "C157C8C8BAF421A7020E0F5AD4399A7C",
-    "key_seed": "0D5FD7A0EB16F50FB1C3CBB0ED4EFEB3C022AC15566F7481FBD9DFADF9BFE596",
-    "metadata_key": "26294EA549B9B814C43F866176D22280",
-    "section_mic_hmac_key": "676112EF0807098F45519595990076B83DFCBD0E55B9414225990D9A6046FCD7",
-    "section_salt": "4FBD36EB5BE03713867E3B3B06A4B53C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4A8D0B8F6B7F9E6221EDCAB57C36BFEF",
-    "aes_key": "B9A82BE9DF86E2FCD72839955485B828",
-    "data_elements": [
-      {
-        "contents": "2B0FE4B16D2740AF13A500",
-        "de_type": 209
-      },
-      {
-        "contents": "BBB807A186D2C3F87855",
-        "de_type": 999
-      },
-      {
-        "contents": "8A34F77DD5A61121C4917A48AA085776ABE1",
-        "de_type": 323
-      },
-      {
-        "contents": "ABC7CC",
-        "de_type": 138
-      },
-      {
-        "contents": "7A5C43A5C1B70C0403E055FCDFE81A5297DA1FD729C47776DC5D5F",
-        "de_type": 499
-      }
-    ],
-    "encoded_section": "8B901302D13FE7AC33AFF3924F23BB90E9D53891100058FD054F518764F7FFA68EDC5E76897C9002C8019C9BDB34ED694F527F1A74A171D4DB910B76FD198A047FF0A723356BCAC3F103689FC91F58B627B3E1E761849E237D9F28D154025D4153CA2D22555EF4351328FB3B9473CD12972BB2B2EACBB1B8612525B21BF117E283394DF7A464BFF56D7CE298",
-    "identity_type": "trusted",
-    "iv": "8BD5C8CF29932090561C480D4AEB8E36",
-    "key_seed": "321AF261DCA753BEE3CBAF5D7DE64DCBFB04C0585F7FA27D20D11CC0059712D9",
-    "metadata_key": "F0BE3BEB618DA219C8DF306367CD47F4",
-    "section_mic_hmac_key": "00F983CFCF9D1F0F4E8D74A6FA26E6F8A13E7EC53388C10E81EF31FFECAEEE87",
-    "section_salt": "58FD054F518764F7FFA68EDC5E76897C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C7BA44249D8BFABFAB9B54F90B12F222",
-    "aes_key": "A56D794C950BB5A50D04EDB2699B967E",
-    "data_elements": [
-      {
-        "contents": "773856891169289C79ACE48945E05618FC738071",
-        "de_type": 799
-      }
-    ],
-    "encoded_section": "4E9013B45A17060677E85EA10D75DDE8C12D3C911000CADE7094733167FAC6390816307D14159004DE8DE98CF28805D142425AE5F24F616AAB3BF83AD109A4F753E55F37D7AC1E6FCF6534806D9740",
-    "identity_type": "provisioned",
-    "iv": "BD0CD0756F90453E808F180E923758EC",
-    "key_seed": "E0440C8BB83D2E4A5ADFD1B123A1D55AE0C78ED8F14C14DD9CF1AA5B3CF3D650",
-    "metadata_key": "5CA211769EFD29892C0058779633355F",
-    "section_mic_hmac_key": "36CE6C896028CCE6845B791384FFE622B9E8774F12F44C00CF410FDD543D7EE1",
-    "section_salt": "CADE7094733167FAC6390816307D1415"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EC717CB0D92304E7C8A5886A78DB5034",
-    "aes_key": "7E9A8C8DE80E37F263D24E3DDF281A86",
-    "data_elements": [
-      {
-        "contents": "34E5A87FF8650308",
-        "de_type": 954
-      },
-      {
-        "contents": "FB132CF4999537D6DBECC9CE4D88BC0E0C66437891091F49E137569E20C0",
-        "de_type": 277
-      }
-    ],
-    "encoded_section": "639013E9DEC88D9D254BAF7E818338DB5B69699110006B1150D7267D5DA8573E97C7DE07E1A89004FBAA70C03E33206A3417BD94DB9CF1B17A1C2B7968732BE4326A647FE22B4F2CEFF689ADAA4B278FA37931CB60D22363385B4816C4736F2A05A6EE28",
-    "identity_type": "provisioned",
-    "iv": "9D13A28391F3EC75EAB2C424E505FD99",
-    "key_seed": "CC5C727CB341CB25BC5AEFBC7D49177263FB4978B4E4E5186BABE100E5F3212D",
-    "metadata_key": "6616F3E1AB67EEAAB018CAF0368EE6EB",
-    "section_mic_hmac_key": "BB1DA65CC10CE54179F3E39CED7BC4A00CDE225FE15A11E2A0B26A01C2EF00AE",
-    "section_salt": "6B1150D7267D5DA8573E97C7DE07E1A8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F817848433DAE38015DA750CED78183B",
-    "aes_key": "020009EC448EF1E4CEB74B078296868E",
-    "data_elements": [
-      {
-        "contents": "5946AA9A7E7F78583A2593221E",
-        "de_type": 819
-      },
-      {
-        "contents": "F3FCAA87BBFFBB6DAC6D",
-        "de_type": 396
-      },
-      {
-        "contents": "7616F64C32BEB7A3",
-        "de_type": 848
-      }
-    ],
-    "encoded_section": "5F9013C1CEAC79565703663F399E1968C2470D9110007BD86A32FF05C5A3467AC4770AD53060900405E742BD974A141B76639EDE0CF231F727BD196A8C863E60EB8B78E51632632F66AC501B2AC22B50F5EC417B9140C81BD8DA0070E2381DAF",
-    "identity_type": "provisioned",
-    "iv": "69D2FD8DE211E9C5BB873A2D7D2B6CB9",
-    "key_seed": "A0334C2F26179EF4E774DCB7CD5A391CC98BFF20B494B723245929CF735448DF",
-    "metadata_key": "9851F80BA3762814A9E72D468DEBFA61",
-    "section_mic_hmac_key": "15D84B9D02BDE9C0C9DA6AC3EC67292ACD5D8630CCEF4641DB19DD4CC8D895C5",
-    "section_salt": "7BD86A32FF05C5A3467AC4770AD53060"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E40CA7C0648E07D9192133CC75F0615E",
-    "aes_key": "28081717F56B17979C8FA959D1705DEA",
-    "data_elements": [
-      {
-        "contents": "3684845D716D939E",
-        "de_type": 119
-      },
-      {
-        "contents": "5947145E79893A962656DB4C59AD50EEAD01F1",
-        "de_type": 727
-      },
-      {
-        "contents": "5978AE5D485DCFFB9867D2F0",
-        "de_type": 641
-      },
-      {
-        "contents": "962B9E9370A4C36C43FEEC0528002B35ECC2ED",
-        "de_type": 938
-      },
-      {
-        "contents": "EB29C1",
-        "de_type": 186
-      }
-    ],
-    "encoded_section": "829013293A19BEAE341B678E05CA9E75DBA8BC91100057B76CE356A06E76CFA8BB68D107FDC39004037C94F1AFD8F33D737F2064155467C3207485B5F71525974A812736FB82850AB38C76D001D5E5CD0B4328D0671D515BD3A96875EE561D2771F74DB2AFAF4EFABB0F0F12B7A17E237FB068C81260B34C1A1BAF706519F3803E23C0",
-    "identity_type": "provisioned",
-    "iv": "40F169746958A56E53FED40BF97B2393",
-    "key_seed": "D49D918900133822B62FD10A29B94E6BE3A2292AD816F2E70BDBC54D028FE522",
-    "metadata_key": "D4AE0FE4DCC55363A8466CF3B4F51435",
-    "section_mic_hmac_key": "1D49C1AD9F730E0160754250778275FFD5799B819699A89B58EF2B3A41903A8B",
-    "section_salt": "57B76CE356A06E76CFA8BB68D107FDC3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "757EE18FCEFF081F4652936C61C98FA4",
-    "aes_key": "402C0F4BDF07820EDD02DB5D70184906",
-    "data_elements": [
-      {
-        "contents": "16023C5646467C0D21089216EBCD2C5413BCEF76CE991FCF661FC4D0C699",
-        "de_type": 362
-      }
-    ],
-    "encoded_section": "589013F1FC637B2DE2561AD1B961848A1C31DE91100012709EC52C322E758DD1D4B3347B16299001DBD653A91D6CFA3EB9D465D9633FBD9D86F1ABE4C9CD01BA0EF5AC6DDFD32AD069F6A6AFA8B424DE31F9D096DDF88B5517",
-    "identity_type": "private",
-    "iv": "94F193ED7C3685CBF02FBCAC1BD8AB90",
-    "key_seed": "01466D478F60FB0CA89BE406E370ED7BF41C0BDC1B4E3C00A21D639968FAEC72",
-    "metadata_key": "55850F8341492920ABD7B9F783E48899",
-    "section_mic_hmac_key": "969F5321DEDA0678199C25C7FD9428994949F8553438F227114C2E2E2DC84599",
-    "section_salt": "12709EC52C322E758DD1D4B3347B1629"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "42BBB939A0B851EBB455B0B9CC6CA629",
-    "aes_key": "3A239E17B2D8469E47B47F8AD8026A61",
-    "data_elements": [
-      {
-        "contents": "A85630426C2034091E33C8805C8470161D9E03FBE5FFC6DA16",
-        "de_type": 1000
-      },
-      {
-        "contents": "",
-        "de_type": 680
-      },
-      {
-        "contents": "22B766878655BAE8D17D60104A",
-        "de_type": 203
-      }
-    ],
-    "encoded_section": "66901361BFCCAF1C31DC52F1BCBDE2CA129C719110008D11CCCA32A98B153EAE11A9A82D5B8B90011EE1A3D2126B9947D2B7738A2AAFDFE4AB95B394A7152262808E7E30B50085DAEFD42870EE6C929F3D694215247C54659972A9EDBEFA4504FC8A8E44174522",
-    "identity_type": "private",
-    "iv": "B4592168B5F6432ED7AA739A5EFD1BEA",
-    "key_seed": "B80CF25126E7DF740A3C7A4C3F070220ECED0A230C46D4166786B7924A3EB873",
-    "metadata_key": "AEC4D47281DFB8882A751CD4D30AC338",
-    "section_mic_hmac_key": "8505CF64E272040C22176713164AB15E9A59595E77793D79E4FA517901E5619E",
-    "section_salt": "8D11CCCA32A98B153EAE11A9A82D5B8B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7FA90676A637142CF7CB5C912AC1F98F",
-    "aes_key": "DA5F3DD4DA5B5420500EB8F9CAF9807B",
-    "data_elements": [],
-    "encoded_section": "3790139616C2562B842335B3474F07B4D10A81911000F24039339EF2187F8D6958E05AAE8D2B9002DA1F8883F7B4BD72A21F62487E578D60",
-    "identity_type": "trusted",
-    "iv": "F24D530E53213A55CF5A6DE13E8BDEF6",
-    "key_seed": "217B43E5524A922F4BA6D492809942BB9021143D3337961443AF613301210AB0",
-    "metadata_key": "83202E063706BD296D9F1E4A7F1C7951",
-    "section_mic_hmac_key": "234DA6C4D3E64D80479D48A109F449C888A444DB541E0CDF9E6ED02303C82A84",
-    "section_salt": "F24039339EF2187F8D6958E05AAE8D2B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "67D52BBE900B7D4B9C3689669C4574BE",
-    "aes_key": "CF50974C04B44AF21E8DA91AB769E3C5",
-    "data_elements": [],
-    "encoded_section": "3790134F982E377F44CCE5EDD47A02E14D0074911000EC29B4AC8612C65A3910C4F542341B169002F16B78F5F6A227EB47469338E73B5591",
-    "identity_type": "trusted",
-    "iv": "DCA9FA6379C1592FCBF87CF2C356022C",
-    "key_seed": "BB1C2824578A27C5BD463EEA37C51DBF8380C9C418DA31629EFB9BC3E2E1E5AF",
-    "metadata_key": "F716A36DE6F63EF6280780B52950B263",
-    "section_mic_hmac_key": "36DB68165CFBE7D58747A358D101CA6BCFEEFF26F6071452017AFEDB64EF411E",
-    "section_salt": "EC29B4AC8612C65A3910C4F542341B16"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A8166ADB4DAE7D4B20347694120671F9",
-    "aes_key": "ABD91B9CED37FF55564836110D6582FE",
-    "data_elements": [
-      {
-        "contents": "E5ED8A82CCC764F7A2223F9C6D4701FB4E",
-        "de_type": 485
-      },
-      {
-        "contents": "30A7FADE0C23C8528D5CF2043572EAB8D6981184",
-        "de_type": 430
-      },
-      {
-        "contents": "2697",
-        "de_type": 607
-      },
-      {
-        "contents": "C8052125E93A57796DC2FE0A560176FA099D06309581D8CF0349DCD63D",
-        "de_type": 175
-      },
-      {
-        "contents": "E7D9B6F5BF4B0A7321F2A3BB4CFA955BB0723229527586F2D8AFD286",
-        "de_type": 802
-      }
-    ],
-    "encoded_section": "A6901329A398A67801759F9CA6A0FE27829740911000B048311CB6B2A4B7CE2518E1CD9356239002F002B86EE8DE89899528BB9568107ADE1966E76715DFF2DCBD3149DEEFA21EDFB4FCC9E4BD0099887239950EAA3AE6245C379A2EA7A2010F82B5966FD9BD4791D3B9281A622EE0C21C089EB54F342574EE043B87CC8C9CDC920EFA3C1026B277E34B6D8A19A9A54F8E4D7461781F87F64B697AEAAFDE058D2D68A0600E6FF3",
-    "identity_type": "trusted",
-    "iv": "ED7F17674307775199068DBF510647C7",
-    "key_seed": "D0BCE2863FDBABA82CBA792D89EA4DB95642305B5967BC96C22D5936E155CE1C",
-    "metadata_key": "6993BBC4A4D2A05F8938EF1CA65CB545",
-    "section_mic_hmac_key": "6E7BB863EB3E1B0026872D4487C94E020D0BD53572D65D7C0D6C860A8D6D0479",
-    "section_salt": "B048311CB6B2A4B7CE2518E1CD935623"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EE774E050991C3C3C9021112F6F6EC06",
-    "aes_key": "AE6E6D8F193D0262BC994CF38FA772DB",
-    "data_elements": [
-      {
-        "contents": "442095408DF056",
-        "de_type": 170
-      },
-      {
-        "contents": "85CA4D8451F85564A337E66E3D",
-        "de_type": 101
-      }
-    ],
-    "encoded_section": "50901385B9A090D6F00D94495AC0F8196830709110006141474D448BDE019B1ACCD97B5898A29001B076A9F616D35B3F67A9324816D2268BC4F1884707102D3D23202C966E0647ED7FAB056222AD712CE5",
-    "identity_type": "private",
-    "iv": "069306DBC724AD554F5241390602AA31",
-    "key_seed": "9CC25445803440DBF96652CC28DA5AFA1735953DCA314BB7EC9FC1C11C3E4DD1",
-    "metadata_key": "541C17F0B1EFF90F37B511C84CB01D06",
-    "section_mic_hmac_key": "6E7AC64E36AC9A870E06118382D82BC2B47D35820715A53DD9954F4BE868517D",
-    "section_salt": "6141474D448BDE019B1ACCD97B5898A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D51174BCF89730FA639EF480EB430A8F",
-    "aes_key": "DA6B7E261E3C36E6FCF07C079887B799",
-    "data_elements": [
-      {
-        "contents": "7E03CE74C8591B567A1EDA2A366C7E",
-        "de_type": 734
-      },
-      {
-        "contents": "66ABCE0999131CDE50E7C35DB2D8BE895D9938E4E658D37B9A4601",
-        "de_type": 511
-      }
-    ],
-    "encoded_section": "679013CAFCD53B1A04DDA344493191C7EAC7B99110004A952640E5B79A89A0655B00CF018DAC900446881055D48B06AA711F6C8DC456BAACAC13BFF4D46C5A85AC0102A2DC9BF94DC1F012EE6198AA698214B30A1414C363E1020F23A4822AE91A04BA2FE48AD10E",
-    "identity_type": "provisioned",
-    "iv": "07F3DB13F74CCEBDB585C022ED0F4B56",
-    "key_seed": "33B0E0FBAB31D8FE35848E2F78C9D5390DD11ED65F7E4BA39C71D748E92438C7",
-    "metadata_key": "D695C5430C16E9EA343D065570644C0E",
-    "section_mic_hmac_key": "93952E5EEE989B740674ADE0A44A2C64D6A4CF9AFBA3446C07967C14FF5F72DC",
-    "section_salt": "4A952640E5B79A89A0655B00CF018DAC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "774C0D533FE66410BDD55592E3036A0F",
-    "aes_key": "18AE71C0EE69346777AB7B1E8C253B3B",
-    "data_elements": [],
-    "encoded_section": "3790135D1CB9ACA8C85EBA088DAEEB5F7B2F0F911000B88681185AA3C583D44424B27FE983BD9001D1435474765A6D46A2E1DB20190EC0B5",
-    "identity_type": "private",
-    "iv": "DD2B97D25158EEDC1E23AE53BFAFC480",
-    "key_seed": "58339EC9EAC03D85F9E049005AFC9CB869C91E42AD1579F9B483A94AF53AEF85",
-    "metadata_key": "3849D3FB177823CF145390B303471646",
-    "section_mic_hmac_key": "9514FBB9156CFFA72FB2B0D83B2E1A7F8F12E1089A54B602A1B6E1954BA75500",
-    "section_salt": "B88681185AA3C583D44424B27FE983BD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A4628CF753A8EA365C9B865A1882111",
-    "aes_key": "A155E6D506D2F148E0AB36A972E814BC",
-    "data_elements": [
-      {
-        "contents": "8C77898782AFDD3BBB5415BD",
-        "de_type": 639
-      },
-      {
-        "contents": "7B0C5D7023C73B8522C9EA75",
-        "de_type": 903
-      },
-      {
-        "contents": "9CDB06ED0CA5436E486401F2BD230C0BFB4C",
-        "de_type": 421
-      },
-      {
-        "contents": "B7841BAB20AA8DFFAFDBE875C19C0479189092AB",
-        "de_type": 914
-      },
-      {
-        "contents": "7DBC5D",
-        "de_type": 13
-      }
-    ],
-    "encoded_section": "859013018B2B85208E151D0AE32ACE1338E72C9110005F4F13AE0A18955384461083CBDD4808900253E05D4D34C0F0AE7B49116B244A88D9A46A108C9CC629BB2425C7FFA06C65B8776B3F14DB40950B88A64CB748A51F9774EB4D520DEAB00ACCEA9B8C21BBCD78DE99503D58C3180C74D9975717039336048301DA335326C27A515D26BA18",
-    "identity_type": "trusted",
-    "iv": "D19E93815AF20322A04DA98F0C71E960",
-    "key_seed": "EFAE9C42B2580C7BD3B6F72022C14514C52214F90B4592AE55DBA17AECC21CA9",
-    "metadata_key": "D8DA27FC09648F9A7B03CE89C6C0E73B",
-    "section_mic_hmac_key": "C9B288EA8BD044EF4F94D580F71B5411A511D4BF8731FAA43760FFE5854D690B",
-    "section_salt": "5F4F13AE0A18955384461083CBDD4808"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "63C164C01739526FDFF320C932DF63AA",
-    "aes_key": "6571AF72F4E833E632EA672CD1ED748F",
-    "data_elements": [
-      {
-        "contents": "E3590FC9ED1455080A7F9141290E3A7A86CF07E56EC946",
-        "de_type": 158
-      },
-      {
-        "contents": "DCEC6A40CE44EBB393E18282D6EC2942AF3E4C0ECA67ECD01CD450",
-        "de_type": 331
-      },
-      {
-        "contents": "E7",
-        "de_type": 627
-      },
-      {
-        "contents": "550A",
-        "de_type": 213
-      }
-    ],
-    "encoded_section": "7890135C8416F66FBF8296AFC54C0B51DD9D54911000C730E6814F61380EFAEF16F4AC12251B9002290C795417F652150706F2122E017A644903C036E3A38349C982CA8A03D481CAC715B9B95F40189FE7470117B3D7097D8DF2B09187190A285B937C7CAB276D0801AE6B224F710CBB80585C3A66EDF99293",
-    "identity_type": "trusted",
-    "iv": "23C8041707E666CDD9B92CE4E16390C6",
-    "key_seed": "E54B5923FBCAC75CF05EBA91DF3C5A62DEF8A88671EAE2D9261C30FD83245BB4",
-    "metadata_key": "DB91F1262351AD353C9CEF87EC701A18",
-    "section_mic_hmac_key": "0A44BEDF00C054D356FEC008D901B583FC99CECB4DD06FF16BABD31C7595312F",
-    "section_salt": "C730E6814F61380EFAEF16F4AC12251B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D6A2EAD0DBDFF521DB943F9164E9ABF5",
-    "aes_key": "BD03B9DA72C3E8AFC6C0E7E62F02D66E",
-    "data_elements": [
-      {
-        "contents": "FB62FA28DE416B3FF7C32CDE250E503A38AC512010D9A11E21ED08",
-        "de_type": 580
-      },
-      {
-        "contents": "5B6053833E7DA425451F",
-        "de_type": 86
-      }
-    ],
-    "encoded_section": "619013B8C630B2133545FF1C0C09F167B63A769110005DBAE9CE6653D2E2B9466DE1F81BE8BA90022F5C1D5F8C8B84AE9E2988700331EC43097F2B12FC61E105086BCDF84D27411E91717096B8EFDA92630445AE4D2F984A2863C71CBA45AC3290A8",
-    "identity_type": "trusted",
-    "iv": "E82975873E9953E02212AF85698F56A9",
-    "key_seed": "88F7698955CC78F3019EA531FB78FB1DB904390B04C10F42F19257F35001FA89",
-    "metadata_key": "66E54B6B9FB695DBD3CA8C66C5FDF514",
-    "section_mic_hmac_key": "C739EE6C7D4FDF5A76FADA66C0872E628EE444761679A4005F45F01CD1A748CC",
-    "section_salt": "5DBAE9CE6653D2E2B9466DE1F81BE8BA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BAF192B97D33369E018E81BC50AC8F7A",
-    "aes_key": "325B3B524F9BF9100439F3089DA3C7FA",
-    "data_elements": [
-      {
-        "contents": "B0",
-        "de_type": 856
-      }
-    ],
-    "encoded_section": "3B901356FF1D5E7200783B9778078D010BA13D9110001FC604425A47F60D3C1CC80624EC40139004A2EB00B81AE9CE42819E6CBB1CDA25BC43B99433",
-    "identity_type": "provisioned",
-    "iv": "5BC3D50F1BBEC06A2B6B68DA3D21075B",
-    "key_seed": "449CF830F890204B2D836B34548904080906F492D5CF84FC0C2C82D782CAB553",
-    "metadata_key": "79C0215D30C0B475C608D77C570B4CE8",
-    "section_mic_hmac_key": "6B3F15514E22EE373A70F39F81516BE169F8AF5458E35CBB3C5B60AC036A6E64",
-    "section_salt": "1FC604425A47F60D3C1CC80624EC4013"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "719A721598179D4D4B26E2ADC7E3C50F",
-    "aes_key": "ABADECB605978F38B860C1AC618EF22E",
-    "data_elements": [
-      {
-        "contents": "2B481F57DBA2E4528AADB3F65A2E0A10FD912A517252F49806DC",
-        "de_type": 452
-      },
-      {
-        "contents": "7EDA82863D",
-        "de_type": 366
-      },
-      {
-        "contents": "8A8868E25778C9D2DBF3E428",
-        "de_type": 541
-      }
-    ],
-    "encoded_section": "6B9013B2C0BE2B338651F83C9DEE9FF7A5E9B3911000320082AFF78C58B12275134DD71800779002E109918D72EB73A7CF12E71CB578633A99BBE624409264B989AD42AD9FF7386B107AB874BE50CEDC6C193CC56FB20F9986CF982065C0867E248B792655F223FB1B99B268",
-    "identity_type": "trusted",
-    "iv": "EACEF787A9AA0D378B47AF7B7BAACC41",
-    "key_seed": "8C96ADE771F0EC82E8A65EAB09768E0D2779DC80D10AC3A93C69EDADA363C9D6",
-    "metadata_key": "980207617795323129DA7B883489A471",
-    "section_mic_hmac_key": "878F73081377F28C1DCD6BA7A3C9CCDB12B2F9D0577D37F2217558C7D5B560B7",
-    "section_salt": "320082AFF78C58B12275134DD7180077"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "898AF84E18B19268BF0066E1B843DB2A",
-    "aes_key": "D18AA5914985AE77CE2FCE7552F09B46",
-    "data_elements": [
-      {
-        "contents": "4615409B344399237B3ABDB8F670E5B8655C8EF5449E5DE40A9A015E197A",
-        "de_type": 851
-      },
-      {
-        "contents": "3D6EBF61130ADEE935CA18BFEFECD70BD2F9C05F276F52860E6C",
-        "de_type": 516
-      },
-      {
-        "contents": "9E",
-        "de_type": 916
-      }
-    ],
-    "encoded_section": "79901393C3CD52AE720625794E99D501168018911000B225FB4D96E5A2AD5966E0201447323F9002B0CE58BA8230AE27D19688FCA438C5C94AAD5E60F0750EB7F63D98739E51CDCC0AEFF8E374AD8CA4B87E671B1163F8075511F02B94493CE489C0BFD6626FFCD80A78A99F869E6D048D89A29D7EE9DC94572B",
-    "identity_type": "trusted",
-    "iv": "0F973AE8405A878AAF91F3F3030CCDB5",
-    "key_seed": "FC64BAB5EBFD28BCC2DF64A332591AC18E67D4F0D8D04B09D15BE99F992BD0F6",
-    "metadata_key": "2817DC0D3018C8208062F9F09F0217C5",
-    "section_mic_hmac_key": "DFAB6D5BBC1AEEDC067EC644D7AB15D0A0FBBFA0FF766A45BC6AE217B00C1A76",
-    "section_salt": "B225FB4D96E5A2AD5966E0201447323F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6CA09CF038262F0B86AFC0F196F079A1",
-    "aes_key": "DC35D7E7C27384B92F1F218AA96E5815",
-    "data_elements": [
-      {
-        "contents": "F11DD7ACEED992",
-        "de_type": 439
-      },
-      {
-        "contents": "19CA080B4B458E94D3973AEBE5",
-        "de_type": 120
-      },
-      {
-        "contents": "",
-        "de_type": 973
-      },
-      {
-        "contents": "138501DB6DF8DE97",
-        "de_type": 122
-      }
-    ],
-    "encoded_section": "5D901335901EB3DFE18DDCC333E258CEBC67A6911000C453204CA5BF1BE8A080F58E1E046BDB90013A59DFC6058F6E641E7F6BCE6B71D94D022FF601B5D7CB45AE24E902357B8AB7332484AFB64A5EE9B2D654B67879279632B8226CD83A",
-    "identity_type": "private",
-    "iv": "C4013A2D4DCC401351902092CA23D50E",
-    "key_seed": "9C31224BE4354E49AFB6CCD5EE02E4CD13A1E57ABE9FD2CE2501A039B51E6425",
-    "metadata_key": "7A67555F40D8FA75031A57BFCA376901",
-    "section_mic_hmac_key": "32FA238989BD8A58E646578F6ABF19C7A49B10F8A626BBAA984C7163A6129896",
-    "section_salt": "C453204CA5BF1BE8A080F58E1E046BDB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1AD93C4DB2AA2956308F6B40D2227DE4",
-    "aes_key": "702409CD2C1478EA23213540CAD5A499",
-    "data_elements": [
-      {
-        "contents": "A104DBE9FC480BD7403A4F2488AA305DB6CDC31C85923D7F71B751",
-        "de_type": 441
-      },
-      {
-        "contents": "3AC2773587350DE26099CF",
-        "de_type": 827
-      },
-      {
-        "contents": "320622",
-        "de_type": 969
-      }
-    ],
-    "encoded_section": "699013A36C4D395FF98F721DECC40BC9CE7A96911000687BD81DC1D918FE6F5EA0EA6871D83590016D763DF756CE03623E713A3A5CEFC54FB9A77EDA7C91BA0072023850ABE73DE6F6E4CA176F830D0E0A33FA5D169D172F2B50ECC62C75A95C5A9BACBE4FAB29A3DB7A",
-    "identity_type": "private",
-    "iv": "AF815000B11B4D2338590EE859E43B26",
-    "key_seed": "BCF8775858AF8BB34B9296C2B9CB9604AA68CEAF0E015FC23F88F60CA73E0EC1",
-    "metadata_key": "22AD97286075323B5D9C97A18C8516C2",
-    "section_mic_hmac_key": "E59A1CB6BD1ADF2BF24F4C657428105B097C70A80EE4F707ED96551FE4FE834C",
-    "section_salt": "687BD81DC1D918FE6F5EA0EA6871D835"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF0F5C6FF715661FDD243EEFCC3DF000",
-    "aes_key": "465940811F2D7624AF1BC24ECF583A31",
-    "data_elements": [
-      {
-        "contents": "ED5B2856E0",
-        "de_type": 480
-      },
-      {
-        "contents": "5C9037389AE1E052391238AFA847305B8D52F177ACF119F8F5958475C1DD",
-        "de_type": 458
-      },
-      {
-        "contents": "F1207137",
-        "de_type": 42
-      },
-      {
-        "contents": "9EA01A",
-        "de_type": 627
-      }
-    ],
-    "encoded_section": "6C901358A772231DD98A3887EE3F43DBADB5219110002BC0BF28D21A7964B7F0993AE4F5B0EB90013C3E4A659C9FF925633BE6B56F540526D0F5ECDCA82350FE06A01B7DF9180909C186D3892E87DFE229957C59982999EE546326D04870BA1F7D953C8F4E7BC2A62F0940C9C1",
-    "identity_type": "private",
-    "iv": "668CB07C7E17BBC9C738DB7DDE67F0B8",
-    "key_seed": "D86A2754D9774433632916979DA1EBB2D15DEBE68568D976D6F611E7767C6CD4",
-    "metadata_key": "7D9BBF1CBA464E5B3D3E1132C99C3D2D",
-    "section_mic_hmac_key": "16C2939D01D4B63ADDBC2CE217C412B1DB240E79171BDF904BF90A2F0E5DD55D",
-    "section_salt": "2BC0BF28D21A7964B7F0993AE4F5B0EB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A4F08E8443AAE40F4E7DAC88701D0A61",
-    "aes_key": "E32648F00DE2B1472DF2AC0C21D46D41",
-    "data_elements": [
-      {
-        "contents": "67ADC5EFF86C7C6823C644A2",
-        "de_type": 245
-      },
-      {
-        "contents": "A2FE5429988C99F4608621F625D2",
-        "de_type": 446
-      },
-      {
-        "contents": "CDD480DE03360DAE07242D23F079",
-        "de_type": 236
-      },
-      {
-        "contents": "66517DDF7ABCB8577D19413F67E25F",
-        "de_type": 307
-      }
-    ],
-    "encoded_section": "7A90138693FA8FDE6BC60CA1E4714073108989911000C10DC9C0C4A68B9018C3488D10740CBB90044E395EF33AEC517158560D95A90F95FD4F901983D6F8FFDDB7B22CA5054BADD29B844F5E589C81D03EB39FC74D0E88B8D6D708CB0A8A8073FEBC2DC580146760537167FD194907D3DE050A6CD1807E2A7B2BC9",
-    "identity_type": "provisioned",
-    "iv": "40B3E8038361FDC0CA520885C4BA45EE",
-    "key_seed": "12CA6E10625D8A743F3980FF5B82786D1E11A0B2E7095D1C60B6500947C7A80F",
-    "metadata_key": "47D63E40F400537213FA6C39741EA95A",
-    "section_mic_hmac_key": "C2DC1307FFA2E742682513F21A7F585D155EB98549978992A6561DA4F9C2779D",
-    "section_salt": "C10DC9C0C4A68B9018C3488D10740CBB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7F3B4AC49A6859D7121614C35F5B54B0",
-    "aes_key": "A0E754DDBDC126DED5C2E5BD3ED151A8",
-    "data_elements": [],
-    "encoded_section": "379013F66D7FA47F0BF107AF009FBD4FD70BD3911000FD6B5B75A82F46AD1EE3944D6229D1059004094FD3464A10B7EBB9FD171DB106A835",
-    "identity_type": "provisioned",
-    "iv": "5F212B399449367351A9BE5E8CC87ACD",
-    "key_seed": "687577B839C89F80ABB09A60CB09330F201F7E109C18AABCF5B7CE3ACCEB7C9D",
-    "metadata_key": "9190921467B2FCFC928327A128A00D5D",
-    "section_mic_hmac_key": "EE0BE709ACDA6445F99E7F9709367F1970CC0FF034BB9BAB2525B06838192DE4",
-    "section_salt": "FD6B5B75A82F46AD1EE3944D6229D105"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1D2E3A430DA547BCCC40814B7CB98093",
-    "aes_key": "EB9DE857753B905D9DAD3D6D68B97845",
-    "data_elements": [
-      {
-        "contents": "7D25",
-        "de_type": 960
-      }
-    ],
-    "encoded_section": "3C90138C32DC48034E13962C03225C7CCC98E19110001F9ECD3C6A5399AE4A22D21D04D50F3D90022E75DADE997D7635B4AB53D54DB577263C8E60D0F7",
-    "identity_type": "trusted",
-    "iv": "DE93D4114DE77843376E66C9C1FED8C8",
-    "key_seed": "FF1AD1F98E7A02BFD970E2E6D969E4BAB06F89AAE1D901C5158ECEA444EE7569",
-    "metadata_key": "0A83D4CB8541829EB4E13989DEE85722",
-    "section_mic_hmac_key": "336BE3349032B9BE9AC4E030B439CA29C22300C39C29A768E5429DFDD59CB347",
-    "section_salt": "1F9ECD3C6A5399AE4A22D21D04D50F3D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95EF9550DD4E6DAB348F32EC6ACE9ACE",
-    "aes_key": "9282028C74EA00E0A695AA0127941CD4",
-    "data_elements": [
-      {
-        "contents": "014FD0938269F334",
-        "de_type": 26
-      },
-      {
-        "contents": "B419499BCF2AD0B5",
-        "de_type": 732
-      },
-      {
-        "contents": "998BF95EF3754B4684BA80",
-        "de_type": 84
-      },
-      {
-        "contents": "61BB19",
-        "de_type": 525
-      },
-      {
-        "contents": "E911B16D15B9D70D53BCD3B27705427D11C34D8EC29011A6FC33A1205D",
-        "de_type": 9
-      }
-    ],
-    "encoded_section": "7E9013F9317F3EF17F72D0E6E671B482D48FE8911000A5E06CFDFE69CCD42F56062A56578B739004E967DC13B2AEFE2F508828E75102BA7D102B73D8563823F379ACE502595F925B51489A8A865904136429350CA3FC0E80475D5EF603BFBBF13483E718CC349627424499020BA3738BF25127BCF7FB6122FFA582FC9D4806",
-    "identity_type": "provisioned",
-    "iv": "0B48A691BEE1A64AC8D64656A4C6E8F5",
-    "key_seed": "BAC80598D5D058B07BAB96DD55772405A2E8A8F533907534D9A0E3FAA9F30F8A",
-    "metadata_key": "F759E495DD16BC4B4536A72A4FD88C2E",
-    "section_mic_hmac_key": "A69B4595E2EF8D19BDD30DB2B3A6C6890840D061A2516C12B9C137832906B7FD",
-    "section_salt": "A5E06CFDFE69CCD42F56062A56578B73"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "70F3562E36D87A53735B298C8920DCCE",
-    "aes_key": "2A04329E89E63A6EEE1E5B9FE26FF072",
-    "data_elements": [
-      {
-        "contents": "E26993B71A36032D7B6BD3BE1DFC1A916A6BFDE486468C",
-        "de_type": 619
-      },
-      {
-        "contents": "4E4B6D3471BA6DE8958649F7A8F3F2D1D8B858BACA4F9D737E622F",
-        "de_type": 159
-      },
-      {
-        "contents": "0C30D8A9B7F50CE9EC",
-        "de_type": 992
-      },
-      {
-        "contents": "D682BEFA334E31CC3D253BC9B8F9E7",
-        "de_type": 379
-      }
-    ],
-    "encoded_section": "8D90137C433C789FC67F116E0B42170BBE1A2C911000ACC738CA77736DA78E61AE2F8BFD56EF90029BDCB44AB171091ADCABA9B4C47698F06A60E7785AE6EB868FA0D3508C4028357D558423ABD64E685A53B84E7CEFBA04B41B7AFE9701E27C2A655BB0FD8E4BACEED81D020887BDEAD433D10A2ECC65781E33C048D8FB20599660EF16CA4964D39E1775E80970",
-    "identity_type": "trusted",
-    "iv": "1AA5C3111877402AB12DF3A5D98BE228",
-    "key_seed": "23FE203BEE209B85F8FBFF96FFD45C5CBBBA541638C875E7D3E882407E75BF0A",
-    "metadata_key": "9D984FDB62E86B53E9D7DF7A14C9961F",
-    "section_mic_hmac_key": "3D5C46804EE11C44B04E69BD02A26FC9F8140A98E0BF5B6B28601D9BA19223AE",
-    "section_salt": "ACC738CA77736DA78E61AE2F8BFD56EF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E17588ABD3AE8E7D6C334D1B0AF92891",
-    "aes_key": "EC4481D436C1713129486151E496D152",
-    "data_elements": [],
-    "encoded_section": "3790139A5DA17E993C1658DBFA6658604A3001911000D08F272BBAB54B86764CDE901B979BE09002B897890E043267F8EE1F98C5F9BBDD30",
-    "identity_type": "trusted",
-    "iv": "251B33B9AF829B6ED1ABDA627054F6F7",
-    "key_seed": "EAEC6309BB2C6EFFBCB0C2BE01F11E4F90F5E7B8887E818D5AC1D4A7DB57069A",
-    "metadata_key": "F542D812841B2DD775BBB4A8410C492E",
-    "section_mic_hmac_key": "F67EF00325C91A6AB801927DA0B6796DD8DC33C90329FA717824EE7E180C1760",
-    "section_salt": "D08F272BBAB54B86764CDE901B979BE0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2345A6D584F3974CF098E8C192904039",
-    "aes_key": "4DB8F7C88764BB94D3A3ABE8A1F8AA20",
-    "data_elements": [
-      {
-        "contents": "FBD07BACA069E273FABEB5458519AC66",
-        "de_type": 270
-      }
-    ],
-    "encoded_section": "4A9013928EE6E8ECEFE0F28379CF5C9032291991100098A4C16E5FDCB9E737355B6BF7EAB38D90028A111BA84A1E974CF9DEB93971DA7789A71713E4BFAEB4AC83415674B15BAB0CF85A89",
-    "identity_type": "trusted",
-    "iv": "212CD8997AAA9236F1FDA4DB9BD918A7",
-    "key_seed": "67E2C8B99AAEE6CFD7809BF4BE4439021C1917798195E90C095AB601C718CE52",
-    "metadata_key": "F1FEE18C49BA92C3F2F65E445A273F17",
-    "section_mic_hmac_key": "76ED254493D473BDC8188E855AE215771406C7EAD2655C0699E1408905F39146",
-    "section_salt": "98A4C16E5FDCB9E737355B6BF7EAB38D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F9AC3BDFBD989B3B7B99227F4A75895E",
-    "aes_key": "F4A4A68E314433E1525A20A7CE56CF0D",
-    "data_elements": [
-      {
-        "contents": "8953B51DCADD4B6DDAE1F254D6FF075F023EE782962BA2E5EC3F",
-        "de_type": 51
-      },
-      {
-        "contents": "3B90B29DDDB595115F94",
-        "de_type": 474
-      },
-      {
-        "contents": "3AE3DC2B64E42DEE4591D3017A373707622603E768FF",
-        "de_type": 420
-      },
-      {
-        "contents": "606367570FAEE5",
-        "de_type": 567
-      },
-      {
-        "contents": "8058E4",
-        "de_type": 400
-      }
-    ],
-    "encoded_section": "899013F28C4419C0F39FEF91816ED59BB640CF9110008A20C8F8A8F8066BCC1BE4A65AC5792A900117084AF29AE92FD19FA96EBE5C8A2A42563981458E841FB326A570E844CB1C9DF86C5ECD71E381212CA1AB349CBAB6E08E587987A237010D73012F12DA01137A6DB31DC714AC92A7E6ABD3D25D66DDD4A3F017E36180B1BC81BE906A37A7E5847306",
-    "identity_type": "private",
-    "iv": "001886333197146B65A467C6A5ADABD0",
-    "key_seed": "9FD56F525349238F02680E5213FA5A0976841E232787AF705FBCBC9B20064E11",
-    "metadata_key": "688DE85D9D408FA2DE99A56F603BA664",
-    "section_mic_hmac_key": "496FC8B5DDFF85EA5AFB6257048F16A63C38E6B1B0B6880B6DC982AC06F61F5C",
-    "section_salt": "8A20C8F8A8F8066BCC1BE4A65AC5792A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "82BA44E40EE515F4EDB7BD0835B26BCA",
-    "aes_key": "E63C191EBB567BB2A374A6C5CA7789B9",
-    "data_elements": [
-      {
-        "contents": "936AD5B9E6439EFB69339392A4FD2913",
-        "de_type": 897
-      },
-      {
-        "contents": "BB64D6B15EE9AAA7A2A4E90CD9D3D7DFF853855652F3C314",
-        "de_type": 128
-      }
-    ],
-    "encoded_section": "659013898A83F5E4A7D3DB3F24B83BBAF8FF0C911000A9BAAB812351BFBC259E10C891B67FB490020580A146D32401847A52599D99C1059DFC1B9E2C00E18BE478924C134C5EF2FCB007EF712EDB4C8A69389EA6AAE580B3A3D549891C657768EE03112B204B",
-    "identity_type": "trusted",
-    "iv": "A40BE5CD2ED5BB0EBB4725421B8DCAC5",
-    "key_seed": "3A2C30261D095C238E882B56F8D8CD61B607E7386D35FE3DF3C577A501D583B2",
-    "metadata_key": "39DB2F2278DB54194F32AF85B1E78C21",
-    "section_mic_hmac_key": "DDBDFB689EFB7F278636DAA76509101635BD2F29F5374C2FE5FF61C0BC7777A8",
-    "section_salt": "A9BAAB812351BFBC259E10C891B67FB4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A8B3C773BB49A28374AB878083EF4DD0",
-    "aes_key": "A7AE16ABAAB4F23FE69F81219078B6B3",
-    "data_elements": [
-      {
-        "contents": "941B67D98B",
-        "de_type": 482
-      },
-      {
-        "contents": "B56226DF686EE11F00F46D8EAC2FA6B3",
-        "de_type": 124
-      },
-      {
-        "contents": "1DAEF38ACABF3F7F72E0C36D95CE462F",
-        "de_type": 451
-      },
-      {
-        "contents": "C5AE1183996F56207CB46CCF9292D5FE2076EC2FC7DCB8BC5B5C",
-        "de_type": 200
-      }
-    ],
-    "encoded_section": "8190131E760FF2E9791B7C00259DE6622D097B9110008F7B71C5430C84A4A66BA8D98FB94F4B900234D15FEF96C1A3789732CCB516DA820979DAC80D2385402A65AE0C15A2234225C44833EB9FF44685B5C5F63331C9A54DD49754676E9A9EFA33BC008618F6FF6EFDA711690EB21B15E1FDD560000C2914756DE9B3ED6F3E26972B",
-    "identity_type": "trusted",
-    "iv": "A3F606AB7B1C0576ECD16E9FE421CDD9",
-    "key_seed": "9B041D4F0C1EF90F3FA1F40CC00F8E2B5F76237D87E8A3532B59953F72C44806",
-    "metadata_key": "654C72908F7B826008996F7F055E37BA",
-    "section_mic_hmac_key": "9F368D4991C333653B18B8E47BC2228B4B8AF094D9B0CFAAB697EAA4BDDD0EDB",
-    "section_salt": "8F7B71C5430C84A4A66BA8D98FB94F4B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3FF717A2F51020F0A8E7EEF5A58FF598",
-    "aes_key": "6B159573A0B1AD7A064F2B0C7E112009",
-    "data_elements": [
-      {
-        "contents": "170495D7E094775F3FE95D8B687AEED4201D2565013BB6D143B4368AB3",
-        "de_type": 261
-      }
-    ],
-    "encoded_section": "579013C0015142640B5256342482B97540A7F3911000391F6DD321079B0843F5D827A33F72FC9004DC8B35CA45AA35A6FBD7B3775EE4A1E612928B2B6F7915B574AF3B76C69D151D7B6948E811B99489CC62D223399F4007",
-    "identity_type": "provisioned",
-    "iv": "DB8D8BB540FE93482C143E02B46DBB41",
-    "key_seed": "2A25270DBE2575BF55DCA0EAE26CFBF9B57CD40F4F3676A108C187C20D4A6F26",
-    "metadata_key": "970D974CABAEDE9ECFE8B1A9CC874879",
-    "section_mic_hmac_key": "405D13A8D5CD5035A191FDB35DD6D3EEB16ACDD4253098B9DF5626EDD56F7329",
-    "section_salt": "391F6DD321079B0843F5D827A33F72FC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C604ED2EC8A3D1C29EC5A827AE9EDDA2",
-    "aes_key": "52795E8FBEF4F5EB97CC11774B1B3C3B",
-    "data_elements": [
-      {
-        "contents": "3E",
-        "de_type": 834
-      },
-      {
-        "contents": "682F12CA13A8346A46FF",
-        "de_type": 549
-      },
-      {
-        "contents": "11DD9D8544F5BF2CA35D580E223AD090D48C62E3085AB6CFF4A756",
-        "de_type": 194
-      },
-      {
-        "contents": "A949786794EB5D",
-        "de_type": 543
-      }
-    ],
-    "encoded_section": "70901355836184F4627B8EC7B78B6BB25D230A911000B462B56430FA636C4A6077DAE3E8490C90014B885213D89DC53C660697E09A405EEF027A56F667D32250711FB9AF57E6B173293D4EC62278A5047EE2D95D71CF8297D0BB81882856A9C03855BE2759368C3B68A19E2B7D4926DDF6",
-    "identity_type": "private",
-    "iv": "9FB083D020CF0194A51614C38F4CB78E",
-    "key_seed": "BB328C2C3773B18C637890F7F307C4D5EE297251BD0A3F101061B7C7DDE4436B",
-    "metadata_key": "2044D85EFE05830A56C3828A60E1B22F",
-    "section_mic_hmac_key": "9296C374AAF9CFC2E968F9D212EA9FAA10E7CA1712E740F8C423F58377DEBEA6",
-    "section_salt": "B462B56430FA636C4A6077DAE3E8490C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E4AE638B1788F6A4A7AE8A95A170217D",
-    "aes_key": "F86260862227268C0AC94B2821714BEE",
-    "data_elements": [
-      {
-        "contents": "095F42586EFFA90A02AD1377438DC0FB442F8BC36B084071A340",
-        "de_type": 991
-      },
-      {
-        "contents": "21D38A40C8F0CC8CD37E8B99E395",
-        "de_type": 663
-      },
-      {
-        "contents": "0610976CBF91C272697FF6F3DF90CDBF",
-        "de_type": 331
-      },
-      {
-        "contents": "C46F54",
-        "de_type": 806
-      }
-    ],
-    "encoded_section": "7E901310E81093792AB0299A1F5B9AAEDC438A911000FE1897EC2C7F696F9A12BA2E3AB8FF109001BD9694097F3C01B81BBAE58DC0AE45DCEEE6725DEF44E95C4651F50683E6E1452ECE362EB210B8F69E64C2147D7ACCB82C7A8FFBB1872CFB90BD33A33CB73837084C658664373AB183EFDE54555E374E0282DBE99F4FA4",
-    "identity_type": "private",
-    "iv": "0B8F21A0532C5CC2183796C8116C1AB2",
-    "key_seed": "144F46384687F7622633B6BF79597124B6602947F71FE56D358D8255FE706F75",
-    "metadata_key": "FBA8A028F20EDC2617B4EFF42F1B6449",
-    "section_mic_hmac_key": "6842368E240421D08BB41E23656533362CC290661EF54E887756D7BDE52E90A6",
-    "section_salt": "FE1897EC2C7F696F9A12BA2E3AB8FF10"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "21D9EBBF5909A89E702560D71E29B2C4",
-    "aes_key": "81CA1370B0438486CCDB17555BB775B0",
-    "data_elements": [
-      {
-        "contents": "111FCD56D62B43",
-        "de_type": 52
-      },
-      {
-        "contents": "C15A18724AC7E528B46E9E35F7554B1209E7F902A60333061B5381",
-        "de_type": 424
-      }
-    ],
-    "encoded_section": "5E9013D9B742F3C9077E30BF514C324378A6A6911000074399230FFE3522BF65A0E4DCCEEF149002A212E54AD7F78EE74E021C037C9C0B3A4493EE50C04B6BD43D728CCD62DF48707D3D3503E56426ED0CEC9DC87AC7FC6596B8DC23D4E10B",
-    "identity_type": "trusted",
-    "iv": "BD67CFC964A067113164BA2579085C26",
-    "key_seed": "63FB25167C581FE8ADE6766A9CBB04B2D734564EA92161E6DF67C3776B7589E7",
-    "metadata_key": "93081F4B0D4644A3EEFB094ACADCDB72",
-    "section_mic_hmac_key": "B01F9FFC04A6ABDFA23B54EE3A0855251B07ECBA387FAC32783C2D1E31502187",
-    "section_salt": "074399230FFE3522BF65A0E4DCCEEF14"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "376F7973FB47B8DE4EFBB10BA01B4CAD",
-    "aes_key": "AC46F566457606055B133DAA5632FDA9",
-    "data_elements": [
-      {
-        "contents": "4FABE07C139A4BB10FED0547",
-        "de_type": 717
-      },
-      {
-        "contents": "B0A28EBF12",
-        "de_type": 337
-      },
-      {
-        "contents": "2EC51325F981AF5E505025CF2432078896A5A4C5079CC2AF4067C5A9",
-        "de_type": 565
-      },
-      {
-        "contents": "B50C",
-        "de_type": 246
-      }
-    ],
-    "encoded_section": "72901355710202686237786A7FAB75ED3F998E91100094670B48A85C57471200A7A15C35EF2D90044551AD5E4D9C0F656F0D5A1EF39F021CF714060E5F72C5E4165827B2D33B39A68AD8E0B747C2FCB223D61B51C4CD32C0C14273A496135AD4459FC8615EF2D076B9942FB9D6A3F6A39F8152",
-    "identity_type": "provisioned",
-    "iv": "1F042222693F97550BC695DE068B0F27",
-    "key_seed": "B7CCCD49D67B3D822F0EB6389CD28D0D0F709EBCE75A1D41CF78BDAB9C649F8E",
-    "metadata_key": "D484AF3D402DCE7C7765AFE667044B4E",
-    "section_mic_hmac_key": "9D04723E57927BB0E47023BFFFB73D7ACD3A75807E62C48D34D81F47DCD2213C",
-    "section_salt": "94670B48A85C57471200A7A15C35EF2D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "633A93C20610A1F816E80581D99A8B3E",
-    "aes_key": "4371A9D1A3EB70A57E84488A54E24687",
-    "data_elements": [
-      {
-        "contents": "AD8C2BC724A8477BCDABB0118A33D84A98C8807FB87D9CEF9FCAA3D1",
-        "de_type": 853
-      },
-      {
-        "contents": "01B3970FC3FDD7E7ED030AD7AAF1AD72863B93FA61",
-        "de_type": 658
-      },
-      {
-        "contents": "8780D33466F56DB455D0D46E24CC32AE0695308F2F63BC6548B4",
-        "de_type": 728
-      },
-      {
-        "contents": "8F76",
-        "de_type": 45
-      },
-      {
-        "contents": "94F61429E70AEF3E8003487BAB3AE1D6319FC95FD097672D626F",
-        "de_type": 65
-      }
-    ],
-    "encoded_section": "AB9013195BA9A9F3767992302308D00CC1C1EE911000D293112ABD9E9E2DE6C9580BFBF3EEC590047F67987EF7E1FA205D9F59BFD255EF665258B5DA63CDD2CA567DA31D331C085AAB47056FB34C5637C13EC88A08BD9D7D96250A8CE4B314B4FAA00870BBCB5F2B060BE6492B524821708BD765303EB55C2C3DE721F34C3249BDD36AE5595B6AD9E9BAE6925E0BBEFEF7D5400A5BB802BD8F96D54B15C2F0A4E672174CEA6E0EE5C2030648",
-    "identity_type": "provisioned",
-    "iv": "EF05D22E05D50648CE4B24BAB3070391",
-    "key_seed": "63626EA34F2C9B87028C0977809D2F7768E73DD48D9D4BC4E9A8AA6AB63E51CF",
-    "metadata_key": "A028CF69452B18E0B48C12F43A92BFFC",
-    "section_mic_hmac_key": "CC71E5A17B3F67FC8293349047F85966CC1D2107A6C9A868904CE012FF6D1EB7",
-    "section_salt": "D293112ABD9E9E2DE6C9580BFBF3EEC5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A2FAFCF0C3D4653B115D3C2BE07661CB",
-    "aes_key": "D3F0BD209D67F0C6793F151852DEBD06",
-    "data_elements": [
-      {
-        "contents": "82A3CE3347A4",
-        "de_type": 831
-      },
-      {
-        "contents": "F3AAF8D0",
-        "de_type": 633
-      }
-    ],
-    "encoded_section": "4790130DB30D981DE33703A0264019ADBDA644911000B76D1505FDE3A6DB5745C79C2ED803CA9001486C1A884EB0CACB9ADF1F0D7FF508AB81EE16696136F0FA512B4FD6C6A16B9E",
-    "identity_type": "private",
-    "iv": "A35D9428CEF6CA021B52076EA6DCB262",
-    "key_seed": "CA2DD34D998FEE70368831DD2798E0F1936A589B1C1A5B60FA3D0A4C8D4E0FF4",
-    "metadata_key": "599B29224832981BD60E11082FC157C3",
-    "section_mic_hmac_key": "5095030D99F2E81933347E8311CE3391BD1FB3C0B5F9397915FD1ACBC0B1494B",
-    "section_salt": "B76D1505FDE3A6DB5745C79C2ED803CA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FE6A04FEB87E30414222FE02FC1DED3C",
-    "aes_key": "AD143FFF025A7B908F3028F255017A0F",
-    "data_elements": [
-      {
-        "contents": "B41FFF16CE",
-        "de_type": 692
-      },
-      {
-        "contents": "C5EE2285043F76FF038B30EF5EC3888A9D9EEFAF6EF2C4A7F1",
-        "de_type": 275
-      },
-      {
-        "contents": "4F22FC1B2C68EFEA",
-        "de_type": 389
-      }
-    ],
-    "encoded_section": "669013AF4FE79DE836E8BAC2A418D44693F4EC9110005DE51155F2A2EE8C7E16026723F4B81E900295FCF7C7A95DA0AADD01DF2EF798AC707CB88138553B4DECBF061D353A6206561B4756BEBFB3536AF66EC01D29C4842F1522AC4894BE7B69927FA6DE2F5B7F",
-    "identity_type": "trusted",
-    "iv": "983E35C1E9170FF4EB62F9C900BFDE14",
-    "key_seed": "3894FC2EE542091EBD73841E9C92E846682B47EE41ABC7BFC9A6CFB9C7EC4282",
-    "metadata_key": "0C17FCFFDA6B8AB386C3D801A33DDC7E",
-    "section_mic_hmac_key": "310376D63A925F217B048D0E4C6908764C80444503F89A3AA1763951A33FCAFB",
-    "section_salt": "5DE51155F2A2EE8C7E16026723F4B81E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CEB2DB3907DA1426F9AEE8AAD33216DC",
-    "aes_key": "33F5AB96D76920C2F144DE4962D862ED",
-    "data_elements": [
-      {
-        "contents": "0E094C04A66FF6909AD423192740",
-        "de_type": 511
-      }
-    ],
-    "encoded_section": "48901337DBFB04B30BCF0A8422AEED7BE57B73911000636EAA5C104EB02DDC7F6EE4968AD387900179756A7F8E031AA7411DC75308F251B330B7FE2D754B5E999D9DB499716B48AE6E",
-    "identity_type": "private",
-    "iv": "79A3FE62EBD753E71B1445F203F5F781",
-    "key_seed": "B2B7DDAC8583B3D6E27434EE969DEBA37C310AC0764D86B202280244015F4D4B",
-    "metadata_key": "4E807DECBB61C3EF3A3530264B354C38",
-    "section_mic_hmac_key": "50A2AF48A3375502973C8E59A22E83359F137EE2391724F8CEA70E71D7DA9FD8",
-    "section_salt": "636EAA5C104EB02DDC7F6EE4968AD387"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8581CCA00A9614D0A2F3F513490ADC2",
-    "aes_key": "9B6D1622C67BFCD29AC65E8A5B503A9D",
-    "data_elements": [
-      {
-        "contents": "A1AF",
-        "de_type": 717
-      }
-    ],
-    "encoded_section": "3C9013926DC8C5AB1FAD70EA31134CAFD3EDA9911000ACBE394BCE0BA06BEBA61EE1737000CA9004A9631597C4C3F54FB2DE97D60CB38982950678FB41",
-    "identity_type": "provisioned",
-    "iv": "82EAD32BC4E1860FD17E049036F408A2",
-    "key_seed": "F6B2520AAEB47FCC56D10059ACB35A41937374E73497583FC997CD9643E2E0D2",
-    "metadata_key": "312D0D394B55AF6328C2527FA2754E92",
-    "section_mic_hmac_key": "077FE6345CE01680AACD3CD7514C8B248F35325D8EDDA3BB4AE284D01068340B",
-    "section_salt": "ACBE394BCE0BA06BEBA61EE1737000CA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A8936F1979C158886EA3687E6802647A",
-    "aes_key": "C123C7A271606C99EB7F65A90594DB01",
-    "data_elements": [
-      {
-        "contents": "503EB3",
-        "de_type": 360
-      },
-      {
-        "contents": "DCEEE7F22896FC9B32B55C34A0FEBD5443F897062EDF",
-        "de_type": 693
-      }
-    ],
-    "encoded_section": "569013AF54CE1D3CBE08F7711B3755799477B3911000546E3934E379D2D397491FE39A9C82FB90028608200CA18E4F6256DDE1C34367161B23C14E639155B0D9A24AD8EDAC13316CBBB6F45BFE2DC243C9259D8E66ED46",
-    "identity_type": "trusted",
-    "iv": "5BCD15EE9166022B1383FA6733B14C25",
-    "key_seed": "21E6F589CF96987FE3A3CB4FBF3EAF56F057D19B1E95A312AC51A43C4F810A0A",
-    "metadata_key": "13E4BB8217379D14813705DD1D830EB7",
-    "section_mic_hmac_key": "0349739276968E6FCFFE70B6CA646BE03C7BA2A905B676C37AC67C9174C5023B",
-    "section_salt": "546E3934E379D2D397491FE39A9C82FB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1BD514F1002291FC8579AAF845DF2230",
-    "aes_key": "DD4891029D9730B48DE4C95DC2B32849",
-    "data_elements": [
-      {
-        "contents": "2DD2428876819B13D3",
-        "de_type": 842
-      }
-    ],
-    "encoded_section": "4390131A15BD6E7E99C7DF950BA8486CE47426911000A3C9342FBF29A1B56D1BF70A126385899004066176CFC62D6CDBA8BDABF873C1B76C928C16281576D8EC953B356C",
-    "identity_type": "provisioned",
-    "iv": "DBC1EC47C39EED7FC5BACFCBD3E50F33",
-    "key_seed": "119A29D81C336C1450B9A52B08D5FA1C82BEA2F7EA53EADBDC786F17EA5174EC",
-    "metadata_key": "A11144C257937AA9AB72AF4D400943AE",
-    "section_mic_hmac_key": "77495025D48B3D4BA26ABCB62AC9489A8CF1EEEA8540E85B22F44F6F70302EBE",
-    "section_salt": "A3C9342FBF29A1B56D1BF70A12638589"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7CB42CD67E6B64297634ED57EE9A84FC",
-    "aes_key": "80748A341D96F6CF336DF1A491AB1DB6",
-    "data_elements": [
-      {
-        "contents": "96DA066AD9185B22D2E69A26F2D47377",
-        "de_type": 529
-      },
-      {
-        "contents": "8C54B317A75F31CF50FC60B0FC7E1BC16E",
-        "de_type": 943
-      },
-      {
-        "contents": "63FB812B761B5EA081E0E7743F2BFDCFBCF360083F3C46",
-        "de_type": 638
-      },
-      {
-        "contents": "26",
-        "de_type": 4
-      }
-    ],
-    "encoded_section": "7A90132D1AB37039B085A7A9C70BE256B8094A9110001CA7C89408F3F729EAFB6FF60C3AFD049004AE29327125D2A449F33B1E6A8A7AABF9FF1B96CCE102DA7B3D0D8F9F828163A7D7BF775250D2C8EBD9C2DFE30CBE79A1AD0F5D3F40868351D67A6D0D4BDB8EE0408FB6E59CA2C19EC94D81A05DC10B685D26B4",
-    "identity_type": "provisioned",
-    "iv": "14C33DEE0CD9255F91CB3DB918642ADD",
-    "key_seed": "E0C0046701BC9386E772D494429939639AF9845521C2718C1ADCC28BACDBFFBA",
-    "metadata_key": "B16130046B39490E2360E8249AEBA2F5",
-    "section_mic_hmac_key": "77D4D3388B0329728C3D684A0513235BFDF00100185824A42A29F1833081B293",
-    "section_salt": "1CA7C89408F3F729EAFB6FF60C3AFD04"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D3B33E595721C50D2105135754F892D4",
-    "aes_key": "6759279E5AF9E480F163DE933C79D7CA",
-    "data_elements": [
-      {
-        "contents": "5A",
-        "de_type": 459
-      },
-      {
-        "contents": "876A88BB07E3",
-        "de_type": 919
-      },
-      {
-        "contents": "650357",
-        "de_type": 366
-      },
-      {
-        "contents": "3965C8AACA7BE822FD421DCDD5416DEF11A5ED",
-        "de_type": 182
-      }
-    ],
-    "encoded_section": "609013E4263C83FBE154EBE9B418C8E1F92A2E9110001C68B664FC0B6735A00A9C32DAC328FE90023E487DCF351F9A4B55726B5324627617478B27454D994520BE41E126B4F0FC225770EECBCE400FDA160986F267A97446F5EE178DB730669B5C",
-    "identity_type": "trusted",
-    "iv": "FC06614343EE9CF8E5A4D06EB3594318",
-    "key_seed": "5F6F3840D07D9C758A5D3FA6CF48325B79DCA9357C30DEA1E35AD885916612A4",
-    "metadata_key": "7C701457BE076B13A91CB3033AADA84F",
-    "section_mic_hmac_key": "0964A5F27C3EE5BC3CB8DD22F71FCE6F30C9B15BB4DACDF2D04FC5EA4F909881",
-    "section_salt": "1C68B664FC0B6735A00A9C32DAC328FE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4A0B5B35DBA6225783403F4DE018659",
-    "aes_key": "473B79E267C0D84E4412A4093255563D",
-    "data_elements": [
-      {
-        "contents": "33B53C95303F25",
-        "de_type": 993
-      }
-    ],
-    "encoded_section": "419013AAFF2B02E2B22C8C7AB49138C7BBBD129110000517504587FC306540BE7FE50F18898F900444C2F40376DAC920EBFA282D8EFF436D9A36B53B58D5BD48ED08",
-    "identity_type": "provisioned",
-    "iv": "7CD1649D9693811DA48B34243B254D09",
-    "key_seed": "FC839072ED4097D2EE824442D37A0F95B80BE907398E946F0085ACF1709B5013",
-    "metadata_key": "F62052D0301C5441B3A568D4294A8523",
-    "section_mic_hmac_key": "282471379DA6B963F2436B4AE2C5FC3348826856CDC1FB0F8253115B208F8B2D",
-    "section_salt": "0517504587FC306540BE7FE50F18898F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "93CC5E3BEDD29966EBFE44F20068ABD0",
-    "aes_key": "0E7C22653A3C4E73E38247BD04BBA53B",
-    "data_elements": [
-      {
-        "contents": "AE8F1926F17DC55FDA14D4D112FF57872DCE3C90D5",
-        "de_type": 532
-      }
-    ],
-    "encoded_section": "4F9013DD23F4E8CEE064993278A409CED7F59D91100024B889D2BAC8DFE8490B8DB914A2C6179002B9CCEADF1CCCE30FF715B151BF3376ADBA9A4C086F89C357AD894C88A85EE085EF3E4A11802A2A78",
-    "identity_type": "trusted",
-    "iv": "3EC81F59D1FCB6D4F75A7027CE96B1A4",
-    "key_seed": "0C290657B22EAA068CC79DE1762BD7AE049F34DC9801C029C183C20B7641E2C3",
-    "metadata_key": "9D8BBD240583337C47347E2E3527305C",
-    "section_mic_hmac_key": "C8887D8C621FB6A6FDFB0BCC033014D68EE1D6E4B3587EA4BE7DDE9F3981C430",
-    "section_salt": "24B889D2BAC8DFE8490B8DB914A2C617"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C5CBBCC948D1D87B9AFD66807377E695",
-    "aes_key": "8A9C73FDE45E8AACA4CD44F6DD70418B",
-    "data_elements": [
-      {
-        "contents": "9A2BC2BCFEA2",
-        "de_type": 48
-      }
-    ],
-    "encoded_section": "3F9013A5F912E862C431DAFC9EC3B5E8E7A958911000F7F65F4A4F260B1A6FEB1A59AD18C1139004F28E1460E2D4086FEF3182AE2343658F4D6A362C6F3D7A3E",
-    "identity_type": "provisioned",
-    "iv": "2D897492AACFDE004CC854FB0837712C",
-    "key_seed": "7EA6A1B03842D637543676B12E61F6D9F1C60C9FE015E30D53AEF8D698F317C2",
-    "metadata_key": "EB718446E9F62D1D5E1C71FE9DA626C9",
-    "section_mic_hmac_key": "3B4CFB52E8711CE0B1154C45AD7C1A05C36F26307463C4DB5AD8A584EBB74487",
-    "section_salt": "F7F65F4A4F260B1A6FEB1A59AD18C113"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "65A047E0391416283B7306BDCBD0DB41",
-    "aes_key": "E5AC27A9E1CFD23C71098444F5FEAFB6",
-    "data_elements": [
-      {
-        "contents": "FE46A0590767816BEBF65CD0A06F0248F6060C86C6552155942B12",
-        "de_type": 53
-      },
-      {
-        "contents": "04DB45",
-        "de_type": 573
-      },
-      {
-        "contents": "4120206B315914CFE259150DCC0643146D86",
-        "de_type": 269
-      }
-    ],
-    "encoded_section": "6F90134653404B3A826DA5D63380AE51571889911000434EDD9F18AE06EBB1887589C846F4E19002F724DF5E9B4A15ABDD0C93D42FBA6E44D5B0C564A2364B59B4F8AF594071B81F429CEA6A6A97D2808C57378A1660A528C7813D9FE4AF8E6A8A82C2F0EBD3CF4D95E4DEBF15C2EB22",
-    "identity_type": "trusted",
-    "iv": "940185F0052AE8B5655BEF6A900141CE",
-    "key_seed": "725E4D87BD5610F4BE9F424729C7BC6F3B89C7A5FBB5FB976A405BAEC28865C7",
-    "metadata_key": "5529FCAEF9E42680CC37BCF7A52CB571",
-    "section_mic_hmac_key": "1072211CFEE4A9B080F5CE4A682975C8C702B0D25FFB50ED39673238EF61AAD6",
-    "section_salt": "434EDD9F18AE06EBB1887589C846F4E1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "11B8A815C96272426FE670EBD95F2A74",
-    "aes_key": "9CC50A2EB9DC906838B319D6F635B290",
-    "data_elements": [
-      {
-        "contents": "CF8CA8F97258BDAA03C9F47FE93C73628555F7B7188DD071",
-        "de_type": 863
-      },
-      {
-        "contents": "50DDF94F9A90AF06402A8EE4E5E0440C068557",
-        "de_type": 140
-      },
-      {
-        "contents": "FD530CD016",
-        "de_type": 560
-      },
-      {
-        "contents": "3EC44909478F",
-        "de_type": 565
-      },
-      {
-        "contents": "9322306E45BE",
-        "de_type": 259
-      }
-    ],
-    "encoded_section": "829013111DE9F4FC976D1FCB172FF6475BC43C9110000DA35B02A62A0DFD3EEEF6F0C95B67169002D299BC5DEACAF00803395A88EBC7286257F4B34EED000A0D84C2B5697992CD343E351FC180BAB101781C0002BEBF9FAF4332F2D568B6E928BD2F3C990094FF1EF912B8EBC584A544FF6D769A320755F673C8F82964AE77516FB951",
-    "identity_type": "trusted",
-    "iv": "8AAC6F64AF5CD7541A317ED78BDDB48A",
-    "key_seed": "BB9F80C0E138923EBB663EFC182D0643EB8B9C4A58A98D58C3837AACBB2752C8",
-    "metadata_key": "F9A2A06EB5CAF1152BF79B6E21E842AA",
-    "section_mic_hmac_key": "4095220E1316503E17A6FDE2D4E6CDF34BEFC40685288156F7446D5068CFA9BC",
-    "section_salt": "0DA35B02A62A0DFD3EEEF6F0C95B6716"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A4808B2F62685B5F55475AB574E7E26",
-    "aes_key": "AEC76AC229D0DE42E296D372873706DD",
-    "data_elements": [
-      {
-        "contents": "A8CBB6C27EE05402885DDF07B4B192AA53C304C6",
-        "de_type": 822
-      }
-    ],
-    "encoded_section": "4E901339AEC7384257FE89C3AAEB488B1E2D289110006ADF613C2421616F31B9639D876AC2B99002EFD645D79149ABCBBB2BAB3C0B00BBD1720EAF50BC23D78FA75B236C51B304C40863AD3FC62F6C",
-    "identity_type": "trusted",
-    "iv": "AB8EB79353453909672FF436216919D1",
-    "key_seed": "50201DD1C8E2AC7B1A62572253D3B22E09BC1F9ED9B3B435CC4A4C3A654771C8",
-    "metadata_key": "BF749E18C5E02BEE9705A1E2A8EDAF8E",
-    "section_mic_hmac_key": "3DC9AAA970DB8BF9EDDF51BC73AA81AED4227BEFE5B4FB374D33464C9B1C845E",
-    "section_salt": "6ADF613C2421616F31B9639D876AC2B9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1F59D9660522D8FBA3B16883F70F11C9",
-    "aes_key": "370A64FE5AD9B1FB602447BF4BF9D514",
-    "data_elements": [
-      {
-        "contents": "F67DBEA2F3E590F21C3A313915",
-        "de_type": 734
-      },
-      {
-        "contents": "7E112C",
-        "de_type": 336
-      },
-      {
-        "contents": "56D3B96A1D91F0CF57",
-        "de_type": 138
-      },
-      {
-        "contents": "00EE1F",
-        "de_type": 336
-      }
-    ],
-    "encoded_section": "5F901339F817C69D4CF580D378EE7E242984BD911000A71C128E5EBBB0E4FDF891F77639D1E490010D5F79F998BDD9BDF1F7BC2EFECC5EE2F9F994830D2FBA0C803101745C51A41E07AA18ABD1312F3D56CF58841BA20A60D7FE34E36DB0F27B",
-    "identity_type": "private",
-    "iv": "B092FA4BCCA953F068CC959747D83639",
-    "key_seed": "692463627EBDE72CAF060DBA5FDD40E032568C3B81C9DFE4B20DC148D32F7035",
-    "metadata_key": "71DF47545B930AF7861785B2A0519571",
-    "section_mic_hmac_key": "9FDD7949219C0824705B41969A6B0B39564EB3C376A443F740F9F3983CD9B3F4",
-    "section_salt": "A71C128E5EBBB0E4FDF891F77639D1E4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BE2BAFF188D27B3DEBB76D55424CF7A8",
-    "aes_key": "11519220C41A2431E087DA954F82DD2A",
-    "data_elements": [
-      {
-        "contents": "AC894032C14D4442280719211CDA8F42A8FC90497439B5A14529",
-        "de_type": 146
-      }
-    ],
-    "encoded_section": "5490139DD2CF23FADFFE0C94A6E8E327F720A7911000B38B64D0469A8468D3CAA65B8BB04228900224C6C7A8B2C73344F312ED7FCFF642112C0E3F95526AEBB29729E203C85BC3D9AFCF3050772AF4D320820A0883",
-    "identity_type": "trusted",
-    "iv": "069FD992E0C1DE2F9D197CC3D0342099",
-    "key_seed": "FD4AA1F19FAA7BC4F26ED6AF2153079A6D9F6BF4F144C95E609947E620E07BDE",
-    "metadata_key": "C092C09E74DAD832EA8DD576E23BF873",
-    "section_mic_hmac_key": "F721743C7C61BDBC19597A30DF414CE7EA3D9BE816140712FC23440F473F1DEB",
-    "section_salt": "B38B64D0469A8468D3CAA65B8BB04228"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "77549089D6D3867FA06DA36615503637",
-    "aes_key": "AF5B34E65AD38943EFBCC3B3870CFA0E",
-    "data_elements": [],
-    "encoded_section": "3790139B1BECE4655A5CB45B6D3A30BFE6730B9110001F22305A25CC405B049D1131AA3B46559002410D700D2FE5856E61E834BADD1FF8DA",
-    "identity_type": "trusted",
-    "iv": "5714AD90F45BAD10E57F8C79C0D16BED",
-    "key_seed": "71F4BEA99646F1706EA4A84397EB43CE6B44E381874992EF972617EB640B3A36",
-    "metadata_key": "53A2FBE800F5224390B2F5417E7F9C1D",
-    "section_mic_hmac_key": "600452BABA57916415DF1C59CEC4E50D72E1BC14B9DBA7842BDC4A3AAAE81384",
-    "section_salt": "1F22305A25CC405B049D1131AA3B4655"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AA4A1FB44833A27A2820C26ED4EDA010",
-    "aes_key": "C1F9AF7702938F9DADD7257B4478BFAC",
-    "data_elements": [
-      {
-        "contents": "7AED34",
-        "de_type": 407
-      },
-      {
-        "contents": "7784760988FFAC4996",
-        "de_type": 189
-      }
-    ],
-    "encoded_section": "49901306DC71C77895654B6FA9840DF88823F5911000026B34871390A27E60707AA4CBEE91A190025B45B3472ECEB8587465A76CD0C08AB383049E0E095AFE3EA26DB78E9DD412A1E1BF",
-    "identity_type": "trusted",
-    "iv": "4883588693CA0745A10C85CF49823C55",
-    "key_seed": "75295A1F3E2689CA79744BB328404DB873F3C4BDECCE9FE9C2781494B59D96EB",
-    "metadata_key": "4F1AC34364D0257D3CA00300DFB1F1F8",
-    "section_mic_hmac_key": "AC27EC75005A294F6A63263B6B4B15981A6FC481B65646FF315A9FD7E1C72468",
-    "section_salt": "026B34871390A27E60707AA4CBEE91A1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "078DDE8D05FD1B537A238D6645219040",
-    "aes_key": "2766ADE6816F4045B273D4E1CBAEF9E5",
-    "data_elements": [
-      {
-        "contents": "6EBC1F8D58C1565541E9F64D5460BB5C0A95ED1DFC9E29FBBB",
-        "de_type": 808
-      },
-      {
-        "contents": "3135E9387E084FCC35B173C0E9F9AB",
-        "de_type": 347
-      },
-      {
-        "contents": "DB92249A54ABB93E6797CA85039FA215647FB4",
-        "de_type": 21
-      },
-      {
-        "contents": "79288DD2716427CA78A9194491",
-        "de_type": 721
-      },
-      {
-        "contents": "73EDF5",
-        "de_type": 529
-      }
-    ],
-    "encoded_section": "90901373F65B3C85D86824F42F83B84048C6229110009E38512BAFDF12A3783C75D6C694F62790015B99A08B9D7A88AF8172BFBEE70CAE42260C83F0F60F06B79C125D77323EB12D7F5FD27ED9B916562485B9C9DC9E2DFF08F5B19FCF7CF8CFFEB6B99D95AB5D5EA00384953D3A053681FA63BB86B565B479EB49282780CE91FBA3C2976BC7F7B945BCC3E8A59A6C7F55",
-    "identity_type": "private",
-    "iv": "EF43F76400A48297E2B662EDDF34027C",
-    "key_seed": "4EF8A2BA84737FB0150841C23EC25D43C47FF933FA9AB2C5927D5B507C87EA2D",
-    "metadata_key": "378AD8906BDB267835B3C09C96A19575",
-    "section_mic_hmac_key": "A7C12070CDA75EBCBC890C8F85E21D6069C91006B0350065806CC188E5409CCA",
-    "section_salt": "9E38512BAFDF12A3783C75D6C694F627"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95BE8BAF31EC4BB917CC3A2C7FB03DD4",
-    "aes_key": "212A4DB3EDB93B86E38661EAB32D3899",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 657
-      },
-      {
-        "contents": "46CD03FCCE18F7504C5C855CF189298CB67858A974ADB18500437642",
-        "de_type": 190
-      },
-      {
-        "contents": "3676B5CE1A207A",
-        "de_type": 142
-      },
-      {
-        "contents": "28383F354FEADE799572E4D15C96B4F6F0",
-        "de_type": 145
-      }
-    ],
-    "encoded_section": "7790135ECAF5AAE1BA1C64EE01424B51C2867D911000CDD06ECFAAA6F2401AD94229ACCA991590048D658DFC9B60B28E0997C8D85E975BA9D0B823487BA20A7C004379A82C97193F06260554E7B6D51C198EF01120BFD7284EC9963828D910D83D90812C2772E3357505FAC4036F483231B41124A3A8DBF2",
-    "identity_type": "provisioned",
-    "iv": "4B39E2AC421BF39FF32CB77ADA2A7923",
-    "key_seed": "653C200BFC98321AF11AD97638B4088CDF44F10D20996A2E39B6AA52628D81E0",
-    "metadata_key": "9328E95CDBAEB26EF1D330AB07A34FEC",
-    "section_mic_hmac_key": "10D58DADD334BB6D030EC8703174E882455E4C6626AA29BF6032013EB5CCAC41",
-    "section_salt": "CDD06ECFAAA6F2401AD94229ACCA9915"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7A7BC9104E4F6277DB44B83EC568D7A2",
-    "aes_key": "1E4B737CF0D3DE9B0AB7B23C62E19000",
-    "data_elements": [
-      {
-        "contents": "82C5DC605CC0B0C534A07204CF6EE9800C258F5876A2BB4D67BE97FA",
-        "de_type": 53
-      },
-      {
-        "contents": "0BAA5558",
-        "de_type": 865
-      },
-      {
-        "contents": "",
-        "de_type": 15
-      }
-    ],
-    "encoded_section": "5D901316F449431385886874B56F21C6EF076D911000CF9BB4939F48BC5B870C1274DB7FE0EF90029BCFE0E6FB66D97C97B97146DC9923FF872C1C82F9E6D58075046BD6EAAC9BC620B1087C9766192D38AA2B9B02D703637EF7434C1F95",
-    "identity_type": "trusted",
-    "iv": "5EDF27336329967B430B8BBC6511B3AF",
-    "key_seed": "6EEA708F4D7A23E95A290D0F7C7C2C1FABCCB06E2BEDDAB673FCF52531CB9949",
-    "metadata_key": "D58071E30F1F4F280A52547C0D940B6B",
-    "section_mic_hmac_key": "748BB640722F4197BE2AB67B25D10B13D0463BDA9651A7A09D072B29B678034B",
-    "section_salt": "CF9BB4939F48BC5B870C1274DB7FE0EF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6B2784661C35BE0A3E429A2C6964C55C",
-    "aes_key": "B7A7DD23E0BA11F990A724517482CDE2",
-    "data_elements": [],
-    "encoded_section": "379013D9B173EADBD3B3B83EFDA96221945EF591100013800CD344B3A2AE1F5013E1DFAD3CB090046474715969917E830F5BE55D47CFF831",
-    "identity_type": "provisioned",
-    "iv": "4A91BFEB38EDE9B000D0E68B1789117C",
-    "key_seed": "4272E95BD5A3F9E55FCAF98D88C776F3F43860BA57169089F0F43923F9743AD6",
-    "metadata_key": "D5513C47ECE8FC6A0544F3F67055C101",
-    "section_mic_hmac_key": "34C33FCC3774716A479B5A1B646C375BB563B045C8E1B020594E0C6CC637B402",
-    "section_salt": "13800CD344B3A2AE1F5013E1DFAD3CB0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "129B711CE9903C07E3C79E0C66953083",
-    "aes_key": "018DF0C4092B2887012CC0E3FA06138D",
-    "data_elements": [
-      {
-        "contents": "36166C05E659A86C25318FF5",
-        "de_type": 486
-      },
-      {
-        "contents": "C9113E4284307544D5452CF918",
-        "de_type": 207
-      },
-      {
-        "contents": "113DF414AC6D1ED5005B46712D2C585BDC195F836C545B4C9D63B8E3F7",
-        "de_type": 59
-      },
-      {
-        "contents": "DB7FEE8E34B1106ECFC83CD95F05",
-        "de_type": 278
-      }
-    ],
-    "encoded_section": "8690132D01834FE1F90892354A8D60F469D69A911000723A408BDAF7D502315A69861DBE19359001E5557F8FFBBA84A06E145068D2B755EF7C628F44909A90F69A26ACE41CC47C7A5CDB5ED9276B167EAAF20B92CBE3FDAD487F587119D70BC069CFB0709ABEDA42D6C799F4BAF2A0FE359CC18BC2C8CF16937F30BD382B6D5EA6590E94366134",
-    "identity_type": "private",
-    "iv": "A804F89694F4348DE72BE6DA40146DE2",
-    "key_seed": "3A3D0F62E7DB4E7B35A2BED010905C168A5BF029F93487B4B70FE06DBFD8F336",
-    "metadata_key": "6A4DECAE9A088A4100B25933DE8CE454",
-    "section_mic_hmac_key": "965B4BFCCC2FB9473AB9E3BCC41A5DD7C74311C9A8E54F6E59D7644D2686388F",
-    "section_salt": "723A408BDAF7D502315A69861DBE1935"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E0CA1AA3AF1191E3819741B3DEFFAFDE",
-    "aes_key": "1D5E8EDC48783BA37E4B1799FABB4ABE",
-    "data_elements": [
-      {
-        "contents": "7FDFE51E7ACA9FD4E4D768319A58337D53CDE7B59C0C13D39C91",
-        "de_type": 315
-      },
-      {
-        "contents": "066D6DC387C291",
-        "de_type": 697
-      }
-    ],
-    "encoded_section": "5E9013C567A94B8DEB58041FA6003F6984B55E9110004FA8AEFE32E28F03CA08C323146179A8900481AB869FF38C4A4AC07EBA8593D4078D298254845195108E6EDC6A46E534309A92E2C2EE6B7E585F2F80192B922F7A1B1E27205153D5A8",
-    "identity_type": "provisioned",
-    "iv": "1A49425E07C48D0C622000F534815E10",
-    "key_seed": "E3A4AC9730A13980D92CD512ECA0E6FB9C005C05DD4EC6CF1B16AB10BE9BF0EE",
-    "metadata_key": "6EFD60E02792E27FF514484A55667047",
-    "section_mic_hmac_key": "D1E5D811FB30478207868A6B7F75BC379740BC5FE2D67928A9BF1C27287F5729",
-    "section_salt": "4FA8AEFE32E28F03CA08C323146179A8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4370155ACF139B1128FB84304A5528CA",
-    "aes_key": "2F204AEAFF274885B403599787146CFF",
-    "data_elements": [],
-    "encoded_section": "3790136E72A2B54E54872677EB0711B10EC0F6911000CD2155E85F2D8011E7CC8A841B84663B90043BD0BFF11972D8A321CC2FEA6CDD5D3D",
-    "identity_type": "provisioned",
-    "iv": "5899873C8E3AA02A04117D7944F99F79",
-    "key_seed": "9117DBFBC2B7828BD194A841123189D3EFAE7883292BE6D930D5DC654DE163E6",
-    "metadata_key": "2A711976FD8AA71BA52B4E0C159B57EA",
-    "section_mic_hmac_key": "E62B18C7ADA86D2F488DFEB4F44226604EBB71CA197B52611CBC971436E4F416",
-    "section_salt": "CD2155E85F2D8011E7CC8A841B84663B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E1396C2167C2EA23035DDE7F637A22E7",
-    "aes_key": "DF1174BCE2216174DB0591EF868BCC00",
-    "data_elements": [
-      {
-        "contents": "C47031946FBC56732583D99C55B6E1B7521BF87FD7",
-        "de_type": 142
-      },
-      {
-        "contents": "BE62881EC8915D5545B185E4",
-        "de_type": 854
-      },
-      {
-        "contents": "847F051E569E3050817AE714F1CFBC836A",
-        "de_type": 460
-      },
-      {
-        "contents": "F5A734560E04909565F8EE8D110FCF79CCE8441355DB69E248324AC1648B",
-        "de_type": 674
-      }
-    ],
-    "encoded_section": "9390137EFF576731E303EC0E67FA37528CF42D9110009AF304AEC06D6F647D0A6E7F9496F1EF900287E198A1643D026A2A57FB2CC6BB455BD96E7BFFA40AE2E0F9BFEBE079F650D4D224D6E94A45361D5E07FB6B1F607E183CC2740C4219AB4C920CF3E07894945D049586FF2C414ECB417B5A09BFFF01767922EDE5660AA194C03678B4956DF45C18C6D98272A2E20FA9C89F2B",
-    "identity_type": "trusted",
-    "iv": "2F57A532E27C6BB9EFAADD309841DCB9",
-    "key_seed": "F1B9E7ED359076DBA893F8BCCE52A92DED14DBDBF49FF9AC463049AB69D6E69F",
-    "metadata_key": "C2681503C3157A0ECA4ABF5BC029ADC9",
-    "section_mic_hmac_key": "2533F7CA4EB0FA17F8F5EA530CFC482EFDDF3E7E17C7634BADAF773AB0FDC314",
-    "section_salt": "9AF304AEC06D6F647D0A6E7F9496F1EF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C033469A194C17D236D3799F6F810289",
-    "aes_key": "D583C2344A2A9FFFA466F6636DEDCECD",
-    "data_elements": [
-      {
-        "contents": "ED3C30FB7E039894503CCBF3372AE73F62E6BA062DC86BA80D5C",
-        "de_type": 321
-      },
-      {
-        "contents": "56A50CF71ECD4A4D6F8C657A3ED1044F4EB9E8ACB5B67928",
-        "de_type": 329
-      },
-      {
-        "contents": "5C249B18B1A02CE7C5E369D4768F374C94F96FB97EF7E20C566B",
-        "de_type": 781
-      },
-      {
-        "contents": "11914865B2C8E598C7ED5BDDC4009B7552F7B8",
-        "de_type": 392
-      },
-      {
-        "contents": "5E8574C9496DB164C59CBD836C60",
-        "de_type": 421
-      }
-    ],
-    "encoded_section": "B39013058AE9E776265CFBF3FEA5B70CE54268911000FE248957483BBFB171D44B82FFF83FBE900179E4BBF07C901D822A2D5DC2540F5D6B7B32E8150931481CA5299DDFCA680E80EF5554527CF0BB2A857809C703A7594CF02E853D3A713F1C5729A4B37493F64998A0DCD4526C5E1618DE6D16B4307D7843DCFCA192300FF4756FC138BA4B2E157A6D2B5EBEC21DB497053C9717F18250C715CA28DA39F9C1F0C0FBC213AC70DC09308014136458565B01A59E",
-    "identity_type": "private",
-    "iv": "2BB4BDD29DAC7BF3D31AF7575D4373BC",
-    "key_seed": "82E084D15CD7B6C70978DE7DE19596B673CF3EE29A36A32B713496FD67F6F0A7",
-    "metadata_key": "ABF22A200F57CB114D5BEFFD477200A7",
-    "section_mic_hmac_key": "95AB213F52D4E447B6FA5CC544650DDEFB78F285502122175C2F5A103EAD2243",
-    "section_salt": "FE248957483BBFB171D44B82FFF83FBE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D9B6B1F0A69B7B9FE27E8F80069567C0",
-    "aes_key": "C84D0EFD9E47A5D90640A9D7088C5021",
-    "data_elements": [
-      {
-        "contents": "09E6F8330E760D01400A2CFA",
-        "de_type": 572
-      },
-      {
-        "contents": "D2B4",
-        "de_type": 911
-      },
-      {
-        "contents": "761F7E",
-        "de_type": 72
-      }
-    ],
-    "encoded_section": "509013BACCDFD8DB04ECC45DA02B6F1463200C9110006BE4250FD8E960F073C28F3C812DD785900480B27E5A6720404EDD1A03BD7FE9ED984422FE604E77EFA797683D4C65FF1848E25775431C5CBC0D0F",
-    "identity_type": "provisioned",
-    "iv": "568C52B6699A1EFE8632D2AA7CA08F1E",
-    "key_seed": "D80152B000A2814B443ECCC3D861C7480435D9A4AE7C76B354627BE49B903022",
-    "metadata_key": "235F082A46F70C6D07D056CD8302E590",
-    "section_mic_hmac_key": "77249D32B9918E829AB8EE9AB7F1690521BFE9444D8E1C6631D0F3CA0E7A97B0",
-    "section_salt": "6BE4250FD8E960F073C28F3C812DD785"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9622F4D79E9333730B78B9BC45D018D8",
-    "aes_key": "EBB969EA5208D59DC720981E0D7165B2",
-    "data_elements": [
-      {
-        "contents": "8910331A35E52B5CEDF5475C",
-        "de_type": 49
-      },
-      {
-        "contents": "C44C8D",
-        "de_type": 1000
-      },
-      {
-        "contents": "58AA13",
-        "de_type": 182
-      },
-      {
-        "contents": "FFA1715C6158",
-        "de_type": 988
-      },
-      {
-        "contents": "C738C7E2",
-        "de_type": 195
-      }
-    ],
-    "encoded_section": "6190131EBFEC19E821203A81CBA5997277B45391100018A3D32C6D68ECCE86C2636223BC415590041D5D7AF03942C18470CD2FB24DE76784722AD38725E712ADBDF3C681731E6A071438027266CF94D0DCF8B6977AF5EF09433D569ECD90BDC280C1",
-    "identity_type": "provisioned",
-    "iv": "2E0E4A900067722E740C48782D2727F4",
-    "key_seed": "34CA6A5E14C31E2B58FD467CA282371F135FC0E6488219FEEC3D194361416ED3",
-    "metadata_key": "1534AC915B12F7B14CFEC07E905B70B4",
-    "section_mic_hmac_key": "D1B3305F817AB4E6EDA0079FF3B8CA3E7466641381F5D38F31D4DD6336A97C42",
-    "section_salt": "18A3D32C6D68ECCE86C2636223BC4155"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B456A45D23A5C23B3FC7D4FCC2E17915",
-    "aes_key": "0793945D13EB6A7D4F00A59FC158C557",
-    "data_elements": [
-      {
-        "contents": "AF",
-        "de_type": 339
-      }
-    ],
-    "encoded_section": "3B9013DBC90F36C9F1FF8E9371E022326D96C8911000D1988E9F53E270167134FE84104498EE9002A2C66A9C2629C64B6F3CF8EA1BD17FA32F63DD11",
-    "identity_type": "trusted",
-    "iv": "B44C9675A36625470E2D7A5A381596E0",
-    "key_seed": "5E555C4138D5A22C3A975EF93D7C88FBB90B32618661D9EF2A66B14E19E1169C",
-    "metadata_key": "81744A6BBE8C683D7D720AF41783148E",
-    "section_mic_hmac_key": "6E96EBA658E9B9630FC00A38353E4B124102370FD3ED8183ADF0D746326AD0EB",
-    "section_salt": "D1988E9F53E270167134FE84104498EE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "865DB128D0ED615465C4AF33ED747467",
-    "aes_key": "83F6665949CEA0499C06623CE213A83B",
-    "data_elements": [
-      {
-        "contents": "648059EC9A6D7DBA28F98FAD7AEEC6532CE97E6BFF447DEF",
-        "de_type": 114
-      },
-      {
-        "contents": "6E640399BB35A3B4306409C94E87FC01",
-        "de_type": 668
-      },
-      {
-        "contents": "A93CB545FAB30A4742664D4149",
-        "de_type": 830
-      },
-      {
-        "contents": "A3232B62A0E5C5AF352A143BAAE7C285A135A7D4EA5D61",
-        "de_type": 853
-      }
-    ],
-    "encoded_section": "8E90138829246CDB07510CF107652C06222C6E911000668D1D8BCC2E706445B18633C2B2A6E99002285B7692049B38967A46FAAAC9E3B962F961FE806B1FF948E425BA1A82F01DCC601E4AF2000370385A54669989A6D2845E984A850B9FA9FBB5CEA3A4FFD736DBAF48FB432EE5BB8D3F696604B4E133E0543D383D46966C1D47265E1EAFF9FB5D9EEC945343CBB6",
-    "identity_type": "trusted",
-    "iv": "D300ED57F1F0333ED617F9A48A54D00E",
-    "key_seed": "E8CEAB1757CFB2ACB155DD5BBE2A45EBC383B29CC512CD445BA0D4B323F3D50D",
-    "metadata_key": "BE82E42542AAED90F4D6ED5B276C9865",
-    "section_mic_hmac_key": "21EFE7D3CEC8D334C1F5CFDBE2EDD1E3F9B164D8949D629F21348FCFFE479B3C",
-    "section_salt": "668D1D8BCC2E706445B18633C2B2A6E9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7C9D65E47B5C2E0CFA5E700CAE8565D3",
-    "aes_key": "9652732429DBDC4E2E1991C0C86D0399",
-    "data_elements": [
-      {
-        "contents": "603A05EB6CDE557F2181CE8F5C8DE566F7AD9A4EBEB2",
-        "de_type": 755
-      },
-      {
-        "contents": "916FD503DE6BFDA7FB44FCAC3AC2D01E5F9737401235A13BC3965C9660",
-        "de_type": 197
-      }
-    ],
-    "encoded_section": "7090134C8A120B8D74F21503A3F4A924CDC7E59110001C3CF25827D6B07C3DA29410FB3E65889001DE17683402ED39894A9F8D8D73A1379C3177626B72CC7E228915BA9E59842F22EC52A4F12DE1C87B505E41B7F197448F7208E9CCDE7B332E7362B1EDDA249FEA891DA5E428BA7F3B8A",
-    "identity_type": "private",
-    "iv": "D9839CC6B5FA3B7F43F0359AAB386887",
-    "key_seed": "048EB4D544BC85B8026222BB3BF8E829BA5A1D9732B000747C831471D8F584F2",
-    "metadata_key": "98B4B953B6639A1E2E9C264A98BB0247",
-    "section_mic_hmac_key": "A84D8352E99395F20F3B254C761D0647E4CE0D0F5E731F1F02A32D63F721B4E5",
-    "section_salt": "1C3CF25827D6B07C3DA29410FB3E6588"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "396496EE83B2146F12878D5AECFA7945",
-    "aes_key": "701449FA0ED699CB50D88C55F912595F",
-    "data_elements": [
-      {
-        "contents": "3D46DBD04F9E743F41453ACAF24A",
-        "de_type": 797
-      },
-      {
-        "contents": "EDA9FF21CF420BB69ACDFCB00E088703575C",
-        "de_type": 220
-      }
-    ],
-    "encoded_section": "5D9013ECEDE0D46A9124E3C806AC962EF9EC6591100037B25A8B910D21BEC099277838BE0E4B900425DE05F6E9A7D84E24D37D2F7A4307188B1F1E4086A13339E08BB3FD2EB4347B2C3063C09619BEEB61AC53A22B95FEF1EE53A1B8BCB0",
-    "identity_type": "provisioned",
-    "iv": "04D50AADBF5216FEE365473AC14EFF04",
-    "key_seed": "4ED429772F3805E33E327BF674F122DB7E906C7295C6094808E1E775EE2AC748",
-    "metadata_key": "F5BB3CF730A57E58B11EAAB014887EBC",
-    "section_mic_hmac_key": "8B6143DD499724FE80FF2A1CD6186E62D7C8D583265147D222D13BE276EA5B76",
-    "section_salt": "37B25A8B910D21BEC099277838BE0E4B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7E8AE3C9278DEAAB44A0549F62B2AF72",
-    "aes_key": "BCA92DE9B6063961D1F84ECA0C7F6C93",
-    "data_elements": [
-      {
-        "contents": "2CAB785B1AFCD27B65CE80FDD46ED10B10290AB73C307F67EB",
-        "de_type": 542
-      },
-      {
-        "contents": "C74E88BE9C94",
-        "de_type": 979
-      },
-      {
-        "contents": "6DF7B3CD8E17AB4EC4BC118E66622D75",
-        "de_type": 321
-      },
-      {
-        "contents": "23B264B671089BF640B146674E",
-        "de_type": 287
-      },
-      {
-        "contents": "D8526CAB4734644BBFB165AFF944B3DE",
-        "de_type": 396
-      }
-    ],
-    "encoded_section": "92901352EDBA6D632939142BBC95D1B5F6F3B5911000BFF4B3C12EE83E3D7E4D8D334B07650490047DD8DD4231311B1DB06638CBB34F60AB25275FFA10D6C82C325EB5607166A808122420D469489946DD0ED9FF8011AA5F665A5BD3260D64248A48EE3C212CF15EF03DB424536E1AB2CCE9826A89CC0F597C747787A078D98D614D33A71AB3BD1A8F06E6A85EAD38875BB7B0",
-    "identity_type": "provisioned",
-    "iv": "B2938060C2FB3A233E0B0441629A5D54",
-    "key_seed": "A9C66A81FA32BF7736824A6052703C683CDAB0690363FEBB064EC5BF5EAE2D85",
-    "metadata_key": "14F59D0003905680A8E6A3F9F03710EE",
-    "section_mic_hmac_key": "D34BC3D1F158A7340C574C280BFF773A087BFB40DA47AD5C9D59781A5CD6B9FF",
-    "section_salt": "BFF4B3C12EE83E3D7E4D8D334B076504"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "58D90C3496D916C45B1F9629D196FE3E",
-    "aes_key": "3F254DF7C078D8B9BE085F49D44FCE1A",
-    "data_elements": [
-      {
-        "contents": "DAAC6DB1",
-        "de_type": 269
-      },
-      {
-        "contents": "20B5",
-        "de_type": 92
-      }
-    ],
-    "encoded_section": "4290135841F4D3C484D6F0F42B623604D620519110002E6A604207A7F9600BA8826B040124D29001A9A00D43983AEF2049A5CC3D6139B73A1FC6DF1F28DA3B526D64A3",
-    "identity_type": "private",
-    "iv": "A2F7257D7DBBB78925E177FBB9F3E6A6",
-    "key_seed": "5D9A4B660496D7408099AD3AF204A372D5E1B90B5DA37B518FABA1FC72EB29ED",
-    "metadata_key": "E483E747549C5E8FF2E43903A508FF7D",
-    "section_mic_hmac_key": "006E79B19C1D3EB14ADA776B34A4D7601ABF822FD8E69A1BE6F354245E4FEF69",
-    "section_salt": "2E6A604207A7F9600BA8826B040124D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2EA5530CA0FDCA0E3D26F54B36C63756",
-    "aes_key": "C944C8581944D3A7B2145C20572A48BD",
-    "data_elements": [
-      {
-        "contents": "87",
-        "de_type": 543
-      },
-      {
-        "contents": "624BD963E5CD706B8CEA97FFE4F19FEB72164DEC299F657830EE771F40",
-        "de_type": 38
-      },
-      {
-        "contents": "1F73",
-        "de_type": 693
-      },
-      {
-        "contents": "0E690425BDF2F9697C793C79D9A4B31BA621D37550295D8DEA1650",
-        "de_type": 455
-      }
-    ],
-    "encoded_section": "7D901303D613B4D65DBD34B0C37617F6403DAE911000A90775A9B65F4CEC0DC078F9EC5AE2EB900165055500DB14C4C9DF1475CB2947DAC616B755A1DC498623CBD1E5876A143201343233A2795172250398353EA567A343F7545CFF7D0D47CC7FA7C78040C5AD20AA8A802F2D5931EE0C69B984A697B56C19A71AE99BB9",
-    "identity_type": "private",
-    "iv": "8CB642644013FC19152A421C7AA99747",
-    "key_seed": "160F89D53618D964B47995A7DDB753A8A5E48A1C3252E469E57AE50C1CAEB0BD",
-    "metadata_key": "5CE66B8C2BEE9225C1AB9CC4C80A166F",
-    "section_mic_hmac_key": "F22F3AB674F0F89BE488643EF7D0AF9B0DC35E89EADE13A9D1563250970962B6",
-    "section_salt": "A90775A9B65F4CEC0DC078F9EC5AE2EB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1D51D1DA179BF1915279BF30DE1F4B03",
-    "aes_key": "BCEBEE8528219B39A7950E3D66C9B154",
-    "data_elements": [
-      {
-        "contents": "50528FD9150AD0773ADB5E08436CAD30C30FDA",
-        "de_type": 592
-      },
-      {
-        "contents": "C44A41",
-        "de_type": 561
-      },
-      {
-        "contents": "561F383B33C5EEBDABBDA184A1A4605A82",
-        "de_type": 814
-      }
-    ],
-    "encoded_section": "67901398BBC302C18E49799FA9EEBE11B8FBF1911000C2261F071C3C3CACB7699B63CD49EA1F900142DF2A9BFB0F1A01DEC1A14194866B92A2374755F6DFC853AD50A93FD547E6BFE9FBDEF421A6A18B3D882669EAAE1E4A4C4379BF01D5B44003CA2A66BA38CEB4",
-    "identity_type": "private",
-    "iv": "E7FC9AA29E2E9B3025EF3BBF9D18E508",
-    "key_seed": "28CCFC888CCB929D63843492569B71440F998A36D7F006F7E724F777B5B6EBB5",
-    "metadata_key": "AEC3202A86B1814AE764DD7C97BA19AA",
-    "section_mic_hmac_key": "7443E143DD31C1C97B1BF6E1932D9FC76E5796BE5D2B088062FA5958F4E2ECDA",
-    "section_salt": "C2261F071C3C3CACB7699B63CD49EA1F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B33B26F42720F3F275CAFFE124CD7B60",
-    "aes_key": "B6BF74F4EA862207D56E4B42492C3CF5",
-    "data_elements": [],
-    "encoded_section": "3790135B9259B281BE3914623875BF9E184F98911000C3391346E87D492348FBE56098116AF89002D57C10A9667412E9067FB677AB7A26CA",
-    "identity_type": "trusted",
-    "iv": "45217E0F0C06D7B7918C468D9F0CF490",
-    "key_seed": "175D317E4277BD3F2EDC5F019D5EE8617624648F818058FBA3D605EE3666DC14",
-    "metadata_key": "B92E7217A6255FD283368724DAC465DD",
-    "section_mic_hmac_key": "CB3E7306030B4707AAC625998DD40082CB446835BED1A2B78DE401CAEB39D842",
-    "section_salt": "C3391346E87D492348FBE56098116AF8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "872CE0191545242D5BF00528AB6C7091",
-    "aes_key": "8032D6560A386D2B603442FE39BA3C7F",
-    "data_elements": [
-      {
-        "contents": "629E6EF672C12AB58DE63B36856CF2EA31E8B9AB20",
-        "de_type": 508
-      },
-      {
-        "contents": "74C4F6C190C2",
-        "de_type": 354
-      },
-      {
-        "contents": "53C627E2262407A36E657CB2D4BE0F4254F68754752D7F76EDEA38BEB0",
-        "de_type": 585
-      },
-      {
-        "contents": "9FCFCD14189045E1EA71527C23E0",
-        "de_type": 36
-      }
-    ],
-    "encoded_section": "889013BA20D5744F0A5B0D208F3FE3875B284D911000FE0E258981EF48CE93EBC213AF3008509001345EBC4DB96528D67C20FEB41E9D7546D0146497B05D4701A172C2B41AED376F0450242A7F99BE6C14749DC04AAD3C3F2FA1E2531C1B7723D1D8651D0360252A83CC256B1001FB12EA9977FBF620BF8D461649F3F0171A3A457F84660A0B61CB9F",
-    "identity_type": "private",
-    "iv": "B31619F16E2A96F0C1834F1CD39193EB",
-    "key_seed": "9B06F9933F5497ED81E7115DFADFC68121B611E0AEC678B4DF8DD3CB4BAEE49A",
-    "metadata_key": "5C8F5F80BB667FAD70D156F07AC0C375",
-    "section_mic_hmac_key": "98FAC07C93E48317E374F2C0AA92E9794BDCE4C9323684D245EF332F0A032D28",
-    "section_salt": "FE0E258981EF48CE93EBC213AF300850"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "086B1E981485B9E1899F0EC60EB9E83D",
-    "aes_key": "AE86A76940D9517BC921B369256E4DDA",
-    "data_elements": [
-      {
-        "contents": "E0D97D47C6C09CD6A1DB96F46DBBD02BB351713DF1F2B0",
-        "de_type": 882
-      },
-      {
-        "contents": "FC3BD546F065A256DC995A5FD110C59F231A47A65CAF7020C7D582E0E6",
-        "de_type": 867
-      }
-    ],
-    "encoded_section": "7190130F2D843A93FC1F1CBBECF81D2A1C6FC0911000495249EE8F8F7ECDCE556774EF54D8B590045C25EAAEDA1187C4C0786320BB35C0FAB443CF096A783348E054BD52DE5D813AFFC6E9E04F9119B64BFDF45ED2D9C410CBDD53B9E6B0056F89AEEAC6702F71FF0F1A03E872EA10D42028",
-    "identity_type": "provisioned",
-    "iv": "15CA63A0FB423A4345E9E1C6B9A5702F",
-    "key_seed": "3DDFBC62D50D8068946200951BF0019D32100459E073453DCB6AD714BBB239B8",
-    "metadata_key": "88E6A925FF482DFDBEF5286BE14362E0",
-    "section_mic_hmac_key": "C0AAF2B1691A87BF9585A47B1C43F73D15657247D75AA873CB27DC2717A16956",
-    "section_salt": "495249EE8F8F7ECDCE556774EF54D8B5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4AA9E6490E510E2078D1C0C3C39A8FE2",
-    "aes_key": "00B42CF723FFB9E400D6E279979133A7",
-    "data_elements": [
-      {
-        "contents": "7EDDDB47C2233581E9E08E",
-        "de_type": 172
-      },
-      {
-        "contents": "29FF84",
-        "de_type": 411
-      },
-      {
-        "contents": "465EEA463E31B716E8F836EF7AA2F4F3841FC0DB6397C2",
-        "de_type": 297
-      },
-      {
-        "contents": "E547C85EC74056696A",
-        "de_type": 916
-      },
-      {
-        "contents": "115F4417",
-        "de_type": 682
-      }
-    ],
-    "encoded_section": "78901348721D68E725F93B39C9A8583F2A65179110000941A104B100C80468194C862B7044DB9004D6BDEE7AA257D998A85D7415504BF0A40A6748CBF0B55C1EA5F7D5D2B9D0D48052FCE5A679E9BABA967262CE798ACF31397983254EF161DCCAC8789DFD88D052C33592CA3682E9DC143104E4506C0CF0F1",
-    "identity_type": "provisioned",
-    "iv": "F9428E5DFFEE82FC83DA408FAD488BA6",
-    "key_seed": "DC69ED874663A6D1321BD38B4FBDE1469EF8033DA98BFA2ED613C62BDEAC381C",
-    "metadata_key": "EE6FDA87A6449B99DB62777CDAB5A388",
-    "section_mic_hmac_key": "E227F098FB6C323970409D263B84AF7F8CDB64BA4D5F13DE8AE304534DE8B2A1",
-    "section_salt": "0941A104B100C80468194C862B7044DB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AB93EA96A6733359BAD13F6BBCBF7B61",
-    "aes_key": "A52EF583D412622DA1C23480D23A385D",
-    "data_elements": [
-      {
-        "contents": "29DB99B161DA96A74C67E613",
-        "de_type": 62
-      },
-      {
-        "contents": "714F915FE037AF3F5CB8",
-        "de_type": 420
-      },
-      {
-        "contents": "06F14F79DE3048918C71D3",
-        "de_type": 843
-      },
-      {
-        "contents": "D522C29C",
-        "de_type": 635
-      }
-    ],
-    "encoded_section": "679013C6C4FC258307EFA7BCB4439224E74253911000AC7EDAD03EA393EFAE096E5CEFB2CE65900449CEC3FDE6A1D76BAAA872A48CDEC69967A588F62B2BB08A7F9171FAAB1DC49C863FEBEFFCBB817EC29D18DE97FBCAC780743BC6A83E9B5F508B25EC0E51EFFB",
-    "identity_type": "provisioned",
-    "iv": "51A074E8F49F530A81C6ECEA74E8CDCF",
-    "key_seed": "1522F314EAA2926513648D2B83271A75BFEBAAD5387061BE1230F1D8EDC66652",
-    "metadata_key": "E758C77E18404342F1376AC800912CDF",
-    "section_mic_hmac_key": "0F67209BF8099626E6B190676AA37C880BCFF6FB3276D2F9E0A831DB10E4781D",
-    "section_salt": "AC7EDAD03EA393EFAE096E5CEFB2CE65"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "095CA3F2D80C77F0418F84F670BFE4DD",
-    "aes_key": "E98006F8F0DBC0CC557E88A28C8BFCC2",
-    "data_elements": [
-      {
-        "contents": "42DF097BBAED32E65BDAD093BB844FF43E4AC0350B7936287FD513A3",
-        "de_type": 462
-      },
-      {
-        "contents": "856C428A8B8613E12BEDA66CC0B14F80E4AE91625DFB55",
-        "de_type": 846
-      },
-      {
-        "contents": "5722372800A0436D655ABCCE6E1AFC666D996774BB8F5749633D",
-        "de_type": 434
-      },
-      {
-        "contents": "B4",
-        "de_type": 989
-      },
-      {
-        "contents": "17C86D",
-        "de_type": 843
-      }
-    ],
-    "encoded_section": "97901310C6A1E0973AA6302F83F5AE781EF3479110009D8967ED6923306F238BB3006CDA188D9001041B76BACDB753CFFBE885494E2B902326FCC7B845B95EB51BF31D16FDB3B8F1A31165528F6B88DC94C53FD7BE2034E003BD25E0258E27874EC2A30DEF2CB678D1D2B3155A6801CF086B3CC55E9777C651643D5ABC9E09397E8760C20DAA9749047403B15F28F2ECE9504BD5E926697B",
-    "identity_type": "private",
-    "iv": "8BD95493B557D0D6BEE013DF112FB494",
-    "key_seed": "37CBFD8DB4C74643FE9E7DB197BCB40CCD42B5F18E9F2B7D992F3E85FA23E11E",
-    "metadata_key": "FFE4710FD8DE1B837916E1876A10EA14",
-    "section_mic_hmac_key": "51F1387A1CD7B6E8FA54715C4D49B041B88B1EC083BFE9196EF4C3159ED8B240",
-    "section_salt": "9D8967ED6923306F238BB3006CDA188D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D627C02EC7A9E006CB069B3BD4087015",
-    "aes_key": "DE628F5616A31A91575202E224BF8654",
-    "data_elements": [
-      {
-        "contents": "CE3B7D68CEC6826B",
-        "de_type": 768
-      },
-      {
-        "contents": "4B98C12698675C54D6BFFA3284320DA49C",
-        "de_type": 307
-      },
-      {
-        "contents": "6C472F7D1F024972817EBF5D9CFBFDE075C093A2C147460E4E34407E78",
-        "de_type": 501
-      },
-      {
-        "contents": "01D2ECEF31D5DC0647092519E4B01200DC",
-        "de_type": 579
-      },
-      {
-        "contents": "6E88C150DDC8756487059C8509B830ECE39A6650B9A50E795E96C8E48B4E",
-        "de_type": 7
-      }
-    ],
-    "encoded_section": "AA90130868EE3BB2CC54975E92D446C82484A1911000973274E6978EEB00588121FF8F3D27239001954DEF19883BF50F4EC920B26896C66CA5E39D8CCADCEC933FEF576ABBF18F03128EC12C963F80262C6B34F00F850047928D6C145AC20B109AFECB4CF1964254EBCB825846E26C4C1F9D25B68B86955F4AB0C176BB905BCF2DFFD31CB7DF833FEA3BC9FB1E7ACA47E0A4F2469A3DF5AC4A4182C1E20E84EE649F09FDE92FDF7B4DEF91",
-    "identity_type": "private",
-    "iv": "6917AB8BD905BB352E8079F1F88931DC",
-    "key_seed": "DE1289A8ED8D1DF4BDF85AB82ED562ACFFA82F00634CDA0A87DE125DC862B0DE",
-    "metadata_key": "DB5CAFC921FD2A72293660D037EC29B0",
-    "section_mic_hmac_key": "DB3248777D235AC436DD5D78A6601B8391D75E9D13FEDFCC95E5A7EF5E1D5793",
-    "section_salt": "973274E6978EEB00588121FF8F3D2723"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95C2D7868282E5790EBDDCC89759B4C1",
-    "aes_key": "CD7F86C35D2BD47F9DF1F0929CDF7123",
-    "data_elements": [],
-    "encoded_section": "3790138A13FBFBECC148589176B2F090064A779110003FE8296502CF32A8202018AFC04A52159004B1DCE781C276A9FC00F5380DC9399063",
-    "identity_type": "provisioned",
-    "iv": "413A5B6B45F312FDF51C8DAAECF692F0",
-    "key_seed": "21C30C7548CC08332F259C493F122582C9D2CE04E2E3F22E715F9EDCB12D7100",
-    "metadata_key": "2AECD34AD9CC88413723844F52128EB3",
-    "section_mic_hmac_key": "D31EB890A1B0AC8F46E70771ED9F20D0FA173F33613BEC221A9502FA131B07D3",
-    "section_salt": "3FE8296502CF32A8202018AFC04A5215"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E96C90F3BE79939E8784E2DC5B31BDFE",
-    "aes_key": "775282A7208DBB1E7F6605D293E01569",
-    "data_elements": [
-      {
-        "contents": "A40AE87570892CED908675E9B1",
-        "de_type": 353
-      },
-      {
-        "contents": "C003",
-        "de_type": 516
-      }
-    ],
-    "encoded_section": "4C901368AC6D32D83AE84E55E96F8D2AF048B89110001B662351BB4DEF5C1AA42CDB493A8B36900133373940E3DE0962AAC26099DEF282AEE69427FEAB5A78CFC17FAB668BE3863DD7E13207E5",
-    "identity_type": "private",
-    "iv": "957E38A6D3C646EF05B80926BAC32F8F",
-    "key_seed": "FFEAF2E7E81186AA1F7546BF64C02F19B713424698C2D27230B0C18D0FA88778",
-    "metadata_key": "76052E1B1E33C77A468457355A7A480C",
-    "section_mic_hmac_key": "171933B371C424F5B76BA421F60FCAF87DDA0B96E37278E25F336724BE96573C",
-    "section_salt": "1B662351BB4DEF5C1AA42CDB493A8B36"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7134809DD3BCC616EC1193B90257A9CD",
-    "aes_key": "4F8BFC75339A3481169241E6142BD16E",
-    "data_elements": [
-      {
-        "contents": "813D3DB42909EEB672E0068FFF5D5C11FF27862ED0A7B49C2DF69A1096BC",
-        "de_type": 368
-      }
-    ],
-    "encoded_section": "589013C03A5C09B42E407DFBEF97C62255E63691100075B3832C1FDAE86E2FC3F936C7FA33E4900412099B1DFDD67635F1F0F5EDA28912BF4EC1876FDDFEF75B39246E62447E0AE9BF9C0D5DA26B1C71B0A995CB31D31E2B06",
-    "identity_type": "provisioned",
-    "iv": "87A512B81D64F5E12678BA49BBE8827E",
-    "key_seed": "56ABD8D2A0121F6B2036F5995FB901C671902708CE8F122F9FA2EEEDA76B60A4",
-    "metadata_key": "E2D1095A39383B17B22D89AD524A2503",
-    "section_mic_hmac_key": "3F04EABBB85B4DDDBC2EE93DB5DC9E5748E086829E0A933E5484A2828309C7A1",
-    "section_salt": "75B3832C1FDAE86E2FC3F936C7FA33E4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "04822A3F914BEB02DE158387544B33B7",
-    "aes_key": "9E61F07423A43898F2B2BD793AE78265",
-    "data_elements": [
-      {
-        "contents": "573A24E1C0",
-        "de_type": 73
-      },
-      {
-        "contents": "5737FA2542C8DA3B14D5AF59E185EC",
-        "de_type": 145
-      },
-      {
-        "contents": "B3D90DD4027492BBD8F6A03869891466D2F7",
-        "de_type": 517
-      }
-    ],
-    "encoded_section": "6590132A1E9626DA0DB9A7149FC698FF5A112A911000A5516EE85A8E5F68A7A20CD1AD0F4D8E900151BCBC864AA670083AC7607F17733752559F4B7A02ADBCFCCF538935D532EA7429ED06742544428A52A88BBFBF205D7E1E16D64EF0449E9F70CB8697AC1B",
-    "identity_type": "private",
-    "iv": "C1B1581BE83D958184B1F20B62878655",
-    "key_seed": "434D7F1E6F20E72E968B6967177C7172E89F20605C6A0CEECB940DED13C73417",
-    "metadata_key": "E31B56FB8461D5D0C9CB4D65029B27F0",
-    "section_mic_hmac_key": "D7B91FDAD07753CB972FCB2300055E27CF54F56F1B5C208126917ACB4B98B40E",
-    "section_salt": "A5516EE85A8E5F68A7A20CD1AD0F4D8E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3BDCCBBD6FAEA4D81F0C38846EDB0007",
-    "aes_key": "2009340BB233CF0120BC7B9D43FF6EA6",
-    "data_elements": [
-      {
-        "contents": "9321C26068C444C77A4C",
-        "de_type": 568
-      },
-      {
-        "contents": "5610C34A4873EE4AEA0D64E07AF9F0805EDB22",
-        "de_type": 616
-      }
-    ],
-    "encoded_section": "5A9013BC4CF26CB67978FB671CC8C30360E7F691100000CCB08A96F8FFEE613C18F090085B059001A1F803A6ECEDA8A6D891CA8D93D521231DF5C635EBA09165E8E53EB8A5577299D4F9BE41035EA3C9E9E43A7CF32D44D4DD7BC8",
-    "identity_type": "private",
-    "iv": "4B3E5E0EC2C11AB77F1B5F0F282B1549",
-    "key_seed": "ED165FB36D9788873B3C2AB86363A5FCE5728FDBFA33798E8242A27ABB4E314D",
-    "metadata_key": "E207E837B797DCD4B7ACB5F58312805F",
-    "section_mic_hmac_key": "C9EED4F111AD3783F9F497CE8EBE2591277DCADF8C96A4E4E31648C62C31154F",
-    "section_salt": "00CCB08A96F8FFEE613C18F090085B05"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4E7FB1A6499207FA6E81670CEB1A517F",
-    "aes_key": "ACBD147D71B379B5788ED1708E5AAB0D",
-    "data_elements": [
-      {
-        "contents": "F33836DB6662BEA48A083FEFB086714D",
-        "de_type": 544
-      },
-      {
-        "contents": "008185A991906A5F1E2F45358097F39258",
-        "de_type": 503
-      },
-      {
-        "contents": "A887EB3A5A5DDD3E234CFD84860E570D769BEBDD",
-        "de_type": 401
-      },
-      {
-        "contents": "7FEC120653B2C2F4430F1D4E",
-        "de_type": 285
-      },
-      {
-        "contents": "6C55DC27D312CEF55DE857C7",
-        "de_type": 614
-      }
-    ],
-    "encoded_section": "9390139C09EE9AF9FD231DE8BBAB6A3006E327911000BB8C90B1631FA5349DBE93A8F8089D829004A288A109B78774698FD5CFD572F82AE470B5DB59FC33E58AA8D84517653DB8FFE57FA6DC1584B21D29FB3B744BC763DEC891B42CBBF2162E5634FD2AF6ABBB98E8A222E1F86DB6E92F9E79613D133EE7324A21F78F9F024EDF1BE8C5CC21A1330DE313169D2130088FA49904",
-    "identity_type": "provisioned",
-    "iv": "4D83F30109D4707667D1BAABF2BA1312",
-    "key_seed": "1CD41F0D8F60C95335ECC8B03AECDA964413DFA25F51950A867F86A91E4206BB",
-    "metadata_key": "CE44E301C09D5B72BA4D077648431CF7",
-    "section_mic_hmac_key": "8607BFB5EA7F4CEEE160990667025D950511D4D909A1ADCBBEB8D6F87E9B2F2B",
-    "section_salt": "BB8C90B1631FA5349DBE93A8F8089D82"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ED8F34826D86C32F70C23B1B7A4B931A",
-    "aes_key": "489A79206A9D1A6778D00DB2A49A6BA0",
-    "data_elements": [],
-    "encoded_section": "379013ACB36757EB46FC893FABF338BBC613D0911000FFBC4E258FF5E9F7D2E3BB3B6B0C03C69002DA9B70F9A96DAAEA10B5DD919D09267B",
-    "identity_type": "trusted",
-    "iv": "0FF0CAC823EC377E5757B4DE2E57EA4A",
-    "key_seed": "D38C6B417FCB3755D9EB0813204623F4D6D15CD26949DFD5639A905C4C58DBBD",
-    "metadata_key": "BA5D7A52C4E2F3B7BE99BF65507ADB9B",
-    "section_mic_hmac_key": "5002DC45274213683ED0C9D8364625DB71326B85DB9B7370F4462D54A94527D7",
-    "section_salt": "FFBC4E258FF5E9F7D2E3BB3B6B0C03C6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7505C20263B4515F9CB242EED923D870",
-    "aes_key": "665A4ED25C48BBCD326496615C99D4EF",
-    "data_elements": [],
-    "encoded_section": "37901355742976F9F16F16C040E5D6ECF4882E91100095564CA7F1E190FC5EE16F47CCF6C23390013538A67CCE880536A01C72FF44A360A0",
-    "identity_type": "private",
-    "iv": "D6BE377B90522E1975AA152F05AC1714",
-    "key_seed": "D1D38E6F7A3C498D1CE230C517F2980757908842DC5156207BEBCE1090091671",
-    "metadata_key": "0A2CF8E7C024A0973C504D339D272277",
-    "section_mic_hmac_key": "A6E7D3BA8BE08EF7DEE3F254B9FA1BA00EAC09FDAE80FB3594A7F45BD20D03D5",
-    "section_salt": "95564CA7F1E190FC5EE16F47CCF6C233"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA8E64EDDB1675A292FB90F2BA2412CC",
-    "aes_key": "30F49692078E22708DC9576A3D30B872",
-    "data_elements": [
-      {
-        "contents": "91F9F257617B60E1",
-        "de_type": 29
-      },
-      {
-        "contents": "926A971187C6A8743030B07C43C7F92AC3",
-        "de_type": 144
-      },
-      {
-        "contents": "F86E6E5010AC0B38CD920ECBA177745EB482C8C550CC55835C0C4B03",
-        "de_type": 855
-      },
-      {
-        "contents": "FAEC19832C3B80EC7D3D54893B7D8A197AE10BEA0942C77B1860E009E784",
-        "de_type": 666
-      }
-    ],
-    "encoded_section": "95901373ABB9225851815BD480DA08FA8E6D25911000229044FA21CC77C05DE710EE2B6D8903900444EA1F1D35B55D569CCBEDA5F7A130C9733885E75A3E64CB291A1FB898AA1D38ADFA7F54FC82C99CAD3FF8BFAF84E1A629EF64CC44C42A6EB46848C1C484521C3DB5424E9A1373A5B6B61E04B4E9D1CDCF8895A83BB87E3A227105E86461B6A688D9017998EF9037C71724622127",
-    "identity_type": "provisioned",
-    "iv": "B50D2E6EAF29D66713CFD26E4684BCBF",
-    "key_seed": "DAF73BE7AE7DDB8534853BB9AFD81B9A0F84990C601800F064E785AC4E655E85",
-    "metadata_key": "3F7EBA8DE8D0F68019C31AACAF5261F0",
-    "section_mic_hmac_key": "6E85868E853E08E194206FFC05E20676767CC9919ED9D83EFDFF045CBDE41127",
-    "section_salt": "229044FA21CC77C05DE710EE2B6D8903"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ADAB88DD84C90EC093A37DBD22747F09",
-    "aes_key": "70E5FCF2EA88CD2F7E195CF371F91614",
-    "data_elements": [],
-    "encoded_section": "379013F3E7199AA4111F9CF619FF98EFE320779110007302B6AB9A8C6635C582F17B5C3A0C0C9004AE7E83243075B04693077AE9E27EB88E",
-    "identity_type": "provisioned",
-    "iv": "4406E6C3D68D6ABD808E34740D9E8D33",
-    "key_seed": "9DE259395C1D23114C8FF35253E3B2FD3FF1CD43FE56C35A9A13636E5A88E4FC",
-    "metadata_key": "2D61B2E8816F45A67189DC8CC7247768",
-    "section_mic_hmac_key": "CE942B542959217EF710089A1AF55AD6422DE8D0E57E67CE9E3A2F71E68C3FA2",
-    "section_salt": "7302B6AB9A8C6635C582F17B5C3A0C0C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "93C14952EC8743C5ABA14B9E3CD2A212",
-    "aes_key": "92A48E1409E79E488DE6F3EFB23E8637",
-    "data_elements": [
-      {
-        "contents": "9B8E20ECDFBA7BD59E1115FE",
-        "de_type": 678
-      },
-      {
-        "contents": "1A875433F13FDAECE0BC0F3DF535F1EEE4B48519A5F09094",
-        "de_type": 456
-      },
-      {
-        "contents": "DB29429B7B5EC416E915AF6199C7799B580C8AF38FDD2CA0B978061857",
-        "de_type": 71
-      },
-      {
-        "contents": "9A3C1C6FCBFA243767F11F699FBB05C45E0B",
-        "de_type": 676
-      }
-    ],
-    "encoded_section": "959013DBEDC73C45241D9A454F0C6A9FCB95FE91100060F06A98234891C9EC864EF4C451528090013CFA5840B3F51C06556DC68F28B66C20F000A26CA532D3E66410933BFE1A27F9BD731DADB297BF8D2410821546727456C472E78C2236559A6A19C98C1112955B8E2EBA08F99CCEFFFB79C84294BF3E110D48EDE4C46AEE3B68DBEF75C21B9E899F1B780153C7BCDCF063698B7BB6",
-    "identity_type": "private",
-    "iv": "7B5C65A46F927A75E810DC5BF783DF87",
-    "key_seed": "2D88999EBC4AD1D16AFB3F6956C25843E701958CE6456DA83F2108CF03D1E055",
-    "metadata_key": "844CCA7389ECBD8B35A9570B59100971",
-    "section_mic_hmac_key": "632ACEA290B0CFD3A4404D9FF8C0544E2D2734358F2F12C62280DABB6A50CD5D",
-    "section_salt": "60F06A98234891C9EC864EF4C4515280"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "31D8F19C7BA1B4815280B53E4C848B73",
-    "aes_key": "F5A28DFA51BF40D655E31AD80FD3A00D",
-    "data_elements": [
-      {
-        "contents": "B835",
-        "de_type": 317
-      },
-      {
-        "contents": "0E",
-        "de_type": 505
-      },
-      {
-        "contents": "87E0ECED60A5F831AD115AE163ACD38DD2334F0C2C",
-        "de_type": 724
-      }
-    ],
-    "encoded_section": "58901345C41F264D52643107E9FA58DBA9B42591100025E0D336AA3C2B471BD678673723E5CA90014031003378B065A86FB1CBEEFA7194AE280FD23FE579BE5DC32DD905686D0E706C6893BA092D4FB7960F9D296026A3EFDA",
-    "identity_type": "private",
-    "iv": "D61308A82CDC546B11B0B1FC341BF594",
-    "key_seed": "040A634AABD48B4660C06ABFEC3FCD61ECE2D52BA2A5E434E8D9477A654CE176",
-    "metadata_key": "36A1D6F085BCD1378E14173389DB0956",
-    "section_mic_hmac_key": "A0862AED0DEBD64349EC492BD7E8ACA6F7D874D24DFC983AE1F287D06F147B23",
-    "section_salt": "25E0D336AA3C2B471BD678673723E5CA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "09C377FC67DAC5FA8D0C7E1077618F01",
-    "aes_key": "D7AC2B958F079D386B0B392BF01F537E",
-    "data_elements": [
-      {
-        "contents": "01F59AE40EAAA786B7C46D8B5C2E1CF22A7927D79566",
-        "de_type": 254
-      }
-    ],
-    "encoded_section": "509013153E5C4EAD84B8372B09243DD7F8E90891100064F6BB71376AC822BD1EB434AFB7CD6A9001E4317B766820FEDA9F298B00E0CC0C1BA0F863130C35C146C86C683DF5D53D67E28733C55C3BCBFED5",
-    "identity_type": "private",
-    "iv": "CCA05AFA378ED7E3B6E33DEBCFBF204B",
-    "key_seed": "E224F6BA2E99537502A84B96F633F5E8F2020772A7298A359C860212261FBC8C",
-    "metadata_key": "FE01B6AEDE1A55184EB6477E1E0EC794",
-    "section_mic_hmac_key": "A47DC26C0806F40C5A322E13CB35735CC128C1DEE916EB60DA5BFA0A39F2F661",
-    "section_salt": "64F6BB71376AC822BD1EB434AFB7CD6A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EDD2C2498BFB7A5CC6C86DCF37816EF1",
-    "aes_key": "B638E541BF8E9E4D3F8CAB0D9C43E637",
-    "data_elements": [
-      {
-        "contents": "53BEABE818B66A0648BBC5634C",
-        "de_type": 583
-      },
-      {
-        "contents": "15B95BBF16",
-        "de_type": 965
-      },
-      {
-        "contents": "A72D1FB5F1FCA1FCDB6BD086B1AB05984A2CBAC020F65EA3DCE95ECC8E82",
-        "de_type": 617
-      },
-      {
-        "contents": "BEDBEB964295D2487E60521A0B779C41C92D001865F636E6D188",
-        "de_type": 611
-      },
-      {
-        "contents": "4698F885A5C7385C57CCB1",
-        "de_type": 524
-      }
-    ],
-    "encoded_section": "9B90133F363F1A9D391313EDCB62DC7AA6FDAE91100007942426FD3FFCE7249E32B5F9E1484D900298AA6A9DF9942745B0947DA0AA8DB7E48C35BE7A0E4A439696CBF426A0091045DDD1C04A3205A048DF546DE43851CC0686DE448A75CEA658D7D6092FAF23BF29CBD23D5F5ED23F974838B625C25D73F8E5BD6ABB82860479288BB7D7D0978779F30A9071FCF6EFE1392E1FEE30F696D95FED120D",
-    "identity_type": "trusted",
-    "iv": "6B4203747F8A557FCE61C1E19010B25F",
-    "key_seed": "1590AE9CF009E4B80464AAFBFCAAD6BC46EBDDAA6E628A422A1B4249F4FA830F",
-    "metadata_key": "1935DBB80CC48394742FB7C36B028FAC",
-    "section_mic_hmac_key": "71D7A4B4FE0AF5B94EA90A46FC83E860689BA4396E20B502B0D4864EA65BCCAA",
-    "section_salt": "07942426FD3FFCE7249E32B5F9E1484D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "935B3FFA8B8135594E8527503826B3D2",
-    "aes_key": "93E2CBB2A2EBF1A3AEDB88002066B1A4",
-    "data_elements": [
-      {
-        "contents": "2E4398A194FCB5AB5D16115ECCFC8DF14F",
-        "de_type": 641
-      },
-      {
-        "contents": "C1EA5737",
-        "de_type": 754
-      },
-      {
-        "contents": "B29CCCE545D2C871",
-        "de_type": 110
-      },
-      {
-        "contents": "6EA75755FC7744088E0F7B362E41237279C4FE285F5C635F07D3CF752607",
-        "de_type": 973
-      },
-      {
-        "contents": "874045A5D8A7AA4E81B9EE2882373798DD9ECB95A34E11",
-        "de_type": 733
-      }
-    ],
-    "encoded_section": "979013EA6D1A285718D881780D442828F059B99110001DCB8556D111B113078C24BA2F06257A90028982A17443826EBF908DDC14E2E9453E86613E316703C30041097712D0D411DF102061D68772BD9E8C2092DE956BA65B2E07D9B0A7B17923D252DFB126135175629DD89BF5C96D17EB260EDF8A3D5B81D553CDA272E2DE310635BC84C3954F2A0793434C18915A2C3116A46BD0B858BA",
-    "identity_type": "trusted",
-    "iv": "1B9858676FA1CEB84951BFC4467F1C8B",
-    "key_seed": "CAF5566753E37F13983777EDAAA48A37A6571043DF2006AEF7D119B7AF42CDB0",
-    "metadata_key": "F253A8C6D3DBF176DD97993A3374EE11",
-    "section_mic_hmac_key": "ED5EC19C2A28BD1AF19B1AFF30EA766510474865A3F7F1A202C54F8B4F381B78",
-    "section_salt": "1DCB8556D111B113078C24BA2F06257A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4E0560D260CF64013CD1C5CC2E650168",
-    "aes_key": "A3BDBB9EAF2B23B5B4FF966CE7145FCC",
-    "data_elements": [
-      {
-        "contents": "1FE258CEA28507442694EB54141E014514673A8BC93C",
-        "de_type": 794
-      },
-      {
-        "contents": "43B8336BA71888E38BCAAE61CE2A14800F8391BE83AD3084",
-        "de_type": 752
-      },
-      {
-        "contents": "E1D434ADA8FDE1F7D4DAC388C51B119ED88A3BBB15176E5C2B4D4F",
-        "de_type": 681
-      },
-      {
-        "contents": "05A7198CF43DE4",
-        "de_type": 195
-      }
-    ],
-    "encoded_section": "9390130807BD8B1CD2AEEF80505B5DD980558A911000235636B0516C0EBF29BFEA053BA6F2AA9001E8C847964A02279AB5856888A436078FBEE7524388992EDAD6505EA5910375D473D171744D84BE74C660D2E11F39587D329E1E9179FEB630C8282FDEF0943D8A1C05C27CEAB78D3F2E4840F84C0E111DE4488459DE4476D9EE8F50350B123B54057D3672B664AA442F43E812",
-    "identity_type": "private",
-    "iv": "8E5A00D0BE05A48A2BA357E27C2A67C0",
-    "key_seed": "E90D5815F43501F8DC7DADE9C1FF1E8B42893B9CF708DF00B7C7852C5A4132DC",
-    "metadata_key": "EDEB59B65043C9D70892DE01B1FAE8BB",
-    "section_mic_hmac_key": "DEB63991F7F5B2C38BE71212E5F29C6EAA5030154229B40D1369EECBE2D4B44F",
-    "section_salt": "235636B0516C0EBF29BFEA053BA6F2AA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5B1529C4EF462754DC819B8A7A990368",
-    "aes_key": "85EFE96F8D4DE137F7742C19A794CFA3",
-    "data_elements": [
-      {
-        "contents": "11DFFC1867A923A6F11B76237535D43A",
-        "de_type": 507
-      },
-      {
-        "contents": "24",
-        "de_type": 689
-      },
-      {
-        "contents": "987A00093A8A9BFA2BBFD82D5822586699A7B76899C3CA21B80AA95413",
-        "de_type": 341
-      },
-      {
-        "contents": "816761B857BFB83A8EB308A3",
-        "de_type": 313
-      }
-    ],
-    "encoded_section": "7D9013904699D605A53254C2CF00ECC73CB8E6911000F2EAAC8EE7A9ECAC553E0E8EA6E370369002917F7D53E0000B7D92469C691DC007DDD552F7EF633EC0ECD760CE5A2A5551F2B3EA3B9FF460BA6CB1AC699693216AE065736771BAB5DBFC447BDFD3A0486F7E891703FD14D140190E06692A5C0E4601F0A11CCE364D",
-    "identity_type": "trusted",
-    "iv": "5AE06EF1A9B235583770B28C6F519692",
-    "key_seed": "8CB9FDA44549F1764F0FEDD6C7EC01D2D861BEB2F8314ED90C4780AF46140765",
-    "metadata_key": "4099FB6F91A2857E338956FE29D1A1BA",
-    "section_mic_hmac_key": "C98F2D369EB883C1758AE560E8A1E093C2978F0322E39F8F9EF2723257C7E73A",
-    "section_salt": "F2EAAC8EE7A9ECAC553E0E8EA6E37036"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6AC9566CE6E59CA80D112ABFEC45D36F",
-    "aes_key": "B8E9265C2F748123F5B9F751A7A2D03B",
-    "data_elements": [],
-    "encoded_section": "379013A8BA2217F87C377CFB1EDB0276E64980911000FDAAC5F8B202E266DF331B4D9B46FE4D90011536961048D58AC961B34A4EEB49CDF2",
-    "identity_type": "private",
-    "iv": "B005B7623A86312314C0C0D7FCBC3F2D",
-    "key_seed": "C8A695C2B0FBD7385393A196CCBD82493358E3BE62E1CC7BF2C71186DA29F5D4",
-    "metadata_key": "8E5B6E18F6AD98F4150A32FD656B0C08",
-    "section_mic_hmac_key": "EFBFE5124202575DDAD381003750174824B77800E8707A9CAEE7804E3A63EF16",
-    "section_salt": "FDAAC5F8B202E266DF331B4D9B46FE4D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A7AE7921CC86A87A8C75811E6A9E03A6",
-    "aes_key": "250B08B04A835AAFB9E6076FE700799A",
-    "data_elements": [
-      {
-        "contents": "C6B28E20E9790237477E",
-        "de_type": 504
-      },
-      {
-        "contents": "28606C895F0801DE3F0ABC9EE5D131CDDBEFB3A344D6",
-        "de_type": 396
-      },
-      {
-        "contents": "7127F17814E2EFB43948",
-        "de_type": 537
-      },
-      {
-        "contents": "3082C7",
-        "de_type": 705
-      }
-    ],
-    "encoded_section": "709013C4A2A5BF3547013BBA1B383831D1BCE091100036E0549437A58C8096108736E2E54F839002C5F3CFF2372998337EBB3B98F98ECD208A00A91C9C03D46423D1282994D4AE2AE73612F111C2107AB19ED220A1C50DF885BE240BFFF7BA40FC735FF5159D92C1C36BDE1A3E8DECE91D",
-    "identity_type": "trusted",
-    "iv": "FF91837F451EDF3D18A22D3321C100B0",
-    "key_seed": "37279E81EB85F4A82ACB0A83D1E35C175878673E5991CA8CA24DBC718459BBAD",
-    "metadata_key": "4D47D647A7586385837A57466C13DA37",
-    "section_mic_hmac_key": "176D917352650AA00449B407739BD411141689F7D493E0FB4DE373F6EB227D09",
-    "section_salt": "36E0549437A58C8096108736E2E54F83"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "31CAFA91829553CE7076258C50ABA254",
-    "aes_key": "39055F82C293C2F814D14BB7082021A4",
-    "data_elements": [
-      {
-        "contents": "138DB57FC84A2A9FF858980497BD66AD07B3D35861D398",
-        "de_type": 908
-      },
-      {
-        "contents": "F1AC596899642AB4A3224A33E3F4BEB89567D138A00897",
-        "de_type": 97
-      },
-      {
-        "contents": "F33377C511B8F1A14E",
-        "de_type": 994
-      }
-    ],
-    "encoded_section": "769013A24F473D02C870D82B5A2C492367719791100093084927BDC539B7664A642EE828FBCE900473352C75BD958A2419FE4C5177410E191C38BE4D8B0B21783969B4FBF28D572EC372B59CC8C5BA0E38D9278308403C87CFFFDABBBAEBCAB827E53AF03E87A4E5F443604A7DC6DC78DBDDF0542CE645",
-    "identity_type": "provisioned",
-    "iv": "DD57E44D3F0D0F3DDD0201BAD985A27C",
-    "key_seed": "6E931D385053BA0B12BBD523DCC73B3B4E67551C3F5E2B4DB28D1F877CEE5266",
-    "metadata_key": "74DA1C3C2C26438FA854D14D71B8E385",
-    "section_mic_hmac_key": "DBC7B9EB0B1B3B982AB762BD1AB304184D1400952590DDB7D0D04E1C394ED3C3",
-    "section_salt": "93084927BDC539B7664A642EE828FBCE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C49F4B14FB613C049B9F05EB9CE7879E",
-    "aes_key": "CF327AB0B447A7AF29CA225D0C66BF88",
-    "data_elements": [
-      {
-        "contents": "EA",
-        "de_type": 603
-      },
-      {
-        "contents": "4BFE2D10A8F98339DA94AC7FD972892BE0F7F94C112C2F9018D6",
-        "de_type": 512
-      }
-    ],
-    "encoded_section": "58901345F54B3BB7D5FA01A970B7F3DE3035239110005BD59D6B596E746EB47FFAB378E67610900142AF5B387E46C1D390817ADAE02E9776069475827A331978DBE74C0B598B62EFD874514FD69C4A497DF102F7E7D28E2C15",
-    "identity_type": "private",
-    "iv": "49CE2D4CDDD1FE4C7F55FC3188137869",
-    "key_seed": "62748144FB2FB8F3D1D26B7E29407D49E03EFD9152E00668A8D4CC98B33C1C6C",
-    "metadata_key": "BDA4A1BB532F0F3759B50CC5FBB7FF0D",
-    "section_mic_hmac_key": "92915252B41A8BAC323ED59D919DE01B1983FEF1232D5D3A49618998A334AEC4",
-    "section_salt": "5BD59D6B596E746EB47FFAB378E67610"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "50478F0C95C5ADFF1E22DBC94040F350",
-    "aes_key": "5C24804ECE27E5BA68E99847F7F885AA",
-    "data_elements": [
-      {
-        "contents": "EEBFBE7C8584ED74277C8B3E2B502ACEBF24B267DE6D894B",
-        "de_type": 194
-      }
-    ],
-    "encoded_section": "52901366A0670E47B7DC095DCF73102FDC73E69110007B56EC0A6BABDB182C71BB10F5F08D279001B9D91DAABDBFE394958F6E84E6CD12D44D75C23DF167B985A9192F31C1086D9764E1F18B9B0510E5B85C8E",
-    "identity_type": "private",
-    "iv": "FB5AAAE3EACB3C7010D00F3F5D2C3BDA",
-    "key_seed": "ACA00C1D38AB3622FC6476156686D8C3546B5D7DE0D35CB2E577838779F26FEF",
-    "metadata_key": "F13BAF19DEAB019E02548A01243255FF",
-    "section_mic_hmac_key": "D5B4C8E5CBE16DEC491C3D0B361CE588EBC197E0F8C07B66E45C620DBCF0BFAB",
-    "section_salt": "7B56EC0A6BABDB182C71BB10F5F08D27"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B09E7223DB55CA715A7CDBAD5996A263",
-    "aes_key": "5A08C9A027433AA95DB2853BDA25B1CC",
-    "data_elements": [
-      {
-        "contents": "4D49B84727526D565B651F",
-        "de_type": 191
-      },
-      {
-        "contents": "F5B14E3F786C1DF52258DD7B7E5240A7707EAA887484A166AC4E54",
-        "de_type": 408
-      },
-      {
-        "contents": "A3ED876A074183595073A43A689030",
-        "de_type": 910
-      }
-    ],
-    "encoded_section": "759013C7D3F5BC51A900A5862D9C97C6420421911000742D8D5C8DE82797022EA2DBA6D1D34D9004ACA1B9AF6447CE5086B439B1BAEAECDCFBC67943ED19B7FE2AEEBE927C13A54A0CFF804BD8F6B6273D3750CAD751DE373DCDFFF91B61F4F4BC31F8931DD6B89073E2C00B353709314955E535856C",
-    "identity_type": "provisioned",
-    "iv": "6A4EC7D7D1DF376EFD6C30D4752FD4FE",
-    "key_seed": "B7FBE1F1586D2B63C20CB1153D7204A8CE46AF139AE5ABF1E2473727EF014DBB",
-    "metadata_key": "FF8E365F1C10EE5D9289E6E2A3431604",
-    "section_mic_hmac_key": "FFE968EAFBFAC3D8464618A92DEB901E018E5AD5DC3E4CCD2AFE7765B97E4208",
-    "section_salt": "742D8D5C8DE82797022EA2DBA6D1D34D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "90D4B993DDD10894C7DE4892AA9205F3",
-    "aes_key": "73BAC41B294391FD5D5288BFC9903EF5",
-    "data_elements": [
-      {
-        "contents": "27F554F5A7C415247701F0FC053C47F0EB0F055075E60B56",
-        "de_type": 291
-      }
-    ],
-    "encoded_section": "5290135D9848ABB456C6795F5FDF8A0D2671739110008C9B682EE5FE5EB5CE1BD9870CD71A9990043229E5C5C36B418090ED95DDBF6CC97A05C02E2DEEB8080D6B4B9DADB45B6FC5A20FCBB7CC08B5ECC2909D",
-    "identity_type": "provisioned",
-    "iv": "7695C534D867D68F7C1932B112715819",
-    "key_seed": "6975C61D58BA24A1B4EE54ADDD2C442B98EB26E46A705F388DB5E2ED510B4B28",
-    "metadata_key": "D17E6640A3CA07E378F7065697EA5991",
-    "section_mic_hmac_key": "F96908B8BF76281EDB7BBD7ED61C717F9696F1D86A35A08EAE230403A1107554",
-    "section_salt": "8C9B682EE5FE5EB5CE1BD9870CD71A99"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "68815B831AA0916F568E55263A7A48B2",
-    "aes_key": "5EBE57C4F71896FC3D6C0F1234CFE4C8",
-    "data_elements": [
-      {
-        "contents": "2D2EF51996D21B2E51463AF39E92",
-        "de_type": 266
-      },
-      {
-        "contents": "B5B3289B121AE9D357AFE47D5E824F60",
-        "de_type": 506
-      },
-      {
-        "contents": "CD3BA06429D31778484A63DFE622C417FC91017592E7B2A9999BB95F",
-        "de_type": 605
-      },
-      {
-        "contents": "D75A6907BAA74620FA2085",
-        "de_type": 41
-      }
-    ],
-    "encoded_section": "879013A6C5D0E432008BA653FF7129A306A3EC911000EA1BB84D74CCE63FC6E8A7BAA4D0E8BE9001A66002D08581D42781E1B71D02A14371C531338D6A14F22495832CB9F5ECA5BF022B9E62D6A72168A5889635871DEC3B4BF993A31FA6D88D147BF16E48B99F9F78D7433C9FE0D8900F2B64CFDF5C5B54AD9BDC2AEA6A53CC6AF84FE9AAF59193",
-    "identity_type": "private",
-    "iv": "C35B01B06E5D277079BA8AD9DBC8F362",
-    "key_seed": "F0C3EF794389DDA400ADC8FAA947DD95143F6607B459C306BDAAA576F465E52C",
-    "metadata_key": "AF790FA02EABFB6819FFF681B9DF902B",
-    "section_mic_hmac_key": "71A8D29B91A31FF5FDDAA7C80D68F46CFBBC16402B57282E74129BC4B17499D3",
-    "section_salt": "EA1BB84D74CCE63FC6E8A7BAA4D0E8BE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4A9A6B72387F31CDE7DEE4E7E406DFF6",
-    "aes_key": "B3591F7BBEBCFC4D19A43572B2BBBCF5",
-    "data_elements": [
-      {
-        "contents": "287900DBF7C6EF207125FA0402",
-        "de_type": 126
-      },
-      {
-        "contents": "3DB9807390DD723B2BE6D68E83DF7C2770667A585BAAFDFC6B60F23B6DDC",
-        "de_type": 914
-      }
-    ],
-    "encoded_section": "6790137F9988226CFB15EA43A400BD295BDFCB911000642FBA603E7E92B57E9AE3A01C2A4067900198D788FD01113B8A8C929309797B3A7297B90D01EECEF4B43E92B07E402D59F4C898D6DB4567499719BB98EEF2FDF3949CE4345E58D410B47377BA3A76EF5946",
-    "identity_type": "private",
-    "iv": "85FCE66A5FA02412A1234692C64896BA",
-    "key_seed": "2CC2199AD55B6F938E243F37DA6ACE29254ED61B0B37B0304329430A2A76E0D0",
-    "metadata_key": "631559C94CC2789DE04E60E2ACA530E6",
-    "section_mic_hmac_key": "9A892BFBCF0FD28F4E5A8F4C5758870EFE840BA65BBBD08F47BE62CF648FCC10",
-    "section_salt": "642FBA603E7E92B57E9AE3A01C2A4067"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3B58BD1E258028DC7224E170E5D91527",
-    "aes_key": "A74001E2A3666357CAAC0E33C1855E10",
-    "data_elements": [
-      {
-        "contents": "12A3E1127075B64AE49D7BA96E1C1B",
-        "de_type": 739
-      },
-      {
-        "contents": "A234A52C0FEA5B1BCCC9BF31ABE4",
-        "de_type": 956
-      },
-      {
-        "contents": "8F",
-        "de_type": 184
-      },
-      {
-        "contents": "07D259",
-        "de_type": 483
-      },
-      {
-        "contents": "8CF495883089242BFDD53B4564044BE87A18AB4C27F3506A",
-        "de_type": 646
-      }
-    ],
-    "encoded_section": "7F90134E199204C2471A9115FF2C632668284D91100075629F4391815BD952FB3733BE9FD5ED90029DB3CCDF47466BCF742E415F1B2808173977D02F7174626840312C0AE5F9460BB6D9896D1C906C783523FE087FC586B3CDBD3837F712E2754A920C13760D62AD1407E0FDF94E5A10A0F6B6435DB107288AA0E8DE89F61C41",
-    "identity_type": "trusted",
-    "iv": "ED3E7F6915FBA4453344C5B6E412C564",
-    "key_seed": "1846D5BA042D86730983D0AAF49EA0AB2B83BEB46A36ED91FB14A9EF471FE246",
-    "metadata_key": "E0FD1F3EEBC6BBA6FE654CECD49DB39A",
-    "section_mic_hmac_key": "91BC8A5166C8148062C2CEDFC69EFFFCF988181F45B5B0594999ABD9A6A1D293",
-    "section_salt": "75629F4391815BD952FB3733BE9FD5ED"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6980A6133FD8A5C51F3C733F504318F2",
-    "aes_key": "2114E6476D43B88B62350530B2B5E255",
-    "data_elements": [
-      {
-        "contents": "78D82AC0B53E7EE9DB8E175A4F4C8E3FF309",
-        "de_type": 238
-      },
-      {
-        "contents": "DC40997B9DC9FCE9D3A685B4",
-        "de_type": 949
-      }
-    ],
-    "encoded_section": "5B901364A48CB28EEFCE542E48C436C6E5C9F9911000D88F6109B3C4201C37D0BBCF905E844F9004C5199C455C3382BAAE410F855270883316438EF9A3A4B9F4AA0146A64D40287EE6570800272C4DA3CBD9E8E6855AF2B117E45550",
-    "identity_type": "provisioned",
-    "iv": "2677516D425DE7E57AA134A908F6FA77",
-    "key_seed": "2446CFBD94DE790A7817A3B309B6578724F386F8699C9E60F64E843F1E6F41BE",
-    "metadata_key": "F6619D96FAB75B632E6DB605E17C804E",
-    "section_mic_hmac_key": "467BC68954AA7C5F2E3BC686A88A219025CB25E054A00A51BA7A22F9A8EB85B0",
-    "section_salt": "D88F6109B3C4201C37D0BBCF905E844F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5755CEF6FE6FD55A41FA44CABD97741F",
-    "aes_key": "E8708156531B7A958D952DE7627847BB",
-    "data_elements": [
-      {
-        "contents": "23C735",
-        "de_type": 355
-      }
-    ],
-    "encoded_section": "3D9013409B507183829B924D89F0CDB0114D6B9110005BB6431511D93263B7DB812C5C3169FA90010A0D93D550F4B038870E73551CCC98CACB4BFB4A37AD",
-    "identity_type": "private",
-    "iv": "4190244089F66CA5612739960D6B6265",
-    "key_seed": "A0B97402658B7EB8A9CE7FA833B06BE4113813C5DF44BB4CDD2A1026623CE93E",
-    "metadata_key": "27EA5EDBB15D6D851213D99E85394969",
-    "section_mic_hmac_key": "CBA9B0CE3E1538B7599EB74522BD58E3D6B30CDE7047123EAB8E6C837D3A86C0",
-    "section_salt": "5BB6431511D93263B7DB812C5C3169FA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D12CA4BC0DF622B6F2A6C38F244ECA88",
-    "aes_key": "FE420A08BE520C56C373D90506399368",
-    "data_elements": [
-      {
-        "contents": "2B284B656DFE764CCE6BD0B8A8DC69FFE06A60A0",
-        "de_type": 982
-      },
-      {
-        "contents": "36636E1715B38A596BCC68ABEE73CFAF34EA87B634386C02",
-        "de_type": 537
-      },
-      {
-        "contents": "5BF461ED52EF4F04EB97039F41300BD52529363361208E673FF097D5E9",
-        "de_type": 49
-      },
-      {
-        "contents": "22E82E947110CD667295C59CABFD9CD0340C6F950AB0",
-        "de_type": 665
-      }
-    ],
-    "encoded_section": "A19013E8415BF7F48BAAE5E2349E6AF8C46097911000AEF9DA74479EEAC0C4E65E88E8E8FFE49001A158884B1C0FDBE25B9BFF7F48E3501E1CE87D4BB0C4EDE04ECBE90ED47B150732C022C9666FDF3E7315F74B7776FC5CC9A7E16CA18E90869D563005189D665167689E5DD8BFF6C5C08A8F2EA8025E8BF9C360E5B11918C31F682542595396B18CB98C0F6F2C4B1B7304864F165D897D17CD113D95B5927CD4D2",
-    "identity_type": "private",
-    "iv": "36217155A9B1C113637F5B31A0D52462",
-    "key_seed": "D77AB260151CD044C7B2AAB6E05FBC8E91F36BA08D99DD9DA9B6672CCFB80622",
-    "metadata_key": "D98AE815017F1CCD49B73838CF47C569",
-    "section_mic_hmac_key": "1C58860A31C39611669FD41F05F3DB0E5FB3841796071415958EFD3873F6134C",
-    "section_salt": "AEF9DA74479EEAC0C4E65E88E8E8FFE4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2F7824830FE99F6CEFCEFF4E8DAF9306",
-    "aes_key": "B8C0F18B36A2C4CDFF83C57209CA0877",
-    "data_elements": [],
-    "encoded_section": "3790138347AEC84C563EF86AF3A100CB5C2028911000D26AE3AED6E647BD9318ED7324A032609004420C7090DAC986AC7383E0B07C7D0218",
-    "identity_type": "provisioned",
-    "iv": "B20E80EACF53908799869F1431A64093",
-    "key_seed": "89C8925B2181AC409D718497B652931F78526AEEF0F0D29B16A94CEC57D1C5B7",
-    "metadata_key": "7D40A615D28BD9CABF573DC1990929E7",
-    "section_mic_hmac_key": "8082F293C5E89429553A6F138CB27C283BDC31F342E0049F6871D614B4E0672A",
-    "section_salt": "D26AE3AED6E647BD9318ED7324A03260"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "50835FC1D56A351C460893484BB405D0",
-    "aes_key": "5A5B7EBD7ED56C23D8B6F82912BDAC08",
-    "data_elements": [
-      {
-        "contents": "6CC2B418F4BCBA2E3C334BC068E5",
-        "de_type": 371
-      },
-      {
-        "contents": "7D0C99B63FC2F485D42A56",
-        "de_type": 361
-      },
-      {
-        "contents": "5DA48C5C3DCD",
-        "de_type": 659
-      },
-      {
-        "contents": "",
-        "de_type": 95
-      },
-      {
-        "contents": "3780B32198E3",
-        "de_type": 965
-      }
-    ],
-    "encoded_section": "6A9013522A8B8B0C6E757ED4C020BCE2FA2876911000C7C5CC64D2848A6F5E9B06024AF7CF7490010553DC253CA3A8379FAF58AFC20732CDA0D2D6F1D16B659C6DFA077FB83412170B8A58A249F77F5AEB8D72AA86D3C93F64631650ADDFC8C12FE570B139123F8348B1CB",
-    "identity_type": "private",
-    "iv": "8C1907865989C82AC1E7C94F46ADC1F2",
-    "key_seed": "4108AC4D0FFDFA538E12F709EB5EE2EC58107D42CCC21743E35C4366C8A6E037",
-    "metadata_key": "B569E2A8F95000A5D8616779A1EAB30B",
-    "section_mic_hmac_key": "7B4E3B5C475E1C8FB665FF5942256874C076B8305992371CDA125A3CE0289D25",
-    "section_salt": "C7C5CC64D2848A6F5E9B06024AF7CF74"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B63F775898D49530F53F98C8736B4AD7",
-    "aes_key": "1B2DA0F7C59B3FF7DB2E82675228D075",
-    "data_elements": [
-      {
-        "contents": "039C353B728226EABC1C9BB92C",
-        "de_type": 805
-      },
-      {
-        "contents": "BE5252DD4308972B310168F705",
-        "de_type": 936
-      },
-      {
-        "contents": "35EB21FBC97D47937000F4EC2FF4960751502BC7980B1B3D31",
-        "de_type": 579
-      },
-      {
-        "contents": "759DF16D57824FA1F519774AFE9966",
-        "de_type": 906
-      }
-    ],
-    "encoded_section": "8590138E794DDD1F90AA00C804A1D55D74199B9110000C181E2D488AC2E6382460989CCFD4A79001EB8A74FFF9481D0F8537BDA5E83313389FA2EFE7CFFD063AE79E634FFF0690390AF5D99664325FE479E22B30E672E3A1C9FA7C51C10023DA9D3934B8E2B5E7B302F7D924B5A3841CFFCB5E4173084EB27D0AF3135DC5CD7BD0CC13817AF7",
-    "identity_type": "private",
-    "iv": "ED7A001999A7212E0F8D0A8BBF06F0DA",
-    "key_seed": "D8C605A919DBCA02E857A0E787D643B68252650909FBBC4F92B621C0825DEE63",
-    "metadata_key": "C967056677B2FE105F418127AB4C9BED",
-    "section_mic_hmac_key": "76DA9B9114E01E24DACA9B02E6EA5BBBDEDE38A8CF33001989B421B67D73D5F6",
-    "section_salt": "0C181E2D488AC2E6382460989CCFD4A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2DEC4BAFFCF3310DBE0F3413788D397F",
-    "aes_key": "E519A2D987D271CF5D3EBFB41C42302E",
-    "data_elements": [
-      {
-        "contents": "F8F7F2291376122477777F1C028B89957234FD1B4D8FBF",
-        "de_type": 294
-      },
-      {
-        "contents": "664104580D04F0299BFA7EA1E379B5140E891DB347F49FE31F58E1",
-        "de_type": 873
-      },
-      {
-        "contents": "8798DB136C098E7EED7A1D",
-        "de_type": 383
-      },
-      {
-        "contents": "3351FB9BE8807FC9D78EE332A0",
-        "de_type": 685
-      },
-      {
-        "contents": "A6F525066B3624AD7ED50466EE08AC9EF6141EFBF0451F87AE8277DF9CF9",
-        "de_type": 827
-      }
-    ],
-    "encoded_section": "AE9013D653FD5F4549F54B1911CAF49FF594F1911000CF4D14BE750B5BA5E49644317DEBD84590015F4C834B18AAE2AA790AC546C1BD9EFBB4FBDC4054A9E5BDFA9E3DFA77C9EA9DDFC714ED34337541979D845D155D15F5EBEA4D7E577172FE9DABFC8EA60B659BF27BC9EA813FD1C6EB693D28F11B35FC1B55CAAD3FACF09A30C6AECBC39FA1F95B6359AD3E7D5135C57B2823637768F51C0608BDC8362E6057A074F6C6A74E34C5CABF14CA7CA1",
-    "identity_type": "private",
-    "iv": "A9FE4C8782689FC14D8BCFBD33F242AA",
-    "key_seed": "E4398DC2A8F536C4250186EC57BB080E3905C0DE7136E5E6684A94DF38020DD3",
-    "metadata_key": "8286CB1DD719F554E9CA70EF5BB78182",
-    "section_mic_hmac_key": "52BD0E9C4C000F837DF8A80D471D145A9625B8F118641FE81B5CCF958F3F35B3",
-    "section_salt": "CF4D14BE750B5BA5E49644317DEBD845"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C2308865C3D290C95E557AEB1189623C",
-    "aes_key": "E8BF8FAA9C15279F3C712FDC28EA9E1F",
-    "data_elements": [
-      {
-        "contents": "AF0F38B4A0EE47BCE5B3F0AAF54D",
-        "de_type": 27
-      },
-      {
-        "contents": "6B2E9F0DF07EB6D9877DE3E238059802D9D04315E0D6C4AFC8DA",
-        "de_type": 337
-      },
-      {
-        "contents": "FA8917EF757AC107B1DD4C",
-        "de_type": 903
-      }
-    ],
-    "encoded_section": "7290138C4539BDC8F8AE4C73FC0ED661D0030A91100007DB45B2A020CD435ACE131E78F8595F9001C20DFF6C112B8F2F9130961C3C0A1B8121F539E238D4ADE2C865A086CC93D56D69D2BF38310ADEFE69AD2FD2679A4203E67D8472A329F52C07E85EFF4684F4113CD7C304090D02494B42F6",
-    "identity_type": "private",
-    "iv": "DA52FF1A543C36D4DCB573EED3492B02",
-    "key_seed": "2AD3751078D15056347708E40974A33C922CC41CC28FDDF988F2E2A5A2239A86",
-    "metadata_key": "FD7BC17ABBE3AE00CB69C5B13AF815A6",
-    "section_mic_hmac_key": "B01C2D3C9C7F049E5F6B994286E4ED7A767AD9727DB0FDE9E0604CD09C5E6EFE",
-    "section_salt": "07DB45B2A020CD435ACE131E78F8595F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0E6250F5E1063FFD5625E4899B7EC23C",
-    "aes_key": "82B4EFBC00345E53944B62098AC4741E",
-    "data_elements": [
-      {
-        "contents": "84BB",
-        "de_type": 108
-      },
-      {
-        "contents": "754F4890235008945EB5DDA0C5794514",
-        "de_type": 296
-      },
-      {
-        "contents": "817310F380A4523BA475A885AC",
-        "de_type": 534
-      }
-    ],
-    "encoded_section": "5E9013257C860C9FE68D13E448BE77AC156B6A91100073EB2D1A7B9A79694383A83819BA58C19002980493534B01BE7A4C0D57A3B7C279037B65AC33424C40D9ED3D3ED5CCAAAA3387F19EF03CEDA947228D791FA10E21C394650A6DECAA80",
-    "identity_type": "trusted",
-    "iv": "7B7ABAED849E8CB85465909BB1008A27",
-    "key_seed": "39FAF4627996D3A4E86A2609345F8CCFBE215FA4959EE8CDEFA7C7ED76F0F063",
-    "metadata_key": "D5CE99E6634247D8D39A6F9FC822F098",
-    "section_mic_hmac_key": "4A8284901D526E778AE208C2A347A49FB10CC2A27E1CED6CF06E1629D5D6A8ED",
-    "section_salt": "73EB2D1A7B9A79694383A83819BA58C1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "73267BDA51FFF82F035394D3EF80D6CB",
-    "aes_key": "3D76734B202CDAB569B4AA364BDD8C38",
-    "data_elements": [
-      {
-        "contents": "2C4473F60CB71FDC87628B247D3DDCE92B0638",
-        "de_type": 432
-      },
-      {
-        "contents": "2D130F6710326FE796AA4A73ECB006B595BD3EE95433AD3CA014",
-        "de_type": 327
-      },
-      {
-        "contents": "88799981CADB882884B4C47884D0944B8B37045F31",
-        "de_type": 884
-      },
-      {
-        "contents": "B2BE3EAF7781B27C26D1C1DED2D503",
-        "de_type": 326
-      },
-      {
-        "contents": "8DE982C8211A0DB37462DF80908A",
-        "de_type": 957
-      }
-    ],
-    "encoded_section": "A59013DD5CB96E28C1A8F5DD5FEC82CB88BE639110007C5463B073E37C64784907BEBE5BBDEF90021514E83EE8FEF5010680B26A5530A8FDD2A2EDFCF02D32FC9F74DE8654F3816A4E9B62D75A7C768B2D247C127C2016A0F2EA412B31A9B75D74DB39BC47617A87C767C3F7E134FD14E3051635789B5C8B29EB1F4DCC60CFC947589904C336DC786AF79471140DD27C5C4808749AEDCCF2DB7848B30022B64A53FC2365DA27",
-    "identity_type": "trusted",
-    "iv": "CEC5679AEB9A51471B5D4681A305DD04",
-    "key_seed": "6F3DB15F4DF627B06073393BAE946B216F91AE6FE5B3CDBF13FF7EC6641A464E",
-    "metadata_key": "0162EF842711DBF3B94E4D471EF750AE",
-    "section_mic_hmac_key": "5529B07938C0FE667CB13099BBBEDAD33B2FA644FEFE54C02B5923CF6A8AA2B7",
-    "section_salt": "7C5463B073E37C64784907BEBE5BBDEF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8F6E3B41929E4835D8A92894E01D3370",
-    "aes_key": "1E7D6DC597401B8495A444FC0DF6BA1E",
-    "data_elements": [
-      {
-        "contents": "426A68378FBD50DAED7B3FB1E90B",
-        "de_type": 275
-      },
-      {
-        "contents": "A915A4A2D2DBD35A71628777FC2454B2",
-        "de_type": 860
-      },
-      {
-        "contents": "44AC7C57E6F86C622909FA47E9",
-        "de_type": 956
-      },
-      {
-        "contents": "20F924FEB103DD50F1A1387EEFAE248676929FB54D48B1E465AE45DF05",
-        "de_type": 25
-      }
-    ],
-    "encoded_section": "8A90130A637967EDD9E12ED105059ED73AFBC69110002FD7D90E8EE16536DC7C67F3E60A010D90023894E74272B0D304BCB3E9DF7FC43C807AAFBD40A77D397D77611BCBA2EAB0DDCDB669DEFD729738A57FFD70703EC2B9695A2A37BF34C0DED20B89D6BC2F8F42711A79429C95A4A0E2E190E8BC6FDC6C7A61ABC01BA824D0CEDB71884F62A33D906D9F",
-    "identity_type": "trusted",
-    "iv": "5DD25A67393B6865442B019CFDB5DF8C",
-    "key_seed": "EF233E0B6A8EC2808EF6FE4C625A6FC21809031077F4C3AF242E4B437D8CAF32",
-    "metadata_key": "6E4695C00A4D71156E1F33ED864069C7",
-    "section_mic_hmac_key": "AC752138D071EEBE9D679C8FC065416E93AE38BFCC21C4F313155F29B827D906",
-    "section_salt": "2FD7D90E8EE16536DC7C67F3E60A010D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "87150E19C730DBF9A86B9E12160CE5D3",
-    "aes_key": "C66FD1768C38128B074B1F8EF5D796EC",
-    "data_elements": [
-      {
-        "contents": "73",
-        "de_type": 429
-      },
-      {
-        "contents": "E6381B5087F9",
-        "de_type": 492
-      }
-    ],
-    "encoded_section": "449013E5B8AE1079C8E1B92B68F9546E149847911000EF0F6F02489A17DBEAB359CE6006C8C09002451233A8A062D0578F6040C49FE712945A45FECFE12A899C112ADEFF99",
-    "identity_type": "trusted",
-    "iv": "AE5502584C0BF952B7CCF3A06D79FB4B",
-    "key_seed": "4C90F913AB9E4AB30DB8EC14CEDABA184990B8630D6E72E3EC55DA678F647567",
-    "metadata_key": "84C0A99DDE5671E33E2916B2C6635A97",
-    "section_mic_hmac_key": "2F96B9CFBB5F2DA7B16B79E2A51B49F8983319461C5E782DC80DE00A36CCB650",
-    "section_salt": "EF0F6F02489A17DBEAB359CE6006C8C0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AF2F88F8670B45CC12E1F0BB195537E8",
-    "aes_key": "057F34718269CBD6CEE1F96A2281FF4E",
-    "data_elements": [
-      {
-        "contents": "788CB56081AD4BF210B3D2BF2AE24354FC967C426C0D457BF5",
-        "de_type": 419
-      },
-      {
-        "contents": "8F48AFD689E68D180BC9",
-        "de_type": 231
-      },
-      {
-        "contents": "7306BEAFEB639848A3B9006FC5049BC2C570FE64F15F56F5A0B01F47",
-        "de_type": 416
-      },
-      {
-        "contents": "042BCBD8C26AEF494B0262B0203F8C862A3B36BAC14A419BE1AD",
-        "de_type": 390
-      }
-    ],
-    "encoded_section": "9C9013BE62CCCE821A4AB67616B63F417CD90D9110009F2AD41A47D93BCD76F3269EB9ADDE3F900160304961426D9B4BFC017C3599287A4B1509319EF24436CB3E3DDC8A5392E1A8AA714B880956F63F1085F709F1483A3200848F85E8BBC7255F0F878D7FDD472D1FE7664AA5849AA65D890CC229D08AC669C863793A678E9D03B7887856953EF9876DE62D09BFC10B0970C1828D7E00CF9FF05FDE6F",
-    "identity_type": "private",
-    "iv": "00CAED3CFA112DE322DD39A9D46B1057",
-    "key_seed": "6CF216D98ABC54B3D01EAF03E690AA8F705D853D1A409C98AAFB64AB5DB8B777",
-    "metadata_key": "3AEF7BBF65BB6397D331899133978ADE",
-    "section_mic_hmac_key": "4A3B921039E9959F13555CFF983C7FFEFB4C2EB3F8009280814C77E18F2C4E0E",
-    "section_salt": "9F2AD41A47D93BCD76F3269EB9ADDE3F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7794B8D1AB196CA8AC2105A839BCD4A8",
-    "aes_key": "0ADF3A9468C4E726C4DB2A608549EE98",
-    "data_elements": [
-      {
-        "contents": "CB1B557B230D",
-        "de_type": 585
-      },
-      {
-        "contents": "7DBBD4ABC8B4E7589BE1D51921022C026D3D9B95",
-        "de_type": 531
-      },
-      {
-        "contents": "DA2FC203F623B7EB1D",
-        "de_type": 544
-      },
-      {
-        "contents": "2474FDC7BF11E245A27F94E7ED426428CCB3",
-        "de_type": 437
-      },
-      {
-        "contents": "3EE60DA7CBAE5B47FE578E49FEFB1A221F08B825",
-        "de_type": 650
-      }
-    ],
-    "encoded_section": "8F90137E678458819B7DC2C5F15AF080B953859110002CDE4D9F6C04C8FE5FDB6C5E32FE2CCC90025D8153CCCA9FB64C5FB097FA5E89BC09E1C5814AD60F68CCFD49AF6FB93D7D5F9A6032BE33FC6B1C250E5AAA4D26D7D73C334E84411E72B9D486E133675636E3574B0C8B5C43CBB8240F59C0CD41D90F886DDF0BA9177BE3CB9FED65F79FBD0018B8032567A6D069",
-    "identity_type": "trusted",
-    "iv": "1894035341D848E48F9A51C823863216",
-    "key_seed": "91506AB916B8A078A6DDE8B0BE901CE7AF4696136DE8D7DE45CF849F7270AC5F",
-    "metadata_key": "6EC956F9A4E19C08DFE8D4A622325516",
-    "section_mic_hmac_key": "0F4C9028DF6BE7AADA4E075A6BA1DD00677087758012415836160F2057ACD8A1",
-    "section_salt": "2CDE4D9F6C04C8FE5FDB6C5E32FE2CCC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "26EF54C5E545BAFE7E3FE21889954F4B",
-    "aes_key": "067B439C57F9DE70894D5719B7DB2B35",
-    "data_elements": [],
-    "encoded_section": "379013080E311384411FF6770D2B94AC7ACE169110001FEFA67CEE0923857B10DD52D0B34E71900450893BB7FEACC5728EEDDF1D26ABC6A7",
-    "identity_type": "provisioned",
-    "iv": "7EED03455676377622DA473E4F16F32A",
-    "key_seed": "DED047531F38D53F63678999DBE4BDEFD7B784848EBB7E002F96458E93504118",
-    "metadata_key": "3BEDA0C2BC240C647A331E616CC299AB",
-    "section_mic_hmac_key": "C64D36914AAE044A5615D8C61DE6EFE50B28A276550B62F2CE5085A1189616DF",
-    "section_salt": "1FEFA67CEE0923857B10DD52D0B34E71"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1F519C5224D33911C941374BC65E28D4",
-    "aes_key": "0BE9E36BBA46D40FFEEA09B8F0D5F5C8",
-    "data_elements": [],
-    "encoded_section": "3790130CA72F7349FE92C154A357B63BCA5350911000F93678548B2DA382420B7D5B5C7ABFA19001315D8C73AAB7AF4B00B43FF2E33BECC8",
-    "identity_type": "private",
-    "iv": "9057DD64AD863A184C580C3AC515EF1C",
-    "key_seed": "6C2ADF30FFE6F8DB97F237FA6563503EBED4A6877A7A90F4453C927C5C46A965",
-    "metadata_key": "2A9DCA48AF9238C08F03CBEBAADB5F36",
-    "section_mic_hmac_key": "E8E29CA7B172FE28485E42B6038344EB3850A3B4FDC0526A3FFDCE2B658588C7",
-    "section_salt": "F93678548B2DA382420B7D5B5C7ABFA1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C1576CC52ACA6AEE4E6D72D158321A1A",
-    "aes_key": "AA5444E04F5A5D4CD410584D05BC77C0",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 425
-      }
-    ],
-    "encoded_section": "3A9013E14E5F87EFDCDF15AC1D1B4DCDB691E09110004B1A66BA4FD083871ED0239BADD179979004C17822C5F498155EB82DC5852D9A67BF6E66F1",
-    "identity_type": "provisioned",
-    "iv": "509D22CF33947815509F6D320B155E69",
-    "key_seed": "E42FC4857670BE08A3D4A3A2E7CBBBE2C720CC04CCC411247AB51CD36D87FA3B",
-    "metadata_key": "BD1150EB7D9B06D0FB9688D424143BF7",
-    "section_mic_hmac_key": "0E3917077E4EBF69E843FD7BB0B38765B9BEC3C55D4DDAB58A5FBD74B586622F",
-    "section_salt": "4B1A66BA4FD083871ED0239BADD17997"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "377BC9095D04B301058A806B59A57F57",
-    "aes_key": "5B7C325293C552B1B1286B3F5A988FDA",
-    "data_elements": [
-      {
-        "contents": "BE2875720FDD655D",
-        "de_type": 392
-      },
-      {
-        "contents": "76E75061",
-        "de_type": 901
-      },
-      {
-        "contents": "A6DCBCB08EE974DA3C2677054843F1E3BDC74894A82BDD3ED8E8F231B3",
-        "de_type": 989
-      },
-      {
-        "contents": "F6C0F899C87F7B6F2ADA4CB6AC54F679D871",
-        "de_type": 891
-      }
-    ],
-    "encoded_section": "7E9013D5DEDED151C0BF96D220B3AAFA310EBD91100046C9B3269C4FAA4938C3BE157869EACA90015CD656AB893D2F34D12B52C9212BA6E26191D2054AD777025E72D552876D7F603193F642B9A0AAAAA8F327AEA1C88760EB9968177017593879A486601E2A9FCA7B9AD3F4E3761177516CA335BE2C0F250DB498656A4681",
-    "identity_type": "private",
-    "iv": "9BF1FF6714915AAFE0ACFC6AFB53B67C",
-    "key_seed": "80F614A0EBB5AB849CCC3343443DBD9560983BF83E7F699E742CD736F7C86CC4",
-    "metadata_key": "BF0EB0030D8626F493C9F89271E63EA1",
-    "section_mic_hmac_key": "D32162D8264CD760B9C3FB677C389333D77FBD6AC51BE51FBD11354B4F04151F",
-    "section_salt": "46C9B3269C4FAA4938C3BE157869EACA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BC027A216DD34B788B55394D74F2ACF6",
-    "aes_key": "F4500F319B2E1A064448EFD061A1A869",
-    "data_elements": [
-      {
-        "contents": "51CDB7E7020C96926D5B015EF6AFC86FAD",
-        "de_type": 209
-      },
-      {
-        "contents": "A8",
-        "de_type": 16
-      },
-      {
-        "contents": "6CCC0F2F8660",
-        "de_type": 145
-      },
-      {
-        "contents": "1A6A8EF8B495F771C4BFADF39CFB37",
-        "de_type": 602
-      },
-      {
-        "contents": "FA7D",
-        "de_type": 393
-      }
-    ],
-    "encoded_section": "6E90133436164C4FE9F77A9C7A4331E5670A3191100028BE87A539716E6151518CD624233C80900258DB4E150403902E214CA9BCC5B8DF6F2A79CE406C90817577C0B3ED6D873AB480CC6989346F6893AA42C6F4EB5B83044F3FB86E41B035A7DE509DD369B86297394170886D61A1",
-    "identity_type": "trusted",
-    "iv": "0B7F0AF24D63480085FCF7948C1825BB",
-    "key_seed": "F058BC14D7150596F7251F711B065981E786691012EBC6032D16DD5EA125975F",
-    "metadata_key": "CC6B26C79E16DD81D63644043D76A92F",
-    "section_mic_hmac_key": "6012E0F51DC90446DCD3BDF0701CD4C3A5C9750318C2BE597AFE5EF2E0FDFCBF",
-    "section_salt": "28BE87A539716E6151518CD624233C80"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1A08F7A48EA6CBEC743CF81FC6D56821",
-    "aes_key": "D97C644C27E58A5A498EA72243B4A95C",
-    "data_elements": [
-      {
-        "contents": "AEC98CDC9931D9FA7B",
-        "de_type": 273
-      },
-      {
-        "contents": "0C0C0EF256DA68",
-        "de_type": 380
-      },
-      {
-        "contents": "D3FA7A86",
-        "de_type": 877
-      },
-      {
-        "contents": "EDD68F83E5679FD3AC94D4C2429CF0315E",
-        "de_type": 68
-      },
-      {
-        "contents": "500D0CFF89F6",
-        "de_type": 67
-      }
-    ],
-    "encoded_section": "6F9013DEB0470A1F0FA8A932BFA955957CBC0691100078E0F69271423A55D3CE7B9BAB03CA979004A1F0A1F01FDCC777695FA1905956FC2C0B2E0ECCE69A1DF5B30E799BF694545A488742FCA43945D42FF4A4D85375F6A70A580DD6C262AB36D7EAD41B29960339ED26DA7BA7422477",
-    "identity_type": "provisioned",
-    "iv": "AE5AD7C635F64E56905AA85E0F9B3B82",
-    "key_seed": "CAB76C82AB54159962AF8F8A9E0A6DD4C9B50C5F177EE962D20809A4F547A270",
-    "metadata_key": "1E7A975F40C89469B15AC5375E4373BF",
-    "section_mic_hmac_key": "AE063C8CFE9CE240A12A366F41D2A4B4A8A8BF6A1C423E8B70B3B47D15CD6A5D",
-    "section_salt": "78E0F69271423A55D3CE7B9BAB03CA97"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D2CBD32D735A997DA15835EFBFA7373",
-    "aes_key": "00FB26A966AEA71F4F3F81EFF6E5829E",
-    "data_elements": [],
-    "encoded_section": "379013B611C34F3E2A898D28DFF2CAF8F00DEE911000BAC5A68FFDDEF9369C1C0BC7CC3720309001B9E0939D28E54DEE710832446AA1307C",
-    "identity_type": "private",
-    "iv": "2A71513622E51E6F2108327F7097E087",
-    "key_seed": "F3BA939307B540A9669FCF4BBA080D1ACB6CEE90C507BF68A4E6AA370D7D984D",
-    "metadata_key": "DA78623C0201AE798FFC6E8F80F84884",
-    "section_mic_hmac_key": "7F14654F8045636DB98447C3BBF86EE7A1956CDFB14CE500A7D8F98C15A43011",
-    "section_salt": "BAC5A68FFDDEF9369C1C0BC7CC372030"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "77ADB3A8157794B68D57E93BF8859870",
-    "aes_key": "4F6EF047DDC92999AD39D14F5E9E8EC0",
-    "data_elements": [
-      {
-        "contents": "4479FC904BF6F8",
-        "de_type": 306
-      },
-      {
-        "contents": "C97FAB7582641A84D1D8FA",
-        "de_type": 403
-      },
-      {
-        "contents": "785BDB2AECFE00",
-        "de_type": 132
-      },
-      {
-        "contents": "34EB7B5DD6FF9A7C75",
-        "de_type": 660
-      }
-    ],
-    "encoded_section": "659013283C8CA35E4ABDC728046AC5E81C10BC911000479E4DBF68E781F32D60231F00FADA7B90012B74C5F9D7D1ACA3B1FDB3BE49719E5B9FB7005799CDED08ED36939500614AFE7585F03593DD5A9C6F9D58A2D508BC234C4471D86AF173D7FDFEF2023448",
-    "identity_type": "private",
-    "iv": "3DCB029A083103E2C7C69763285546A2",
-    "key_seed": "8951296E131C87D3A0A8F8A6E3F91B507A9FC625F2209CFC470E09AB7ECBAEB4",
-    "metadata_key": "E621F60D8C3E75309AC74418E87493D5",
-    "section_mic_hmac_key": "7BB1F0E37007179FFF5E50DA154C0AB6DC07FB15A3A8C2B9CB80FB0B22A3A366",
-    "section_salt": "479E4DBF68E781F32D60231F00FADA7B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5523CC0A3ACAB8E002C5B03E4808D625",
-    "aes_key": "A93EAD18C04AF23BA0B446769ED0D4AF",
-    "data_elements": [
-      {
-        "contents": "57CB2931FF",
-        "de_type": 736
-      },
-      {
-        "contents": "3BCC86FA67D655249461AA5516BB1059579B79",
-        "de_type": 61
-      },
-      {
-        "contents": "7ABEF8CE6D3F04A289C51F3FEEC213AEBB27F491B29F2812F9",
-        "de_type": 660
-      },
-      {
-        "contents": "857393CDE700048F7929F87E700697268B389A526F5B4B",
-        "de_type": 849
-      },
-      {
-        "contents": "DD1F9B8FC82DC694DCE9B17CE1FF",
-        "de_type": 903
-      }
-    ],
-    "encoded_section": "9B9013BFBF9B27EAFBBF9603C2ACA1B8D00B51911000A3C249C74FC22AFC978CE2AB76F99ADC900178863494C9773EF2ED49036A65ADF8B0FCB15AFE7E05523E02D4CA7347DB21D17F63773ECD2FDAD8FEE232AC5B3C3D3EBEFA8DDBD922DEB36CF1CD53C74B55B976651149CD3E192EE54750B4CC7C0108890C5B620F308407DDE2D9E61DDC47286033EC1ACCF7ACAB012F26C116AE0A1F4BA35611",
-    "identity_type": "private",
-    "iv": "ABF1E4825C9043D121C73EF13E7093BE",
-    "key_seed": "811D8AB3E0A91917EEFFE6A65492B725DB16CEF6AC605EC55A719CF855FF4821",
-    "metadata_key": "D0E00E77083797F00688A8B8432BA577",
-    "section_mic_hmac_key": "B1913208DA43E67D32EBD684C9E51C730CA7EA852C57A61B7EC3B6D296327E7F",
-    "section_salt": "A3C249C74FC22AFC978CE2AB76F99ADC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7B9E42554FB00BFC2CAA42EEBAF748E1",
-    "aes_key": "A93E1B7DC96488FC144480BB65A01C57",
-    "data_elements": [],
-    "encoded_section": "3790138A7CF75B48199BCD5F84CE324A50434591100083E5B4BC98CDA2E4DB2A784724360B57900214878DA8B2CF9E53C4506769CF1E4376",
-    "identity_type": "trusted",
-    "iv": "9779E069B6FA6140944F01A97D4BC89C",
-    "key_seed": "BE0D17E6FD478876E8B9BB74BA9EB382D38D2B98637A318D609A377CA7B83480",
-    "metadata_key": "5595C8B32A8E9C4C83D565DE60F704AE",
-    "section_mic_hmac_key": "7DE7B0C7C21CD1CE05291A17EB174ED90CA69598DD3085DAD647D6FE71A0E0CB",
-    "section_salt": "83E5B4BC98CDA2E4DB2A784724360B57"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "660D2523BFEC72D9DFA03CFCB4094237",
-    "aes_key": "EC158E6BDA8C755EDFA4E7E40E38469D",
-    "data_elements": [
-      {
-        "contents": "CBDCAACFC2C1898E42CB7A27D4661011705D60C5F32DA720C800",
-        "de_type": 965
-      },
-      {
-        "contents": "8F661004B6A92E32BECD006F274BABC1ACC2D3A90FACB1FFA87EDB06",
-        "de_type": 710
-      },
-      {
-        "contents": "626C92A5FDA9B4E1",
-        "de_type": 188
-      }
-    ],
-    "encoded_section": "7E9013F4C1C954AF5D56967CDC2892BD9A9D019110002204CAA1D9652AF0E2DB758DDA67ED3490016FB87E2EE1E01DE9673E1EB155582A33E799954ED39A22240BFC01E566CFBF7B6D67BE1DB06FB422AA106DA95983C2D230A1BE5C31D12A15F84FA7F580532B15AC0376768035A69094E530B9050A99028721CF9BCFC70C",
-    "identity_type": "private",
-    "iv": "8ECF0A26DDE36F8B649DECA07753D512",
-    "key_seed": "5C7C830B694068C1EE51EF76A04D99C195B8A1836095698FDED6934FE84DCED1",
-    "metadata_key": "3257B5AECD39C702BB9D5DF3D8A3F617",
-    "section_mic_hmac_key": "045161FB09CE9C68B8F4F79F8ED355A581305F8B9E92503C1274FAEB0F333BEA",
-    "section_salt": "2204CAA1D9652AF0E2DB758DDA67ED34"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "941BAB785F65055B50D126F54845E785",
-    "aes_key": "36AC7BB4C245CD5A4E082AB5820EFC91",
-    "data_elements": [
-      {
-        "contents": "2B78D10F49303E6870D7D466267F6FE2CD3FFF2545",
-        "de_type": 355
-      }
-    ],
-    "encoded_section": "4F901362962B873249BBE0926B653C83801D70911000AB6695F933776370BBC72AC0856836489001E7C16A69C4CFD200DFB8F7B42153F8A70A967EC5E42D4D2EFD82CA7DB23BA8CDFFF0921EBD24343F",
-    "identity_type": "private",
-    "iv": "C08AEFE2C72088FA9684354784D5B33D",
-    "key_seed": "B20D5B6D74823D69BC64FD37C1298865DE0C23FAB71DACCF4BD83CC5AA4A6F87",
-    "metadata_key": "643E478373531F6F17E71D77550A819D",
-    "section_mic_hmac_key": "4130AA9A3A6E3B0AB872AF92A125F5673A4CBCF6528884520AB8E8A239D93660",
-    "section_salt": "AB6695F933776370BBC72AC085683648"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "455F57E0747AE27EC84FF60FBDAD21C9",
-    "aes_key": "10A3829309D3BB339971100F42811992",
-    "data_elements": [
-      {
-        "contents": "003457",
-        "de_type": 798
-      },
-      {
-        "contents": "6F479F21",
-        "de_type": 728
-      },
-      {
-        "contents": "B815202D9A4B1DFE2A29282156288A",
-        "de_type": 592
-      },
-      {
-        "contents": "F9CDED3294668BB0FD17353C62DF3B78FD85DD",
-        "de_type": 311
-      },
-      {
-        "contents": "7A8C86FBBFC0A452B1B6D1CCCD05D5B3C0D3D519",
-        "de_type": 641
-      }
-    ],
-    "encoded_section": "8390137EFDF8FBCA2BE02D60FDA5CDC52DFDEC911000F9AB6616323C5ACE5C8BBC2F57A4AB0F90012AC5B5D47CBD499393205125BBA713DD97759656839106EA68290A930C46FD260E464B447024CC6554323EE4569315B65BCF8838C238A98F5D07BD4D2545DB255A91C9B878E54B5FA09F97C265623A26B01052F91797C11F9B6B36D6",
-    "identity_type": "private",
-    "iv": "F32FB41CBA0C981CB22F0EF3E128EA1B",
-    "key_seed": "2876E980A8F706B04EE8BC575F7F37E79118170235F478E82333F5592FB95A4F",
-    "metadata_key": "B7657539A88CA716DABF9DB888FE80C4",
-    "section_mic_hmac_key": "078EF4BA19AD750FF10E9234E6F176F4CCD372371D1A1D3F22CE054FA7C8369F",
-    "section_salt": "F9AB6616323C5ACE5C8BBC2F57A4AB0F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D2DB2DB9A8BCF5AEF392BF7F8EDB59EB",
-    "aes_key": "89A33186987B8B2D38B8DAF629F6BB21",
-    "data_elements": [
-      {
-        "contents": "53DB5DDC34D45ADFE541BF69",
-        "de_type": 875
-      },
-      {
-        "contents": "832E",
-        "de_type": 697
-      },
-      {
-        "contents": "1E44D10B600CF4E81ED44BD76A4431B6C23805C1D3AD9DD9",
-        "de_type": 666
-      }
-    ],
-    "encoded_section": "669013E6A1661A04FF0FB79DA17C60495D887F911000426F9B2D45B1019868EA8D7A205A98C990015C3B65037A20CD24E568C61253296917152A7BBD973F3D7372E2207E3E95AA20F8B0E1BEEF741BCA197680E124C9DE12AC5015FB0094F3157A3176ECC58565",
-    "identity_type": "private",
-    "iv": "52FD9A08C2A4744A0ED4DF7DF5A1965B",
-    "key_seed": "1E1C95D178D5D3721482E1AB313BB1CC17CD81107270466954FCBB0AFAE33245",
-    "metadata_key": "8C9E4E3F1616569227DD78E8524FA000",
-    "section_mic_hmac_key": "08A59583A45FF4E63BD51BB22C22049438A228AB48E59DE4180CC9B13F48EF92",
-    "section_salt": "426F9B2D45B1019868EA8D7A205A98C9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D61322B59881683F4CA689625954B4BA",
-    "aes_key": "C5D0F13868492D25CCD7A9ACBB0821CF",
-    "data_elements": [
-      {
-        "contents": "F0D028E4A63FCF08590FE7AA1F78290A952D058A44E483AD",
-        "de_type": 255
-      }
-    ],
-    "encoded_section": "5290133934FA6C6ED6A147EC05881A8DBC9B9C911000D154AA47D8B433C113D44CE491BD27C99001B754FF6A6FAF35E8981928F2129E687D75C7D8A44A4BC54F0A5EAD534A0E8D814D20B27456D3B4DF49DC40",
-    "identity_type": "private",
-    "iv": "39D3563760AC6862EC2BE2D078617533",
-    "key_seed": "9A8AC70E3C17AA4920C892C557DFF22DE933A5225517A506A4A2DA31AE8D13D1",
-    "metadata_key": "E3FD32B1669F4BC7CD8A270537729FAB",
-    "section_mic_hmac_key": "E66F30B485A5F04FF29CCB6FA9354EEFD9519EEC7BFDBFB867FEB3151D6F9A2F",
-    "section_salt": "D154AA47D8B433C113D44CE491BD27C9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8A71F9A833292722EB3AC152EF9E3C2E",
-    "aes_key": "D6C3FE4169BA5C1F7DD5E31A69DE04C7",
-    "data_elements": [],
-    "encoded_section": "379013091C3653AF02D4CD451FD1CC61DD194E911000D08DFCA5EADA20717FD66C7001A13AB89004F7BB3F2D2ECE19D69359C262107426D3",
-    "identity_type": "provisioned",
-    "iv": "D2F89CDEC85C3065FE1855983963A687",
-    "key_seed": "D3A4F31DF78BB537F4319E42EAC800AB91E2A4E0A4860BFDD8F24C38CB24A82B",
-    "metadata_key": "9FCAF36AF47A83C352D8D4DA69C6F3F6",
-    "section_mic_hmac_key": "14F18D13ADF4C22190EF457CE51A6575BAB65698EFD94FBE18CA227D5386E358",
-    "section_salt": "D08DFCA5EADA20717FD66C7001A13AB8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B56527D15C00EA6C1F64191500E82B17",
-    "aes_key": "6A43BCE02D294DAB0096FBF48E31B9BE",
-    "data_elements": [
-      {
-        "contents": "4634BF3FD479C9804459313CEA",
-        "de_type": 340
-      }
-    ],
-    "encoded_section": "4790133CBE647AE20CBC397A25F52A5B56C936911000A59F02BDE2106CF82A01787C33DF2A089004A05865B1C3F0DDB00C3434147F19F333F1796D784CFD0FA34DD93E3136BA3414",
-    "identity_type": "provisioned",
-    "iv": "3B1A323410690A2F02B5259796488D38",
-    "key_seed": "3AF4E5F9F468FC934D60EB5B64FE42E73F995ADF8530734194AC832AC71BD742",
-    "metadata_key": "8A76F8A2C4C7D2FF7B656DAFAF4D251B",
-    "section_mic_hmac_key": "0635464DCB6685C1D8CD3340BB3E81A1247AFF24A980B5E6690DECDC45854B75",
-    "section_salt": "A59F02BDE2106CF82A01787C33DF2A08"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BB563222EE04AC29FF7A04090A36481C",
-    "aes_key": "95C44DA79C172EA55314090F38767175",
-    "data_elements": [
-      {
-        "contents": "D75B5DDB4C68A3EA5441964A4D",
-        "de_type": 322
-      },
-      {
-        "contents": "37B4C50550C810B4C812417DEB4199026C9355",
-        "de_type": 351
-      }
-    ],
-    "encoded_section": "5D90135D599966D1D25825A58E1CABF51DEF0D911000C01337053877FEEE2433C8675EABA35D9004C3AB83900533AADA9D91C0B11245FE4C8FFEFA907B7F99C9EEA4DD312A7FDA8E24AB21207B8A383DE2F4FF33FC95873FDF96B3303D11",
-    "identity_type": "provisioned",
-    "iv": "17815F8BD9BFF92671528C5F612433BE",
-    "key_seed": "AA1CE89203994182C1FF59E97EEE5E15337C4FC31EBCEA71B890BA95CD103B7A",
-    "metadata_key": "FF7FF9290BBD363B0D43B3158D234AC4",
-    "section_mic_hmac_key": "3FFC5928A11FBE71404CC8CBB4BA8BAE630CDE5421E3165598B0404E72475196",
-    "section_salt": "C01337053877FEEE2433C8675EABA35D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FFB446A0CC75E485DC5F7D16E3B40C5A",
-    "aes_key": "489063A42F9BCD0D45A9A2E19A414039",
-    "data_elements": [
-      {
-        "contents": "62F1CF47D18470AEB527B7F6775296CC6EFE09",
-        "de_type": 177
-      },
-      {
-        "contents": "5ACEF1AA889FDF113138CDAE",
-        "de_type": 498
-      },
-      {
-        "contents": "34AE",
-        "de_type": 271
-      }
-    ],
-    "encoded_section": "6190136C2A97611B8AD5309E3CAB84A3CF565F9110005AD8B5A464405396CF27B92E3318855B9002C9BC281DB61BB7A2B2C669121E354A6D749B4F8891943647B28F0183FB7D0070AF55DF680EBD14987C99345BF20FC263B30FB8ADDD031444FA2D",
-    "identity_type": "trusted",
-    "iv": "D79BA5933791B503075CFC01E0FB7712",
-    "key_seed": "730687FF006CAEE1C0A66A01E54D4A7CF50BEB7A2D7536C0C4AEAB53E00F1513",
-    "metadata_key": "1401AE3D42B1A7EEE03E608B06B44F01",
-    "section_mic_hmac_key": "0270565C4972225F54D2DE44ADA82F04A11FB206EE8016554CE2E34150CBD41D",
-    "section_salt": "5AD8B5A464405396CF27B92E3318855B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AF42F66B6003BD6524B54DA8D2252AC4",
-    "aes_key": "12383F430FBF68B10F14C36E22CE44C7",
-    "data_elements": [],
-    "encoded_section": "3790132E7185611C4A574D7A958EF281ECDC9F911000AB00F549C0723FF724278B0E94281421900254511D764D856B3D86F6921C0B69BA63",
-    "identity_type": "trusted",
-    "iv": "02BC7DD34BA8A194DEB6394D367379A3",
-    "key_seed": "EAF9F8E130E1D639D765601C07BB3926936B173EAAC71351D43EDF767CCC7155",
-    "metadata_key": "3CED07F3973098FEEC050DAA89D1BAB8",
-    "section_mic_hmac_key": "5599A5813A1058AECC22B1B3DB8A24CE041AE2F6A287A7886C7131C67DCA6F8C",
-    "section_salt": "AB00F549C0723FF724278B0E94281421"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "25670EC81D48FF31F8771189AA170F3B",
-    "aes_key": "5461131B01024CAA85D6F3F04C747EA2",
-    "data_elements": [
-      {
-        "contents": "70F812A1C77562795B634A15",
-        "de_type": 752
-      },
-      {
-        "contents": "4A7098AB14408AA7A49E737FBBB777F0",
-        "de_type": 512
-      },
-      {
-        "contents": "132D64D069C144AA18E7515196547AD6E971",
-        "de_type": 313
-      },
-      {
-        "contents": "07F0E91FA7CEF471AF7E42C74DEFE8AB692B1B5FECD68E4EDDE089",
-        "de_type": 278
-      }
-    ],
-    "encoded_section": "8C9013A42FDE96C60F5F6E2292A1ACD8538E71911000C655B6AD55A141DDDDC8CA239D12944990047F71A803B61F1EEBC3D498E2916784FFA19ABBA694831D36F6E272FF47788F91DDCDDBCE7922E6410EB61D510D257B0A5BF1A89A2C5567300C40D27FA1F76D6C6D1F9DA88844E5B390D02F9A29FAEAF08E5A0401A824D58BE5489B6F272381628C0CE5D552",
-    "identity_type": "provisioned",
-    "iv": "BE73A8FB567E9F85D0AB30D9EF198482",
-    "key_seed": "5FBAB9B4DA6E55AB6A28DB0CFC1848B4B1A2A740176A41779A2B0CA53C85E0C8",
-    "metadata_key": "5A0FC8681CCFD973AFFC3A8A343F875D",
-    "section_mic_hmac_key": "01BD476EF165370B6064C3C61ADB7EB35C28E6AA661DE67AE23DEFD9BF0C62F6",
-    "section_salt": "C655B6AD55A141DDDDC8CA239D129449"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1698A0A2CBC569C04A8ECE5934215D84",
-    "aes_key": "67EEB4455EAB868F8530E5CC19A6D3CF",
-    "data_elements": [
-      {
-        "contents": "3F598536EC1EE56157FAC56036CA37D2FBD91CEC62CF817655879F6C6FD7",
-        "de_type": 699
-      }
-    ],
-    "encoded_section": "58901366D5FF91CA1E85781CB65F9F44A6A915911000D09661823870EA098CD4B79528F570549002B623382EE2174931E09C30B1EF4966869EB8E162A0B91F6299A507A566090E48B276A0AA84B82A02C9388E1572A5749905",
-    "identity_type": "trusted",
-    "iv": "E685B253F5DBECDE5E299677701C3C52",
-    "key_seed": "6F12AA77CA2C0963B48CA6117D5AA7971BD017CB4DCABA81A94027F92A478D36",
-    "metadata_key": "E91B270B0C39EE00A7445A9FEA85589A",
-    "section_mic_hmac_key": "A4D97829E2F5B49AA35B36C8FF77301335A033C6B4BB97987D119B0116A24E80",
-    "section_salt": "D09661823870EA098CD4B79528F57054"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "81CC782D7A1DD2CDC0AB810AB984643D",
-    "aes_key": "B0EB8589C9401F28FC0C26469D89A63B",
-    "data_elements": [
-      {
-        "contents": "D90FCFF0DAD5588D662E8A7486AEC74A9422",
-        "de_type": 382
-      },
-      {
-        "contents": "707B",
-        "de_type": 231
-      },
-      {
-        "contents": "6A6AA7D74F5FD3FC85A3",
-        "de_type": 733
-      },
-      {
-        "contents": "230C99B60765E1753C29C065FD9F9B7F512CA13613F1",
-        "de_type": 47
-      }
-    ],
-    "encoded_section": "7690130FB4E3079CDF302AB7752B12365B7DEA91100088A69F0ECC5AD36DCB48C315F22D302C9002FDE9D76DCF16CDE15E6497EFA632888F9CC783729E139D9B5A54CAF585BDCD3DE00C43748F971D6E8B945DD0A63A53ECC8405AD75DD96ED285EDB30010951E7D995334F0D562E5D5A96B7B69C99180",
-    "identity_type": "trusted",
-    "iv": "3F139EBD60CEE2DEFABCBE5D8C03CC33",
-    "key_seed": "C97A976A77C57D2A16038BF394B1ABCBCF2CB1535CAC921B837418C75FFED5A6",
-    "metadata_key": "253F314C26118C9FF2156BD6B103CF12",
-    "section_mic_hmac_key": "1C2FE36935B0D3B8B54F8F7ADA894CF63D60E34C4E43E3BEEE457239D9CFA090",
-    "section_salt": "88A69F0ECC5AD36DCB48C315F22D302C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3F68DECEB46FC2B26A80632B9F0BC551",
-    "aes_key": "AAB3D40BA404341AB33B80C75A455956",
-    "data_elements": [
-      {
-        "contents": "06A9EDAFCD584B6E38788637216971",
-        "de_type": 671
-      },
-      {
-        "contents": "2108A76D",
-        "de_type": 220
-      },
-      {
-        "contents": "E1AFEA550370A4D8",
-        "de_type": 302
-      },
-      {
-        "contents": "B089AF93656690E7F5D458574E009638064A02ADDD",
-        "de_type": 606
-      }
-    ],
-    "encoded_section": "73901363D824CD389AB1B5405A4084503F93F591100018C01A505928C235EC10AF668DB40FB390020577FABC21B8AD30907FEEE2AA7B75F0DD28EFCBC3A42056D1AAA57CEDC6BC99DDE47E5481C4AED0104EA28B805A32D55C06605488536113061524D6E8D3E082EFCFE9EA04C60E6205DFEA60",
-    "identity_type": "trusted",
-    "iv": "D24223CF7DD83A7A535C1C8C475F8069",
-    "key_seed": "6AB190C93E00BE55D327A52A7D6E2A6B55EA6BC42F4B4758DF942A0FEE5527C0",
-    "metadata_key": "0911EE2B4CE448C904D7EA949BFE7924",
-    "section_mic_hmac_key": "AB82958BB658137045E64CAB0BF661E3E93D0CD7E9E09F8C5094832C3F324770",
-    "section_salt": "18C01A505928C235EC10AF668DB40FB3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "16F428987093EF4C71103F7DAAB954D7",
-    "aes_key": "B654E0BC4980FBAEB1A7BFF6016EEEE4",
-    "data_elements": [],
-    "encoded_section": "37901338DF36C24A081C8C465579F807AE0D719110003EEF9CADA88DB5EA3CC0A49B3594282F900164F64D69E7941A231ED4B5655C92A27D",
-    "identity_type": "private",
-    "iv": "A08E3CAD668107A8797F8679F356AF13",
-    "key_seed": "E2C7557906E3BC6E94E7CE260E8AA2C1381629F7BCDE83BF6EBD249FAC95E085",
-    "metadata_key": "8C974F54F1D47E4E6076477FB073244B",
-    "section_mic_hmac_key": "5C1D2E2FFB430890D90C0A9D98C3E39F8CCE5C0F7134AA5C01E83F876C1B6147",
-    "section_salt": "3EEF9CADA88DB5EA3CC0A49B3594282F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A6ABE19EA26BB9FE65BBC1F644681FBF",
-    "aes_key": "8DCCD08E61E8BF6B3E29907C8FC4A48A",
-    "data_elements": [],
-    "encoded_section": "3790132CEE5446EF5E2D00BFDAA9BB01F11E6791100081833175A7ABCE8DC548433B6ABFEAC99001C4782C58F1F77A879FDB53B0D7DA71BE",
-    "identity_type": "private",
-    "iv": "89DD6857CF308FF28B8F20AD6121D2FB",
-    "key_seed": "BC9EBF601245D8B4FFB331D0DEEAFF5EB2F4D255B27CA6F589FFE244D7F8BA61",
-    "metadata_key": "CE7B6849F29274DA2B5153DA263EB715",
-    "section_mic_hmac_key": "77EABC4A9722507E888315D75AFCEADDAAE374D29D8482C32B49E4DE797AD72B",
-    "section_salt": "81833175A7ABCE8DC548433B6ABFEAC9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DBC312045F0B91D01D69B4C7D64CA84E",
-    "aes_key": "8AF7683D5C00432FF70F5C0F21B62ED0",
-    "data_elements": [
-      {
-        "contents": "8C33E56E140674BC4DE6B6E6503B665690A0A5",
-        "de_type": 962
-      },
-      {
-        "contents": "52A891F8F72BD3D53F300F6DF78386EEF406",
-        "de_type": 809
-      },
-      {
-        "contents": "E4B5E9A863195AEC5A1F58940287190C21F4EED5A114F9877D",
-        "de_type": 424
-      }
-    ],
-    "encoded_section": "7E9013AFEE4868B269521650E527FD6505254091100016B2164140F3A7D4D99588A1F07BB6829001627CA78389F5EB99D9DCF985143E7064B51264680CE657B458350306830F5330349B5943199B49D65CA4FAE46097C0FE5784578C7B937D17650DB5D7F9BB64518ECA0900F6537B0A1A9D9B09D72AAD18F927E8CE44B48B",
-    "identity_type": "private",
-    "iv": "EFFD6E65CE5969A045DC17F469C55D21",
-    "key_seed": "CF1BB3DCBDD1B4B1854312571D0D9E4CD3E51CB66886F8101DBA51454DAB3B43",
-    "metadata_key": "7712D6C6361462BB68F275E64847F92B",
-    "section_mic_hmac_key": "5976A38A5FC248E579FAA97C4AD81B01EDDB181D787DA79C55C6A5B2A3043320",
-    "section_salt": "16B2164140F3A7D4D99588A1F07BB682"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6EE5BA8B14844183D1C587D61EA65F06",
-    "aes_key": "8C770833C8746D89219288A5F1C77A29",
-    "data_elements": [
-      {
-        "contents": "4EE9017827E633A83A1F3DF3727636D33D68F25F096F",
-        "de_type": 70
-      },
-      {
-        "contents": "8E501147C6",
-        "de_type": 700
-      }
-    ],
-    "encoded_section": "5790134F8715DC2D2DD29001712938C4AC092A911000E5BE413F286D53CEB80C4C43A77C8F429001A090B0006FBA8B3AC2B4E6D8749565A555C2823BACBD6BEA07F06CD282865CDD8DFB9AA1EA9CAC5ECB512E94EAA509FF",
-    "identity_type": "private",
-    "iv": "8AC60B5B6C4BF4DA33864292D1A49040",
-    "key_seed": "256E590E325B44B0145FD955AA40CFE7AC01B57FBCEC373C94F17E1B9BBDFF20",
-    "metadata_key": "0B9043CF8075D46F3E0FC946A79A18D9",
-    "section_mic_hmac_key": "D3479310DD4C5AAB4263C51FA03D1F8593365098868C23A374211FCDE1908DC0",
-    "section_salt": "E5BE413F286D53CEB80C4C43A77C8F42"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D941C60088DD645313DFADB182C82558",
-    "aes_key": "E9919CDC3C08848B22D3C9AF7834E623",
-    "data_elements": [
-      {
-        "contents": "9BB7ED5BF7DC448BB3",
-        "de_type": 330
-      },
-      {
-        "contents": "D4539A5B30220667E3A4C193",
-        "de_type": 950
-      },
-      {
-        "contents": "57CB6A30E9BE0B44E14D42C6A9DF1F40F78E5A72CCAE8DCE6ED20E8B8D87",
-        "de_type": 94
-      },
-      {
-        "contents": "21EA5370D8F897F0C836F9C0D7D8D20D9031B6AE",
-        "de_type": 220
-      },
-      {
-        "contents": "1ADF486290D5EA500318FF",
-        "de_type": 121
-      }
-    ],
-    "encoded_section": "969013A9786ABE6D8971BD5514FDFA8CF2AC559110001142426FD9F8AC8E04980A76C8873DA1900263DC49F57C111C30ADA31DC772A46B34F87451042E48206D7BCEAA5D1C5511C413D77CEFEE13355DA1535D628BD04516B2983741CBB4266ECCC6252142347B8113956A28B3094390F7799F541BAB5FE11D7C3DE41C546B090467648933DAB1D5D4939B75B75C9BFA68FD0640EC3FD0",
-    "identity_type": "trusted",
-    "iv": "4C74A83C4F3D310530BC20A76606169A",
-    "key_seed": "6CFB25BD6F1AD54702025AA20976E8CC36E5125EFCF766339E9FF00608383FD5",
-    "metadata_key": "B6623EF31E56177E5E2FA2D34EF08217",
-    "section_mic_hmac_key": "1B6CE9263DCF22995C99D2E8328D6FACDC3B3729A0B2E8EEE4992C6231B5992D",
-    "section_salt": "1142426FD9F8AC8E04980A76C8873DA1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AD17F621C4099C16E1364DF5EAAD46E9",
-    "aes_key": "4162A567DD3D59242D948EC4388D3BA0",
-    "data_elements": [
-      {
-        "contents": "D1AC9D",
-        "de_type": 319
-      },
-      {
-        "contents": "AF10369D76F126F65771B19AEBF8CB7063AFDDAF",
-        "de_type": 568
-      },
-      {
-        "contents": "8EEB01E953A7DBD9FAE4543BAF174901D9946C89422B007F22",
-        "de_type": 659
-      }
-    ],
-    "encoded_section": "709013BF382460F591A5AF35356E3138DE8BBE911000F008A0E0C87CEC6F7481FAEE41DE2972900492A0930FDADCC989A95DA24F2BECB1F0120086D7B4BCD531450DF307DB40F1B3B6E2A2BEFB0F2A158EDA479565E941CEF4DD226E05EA5A377DC6BAD5C4DF31346DB5887886E07D1F5A",
-    "identity_type": "provisioned",
-    "iv": "E2E2D8C0EAECB4E929DFDAC68E4A87CC",
-    "key_seed": "6A41B3A483120C6592A27A6DA224A2CE97A3630D7380BA9B492B7670C2DCA431",
-    "metadata_key": "84B633DF772A8582F240990C6505CFFC",
-    "section_mic_hmac_key": "6DD9ECC46CBBD6FFEB27625580412AA19C944BB3EE91E7BDC856B7DEE375FE6A",
-    "section_salt": "F008A0E0C87CEC6F7481FAEE41DE2972"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EBDFB8A3FA70511CED2FD2BAC79AEA0C",
-    "aes_key": "6A02B7B1B88FCF1141E10889BD473530",
-    "data_elements": [
-      {
-        "contents": "78071178",
-        "de_type": 776
-      },
-      {
-        "contents": "49A8B73C22BDABDBF1",
-        "de_type": 36
-      },
-      {
-        "contents": "E34B4BA2CF",
-        "de_type": 205
-      }
-    ],
-    "encoded_section": "51901367AA7D0CEB9619E38E3BC8FF5C259F59911000282ED516C9E632397B697EC6D5C023189001E888308F07AF62FEEC9F6AF1492CF04DE123DE408A607131F4454B1439A68F73D2FD5624B674550A37F3",
-    "identity_type": "private",
-    "iv": "FF4CC7BD41CE43FFD5B10FB55AC1C4E8",
-    "key_seed": "2860FE966BB48A14B70CC4D212BA76776EE122D2A3C58A45001060CDCFBEBC25",
-    "metadata_key": "A87D121E726F9D661E37F5829450D07F",
-    "section_mic_hmac_key": "EED14F69A5D27D0ACDB1A1FDFF1D5FED2FE02A60F0597F60376092286816EB42",
-    "section_salt": "282ED516C9E632397B697EC6D5C02318"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF919F4B960D6466F6140686D0FA9252",
-    "aes_key": "E64125AAA9FDAC6241981F9DD418A55E",
-    "data_elements": [
-      {
-        "contents": "59C49F092732737FF5AEE11EEAA22EF01B0F8E8438D0BE8D8EFF99AF",
-        "de_type": 472
-      },
-      {
-        "contents": "",
-        "de_type": 38
-      },
-      {
-        "contents": "05F2391B9C27F2F93B4F90090D588DF3B94B1E",
-        "de_type": 920
-      },
-      {
-        "contents": "E088646F209D208B75C2",
-        "de_type": 573
-      }
-    ],
-    "encoded_section": "7B90137043A1380AAFA41C6CBE5A04DE25FF85911000C42674BE68576F2D75F9993288D240939004EB40F863F87FC7F36AAF85EB09F252C69D551F07DCACC4364B7D1470BD606DB9EB51F3EBF8721B9DF168910D7287029C237EDEDE9D4C07046349A46B7BB4ED83742649EC807874B64F3F34DD6F079C749D2C527A",
-    "identity_type": "provisioned",
-    "iv": "CB56304CEDF311EF61555C248ED67AFB",
-    "key_seed": "C7CA3CF04F910C2F618556A302B2AA4B21AD9C6D33B623B8D55D250468B92DD8",
-    "metadata_key": "70A8E9692001AAA64431EABDF02BCDA8",
-    "section_mic_hmac_key": "FD97007887547EE99A2BC7160E149E08A91C640BB285B5B80B3E18B3A87E7A60",
-    "section_salt": "C42674BE68576F2D75F9993288D24093"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B7D3C684246A638889A81C2A50D9CA69",
-    "aes_key": "3C90071725C2D7C73AF1A21FFC7DCE1D",
-    "data_elements": [
-      {
-        "contents": "8D580692F89B5EA1E3CA4154F0CDC018E0",
-        "de_type": 812
-      },
-      {
-        "contents": "C9E79F183FA7E85C6A93B992E99A10D3B9FC39",
-        "de_type": 160
-      },
-      {
-        "contents": "DB1462A10152",
-        "de_type": 248
-      },
-      {
-        "contents": "83067D1B116DE15914D21DAEEBBA563D9B11C7263399C97C91F267A9",
-        "de_type": 67
-      }
-    ],
-    "encoded_section": "889013120757F626EFF3FA706F5F7D9258F969911000C82A55BEE9331ADFEAF004B1F8411BEA9002269BFA035A00CFF999E7A24EEA0BDA41AF2435C3000FB78786E40EA307FF724CAF0E107ECC03677F508CFF053E269BEF7C643AE9FB379142A28C8B526720D5C02C616293082B34C65ED08F6D0A9B040A4A19907709AC21CF3C887546F6D4830DBE",
-    "identity_type": "trusted",
-    "iv": "8D1D26E68602B0801C1BA240B64AB2AC",
-    "key_seed": "0E7F40995A8CB111A533A7D3D37855140BE8A688302F897B91EE118209F89E0B",
-    "metadata_key": "44724015014CA24A6AD976E039AF5254",
-    "section_mic_hmac_key": "67861314F763C77B267EB38601ABC850E44635BB29A5E015A9BF97AD02B11887",
-    "section_salt": "C82A55BEE9331ADFEAF004B1F8411BEA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2275164A24418E8253458C856948175A",
-    "aes_key": "FCDA486D97B17E4B73B64FCB6AC2E512",
-    "data_elements": [
-      {
-        "contents": "62A5892D",
-        "de_type": 200
-      }
-    ],
-    "encoded_section": "3E90133D01BB959195FB48361985459C950BF1911000EE19D4FD43C4A26C45CCC2F73391D2B790018D15AE13971DFDBC5C660CE316817A9AE8DBD7388C7FD3",
-    "identity_type": "private",
-    "iv": "5F5F397CA6FE206A01324ECB021E3229",
-    "key_seed": "E62A5DFC2D220D5A60C44680C620B02EE4B967CA42C0662143C9301CE3647489",
-    "metadata_key": "69F403CDA27C235769E0B517D73371B2",
-    "section_mic_hmac_key": "336592D0479F0A275CE32751290E25373CCCC3DEF8A76D2E1E19EFEC29652BA6",
-    "section_salt": "EE19D4FD43C4A26C45CCC2F73391D2B7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D37D8224BCB2A88E8A32373B761C5ECE",
-    "aes_key": "299ECDF8023A36C8961C3847B7865F23",
-    "data_elements": [
-      {
-        "contents": "B2C987A7B7",
-        "de_type": 461
-      },
-      {
-        "contents": "5B5275A30550D0451989E8CCB707F4BB4E1FD7E4067559",
-        "de_type": 660
-      }
-    ],
-    "encoded_section": "59901351BC1AD8D62AD25E038519C98478075591100067A626FD764561B80156B43BBE18FE2290015BFCAA16FADD4E137A681CF88C1AFFE67981CA680202D1EFEF1539610538D8B2093E92A2C90B89CDA487E480ACA010EC5696",
-    "identity_type": "private",
-    "iv": "84E53FE82B267ECCA4C338365D976371",
-    "key_seed": "D054FA0157A869AB9D6ABB5966714E4699E3120582643226CCFD8172DFEDDBB3",
-    "metadata_key": "3BEB83127D47BFFBE32C9CB76F2F95BD",
-    "section_mic_hmac_key": "A41BBD631F9F0DAB81C18776F6877DEAD586AA8C2822E14910DAD1256FEF741E",
-    "section_salt": "67A626FD764561B80156B43BBE18FE22"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C7053AA74A4BA2AE0F70F44E089D29D1",
-    "aes_key": "65F1F9E585E540072E2DE478FE1AD76A",
-    "data_elements": [
-      {
-        "contents": "1A6312AB5101EC2B51494185A33F7F7CA3D3AA6A52F9BCA5",
-        "de_type": 27
-      },
-      {
-        "contents": "626A45FD",
-        "de_type": 163
-      },
-      {
-        "contents": "2AC1B1D049847CFEDD3EA121A0EF",
-        "de_type": 805
-      }
-    ],
-    "encoded_section": "69901379404B1053D12C1265E80377181C80079110001D9694EAFC36DEAD331B1AF01E6FAA569004F2611593ABA4DF715ABB0A60045DE939CCFF012A67BE7120EB8622F467C40A55A438E9FAC305C7F3DD3D7F1575561AF3B80071400A1E23474E4FE5A753060054AFC7",
-    "identity_type": "provisioned",
-    "iv": "BBED73E1526356DC7465518B78F1789A",
-    "key_seed": "4FF6F2ED889471ADE07505655C61FC55A296E2A781ED23D697FEC64C46F7BFE8",
-    "metadata_key": "02EB04450E5882DAD40B9C11E74ED571",
-    "section_mic_hmac_key": "BD2564C4DF163F2CFA403BB08891432ED59C1DAFAA05014FDD02DB19006E41F1",
-    "section_salt": "1D9694EAFC36DEAD331B1AF01E6FAA56"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2DDB3F10CE6908DE4064A6EADAA44CB1",
-    "aes_key": "D71B858543B064C2FA1C226CED9715D4",
-    "data_elements": [
-      {
-        "contents": "3C79B5CCA08F604A35179CF79E27EE4088EAF9284082C9B9C6E5A6E3",
-        "de_type": 98
-      },
-      {
-        "contents": "6147",
-        "de_type": 603
-      },
-      {
-        "contents": "A5327E05BDBCCBF609037A6A47ABC084",
-        "de_type": 684
-      },
-      {
-        "contents": "FDD029D869BC2792F863D0A330B26BA567F312",
-        "de_type": 660
-      }
-    ],
-    "encoded_section": "83901346D8A7AD53629FBFB4554D2893B59A3E911000193EF4A81E23010C50F7AB9D66E7B1F99001D4BBBA69FE1C5DA04ABF63E88F73FE4AEDA30C5D6AEF3F2E38F53427C49EE027B70FEAFD31011161C5F054CC6D4A916EE183785B7384149E601390215DFC3815E502695076125919A5D0A396C7769222A3E1CB02D660F4FF07F695F2",
-    "identity_type": "private",
-    "iv": "24B30EF97AD89F61F32199637B14D984",
-    "key_seed": "AFF8A5868B46113882EDCBAFFB25259BDB083CF55DDD4EE8CEA0BBF5A8E20783",
-    "metadata_key": "54ACE29DAB4432CA8456C3606A3A3285",
-    "section_mic_hmac_key": "F69C1B262B9E5E9E937CE8396D019326A61FA1598383147B8864197F7E1748D8",
-    "section_salt": "193EF4A81E23010C50F7AB9D66E7B1F9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3B652C1DFA6EA396CD6299D7C2F1FC99",
-    "aes_key": "C74B97594BAC6BCB81E06F3860424E34",
-    "data_elements": [
-      {
-        "contents": "29ABB0E895D880",
-        "de_type": 996
-      },
-      {
-        "contents": "68E69922B69FE5381A0B6FD2B3",
-        "de_type": 210
-      },
-      {
-        "contents": "1AA391EC93E13CB834A47EBB0D3C",
-        "de_type": 457
-      }
-    ],
-    "encoded_section": "629013C84639CCD7C09FB779FF9746B0D86675911000CDEC9DF81798E081266AA31A02A495F09002AEBB7F8E231C56ECEE3CFE99FBD91140E8BD6E472F819590F8C4407D808E44117A9E6450CEC6AEA3421C3CF6C3A17D76F4BED944670B334DF6ACF8",
-    "identity_type": "trusted",
-    "iv": "B202A0324BDF0E7D7D79A0FABD70C00B",
-    "key_seed": "8211EFA73C0465A1C10B9518F949E4A9E51D9844F8A714E96AF4020A7BDC03F3",
-    "metadata_key": "90634220E3FBAE89FFA4415C6717013B",
-    "section_mic_hmac_key": "AFC6C865E7CE529D7BA7137EA854E27BB97DC12411B15FC5D2CF5661705DF098",
-    "section_salt": "CDEC9DF81798E081266AA31A02A495F0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A807B550B6F46E1AE79A6963B4EF980",
-    "aes_key": "B267961F7035BA20C9ACC38375A8B8BA",
-    "data_elements": [
-      {
-        "contents": "883DDF57",
-        "de_type": 378
-      },
-      {
-        "contents": "5D7C88A0669FB0",
-        "de_type": 65
-      },
-      {
-        "contents": "B735EF9C0366D2BD9A208B7DE02C2F6316739CDAE55A161AC5",
-        "de_type": 883
-      }
-    ],
-    "encoded_section": "639013EA03F4EEC56AB81C3840FE707CD0EFBB911000C7A6D417E567FF06D8580DEDB22B6AD790012869A0017974950F3D3AE671F0B17C46335580B531F54DFEFE20792D26A9CBC80E562100C19F01B6AB91652AE86A1DA3BAA1B1BAB6C6142806A518A6",
-    "identity_type": "private",
-    "iv": "0F1F6DEE9C4E6ABFCA411807FC543D4F",
-    "key_seed": "2AE4038986ABFB4F994675F74257DBA4D1421BB7FC26EBD550902478326516C1",
-    "metadata_key": "0442ABDF1AB578F04E9828DD59C89747",
-    "section_mic_hmac_key": "BDFCD117EF5E7BE2DE8DD21889827C98D3F04E1DF008171A7F780F364FEE870C",
-    "section_salt": "C7A6D417E567FF06D8580DEDB22B6AD7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "776476995C0D81CC3EB4BF74DA38DAE8",
-    "aes_key": "F7B37CECCCB3A565FE1CA8003E320EB1",
-    "data_elements": [
-      {
-        "contents": "BFE38787DFC2F2E3D6E3B3C87F815EEA76D65A215C71",
-        "de_type": 171
-      },
-      {
-        "contents": "FDEC8C66519082CD2A451946464B59",
-        "de_type": 236
-      },
-      {
-        "contents": "9E90",
-        "de_type": 49
-      },
-      {
-        "contents": "3572D5AC806B58595850066B1725445CB8",
-        "de_type": 327
-      },
-      {
-        "contents": "BF3ABE62A330",
-        "de_type": 696
-      }
-    ],
-    "encoded_section": "8390131C77D267901CBF78476EF0C05DDC63C591100044DD945128151D3723FEB2519B34EC1D9004652B4B46B0FE74A2B003FB8DE0B02E064E02544FBD3F094FA6D08F17BC432C0E33DC15EE29ECCEADAFA28E6D97942CEAACB9CA570F7C8E18EDF12CDAA49D314049FBEC0D3986BE84CC8D7E5D5D6F4375A5C24980753F106F6DCB2544",
-    "identity_type": "provisioned",
-    "iv": "15CD9E5FBF435001DF27D9AC024E5168",
-    "key_seed": "3F81DB1789AE3442A9D41D4E812CB79D5956A9AC3144B0915DFCE60F0F81FFC3",
-    "metadata_key": "4DBCE7E27EC36E0D440AB84EA5F8BB43",
-    "section_mic_hmac_key": "30DE6D9065BC10A08AA0E19A128FEDA88875C36F07B91F83B03E4224E8A74513",
-    "section_salt": "44DD945128151D3723FEB2519B34EC1D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ECA254EFD9254459DBDBE5273EA5F20F",
-    "aes_key": "0BC0403DF4AF8576D78A3BB0D4FDCC07",
-    "data_elements": [
-      {
-        "contents": "2F00BEF93EA080BEEAA53211087262B08F",
-        "de_type": 387
-      },
-      {
-        "contents": "5A90C81267154FCE624E6CEA5DEA28F2680EF8513A",
-        "de_type": 446
-      }
-    ],
-    "encoded_section": "63901363C6D2E7FE3933E6E8C471788DF819C09110008B835CBB4228316A6BB5B90E18A8129490011E6DDE87751A08BDD4CE6EFD8793A3904FC0F36CC6BB1EF5EEA2E31100FE6E7E9A46F882E749F96E2C0661E5840221A3B8A51F54FAB65E9210C9FCB2",
-    "identity_type": "private",
-    "iv": "DB42DEB1413B50415B6A102990A829EB",
-    "key_seed": "D19CECB68227395C94499B9CC6894791C0E82E27127CD7682E7DBD8F9490F767",
-    "metadata_key": "7D38C494CC9126F3A5BD9628E79753E6",
-    "section_mic_hmac_key": "D3B48E774D5ACDB850D28528416D9082C05293E9D8D3D1899995BCA079813485",
-    "section_salt": "8B835CBB4228316A6BB5B90E18A81294"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D40604809AE5414A69F499F9A2084923",
-    "aes_key": "43DA76D20A53C5710A6C8F0F23BE369D",
-    "data_elements": [
-      {
-        "contents": "6870D2577C383B1AF270",
-        "de_type": 377
-      },
-      {
-        "contents": "807C81B75BE63B70659AE0BF8CF98D",
-        "de_type": 468
-      }
-    ],
-    "encoded_section": "569013339274CBE7D243DB20B292B6B966C0D291100030135510DBAFDA8C02CE0B4B744849CC9004EBA03D2B32850AC067301E495DAF062BB6A8F42DD991AC4DB31CAECA481B4EE1C2C26420AE65E5C90E732CFDD1DB56",
-    "identity_type": "provisioned",
-    "iv": "D2ED05465CCD69AF9831D0BCEE567D33",
-    "key_seed": "43F86EBB5F1440944C76F2C1EEC4EA165CD42A18E4DDEED0CA71F3B02545C5A0",
-    "metadata_key": "21E1FFA752F642FD002CF75F03582A03",
-    "section_mic_hmac_key": "8D6D65F4C2F58AC8158EF41A66B55AAA11748E33D0E7AA767650575CD25707A3",
-    "section_salt": "30135510DBAFDA8C02CE0B4B744849CC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "926C1D3213E846D408D5CDE85933B335",
-    "aes_key": "9F95537E5023A014C7F72E7CEB7D4464",
-    "data_elements": [
-      {
-        "contents": "57CAAFB0DDACEEFAF44DBA2DED57871F9B515547",
-        "de_type": 928
-      }
-    ],
-    "encoded_section": "4E901348A78A9E475F21CCDD2623E5AE795ED6911000A053D3FD557046F3B2EFF163A286FFAD90044495EAA257D8CB317317797423C05C60FA98796BE873025FC53D7E00BBA1DEAFE8836981267613",
-    "identity_type": "provisioned",
-    "iv": "99D1B79A79B7F1E4847C100368EC5125",
-    "key_seed": "43D16F607338CC46B1C8FF4BE147FCB700E0B2511657B6F9FF01DDBC2D3A342A",
-    "metadata_key": "D68EA89AD98D6D24E8B7B82AB7536740",
-    "section_mic_hmac_key": "32F44768525E151F19138193CDB98D65A034F25E801F6C8F33A82B30FA4D0E73",
-    "section_salt": "A053D3FD557046F3B2EFF163A286FFAD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F864FB2EEE7E1ED4DF98C3467E48B8C3",
-    "aes_key": "CC29A730AAE43BD7F30415E1A051A488",
-    "data_elements": [
-      {
-        "contents": "C6DC7C08",
-        "de_type": 253
-      }
-    ],
-    "encoded_section": "3E90137833ACE50465F931877DB7D7AFB960D7911000D27E59EA9C470CA9F69FFAD69B551F6C90022F92AE5F85FDF07BD21B155FCB131B2E5E9CECEB47E6A4",
-    "identity_type": "trusted",
-    "iv": "275F908574FBD8A2275047C81C121CD7",
-    "key_seed": "D2B7827360775208AF3BB8E7490C3C6D5028FFB96EE975FC5734E38222B9ADDF",
-    "metadata_key": "234339063D81600FF7474FF6211ADEDD",
-    "section_mic_hmac_key": "7ADB9CA113BCD62008945F73FA7994733668E83A8AB7B9CA91070BBC7815437C",
-    "section_salt": "D27E59EA9C470CA9F69FFAD69B551F6C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "09CAA0D1CD15329ADC186D389540E0FB",
-    "aes_key": "7FBE39B5E000B0D4D4310F86C0C77257",
-    "data_elements": [
-      {
-        "contents": "CF5A0E6FC4323ED2962E29A32620F94D",
-        "de_type": 22
-      },
-      {
-        "contents": "5FA1",
-        "de_type": 475
-      },
-      {
-        "contents": "F925E11BAE8107FCA842E3FF3DEDA2B457492AFC00",
-        "de_type": 7
-      },
-      {
-        "contents": "2EF99B",
-        "de_type": 436
-      }
-    ],
-    "encoded_section": "6B90139ABB3280E93847008026A21A68DD8389911000410866079E5D5895F00BEF4E871EDB07900213C71635A353B960F1FFF8C887A29746EC545860C2F7A2C9E648FDCA182ED91B9898F8040A51988D57DE0072219221CD042F325A0D7F5E3729F2A57A7264137EDA44A505",
-    "identity_type": "trusted",
-    "iv": "068DAEEF03EA46D6FC6CD92C3380A259",
-    "key_seed": "D1FBE8A8B1F0A0CCADF811DA6E544082D29F06086D81D2292B8C6E74D9D5DF1E",
-    "metadata_key": "1AFE5CC550D16DE87D2B0FF7E6819703",
-    "section_mic_hmac_key": "F1C2416FE95371BDE2A956F01F87E4EE9846559BD49E595E7CF12B94B12112A8",
-    "section_salt": "410866079E5D5895F00BEF4E871EDB07"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B52500F5E788EC0D9F202750CAC085F2",
-    "aes_key": "AFC28DEB740608CEF6933F762B5DC760",
-    "data_elements": [
-      {
-        "contents": "CC71059E41408063",
-        "de_type": 815
-      }
-    ],
-    "encoded_section": "42901380AED3DA4C95EB79F4EE45542D6E0DE4911000E4028B093A498111783EB7DD8699C93D9001A6F9A9F7B35C4BD33BB58A778EE44DED05555AFCEF345B8D569079",
-    "identity_type": "private",
-    "iv": "23C6574F20E50D4F213492150AC24286",
-    "key_seed": "91D3A91830E1799A07EDB05207CEBA50D0028C33A90B491BEC4FDB2125865278",
-    "metadata_key": "92C66C8FE82E8DBD7E8BA7674E9C6D62",
-    "section_mic_hmac_key": "7CAA4DC585DA1048AA5D8C6E651593F69CE6271C01908D4029BE1AB88225223A",
-    "section_salt": "E4028B093A498111783EB7DD8699C93D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F0F4AD67EBA779F535AEDC38D65A50FA",
-    "aes_key": "C4D22667103D39080515F16B399C2B1E",
-    "data_elements": [
-      {
-        "contents": "BBCE",
-        "de_type": 736
-      }
-    ],
-    "encoded_section": "3C901312715A779B6C3D834913F48E32201929911000317B2985660C6467DEA5DF915C1B01EB9004472D6C62E2DA0443EC06282742414A522F6BB01D1E",
-    "identity_type": "provisioned",
-    "iv": "D603605B1B5BBC279CB53CB62864755E",
-    "key_seed": "72CEC520E533E54D5A1ABE67BE9EDB9D24467FA17223625EC4F9270492D4A112",
-    "metadata_key": "1CEA77C0C5AE8B84845B85C7B74019D3",
-    "section_mic_hmac_key": "653ADDF62F68AED4759E0C3502FC0DE4B2090880EF84863E28B682064F67C519",
-    "section_salt": "317B2985660C6467DEA5DF915C1B01EB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4B6F7D8078261461839557F775072AC7",
-    "aes_key": "D33613E0E705E3BAF1AB414E7B8B371A",
-    "data_elements": [
-      {
-        "contents": "4A570A844770D914B0535BCFEFD79151C420E51AA33CA9",
-        "de_type": 449
-      },
-      {
-        "contents": "DF",
-        "de_type": 488
-      },
-      {
-        "contents": "5AB21ECD1526FB43A2E6414C23C7",
-        "de_type": 597
-      }
-    ],
-    "encoded_section": "66901382C6BDC0EF1DBBAA998D10EBEC81B61D911000BEB184901DA4A24184AEE1C55976EF7790015B749B64DF8A580F02266F611E8C8C7D4BDC033D3CE18C4945CD0769FA01B9D6DD8FF07789C44510A075008C8C802ACF280233C71C1ABD3BE2599087F83A62",
-    "identity_type": "private",
-    "iv": "B9F7A23E2F58C8D71C60140FD2E3BBE7",
-    "key_seed": "BA82C25F8A56CAD3684A3F58D67C7A86B4945E30D802589ADEEBD5C3D511C0C4",
-    "metadata_key": "F2DCCC3A2933263D82ED2B297E474826",
-    "section_mic_hmac_key": "4EE3CFB20981FC63CB453B5E132E5F2288FB721FC1AB883F4E76E6BBBB80C836",
-    "section_salt": "BEB184901DA4A24184AEE1C55976EF77"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D8E5FDD20871FD58731256D0CB62C5A2",
-    "aes_key": "81F7ACCB7AC20D054E182DF743F2AB1D",
-    "data_elements": [
-      {
-        "contents": "A6E35C990A736F98F18D46BB8B45BF506CDA38175F",
-        "de_type": 563
-      },
-      {
-        "contents": "",
-        "de_type": 685
-      },
-      {
-        "contents": "874AB6FD2685235570223B8385",
-        "de_type": 470
-      },
-      {
-        "contents": "6108D0C9F1B5E5CB8FB07EB6416867AFB020BE19",
-        "de_type": 655
-      },
-      {
-        "contents": "6EA64895FF65D99FDB904123E5F27EC2F0E9A97AAEE6B538C49B26F8C473",
-        "de_type": 351
-      }
-    ],
-    "encoded_section": "9A90137ADF3C84DEBC92F97B49EA4834A4EBE4911000B1E4987063CEB1317DE77C59EB0EABD8900431D8888C02834CB45FE988BF006D1432BF8DB613C713F2F96ED4D664CFDDABEC4319489E16C0007A21759E65CB769F8C96B83998C249F827B6FD8556000D46CD64428BFB6866834ED512101F88D059230260245D767036C70C233D0AB7C08B551D85419007BDEB71A0B1E33189FACB8C9B9F65",
-    "identity_type": "provisioned",
-    "iv": "FAB7B8F8457C545C22003AC5688B99A6",
-    "key_seed": "D9066D7E1EC8750F01AA286D6C0EDFFED57F08E546D4BCBC37F11E1884D2737F",
-    "metadata_key": "2847567D7BB29F859D0A6BC885863F05",
-    "section_mic_hmac_key": "A2040734F9568DB02016A4F637352BA3E9170A92EC7320BE2806396ED4827FE9",
-    "section_salt": "B1E4987063CEB1317DE77C59EB0EABD8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AFDD41BE6280A05A4A182FDDBD8556BC",
-    "aes_key": "1DA3396BF0DDA834C815856E590D10B1",
-    "data_elements": [
-      {
-        "contents": "9B41A639FC2D04D26CC0D9EAEE9D214C127C481DED57FBEC2950852964",
-        "de_type": 261
-      },
-      {
-        "contents": "F3E90E9164C65F910F9AFC0D3D91107C46A0A18882A25C6B35",
-        "de_type": 797
-      },
-      {
-        "contents": "181DB352E5D07F6195FE073994C661459C171C9F109CBD715ABDEE7D",
-        "de_type": 733
-      },
-      {
-        "contents": "53161D8FB05C583C438417F60CD2C593088AE431304F3BEFF1E5B937",
-        "de_type": 26
-      }
-    ],
-    "encoded_section": "B0901306299081577F1C9415828166669B1282911000818F17425C86B46D19F4314DC23929F09004EE71DC1AA65D63AA0CD9DE7385172A9753FE6A42CB6EE3A75F4852C60B9081648278D22C0A2E6708BB2E4949086D1EFD6E4CFED85A6405F8B1CAA3C3DD14DF4160D4D590345D89AC83E27AFAB4C16238740466504647BCFEBD3B97DB4E0E94CAA14965A1C1F20C6589C7AA7E0F7B1B22678432254FEC8D79A0029DE579A4F35A1DD424468BD60E00F8",
-    "identity_type": "provisioned",
-    "iv": "D6C941E5267C2582F6BB2979EDB74CB3",
-    "key_seed": "EA39241FCDF3BD8D9C8F1D804A9C415F255924EA22EB3259B9EA106F84CA7A04",
-    "metadata_key": "1EB0839E25260819532489218DAF085D",
-    "section_mic_hmac_key": "724CC97DB96191B388126C7AD9192181B6DD813C09AC9101073C4189297D7450",
-    "section_salt": "818F17425C86B46D19F4314DC23929F0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "08EFA9C40E0A0036570392CD33DB1F45",
-    "aes_key": "56C7B28E8595C1A33D39AB4F8B140F29",
-    "data_elements": [
-      {
-        "contents": "C69770",
-        "de_type": 273
-      },
-      {
-        "contents": "ABE13AA30EC88530",
-        "de_type": 592
-      },
-      {
-        "contents": "D53E9C2881E7EEF2",
-        "de_type": 940
-      },
-      {
-        "contents": "A720A74DB9EDEC417C2C55A064353336D8EB0F3AA7B3",
-        "de_type": 443
-      }
-    ],
-    "encoded_section": "6C90135C7B1B79CD9BD45F21FB487249C913FE91100003081F0A5D56CC9F2C4A87EADDE0070C9004792D26E35675BF2F6FBC982F307C53936F49AF1AF5D87945942B78A15F8BBCC14021660FC4F8E4B00DAE05757A14C346EF08660F04A2F1BA65FD0E48190779C3C0689BAB3A",
-    "identity_type": "provisioned",
-    "iv": "61E889286F4D0CEEBBC96D05B3742610",
-    "key_seed": "A4AFF6856A7095C4B9DABDB1515C4407FAB5B905D0D58D798BD812842FED8CA8",
-    "metadata_key": "9FB8CC22E26477665685F51D727B2E09",
-    "section_mic_hmac_key": "1A637F0C06551F322E26314D9642C2DC7ACC72C9DD953A548B0B5F4E4EDB76CC",
-    "section_salt": "03081F0A5D56CC9F2C4A87EADDE0070C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "37AC5ACFB5D9A0305EA7BB5CDA443D11",
-    "aes_key": "E6D6BDD49482D54AE9C5AB69142256AB",
-    "data_elements": [],
-    "encoded_section": "37901372E83A536FE8DCE79BBB6DF0FC4095599110008E387F351A94036BFA085A8F6864730A9004464EEE74741C2C2629FE91C5502736DF",
-    "identity_type": "provisioned",
-    "iv": "B137733181B7AB2C833C606028FB6B22",
-    "key_seed": "F6D27F4E02DAC7253E0907998FF49D7A39391439377AB5EBE1F0137C336A85B8",
-    "metadata_key": "FA450266B083FBC3EB2C8692E7F5DBA6",
-    "section_mic_hmac_key": "DB503A7C3D87F83AA4C66220C24657F84518AF6140D55CCDC1EE611A3C20984C",
-    "section_salt": "8E387F351A94036BFA085A8F6864730A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F7E19D646D39679C29404EE3B6A34048",
-    "aes_key": "5E08BDDDBAC3331F8D8446C868788EF8",
-    "data_elements": [
-      {
-        "contents": "01F8CE76B237517269F2CDEA51F7B8",
-        "de_type": 445
-      },
-      {
-        "contents": "DA9EB0A51417DD89A87E69E1B3116DAB",
-        "de_type": 636
-      },
-      {
-        "contents": "9B6FBF25E22A186B2F1367BA94A80D880D647179BC392A4A68B4E4DB90",
-        "de_type": 635
-      }
-    ],
-    "encoded_section": "7C901342E89E1476F32CE4BDA127349115775C91100064F1AABAFC1A089A905BC9C5B4AE2854900149E174A599134E70CDACDFF18247C44F80F02090E0AF6DDAD80132F4843EC9FF8CB591D31FAA203E9AFE269A7F76A7E08AA0035AC8359CBC7D74DB6B6612CA9BBC657D9BD9B1F6615050A3D8A690C7AFFAFA67F7EA",
-    "identity_type": "private",
-    "iv": "1ABCBB904C64337AAB7BED61676CDE36",
-    "key_seed": "A004861A769F72CC50175CF18E439570E9ECEC2C784AF1B05B2EC10B40E05901",
-    "metadata_key": "8A5B72CB0CD76DFACC878DC16F43896B",
-    "section_mic_hmac_key": "6AB27792A42D0A05941D5D1431346BE6B5F245A6F137FF63E8C101CC545C9E0B",
-    "section_salt": "64F1AABAFC1A089A905BC9C5B4AE2854"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "034796B51E627F2138D8A4FB86959B34",
-    "aes_key": "036A24D477FEE94B8906821BFB6CF3BC",
-    "data_elements": [
-      {
-        "contents": "28DF05F4C663510E51CE9C01EC46117A1C",
-        "de_type": 524
-      }
-    ],
-    "encoded_section": "4B9013F9761369F75CFDCC25753E3962A266679110006E553201E38251B2EDC4E36504D7D7BD900185791665A709E7D80D9B1D7C4FF9C51E0A486C6AE1B9C63B0D233D845580067782694D81",
-    "identity_type": "private",
-    "iv": "2C13274C3949E9003F13C503E031E9B7",
-    "key_seed": "88C9ED0E90F51DCA3C12A6AD22F4639B8B8E7C276F98E94164837BD2C45C341C",
-    "metadata_key": "DE936A57C9D6BCAF001EC964B6C5EA04",
-    "section_mic_hmac_key": "70514EF46B1EE66FF24179E86CADE9551893991E76A99E8D10C70D2297F760E5",
-    "section_salt": "6E553201E38251B2EDC4E36504D7D7BD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "46184E36FEF285DC6E4F57A9C01538C2",
-    "aes_key": "A200BAF46DC86EE97B8FE5EEDB22CB4A",
-    "data_elements": [
-      {
-        "contents": "632D326CE5387E432410DE871CC167BB760657E21D",
-        "de_type": 421
-      },
-      {
-        "contents": "F36E9E2F130BC0254E4799F473D372C3486919",
-        "de_type": 130
-      },
-      {
-        "contents": "DEC218926E9C715196096355C86AE17311DC256F49",
-        "de_type": 172
-      },
-      {
-        "contents": "06DA3BDE65C616FC1F",
-        "de_type": 348
-      },
-      {
-        "contents": "50F9FD",
-        "de_type": 319
-      }
-    ],
-    "encoded_section": "8F9013FC2BEC7FB7E301EA360D6B3C0A0FAC6A911000DEF111A18B8FA9C6C326D4054421021090013023A39CD835BB827B0477272151FE970F97748FA2B575EF993BBF6175CAE761A96E3F9FB81C92A9AA6D9B06A19A5C3A88D601D1A67CC00C5E926A7CEB87EF0BAF0FC4F3B8A0925184D187CA130D900364D10122CA3CDBC30A6639B580198D459B88773B50F2EAB0",
-    "identity_type": "private",
-    "iv": "45EF8ACF1EA3FA8F1E19CBDE20594893",
-    "key_seed": "068098719BD63AAB986B7EA1D5881F6963A30AAA9C2E80E40059BAA15F0662FD",
-    "metadata_key": "B1D87DB284A2982EAA53C596995FCE88",
-    "section_mic_hmac_key": "258571568C4C153AE5597025CD6DC193B300B6A2FEB89A24682E7934414D5DFD",
-    "section_salt": "DEF111A18B8FA9C6C326D40544210210"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0DE15B10175F1DFF2628C70D0AED6B46",
-    "aes_key": "E90504071197BE226CD357D5E1AFBA84",
-    "data_elements": [
-      {
-        "contents": "A2531C952A42C417BB18C97ABEBF39505DBF6730C079B7D7",
-        "de_type": 497
-      },
-      {
-        "contents": "D0F28E7F9B6967A9199BC8B7D02399E87CD4C29995",
-        "de_type": 239
-      },
-      {
-        "contents": "",
-        "de_type": 210
-      },
-      {
-        "contents": "493816D45767C5A9",
-        "de_type": 684
-      }
-    ],
-    "encoded_section": "789013F48A6170B368DC90652516A11336D98F9110001F72FEC00A10F48A24F0BDC9E209A86090016DE45596DDD682BDB0CB6D432842C6653E61E074800DB1AD134A2D06A0F9EA32A67D3A000C3CCF76E2F12D59EC4C570A1796ED6DACA5428E45C9A071BB382DC283D4E67F77D5624D4F8DF9C8192ED8967C",
-    "identity_type": "private",
-    "iv": "628959806C6FD40FB815F90B8E383C92",
-    "key_seed": "38B809FA67BF591F2FC3ED5E89FF69196E8CEDBB2C70A5C4214FFDF0C6720A89",
-    "metadata_key": "683AAC0A90779BD7E8E6102C59C33CFF",
-    "section_mic_hmac_key": "9F76A1AFC8EC596D5C12E7B2703DAAB5C2147A3F152CEDD5569C004568545419",
-    "section_salt": "1F72FEC00A10F48A24F0BDC9E209A860"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A66D131470862B0A800CF36CCAF21F9B",
-    "aes_key": "A4E365EA6FC7E436B0803863A359E74F",
-    "data_elements": [
-      {
-        "contents": "37F6CB293369D0AE08C0CF498F725063BC941429D4748D88C1F5A8",
-        "de_type": 440
-      }
-    ],
-    "encoded_section": "559013340F4D1F8D98CCC159758FEFFCA24CB99110001549A78B42DC99D25E0FA7D7DAB336E0900461A9ADB4F53BC3EA94A61A8C9486F83C5A94D311D481D1E1C4B98FADD358CEF1E8C9E48997577EE881358BF6C720",
-    "identity_type": "provisioned",
-    "iv": "2E46CC58F90B1F259763DF87D28CFB5B",
-    "key_seed": "866216209CC3BA31A0CD00FE866C661906FD82FFFA1AF1FDDFE05CB3FE5D160E",
-    "metadata_key": "6E43E73A2F75C729FFC5EE5FFBD37BE0",
-    "section_mic_hmac_key": "386FC2463C51822E0D2E18CF7A0CBCA1A2259F0F97DBD49AF0CF76A070BDC5E1",
-    "section_salt": "1549A78B42DC99D25E0FA7D7DAB336E0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DDDF41B6ADF98A34F574AD71850DE058",
-    "aes_key": "B737AA1DDDF85031F002DBE5C45F3E20",
-    "data_elements": [],
-    "encoded_section": "3790135EA759302F33AEF062217EBF5A4B65E99110009BFAE224D28BDDB0C9CC5D46415FC3A09001084F44EB87F5634E839BEE652E071D6C",
-    "identity_type": "private",
-    "iv": "10C16D86C9E0BE1F6347112C21D5FB8E",
-    "key_seed": "E6582A2C793283D86BE936BC765C9EB0512329DA8952DA2D43DC010F82ABDE73",
-    "metadata_key": "860157134E0A0D7293D61B43F2587D9B",
-    "section_mic_hmac_key": "2506BB15AF3D9F480145093EFCC12190B38AF4BF2645C2120B4BD2CDE4F40C28",
-    "section_salt": "9BFAE224D28BDDB0C9CC5D46415FC3A0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "628478EA2295D16F6B27D99F0A27D544",
-    "aes_key": "78D9C68A8B7E0EA68509955971559804",
-    "data_elements": [
-      {
-        "contents": "4933BDAFCB68075E6CC5A5423F4C",
-        "de_type": 795
-      }
-    ],
-    "encoded_section": "48901379A1BB27F73791D000D5228DF7C135D991100081BA33E21FE4ABED1A04C9D95BC2D6B49001FEFD2CC7172F6DA36547950D23EFD1F9B487B44DF40F4E3EC3F0DB2C10C86272AD",
-    "identity_type": "private",
-    "iv": "93505D7F5898E41D69F7EA457DE34D54",
-    "key_seed": "0C8434F9786244C9AC393011DF523CDCBF30DD322487316CA06424819AD2BC67",
-    "metadata_key": "2129E9F8F1D9A4599073E55B273AE84F",
-    "section_mic_hmac_key": "1F04FFA93D7247CD23DAD80C54D3A02C0F6805F05D593A7F1969729E2B66E149",
-    "section_salt": "81BA33E21FE4ABED1A04C9D95BC2D6B4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6636A8179A7539B6C145AB036ABC61DB",
-    "aes_key": "52871CCD3C531DB8ED5E0CD2B9408382",
-    "data_elements": [
-      {
-        "contents": "4AF0AB96E0D92C99E994BFCE92BE3294658B36",
-        "de_type": 653
-      },
-      {
-        "contents": "4950FA0E9C1DD840913D09DFC7801DD66057D63E42B231E7",
-        "de_type": 35
-      }
-    ],
-    "encoded_section": "6790138403EE19A982413945659E727142CBDA91100060ADDDBBA5581E0492927FEDA1839F849001858A8DB882908AB6E59B43DD60DD864E39280BADE1F2263C2BFDB26294F6DD996C7EC2DBB9966A9E022C78D8B31C8A94D77E708F405B40AD605E35EAA7AD2B6B",
-    "identity_type": "private",
-    "iv": "6FCFFA1DD673BD46A33DCAD5D78A0818",
-    "key_seed": "435D4CFBFD90B09EB4FCB8618F4F3126B3941B90CC7781365ACA74B7C2419339",
-    "metadata_key": "720D20F73E7ED7BD2CFA70320D90CB4E",
-    "section_mic_hmac_key": "22C29F385E3F714233A8934D6D44C0F3F1FF950C26AF4786B49A3EC81A71C98A",
-    "section_salt": "60ADDDBBA5581E0492927FEDA1839F84"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C19D8AFBE64F931379D7EBF939CC24A1",
-    "aes_key": "9EFA45E698A339160EA80DF0ECF36499",
-    "data_elements": [],
-    "encoded_section": "379013B9692752CF3F41AAC03CA730A6AFC85C91100061DD84CFC18E2CBBBAB60CEB86ABE6D690013AAD9F2BF775CB780D9D8E13858974E0",
-    "identity_type": "private",
-    "iv": "BEB8CB30E6ADB86DEA9E572D0583A578",
-    "key_seed": "27A648DE4BFFF66325913B794954218B87ED3D79662BE80BC4AA978B26878ECC",
-    "metadata_key": "5DBFC0AE842BFC1347055279953E9BC6",
-    "section_mic_hmac_key": "9DF3EB07A1D92235053FE039F478DD9CB6A554F79CCE713C5C813019099ACE9E",
-    "section_salt": "61DD84CFC18E2CBBBAB60CEB86ABE6D6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7466F38050B9EEB5A0B483CB30465DC9",
-    "aes_key": "EEB41F887877D842CC4EAAA67F83610E",
-    "data_elements": [
-      {
-        "contents": "5E96DC1DBC05740A894EDA",
-        "de_type": 560
-      }
-    ],
-    "encoded_section": "459013D0902F2AB5972B41BC0ACAD9B2261DB6911000E35AA601D5935057BFCF03242D9BBA329001F2F956F617516A1DAA125A88C54E29A596932F5579E7D6D834E3B879E6AE",
-    "identity_type": "private",
-    "iv": "77EEB2974146266D349B9088200A5905",
-    "key_seed": "92B2AE2BE975A24FDA5C81265161B32E9C3AB9766B0DC2D0B30A4FFF8B996572",
-    "metadata_key": "3A4EE38FEE87B6F7B68270402F9E3958",
-    "section_mic_hmac_key": "2E0ACBD90AA030C11B3784BC17D59DE09E11094317E45FFA4169516A3DBE7C49",
-    "section_salt": "E35AA601D5935057BFCF03242D9BBA32"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8122FF813F37EEFC5DDF551646A94693",
-    "aes_key": "788ADD1E00191939A9782119A5E2094B",
-    "data_elements": [
-      {
-        "contents": "710E0E6A6762C48EB92508787416BFCA6F",
-        "de_type": 714
-      },
-      {
-        "contents": "24C9CC8AA0E42CD275",
-        "de_type": 396
-      },
-      {
-        "contents": "29867AE4823526C2E11B419C62",
-        "de_type": 632
-      },
-      {
-        "contents": "6E5B1B035D83BA417C8ED1FFD0571C24F4C0E9EAB9342F852FDA",
-        "de_type": 596
-      },
-      {
-        "contents": "1A515A8766EF2E",
-        "de_type": 702
-      }
-    ],
-    "encoded_section": "8E90131E8C489B1336454D3128B130C4134236911000F46F979A1B7FD0A2A5C73E3243A8FAA6900483E4723D8227881FF2C1F5945F3C894A7772752A61B67F9B5735667C9C1B06665CDA3BAF634A498B9B5F401D0DE765E0C3C6A51755C948CC3C196A7B4C79CBC2F95A4D968B060E08FD8170F96B8C13E48FD125BB6080672950A8359D6F1CC7DDA17A3642F19C54",
-    "identity_type": "provisioned",
-    "iv": "D27F64127716122FCD1CAA9208F77EE9",
-    "key_seed": "BDB0A9567EBF4EA0C328570726D21525495553082AA9CDA9E5D64AF80F45E64E",
-    "metadata_key": "65504F6C8B7E976ACE5E952FC5FED4BD",
-    "section_mic_hmac_key": "B6593C39E6D71521EBC7CF3AFD16E1E6C949CCFE6C94139B93213D443C4A7A95",
-    "section_salt": "F46F979A1B7FD0A2A5C73E3243A8FAA6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "307E6BFCF6A782B991CC2A749B09636C",
-    "aes_key": "6DBEAF71EE0D2A9DA8AC1029F2DC4345",
-    "data_elements": [
-      {
-        "contents": "CEB40AC198172437DE1BB258C1FA08291A70B949500E30BF",
-        "de_type": 199
-      },
-      {
-        "contents": "7CEA871566BD69B35E3A775D9DD09AFD0B",
-        "de_type": 458
-      },
-      {
-        "contents": "FF2D5A9236A40ABEDA2FD0847FFA45532475",
-        "de_type": 957
-      }
-    ],
-    "encoded_section": "7B9013ADEE4B07E8BCBF39E2EE45BCB9936BA4911000866FF3E8F11D08BB28FC9A2164C3452490020D0C51AC4563D2DC3CB268190F86800DD0CE78B2F4F0133A4F91C1A4487E068364F8FE0F99246BCC25632D849D0FE3E736800381E2344F29D37AA35301B9F0BFD37E8C41DA3F53748103C55EBB0C4948C5EF306F",
-    "identity_type": "trusted",
-    "iv": "59BDFB301F008CC7E84C962512E1210A",
-    "key_seed": "F37001F68E3C17DA62CB445F3BC5FBBE1B0830EC43DD07D578A4E4AB93A97BF9",
-    "metadata_key": "B18E09134D29AC36E182306B8E741109",
-    "section_mic_hmac_key": "EEF9ED52B0AB9B2B9B98E4BC115730A79D864479BF14ECDF01F8A22AD23C4EE3",
-    "section_salt": "866FF3E8F11D08BB28FC9A2164C34524"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BFCF368DFA6337A5BA78CF4B60B08E3A",
-    "aes_key": "7B27B37D2C56F0B288D61271E9F697A5",
-    "data_elements": [
-      {
-        "contents": "AD849E",
-        "de_type": 717
-      },
-      {
-        "contents": "F58E9B4BF3EB58DC7F",
-        "de_type": 556
-      },
-      {
-        "contents": "34AB62E364A56D0517E902AF49",
-        "de_type": 839
-      },
-      {
-        "contents": "885B928824E57AD5D4FD8A70A59A78",
-        "de_type": 483
-      },
-      {
-        "contents": "03EA0136C4685295DA9A77EDE4A8C1E9EDF7871B",
-        "de_type": 671
-      }
-    ],
-    "encoded_section": "829013B346FEBBCF63B0EAB3803D13636BA71391100071DB218D918D828C92E0204CFF4B611E90019CFF0B8A1B3FE54FE239B42BC4796958C108B1C88A768B734BBE536CFC6610873D309DC76A67AC9E17767D6190361A3F6C2CF17B58FF16A9FDC2C500A183F07FBF578CE7A0308800E9B98EE9D42405320EEE6B6016B0B05C96E6C8",
-    "identity_type": "private",
-    "iv": "C53DB4F70A67DE7DF7307CA6171F3BD2",
-    "key_seed": "5E2B18C1833B41338025453418B8B8395C11EFE691C8EA7E763AD464DA64EB76",
-    "metadata_key": "B23210152FEECCD9598793E38B2CEDDB",
-    "section_mic_hmac_key": "EA04B6A0DC8DF1B4703A0F3C1B2CB76FE339295CBC5C34ED626D8CA9998EE78F",
-    "section_salt": "71DB218D918D828C92E0204CFF4B611E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DED5FE514596D4F6FDC651F4401A1285",
-    "aes_key": "21350A13179CD8E8DE946AF344533A28",
-    "data_elements": [
-      {
-        "contents": "7D4DBE88BB3F4D56AD861F",
-        "de_type": 73
-      },
-      {
-        "contents": "F95B18F59E",
-        "de_type": 982
-      },
-      {
-        "contents": "02D2A88797C6763C73BE592A2AA8C4B9236F9D",
-        "de_type": 832
-      },
-      {
-        "contents": "6AF8E9C04E1C42",
-        "de_type": 91
-      },
-      {
-        "contents": "111046E7",
-        "de_type": 187
-      }
-    ],
-    "encoded_section": "729013E6D0C9F2B312B4FBC87905D44CD5E75A911000B55AD57B5E62C64382DF184E318BFE5690013F8096D9AA8FE721FED8E1732C0CA8A385307A136AEC083D2C1D73EA7113137B23A3B2B001EA0724492396E0282A267BE561B1528F994AEC04DA56119BD003808B010FD2F692A3801C03B1",
-    "identity_type": "private",
-    "iv": "D4C3B01CA68065A08589F17A43EF28F5",
-    "key_seed": "4FF752A463D1E2C0D678C24320449F18FCD0746909FCE6FDC1B516D72A7C1CC9",
-    "metadata_key": "7388750D8003EE00CC5F84E1409B12F4",
-    "section_mic_hmac_key": "939E08A95A08847810EE6BE0708474DCF4404FDE883B6378CAB938B76E8BD12D",
-    "section_salt": "B55AD57B5E62C64382DF184E318BFE56"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CD9E10B9F020174B29E5AD90E0E7084F",
-    "aes_key": "141D0AECF29D4ABE5B4D665284700976",
-    "data_elements": [],
-    "encoded_section": "37901351EBC383C07087BF0D7C785964C144CC911000E40E382B6E96BD40764C5F0D5415D0279002D1951D7B47B5F5853EC55EDA09251A97",
-    "identity_type": "trusted",
-    "iv": "6D1D36994AB7C4A0EDF441816A844237",
-    "key_seed": "247D236C67F1F56D1ACD8817170F45C500530BB9D122900272CC2E8A30A89359",
-    "metadata_key": "39B3703CC7908B83CF3B53A3238565EA",
-    "section_mic_hmac_key": "21EB0469854E8E7DB1904AA28BDAD5869B325E8E6B116E216B327A0DF9B70DF7",
-    "section_salt": "E40E382B6E96BD40764C5F0D5415D027"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "03A133AE87140BE18A3EB46B94941E52",
-    "aes_key": "9589F697EB5E5F3D2C1683B41215C4FA",
-    "data_elements": [
-      {
-        "contents": "FFA5C5",
-        "de_type": 787
-      },
-      {
-        "contents": "30EC973D18D69C314A4DB86B47B73786D996EE5BDD1EFD7056",
-        "de_type": 739
-      },
-      {
-        "contents": "97D8216B95BC62D8B6A24918CF8F0B6EF86BA3189A0D3A75CA4CE0EC8BFE",
-        "de_type": 704
-      }
-    ],
-    "encoded_section": "7A9013CA7679919FE47E62BD141812222962C9911000538B7CD44D330EDE7EB3810E2976BE3B9004B8F73A0634838BA4090A034F8AF96FF12A174C058DD82300D11D28D86109FD09F788CAB9E55D989073D594FAAFA7AE3D67456CB956D78996FEF9D0B9519D60BF25B383AA1559495B7EFD3D903BE11F816659DD",
-    "identity_type": "provisioned",
-    "iv": "2CF79EA2D302D0652647EE01347F48C9",
-    "key_seed": "C9BC1C391B0EFCFCD4B29D9C159DF75D040C4383251F2918B5675A149A6413B9",
-    "metadata_key": "74C107B8323774F37E4E2A54503915F6",
-    "section_mic_hmac_key": "E52B5B1FB65F064CAA5F7602FD57755AF4E2615FB78019B51541FB7EECF535BE",
-    "section_salt": "538B7CD44D330EDE7EB3810E2976BE3B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3AE4359592BF7F201084BB24660C771C",
-    "aes_key": "B8773C17826A4385B9284B3589766262",
-    "data_elements": [
-      {
-        "contents": "DC71AAC54ECB1B47647F31E69C394FC4AED39298C6",
-        "de_type": 62
-      },
-      {
-        "contents": "EC2D",
-        "de_type": 37
-      },
-      {
-        "contents": "C79A5EDAA0A03DBC18678509",
-        "de_type": 107
-      },
-      {
-        "contents": "74F8",
-        "de_type": 677
-      },
-      {
-        "contents": "1E3926BA0B",
-        "de_type": 957
-      }
-    ],
-    "encoded_section": "6D9013E5E33AAF3D46ECD6E7ACDC59462B6BD491100016C31481FBDA8F5298370904482F6B0D9002CECC579F805F85B4FDF7CD77CAAFFC9F702C00F4EAFDBDD6A7B88A6F41CC4D299135CE06E2A1F852818F6E08D69AF50CE298BE2F506FEBFBE601E97F17A324501BBBBEDEEAE8",
-    "identity_type": "trusted",
-    "iv": "6142669F10695320E11C7EA40B354D1F",
-    "key_seed": "32A9BAE8DE4585B275D88FB2E96D02B59BF865964276A9C6C3E847953AAE090F",
-    "metadata_key": "23347E850700388424B419DBDBCAC33C",
-    "section_mic_hmac_key": "3F2036BBAAE4896B8DD2D61A0F698D61613B4BE0B4F19660B6BEB71294B46817",
-    "section_salt": "16C31481FBDA8F5298370904482F6B0D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6D656A4E2FC03D80DC3B6513FA2F6F99",
-    "aes_key": "9E24A3900D6E56EACAF9A3F141FC042D",
-    "data_elements": [
-      {
-        "contents": "DA8064399B756E",
-        "de_type": 292
-      },
-      {
-        "contents": "ACA505B2F1",
-        "de_type": 97
-      },
-      {
-        "contents": "00E6055661B70886AD75E59AB2D35846",
-        "de_type": 461
-      }
-    ],
-    "encoded_section": "5B90137BA9E7F1BF772CEF94B3DDE2E8F230E7911000FE36015D37F6E2747DD1786609B9805790013F0F6B3758EA34EDDF61606E0A6FF7E98129DDFAC299DD07D45094A490496F3C4C479C0DDE225303DE62051B03CD6E59080B259C",
-    "identity_type": "private",
-    "iv": "F48F5053B7CBB0D2278CE266444D173A",
-    "key_seed": "3A0DDABFB9F1B1289651514C2F2BFA4E5907BFB05A34320064EF1D3DEC357CC2",
-    "metadata_key": "3A2FD2BE39A37010435F2EC8567BAA0B",
-    "section_mic_hmac_key": "9EF5C5CFFE0C3EEC958D358164165AFAF42350E0A7E930A8D6052C334BF4C3F2",
-    "section_salt": "FE36015D37F6E2747DD1786609B98057"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "980AFFFE379C22B79DE841EDCECEED5E",
-    "aes_key": "CA4B0DE90665264505C4CD89237FC2BF",
-    "data_elements": [
-      {
-        "contents": "C871A9B1",
-        "de_type": 695
-      },
-      {
-        "contents": "4F174A736E938697E7A4EE944DE19CD2921EFC1456CE9A5E48EDC9A058",
-        "de_type": 921
-      },
-      {
-        "contents": "8451A82242DCD1E5E990A47E2B710B",
-        "de_type": 792
-      },
-      {
-        "contents": "ED",
-        "de_type": 822
-      }
-    ],
-    "encoded_section": "749013335E6ED7B39E6DAC22789B547DE11CEB911000A11F350D23470D8D6714C4C5025E7ED690045992C6A6AB032F0743FB9C5C76DA9D27BE1B7896DA8473DA5305E1EDEBA7FF83B153DEE304349FBE73B34E47291F64350A2A8CF88250291CBEE24A62FEE68799E245C09AC54A1C01314CBE10AD",
-    "identity_type": "provisioned",
-    "iv": "FBF7F6587930B12B75185D427824D820",
-    "key_seed": "01AFED11D971E1477C49247EFA03A233971ED579A3D54BD6EA1F735E1DACFA69",
-    "metadata_key": "06878DE1EAF8F6CECDF30CFB61C4A20F",
-    "section_mic_hmac_key": "57B4D6F98948B6EADF732619716977F377438B038ED51BBBE9DEA245F660A799",
-    "section_salt": "A11F350D23470D8D6714C4C5025E7ED6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "142D92DF381FB02ADA5BFBBDB3194225",
-    "aes_key": "EF29932C9885D543FFEC36215E5C7D8C",
-    "data_elements": [],
-    "encoded_section": "37901306A47A102A3519418B25A673A5F52904911000297D7D672519392F14F37525A0A77E1E9002C478C7D3D651D54D047F7D8DA3EEA47F",
-    "identity_type": "trusted",
-    "iv": "753CC945341DCF47B1AC1615D664131E",
-    "key_seed": "C7F29427E4BDF07FFB51959101758A7034EA2A2E3441E719DFC10633AA1532E8",
-    "metadata_key": "F5CB77F80D986B392A01A036D807050E",
-    "section_mic_hmac_key": "39F6B1ADF27329472F39BCAEA60B1A75B68C8CF921FE68DE7A0CB5280A0A7565",
-    "section_salt": "297D7D672519392F14F37525A0A77E1E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9CED41C417A0C7A7D1A660CDAD238B3C",
-    "aes_key": "1B214359E8F6A0A67001E9763902678C",
-    "data_elements": [
-      {
-        "contents": "33",
-        "de_type": 916
-      },
-      {
-        "contents": "33D198321B338170A869F5085BB5C78B0551E2A5223599B1A684",
-        "de_type": 423
-      },
-      {
-        "contents": "46C92249B50D",
-        "de_type": 801
-      }
-    ],
-    "encoded_section": "619013CD128065A30C39221D969E1F403884AD91100045A40C690EB4CE8A31994874C36EE462900281E30F108565FFA512ED054F474331ADD12B4F12F9C772B5951C86183268ABC15B171D58A35B3491EF58AB10CAAB690F816686CC6EA03EA6BF55",
-    "identity_type": "trusted",
-    "iv": "9D7191BB69D4CFEFA0C02406AEE9DA24",
-    "key_seed": "2E54E9BEE7263BEDEF24DF26B14D0568D3122209AC5242CB266E7AC650B82FE5",
-    "metadata_key": "55A4DC9840046632FCF02F5A3D8A21FD",
-    "section_mic_hmac_key": "7AB0218829879A7518E725ADDC26869198DF9A790D6F59E1A813B8F0E0D83747",
-    "section_salt": "45A40C690EB4CE8A31994874C36EE462"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D9EA401291CA51C522CAB05537839268",
-    "aes_key": "2A29ABFD0A8B0B9DBBD433BC6FBF2694",
-    "data_elements": [
-      {
-        "contents": "D65B4F2CD54532FF49DCF70BAE60834255889E4C0B84EA00A597",
-        "de_type": 897
-      },
-      {
-        "contents": "",
-        "de_type": 672
-      },
-      {
-        "contents": "4381B746F456521012706DABA9E514",
-        "de_type": 247
-      }
-    ],
-    "encoded_section": "6990132DF63F223549475A6E9136749C83E4AA911000384273880FCA6E5CC28BEBDE3F02D7009001D4155F568EB768FDB8983007689B9F0BDC070243F3C1397F7DB5D70A2EDB97A39DFEE8D55A8AA282A599849FEC4AF90A61A54A01D407DA6CF9AA89C8492164483C13",
-    "identity_type": "private",
-    "iv": "9FCE9E12716169DABB86DDC631CEBBC5",
-    "key_seed": "D12E1DB0961229C72F7A1F9FD2E03A575B304EB3CBC77D6787D2A00D76348A29",
-    "metadata_key": "39437BD0EDF1F0AE69E6C168EC28910B",
-    "section_mic_hmac_key": "3FB5E39551A2434E164547A99C8572C213DEDAA602680E7573453FAF22C2D892",
-    "section_salt": "384273880FCA6E5CC28BEBDE3F02D700"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "52E5DC1D919E92A17EC425D120EE446B",
-    "aes_key": "1070D36A68639C052708BDD149C76B0D",
-    "data_elements": [
-      {
-        "contents": "0691E0D075CE0152FAA8BC5ECE77F1FD8715A0",
-        "de_type": 193
-      },
-      {
-        "contents": "6748926F6E2859A23BC42442C9A67286DE92581E8CB6C438C934522AC6D5",
-        "de_type": 452
-      },
-      {
-        "contents": "C05DC7EAE1890C046D11C3A09F",
-        "de_type": 18
-      },
-      {
-        "contents": "750A482F94219F642DAE0BB5731CBC8D429831078788BD23C97ABE9C",
-        "de_type": 410
-      },
-      {
-        "contents": "50C92B13EFB267255543274EF78B39E26E13C4B4F41CB9FC0C5132F1",
-        "de_type": 947
-      }
-    ],
-    "encoded_section": "BB901336682108499C15E3C9A3E960E1F0BA779110002BC1ED01E66270117CAA0CD05F05809890046D989D2205B8E302C5466A2316960D9A353C986CC3CEC221D254C1CF319898253B6EFEE1C58519F6DE75054473AD0B52AA87A8B589505B46AA814B222ECCBC43B52461DEF067D9A1D5BC34AFC835B04268E040DCCD08BDF7ED3B752D5CBB69C098DD782514EA0D4B085BFCFEC4A6DE1004304986AB4CCFA7ACE721070AAB913E3A1570A80638905137012669EDA49034BC143CA2",
-    "identity_type": "provisioned",
-    "iv": "638C93531115E6D017707DE649B22BFD",
-    "key_seed": "6114574A94E6D39027823764C6CEFFBC698CF543C7FFDD43E649CC447A84C1C4",
-    "metadata_key": "B27C10EBBE24E783576D83E48C9318EF",
-    "section_mic_hmac_key": "912A9018303053335B666556024E27E0DED70D189846A2FD0946DBCE9C5DF1B5",
-    "section_salt": "2BC1ED01E66270117CAA0CD05F058098"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8E7A8AD9FEB5AD035C6915F3978DCD52",
-    "aes_key": "4CD663AC711C40F5E58CCBBB5612D69F",
-    "data_elements": [
-      {
-        "contents": "1733D5DE",
-        "de_type": 202
-      },
-      {
-        "contents": "6F7CDC83033D",
-        "de_type": 849
-      },
-      {
-        "contents": "5CDC08111E0B1D094075ABCF883D89DA6E193CC7781A30",
-        "de_type": 291
-      },
-      {
-        "contents": "78",
-        "de_type": 295
-      }
-    ],
-    "encoded_section": "6590133E0D7409282A63D00B1043F3FDBC8962911000B9E781A89DC0DC26E307F2DB5AE84E859002079E2F53C842642D1766655B3CD0F95B8EEF98FBFEE2B6551EEDDD58AEFF4EEE8B1184BE4DD778D241C7D19A23F45F33B182D6F2E3D4B214189BDC3E07E9",
-    "identity_type": "trusted",
-    "iv": "AAFB4982D1299671CBA1E5169690CDCE",
-    "key_seed": "1C0AA7DE5CE402F06C25EBEBFA297A7B8CCD03AE2747C549ACD657BC10A6617B",
-    "metadata_key": "4F8EE08FF29009BACF5DF132DFD9FAC7",
-    "section_mic_hmac_key": "57457810563B685ED78C42BAA44DFA37C84037B6D733079E5BF408BF8DAA63F4",
-    "section_salt": "B9E781A89DC0DC26E307F2DB5AE84E85"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F368D766AD577D0FA2BA4EAD2AA71F16",
-    "aes_key": "1ACB9732F1E49D43B9F2F6DE5F9EA426",
-    "data_elements": [
-      {
-        "contents": "AED88C9593D7026A7E5FBD645A6CC0",
-        "de_type": 756
-      },
-      {
-        "contents": "29366161EA3148D44306A03FD2B1B9B64C9D54BE45AD",
-        "de_type": 966
-      }
-    ],
-    "encoded_section": "6290131DDD462C802488F8FCB53337F0E295B5911000F6FCA1B3F6B059B23F66D8C4EA051C6C9002C816881A036092A98D6E2C43B56997B3418206577AE5FBD2ED140513DB563765F8BC8F24373A34598CE965F612E6973213F68D8725BF8687E7C0E0",
-    "identity_type": "trusted",
-    "iv": "AA80F0C2853387D57352DA38D31DE2C6",
-    "key_seed": "F191675B85BE363A41115825E9F96AE944B1BB30A4F44B5BF264607F23ED1D03",
-    "metadata_key": "1463A91940AA85E20E4C102FB214B062",
-    "section_mic_hmac_key": "7448C6F70050A2F6807F37A50CE846D85570164633904F6988DBCDEE309BA469",
-    "section_salt": "F6FCA1B3F6B059B23F66D8C4EA051C6C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A8F73F308C8040F875068751AC07146F",
-    "aes_key": "4ACCA77F6443A997EC976E8DF29BF045",
-    "data_elements": [
-      {
-        "contents": "B4206451A977B5C7229B3706C7A9ADB5F1A2",
-        "de_type": 397
-      },
-      {
-        "contents": "56357AB9D8F59AC35C31B4A33719",
-        "de_type": 768
-      },
-      {
-        "contents": "E4E7555166",
-        "de_type": 650
-      }
-    ],
-    "encoded_section": "6590139B75C6E2F93374031891CB7F183D1DA5911000ACB22E5B30D0DBBAF07D77E81CF008949002CB361E9901B9D970AAF01C9C930078BB28E92B29E27979BCC204CC7E57B37D2A092B33A50FB2F58E104AF02590F8F81AD33F181D7E85F6CCD8E6D65D4414",
-    "identity_type": "trusted",
-    "iv": "784701EF2AE2B9C7B1656B6F24958EC8",
-    "key_seed": "A7FD06108A6EC755ACAEC565266DA3FEC76F5CF8AEC4F29279FA144BCA3FD6DA",
-    "metadata_key": "E09B7C55C7B8349092D91225F448EA53",
-    "section_mic_hmac_key": "6ED015FC8D0B189DC70E4BD1E8F88E688F25A796E6746035FF22D0554F821365",
-    "section_salt": "ACB22E5B30D0DBBAF07D77E81CF00894"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E576698436DEB6610A845CF01D163105",
-    "aes_key": "83226FF4A58EC6DD7E6662BBA5D73F52",
-    "data_elements": [
-      {
-        "contents": "BE5023",
-        "de_type": 476
-      },
-      {
-        "contents": "7EE00AC9BEBFC7C3C7D4CCE6F44E",
-        "de_type": 426
-      },
-      {
-        "contents": "71EF3EEFC6E87B1B92",
-        "de_type": 192
-      }
-    ],
-    "encoded_section": "5A9013F92DE8DEABABF71EDBEE8EB0BCDAADFA9110001D54B5EA6F822E53B05665A0162703EA9002AB621DAC7D9F5733D7BA7EE8934A3ED4C31CD45C0D582B0A5F7CAF5E87CF7CDE253F4CAF4DF1441BB1A46B43C45D688A870AB0",
-    "identity_type": "trusted",
-    "iv": "C2400D4299944D6C1488DCF1E22D6C06",
-    "key_seed": "79D29D153C585EA5E90C3B79529B16FFDAB71BC5A04AF937E790545AE9928DA0",
-    "metadata_key": "5D7452C2BA345F191BF6AE6FDF6C563E",
-    "section_mic_hmac_key": "79900D2FE4048CA7833B859F37FBDCC0B15F7171C80DBA0B1885285696975A1E",
-    "section_salt": "1D54B5EA6F822E53B05665A0162703EA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4768B89F8A7E384991F18A0495BFEA04",
-    "aes_key": "7547BC2888B8E5542CEE7A3F3C5222AF",
-    "data_elements": [
-      {
-        "contents": "E3A9",
-        "de_type": 870
-      },
-      {
-        "contents": "3BE13855A3139F39614D0FDD428930B89082B2432BC9446EA11C",
-        "de_type": 8
-      },
-      {
-        "contents": "93147F162D3D03E6B280D73646F2F2DE8550F029E4A0475EBEFC1D61",
-        "de_type": 47
-      },
-      {
-        "contents": "D4C4C08E4626E9C9938060448D2DF71E5923",
-        "de_type": 203
-      },
-      {
-        "contents": "2C955691391A",
-        "de_type": 984
-      }
-    ],
-    "encoded_section": "949013BED9D332000D6028E9BE7FF8D5D9662991100026BF874FD30958064B7FDE50DC5273249002EF9D3A6DB0E2E9F377CA7ADE125F20C814A7314F4DB049E59DFCF842AC9C3A0CDE83E86BE477EC0945CD68D713C355886BF6EBFD0B4ED3E1F130059F0D536690144269E0E575CD11ACBF81624828907DCDF86CA826D7CBF3311FE1201C677DBF3ADD1ABDBAF3F6B3435A5D6EAB",
-    "identity_type": "trusted",
-    "iv": "8A114B142A29B0A8FBEC8D802FCC9565",
-    "key_seed": "7D5D6E5B68DF9E882D754A65671ABD44CE108669284BD684CCF6CEF2C2EF0FB4",
-    "metadata_key": "9D8B48CDBE1FF6BB72F17A12043F41E5",
-    "section_mic_hmac_key": "8D6A740A35A73FE7F878D2921B3D960BAF0A3486AC0C9A8819E424B1F030AC3A",
-    "section_salt": "26BF874FD30958064B7FDE50DC527324"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F28906CA902C635D308F902E45DD2E48",
-    "aes_key": "8706D4875D9BEFE21A3804E22B9ED548",
-    "data_elements": [
-      {
-        "contents": "A84365F157E64CB62F",
-        "de_type": 509
-      },
-      {
-        "contents": "00B4A0D8FDB5521E004F7C38139C984657",
-        "de_type": 628
-      },
-      {
-        "contents": "8030144ED75B3228FDA5437A5B278EBEB81FEE8F9BFADD2D",
-        "de_type": 343
-      },
-      {
-        "contents": "F533F70043C57E4A829DDE726DAEF9DD7D19",
-        "de_type": 397
-      }
-    ],
-    "encoded_section": "879013829B3FB9CEEFC0DF72E63F15AEF50421911000F4F886D3942FF01D3363FADE908CBA20900179CCD98A4373FE7DFDD4B86DAB02F51D3B9E496075E671296CAFBC5F734874DCC4392FE89EB640208C8190D0BA0DC376190FBC329D495D4C8AFA2F6743C88947A5F618F7F5B938D389734CEAC2D74DE84FB58B2F1DC8557F53A0191F9C0F7767",
-    "identity_type": "private",
-    "iv": "D91919E5DA29C49D3A27EB7004C3A3A2",
-    "key_seed": "8EAF75EBA0A679B7FC0745B9A3A151467037141B8960B3CFD153873489ADE1D6",
-    "metadata_key": "F8B965AEF3130CB5B1EDF79BD3B380DD",
-    "section_mic_hmac_key": "CDDF228D36AB57418939E4B225AD5E940A66099B1673E9C72617C817EC65FD85",
-    "section_salt": "F4F886D3942FF01D3363FADE908CBA20"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F07F58FCDFDB03D86254EF18C7ED9F5A",
-    "aes_key": "212FBB8DB7A61540976A129092DDC6A3",
-    "data_elements": [
-      {
-        "contents": "507444EB19C5A2F5AB0408A7B1C9FB6B722485864B7FED",
-        "de_type": 517
-      },
-      {
-        "contents": "340127475FEF88C37C16738A27767280A60265E9ED7C00F7",
-        "de_type": 419
-      },
-      {
-        "contents": "459F7AB3EC821FF2FC5E3271D76CD4B927C7DE9283DA3D1F58B6",
-        "de_type": 907
-      }
-    ],
-    "encoded_section": "899013359EADDA79D6D36D643040E2F246FF5691100088BDA9DB826E3AF39A28BD3DA6D11DCE900162FB285CFC9832A941DA01960F1D23CF4C3B6B16D419D9128C57D4791005DB0CEB59681013CAFB837D214C1B0254DEC08CEEA521C4B63E0691E22197BFB77A63E5B404A6C59A5C8106C03C9E64555264AF6995235AFCB618796984136391294C9908",
-    "identity_type": "private",
-    "iv": "5AF941CA9794322BC9567FDCEA50EE5F",
-    "key_seed": "063078D957BA49F5766C90098FACE0A30FA35A51E25EDFAA85A718A10C3E7DEF",
-    "metadata_key": "C92F572CCC40BBDF3908F3E0463113FE",
-    "section_mic_hmac_key": "893438116FE775A831B08322B6A69563A8CCB89BF0D0E1B072F9938B2F1E53E6",
-    "section_salt": "88BDA9DB826E3AF39A28BD3DA6D11DCE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A3DEF8B9B61DEC75C9D78AD7D305A942",
-    "aes_key": "B88BB7EAAD96923279AD8895FDED98F3",
-    "data_elements": [
-      {
-        "contents": "2BF8EB8F1B59A8A6BA8411C989B45CE02489926496131DD2A1",
-        "de_type": 620
-      }
-    ],
-    "encoded_section": "5390137966542D2D7E1BB1B1CC4A69D4611B2B911000E895C370737AED915CE90F8886219DC490023E6EE711BADFC9627B0C800710236B909316CA48CC9975AAAB452A50852576114CA2040B2E46607C1453837E",
-    "identity_type": "trusted",
-    "iv": "31951BDF7F8295133ED6F0ACC391148A",
-    "key_seed": "8D101AA09D57A75F449D3E2FD7DEAE6BFE2732B8650057B906687BE5273267FE",
-    "metadata_key": "E360E68E7237460157062D59F02667AE",
-    "section_mic_hmac_key": "B0229F3856F27C706D246C0A9825CFB5A8A42F943213DD297DF6C9161B01537C",
-    "section_salt": "E895C370737AED915CE90F8886219DC4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D9FDC10E7DD4CEE9E6DDC58E32010C56",
-    "aes_key": "13BD95BDB3765C222D83F09E7709B4CC",
-    "data_elements": [
-      {
-        "contents": "C34DABECB5407708",
-        "de_type": 745
-      },
-      {
-        "contents": "B74FFA6EC993AFF7188E480EFAE2B5716CAC6D94BA01A6E295",
-        "de_type": 893
-      }
-    ],
-    "encoded_section": "5E9013C6528C5F67233A0621D667CDA9647C8B9110004FEBAAA8799785F0596398269E32B38D9004005AE0E84461B3A20D959FE3BEA15F943AA33F119D493B02089D7D3BA9441428B675702D1E218A838A546A4ECA06621081AF4A649467EC",
-    "identity_type": "provisioned",
-    "iv": "74BCB96F895B5DDC9846D24C91CA1ADA",
-    "key_seed": "8DB972FF69EDFE8ADA506F8F4EE6A594F5693A3702C8387D0B19FBA6285FD3E3",
-    "metadata_key": "99C123B1D364F1879AEED1E415AA2A73",
-    "section_mic_hmac_key": "FD1423E5F7DA04EA60CAE11C985935089218744423CC43B3097F1AAD90F197BA",
-    "section_salt": "4FEBAAA8799785F0596398269E32B38D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "86EFC69A56E5757AB62A058D5554CD89",
-    "aes_key": "159ACE5A180AC4E017D4451EA22FAE2B",
-    "data_elements": [
-      {
-        "contents": "CCC0D2FDE58D59143764A6F1805538AEACE1B9B4765D8AC26D0B96",
-        "de_type": 575
-      }
-    ],
-    "encoded_section": "559013C0A81EEC39B1B937912A6CE13ED810C79110000D4B9B8A8C4EED41C8621ABC440648CF900104798C555D077454425379DDE878641DCC3C7B6BDF25F1A1E6ED6D58D0CBA6BCDFB8069B6964894A6679C2A51D3D",
-    "identity_type": "private",
-    "iv": "24F1D1D3D8E4FFA7AB4B424DEFBCE37D",
-    "key_seed": "D637DB7EDCC17C5CE28A181364497144C75064BF385DAEC9ECBE88C4733DC522",
-    "metadata_key": "C8D76EBDD7E6D70B1368BAD74E63D830",
-    "section_mic_hmac_key": "A74FF6ED127426FB488F765F3D4FB28627F8430C15249C32719A4011A3C49929",
-    "section_salt": "0D4B9B8A8C4EED41C8621ABC440648CF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "54B49E29E6C813A6AB600E4FC5B37E1E",
-    "aes_key": "7F2AB782AEDECD14B491B2A8582AE47C",
-    "data_elements": [
-      {
-        "contents": "E372",
-        "de_type": 535
-      },
-      {
-        "contents": "59C944D70BEA1D61D2B148C437F0BD845A6DD9",
-        "de_type": 452
-      },
-      {
-        "contents": "028BA7012BDEC80C4408BB13B6",
-        "de_type": 60
-      },
-      {
-        "contents": "F239F4",
-        "de_type": 695
-      },
-      {
-        "contents": "AE8259558B908BAEA271AF1F6E7AA9AE2C8FBBC285B601AE7B",
-        "de_type": 383
-      }
-    ],
-    "encoded_section": "8390139CB02E72EB97CACCF9A78057EE5CBB309110006A4AE76AEE22009E704B7BD28FE8B2B1900279183874B6909CA5B47A0A86DD6182DAA730343CE2371932D34189949A26ED2DD187AC7575922178E8444DB225910D31030B992DCD92AEAF97563272CAA76CD1558DB0B684B62F740E85794CEF78EACEA7058B4831760BE43B970A2E",
-    "identity_type": "trusted",
-    "iv": "58DD2660273A4248EE13A8C1AD2C5184",
-    "key_seed": "C4634E111562A719DA2BB9EB976735028B2ECEDE1ABE15ADDA7CD3157B233D1D",
-    "metadata_key": "566DDB44E374E986BA026292C0EA365F",
-    "section_mic_hmac_key": "5EF675045878EFD2070A5A9798BD142A6C34978E9DF077E79BB8A68A4177FD35",
-    "section_salt": "6A4AE76AEE22009E704B7BD28FE8B2B1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "501218BE1988D66E80E7EF243937E186",
-    "aes_key": "6BE6B27C8417AAFBE97B75179DAFA7FB",
-    "data_elements": [
-      {
-        "contents": "8E3197168683F9454DE6DB69F69E94EA3F5A8F61695068C520781441C0",
-        "de_type": 229
-      },
-      {
-        "contents": "25D1",
-        "de_type": 764
-      },
-      {
-        "contents": "FAE449BA2F60AE991245DB",
-        "de_type": 519
-      },
-      {
-        "contents": "08976D80D1EF3AF9E7EBFA2C5FAE",
-        "de_type": 126
-      },
-      {
-        "contents": "3410",
-        "de_type": 40
-      }
-    ],
-    "encoded_section": "7E901311389A9F657FB9CDF7216FCC6FDCB5C1911000ADF1D2506EAC7BA9C0E2E598762A41E390018EF9292BFD0E3B84847F8B3AAC77E5C20E9F9C8B5DE8B0C389E7BDFA1847AC7EBC51267223EF07CFB0DDF9F6F11B9A7C346D5C081AD766F7330072EFE978E18ED4D7E22F5E724FF86504EA9C3B2F615ED7E6A73989C029",
-    "identity_type": "private",
-    "iv": "4334EDBE069FE9E747E594070B35865C",
-    "key_seed": "D8791426EFA31574B5323D3468CC282EBD37B522C10B0254B75900D545549C68",
-    "metadata_key": "EEA46B5BE346C68C6B9D2FF155B847B9",
-    "section_mic_hmac_key": "36586A0A4B1A9EFF83B9D2C27288B2EC000F5A729D845039CB4C4E2E25D050CD",
-    "section_salt": "ADF1D2506EAC7BA9C0E2E598762A41E3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6F7E74F849A9CA7DC6EFEB3C4E185CD2",
-    "aes_key": "3E0BD976A1EC7956BD5A218B15CA1B88",
-    "data_elements": [],
-    "encoded_section": "3790130111305FC43F978EFA9FA71298D70A3E911000482B018116837E1A30C802D1FDB1D5E1900434436C965FDF5AB2C0A9794A5F1E438F",
-    "identity_type": "provisioned",
-    "iv": "8CE2936C0F96EB822A07C82B25CA86E0",
-    "key_seed": "5CE432AAE1CA1837C7ED7EFB8ED5B8202DEE8F3D33404A2BD800691E60AC84DE",
-    "metadata_key": "60F06359C33E56E540F0D562F6D795E1",
-    "section_mic_hmac_key": "9756EC3F8B6D24028B7578FAEDAC3E00F01EC763B58705AFCD3C406CC8E2CB9E",
-    "section_salt": "482B018116837E1A30C802D1FDB1D5E1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B7D6F035E98A76528AC824E633BCF35E",
-    "aes_key": "855A405A9B896759D95909C8C01D85ED",
-    "data_elements": [
-      {
-        "contents": "A9AF7437A71199911EFBC7F467ACE00B3068C2",
-        "de_type": 54
-      },
-      {
-        "contents": "BB4F94CBBE7AE4",
-        "de_type": 206
-      },
-      {
-        "contents": "4D3A907AEA42D758A8A8F3469F106BE9",
-        "de_type": 34
-      },
-      {
-        "contents": "D65F6C8BA7CE3B27AC2B2719BA42575144",
-        "de_type": 639
-      }
-    ],
-    "encoded_section": "7C90134E69BAA34FCC557E20B36B17747D03369110003E74770F2C3BFC7824E73C395259941490022DC2535A7F643CDEA3AE4B0F0C6EF90B575E93CBBF59D9D6B71462FBA784B35C7C36060F51A0FE48AE363A6EC3CE8AB49D9C1C1313C173694407489A8B70CA26A3BD4C099C54AD65D7425835D44949728C287A2359",
-    "identity_type": "trusted",
-    "iv": "1A27663FC7C2377EF8D2C5186C1FC4A9",
-    "key_seed": "64AC1AF89078CCC339162EBD5DED72869833D1952CA107DB18AC60A825F1B53C",
-    "metadata_key": "9D5934F8E0592C5D89895210409C8A41",
-    "section_mic_hmac_key": "257F10EC7FFC7A37AE8002AC855DAEDB519FF790BB018AB37C07B3C95FA43B84",
-    "section_salt": "3E74770F2C3BFC7824E73C3952599414"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5F4055051684020E65946E512C943EEE",
-    "aes_key": "2E4C09B79D85D06810D3098DC1851254",
-    "data_elements": [],
-    "encoded_section": "3790135F9E24B4FFB9D55DC0C402783C77A352911000DC13DEBE3C218E84F7B6BF1A5EE5F99790011059D0BFCCD933671F56E42FE6EFFA15",
-    "identity_type": "private",
-    "iv": "EE7A0DEC1B5D713DF6F6FDEBBB2BFD96",
-    "key_seed": "AE002F1AE69DA6D9E55CE9698288B1A24649A79EC710AC0EA25FA2ACEEC513C7",
-    "metadata_key": "8102DD3A02B8CBC1139B5CAF2E1D73EC",
-    "section_mic_hmac_key": "0645A1FF34AFF1BA9649FA6289B1614F437149CD7D365604EC23650C4990BCFE",
-    "section_salt": "DC13DEBE3C218E84F7B6BF1A5EE5F997"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "65274318E96A5F3C8F853A0140948CA9",
-    "aes_key": "A2AB55C2875BC6E1A5C6524613D979F8",
-    "data_elements": [
-      {
-        "contents": "E1365D118F175446B5",
-        "de_type": 109
-      },
-      {
-        "contents": "6FD06861E3",
-        "de_type": 537
-      },
-      {
-        "contents": "75B17DA591EE83",
-        "de_type": 876
-      }
-    ],
-    "encoded_section": "54901395DF3F04E4A427202405C00CEB8517909110008555384C43C1617A30BCF72E5F4BDFB49004F86629CAAB13685CF011DEE82DF4F262F18C02E125C649BB23BD45920E75158EA9070F51274096B90CE869ACC3",
-    "identity_type": "provisioned",
-    "iv": "21A90C0A73430152D69C286DE55FE6CA",
-    "key_seed": "D544199BCE9630C3A38FA486B24337076B81862E1EF002CDCF3F47D2F4F01312",
-    "metadata_key": "5890FFFB39DC0CAEC2CD1DC14D8CB75D",
-    "section_mic_hmac_key": "6D897F4D0C20E588E90887DA70802A1D1AF3566423DB51B7D461A67F1C47FA59",
-    "section_salt": "8555384C43C1617A30BCF72E5F4BDFB4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1F4709A197E6740270684FAD01BB82D7",
-    "aes_key": "34574FCAB952B550B440E2640175B9E6",
-    "data_elements": [
-      {
-        "contents": "9186",
-        "de_type": 495
-      }
-    ],
-    "encoded_section": "3C901331255D9705F45F7E9517B88F8F638FC291100079F10183D40E8C82C058C764B953DA829004CB302F29874367F55323ECCAF05172CA35D7FC6D6D",
-    "identity_type": "provisioned",
-    "iv": "947390D6150675057CCEA6FD5718F0BE",
-    "key_seed": "7AF2D95F589FC38F0B6F85DF707C22EB88F763BB671E1CB970B193AC44D4BCE4",
-    "metadata_key": "4CCF453BB6EBE955C870535451F6C69A",
-    "section_mic_hmac_key": "4473C6534983305DE8102EA9118C4735929E70E0544A1EA512560B21FCB48F1F",
-    "section_salt": "79F10183D40E8C82C058C764B953DA82"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "96C04195E083ED70F192E617E1D76783",
-    "aes_key": "AEB96E57873EB15A971A619B5FE4EB80",
-    "data_elements": [
-      {
-        "contents": "6FC6CB1C012F258C24A6A57A7926E27F5A830A34A367",
-        "de_type": 382
-      }
-    ],
-    "encoded_section": "509013410BA26E4CACF5CF673D585B58D0F3FC911000446BA66C82AFB4E9C11CB66EEA6DEE009001F4E644F392CA55B8341671E0AAC030DF17CF0EA76EDF81F2EF4C0CB1336BE6CE9D27DC8D8A4A29E735",
-    "identity_type": "private",
-    "iv": "891CE2EDBC65C4B0D16DF9F624DBB82A",
-    "key_seed": "3D9AB03EC3F93120532D2E778D3C2BF4DA9315896076277F2873A31E4FD5F52C",
-    "metadata_key": "CFF78360D994C96E284EBEED93EA4BA2",
-    "section_mic_hmac_key": "21BBCAC3997CA4151E9A097276A550A0F483AB80B38134DC980C94B9A5271A6B",
-    "section_salt": "446BA66C82AFB4E9C11CB66EEA6DEE00"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CC96FC6587992A00059BF3E0DA2289DB",
-    "aes_key": "AF54E2E9237E76444AAAB77B58C5446C",
-    "data_elements": [],
-    "encoded_section": "379013D8315BBD994D5A670BA6F780F2F028BA911000C755346DFEC27ECCDA898324E69CFB4B9001A9B1E0D2CB309713FC58CB798396531B",
-    "identity_type": "private",
-    "iv": "B60129EA4D27D57E45CD421948D742C6",
-    "key_seed": "807DD8CF77569513B6ECBC68ED9B08E5B9475FF6607732141FAEC638A8DD28BB",
-    "metadata_key": "5481564D04DD0017AE4179A82AF221A9",
-    "section_mic_hmac_key": "73FFAAF7157A3AE517296592E0B8D13E506DEEC834FE1206ABAA050A9FEE92FC",
-    "section_salt": "C755346DFEC27ECCDA898324E69CFB4B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7963E5F18FA7E59600E6F25FA4930837",
-    "aes_key": "FCBEC40F3C80A09B60135334EE7DA35F",
-    "data_elements": [
-      {
-        "contents": "2EF5EFF372E4702B096C5B858328F410579E1E008EF2E275D6EA",
-        "de_type": 692
-      },
-      {
-        "contents": "BAFCA28BFF",
-        "de_type": 398
-      },
-      {
-        "contents": "7E468799B29D34E1914D34B97B4AFBBE",
-        "de_type": 966
-      }
-    ],
-    "encoded_section": "6F90134BF4B2FA7735A0143B1B24205E3408F8911000B1236CD7CBD12702AFECBE9635A14A48900263C48BBFAB388B046AADED238F69E1F9A7BE917E59BFBCA2CA3B2C191C787A8C3139DBAE0B72FCEE19B98E0D9C261DA6907D9561B53B735561603F687041709A1913BF7925139044",
-    "identity_type": "trusted",
-    "iv": "79447B6043F287557A38B57CB6D7279B",
-    "key_seed": "52895D125C5472A019409B363AF56DAAF368CA65B24E76E891500A8C3A324F81",
-    "metadata_key": "C3BD8D140D94E6945DC06DAAAA211DC4",
-    "section_mic_hmac_key": "C35368464E906272C5B9B8C782E9F88A8AE3AB9474742AD6F770FAE52BCB88D8",
-    "section_salt": "B1236CD7CBD12702AFECBE9635A14A48"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7A0C1DF60064EF2276AE5C8F6E773415",
-    "aes_key": "4AD58F3983D0B6326C71F9AAF86CD10B",
-    "data_elements": [
-      {
-        "contents": "205DD11E927B089869B334A9C59D75032B498C8B26270EE984AB",
-        "de_type": 916
-      }
-    ],
-    "encoded_section": "549013603FFB31E477AC33FCEC9446E9C1E230911000B4DDA6DCF6B60042BAF08C824B9C9F2990019D5D07E65857011663A028155D02FF6E932BB511C55C1E2730444597E2AAD904948C7BAF9CFD59D59973745C1D",
-    "identity_type": "private",
-    "iv": "AAEA80FB40CF47A6266A06730EC30156",
-    "key_seed": "90152000F437AF07947A71307DFC0618E116E9AA2AB8988722818AF41CDB59D1",
-    "metadata_key": "BDF2BDE3B7905DF7CF58590982B89E52",
-    "section_mic_hmac_key": "AB7A1DD69A86B1BEBC2DE6100FBE90AB1C943D5695633CFB48AAE2FC961EE093",
-    "section_salt": "B4DDA6DCF6B60042BAF08C824B9C9F29"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2F4226AAB45A2040B831D40B0EBA4407",
-    "aes_key": "1222E1C06D6E81FF2AE737DC583C0737",
-    "data_elements": [
-      {
-        "contents": "C02B48E3A60445D37BF70DF40C44CC320203B03EA1F04994",
-        "de_type": 866
-      },
-      {
-        "contents": "",
-        "de_type": 984
-      },
-      {
-        "contents": "D402CD4FD797FF62E8D7AE",
-        "de_type": 37
-      },
-      {
-        "contents": "AAA43BF1A7AA06F9B2F63D52787D1A7AC58D557F",
-        "de_type": 916
-      },
-      {
-        "contents": "77B0DE2AEDC7048163",
-        "de_type": 621
-      }
-    ],
-    "encoded_section": "85901322B04151D900C31B678DCA782E1E6323911000D57CCB532F3318CCB7BF62288C95AB1C9001D7E937561EC6F7FC16952EC2A7E0898E9976D0028A3A31B6BF858AF26AAB5A1E7A4F36A5588F8F28A4CA3CA8EA4404494575ABCE0A97E8360771F784C26226019DED4E8FB6EE3A96750B9B934A09E28668C6992E8F50D3B794DC6AF2513D",
-    "identity_type": "private",
-    "iv": "1ADEEB6BE822DDC74F93D2362A2B0441",
-    "key_seed": "82AFE392779367A6D4B3787AE009922456277EBC7FE04447BC2D1162778FAD11",
-    "metadata_key": "9BDDC51177CD3D9311F1D17661490B86",
-    "section_mic_hmac_key": "16342C46DF929343DB72EA520ED728F49F3E50BDFFCE1CF291C3697620133BC0",
-    "section_salt": "D57CCB532F3318CCB7BF62288C95AB1C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CAC0617E69DE77A280ABE6A5F3E624EB",
-    "aes_key": "77FE9A2730A3B80F387BBD0589358B33",
-    "data_elements": [
-      {
-        "contents": "A6A3C4AE4BDF8941",
-        "de_type": 417
-      }
-    ],
-    "encoded_section": "429013C0975C03854C80B4E07AE4CA3076AE42911000EA332A8D5BCA0D6314BDC58F1D09498290024FB2DCBD1FC2137DD2C4FAE1B9A76B2B307B72B1C97D8322DFE749",
-    "identity_type": "trusted",
-    "iv": "0CCD2727784E9E5B84D45D62A93E8957",
-    "key_seed": "EA3D228C2BEB0E89B3C9B28A17D2BEC7F763376D8455DC991C33FB3CD9CCCE7F",
-    "metadata_key": "528A7422DECDD593FD1ADC1755835C08",
-    "section_mic_hmac_key": "18216F8A0F08FC18F8694B2658CC0B1F391BFC3E82B6F8B24E321BD6371971C9",
-    "section_salt": "EA332A8D5BCA0D6314BDC58F1D094982"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "623AB1FBEEF5D3827676D5F2A39FED9C",
-    "aes_key": "AEFD0C18567BCB6348CB3A0B0D40567D",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 971
-      },
-      {
-        "contents": "DB43DA9E48BDF35056FB18CA10F46359BD1A30A20D5655482FC3976EB92A",
-        "de_type": 729
-      },
-      {
-        "contents": "97652C8CA93C33047BA67FBB",
-        "de_type": 766
-      },
-      {
-        "contents": "D6525FFF50D38FBEE9",
-        "de_type": 487
-      },
-      {
-        "contents": "1866ADC89365521D269D6FF6A1972629DCDC",
-        "de_type": 421
-      }
-    ],
-    "encoded_section": "8B9013137611183EB9AAA3F69202645FA0DCC09110000BE535680DC0F532EA22C2F75B8A066C9004BDDE3F2ACBAC8630F0A35CE5A424AF735799E14DADCA023F6200522E83069F8ADE4786A502D31EA079439238D5A9590B1227C5CAA9CE01579FEA21D1DBECDF0D95691CCA2FC601B27D5696CF25128DDFD16CCCAA5C96675488611E407310D067851CE7C6",
-    "identity_type": "provisioned",
-    "iv": "DA1292F56F9B309A57103588C56F0B86",
-    "key_seed": "20232B2934D61F4254E1B430C941D99408046EDA864CAE9CC1F30B003DA3F15C",
-    "metadata_key": "958125E98D4CCE39EB85BB7A1799EE11",
-    "section_mic_hmac_key": "B2AC01EDB57C1E96D629F9DF9B299A97C7A8078AE389FD3C4CD495C17E9C04D3",
-    "section_salt": "0BE535680DC0F532EA22C2F75B8A066C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "274851FCCE9C7A4AEF4AE64A5CDF1B35",
-    "aes_key": "096944332E1C31DBE39227572D5E4FA3",
-    "data_elements": [
-      {
-        "contents": "6E64A76F629EDE6983839536E6746048F9407203",
-        "de_type": 828
-      }
-    ],
-    "encoded_section": "4E9013B4E77EEA1D31017802F64F86FAEF7E31911000BED45389016B48EF6F638B053B3EAB3690021297C8C1D17FDD132207ADA56F2E1DB48EFCC6972936EC031E5A1C12EE25BC554477A6838C8273",
-    "identity_type": "trusted",
-    "iv": "1F4EACA3D2A66B67B8100E7FD56858A9",
-    "key_seed": "4B40631EA3307B8B03B324AE583A624B14A3846AD22A98AA8A6476CE18B72519",
-    "metadata_key": "856BA488B5E3073FE98F90EC7D43D9FD",
-    "section_mic_hmac_key": "89252A2B55F7FC94ED83D11D1901E8354EF6A832522A61E77DF2100FA5B40E85",
-    "section_salt": "BED45389016B48EF6F638B053B3EAB36"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0EC0CD8BC147F50646909D6EC4CC2134",
-    "aes_key": "D4342D083B5848972862E5244EFD574C",
-    "data_elements": [
-      {
-        "contents": "61538E97",
-        "de_type": 674
-      },
-      {
-        "contents": "142298DD27C29352869DBD73AE86918E77E0",
-        "de_type": 321
-      },
-      {
-        "contents": "B04E54",
-        "de_type": 64
-      },
-      {
-        "contents": "08BDEC39FBEB13292A5317B91CDC",
-        "de_type": 546
-      },
-      {
-        "contents": "AE3883A3D67D64CFA5B52195337D40B768695A28036AA392F25A9B302816",
-        "de_type": 255
-      }
-    ],
-    "encoded_section": "8A9013C70296B62647E222527D694A181E0B3C911000E66DDE309D386AED3A9E6F4F4E72AC2D900476583A491A2BB7D5B11ED5D5D40D40427D285AAA7C31BF39774FB2333DAD5E8428A8728BF4619A5F3E1F646C9C637412FCB7E60BD95712CDC6DBBCA7A64509C4CF24A63615566468376BCB88515DC32CBE4462ABF2A5B902AF44CCAA8034D1B98DA864",
-    "identity_type": "provisioned",
-    "iv": "C8A684AD4924F67F2BB34B665F767260",
-    "key_seed": "0B21B7F5AFA2FD60F417160706E110DAD08D558B7F873A7145E2F5846B30EE14",
-    "metadata_key": "9AFEEF6AC49A69F403F130619CA3C015",
-    "section_mic_hmac_key": "EBC37528F0E1D39DDFEB12F6229FF778D381BFD32C22EDF0A22AB350036560FF",
-    "section_salt": "E66DDE309D386AED3A9E6F4F4E72AC2D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "107DE67CF73BF73111A7D273F220324F",
-    "aes_key": "C909F88E99316114E33AA6727A466458",
-    "data_elements": [
-      {
-        "contents": "8EFDC86CCC6C78EB",
-        "de_type": 542
-      },
-      {
-        "contents": "AAA1E33F8F43B229EB8189E8",
-        "de_type": 551
-      },
-      {
-        "contents": "54E27639599792ED49",
-        "de_type": 92
-      },
-      {
-        "contents": "72C8",
-        "de_type": 187
-      }
-    ],
-    "encoded_section": "6190139BDEA29D9DC86B46F9D2BBCDA4366F1E91100088D8F556CD3AF2EA81FB25030F2C782B900230E146653F1669A7ACFDF87FCD45399FC47FED90B8920E5C85A2B5ED2E31FBA1EBABB429881EAAC9CDBAD9B7B529A7AE7756AF294C1F46800357",
-    "identity_type": "trusted",
-    "iv": "F42D4010A9B9750FA68C39E1E7293CAE",
-    "key_seed": "6433B38B99F099F8291F1AC0E46556F0110E50A48F622C7ADAE2F70FDDD13A00",
-    "metadata_key": "433F040898968971CD78BA25C93FAF72",
-    "section_mic_hmac_key": "2D3DAD9FC1AFD294EE70B0F00D78E57ED025932D5EAED1E85F5DA314C4372F8A",
-    "section_salt": "88D8F556CD3AF2EA81FB25030F2C782B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "23DB2534F86E837128D4B5867BE7B9D7",
-    "aes_key": "FF021E596C3FB19F91E10975989481D7",
-    "data_elements": [
-      {
-        "contents": "092500E2322279050831D86A9D0C412D262AF1",
-        "de_type": 889
-      }
-    ],
-    "encoded_section": "4D901361744616A9DF4D232AD6583E68EC94E491100045112DE3235917ABAE281CBB93473C8C9004A8CA160F322458CD3FFA1BE531D8FCD0009177A286DB8E8D4BDF1A77962A55FE3AE696EB057D",
-    "identity_type": "provisioned",
-    "iv": "EFFEF8C52517139FA621AC011CDAB4BE",
-    "key_seed": "9A62A13579CCEF2E7654D15F2A1BFAABB99E94396396BA14B5D488488BBC454B",
-    "metadata_key": "5CEC4B1BA12D44BB925EE396A95149B5",
-    "section_mic_hmac_key": "3C093A169750EEEF1645B87A283453DB15D44FA8FE8E6D36885E5E079736E0DF",
-    "section_salt": "45112DE3235917ABAE281CBB93473C8C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1FB79ABE6FB18715F8DDA68BD6B15373",
-    "aes_key": "0BAF583B5891233D33BA6B74D5E422B5",
-    "data_elements": [
-      {
-        "contents": "0D611B00EF235E26",
-        "de_type": 578
-      },
-      {
-        "contents": "6DE7D6C995",
-        "de_type": 500
-      },
-      {
-        "contents": "310C2C3FA8E0702122BA85A3427A256F065CE1EAEDC1B9F7D4F04F13F1",
-        "de_type": 579
-      },
-      {
-        "contents": "3F1A1AF9FB1A3B409C278ED4098EA6CF87E02457F525",
-        "de_type": 947
-      }
-    ],
-    "encoded_section": "8390138D06F7CEA300F4FAA9EAFF32BDDB833F911000911991BF08A3D1BBEA49C971CD66D43190049130C7E781DB24A1E2C7255DF0FF30DA65DCC1AEF1188EC72B1D6ACD5B6E42E904B513B03DEA16D250F9B146741427C0FE6E29624849A488542A956CEACBAE834CDB227CB06520F4453A08C795A729852015823C3F540167A6B9B6C6",
-    "identity_type": "provisioned",
-    "iv": "C0073097AE5243E3E6861876E66B6C42",
-    "key_seed": "04A20B7ED383D59B567CF62F30B25564D6509736B9141C273B638EB3A111EBE2",
-    "metadata_key": "E6B382E4B38BEC2DF51C9084B2A1484A",
-    "section_mic_hmac_key": "2DB0DCBCB00F8B684C3876EBC116C87B388F8E4EC2E4169536E5C34E2524DF60",
-    "section_salt": "911991BF08A3D1BBEA49C971CD66D431"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6E07E0694343C77F296426DD6E13D64E",
-    "aes_key": "1ABAD934592B2D7736D998BAC1194ECA",
-    "data_elements": [
-      {
-        "contents": "DB8A57783224CF9C",
-        "de_type": 267
-      }
-    ],
-    "encoded_section": "4290138A4D553E3BCB5789F1E01ACF4D8D7955911000D0E797023C8E23832AF2DE31413FECA59001B98036E2FAF383E70C58D8A5DCDCC5C7B528D95B9238054791D51C",
-    "identity_type": "private",
-    "iv": "57B0B15DF8CED13A80F93751E71DE9AC",
-    "key_seed": "B593545C0D736C1BFAB6E76CA49AB7DD942229C6E8B781B468ABD7C60ACBCB97",
-    "metadata_key": "90687B3B2AA61278792878E85A897B9A",
-    "section_mic_hmac_key": "FFA3F38A2550890AFF05E718065CC2A4AFE5EFC392122B4D0B12CA96AE3ABF58",
-    "section_salt": "D0E797023C8E23832AF2DE31413FECA5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "962353CB1C07FAF6686149577DCC75DB",
-    "aes_key": "E9007665D3AF271921E87A78F657A08D",
-    "data_elements": [
-      {
-        "contents": "DD845D55",
-        "de_type": 566
-      },
-      {
-        "contents": "00E752395426921A92C74AA1560976DA2AE78C9D33",
-        "de_type": 290
-      },
-      {
-        "contents": "CFE5A4F631D430593C281AF3371C862120623F7AC4",
-        "de_type": 179
-      }
-    ],
-    "encoded_section": "6E90138E7F8FE7DD8A3FBCF4B8077EF8542315911000F36F9FB7D32C243DF950E4B059E15F9190014A5AFF2BA024EEE91B2A86D089FB84084BF6D938B4B23C220B8C47E388A344199E965D14EB2524F47A4BB2ED0A2BECB01B63071D79034984E9A386C256902483D60EA4B5A1AB78",
-    "identity_type": "private",
-    "iv": "83B1FD00052754192029CB2F83E4297F",
-    "key_seed": "CCA7390D51E680A3B3072F1C9E70064FF16DD44C9D62A37B248C73FD833AC660",
-    "metadata_key": "523BB1997FAC71B83F2B60F42589EE95",
-    "section_mic_hmac_key": "0EE49B03E4B64FC2B250B0D2C4612D020494181E761B23ABFE594F97040CEF24",
-    "section_salt": "F36F9FB7D32C243DF950E4B059E15F91"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B67BF6F1252F5E0EF8816F15D301A39F",
-    "aes_key": "43407D6D91B96435811F30A50BE54FA0",
-    "data_elements": [
-      {
-        "contents": "0235ABB510F05341",
-        "de_type": 824
-      },
-      {
-        "contents": "CA9166B5",
-        "de_type": 12
-      },
-      {
-        "contents": "1FDEC6B16D164A545D8B64995C00",
-        "de_type": 38
-      }
-    ],
-    "encoded_section": "579013B31D8FF7387C6F88EA6FE4E1EF24DA329110004C349BCC1D0FA5EF838F76A707E05F8F9002ACFCF23B0B23FF24956B6407E513CB77D0D7B1884C904DF788AD961EC5FC1BADD31E34E027C38199C5476203E4CA0FAE",
-    "identity_type": "trusted",
-    "iv": "5AEBFCFFA3004CCAEE5DDFF854D820C0",
-    "key_seed": "E1B8FF062302C677E36789FCE15BF3CA6C1436D6A0B78E5D3B241F946678ABD7",
-    "metadata_key": "DD3F2168FAB2123B9450F54E86B66A11",
-    "section_mic_hmac_key": "BE20035F0C2A7E3BBCB38D949A8CBE3F3F1929D5658501B05BA0A14177EB1982",
-    "section_salt": "4C349BCC1D0FA5EF838F76A707E05F8F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "683691EE3E8A8E95F4787967AC569B94",
-    "aes_key": "4B42E071DEA02B52101DB6E24B78FA20",
-    "data_elements": [
-      {
-        "contents": "993E9EBC3173EA199AF4BDF4626FB2FF1AE7FFC46C5DEF",
-        "de_type": 21
-      },
-      {
-        "contents": "6D16",
-        "de_type": 274
-      }
-    ],
-    "encoded_section": "5590130DFDF1B79474D9F039992B840380FD319110000E05D59BD69C24AB85016E9CBF7513F39001E420DB5C31A3BDD1FE0E64CC581F32309E4F949318B591E46A84742D6E0AB75086EDFAD1D098CE4C78421F02775A",
-    "identity_type": "private",
-    "iv": "F35FF701EC37712BDC76295C2D1895F6",
-    "key_seed": "2496DFF7490AF44C61EF3D47167BA33E22B738B68C5D24EDEA6D9087BC4F0758",
-    "metadata_key": "CA1F7C7043728303F66ECE50ABA40834",
-    "section_mic_hmac_key": "00DED9280F77E5541D670B81449E4EEE65A2003D6933A1EB4F2C20BCC8453899",
-    "section_salt": "0E05D59BD69C24AB85016E9CBF7513F3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "196DC4CE0B019790D86640A73F7ABE96",
-    "aes_key": "8338D017A81A7041C6D4FF4F533046CB",
-    "data_elements": [
-      {
-        "contents": "445F36A981DE5A534274F1B8CBAD2954CF66016F275A3A",
-        "de_type": 500
-      },
-      {
-        "contents": "8A1215636ECAE1EFED9182A21900224066DCAFFAF0F9D42CA05D79",
-        "de_type": 608
-      },
-      {
-        "contents": "4B605D68943C67774567CB69957D827DDDCF7F2A280BE76CC6",
-        "de_type": 652
-      },
-      {
-        "contents": "EA46EDA7D7586C247F8101FEF4DDB2",
-        "de_type": 523
-      }
-    ],
-    "encoded_section": "9D90137836767DD16EB5D181B94393B7C9C4D49110005AA5A767B7C8F390E7B84598F1E6ECEA9001F907A884F970AA1379060520D3DC2C794766F852A608DED6EDA2BB11652C88B605D333829E95E4CDDA7F2EA77AEF23BD32B61F4DF8D2994458286871792C64F6D9BFB9DC6DB688719294349997D166BFC2CA7EF0C6ECB78C8E6ABE95404372904758CBEA1E5C7805E2DC10FA9FC6A28233C0569FD0A8",
-    "identity_type": "private",
-    "iv": "D977A2029F9F9599DD109B5F935234EE",
-    "key_seed": "DAF58A433FD1C92223C83A1D458C16A6D791C35B6D233A5B0802CD73481F6730",
-    "metadata_key": "A3611E071012852B91B390F2EAD716B0",
-    "section_mic_hmac_key": "1B677F76106044CF24E36F00B46DE7F48FC244D3CF907DECE2B2F39216579EDD",
-    "section_salt": "5AA5A767B7C8F390E7B84598F1E6ECEA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A6DF7A7591C801A5C966CA40B18C959D",
-    "aes_key": "7AAEB3A3D128791FEE4FD4872BE02E6D",
-    "data_elements": [],
-    "encoded_section": "379013F742C6E278A2ED6465DB07BEB12CFE50911000C7F758AF24AA696D1CB7D0A9D65C582E90043FA1230A35535BE33302A53CBA4418AC",
-    "identity_type": "provisioned",
-    "iv": "B445034001A0F499175F3C9EB0AE92DA",
-    "key_seed": "39C904DF3BEEA18AFEB7BE38D6B8E6069401DEAA759330C9DC25C4BE112CB5A3",
-    "metadata_key": "0ABF633959D782380E4E947D27A805AA",
-    "section_mic_hmac_key": "54AD001651F4FEE64341F38E740DBB8FF123F756D68FDEC00E8B7912B13CED89",
-    "section_salt": "C7F758AF24AA696D1CB7D0A9D65C582E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "88705DD1C65299C03EA7AA7496559581",
-    "aes_key": "5651F9236F827EFFC434AD9F005D28D5",
-    "data_elements": [
-      {
-        "contents": "45040FF6A5CDA9835F818B484CB70A07B9EF939F",
-        "de_type": 875
-      },
-      {
-        "contents": "908557DCC7A672E4559E4280BFE4B0DF7CBB9033D57420F140A2B585E2DE",
-        "de_type": 418
-      }
-    ],
-    "encoded_section": "6F90135B57ABF5DF4973307BAB1DB3C4AA6C80911000D91CE3FF1521638C0EBFB1C24543DA3B9004642281555CFA95167B0E6158D7F0EF0D5BD41FBE8A2DDC73B00B17998905773562C1BE381A66298FADDCF372204D30794F124C34FF7139623F41E957E4AF81A7379BE160E3B23135",
-    "identity_type": "provisioned",
-    "iv": "7FB08290F4083C8C63DD2DC495C1EB45",
-    "key_seed": "EC1290EF880DE14D1AE6D5B0F5A835DCB8DDEB83B7991C7FEA02F738A7C0C94C",
-    "metadata_key": "52C1C131236DC4C9DBEF317D1266471F",
-    "section_mic_hmac_key": "9695F74C29EA748DD4457C18285F53555A358F759EB1183889B4A15320A846F1",
-    "section_salt": "D91CE3FF1521638C0EBFB1C24543DA3B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F4DC0B55884950152C6F0C5C01475956",
-    "aes_key": "FAF30D19065FBD5D679D78E7C7EA0B92",
-    "data_elements": [
-      {
-        "contents": "5EBE58BB8F41ABFE605EFB39B48A4E7861EC80EC",
-        "de_type": 455
-      },
-      {
-        "contents": "FE52251B3CE9AD42F9A3ECC5A213D742F37415",
-        "de_type": 207
-      },
-      {
-        "contents": "85C6D2468DDC1B42286E73284C03C718DD3E1FC5FD3050",
-        "de_type": 556
-      }
-    ],
-    "encoded_section": "7E901315CF56AAA74A2A4F82F00092990E8814911000743CD7DAFB42FC38076A13E7E1F4177990044F324B65EF22A2272B929464CD7DC2C2D75872E649A1D7DEFE164D58E07B41F473505815C0BC34702A02C0E4F113866170FD1B15EB58D7994E0D33A206C0C44A2F092679874A1D1674EAEAAFD99E0FC19E6F744E0A7347",
-    "identity_type": "provisioned",
-    "iv": "FB564977E2D99426D140FD689871A2BC",
-    "key_seed": "A62634BC57E141BEFC2564C14B48325117363328C53CDA48F814D4807048B48B",
-    "metadata_key": "574603EF40BA6009E312223A51E8E2E0",
-    "section_mic_hmac_key": "86ABC6D41CEF55446F03A0952E90F664718C4822451D24A3FC27E2898C84EB40",
-    "section_salt": "743CD7DAFB42FC38076A13E7E1F41779"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "53234126DBD29BAF6097EC8D34317852",
-    "aes_key": "84425FEC4A06780FE396F9DD6040DEA0",
-    "data_elements": [
-      {
-        "contents": "6ACFE4B438C70672D7AB",
-        "de_type": 986
-      }
-    ],
-    "encoded_section": "44901360C0D9E68524187C1C25A4716FE61009911000B5E48CB9F2C2281E5195D2D12ABD09169002C39DB32F9F0C574E62CB199AFA336A185270C735884423B5B93B0DDFC7",
-    "identity_type": "trusted",
-    "iv": "D9119243F3D9CADDE86862B5ACEF8CD3",
-    "key_seed": "92A8C510E73A47699B0C22ABD2914EC022E9AC8B797E993DC4C6255EF66BE228",
-    "metadata_key": "39EA512E22B067754A318A3CCA5964C9",
-    "section_mic_hmac_key": "12BCBCEE50AD4DF7923CF35B1AB83583A1F4E502748556DF89A646200C3732FF",
-    "section_salt": "B5E48CB9F2C2281E5195D2D12ABD0916"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CEE234610E9993DC98C3D370D26F3DF7",
-    "aes_key": "51D4F92C953723A8BA9288131BEFFB59",
-    "data_elements": [
-      {
-        "contents": "3B1748685E7204CD0AC2500BB88742F69E53",
-        "de_type": 467
-      }
-    ],
-    "encoded_section": "4C901383131BCC9CB08EC986EEFF6504BA974D9110008FF0CEDF1640457BEF1F5CDA7D58BAF5900483D0B4BA6B8D9B80C5C9E12480C55424936562E3C68999DF6C4FC8256C9A0B17808194DB2A",
-    "identity_type": "provisioned",
-    "iv": "98603F701E96147E49F0A3F8C4174589",
-    "key_seed": "6532ABB7061C073E531A655B8F49D1D2311AEFF08E26F15B3CD5EF6AD3A960E2",
-    "metadata_key": "20F0584320BFF42FC597A41280E5BAC9",
-    "section_mic_hmac_key": "02101BA95A03412345F3552A5C163744CB1B4B1EAA3232E2CEABB4C862AF141E",
-    "section_salt": "8FF0CEDF1640457BEF1F5CDA7D58BAF5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "81A1175E23E1EC7240337AFAD6BC7EB7",
-    "aes_key": "FEDFAF2A6E7FC0E21A91E59BF8B332DA",
-    "data_elements": [],
-    "encoded_section": "379013A99129E69382B3F3FF02558A9A25CD15911000A7CF353E32FB509A39BF6698EAA646BC9001C2A2D18471E1D05CE78FB1967ED58068",
-    "identity_type": "private",
-    "iv": "3CB4F19740A089755A2925ABA96D2237",
-    "key_seed": "3B1D9789DE417E14DE7F5FF6AE8BE7DB5CB6617453BDD7FD1A216DEE5531D68B",
-    "metadata_key": "E5D8C1873FBC970ABDA794974C2FB35C",
-    "section_mic_hmac_key": "687C291B4FD7331659D26806502AE31343D972AE2E6E7AB83D647AA57C22FAA6",
-    "section_salt": "A7CF353E32FB509A39BF6698EAA646BC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3002A18B6213325D185827101B8FEB1D",
-    "aes_key": "CA1C7AF04A4FD83E87A9E9E730289BF9",
-    "data_elements": [
-      {
-        "contents": "8699B5A78970A2427D55BD82D4",
-        "de_type": 656
-      },
-      {
-        "contents": "DCDAE8E9DF3EBFA2C6094F42E6C87791ED",
-        "de_type": 517
-      },
-      {
-        "contents": "F0B0161E1BE7ADBE7B8B72CB09CF4ECD8B7BA0859856F8FE24",
-        "de_type": 288
-      },
-      {
-        "contents": "B30B",
-        "de_type": 56
-      }
-    ],
-    "encoded_section": "7B90132C905FBB2C863EB4079E8B7BAD34C5839110003682E85568AAE0E82863BAD2FADA6FDD9002F9EA810B398843E60BB488546F7BE02E1B50043AD29711AACF37D90F6E1DF855915265AE4B2A4F8CB2253B76F8ED0E828288F2D47F06106F01A00C8F07333054F7EB00AC58C060BAF7F3BA9BCE4C6F031F9A93A9",
-    "identity_type": "trusted",
-    "iv": "B2B61B37788EAA1C5A3068450C9E7C63",
-    "key_seed": "EA552C43BFFF78260A603EE8B1C72EECA8297D7373D60BE107F83AB7C147D7D0",
-    "metadata_key": "E748E53B8B84D6D63DB643073B39ECB5",
-    "section_mic_hmac_key": "0E9B918DD78A73505AC657B398BB35861E5A69907965F1BF5D3306B59AB12A7C",
-    "section_salt": "3682E85568AAE0E82863BAD2FADA6FDD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F88AC9429FFC97BD5D9191F120126A01",
-    "aes_key": "1D105B146BD337AA7EFA523A71C9E1AB",
-    "data_elements": [
-      {
-        "contents": "00C5DF062D335BD726CACBC7A0B67B0B",
-        "de_type": 620
-      }
-    ],
-    "encoded_section": "4A9013DA781FD242A7193FCE5BD9F370AC8C309110008D1CDE6542BCF8E73879AC69688FF55990049CFE71AED546CA5745D7C06F4E689A5D8319E344654EC9495226DB8024DEE4182A8F08",
-    "identity_type": "provisioned",
-    "iv": "68DE89B24537AA1B093F7FA14AEA7D49",
-    "key_seed": "A6845D869AEDD2ED427829ADEB09807A8A5300A2675344EAECE93BEFEA0A6701",
-    "metadata_key": "2B83AEA0BE02DB20AAFD114A9C33D1C9",
-    "section_mic_hmac_key": "D5E0B90E46BBE6913978A5213BE51F2C9B9D9628FD986C96A5A82E1DEA8E073E",
-    "section_salt": "8D1CDE6542BCF8E73879AC69688FF559"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0DF16EC423548F3D0B47CD91150015E7",
-    "aes_key": "4C28452111DFF26A316FD05F3E3004A7",
-    "data_elements": [],
-    "encoded_section": "3790132CC5741EAB8595660B062128880D944291100091B18AAB56D0B536F1791EE8D2C9FC1C9002A188B363001A99AEF63B8F1E5E0CC9B0",
-    "identity_type": "trusted",
-    "iv": "5FE3E1280133A66360FEF6157D65A3E4",
-    "key_seed": "E030711E2C294C058D619E45659774C93E40067CE130DB3AD1B883FBC8E3B95F",
-    "metadata_key": "75FC79BC1F5F4A71F3919FD3A658B8E2",
-    "section_mic_hmac_key": "86756856EA5D1111E0D45443BC003A04D28D46FA3D9D06C19CF3BDD207CE17E3",
-    "section_salt": "91B18AAB56D0B536F1791EE8D2C9FC1C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D2CB7EFD8AC55A4B7782291095063735",
-    "aes_key": "E53A8922160B243CEBE1723E102DF96D",
-    "data_elements": [
-      {
-        "contents": "90E198FFA1A1771232A470B41C3618551F808B37619364450C82D0",
-        "de_type": 57
-      },
-      {
-        "contents": "AA3536B6255F1E330F33A40BFC23BF0BE08BFDE03B278FAB353B55BF",
-        "de_type": 475
-      },
-      {
-        "contents": "ABA930A2B7EA27DDAFF5",
-        "de_type": 520
-      },
-      {
-        "contents": "CB27A674F14A84E844A2DEE7CBFF32C1ED",
-        "de_type": 333
-      }
-    ],
-    "encoded_section": "9490135104FB10A397689EB08C2D4E9BBB0C1E911000979A8AFA25DB21F7EC13D146CFC1410F900460CB56ABE59BB2DC4C6C17EDB2CA9BA8D3214665237A16FE0A4124A3C5465CFCBCFAC32C1DE41A9D42B99C8D8D36EC9D3653CE7F286A0907AE9A8D270E3DEE03F7442D7DA18075C6620D6292861C1FD97902A798F643343DA5F9879B71FE88D1D6514F1B41E9A209748FD124F0",
-    "identity_type": "provisioned",
-    "iv": "4C1351CC073E7B86D90BF026FF0807FE",
-    "key_seed": "91980B5B07EF7D557FA8F5E60411D2A0F2F449E1F9FA2631250BD86E5C8B0142",
-    "metadata_key": "8104BB265F6A7B5B61C316DB48EF06E1",
-    "section_mic_hmac_key": "0DF5F3A00DB4D6AFCF99FB6826F9DC765C289B7937587D1461D825FE4D6FAF41",
-    "section_salt": "979A8AFA25DB21F7EC13D146CFC1410F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B184B09431BC6D20C3CBD8D108EC4E2C",
-    "aes_key": "4EF35CEA87B3BE66A3C3D72A64E4CA2A",
-    "data_elements": [
-      {
-        "contents": "F02092",
-        "de_type": 129
-      }
-    ],
-    "encoded_section": "3D9013AA922B9D3EEB866D6046657CC594A33D9110002A4E2A1E8DA81FEDF04B8250BA2383A89004B6DC8634A6410E0FD602D04433BC254A51A050D6419E",
-    "identity_type": "provisioned",
-    "iv": "5ECC70A88EB4E67063D4E0F57831F4F4",
-    "key_seed": "098C5CF53518E9D1F2F2D8D0AC948B9B8CCDEA905F999934824429C0426E34F5",
-    "metadata_key": "7D82E485F54A2C30295125C2A1984EE8",
-    "section_mic_hmac_key": "E8881B4E5CF4A053EEB38D0D8B18C7853E2001926A46471B75B864B23DECE677",
-    "section_salt": "2A4E2A1E8DA81FEDF04B8250BA2383A8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "47452213CC5FDC391929EEE09F724D0C",
-    "aes_key": "24274A9E54725581BEA8C3AD99D6FB45",
-    "data_elements": [
-      {
-        "contents": "55",
-        "de_type": 280
-      },
-      {
-        "contents": "C5E7F5858DE92DDC1EF5A8",
-        "de_type": 403
-      },
-      {
-        "contents": "D111",
-        "de_type": 802
-      }
-    ],
-    "encoded_section": "4E90137CD48DFFAF75C3050516CB8439CE77D0911000C7E763251945F46C637602F94E61A62590029B749B79A1E7192F10EE205ABD363E48F834C31AACD41E39E7B104C201C6D805EF464DD0C5AD59",
-    "identity_type": "trusted",
-    "iv": "FC666787DA6880BF68AD87F281129436",
-    "key_seed": "16376750ABB42AAE45961441C9251B3006EB249781EBF712994AD8E297BFB3FB",
-    "metadata_key": "BC8BA065EBBFD5F28D57B63473F648DC",
-    "section_mic_hmac_key": "D050DE0A2C557BDF173F3820B540F059F4F902A963D23AB07A27E97341433925",
-    "section_salt": "C7E763251945F46C637602F94E61A625"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "397E5C2A10FEFD98E9764BB2850F9F70",
-    "aes_key": "B86A8C3BEBB410A7CA7937C27982E5A5",
-    "data_elements": [
-      {
-        "contents": "4C84393779DD47BB70185D28196CE896331EAB",
-        "de_type": 999
-      },
-      {
-        "contents": "2DAE45BCA9D994FA2F8642E698B26E",
-        "de_type": 224
-      },
-      {
-        "contents": "6CC6616B25874F1670FA2664C467A442CAF6DA681FFA8B",
-        "de_type": 588
-      }
-    ],
-    "encoded_section": "7990132E1215A7A422203DE07796127DB3749791100050120AFB3D493DB82A96A0EBAEDD595B9002290C00E97BAC5F0AE286B2F1B3EB9C9F65554CA39D2F0BEA8DC26C3C3FF3877C260EAB0C966B6D187F472E076B43ED87238C272FE87723A973DE2746FC47707E4646665461E0CCEF8D72E5AC6E410B53D4D4",
-    "identity_type": "trusted",
-    "iv": "671819F4C129CEA59570A45E40042DE8",
-    "key_seed": "42FAC575479AF4CF414FD25107A31CAEB82E876F63F2AE64F158B1193C1CE4C3",
-    "metadata_key": "75A7213D0E26DF12A237EA4969C2EA7A",
-    "section_mic_hmac_key": "0A42A390A90B39228144B934135AC7F799CF4FBB70BD8414F1687C8530F94931",
-    "section_salt": "50120AFB3D493DB82A96A0EBAEDD595B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BDDEC437FBD471B4309CEA1E0151736B",
-    "aes_key": "56B2E5280671CEBDB46B21FDEAFDA8EE",
-    "data_elements": [],
-    "encoded_section": "379013AF79FB24D9AEBD4EDB9BCC1B15E3A610911000AC735789ABF3C926FE9787D8124F26039004EB9FD655DDA7116ABF7A20E5D0BDA234",
-    "identity_type": "provisioned",
-    "iv": "BD94284A1DED0703E49EB2A616033C17",
-    "key_seed": "D972FC64B93F5C9942A0ABC8646EE78A152FBB8BC0704F52FDDC48B7FF56CBB8",
-    "metadata_key": "A392A526A7068B94B1E3E25A0429F56A",
-    "section_mic_hmac_key": "922DBDD6A4F8865AD9824AD8FC62B30AAD2F8BDB93D3BCDEAACC3305E32A19E2",
-    "section_salt": "AC735789ABF3C926FE9787D8124F2603"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A9B77465966324AC9F3290D2369987F",
-    "aes_key": "7E5CBD3F2102129DB706C8EE75A333EF",
-    "data_elements": [
-      {
-        "contents": "847502E89C450B3FCE072D156090AD6C52B2D8",
-        "de_type": 645
-      },
-      {
-        "contents": "761BBA3496528070633DE149451D9AD4E3558F7476",
-        "de_type": 537
-      },
-      {
-        "contents": "AE9C840B555C",
-        "de_type": 582
-      },
-      {
-        "contents": "F4703CA172",
-        "de_type": 113
-      },
-      {
-        "contents": "DD2959D22A5E",
-        "de_type": 365
-      }
-    ],
-    "encoded_section": "7E9013F9BDA274AABFD8D976598D24C4DF68339110009D4C783A6ED077F63A108F3558B4FE919001677C1A3E9ECD221759776116DF4219E28E1D79E7A658B09286A4A54EABD817A44B57078452B9E6957E7B49D0D73FB94970474298DA5CB0C6C2908BF42578F79E5EC1992A89A39264D9B49F1B5F559DA0F6C6D9314E8516",
-    "identity_type": "private",
-    "iv": "CC837603730CF2CFC59BE454DBF623BA",
-    "key_seed": "282A075FC7CF3101EE966ACAC968FE4841AF6C4531A5F2655E301C611FA6F075",
-    "metadata_key": "2DB58866CCCD71AB219184D30AFB8ECE",
-    "section_mic_hmac_key": "1A735D24B9F9C6A3ED6D2C01C9D797EE696EFDE44D92D2E7AC9C01BE5E18C915",
-    "section_salt": "9D4C783A6ED077F63A108F3558B4FE91"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "62CCD10524DAC73729C1C47D671A9B35",
-    "aes_key": "6B3EA1B46FAD6834DDC93E9C98BF83DA",
-    "data_elements": [
-      {
-        "contents": "B29B0EA86E6A724DCCAD1FAF",
-        "de_type": 68
-      },
-      {
-        "contents": "FB4B7ED6",
-        "de_type": 380
-      },
-      {
-        "contents": "87E233EA396E891F9DD432C299",
-        "de_type": 36
-      },
-      {
-        "contents": "ADFB0CEED7C144A0C6EEA37805ADD5D906F9D24009",
-        "de_type": 584
-      },
-      {
-        "contents": "75167BC12CE8255FEC4FDABECD6C",
-        "de_type": 650
-      }
-    ],
-    "encoded_section": "84901321304B13B0CE78A9C654EA01BE27EC87911000356CC7D48B00218080567F86C8C226B59002B265CCC13ED42B84041556DD88578525CE07A7AC025EACA3F2F55D0F8A26C3F2A8B63D8B00173466BF45EE5F56CE1B3BA5A388238E532DBD0CE43823A12591752022676716BBBA2696C01A2E07367068170CEA04E4D675821C3AA19184",
-    "identity_type": "trusted",
-    "iv": "DE1A81AF6B53D4D1D4D50534FEE5254C",
-    "key_seed": "38A92224674C6F2BE57B36D8A191E576633DF9BA3D76DD32F70D72D415878DCB",
-    "metadata_key": "C140E14318193C8ADFEC1D2CBFA8213A",
-    "section_mic_hmac_key": "BE625934853E588137352DFC9C3574A129F96C993C4221C8990D91FB635B4F67",
-    "section_salt": "356CC7D48B00218080567F86C8C226B5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3E4E649CF35F5DD9CB2AC8E02E80445D",
-    "aes_key": "07A72FF7D07703E075A69D477BAF0177",
-    "data_elements": [
-      {
-        "contents": "9A68B1D0835C59498A7B483199",
-        "de_type": 698
-      },
-      {
-        "contents": "514E4A96E7057DD993624378D31FFA9CECF7E7B08BA9B4C73F",
-        "de_type": 405
-      },
-      {
-        "contents": "36364E971DCE98A7C23B164608BD1D4A410B79CFF32CACDD",
-        "de_type": 584
-      },
-      {
-        "contents": "6D6653D73680A3DF70FC0A0B098913CA93879CAFBC1845DA745E",
-        "de_type": 331
-      },
-      {
-        "contents": "15DD526DC963112361A3",
-        "de_type": 865
-      }
-    ],
-    "encoded_section": "A89013CC1FFAF0DB58D146DFD9B332AAE9C0F29110001730E6F86D0561262F4E315CBAFF7A9790025D2C78819ECA218C6938BAF148CB6A981A2D0884BE9EF00D8E5680E2636626FCA4B60503C6C524ACAD4306DCCCF2BB36DE37EED4B651E8C4992C87E3EEDF4E8E6C1BA2298791412E1275FF53DFE8C771C880D127D47815972F804EF4CB42CB7C8B73A89CFDFADF42BE03DB2F21F1D92EC5DCDF46E58C17A6A3FC5F92BCF001819E",
-    "identity_type": "trusted",
-    "iv": "F869FF07F98E32C0AD55CEF91658D60D",
-    "key_seed": "5D1E0AB8AF70BD4F1F5E7AC632B46F0D3976CD3409D96D6336FFC71E0D0B1A39",
-    "metadata_key": "4745EB0C29D3829EA920471E4CF7FA2B",
-    "section_mic_hmac_key": "A542C3B2AD831E3212C0A66B8F78C7F1D4AE757BCC53E59EB57677DCD3B2289A",
-    "section_salt": "1730E6F86D0561262F4E315CBAFF7A97"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0E7BD813499926A0801C92B1929A3591",
-    "aes_key": "CF5EAFF5A6CF1C2D8D38957F9E572031",
-    "data_elements": [],
-    "encoded_section": "37901304FF4DE46CD91B9856A4E7F1BBD4C17391100006366EBDDDB9BDC2F6571EB0EE6D56079002C75CC331866205C21DC58413AEA40526",
-    "identity_type": "trusted",
-    "iv": "04A19C41665D6BEB5815BFFC82D2F20F",
-    "key_seed": "A2C54EBB8A466BDCC870DC0F024B654CDF6065B7982FF161DB4309726E8A9FEA",
-    "metadata_key": "40D555232C844D0DB6AC3D8B67C2106C",
-    "section_mic_hmac_key": "1B5B2EA645019085A538706A3639AFB2EF7F9DCE0262A9D156DE539C5887A246",
-    "section_salt": "06366EBDDDB9BDC2F6571EB0EE6D5607"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A904A75B1FE8745F8A7487D6A1F266C4",
-    "aes_key": "299B6E8D83C5F4C5FA5D7191776D5B74",
-    "data_elements": [
-      {
-        "contents": "9D8ACA4EEE438F77F1ECF161C93E79C2",
-        "de_type": 25
-      }
-    ],
-    "encoded_section": "4990138B48C8DA765DA321BF9E7F74E018BCCD911000D5DCA899C05920FBA96B57FD6BC22BA29004E9045654EA86C9EFF8533142B7EF6AA31D947E6A37AA8BEAF9C4072DFDA603495A11",
-    "identity_type": "provisioned",
-    "iv": "F7C11436DE1634CB790BFEFAE15A83E7",
-    "key_seed": "C2DE50F20E7A123F3221A92B1BDAE0BCC707FC399081324F41A2CD10D6E9DB19",
-    "metadata_key": "2561C501E52AD7DDDD24E5578A2BD779",
-    "section_mic_hmac_key": "510E4C8F9ED86CCDF0EB2F6E1282A8AD8087431F380602848EFAD4FA30A46662",
-    "section_salt": "D5DCA899C05920FBA96B57FD6BC22BA2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A9E993AA4BC248E9A7B18624A78A94D",
-    "aes_key": "0CF2C9FE3C3CD3B9A51293022090179F",
-    "data_elements": [],
-    "encoded_section": "37901393A3A8C7855ACB50AB3802D631C9C1F191100049DD85316190F271FC5BB2F620EEF235900225DD3667C9BD35154CD7B85A46923769",
-    "identity_type": "trusted",
-    "iv": "C3A5CDB16311D0A0FD03C473522159EF",
-    "key_seed": "213E324AD5D67474CB40E6F49657F14EE29D80CFEDC37794DEAE1485807056AB",
-    "metadata_key": "8B87195CD4A305E6383792D307FA7002",
-    "section_mic_hmac_key": "4826260A12292DE75684A3CC1020AC5F7D8F469BF7B7EFC3A9351FC22BAD1CC1",
-    "section_salt": "49DD85316190F271FC5BB2F620EEF235"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9B07AE29D7E24466EDAB0C5C73C14BDC",
-    "aes_key": "07C40F75E92319B0204F538597F215D2",
-    "data_elements": [
-      {
-        "contents": "F22339BFB847E90ED663BF729597FA326FA5F62AEF5F6C5A9FB3",
-        "de_type": 403
-      }
-    ],
-    "encoded_section": "549013564A1558904D7ECE81BCD9C42924A30591100005233215A686F5A39C58599759C1A43F900274A22947028C3BB7FAE0C8534773058C000D1C97B23B36A2670BDC8F618CEB1AFF283597F687C9112D84AA87A2",
-    "identity_type": "trusted",
-    "iv": "FA40033D2CD29E29AD8C494507B1612F",
-    "key_seed": "F9D1973B9579CAA560918B5AEBFF76FA48AD3DC1E0051569330F4D44F2998A0D",
-    "metadata_key": "AFB9AF8982A61787B90548314BAB69BA",
-    "section_mic_hmac_key": "AE7047E264D302914C648144850D03551C69C6F92EC92263B0942F4115DDD4E4",
-    "section_salt": "05233215A686F5A39C58599759C1A43F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AA66A68B0A3E886BD9F44096E51B4D5E",
-    "aes_key": "316B88C5751E2FCD16B56AD488855D6F",
-    "data_elements": [
-      {
-        "contents": "3C10A90C59A5B3AB5B927DC7AE03D4A0EFC634808E12A7AD40465EBCB5",
-        "de_type": 483
-      },
-      {
-        "contents": "F8A58360070B908E24356B895258022AADEEE54B6ACA714AFCF7C349",
-        "de_type": 88
-      },
-      {
-        "contents": "A082",
-        "de_type": 230
-      },
-      {
-        "contents": "2E",
-        "de_type": 484
-      },
-      {
-        "contents": "67B2DDE6",
-        "de_type": 116
-      }
-    ],
-    "encoded_section": "849013BCCCC132898E376863C442E9D8411187911000FB535FD638820271787F1073F7886A1790020977D491E02CBE4C40A898A2B0132274D0213C6922DC3C44998456DEAD435761A0368FBC64137FFF54A12F6620BE0F06E71D2BBAF4317948F67907E841EEDE7DBEEC5EA81AF57D7A9C69390865382019406815C5CC1A747EC60A74FCDD",
-    "identity_type": "trusted",
-    "iv": "3D7C449B089A03FEC65839104E037743",
-    "key_seed": "6C82B15F2C059B5835E16ABFD28FEAF239E1A6E57AAD960CB852488196620D8D",
-    "metadata_key": "9955C2F5670EF9CB149A40EAC4A3A3E1",
-    "section_mic_hmac_key": "B19CA117C40072B06E08437F1DD8F48ED95C857460627636E99E04D3958F5E87",
-    "section_salt": "FB535FD638820271787F1073F7886A17"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8C90321F97287B8A091727E2083D892D",
-    "aes_key": "409C8416E73CDE13637F2E461F74A4BB",
-    "data_elements": [
-      {
-        "contents": "BF7419DB336DB433E3",
-        "de_type": 71
-      },
-      {
-        "contents": "C7437F5427AF382361526C55B748240F486BECD95871",
-        "de_type": 173
-      },
-      {
-        "contents": "FB6A6EDF9FDB3F",
-        "de_type": 778
-      }
-    ],
-    "encoded_section": "6590135BF61E4E7A9A3C8B73569D2C23DE591C9110009759D1DB407678D65A146AFD04322D7A9002915E8088FE74A7EA709194BB7E82B3CA9D4A67118CB3CEB441029EA23771ED3FB2B5F2077913AB93D66731AD972BA9B6DFBFE8420AC29D36AD7619E8741F",
-    "identity_type": "trusted",
-    "iv": "48F689048B5CA464B88E0C399ED506A0",
-    "key_seed": "FF7801A75633E88D16C9DA1732FDDD7662C9B1F484E904B53C1171069A0C25C5",
-    "metadata_key": "C34841270E8866200C48012EA3CAD332",
-    "section_mic_hmac_key": "B393831A2B040BDFC47CE74F8192998613BA5874343AEF5241B6914809AEA3AF",
-    "section_salt": "9759D1DB407678D65A146AFD04322D7A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4680C0AB3A162A977F1C57FD6ADD5D6F",
-    "aes_key": "ABD9FDE4027238879ACC0E31B1DC8A2F",
-    "data_elements": [
-      {
-        "contents": "2CAB91011DE905C17B63F3ADDAC747F301C0775F1B06256F0DEF",
-        "de_type": 580
-      },
-      {
-        "contents": "98C4592D01DE564D0360A35C983D16A9200FBD625394BCB770FE927F",
-        "de_type": 345
-      },
-      {
-        "contents": "AC22AE18E6DFF87F2441616A3CCFEA17DB0262E00C5A",
-        "de_type": 116
-      },
-      {
-        "contents": "5AF4697ECF2E9560DAC164049C4C39C08E8038E8C7C5111D096737FE12",
-        "de_type": 505
-      }
-    ],
-    "encoded_section": "AB9013A9E3A860FA238886DFF136BAC79FAE34911000D56769B70F704174E61314E11917885090011AAB5050921F7F0C7EA625DF749AD07909D6B5200976E5F635FA2BFDB181F4D0FA37891826DF9F37580457EB33017A35964559778C9EC2839033159CA8426821731FE0798DAD92825ADF33234AD09F3133A6DB08F90A87FAF7ADC7D149EC4F65D29E5E8C677DA82642B290E287C48D6DD8DC76B1EDB530DAAC4F1BED596F2FAE1C5800D2",
-    "identity_type": "private",
-    "iv": "D88E5CD358B6FDE88C0BDA86B4C07FA9",
-    "key_seed": "FBE039E8BE5927062F30F03F84D8C8F3EA8405E02AD071A5464764457B2CA67D",
-    "metadata_key": "8B6C89F2D5ACB0DD38EB8969A8AFCEA7",
-    "section_mic_hmac_key": "FB915D2EAC4E6D75ACA0FFF189B2B4CA9092970C105D455A9850B9D492DD8322",
-    "section_salt": "D56769B70F704174E61314E119178850"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "99EA2AB3143DE296D87275E3796EA726",
-    "aes_key": "B5369D466D6D66216E050B46C9626E9F",
-    "data_elements": [],
-    "encoded_section": "3790133258DA52075DC6CF650B3F7487D0991A9110002174376D9188577E3AD67895F40932219001E35CAFE972108A18170DCC16E8EC167A",
-    "identity_type": "private",
-    "iv": "620B7155C2DACCD4E172A0948B739392",
-    "key_seed": "4963C0F1DC3A169ED67E6D81873F3D8AB7C56776FEE18E8E24B227951D98F67B",
-    "metadata_key": "8AC856F31EDAD3C1D3B3ABFE13C69367",
-    "section_mic_hmac_key": "11EF3FB260DA29B8A761F75D3D1DD5258FF416466FEDEF1498754AD7B4F8F3FC",
-    "section_salt": "2174376D9188577E3AD67895F4093221"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6EFE58B2D4AFF119286E71653FFAFF55",
-    "aes_key": "1827305AC9AACA2A8BB69F7C721D9AEE",
-    "data_elements": [
-      {
-        "contents": "A51A7BFB530482EE1A59FC50F9A29741189B68A6AE939F",
-        "de_type": 549
-      },
-      {
-        "contents": "6B5F83744DDE1AA1C365C2480782B682866505D7549709",
-        "de_type": 717
-      }
-    ],
-    "encoded_section": "6B901339002EA6193FAD09FDF604C4E349E59E911000699CF720707E6FA5CE226F88AF8BAFED9001E27EA2E4CCD2461B944DCEB37E4B4B63B5F711F1A9C5DCF9A41A192CA9C5ADB735391DD0443C3C955489CF2AD75226E8EA1357595655BDB3E3601E7B33E5D8066B3F37A7",
-    "identity_type": "private",
-    "iv": "D364E25A638A624590BE1FA2F096594D",
-    "key_seed": "B5E64F3EEAB9749EBA831D592F1E9FC5AB925C3C5E0CEA6E129C6B8B8B4C342D",
-    "metadata_key": "5027B1E2C7F8CB8A2D11ED67C651EE3E",
-    "section_mic_hmac_key": "92BC5538046351A15ECC14E24E3982932E910A143E5D28F9DBB38340FA03DCF1",
-    "section_salt": "699CF720707E6FA5CE226F88AF8BAFED"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1BCD64B4EED1893C32BEF93DD9C971B3",
-    "aes_key": "DF5A125BB90A2D17FBEDF9B7C989D191",
-    "data_elements": [
-      {
-        "contents": "E8F6BC0AA73516D2AB139F6FB8C9E48BB6F580EB70D3AC91",
-        "de_type": 87
-      }
-    ],
-    "encoded_section": "519013835800D943EF3DC1B88575BC5477D0B5911000B7CFA8B2DB92728DA2812D9C0EDCD07590012BBEF78BFE3208F7DDF21AF44FF0DD82D580026F9F770A5E9F40C02C24C2E36456528561D0009C2B26E6",
-    "identity_type": "private",
-    "iv": "919E1A3794638BF621ECFA33E8A6DF57",
-    "key_seed": "03678FFD5CBA3537E25A891FAA50484AC0AB58A7D035D8DBBCB351D8643BB57A",
-    "metadata_key": "D2D13AC88CAB6E55984166209D685D96",
-    "section_mic_hmac_key": "2E0D2D30096D2F381F6C14F8393BC8DF670B3E975FA2BC937C10976F47BA5CFA",
-    "section_salt": "B7CFA8B2DB92728DA2812D9C0EDCD075"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "57CAA17E3435CEE5F8CDDD11F8C71927",
-    "aes_key": "FB555F776983D6EF70245A2A74330862",
-    "data_elements": [
-      {
-        "contents": "4D3378D9DAC41CEEB8BB45129747FCCCB813B17E1E046C319A6A",
-        "de_type": 687
-      }
-    ],
-    "encoded_section": "5490135808863DB438BC813BB23FF000567C7F91100040EB6E953C154ED8BA7B70AF72AA84D290048B21A3E3351576DD8C0DF85AA924B4F0CD3BE49C8844E49ED2F1F4852480C165BA80DEB502D0BBFDABB448FD07",
-    "identity_type": "provisioned",
-    "iv": "122941F68AA7A85356610AB70E8F7347",
-    "key_seed": "77BAB0D78ABC0316711301212D5429493421B2F32FD219C784512871C37891E1",
-    "metadata_key": "55E20264C236C78308649B3A717CDF5D",
-    "section_mic_hmac_key": "9299E65289E576D14465C3782E08EDFA71F7F0C4B96DF5D9A027A20C09D44F32",
-    "section_salt": "40EB6E953C154ED8BA7B70AF72AA84D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "918EC773233875D9A8F95ECBAD0F1FDC",
-    "aes_key": "9C727238CA3610D54D119E718CD06BBF",
-    "data_elements": [
-      {
-        "contents": "62F33A8DC96064763369",
-        "de_type": 146
-      },
-      {
-        "contents": "692DB5463436975E424A40014D6B7453611B22431310",
-        "de_type": 87
-      },
-      {
-        "contents": "36EC94C156296D1A90",
-        "de_type": 121
-      },
-      {
-        "contents": "9F399BC4",
-        "de_type": 102
-      }
-    ],
-    "encoded_section": "6D9013C4073FE83CA7F9FEEDE4564CA14A7D3A9110008AA71BBFDDBD5BDFE769C6AA971E20F690020F902663091D7F10A3326C4D6B7AE0CE21D0C7958477125C301C53AA265F8A0B76B38BE77C63049ACD8FABDFE029010F95D25F182016A122C041FDCFD2A36878BD53F608C7C1",
-    "identity_type": "trusted",
-    "iv": "8161FE7F58DD7CB51C94E893C3E77E37",
-    "key_seed": "7689440ED67C78632C580EB736AD5409C5B70833835188FCFEF762CA0ABA64C7",
-    "metadata_key": "CEE36091D48B6A6933349BAAEDB06D3D",
-    "section_mic_hmac_key": "A6C8112D9A7DD48D4AF3531A38C820AC7FD247231F4F433E8B11238B7EA5156A",
-    "section_salt": "8AA71BBFDDBD5BDFE769C6AA971E20F6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DB711D39B427852337FA71D91CF55BC5",
-    "aes_key": "A81B8FC02A525DCB4C2ED8CDDF285900",
-    "data_elements": [],
-    "encoded_section": "379013129BADABE83AB0218BA8A7AFA43684A19110009DE7738771FABFE6960860DEB9DBC4879004259342BAC650F527B4A5A74597FC93FE",
-    "identity_type": "provisioned",
-    "iv": "B504D33DE1BB8832C1EE8AC54297D743",
-    "key_seed": "ED24BBB04F28035C8765F7FCC5F1453E85D4781DD1640F498A9619D56ADFCA55",
-    "metadata_key": "16E55700FF5D1BD29430088C8A23C42F",
-    "section_mic_hmac_key": "10B0CAA2CE15EDEE6A19C905EEDBC6F8C082C77AE22A83DAE646614B1AED0493",
-    "section_salt": "9DE7738771FABFE6960860DEB9DBC487"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "15ABF702A2921EC4DA6280535C861765",
-    "aes_key": "22CAA40B3717F99A3FA4B2A1E7055588",
-    "data_elements": [
-      {
-        "contents": "6064E54E",
-        "de_type": 130
-      },
-      {
-        "contents": "B513C3896B41F8954528634301C2D8",
-        "de_type": 319
-      },
-      {
-        "contents": "1337431F91509A4888A9F8853595A5546D1256650020D6BF151A0763D534",
-        "de_type": 276
-      }
-    ],
-    "encoded_section": "7190136F47402C06F69E2F7BF935775D518D1191100026443E2A7BB7B32D564103572A0CAE959002A855F03507F04308929B2E733D645113B958A3DEB579A55DEF36E35F3B62FA005BB752019A3556269FB98D95644DDDD59CE945E8E9C5B9CEA3057392DFC1C1B818EE361431C2E0C6E3C8",
-    "identity_type": "trusted",
-    "iv": "253F2EF0C8214125C7A3E1D209E540E7",
-    "key_seed": "F82F3CE7CC922B30FE16EACE6B79D0BC9ECA63849C981B97FA704A23CF9AC8B7",
-    "metadata_key": "63DA0B806E8F3FDADACCFC2312159E4D",
-    "section_mic_hmac_key": "B3B26A8FD11B78B0AE02C2F6C0B7196539CB880B46059BADF89752BB504CB95A",
-    "section_salt": "26443E2A7BB7B32D564103572A0CAE95"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1CABC21DB1C0C240529AC3ADB636F5D1",
-    "aes_key": "2F97C4674DF327D354244B462E131D1E",
-    "data_elements": [
-      {
-        "contents": "3A8A8E0EA56B61160E614B6125C829",
-        "de_type": 828
-      },
-      {
-        "contents": "40A3AA30E70403F1B8CFD4D830",
-        "de_type": 267
-      },
-      {
-        "contents": "5D51B6",
-        "de_type": 335
-      },
-      {
-        "contents": "81D0363DE104",
-        "de_type": 110
-      }
-    ],
-    "encoded_section": "679013332ED64969A6D47284A3DEEDAFC7DAE19110009301091AC070334AF39D4CABBE2E483C90044E44E6E6C66C28D442F35A77230D9B10B07ED47776CC060B127913850E739C8FBEB68F9296788975DA87970ABB72936522DD38FA9093C98EF5E501B3D30D1658",
-    "identity_type": "provisioned",
-    "iv": "18685A3BE2ECB910DD222B30E86E51E6",
-    "key_seed": "DBFFECF4EF406EA2C2EBF09122890602CF3F8C1423E72694F437ABE9A82A33B6",
-    "metadata_key": "7AC9AC9E384723D87516CC941478E97F",
-    "section_mic_hmac_key": "C30AD5035C7291B24097C6E6E34CDE7922C49A0850A2BB51A902C9F8428DC220",
-    "section_salt": "9301091AC070334AF39D4CABBE2E483C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "18E66C02947BCD1286672E1283BDB6BC",
-    "aes_key": "1578A1F187076139B90136E77F5325B4",
-    "data_elements": [
-      {
-        "contents": "2C4D33C31E849376984F5DE450BE7BB9",
-        "de_type": 838
-      },
-      {
-        "contents": "73EED2D77B81D9148ACB2086BF5CA2076E8AB12A8E415E9063E3F7",
-        "de_type": 870
-      },
-      {
-        "contents": "4C5B",
-        "de_type": 222
-      },
-      {
-        "contents": "993987B210C00D832A84D6C2",
-        "de_type": 786
-      },
-      {
-        "contents": "0B292F6A1F2C4E7DA470",
-        "de_type": 158
-      }
-    ],
-    "encoded_section": "899013A4E785DB6CFC84659689C9721A0681C59110006A298D4CFE290BC52CE0399AEA97C85290042D4C1056B7D2A834275E94A129445B1D230D19CC4DFEB321DED2C89D5565F5D2F3FBE7296E0A8B1391D0C17CB73871CA9DEEE1E1856DED3B5E4944B5473963DF10C107D0260FB71335C4C6CA0132465C56393F7E2B317ED72CEFD4FD4E4C4EF7F025",
-    "identity_type": "provisioned",
-    "iv": "D00CCF4974F89E0EA8E4AEA7B8B6A4E4",
-    "key_seed": "3EEEC66412789D30B844E8BAB2DD02F80DA4B193058C1F094B7F00C1CAEBFE31",
-    "metadata_key": "D2BD10BCC3E0A1341A1E5CB881FC46CA",
-    "section_mic_hmac_key": "07783CFD28D58E0E7E7A58A427BD526F8A23CCDB6D476C893A6577BFC8ABB9D9",
-    "section_salt": "6A298D4CFE290BC52CE0399AEA97C852"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EEA784B50903BB1F3867A3309D3BB38A",
-    "aes_key": "F1584E98535678BA37B4B88C1A1DAD6B",
-    "data_elements": [
-      {
-        "contents": "B065975A23",
-        "de_type": 776
-      },
-      {
-        "contents": "97D0D8C01773B81CBB85D4654D48F679E3",
-        "de_type": 64
-      }
-    ],
-    "encoded_section": "529013FAB685D2A4E8D074AF6CC499253657A09110005BCF7C32DB1AB7213B08D65BEB96C64090043C30F732BA2C311688F57CCCEEBF13239AA81DFC7AB291C3C348B1FC0188CD137DC2199FED907A60AE4E89",
-    "identity_type": "provisioned",
-    "iv": "2417AC781347135F7C4AC5E3FF5610D3",
-    "key_seed": "A4C8D1AE27A88EE937949D1DDE2C4812AA80B3B1325E85057DBAB45B89890E92",
-    "metadata_key": "98A2EF99CDCF4366703D6CA384F606B4",
-    "section_mic_hmac_key": "818E8767FA4D512C0A422AAC5298D9E6C492AA82728538F3E8563D48113667D9",
-    "section_salt": "5BCF7C32DB1AB7213B08D65BEB96C640"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9FFCDC2887E86DD97B1CD7CC7C926E61",
-    "aes_key": "12C10DFCA2552603C1FDE479C2F70930",
-    "data_elements": [
-      {
-        "contents": "43D56D17A8F5E03D91BCF4E8C3701AAC",
-        "de_type": 233
-      },
-      {
-        "contents": "DD441A6FD3736A718759ADCECDE1",
-        "de_type": 388
-      },
-      {
-        "contents": "FE2437CBB6710097203765E501C075A7BB84D0DE6BD7",
-        "de_type": 319
-      }
-    ],
-    "encoded_section": "749013BD1B29276423429D5C32272760B00E74911000A69871C2D73E23EF30656C35210BC89190029822466D8A6CB94523F1F44D254C56B91C690540A37F233A1AE710FC4543D795BA11ECDC085FDB87B25BAE832933A76BFED60786C41FC80AB6303E572681F54EDF82F395336E6B5BB2F525D963",
-    "identity_type": "trusted",
-    "iv": "B7C4C6B5D46933E315576FB563020BF5",
-    "key_seed": "6F549E0C976D9C561F18C3B7E2A11E1DE9CDBB3F5D961C8D897C4D62D7237D5D",
-    "metadata_key": "3CE3E026CFBC07F235AE24EA5D5488C3",
-    "section_mic_hmac_key": "D669B98BC3C5408BCBDFCF32F721B5958F42F8D0121B4CF506D250F7E9193564",
-    "section_salt": "A69871C2D73E23EF30656C35210BC891"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "18FB5256D82A557D54A999C1A04077D5",
-    "aes_key": "BCB3BA61D328D7EFB9438222D888AF99",
-    "data_elements": [
-      {
-        "contents": "AF5BC7C723B9708DE8AE0F997685FFC56598015F233DBF1E",
-        "de_type": 978
-      }
-    ],
-    "encoded_section": "529013AFEA8B9B0A8FF8674527A31C8D5513D191100056E5750F6C377F9375156905EB02B0FA900403BC01343DA39F80CAB2AF188CC4D9EECFABE9CDBF75E32FA15F5BEC5AC24C1BF393C1C245415B38FA5C82",
-    "identity_type": "provisioned",
-    "iv": "C2337185C26056CE4441225DFE7060CE",
-    "key_seed": "3E54A3C0661B47A2B56B69385D57F404B59CDAF04806F5CD5E08C42AD1798316",
-    "metadata_key": "57D1F6D82B6598012DC38DF4102E9D49",
-    "section_mic_hmac_key": "02D21B6BAFC774F8225F653E3FA74CA072DEE643C20AF9AD115C0F656F0A8F7C",
-    "section_salt": "56E5750F6C377F9375156905EB02B0FA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3534341126EEDD02268A7CF907032A29",
-    "aes_key": "941672BC6294A5FC9E6AC03BAEE156A5",
-    "data_elements": [
-      {
-        "contents": "ECE25FB7FE3EDCEEE8",
-        "de_type": 642
-      },
-      {
-        "contents": "CAB4AF",
-        "de_type": 177
-      },
-      {
-        "contents": "FB38F904FB0A925E59AB186C824D1D121A",
-        "de_type": 81
-      },
-      {
-        "contents": "32E132145BF7683C7095FD150387",
-        "de_type": 990
-      },
-      {
-        "contents": "0C6369F4074A8980786BB4",
-        "de_type": 338
-      }
-    ],
-    "encoded_section": "7B901388065746E077EC8D797B0F0FF690A0F69110008B5B67D02A2EDE80F9E163D2BBC2C82E90049D2356AD8289D2ACBD6BDFD6AD70D136CA59E15E92B5D2D9AD3D1EA16E97828F9C722C6F32937EE2CFE7E3C922E9A969BFB73BD10F1F6E83AA574DF3B638EA680838FF779235BF394F6ADE59208709F6FCA13DA6",
-    "identity_type": "provisioned",
-    "iv": "17F834E108A1E530E9C6DC04CE6B4658",
-    "key_seed": "DC2133269CF982E3FA4D23A8A3D7ED820B8C708C44037FE6D84DDEC982B4C971",
-    "metadata_key": "F785519027C49D46E817F41766D90C39",
-    "section_mic_hmac_key": "DAC78E12E6374EAA18B9DAA80A771A75969D0C6C343200000C0C32281796A829",
-    "section_salt": "8B5B67D02A2EDE80F9E163D2BBC2C82E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9A85F942FCF43F69C7574D1CD2A0D0F2",
-    "aes_key": "0E0534CB941D842104C642B8A1F18A70",
-    "data_elements": [
-      {
-        "contents": "DBD9D02102C6ABFEE1E045959BD444",
-        "de_type": 556
-      },
-      {
-        "contents": "CF6DFA9CC175A07C269B84B190BCA7A1",
-        "de_type": 330
-      },
-      {
-        "contents": "319BE819",
-        "de_type": 775
-      },
-      {
-        "contents": "8F6E2B78FCAF4B5CE5D246F94621ABC50DB3B19C7B98D570C85818B8",
-        "de_type": 958
-      }
-    ],
-    "encoded_section": "829013E659F7589D9F22BF2F1E35BF3E6978F59110004BC4FDBDA1E0D06770F14BF61545244B900233E4203AAB4515AC6A71CC634449CFC1DFD064491ADD2C14E9E378C9E2098D434177D5549DA4D0EB463B520545ACD12D4805CEE4B52D218CEB5667F770833B5B64EDE4EFB737ABCBE830B68090E53965ACB5242A660E83CB82F558",
-    "identity_type": "trusted",
-    "iv": "DA6BF37D65F973CA1A00522E49BC32C9",
-    "key_seed": "54C796907B5F73DA86CF7C183276E8FB928EC324D625DD57859A986635668117",
-    "metadata_key": "ECD687DD1F9FF1CD096D76E6034F6F9A",
-    "section_mic_hmac_key": "6DADAB8D9E47EB85161A5159FE728B9F74842B24584FF530D98584C0F6B265B7",
-    "section_salt": "4BC4FDBDA1E0D06770F14BF61545244B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9A5D74B1191EDFD5C9FFB3693DED74D9",
-    "aes_key": "C86DB754655DE997EC3B092B814A9D08",
-    "data_elements": [
-      {
-        "contents": "B24E8C398A097EB6DB8070",
-        "de_type": 122
-      },
-      {
-        "contents": "FF8934664FEA786A",
-        "de_type": 959
-      },
-      {
-        "contents": "0496A8",
-        "de_type": 491
-      },
-      {
-        "contents": "290027D82CF848264ABC51B38B9F50301A2BE901B1865A",
-        "de_type": 917
-      },
-      {
-        "contents": "BB57846504B148C0D3D06CB420F09EDC69",
-        "de_type": 518
-      }
-    ],
-    "encoded_section": "8390130089ED0335A7EFC59F0CF825677AF8629110003BC66A7E83C34665E8148E8F405DD6B19004D3446E2F9CCA273520BEE5910B42717AC24D55486EF1D4496F38B97F29F7ABB26ACB299A32164F4FBBD64DBD128650D6C4487B681812C9B810D559F1DF7A2E619A9A2486EC27B55F48A49DB4D3A5EA3BC486BD5359EA31CC1E1E101B",
-    "identity_type": "provisioned",
-    "iv": "9FCCBD881DDFB881671D7C7F7F1FB16A",
-    "key_seed": "48C3FB983526200C3940D06E401D1E447353B058DD3C4A1F518B9CD8F045B31C",
-    "metadata_key": "449A2DCCC6E26F9AFBB91071ABE75193",
-    "section_mic_hmac_key": "F57B9C5889C41E7D404CA50D39992A03DDD9D7348FBF57C9A8B5867A01219571",
-    "section_salt": "3BC66A7E83C34665E8148E8F405DD6B1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B9B184BAC61B4F93DFC9C3067F371D17",
-    "aes_key": "CF403FA1E7BE86B53AF114A1B0D9C426",
-    "data_elements": [
-      {
-        "contents": "B051C4367A69BF4878",
-        "de_type": 528
-      }
-    ],
-    "encoded_section": "439013E664890A3457FCFD7EEA5AB752B14D2991100097E8397B9ED7E8E71313D8D606145444900402DC632F0AFED33FC49DCC6693C993BBF5040BCE4A4D0900C1076958",
-    "identity_type": "provisioned",
-    "iv": "F46A38E8A66A6D683FC6B94C6C04640E",
-    "key_seed": "BC6F5B315462737EC913FC8716950B18BDAC5D2D7CE7B62E987736D9C8A51D00",
-    "metadata_key": "4132EBD8503194CDFFA3DB4A9CF4E9F5",
-    "section_mic_hmac_key": "77646D5AFD46271C0B3E18910808CBAB5F5B196B0C7F4363A719C58FFDA9863C",
-    "section_salt": "97E8397B9ED7E8E71313D8D606145444"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E5934BA045805A7421A56BA0D4CB8F9B",
-    "aes_key": "888368B6CCCA3B33D5A6FA3CFDB8D12B",
-    "data_elements": [
-      {
-        "contents": "D6CA9F03DBF64CA2B9439E2AF8672702F81E82B4",
-        "de_type": 767
-      },
-      {
-        "contents": "6937CEC064BCA1095885872E",
-        "de_type": 993
-      },
-      {
-        "contents": "746A7794E1520BF389F1",
-        "de_type": 968
-      },
-      {
-        "contents": "DEEE6D20B58534F9C1BA4D746648CE",
-        "de_type": 645
-      },
-      {
-        "contents": "",
-        "de_type": 190
-      }
-    ],
-    "encoded_section": "7F9013ADC90DB7AB8EC54F721AC09BF0A8E89E9110001FFA28EE4F6B26C093F26CD48274E4749004CBC23042E5B3B7E471C006FF749F88E3212AD450377C64170A389DE0A1D02C4F37AF61AE5374AC0B38C772117A1AC53D6C19CE24488A51C292B903548563A6F09ADE9742B311215D27EA48C7EBFD970179AF4C509A7A528B",
-    "identity_type": "provisioned",
-    "iv": "C666D37611C02A62008EC134E0043096",
-    "key_seed": "065262498762C06838CB80F57356EF74A34649A8B256444C31D0EAB095B48038",
-    "metadata_key": "424141E8B96A7A3B35DF2F27CBE572AD",
-    "section_mic_hmac_key": "E4AC63DB35CBEB6526D701F511D6F93C0EAC5AAEEE8E15511F560952D60BE443",
-    "section_salt": "1FFA28EE4F6B26C093F26CD48274E474"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8B09B5CC8D452AED21A27051C4212C03",
-    "aes_key": "20CB5F8E502A5C231631433D3EA74C3A",
-    "data_elements": [
-      {
-        "contents": "FDFA36FDC1E841BE8CB8CF9F786927EB3C875ACA8782A40F64CF87",
-        "de_type": 994
-      },
-      {
-        "contents": "C217151453818FA83E",
-        "de_type": 302
-      },
-      {
-        "contents": "CEC2831E815B7741DA4AE1B430191A52A9AB542623796986904825A9F29F",
-        "de_type": 375
-      },
-      {
-        "contents": "61106F238FAC929705D579362ED8F0654FFBECB7B3",
-        "de_type": 882
-      }
-    ],
-    "encoded_section": "9A9013AD9DD460657404924554D5ABA137FCE1911000FC40CDC9F0268A4359DAAD8CC738FBAE9001B4A4E4F36C74E4630E303CF82CC7389673E052C09E190A6EE06D066956B4DE265F30D6BB6A1FFB90C7B0AB0E988DBCD6890AD54EDB925700587ED26438093EC7522F59C4D96DC3A05D57BED63FC0FDDE6921918B0401ADF02DE8A5015FD893589AD840C2D9A883970D73D4E78252E108E952CC",
-    "identity_type": "private",
-    "iv": "3AF0046E60E52B687DA9B405B04EE4C9",
-    "key_seed": "187A06076F56E434B68E0198E97AD9A3DEE2B8330921232770A7081304A5A197",
-    "metadata_key": "20D24EE641F15A53359F2173BF22D6E7",
-    "section_mic_hmac_key": "92281B4C5EF9136F18CE22F5B052F0782AC51DE3872A56AEA4BB5EA9BD6F02F4",
-    "section_salt": "FC40CDC9F0268A4359DAAD8CC738FBAE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1980BDCD7189D278FDCABE4B5A1606F0",
-    "aes_key": "E6AC160A241743BD2F26D4A0613D370B",
-    "data_elements": [],
-    "encoded_section": "379013EE631DD1C657D166AC8350CB989079D2911000452D2E63C89D362EE8D6B4C81675EF5D90012FE7D7BE11D828247000351610FCA587",
-    "identity_type": "private",
-    "iv": "F86E064E37573CE05667B8CF12753CB1",
-    "key_seed": "80BFAC30C797B1AD69B178398369D8DEE740D9020AAFE9AA25A7E30E82C6150F",
-    "metadata_key": "C4D4EEDFDA9C4A7F8A605B6AC7BE644E",
-    "section_mic_hmac_key": "60CA863FF6016A0BB84CA68A347B1E20B94CED09D9D0FF8F8AACD72CA9D5AA06",
-    "section_salt": "452D2E63C89D362EE8D6B4C81675EF5D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CE3637F7C9AD29DC4903BBCE71B3EDF7",
-    "aes_key": "283D03C921033734F5FC72BDBF2CC23B",
-    "data_elements": [
-      {
-        "contents": "B9D0AAEF",
-        "de_type": 758
-      },
-      {
-        "contents": "13E90EA2DE8A3B96E136541945E1D14A54D07038940ABB3FAD225AF3",
-        "de_type": 983
-      }
-    ],
-    "encoded_section": "5D9013F16575E13C3E78AFED9CD58FA081D9DB9110000ED633E1509B9C35BB340C85E69F20409002CE471E855E16C0CD3B96A38178D8ECDA75CF3128C160846194A450B3991578950E8CCD5021E3EF114EB46E4E412602DE3E762B0CE436",
-    "identity_type": "trusted",
-    "iv": "4A371511BC88F24D6FCADCE37088F34B",
-    "key_seed": "FE21995688DB34483CDE840FD00F9A96CC425AB8E6775500C108430EC0E823D8",
-    "metadata_key": "64C0230DC2C5593746B2B0CE14AF63E3",
-    "section_mic_hmac_key": "72108A75932EE23C133B987C0E818D81822E004E67F1B47DE6F9C1DB088264DA",
-    "section_salt": "0ED633E1509B9C35BB340C85E69F2040"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B162D1322B5D26249649CB969B4F8102",
-    "aes_key": "E92585DAC5D7F4662EEA29655E50A4CE",
-    "data_elements": [
-      {
-        "contents": "A9EFEEF17500ABA6053E234D49F9",
-        "de_type": 176
-      },
-      {
-        "contents": "29EF333A49CF43E20C253605AA083893D2",
-        "de_type": 459
-      },
-      {
-        "contents": "2FA4FB0EA60274A5CACFA47E4B",
-        "de_type": 504
-      },
-      {
-        "contents": "83A7CB21AA6B3A1923F7382E4FCBB313D3E7E61DAFAD3E7EEF32CB3EF93C",
-        "de_type": 313
-      }
-    ],
-    "encoded_section": "8D901309D5FE388C56BD4E5F6322943FC3A048911000F5C76DF48CEC6BD8CAE990AE8BE181C79001A92EE39ECD5870537FF134794D9F747F6DE78C4512B3F087F0637BCB1B7EE8A0539D82E806149FC2B0D7F76FE39D9C4D820F714CEA248E808605929CA89FDDFDAADFAF87CB1EB88690382E08185623C09585E5489C21B5941F607AEC56E2CC36DEF0244846A8",
-    "identity_type": "private",
-    "iv": "BB9EE514C99F0518104C87999D49A754",
-    "key_seed": "AC4EC8D356CF255D5AE8B9FA0B792CEAFE7947F8559AF2723AC8B966579FC0DC",
-    "metadata_key": "4576F651F9196F707DCE4E1F599D0783",
-    "section_mic_hmac_key": "8BFCAD24C2D370096D0E954E9A3363C8C0B239729D5B0A45E9B093A6A377B2A9",
-    "section_salt": "F5C76DF48CEC6BD8CAE990AE8BE181C7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5B297B4DEAA667E3D6FB370EC0BF95F3",
-    "aes_key": "99F1560561D5A887142C3C55D312DD52",
-    "data_elements": [
-      {
-        "contents": "5C2CE141B3E5A889599146",
-        "de_type": 37
-      },
-      {
-        "contents": "1848600B2D546BCFBBF6C7C8705D",
-        "de_type": 192
-      },
-      {
-        "contents": "57DC2206B48105B60FA3C8BBF187A500",
-        "de_type": 487
-      },
-      {
-        "contents": "7C3D131E2C31",
-        "de_type": 195
-      }
-    ],
-    "encoded_section": "7190131A58CC7F4415B7BF7472C0F89D5AC2E391100084075A84F9CB2D02F54F96F87F1A163E9004C6AEC8AE7B9D25088001CEC6C53AE2D4FC8FFA1615483B6AE2DE6FDA409B13F33028543707A88A02A2C462CB81AFFFC81B3655BD8D733A13F133BE4138D8DCBBFA21E7FD4B72CFB66E63",
-    "identity_type": "provisioned",
-    "iv": "8B28D0A8180C17783E7653EEBAC132BF",
-    "key_seed": "577AD6CFCFE8E1C3ACBE1993BFAA7FA05F81EAC8AC1E83C7E0198DAEBA7FD1F4",
-    "metadata_key": "73BB407DA49FC66BB9C315EA94EDF8BC",
-    "section_mic_hmac_key": "995E2E8ED0F4F4C1CDC5D13DF3C903B149EBD84F41E4D088A801A8B9396EE8F3",
-    "section_salt": "84075A84F9CB2D02F54F96F87F1A163E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA6DED68CF0959239D11427F74FE997B",
-    "aes_key": "9FFFC08CB431531D60DBE654D099E048",
-    "data_elements": [
-      {
-        "contents": "539C2665DD42B55FB0E9",
-        "de_type": 658
-      }
-    ],
-    "encoded_section": "449013ECAADB35F533CF451CBF0B38EC937432911000D32DB501E334CAB82F79520F3C892DB79004E7750EE5BDC44BF9BF13543DF92F315E25D7E54780C7A2623492AA0175",
-    "identity_type": "provisioned",
-    "iv": "023DD3C725AE97C27DC0788CC095B6E7",
-    "key_seed": "9EE6A42100524DD1D112A596D5405581586D40BA87C77DD85F8A6AB92EB9E1FD",
-    "metadata_key": "AA74890853C6C5BF4EAB72B38C5E2C2A",
-    "section_mic_hmac_key": "3B6C00CF957CD21086DABBB8FE4042307ABFFDDECA6D3CEB512F81C1F133F6F1",
-    "section_salt": "D32DB501E334CAB82F79520F3C892DB7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AAC3A533A7C2AB440C26A8183F71CE3F",
-    "aes_key": "8B68336A07D6283B517488B995AABE65",
-    "data_elements": [],
-    "encoded_section": "379013954DFB4D6B1382D53F3D36B4521E1647911000C6ADAE90AF6B99E17D60C8613C5BA3F490044466909ED06184090A9DBCF69FDFF46F",
-    "identity_type": "provisioned",
-    "iv": "42DF51FB3C37AC171470D60D4E2F04CF",
-    "key_seed": "7C3FB67838916AB0E4F7BF68FE8A28C509A2A15BB3240BC8AB6CC3F99F52705B",
-    "metadata_key": "393F240A2C6F9EC4AFA756425A9CC2AF",
-    "section_mic_hmac_key": "AFA33F6D9DACC54E13B4F5248468F614561745ED8A0F29CD0F2E430873D9CE2C",
-    "section_salt": "C6ADAE90AF6B99E17D60C8613C5BA3F4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "81C6585DC0B3B9D152F79A23DB1C8882",
-    "aes_key": "E97F5929B62C0A82220838B588728F26",
-    "data_elements": [
-      {
-        "contents": "72B7",
-        "de_type": 536
-      },
-      {
-        "contents": "1DC3",
-        "de_type": 937
-      },
-      {
-        "contents": "97CA765CF7E2E2C48B42330799F54489C934EB912308FA958DD04703",
-        "de_type": 387
-      }
-    ],
-    "encoded_section": "60901338E7ADD6C6548D813C99134BA15D9A5D91100022EB17486F7CD2CBA6E39434537B2F57900207BFB512D4879502860E54B41669139A48DD0E42BDC66FDDF265ACA9CAA359F1E4CB1482A3D506646B21698F37317D0564F842CD44919FD767",
-    "identity_type": "trusted",
-    "iv": "BB11AC5F4D37033EC99BCF8E6779C7B7",
-    "key_seed": "11F86BFFAA9B66C77616DD6B32C63A6C81C50541BE9EF6E04AF0F953895036B0",
-    "metadata_key": "AC3C67CAA7794A04DD94CF515419466F",
-    "section_mic_hmac_key": "60B2EB5CF45F6600ECEC676CD76A4604B744E166B5935BF4C5C750634AD081D5",
-    "section_salt": "22EB17486F7CD2CBA6E39434537B2F57"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "00511EF933CA6DC0EEDCB94B38987087",
-    "aes_key": "0ADAF776AF20958595ABCB87A10E984F",
-    "data_elements": [
-      {
-        "contents": "1A464229DF04C31CCC08944B21D55EEBE9C1BE489B1790",
-        "de_type": 339
-      },
-      {
-        "contents": "BD56E1750AB74F38437A7EDD986E21",
-        "de_type": 92
-      },
-      {
-        "contents": "B0668FAA2F6BFDF67FD9033B8D0675680BC452D2FBD29D4F288B93C2",
-        "de_type": 768
-      },
-      {
-        "contents": "9E5C09A349090B3CF9B575821F0CE393462D",
-        "de_type": 850
-      },
-      {
-        "contents": "655C5910AD15C62A126D2FAF109A26",
-        "de_type": 399
-      }
-    ],
-    "encoded_section": "A890132778CBA5093DE49E4CDF829C83BBC8B0911000FED627BBA15D95068F43ACFDF42D2426900157609145B639C9C92C2A81A0717C11219DFCBCE7DD6B6A80146CA785EC92DE677C43AB269672AFF27FBFE8A4A34EA6E4DBD5C1A53E8836BC8149E27A59A449E6752025DD324A5FBEFE17DC2EB8C0CEFA651F949CA334A0E3FBF9657C5B0C8C9CC819BF2C85EE8BE5813819372E1308CEF54567F70B8F6534A008CE0D407ECDA3D9",
-    "identity_type": "private",
-    "iv": "EFB9C48ADED0FBA9B2F10E7799B1BC11",
-    "key_seed": "05BA0D78A0AF7D0FC55A4B640C8573C74115E6BFB35CF849EC024CE0E5ABA91E",
-    "metadata_key": "4D0EDEF4A062C6A83A925F727C997C68",
-    "section_mic_hmac_key": "C3F3B8305FF694E5BE8EAAA0752CD8DA61D3E6BD544AE2DED8663F4B34ABF95E",
-    "section_salt": "FED627BBA15D95068F43ACFDF42D2426"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95758969EAEFE0163C295B1733BEBDFD",
-    "aes_key": "08B89985AB9371EE8A7C749FA10D7965",
-    "data_elements": [
-      {
-        "contents": "42F3FAF94ED0FB40C070",
-        "de_type": 906
-      },
-      {
-        "contents": "2870FEE3B66905C1C865B578458847CAF0F8AF67",
-        "de_type": 827
-      },
-      {
-        "contents": "555387D04F9A2CCA92EE39E54408ED6F2E",
-        "de_type": 767
-      }
-    ],
-    "encoded_section": "6F901375D05E0E76CDDBB5ECC6637172CAA0FA911000A1939F4A327A3FE2596522A22DB6C5A59001E0EB6C5B53D04DC02C32041E4880E4D65D84151A34F27CA74E7005C9BB2CC12BA2B343395FE847997119EA78AB0C1AC5B3F643A538C4FDD3BDA97B1872BF596AF0B0A59832B2D648",
-    "identity_type": "private",
-    "iv": "2ECC3361C8C791708F4C7B8C39C15D79",
-    "key_seed": "DA612AD55892DC4C53B80590D940929D72984DFF5A5F6F03DC23DF8E8533B512",
-    "metadata_key": "B1CAB6C41D016206FB92AD7B4DDE8B4C",
-    "section_mic_hmac_key": "3D75FC10EA014EA03A511D12A3001062354C69FD19910D31F7931635417D9350",
-    "section_salt": "A1939F4A327A3FE2596522A22DB6C5A5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA6000111B7177C842D94B678C834DDF",
-    "aes_key": "0FCEDA0332ACD49A195ABB867E6BAA1B",
-    "data_elements": [
-      {
-        "contents": "CEABACE7D381A232FC75805204E7270B700D5B4FC2D8BD",
-        "de_type": 672
-      },
-      {
-        "contents": "9AD36A4438B590412E41CAD870CC8BA2CA27315D",
-        "de_type": 178
-      },
-      {
-        "contents": "CE20C944EC92910AA9878C",
-        "de_type": 587
-      }
-    ],
-    "encoded_section": "7690133D110BD2D3C885F07437DDE3630C5D7E911000A4E404D0D8DFCC6F1EADFCCFF09E925E9001F6AA807E5AB71B59EC053660E13A15739A1BEABDFAA147D3285CD42CC0AD05CC1541D234FDE1FE6F5B0387CB7421B3212218FB7135516304295DF97339562FABAAB5D3D86107F5F7E8BABF6D23DAEF",
-    "identity_type": "private",
-    "iv": "A9DCBFC679102BB70F88C434A62BCB58",
-    "key_seed": "FB9B3394FA19B352B121F5176DC2BDE9DE6901F8A3C47AE297527EF13DF6061E",
-    "metadata_key": "1B044AFCC875CC44C5305B79FFD030BD",
-    "section_mic_hmac_key": "A9BEE21E360D0E27366461547D779FE698A82E16E40C2D20413DAC39E851C75A",
-    "section_salt": "A4E404D0D8DFCC6F1EADFCCFF09E925E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EFB53470C08C0623EB392B698DA54733",
-    "aes_key": "560C8CA057D94CF4EF794E192324F93D",
-    "data_elements": [
-      {
-        "contents": "668992",
-        "de_type": 643
-      },
-      {
-        "contents": "13DA",
-        "de_type": 684
-      },
-      {
-        "contents": "0644943798483CDE51287D117570D6B1879BE0B677D86D7FDA9E502E",
-        "de_type": 838
-      },
-      {
-        "contents": "8DE3050FB50AEAFE8825211569FD59526395E0FE71F9464EFD0032D945F8",
-        "de_type": 659
-      },
-      {
-        "contents": "8CC01BB0BB481C4C355440B4A65D3611345B036268B913",
-        "de_type": 578
-      }
-    ],
-    "encoded_section": "9C90131E6B368314CBA81922DF93F3FB58882391100028EBFFEF24B6C89067BB31A550C043319001A26FBBE8A1AD2304583A63C804B269F163BCE88B8D89377B7CD26A0DBF6D331A12C84759AE583C7F7FEA4194BDDD77154DF89BA4B4E024E13E9AED6FA0B7FB27D467EA2A568B5C3324354AAD300CEB8C987E98E31234178DFD263E04027E4B8F0BC0EF53E5D77F45CBBA26B95E88D1036BA7BFCE96",
-    "identity_type": "private",
-    "iv": "F9F2984CE55D17978DA1F074305C9C96",
-    "key_seed": "BF601538B31CFC67922FF6BF44150DF8DACE1485BC93284F4166B11EFAA5344F",
-    "metadata_key": "5DFD83B4E657AA2BCD8A0373490573C5",
-    "section_mic_hmac_key": "470CF61CF85A1249F42A5CB24EC08AAB431E1DF4EC0B0391751B313C36715ACF",
-    "section_salt": "28EBFFEF24B6C89067BB31A550C04331"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AFAF84AACEF8881F848E7B85C7539880",
-    "aes_key": "CBD54146C955B6C8F00BA1D38269EA98",
-    "data_elements": [
-      {
-        "contents": "FECDB0E0EA56B7ACE68A83",
-        "de_type": 120
-      },
-      {
-        "contents": "0B733BA3",
-        "de_type": 781
-      }
-    ],
-    "encoded_section": "4B9013524EAED100DC3E32D41005234B543740911000EFBBAA34F6A5D2CCB39DFCF9C89714DF90025EDD541786FA33A58E7132F55209DBEF9242C353BB72CDD1550FF0026E18AC166956E6FF",
-    "identity_type": "trusted",
-    "iv": "413D670613BA8E8838386AA10F29C898",
-    "key_seed": "91165D9E35460BAE2E80856F736CA95A1CB0DDBDE92E6F55B2B0592E976A8030",
-    "metadata_key": "3999C8B72B85830A4F46CC24C0CEFEC0",
-    "section_mic_hmac_key": "3B4E66850E50DDB2376FD26E0B6506F2144DE3E4C9FF0F0ED3A2A95AA2B2CE4D",
-    "section_salt": "EFBBAA34F6A5D2CCB39DFCF9C89714DF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "437431D701ECBD564CE91F04AD002790",
-    "aes_key": "B7DBA314333C96D6E7420CC20C3BDB7D",
-    "data_elements": [
-      {
-        "contents": "08F45E72C77E4F763109",
-        "de_type": 522
-      },
-      {
-        "contents": "4BCFD9294127CEFA59C6E3B17F5F",
-        "de_type": 246
-      },
-      {
-        "contents": "A0AA932C07DC7D06E224D95EC31C4AEA2BEC4AD37A66DD",
-        "de_type": 459
-      }
-    ],
-    "encoded_section": "6F9013074F186DD7876DD0F5374206C65F523E91100050205EFE1CBB39FD3572899E4A9FAADB9004544DE8447ED37AB18AE43746E06D5331A4102428F2EE7CFF71482BC080EB01EFD1A42970BE9132663CF654846A92370CF909076D780976F02BCB93F4B739ABD92FC18DC1DBE28EDA",
-    "identity_type": "provisioned",
-    "iv": "F2DA6B13367A1D956592B937986DCADA",
-    "key_seed": "CC5669D6AB653BA0D76496518A8BEB80C904747724CF21ABFE711EF4E66C1717",
-    "metadata_key": "CD38133DCF3BE5E85AD5152614EBCC70",
-    "section_mic_hmac_key": "A5696785B14A4D7352246FFAA8926DA57C2D47B5E8FD9CAD3DEA52BE766122EE",
-    "section_salt": "50205EFE1CBB39FD3572899E4A9FAADB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C90A438A50E93F2464F0EE55291F2472",
-    "aes_key": "783982C76051896CF3879D01AD48E82B",
-    "data_elements": [
-      {
-        "contents": "DE3D9E2E05876097FA1D8C",
-        "de_type": 129
-      },
-      {
-        "contents": "D066B484718CB966E1F4BE4B3DD52C712077A3",
-        "de_type": 145
-      },
-      {
-        "contents": "1A8F96D8CFC568DE5FA81E2E25B21F",
-        "de_type": 162
-      },
-      {
-        "contents": "8E1B11FA0970BB66441B5D9EE43569EF92D9A93D9443F868",
-        "de_type": 296
-      }
-    ],
-    "encoded_section": "8890134276D816E4465BD410B3B16E1D9E7D5991100023F02B2A00F1E5E9A1ED089BC433715F90042013AD595A1742D2EED91B031F13E399FDF21F4B491120694D72ED8E822B87C7C13CC13019BB1672281428A2F2ABDA6FEEA9661AC3179C926B3A51A3C529040BBE048DCBAB14D4DCE8093CD66015BA0E77B61B922E20325F51799611608E694330",
-    "identity_type": "provisioned",
-    "iv": "213A6CA4A300251C8E06F982E3ABCE8B",
-    "key_seed": "E5C922600165DE89DE7441F0312C7B5F977D674631C91D6046227C6A56B1E21E",
-    "metadata_key": "3CA2053EF6F21F47E9FAFD974B23C5C6",
-    "section_mic_hmac_key": "5ECE1E81AFAFCE2FA416FC9DBBEAEBEB154F1C6A956CF2B32A0795E7438C7975",
-    "section_salt": "23F02B2A00F1E5E9A1ED089BC433715F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DE17942EEA2F8A64B88FA1BF6DEC9995",
-    "aes_key": "17BCEBB9A4A9490F404AEF55D5729ECC",
-    "data_elements": [
-      {
-        "contents": "A039F67CF7F3",
-        "de_type": 399
-      },
-      {
-        "contents": "E9CE7BC13F8EC91D4A7B2DD9AA389F472F5090E17DF4FB99546AD8A73E85",
-        "de_type": 470
-      },
-      {
-        "contents": "71F962A82E4C980D",
-        "de_type": 494
-      }
-    ],
-    "encoded_section": "6C901356238CA02CB62DF82AAA695B9F99C76E91100067859E665050534B84E37961D658822790025D988421412F895E343CA8EEAADEE1CF2E12DE25EB2C2DD52B2368A7C2451CDF00DBA31B44801576BD6AF8B6D689EF232C4250C363ABEF30F39E6276FC9FCC28A33A83287B",
-    "identity_type": "trusted",
-    "iv": "842B1A1F3A3102058F7575310293CD3E",
-    "key_seed": "F5E1B94291A9CEDE059BD01045DAAE8E7BF8F9B4DCFD98C816F14D17E5AAAC3B",
-    "metadata_key": "9CFF8F87781CD2434DB335C063DA7EFB",
-    "section_mic_hmac_key": "96EA7A011BD46B42FED04395B7554816A3770C9627EA8140A954C834E6D95788",
-    "section_salt": "67859E665050534B84E37961D6588227"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EEC4ABA003D9CAA5E225EE938E59A88A",
-    "aes_key": "A3ECB264388150FF04523DE0CA4AF3FF",
-    "data_elements": [
-      {
-        "contents": "5844574BA986DBBC3FB734C6A0E1FA9D5117CF282C06C47E6CD568CBFB",
-        "de_type": 826
-      }
-    ],
-    "encoded_section": "57901396739698F47EEA126FA41FFEAF83526B911000A1C40F8D2851B55CE81385810F82C8999002889342B7DD12A80AE6337FDE0EE82E22533592B5E902E6763AAA274863B2CE7B4621AD059338821618D09ACC1481A060",
-    "identity_type": "trusted",
-    "iv": "6F7CE3865CC971472C29270AE628765F",
-    "key_seed": "FB21E795C55BD93DD87F63107ACC78ED61E9E17DE0EA81C9A6300BA63F1B369C",
-    "metadata_key": "35D70D76E387E1BCA4D02CC6BFBA51C2",
-    "section_mic_hmac_key": "3EDBCF936225088A78F30EFA4825982F6EE29398679AB1661C1F365D47538EC4",
-    "section_salt": "A1C40F8D2851B55CE81385810F82C899"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "40DD0AE6AE5E4181F03C8A77CD35D51B",
-    "aes_key": "016F45AB063A9098880BD35B56F93324",
-    "data_elements": [
-      {
-        "contents": "75192B40B7328370B88E0983A13901EB57AB1522A4646850D869CD",
-        "de_type": 851
-      },
-      {
-        "contents": "6A21620BDC9E",
-        "de_type": 810
-      },
-      {
-        "contents": "6F1BCC7D79A2C824CD4417A720A7C470C2EFA8E901E643E8B4",
-        "de_type": 502
-      }
-    ],
-    "encoded_section": "7A90139875296CA1A492DC5433EC0C158390D291100016C8B52E762259821BB72DDCA26B7B4B90022BA2F6C9F36284CA3BD06F8F1C7316988CE9C1461EFD1081A9C6F88C03039DF4C3798990FD9CB1B7535582A27E091340D56BBBCC6251D716F0F64208893548ABFB4B8CEC8273B1B9E188A528783672B31188C7",
-    "identity_type": "trusted",
-    "iv": "E4D5AB6C234F20EFBEFDB8D47694BBA8",
-    "key_seed": "604C1B551B481F1A897F85DEC2F35DDCDC7C5AF74CE2B45B8680F76EA13DC626",
-    "metadata_key": "CBE00FD5F6CAEE0428F8AC2EBBB876B0",
-    "section_mic_hmac_key": "DE57E2DBDD55226FA52611244EDF1FD974C633EE264AC51EC09AC1F9E192F60E",
-    "section_salt": "16C8B52E762259821BB72DDCA26B7B4B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "493740337B758DD54FEDCDBBAD59FDEF",
-    "aes_key": "2CC6A4D0D81ACF8B800C71D3883DB5AA",
-    "data_elements": [
-      {
-        "contents": "E05DA93367830FBFF2A5A06D84DA99A681101A994B5AB5CD",
-        "de_type": 299
-      }
-    ],
-    "encoded_section": "5290139E7281721A0C71BFE961E2BB6EE3EE169110002DAF1ED3BCCFA03A33C8A12EDD6A774090043E221E6BE16A640381C047CA79D446940E7159C2D63E49730A006BC0B71019200340F11B7BF4B6AA8F80F1",
-    "identity_type": "provisioned",
-    "iv": "CD540D1F885B93C6019EBC6B1AEC866F",
-    "key_seed": "DA6F8D036A011F4EF959EEEB64DD7DD7BDF1E30F0EAE672B49D8A68E6D175BED",
-    "metadata_key": "EBD30CAA381AFB2446A295F1E33A205C",
-    "section_mic_hmac_key": "8728D6EB04D094F213ED25E9DE0C797856C5CB6378061EA7A7E0DC5F801DCDFE",
-    "section_salt": "2DAF1ED3BCCFA03A33C8A12EDD6A7740"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6B6C93C92DCEA4FDFB0EE6F40BE8DA9C",
-    "aes_key": "19BAB81AAD722A2E0CB0E1FC5A14A854",
-    "data_elements": [
-      {
-        "contents": "7580DFFCE3D30EDD2DB5AC5F18C4AA8E8D",
-        "de_type": 370
-      },
-      {
-        "contents": "EF1E4F25CD5A8888CD41F0237A75EDDB9801E706578EA0619C",
-        "de_type": 207
-      },
-      {
-        "contents": "FD9E1EA36172D0F5EF",
-        "de_type": 761
-      },
-      {
-        "contents": "3FE5D2D5B86DC22E2BBC14612748CE40507CED56B0ABE2",
-        "de_type": 822
-      },
-      {
-        "contents": "8C7B1B818C82412946EC964A4AFCEC5D77F2E49AE42F247CA419",
-        "de_type": 628
-      }
-    ],
-    "encoded_section": "AA9013CA08132660CA46BEE4E55FFBF82D98F1911000EC8314769B664C86461B6EA9E12773969001D9853FBE75F68B42B3E95C7D5B3E08DAF0585FE8292777E631F36ED2E0E0A639C821F5AE2786DBE51893D9DF92C68EF63E01F735F69790B7847ED685E3D4851F53D672EA63164B84322A49DDA9BE84427590959F035A608D964F3C49D6BED8E446AF319FBAA9BCC749199BC14CC3B0F5D74E1E6BBF6517A41FEEE61B5112A968883EDD",
-    "identity_type": "private",
-    "iv": "147048CD988E7F8643E32E2449ECCA07",
-    "key_seed": "61D23B0B31E7D1C9A401378119A082952523D5A3ADD9D2C56EB29D695F8EDFBE",
-    "metadata_key": "40ACD53A2B51E6F0C26CBED7D58B2D0D",
-    "section_mic_hmac_key": "CBCD4D44B600248C33BD5BF177E470EED36A1295E9F2E7813D3BD827001A2EF8",
-    "section_salt": "EC8314769B664C86461B6EA9E1277396"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "80E94BB8F2BF0314AD27A08808A81E8E",
-    "aes_key": "D48A2B9E344DC5E13A29F40C4F4B0BAD",
-    "data_elements": [
-      {
-        "contents": "32DACC08BD9CAC4BEFF141E364D6D9B408EAAF",
-        "de_type": 840
-      },
-      {
-        "contents": "F2379E76F0E1972ABE60536A9B004F93F0F6229E",
-        "de_type": 693
-      },
-      {
-        "contents": "",
-        "de_type": 482
-      }
-    ],
-    "encoded_section": "6790138854BC068046A9DC6438D9AE0A6707A09110002FA6884A260B808CCEC3C12E058DE4219001B1313868C07F461355998AA9C33D1625542C04A413FC422FDD8BECE20E4EBD8157ABA83E0FE1EEF9D471266DC5EBB50B910DB51086D3AB261A0C64EAB6E1199B",
-    "identity_type": "private",
-    "iv": "09E7564C426DEC118EE479ACA32437E0",
-    "key_seed": "AF6DF5E99E86E3CD676BCECCA7295E1313B989E329F4540A9FAD643A0F1ABE51",
-    "metadata_key": "C064817D63652D0DD19F5A6ACD6BDE17",
-    "section_mic_hmac_key": "0E01561E7D972FC6EDE73397C102E4062644EEC472F6DC93FFA93AEAE66DCD6D",
-    "section_salt": "2FA6884A260B808CCEC3C12E058DE421"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0873B091BF980929D63B07E49841EA92",
-    "aes_key": "360F5E0D4F6F7F0D293B7C17B02629EA",
-    "data_elements": [
-      {
-        "contents": "13E936",
-        "de_type": 684
-      },
-      {
-        "contents": "151804DFB79EF7222A24A5701D87E68208480E",
-        "de_type": 606
-      },
-      {
-        "contents": "80D6BDDCFBD6B69BC93D93D53C",
-        "de_type": 492
-      }
-    ],
-    "encoded_section": "639013DDE68E24EE100BC81DE740B78E1CCF98911000AC07A89E68FF59661FE04EF27BAA690C9004A89E30884E4411C87AFCDF22A2AE9DFD4358D0990799ECD6D36A392C3C2F382C4056A2029A15D0C6812B5854F70C369A2F942262DE9729FBA65E79FE",
-    "identity_type": "provisioned",
-    "iv": "136FA42D9B2B99B94F546C2C7E449F74",
-    "key_seed": "F11C412BCBA4EC9352B8503D40CC8263F8910C07ABAF1BD91F7058EF6D8145EB",
-    "metadata_key": "64E6F3A83672ED26CB920D57705CE772",
-    "section_mic_hmac_key": "2C1630C0416F925EC56A27E00FD6824259447F4718C8100EBFCE6E2E592E1D9C",
-    "section_salt": "AC07A89E68FF59661FE04EF27BAA690C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2B72A7EE969EC60FDAEC5744A282CA4C",
-    "aes_key": "47A4A0C53E8BF557955DE007FBC442DD",
-    "data_elements": [
-      {
-        "contents": "C36CB8CC680B4B33EA02671DF361BEA7BF",
-        "de_type": 411
-      },
-      {
-        "contents": "6B97B27BDDDD6494FCAB9389B244",
-        "de_type": 429
-      },
-      {
-        "contents": "3024307E3A7DB9BFB1BAE994A324960889F4FBB9B147B6C0EA45ED9CB7A9",
-        "de_type": 370
-      },
-      {
-        "contents": "F9A393167AA68988D465C5D2CF1CAD56",
-        "de_type": 502
-      }
-    ],
-    "encoded_section": "9090136B6CD3A51BF4E8F1B05CE8EEA8A990F3911000F16B5FD28A6DA1856DDB813CBAEC800C900441E630201EC8BDBE9513A703235C64F1DCF0C6D9834310A132BB3BAFA165197DF0F0F1006AA34CF11BFD0186C9C20474029FF28E3F80BD3D4E28435AC1730F4F012AE7E12E4B260C114A645E60DF99E0E29F4C6CF94FF1712176DE6C55A9CB340354954A855D178664",
-    "identity_type": "provisioned",
-    "iv": "46B8EBE1F9E5813B4C1B6E0C2582AB6C",
-    "key_seed": "99324A5E7EAC85B893713A8A71B791F414AECEDA4718E972BAAF5C09C94B4E04",
-    "metadata_key": "540C5DD8EEF491F8E2DDC5D4277D32C2",
-    "section_mic_hmac_key": "8D660846F1432E8E440689560D543DD3533238ED0D71B70F5E7E61A509FC7604",
-    "section_salt": "F16B5FD28A6DA1856DDB813CBAEC800C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7D48E37E2858A787F24D7ADCDEC6B4F8",
-    "aes_key": "0A887E550738FEDE515876E254B32262",
-    "data_elements": [
-      {
-        "contents": "2479050EEB",
-        "de_type": 377
-      },
-      {
-        "contents": "819CE61E221A075010D5306CC7F29BB848A7DBDE1CF044",
-        "de_type": 438
-      },
-      {
-        "contents": "73FA1B3A7FF53255786C2C206501040278A66515021557CD",
-        "de_type": 906
-      }
-    ],
-    "encoded_section": "74901383D8F28210514557CD5238BD75B0004891100055505B97347C3937A4A25E8EF11E19C29001417D67B71ABDF30298BD1958110886A41360A6C45AA9D02B9F92DB44FA632CBF1437D182C83159AC936C13CC75403A5148A34CEC6AFDD77FDF6127A57C584C9715224B26F646038A21B02647AE",
-    "identity_type": "private",
-    "iv": "19F9D2CDE3659048AE4151D6175039BF",
-    "key_seed": "8DA828527A20965322074BA930562586E6463DEE6D45E788F18D66D42EB73AD2",
-    "metadata_key": "0011F0F2FC05ACA4E1251189DA36D627",
-    "section_mic_hmac_key": "B2F4D66EB2C40A21EED774F25B5E8B7C9B7A6BD4DFFDA446DBE766047D32AAFE",
-    "section_salt": "55505B97347C3937A4A25E8EF11E19C2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "31FB9D5AB71199BD3D5A5108CF837244",
-    "aes_key": "4A55292BFFA7C78A73FE80786C9ABEF0",
-    "data_elements": [
-      {
-        "contents": "9A",
-        "de_type": 692
-      },
-      {
-        "contents": "ED6453FA7D5A41DFFA12CA200D301C75661C",
-        "de_type": 772
-      }
-    ],
-    "encoded_section": "50901323EDF88A11D2105770DB1A1ABF5FEC3F9110009AF3A095E594F715D19B7D83511B49219004C7E360A866771654C1D7E3A58FF19045AF2BE397E964EBDD97C959F54316D0F91B61A2E508D5D4EEED",
-    "identity_type": "provisioned",
-    "iv": "1E787E4FAE77DE57752F91B18558A915",
-    "key_seed": "8C34BFAF25C9C03A5B69EFE1952B394E9ABE8326B25B51260094A712B34D004B",
-    "metadata_key": "FE52B2D64213A21002B8C7B956010B5A",
-    "section_mic_hmac_key": "D81C4340E189DD4964D0C19F4A57551233074991CD1AE1D48EFD8138B89C5BEF",
-    "section_salt": "9AF3A095E594F715D19B7D83511B4921"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CB2018262182E6D33BA5AEFB0CBBE143",
-    "aes_key": "10B52CC57509D02CE36E78220DD10359",
-    "data_elements": [
-      {
-        "contents": "308DE91BDEC2875E",
-        "de_type": 808
-      },
-      {
-        "contents": "85C2A96A3D4831F7BD91A8CE97F32ECA38602F5B7AAFCA8E56932F",
-        "de_type": 143
-      }
-    ],
-    "encoded_section": "60901348D690B04EFA3BDF4C3E8DD74A70B2C491100089BFA018D4593699A057C59303FDFE159001E8683BAAA53B40C1F61575F920F120AB62C9011FA9625A8AD44FF8014C65004A6AB6EED92C54C298AED9D6C5786557B2652923E4B162EDD974",
-    "identity_type": "private",
-    "iv": "15094DE55EF692E976BDB1EB2E745CB1",
-    "key_seed": "4D3212178C679CC76E36E4EFD849D100876E4C5C736EE0B01E151B5E35E587D0",
-    "metadata_key": "17DB670A98FF3B44602C3F65108464DD",
-    "section_mic_hmac_key": "447DA33BE77C14468DE40322000D3776B80F7C4C7B86FE52477BADD157B552EE",
-    "section_salt": "89BFA018D4593699A057C59303FDFE15"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "47861A7A891274B6D1655A79F98921A7",
-    "aes_key": "9FEB0CE8CF647F32689CFE9E28ADBCF5",
-    "data_elements": [
-      {
-        "contents": "9479B8564C4C861081E6D40EA07313E136A03B205A37292A9F",
-        "de_type": 767
-      },
-      {
-        "contents": "20FB6D81898875FB84B96904690ED4D15C3CD5C6F17B1B5BBB08",
-        "de_type": 958
-      },
-      {
-        "contents": "23880B754346286380FD62670369A54B",
-        "de_type": 970
-      },
-      {
-        "contents": "32891E939A61CA6F8CA86CFD4BC1B3F1629927",
-        "de_type": 871
-      },
-      {
-        "contents": "335F55B4E34382BF37EBC5A21CA9624E",
-        "de_type": 669
-      }
-    ],
-    "encoded_section": "AC9013204837C358B2A875405D09FBD7B3992B9110007BECADE8EA1435CDBEDBB18E469114CD90045863BDF633745EA129538D9B3BF1263E6B09ED55748179F0FBECA95B8AA38C87CF1DC3EA24AC9955EC83759B362C2A1DF7FA8D251A5F294D9BDF349819D535EE4C752BC42C555C0DED91CA4AF570787FB68A0702BAA497BFB342030E81B8816B76B8D79F380A80EF0B4F96CBB9194D5961198F675C06279040BE4523B520B17A323E342059",
-    "identity_type": "provisioned",
-    "iv": "C55BA6CDFD4A092E9D94E5A89F1AE2C0",
-    "key_seed": "28D860FDABC254A35234D5E56C8F072CCE1A5D1CCF76524FD9E9805DB350C23F",
-    "metadata_key": "B9D69EB1576E56E08FCDABB5FB775F60",
-    "section_mic_hmac_key": "949A61FE8DB02C341BC58D96B84585433522ED90E57D604684380A8A2FB46F9B",
-    "section_salt": "7BECADE8EA1435CDBEDBB18E469114CD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "242B4AC6DBBC48533D80BF1FF9A4BF08",
-    "aes_key": "1964275B07A2CDE782A915674B2C3B30",
-    "data_elements": [
-      {
-        "contents": "B0593CB5472B608EE74D7AAF4483E3BFBB6EC807D36B2D7C3FF2177F",
-        "de_type": 378
-      }
-    ],
-    "encoded_section": "569013168E3FBABE4BD7F9026CB85EFA63BDE8911000CAABF68BB9EA843F3160944F444553419002B2A9BC48B3ED25A01FFA491A2AF4EF727511880B33161D0EA013F792EE3C0E468C3F265030A1B29240F37A7538D111",
-    "identity_type": "trusted",
-    "iv": "98B3F79C48E45D75E4FC709E41D150A7",
-    "key_seed": "AB5F98D672AFA5DBEDD0E7805FC1B4ABE971B54CF02DC2E543267FAD43B35882",
-    "metadata_key": "448C2CAFA3490A9746664729BB8931F2",
-    "section_mic_hmac_key": "63938C028CFC2E53E88F94C2646B8CA4785423173A512051B50D02D2704751FB",
-    "section_salt": "CAABF68BB9EA843F3160944F44455341"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FD0B85F4098C82550A9EC6DA9D240983",
-    "aes_key": "89CF85C86296167F6F1CEFD3C5A4E4F1",
-    "data_elements": [],
-    "encoded_section": "379013540CC96A83E31A5086D355E221B7B4DC911000092281802DC11AD81D24A85EB69CFB689002BA7E7247677B83453C745F87E64F4474",
-    "identity_type": "trusted",
-    "iv": "6302C0AB71F4F52B8D7D57088A495AFB",
-    "key_seed": "B5DFAA6C34894DD3C1371C2D525CD1040228261883DF3C71C446EDA72203921D",
-    "metadata_key": "1B17E9776E56ECA0EF359DF062118638",
-    "section_mic_hmac_key": "5C681440F84C62B8A7342600E73987E8E883A629B0B9791B26F53673D830E072",
-    "section_salt": "092281802DC11AD81D24A85EB69CFB68"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4C2EBCD9668E6E1D431E059EDD16D0B7",
-    "aes_key": "EC3A1D6A13083AAFD8DEDAE93F24FE23",
-    "data_elements": [
-      {
-        "contents": "BD9F8933F20E3D83BAA4537CE0B99A8E21",
-        "de_type": 898
-      },
-      {
-        "contents": "A7F0B8AB76E1F886AF2F54B4C8EA991B",
-        "de_type": 433
-      },
-      {
-        "contents": "2C8F580D0FE48B",
-        "de_type": 265
-      },
-      {
-        "contents": "7FA7C5C31A427B669C3B923BF5E06A74586691",
-        "de_type": 780
-      }
-    ],
-    "encoded_section": "7E90137F75593A7313AEA3845F542E199694AF911000C229127841779C7A5C4295D5969988F0900400A4D8B0D35EDE45A79C0578B7F93A687E7BD4E8B16F53545FBE12C6A99CD768961DF08D544D978C5E2CF6352BD2E2332181D46C4196BC0CC9AAAAA01DC2E32DE9D7F41480769306C071113EDDED0EC4C1E56353E2DBE0",
-    "identity_type": "provisioned",
-    "iv": "DA2728120E5CD3EB3AB342BB30E97EB6",
-    "key_seed": "C644228C08EB7994A9A2F594C73B5A6C60D7D35D6DCB5CC02BD356CEAF43B0F3",
-    "metadata_key": "5DFE12C82CE8EC51C896FF3A05C99A8C",
-    "section_mic_hmac_key": "92C128F03A968B4E386393F1A92FD7D5330A1354BFCEAB5CC3546913D799B338",
-    "section_salt": "C229127841779C7A5C4295D5969988F0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1CAF5E2F6922816F4DFEEDD6EF50E3B0",
-    "aes_key": "05BCDFA12204C89B560461D8D0FE199F",
-    "data_elements": [],
-    "encoded_section": "3790135F8E313E539461B0909160F59361A52B9110001DFB04A1D36A2D1246395348A3DC32B690012EBBABD8762AF1563969C0A4C0944756",
-    "identity_type": "private",
-    "iv": "33953147560A0CE8D874DBE2E43ACE03",
-    "key_seed": "826FC403B24CD2C2C09615C7615519DF4F307F825FBFB6F9FED666C30009E00F",
-    "metadata_key": "27045092CED412FED90E2830E2885062",
-    "section_mic_hmac_key": "CCABF9B74F78DB6DD3D0D52AFA0A682CE02CD0A922BF6DB9C30FCF6AE0C32AA2",
-    "section_salt": "1DFB04A1D36A2D1246395348A3DC32B6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1EF0DF08D58298A0E357D58C46A37EB7",
-    "aes_key": "048A4B2AA3DDE111E4BA17205E03C662",
-    "data_elements": [
-      {
-        "contents": "010756998EB5D06CD09797872B98F792BED2FF8DFDC5",
-        "de_type": 314
-      },
-      {
-        "contents": "2D49F47794A626D6136EC1B131DFBEE037DA81FF",
-        "de_type": 805
-      },
-      {
-        "contents": "3233E2AD33C84C20EE5C873647FF2C973F33C2EE2F",
-        "de_type": 198
-      },
-      {
-        "contents": "F801D66076A8D735EC95383F07DE6E61",
-        "de_type": 151
-      },
-      {
-        "contents": "61FE63986EC6C8AE1DEC1D60",
-        "de_type": 74
-      }
-    ],
-    "encoded_section": "A090135F57C94D2A4431B25F9E82466B7F7F75911000135861848398D4D2D008FB8F23BA28609001597090AD434166B89B3C1D0E8C9D519026C80588D401F0FE4C1024A011246A8C34EFCB98FE65AF5E9143ED806F38AEC55CBEC4E5331527A788F61DBFDE946500BA9CAA2363F2652B11421D386DC1CDC7491DCD16544DE410447903729849F858AB6AC3A538E2C7A08A26DD39D4FEDEB03A89000214260E53DF",
-    "identity_type": "private",
-    "iv": "E824A7EB69FFBDDC98410CA5AB2B2ADC",
-    "key_seed": "7E5E71048A74C3408127CE6A9F9AE1E2C6BB9328824165310E7AB1F2C46268CF",
-    "metadata_key": "7F11E9659E1ABCE558A04E7072106314",
-    "section_mic_hmac_key": "9BD45B87E27D82FBF6C663E8D208F1C033A9751F7C6A1FA7AA9BD3DBAE9C920E",
-    "section_salt": "135861848398D4D2D008FB8F23BA2860"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "56745800DD04412A18EF2923C2C1E5C5",
-    "aes_key": "B9CCB0BD14721C95C4B8A82343B0DC69",
-    "data_elements": [
-      {
-        "contents": "3210F9990AE69BCE70A95FD0",
-        "de_type": 546
-      },
-      {
-        "contents": "4311BACC1959CB4110506351FC8282D2340D",
-        "de_type": 710
-      },
-      {
-        "contents": "ECB77BF5070098A9CA3B5476FA51289575431A",
-        "de_type": 699
-      },
-      {
-        "contents": "456E941BF4E877C7C0D3AE3194184576B38648",
-        "de_type": 943
-      }
-    ],
-    "encoded_section": "8790132B1F4D078DABBB8B2F7F1AA4B2CE000C91100043713488CD976125D5C9021673B54BD49002DFCA02F508566D9987015A4B9EA57B18348BB3BD0673AF96D26EC99CBD8F3710AD07925C202D19CEA07E2A3E174737A01A87BD7BB64E07668D0F73704A3B07D3AE1658C07351FD670EA94CF4F2255C2245B6776B348613C593373C419E33BF97",
-    "identity_type": "trusted",
-    "iv": "E9F160D212F5F23E6E0C7395A49A8E17",
-    "key_seed": "3FA2A3D35B24B6E8BD5CD626AA7B3BFA7C3B4BF09CDDE290728DCEC2F3C4D0FA",
-    "metadata_key": "5926F8FA508EBAF60496AFD11B60B167",
-    "section_mic_hmac_key": "936442541778732A30D1A91F94FC0F18AF5DFF9E328C37594578316656B47723",
-    "section_salt": "43713488CD976125D5C9021673B54BD4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A987A4F50BFD7B25C8A49901CF43A052",
-    "aes_key": "A5595C267A34F4870597DBBD4827DA38",
-    "data_elements": [
-      {
-        "contents": "33118B478C00918923C55B1DC54A31C5BF790066C778B7",
-        "de_type": 933
-      },
-      {
-        "contents": "3882AA0EBE9E8D",
-        "de_type": 402
-      },
-      {
-        "contents": "578FCB48E206B3D6C98EAC841DE9D1AC69D43023E62AD6",
-        "de_type": 610
-      },
-      {
-        "contents": "728D9B96470AE5B5ADF38A1A9A4215C031970DB045DCE4E2BF",
-        "de_type": 779
-      }
-    ],
-    "encoded_section": "9190131C0606B17B45C8BE9367B22C9B395B76911000EF7232F8A53316C10FB9B12BDBF874C290019BDC987EE78BE56EFB2B4DA056A45DE88D0B51BB0BCEA3D5D16437415CBB54912083E236626B501B8892CDD61FC154F5FDD5B6603E0AC315345B0B66C9ECF7A1C73735771D014ABB59AC6F08E89E47D78248067B5D01EB5D86227C029BCC2BB0E6BB44FF9BE8B4C9F6D3",
-    "identity_type": "private",
-    "iv": "CBCBD0C1CFF1E1A93AA4A851A0A412CE",
-    "key_seed": "26FEC8FD9564D289B5D8F52A5D92F3374D16F03EA56BE5F4D7598CE444605B3D",
-    "metadata_key": "7A37107DFD235BC0A8A94FD05AA69EF8",
-    "section_mic_hmac_key": "4AF863F5A51CA185E843E04C8ECBA614DE86D229BDE71D113E280FF688AD0A6A",
-    "section_salt": "EF7232F8A53316C10FB9B12BDBF874C2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B177C937AD0440B365E3C3CED0B4ECF5",
-    "aes_key": "7D40AF7575970745C5A0F7D70E3385A4",
-    "data_elements": [],
-    "encoded_section": "37901300CA2C36D77EEB66F56395B5F88615F1911000190E5E624C8AF7EE88442E6F45D52FDE9002379C9C52C7E36620BA82C76E9F9C833E",
-    "identity_type": "trusted",
-    "iv": "FA5F5B43D79163347C5CEBE72EB7D1A7",
-    "key_seed": "C26723C79C5316A9AD2DA3F33FEAE4A2E88A2A1135E1DE408ACC7EBBC97DA81D",
-    "metadata_key": "4917FB622BBA8489B507FEC52AB3E689",
-    "section_mic_hmac_key": "E0624BAD763E837D01A7DC8475A6D4BD032BF029DA06117674E1E46B41FD59E6",
-    "section_salt": "190E5E624C8AF7EE88442E6F45D52FDE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FA2D6DC34EE5F2448477514FA147A69D",
-    "aes_key": "0E1EE274831F71B301A6E8DD14D07B5D",
-    "data_elements": [],
-    "encoded_section": "379013409E9C337F0F080FA88218EDB7D662DA911000F54BBAAC999D3077F2358E0F5D6F6E189002CAF808A29DABEE53046F9E213AF03D3A",
-    "identity_type": "trusted",
-    "iv": "AFAA0446DB0D21D787121C963804CECB",
-    "key_seed": "26F4220C4937B3B3E8A07F53D536205F49A00890B97A10065CAFC190FC2D94B5",
-    "metadata_key": "E6D25ACEFE69AE468697686404908507",
-    "section_mic_hmac_key": "3772B9EE7DBFD9EAF93856E0ADAF7893EAE501B0AA4319634CC71396051E3D0B",
-    "section_salt": "F54BBAAC999D3077F2358E0F5D6F6E18"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A6280B06DBAACBF7D349965D5BC89A29",
-    "aes_key": "87E8362317FD13D66B3CBD2BA7945474",
-    "data_elements": [
-      {
-        "contents": "6F38BC6C3C51A12F811B2995",
-        "de_type": 995
-      }
-    ],
-    "encoded_section": "469013DF0934F5F3F9B6112BAFE9E4247E6E469110001714054198B85EB13501CCFB5238EDE09001516776B88AA711D867D8E555AB751386189FD0EA6AB0B46AE6FBE32F00BC32",
-    "identity_type": "private",
-    "iv": "14CAD16E8873456B63116AD8D44A1DDD",
-    "key_seed": "795C911C94D65CF52423B7FC80A1238AD2B368E9B63B84EE68B96C254BA9EBA1",
-    "metadata_key": "387D38DB6B421C87D9730E68378C6A66",
-    "section_mic_hmac_key": "527195983F0A34F82CC68E7CD179E0E76A715C42221BB028807E09633EBFA556",
-    "section_salt": "1714054198B85EB13501CCFB5238EDE0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B93D5B221DA6B6630432D05971BD097D",
-    "aes_key": "D145D00B76039023095EFCA293AE5C31",
-    "data_elements": [
-      {
-        "contents": "B85F85569E8BA916DBD401A29DA12D246B9CC1B8A5E1443FAB343099",
-        "de_type": 276
-      },
-      {
-        "contents": "2B31FE53220530EE7237618120",
-        "de_type": 912
-      },
-      {
-        "contents": "016008F70522603B5E4F6B76344F3D52C5A57B39E4038AF8A8F42A",
-        "de_type": 602
-      },
-      {
-        "contents": "B14882D90E5C4690F09CF3E945",
-        "de_type": 318
-      },
-      {
-        "contents": "FA4E574D4E2E615A3FFD2D185AEAF145B2D71925C152A6",
-        "de_type": 822
-      }
-    ],
-    "encoded_section": "AE901319824BDD1F5E974F6DCFDB43A2CF01E9911000B7B0B621D9724F0DF78391C91EA696C390013DF4B00F304BB7398762286C53648CFFC8255329F55930F1897E2C263298D50D3742A38F2FACCA2AD4DEC504F26B0807F402526FB44C656303A5B2C2FDDC0F66E986C1A4622D795D2F69FA1D7897BFD3C51B0C73B41A0FADD795C81A929126AF23142944F6B7D4E8555A23013398C47010884C0F528304A648B5CFCF48DF789BCBB9EF14D2A894",
-    "identity_type": "private",
-    "iv": "EDCD3E09ECC33CC0428B84B84A306290",
-    "key_seed": "F4DFBB6FEAF8AC93BAD4732CDB320B6E862122646F848E275919104C2D42A873",
-    "metadata_key": "BFE267A05480880B72716BE7339D871C",
-    "section_mic_hmac_key": "B8B176BDAFBE2009FAA4061560DECA5E315497E163390EF339DB071B15FB4B95",
-    "section_salt": "B7B0B621D9724F0DF78391C91EA696C3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E12D7AB4AD24788123EBE401FCFE0361",
-    "aes_key": "B9B30EA4622A6F9D8AD6F0E55BA4B942",
-    "data_elements": [
-      {
-        "contents": "3051CF22ED9D25",
-        "de_type": 618
-      }
-    ],
-    "encoded_section": "4190132465A472C19E1132D6920D85859C462D9110002A68F093B202AEE3BA5C5920E1CFD169900148079856121A9BD3EE0EE241012343707145363A5036B2FD221B",
-    "identity_type": "private",
-    "iv": "A8B13B39231EA9901D765FAA4D903CA9",
-    "key_seed": "F401092F0C5FE27E56C9A156F3758F00785479106A65D15BAE8A71EE0D74882A",
-    "metadata_key": "A13B7F9FC15F2BC3CE3DA2FE7A12B8F1",
-    "section_mic_hmac_key": "109B276D0832C380BEB445EE69833504C4C1C36336ED29FD5A968275539D06C4",
-    "section_salt": "2A68F093B202AEE3BA5C5920E1CFD169"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4A44E437E8CB79A4D9CD8B36C741598F",
-    "aes_key": "9DF76674041561AECBE242B96765159F",
-    "data_elements": [
-      {
-        "contents": "6DA30D675509E1A51259DEDA2F11E5B3BF23A8FD",
-        "de_type": 639
-      },
-      {
-        "contents": "87DCB0D2DC1A",
-        "de_type": 247
-      },
-      {
-        "contents": "7B59DEB0A3127B05BB534C71E77E35918E83DF59",
-        "de_type": 589
-      },
-      {
-        "contents": "",
-        "de_type": 101
-      }
-    ],
-    "encoded_section": "70901391E265F35A1E0577B27E896855A176F4911000BD2435F6F73228A37BC92F68AA6A147B90019E7DD0615640A2FE79D4239B6A943831D7C153CE9563FB645E396005A037F61F5F3F9D85A9F028D370A22BE88A7DEF734208CE97931054D7D6002432993830428EABA280091229CA39",
-    "identity_type": "private",
-    "iv": "4C0F11065C0D0A50281895D599B113E7",
-    "key_seed": "F3D388C12E7FACB9A9A10D71841128E5AA5B62203C4D9288CEF583FD0C973281",
-    "metadata_key": "36BE0AAEB9570FC44C86D948C112D2C9",
-    "section_mic_hmac_key": "6C082598D6635262737FDCD8CF2C84F0564A88B0619C46B1087BF10C19D3DF60",
-    "section_salt": "BD2435F6F73228A37BC92F68AA6A147B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AEA8992BCF56D8C977B4F23CD035215E",
-    "aes_key": "FDBDC8FC03D9D4BD00E02D7E95BC806F",
-    "data_elements": [
-      {
-        "contents": "29FD64AA2AF020C8C1DA859D8F",
-        "de_type": 274
-      }
-    ],
-    "encoded_section": "479013F445F2D544BA05B19A3476E945DFE97D91100072C4FF46E7236884EA75F40693BFF42E90048B3C5601202F9764171E03FC75A45120BFE756EAFF35D3CE64EA5C749E93FA52",
-    "identity_type": "provisioned",
-    "iv": "48F82C64D3B561EC02F68C129E705F7C",
-    "key_seed": "3B1B53F1A643F064C11C5FC0289D3AC60314493366D5286899B4398A579F5D64",
-    "metadata_key": "B1CEED2817D2815495A72C8BBB856EA0",
-    "section_mic_hmac_key": "B4155D5CEBB91D838092A22CE031FC3A18C751BD1C93277781EBD05EFBEA5449",
-    "section_salt": "72C4FF46E7236884EA75F40693BFF42E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7844FD878C399C26ABC3F5898F1EEE7B",
-    "aes_key": "26EFB718B9B26B32C37DDBCEF467D023",
-    "data_elements": [
-      {
-        "contents": "F17E9BF1E3F0713D0F30F2D160",
-        "de_type": 538
-      },
-      {
-        "contents": "D18840BFB3F67A8CA354755541827C27BA67804B9379D966",
-        "de_type": 121
-      }
-    ],
-    "encoded_section": "619013AEF9942B3FCE71119B0158F3B5CEFFC19110002D3887C9CC4BF9B5678676E908D6B65390010ECA727C2BEB2D8BE03CF1AF18057D68A28F3C87E05EFB8C46FD8F70E81C44BEA67C5B744AC821302A345A2A078260A815FE69088127C8B377B8",
-    "identity_type": "private",
-    "iv": "849FBD20C4DEE438141A13D97554D787",
-    "key_seed": "5162B090AA207D037425C2D3A1627A01009FCBE33076984181B26E948630B08F",
-    "metadata_key": "792BAA366C23A2878F7D5376867E03A6",
-    "section_mic_hmac_key": "1235C37B0CA4D707242A8DC6CCD79F80AA9DA1462E6AE7729F3C2680F38C3D5C",
-    "section_salt": "2D3887C9CC4BF9B5678676E908D6B653"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F42DCC02D50640A2F658B83FB4E7CCC7",
-    "aes_key": "616EF3104C743DEF83DDB73A4054469A",
-    "data_elements": [
-      {
-        "contents": "03383E9297",
-        "de_type": 260
-      },
-      {
-        "contents": "9462914DA98DB75E09",
-        "de_type": 412
-      },
-      {
-        "contents": "1DE476",
-        "de_type": 421
-      }
-    ],
-    "encoded_section": "519013D4E125FE1E65626076AFFDAD82D5BF889110007F4552E79D984C742B9DADB5F74E95189004D3AC96826BB9BEFC0F1E79081B62A2FE3B1E9ADB08AB470AE6F93E8B7A809190D6312B28EC8D81AA0801",
-    "identity_type": "provisioned",
-    "iv": "D7A0BC0D7FE96922460BA73213646E9D",
-    "key_seed": "3ED27ED5664D454F921BCCD0869CE1CC7B3BB85E7585375DCB33FB0650EF779D",
-    "metadata_key": "EB3C8E526E6D9235391E827F2C6E231B",
-    "section_mic_hmac_key": "BC311E65AD6DD040501783F1664655BABE513E3B907292CAFF9BE29FFFF4A448",
-    "section_salt": "7F4552E79D984C742B9DADB5F74E9518"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "362715986AEF2115C1E99FB44EFA1C75",
-    "aes_key": "C59A28A212B4FCDAC1E16462C5B1D165",
-    "data_elements": [],
-    "encoded_section": "379013A2A1BA7A82B6F9CDA55E5FCCAD4257AE911000B55714FC13B8BD3C6B8C0A7C668F1BBB900270E9E6041661BF6F78C6AB5322EBEB23",
-    "identity_type": "trusted",
-    "iv": "0D644B9401404857EE408775BC5A52A4",
-    "key_seed": "1568B68A9D59E4C9482EB671122CACB6663B00DE1215CB0FDF68A5B32E186478",
-    "metadata_key": "54A22FF50922686A95E211D724463375",
-    "section_mic_hmac_key": "46281BECBD442DFB726A2AAF39230B5EFE5018E343BC551B2E48A5750E83D8F2",
-    "section_salt": "B55714FC13B8BD3C6B8C0A7C668F1BBB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "505CECCB0BBF804F3680A901A0A84A21",
-    "aes_key": "4CC11507027A2925184A972BDDED37ED",
-    "data_elements": [
-      {
-        "contents": "0F4726CABAA7A44D817F00",
-        "de_type": 319
-      }
-    ],
-    "encoded_section": "4590133CEA393A75D831272811392FAF4A3545911000D776BD1C0C14FEFD55DC62B967C2318190041F745F67713849A775058D883A469627A056A7C207EED34AB4CE3B710878",
-    "identity_type": "provisioned",
-    "iv": "BED30BD783D7571B1564D14C3759997E",
-    "key_seed": "BD9A88F8FA79FEA622C56138525FEA07EFBF53800B3AE4CDE7C6CA69B2A0D9A0",
-    "metadata_key": "2BE32D599D847EEF1023E437601655D7",
-    "section_mic_hmac_key": "01D5077099F1BB11915BF29E3CFA7DEB563386EC878CA136DD6F0D1813ECFC2A",
-    "section_salt": "D776BD1C0C14FEFD55DC62B967C23181"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C295D404B8FC5E3737BDF1FD586EB54",
-    "aes_key": "333AC5989888D159B59BEE541183F1B4",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 376
-      },
-      {
-        "contents": "0EC58152447FB55294C763C5310B90C4B1BDBDBA",
-        "de_type": 897
-      }
-    ],
-    "encoded_section": "5190131DC5A94934AB3C124656E7E19C9D6D74911000D77197B01CECE72E38B7055E1B2A4E9190028EA817F765B15EFE6F9B1273E5164FAF6082E6F6CD317DC41D9C1DF860C7F17D7E205EE1D4ABBEA59EAD",
-    "identity_type": "trusted",
-    "iv": "380397FC7FC735D90D60C40DE97D64BE",
-    "key_seed": "58FE4D29790740442D5A1BD2ABB189DFC42B41E4507A0517E061063AA1BFF5E1",
-    "metadata_key": "E4FDCED3B8BA98A09E195E2521274AF2",
-    "section_mic_hmac_key": "22E7FBE87FE2B9FD4D24A0F8A6EF7603DA4AAFE314655DC486D46A197F95DABD",
-    "section_salt": "D77197B01CECE72E38B7055E1B2A4E91"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9B60494234512A3C9B6A5D72533BB7A2",
-    "aes_key": "8924A8A345E22836490AD4494DB516BF",
-    "data_elements": [
-      {
-        "contents": "FAB3FD79DE4BC47D2C14B8B99E",
-        "de_type": 615
-      },
-      {
-        "contents": "3479BDDCE860",
-        "de_type": 667
-      },
-      {
-        "contents": "18D959580DA781",
-        "de_type": 786
-      },
-      {
-        "contents": "615DB667E6E281BB9A3641",
-        "de_type": 610
-      }
-    ],
-    "encoded_section": "689013C05D97E98B3B8BB1E3DC27D55ED975259110008EE527EE8F974D8E0D0B5B3A665965A090027C5BF2D01D8AED7FA473E8B2DAFED89D2EED05E3D6065A114F2530D30AC5FEB37A439A32AF1D037C6C8EDD5B12505354D0FED97E72C125E079EAAEDCB44CC22355",
-    "identity_type": "trusted",
-    "iv": "8602AFBB2A34225261DC074174B8E670",
-    "key_seed": "CBAFC7E710BE96D3F94FF216AA7F2933E66B1F7C5A57DBAD6E79564DB908CF06",
-    "metadata_key": "0A8E7FD1F928402D5ECD50BD80D10A66",
-    "section_mic_hmac_key": "3099BF02D5FD168EC01E036738BFB8E30BC0FB4AD407AE3A08F8D8239F64F54A",
-    "section_salt": "8EE527EE8F974D8E0D0B5B3A665965A0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3FCD698F9489E37EBD7F6A4D3224C33A",
-    "aes_key": "F99653068BD2A63FB36578720F9F63C4",
-    "data_elements": [
-      {
-        "contents": "ADBD7E7559",
-        "de_type": 555
-      },
-      {
-        "contents": "48125DBEEC95494C0577757CBADE",
-        "de_type": 909
-      },
-      {
-        "contents": "E7AFB7E6690AA0FE3747EBE2F251B606A034A4D817B5",
-        "de_type": 14
-      }
-    ],
-    "encoded_section": "689013BB941D4C7CE5BC91FB3D4E6041E4AC9F911000ECBAF5C243C3B5BB209210D84B821A2A9002926509475302C3EC09089E68268572F1525C6382809682E9FF8EB06701D647A5AD7B8038E06C851B7A76FFE98403A5C7DB36893D5CF95FC349E98A177FE6C90CDD",
-    "identity_type": "trusted",
-    "iv": "D237427573873BBD2A6B372FB9284963",
-    "key_seed": "90D41DF3F409B5A2C6895CC449ED835C3C70E509551F8524DAE13F3F4E42A429",
-    "metadata_key": "86FCB812E49A140B17C7803C51121583",
-    "section_mic_hmac_key": "853B7A9AF337E2EBF2805550EE36447233D006CECB4E4BF7D4085C875F1497CD",
-    "section_salt": "ECBAF5C243C3B5BB209210D84B821A2A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0AD3C84FC7C58D3037142AF41852CD42",
-    "aes_key": "85571EBC9483AF47E86FBAEC31C8F2C5",
-    "data_elements": [
-      {
-        "contents": "D133239451",
-        "de_type": 901
-      },
-      {
-        "contents": "6C2762576EFDFB6F86A41D4FBFED",
-        "de_type": 422
-      },
-      {
-        "contents": "4510C7CEA7E09A03E0B7AE2EBACE9177BA7B1D46AD94256574",
-        "de_type": 922
-      },
-      {
-        "contents": "DFDAF2",
-        "de_type": 207
-      },
-      {
-        "contents": "C5335141F74C8E52E4F2230872366E83D2678B8C373D03987665C5528EAA",
-        "de_type": 844
-      }
-    ],
-    "encoded_section": "939013013988FEF35F4BCD059C3077FEB6E19791100091327AAC510808996400403A8CF444DC9002A0A7721297142DF288D8AF4E70874CBCFF74B11FA183925FE595C24F1E676AA8D158EA2605B283FC22951A389C097CF4DFEE6CAEB829CE8C387E3826C59499AA6FE04BAB5726249A4DB982986B1FDB3BAA5772D7EBDC16ACCBE061AB6914C61DA1F98B8ABFEE3360633E106A",
-    "identity_type": "trusted",
-    "iv": "82B513DD8F4CA0CE7C5E0E4889E860FA",
-    "key_seed": "5A29295C59212A429AB6EA78F278EAF3ED825F57AB0D2A129F52CC277B1B1CC8",
-    "metadata_key": "EC7EDC4ACB3143F6427A9519FDBA9416",
-    "section_mic_hmac_key": "80D950334DC3B27A0260AFE2ABAAB53C5E3C1EE022289A4A81D8933620814D90",
-    "section_salt": "91327AAC510808996400403A8CF444DC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C6C90D3B1F749744590F016A23507912",
-    "aes_key": "5921AACC16814BC770EACE04A011DEDF",
-    "data_elements": [],
-    "encoded_section": "379013C51A5B8064CCC91CBF70A7BDDE6A35B1911000CB58CD4EF7644C8AAE7BCF0E9123BD119002B868633C18CF476A943747630391F0B4",
-    "identity_type": "trusted",
-    "iv": "7D48634F169987CC2E53CE148B93BFF1",
-    "key_seed": "77691B80B2C0CA3BAD73653F05B84C0C31704FE6BCDA1551B055B1286F805F86",
-    "metadata_key": "0820719A54E2A8D41FCCBE04F6A19116",
-    "section_mic_hmac_key": "A9AB5A8E48AFA1C80E86E9764088305C75F440B1CCFABFA9BBAB981966EDC225",
-    "section_salt": "CB58CD4EF7644C8AAE7BCF0E9123BD11"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AA5AEF76D88EB7A98704D6F786978A79",
-    "aes_key": "D0B5E2F53665D4A49213F8E3CBD17238",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 130
-      },
-      {
-        "contents": "008A8A351B53EB339B92051ED484AF78D7",
-        "de_type": 212
-      },
-      {
-        "contents": "EA",
-        "de_type": 970
-      },
-      {
-        "contents": "61305021F575FEC5427EE4E5F007CC548C7D3DF098",
-        "de_type": 496
-      },
-      {
-        "contents": "819984253481F9F903BF58DA2CD7E426E11C681DB803",
-        "de_type": 526
-      }
-    ],
-    "encoded_section": "839013C5B60ED430A58C53A974CBA2B932B7DF9110002ADC62BC5A15E27A5D040BD13364457A90029A1C3316152852BF28F18AD8EA58D79CD5CD5460B1F6FDBF6A6DE7982068DBEF5A3F0DDCA5DC1AE558681667C1E896DED773B85E637CFD76AB97C02B7476D058AE259383001072DA55A825E8D9AD8B52640C2C17938D087A7C2C5376",
-    "identity_type": "trusted",
-    "iv": "F11001063B0781ACC0C9A56FD606E2DA",
-    "key_seed": "321B859773DD3BD05F2CA1B0EB5A8B2D50A2CF4800DABB6137B80E0B9E77C53B",
-    "metadata_key": "9F67F3ED285AA4A2065101F5170DC3F6",
-    "section_mic_hmac_key": "38CB19DA21A127986862AD06AE17603FAD6FFF450BEC8915C71765995E3C9E1A",
-    "section_salt": "2ADC62BC5A15E27A5D040BD13364457A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "85033540DAB893A56198E6C61D126215",
-    "aes_key": "FA3F91590A9FAE50C85DC060118F34BF",
-    "data_elements": [
-      {
-        "contents": "C1BD30E9571DFD4A46CE538674AEC77965",
-        "de_type": 302
-      },
-      {
-        "contents": "E0F4F75A38F47A611824C3C7C36D66EF4F66F7B386ED5055586875",
-        "de_type": 357
-      },
-      {
-        "contents": "45531A11802F333B",
-        "de_type": 496
-      },
-      {
-        "contents": "4884A8F995F73A415EA5AE2554B5",
-        "de_type": 935
-      }
-    ],
-    "encoded_section": "8590139CA7E3ED77C285D887178284CD648077911000D916BE31B39EB0B2C3C8627643F4064C9002352CC9CF57BCF7235F98A537B7DB5615B5DAB258536C24D51FFF0170A18125ECFA058FB63858701B8E98F1B8757F7A95194C86776C49C517F8D30868299BA3221D66BF197D6416A1CCE5044CBBA2EF9D42EA5DABCD618FB117B75E948A18",
-    "identity_type": "trusted",
-    "iv": "8B5180935197933E61C2A44911D15A10",
-    "key_seed": "8E6C7E27B061CB997479DE0B6369D0D06A74EA34B3CCE46E4C8E184D2F5670A9",
-    "metadata_key": "42018C7AC5101C0258523EF8C7F0A568",
-    "section_mic_hmac_key": "5583258D33DBCEBDD9E51458998869791B41A2F08F182F70B1E3291D42F82E25",
-    "section_salt": "D916BE31B39EB0B2C3C8627643F4064C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D3AA4C688EA0AD1918F1C9D71C75562A",
-    "aes_key": "580E68ACEADCF22076DFF033AE22E2C6",
-    "data_elements": [
-      {
-        "contents": "EBE2B615",
-        "de_type": 8
-      },
-      {
-        "contents": "CD5A0B2223F0E8D0F2C927261AA127",
-        "de_type": 597
-      },
-      {
-        "contents": "254D8F45F8E5265C7CA01CB5EBE36D2F5E",
-        "de_type": 980
-      },
-      {
-        "contents": "CB749F9F2474F2E1431C822E853FAD78854FF8D2D869E13E",
-        "de_type": 82
-      }
-    ],
-    "encoded_section": "7C9013EAD8F6468C5270D4F1F91C2FF6E4D795911000DB917CEFE3F87ABD3C6FE091FE7080169002CD415457D2264207614B3AD25C4684BD245F66E24FF1D32DAB7A5CF5E08EB4E4BFCD04485F639B90758CA40BFC86FB226273E95315E6640032AD8F42F5D6EAAB52D22E3067FF073AA6721FF5075A35E9892785157D",
-    "identity_type": "trusted",
-    "iv": "7CB9B3466AC81FA752E73027C9E7DC1E",
-    "key_seed": "F8649F5B5D4C6482A42BCA722751F19356663FCA5C79D85D635893696BF2ACA1",
-    "metadata_key": "DBF7DBD16D60B0AE863E8EAFEE60A8C9",
-    "section_mic_hmac_key": "A5D6A3FD29C470C7C27916035F632C5DCAD89CD7312132C6FF3941E8CDEAF515",
-    "section_salt": "DB917CEFE3F87ABD3C6FE091FE708016"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EB6BF655A2E80D1AF8D36AED56B6A486",
-    "aes_key": "17F445E7EA205A56027250C0346A2E71",
-    "data_elements": [
-      {
-        "contents": "014E6E7BB0D40BC7FCBF9BD3",
-        "de_type": 977
-      },
-      {
-        "contents": "A66F701F2B9A8451EB925DD5DFFB18273FD156",
-        "de_type": 400
-      },
-      {
-        "contents": "0B730FD3630237F45E3C6EA47F8EE72A69108C94BE72",
-        "de_type": 922
-      },
-      {
-        "contents": "AF35622DF4032B16BC69AA13859D54A3CE8A8EA0A637FD7B",
-        "de_type": 873
-      }
-    ],
-    "encoded_section": "90901303C3DADA1F1918061D9922E9F5508C449110006F4653653712F88848A16560CB9D4B289004814FF4D9FFA580804263DA2EADEAA12FEC181D131B19E561E2D3811571C796B15B584E6DF5C7B5809A3C61DAAEFBA0496D897583A8A8CF84CF5727911411A9B075C3F4F2ABF2565F7991C893638FD68729C425610B61FAAB5CFF4CDF3E4E7971C8C6DAF7BB92D08D30",
-    "identity_type": "provisioned",
-    "iv": "189A717116D2613604B3E642AE28A02C",
-    "key_seed": "706710F7D3107D9B7DE125A04EB20972E73151AB942360289B3BA4F23F7BB3A2",
-    "metadata_key": "9D3E61673F1406C976DB176EBE07B535",
-    "section_mic_hmac_key": "5907214C4AB21EEC7F1ADFF46C72E2F7D4141F5D7FA3D4A31B4E698530499066",
-    "section_salt": "6F4653653712F88848A16560CB9D4B28"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D78B7D217B2BAD5FABACC1946ABEBB4C",
-    "aes_key": "DDE0A6C66AC49FEA60647AAA0F51B3AD",
-    "data_elements": [
-      {
-        "contents": "7DE71497790F3C87A6B1",
-        "de_type": 591
-      },
-      {
-        "contents": "73168472EB83D78006B65795611C22B92E8C99",
-        "de_type": 797
-      },
-      {
-        "contents": "6FA0E9114BBD4F65224DE85910F489C4AE20BD64AB2184C32ACCAB",
-        "de_type": 266
-      },
-      {
-        "contents": "DC41AE5DE9B12057ADFCDA797B077BEFE31DD0352B",
-        "de_type": 666
-      },
-      {
-        "contents": "45E2BF06FD93AD81D32E391A18F6ED10939FB5D598925F060413E0C9",
-        "de_type": 864
-      }
-    ],
-    "encoded_section": "AF901361D877AB393135E03356064C028A5FE0911000573A6F5FB7DE8D281C473C3ADACA77FB9001EC4FEE7B442EBE106D892C85074695F12CFC7F7D03C692EB54BD467D8473F76D6C3F62AD849A82E3D4F0E2FC9B15AF8604C435C11880EC4690DED0BA67FD4D7ABD258E281C094F695843C59174BC5C59EC82C93D72BD9E9DACD4A8DCBF4B36DCE9F849A729A832325F85C097122E08CFA360CC073F8022F10C7B76E1FA8D67E0732A33DFE0259EA4",
-    "identity_type": "private",
-    "iv": "0BFF6C36B9AD3D46241C48C045404441",
-    "key_seed": "B595F2E119E405069858063A2D71A34C08CAEF8842CACFF2841103C33476B8BF",
-    "metadata_key": "81EFCD94E99E534D60F2189BAC02854B",
-    "section_mic_hmac_key": "F03A05B7EE67BF56BC9539D8102D174B556D970122EC292EA0AB6BFDB8E36A1B",
-    "section_salt": "573A6F5FB7DE8D281C473C3ADACA77FB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CBD7C88BB7E820DEA7629856F507C7AB",
-    "aes_key": "F7D24E7DF3FB39E4C01D50213CA4427E",
-    "data_elements": [
-      {
-        "contents": "B5427785105E6E551E41111DB9A5",
-        "de_type": 941
-      },
-      {
-        "contents": "27B605AB2C3FA4B3F91BCE5D3968A289",
-        "de_type": 241
-      }
-    ],
-    "encoded_section": "5B9013FF3841C3001F80A54E975483DB6C5D74911000F896663B53DF517B14CBF9A3A99BEB60900264CF1670CD3161CC7A9E07274C49BC76F0F30169FDE2C493E0E572AB011E1DFC60F52CA98E495C0F21BC81A5634B35D55B3A89E2",
-    "identity_type": "trusted",
-    "iv": "3F18203F323E679A3F665D4D7AB780CB",
-    "key_seed": "7C4425B244F0C63E398983EBACE4C33BE1DF8904348ADD1731379EDC614820F5",
-    "metadata_key": "CA10051ACA62C5408E9AD33AC0B6D62E",
-    "section_mic_hmac_key": "B923EC80759AA88B679B309AE389AD81B113BD3AD7ADFB1582575683E717CC35",
-    "section_salt": "F896663B53DF517B14CBF9A3A99BEB60"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BE0D6935B5CBCE532B644EBAEB0CB4DC",
-    "aes_key": "09F96BCC2EDE21309F12AF572473394B",
-    "data_elements": [
-      {
-        "contents": "76",
-        "de_type": 700
-      },
-      {
-        "contents": "83BFD32351F59A0C6C0886AFC296BD48C1E442AAA8CFEFCD1AFEBE91654D",
-        "de_type": 673
-      }
-    ],
-    "encoded_section": "5C90132605C5751F7E217A7E36D2C846C5DF8891100004FF20FC90A2D3B71931FA83687E046090045D73462C825BE89AACA4AD1EF3CDC4C5A6E3C257787693C51547CD927B09438CDECDC82610E04A0ECB445512CCD10A98ED7547A975",
-    "identity_type": "provisioned",
-    "iv": "0914932394906428A0D76EE9D518875D",
-    "key_seed": "67FDE8780AA1EEFA293EE8897234FE2C0D5DB854BF6A3215609DC44A601D448F",
-    "metadata_key": "E77492D379A619F8A40D54D91A5DBED5",
-    "section_mic_hmac_key": "F84CC8323ACBFA67420AB61721F4039EB2859FA694DD8C9FA15A9A5C5CE6365F",
-    "section_salt": "04FF20FC90A2D3B71931FA83687E0460"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0CE7F59C7D7A29C744084A1E346B308D",
-    "aes_key": "2740097F0EE9541B3FE75A1580500594",
-    "data_elements": [
-      {
-        "contents": "B3CC25",
-        "de_type": 323
-      },
-      {
-        "contents": "39E0F88DCD564592199E1D2F582BA79D054C292C6DBDAA0343",
-        "de_type": 501
-      }
-    ],
-    "encoded_section": "5990139E6B783FB0F70C3902C8A67B9019BBDD911000E3240073A3AB269A8AA57F0122D70EC490024E4CEAC73CE78AA7C17623FEA674A0F892D0DB5FD0DB28392CBDD7FE48F675E5946FC44FEAB8CD4683CAA251AA2084098657",
-    "identity_type": "trusted",
-    "iv": "3CDFAE3DA464D67F574AFDBBF69161B4",
-    "key_seed": "31F9C997DAE4B7C28566810532ED77A9BDA311E0357161B3933F6116C0E3AAD6",
-    "metadata_key": "DB75222950D33438C7D8BFC500EFE5CF",
-    "section_mic_hmac_key": "BAFA2EF3A4EC8A7EEF7B2E2EC74EB8C89D51D7589D5B316EE19388755639839B",
-    "section_salt": "E3240073A3AB269A8AA57F0122D70EC4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "73EB253EB94944B28A0929DB906F3965",
-    "aes_key": "B528A116686C84C53B6A71680E846ECD",
-    "data_elements": [
-      {
-        "contents": "F561F2FC",
-        "de_type": 347
-      },
-      {
-        "contents": "729617D310A7107E6B62763A15E8",
-        "de_type": 436
-      },
-      {
-        "contents": "26F23C2652A0978220A0CD",
-        "de_type": 679
-      },
-      {
-        "contents": "BA2CA34BF2F0FCCB4FE3C4FD0D8911F3E5E01837D810ADBB63F091B96D",
-        "de_type": 487
-      }
-    ],
-    "encoded_section": "7D9013FD4ED421EBA8A62819978D7E11C4292C911000880D39B609325E05472E3C5D8C6999AE9004358528DA38735AC35115FBCE268A37BF76F6FA4A2E2FB9C39F97E92EE39799487B4137A8D7EB669ABFCC1A46970CE5ABF8D0EF13085463535C4F871184E000260ACB47D637BE03A8FE21D3A302487A51DD89AAB1BCD9",
-    "identity_type": "provisioned",
-    "iv": "320152979988F1BEC69DBE6A55447602",
-    "key_seed": "492F19D4AEB5EA017282ADB13CF7BF4D5A271B78F75AD1BA202B5E3EADFDAAF4",
-    "metadata_key": "956FB218D86E0B1022B9D9EF9557E0DB",
-    "section_mic_hmac_key": "A1FE43F2B654C7609E652267C50E47E5006B9ADA95AA6FE9CE74C0A7688CE14F",
-    "section_salt": "880D39B609325E05472E3C5D8C6999AE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4DE153E88AE9F55EA216E8460C5B4AB3",
-    "aes_key": "437A29371741838743A218D22C151D97",
-    "data_elements": [],
-    "encoded_section": "379013EA44AEE04512C910A2DD265ADFA11056911000BBE190D2D9010D8B82EB6885F11888B8900494CB0BE562B2A7D547945AE25C11ACD0",
-    "identity_type": "provisioned",
-    "iv": "0D790B1F58DC583F71CC470CF2639578",
-    "key_seed": "E6A5B4A42797FD2443733A51FE08E0E20A97142163D82E17AED64395E2E25A1D",
-    "metadata_key": "EBE57E72E39DFF45F46CDC67406C79C0",
-    "section_mic_hmac_key": "2E2E7B8051FA5A344F74D36B3881951D476E291DA95F619AE54FDBA38F23E7B5",
-    "section_salt": "BBE190D2D9010D8B82EB6885F11888B8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F6B8A28AA97515625D1BC8744ABF581C",
-    "aes_key": "F4FD755476BFB54A67D333FDE5F21D38",
-    "data_elements": [
-      {
-        "contents": "11E6C336306364DF2C6FFE3C44296C238FBE80A7C39660",
-        "de_type": 553
-      },
-      {
-        "contents": "F895D8637D37F08C2FBD63460CC66EC79D61DC7814A8317DD9",
-        "de_type": 142
-      },
-      {
-        "contents": "023536380CB2B465115601F0549C1E225ED0DDDCC1A5757CE504348EB006",
-        "de_type": 426
-      },
-      {
-        "contents": "90163807A994663D6BA798C051E17A4FFE136343F70CEC",
-        "de_type": 711
-      },
-      {
-        "contents": "34C1D3B746DBE55C999FE970A78892E4312154893D",
-        "de_type": 686
-      }
-    ],
-    "encoded_section": "C0901358E24D5D9BCCB5631A933692B53ACC60911000041BF71ED6F92D89A7437595D5870FC490025408C683AD58FA66667A80D6B9A16201FE80656CD7F160DAE3A0E5D6C56059E87075977DFF54C593082FCD681599A8BEF62A9152700490EAC32F0A230A4EE201096056827AFF77B0E691B83E0ACA71195C60C372A7063A662D750D1EAF2B97BF3B7BEA594B7E25A2C0449AC9001C4CD601E5329D30994932854A78B8678AABC7AE2CD0A40590EDF91F91C0CD4BC5658543887CA9CB9E36EB0D",
-    "identity_type": "trusted",
-    "iv": "A55C04DE4370A9539D0054FEB77CBB41",
-    "key_seed": "A0F4708912E13265DC407CB2E58EBA265C246741CFA5AC92C5F45003E9DC3D73",
-    "metadata_key": "0755F41DE31C1DA14183BCE6ED2A793E",
-    "section_mic_hmac_key": "45DD4376D86A64ACF88C521BEC32316AD023B10200514E6C1200E364FDBB1C89",
-    "section_salt": "041BF71ED6F92D89A7437595D5870FC4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "80B55AAFF717D29EE2150527E786FC22",
-    "aes_key": "89D2E5C6EF19C4798B18A5AC956BA8A8",
-    "data_elements": [
-      {
-        "contents": "C925910705C708716C2A2E2FB9B7",
-        "de_type": 746
-      },
-      {
-        "contents": "7441B7",
-        "de_type": 798
-      },
-      {
-        "contents": "5616AF27BC9705EA841EE82D8A8CE2A4E4F4BE51D4",
-        "de_type": 284
-      }
-    ],
-    "encoded_section": "6690131B198CEAE84F43E5333491064B8C72D19110005A8BC686BC40CFD016A6549C3E3220A79001E09548FC1B654C438A8B9949692224C81D87813B39830B110F4B5FE0F9D58BCEB7CCEDF442B77A17839F79F00A0AD51DAC75D63B7B137949665C55C8EEFDBF",
-    "identity_type": "private",
-    "iv": "C87B5050A21E0BEF4DF28C8E2E86B9E2",
-    "key_seed": "62127F82AA866333831B924405D6AD1B36112C39901CA63820FF8CAFD841184C",
-    "metadata_key": "863325C4DECDBF4CC7BBFFF32518528C",
-    "section_mic_hmac_key": "5E35357D5B711AE75EBEB698D5FD818E165687A6C941F545EA7A54486433D521",
-    "section_salt": "5A8BC686BC40CFD016A6549C3E3220A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5CE67FEBA4AED76BB9C04DEA24F5121D",
-    "aes_key": "CD9B63EE81CCBC1A6FED8AB873DA6F9C",
-    "data_elements": [
-      {
-        "contents": "0E0FCD76BDCF900F512961B856A7A8177BD66FFBDB33F4F5F44459B009B9",
-        "de_type": 153
-      },
-      {
-        "contents": "C45B234AAC5688FC4196",
-        "de_type": 952
-      },
-      {
-        "contents": "CECEA9E54D144A541D",
-        "de_type": 299
-      },
-      {
-        "contents": "A5837AEB6B56F1C33168919FCCCA914D7668DA65107E",
-        "de_type": 583
-      }
-    ],
-    "encoded_section": "8A90130DF91C2EA62A4347A347AB4FFFAC68BB911000AABDF7BE435EF0A8DC2F5ECD0099C2169004FED4F8ABDB95DE277D5EA8CC2CDE85DA2089ECFD798827F8F757DEDB8EDEA4EE5A53A41316D8D3DB792007477A232506EDB88E6E15434D52978B671850915B0B4E91713CA3584FBC1E92581FEB81750D378A6E0D51835A8F3CA203DE4272FE41F2230F",
-    "identity_type": "provisioned",
-    "iv": "6AD1D35AF9DCFA8846CE08139586BE4D",
-    "key_seed": "3EB0A1FC103DE614F09A1A555E9F83A7B80B87712014B0CAD6C4ED25F52B9B33",
-    "metadata_key": "488C3EF28CAAB88A94CD82AE8EDFF615",
-    "section_mic_hmac_key": "2B44CC0286E9B946662DAFCA116AE8AC7464625D20BA4972F9CD5E09A226957D",
-    "section_salt": "AABDF7BE435EF0A8DC2F5ECD0099C216"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B9DEA2501303F34F7BAAF91B3FF6FDFB",
-    "aes_key": "6EF9C4550455F6B122A9842E4FF9563F",
-    "data_elements": [
-      {
-        "contents": "59E50862FE4633D3ECF91C3EDB72270FCBB5",
-        "de_type": 286
-      }
-    ],
-    "encoded_section": "4C9013D4619FC79CC7834813D1C2A27ABF790E9110000F0469848994E26F09CA0C6C440462749004F0A1A5CB662AE19B307355144B85F4EAF30056D216F9D2C0DE09D233F4C85B3A39BDB355E7",
-    "identity_type": "provisioned",
-    "iv": "EFBEDF6DCF3B97786CABF592BAF9F5D6",
-    "key_seed": "F0EE8773F58564994D1F3BA077E7A3990228BBEA25A527ECEC620A62279F0319",
-    "metadata_key": "FD3B6FF7375FFFF1CC29FFEAF9A4C2EB",
-    "section_mic_hmac_key": "7123A128F2D15A893EB34A5114774DE3D49285942274ED8F5F3FE198D58F3110",
-    "section_salt": "0F0469848994E26F09CA0C6C44046274"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8D8E8645D7B0FD0E9E36ECE388CC4F6B",
-    "aes_key": "CE9FFE75B22C96DA0FA83BC6AE435B4A",
-    "data_elements": [
-      {
-        "contents": "4C84EA9E7ABBE9805FDA1AE32592092F414A",
-        "de_type": 446
-      },
-      {
-        "contents": "E2013312F6",
-        "de_type": 100
-      },
-      {
-        "contents": "7647A9C883BD",
-        "de_type": 427
-      },
-      {
-        "contents": "",
-        "de_type": 434
-      },
-      {
-        "contents": "9A48A6A9C9FCACC1E8BC284FCF5A368125",
-        "de_type": 953
-      }
-    ],
-    "encoded_section": "739013765C4523E0C5459C2573E009ADD07AEE911000B52AEE3E5778873503DB2A7374157D499002C6032636BCCE82535DE0210C953C742AD0E29C1E270461E7C0D27DD7C81E402CBE795FA9F76971E0138E2533D0D47ADE1F673E73FB92A528A0BA6557AAEAB58AC529D3568B70625AEEB89E06",
-    "identity_type": "trusted",
-    "iv": "26E8F98BEE4A9526EA91AA37D9290E4A",
-    "key_seed": "C3F16DFE3A2C64284BF2ECC6CE660B8245B60CAF9C6BB378EC85AB0D2FBE70EE",
-    "metadata_key": "653436D31BEBCBB3B1A13D9118541883",
-    "section_mic_hmac_key": "2B3BD1A84191B22159C5FB85BD543C3673357A0F35AE67C6850E59CBE30AA17A",
-    "section_salt": "B52AEE3E5778873503DB2A7374157D49"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "034097967DC080A36D23F899968F81FC",
-    "aes_key": "FC52BBC65CB4A29005CDBC12244BB6EE",
-    "data_elements": [
-      {
-        "contents": "E911676F5B4E9F61",
-        "de_type": 566
-      },
-      {
-        "contents": "",
-        "de_type": 455
-      }
-    ],
-    "encoded_section": "459013C48F03E367BD6F91F0B051FB2D8791F3911000C713EC5C07873E7CD62C20B0DBCC23AD900203A6EDBA4B5584A004D3241D12A40A7D6249D1D9530358F146EC5843C68E",
-    "identity_type": "trusted",
-    "iv": "D2564B7B324F39EC38CA5B83BF40FE80",
-    "key_seed": "B0F6316F4E5AF9E14F4D2E0D83FF526A2FC1C243058E6388BC5DF379438AF84A",
-    "metadata_key": "2E0E3C928A480081465B77B49A94DD56",
-    "section_mic_hmac_key": "556C7EC0D6D6B7039D48F792BA144CBEACFCC0DBADFA48216F164BAEC8D63590",
-    "section_salt": "C713EC5C07873E7CD62C20B0DBCC23AD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0BC6ED4E4FAD31DE8B82828233A12365",
-    "aes_key": "3FEF727B599B4459455003A24642403F",
-    "data_elements": [],
-    "encoded_section": "3790134EF72ABDD3AFCBE1EE92620E4DA93B7291100041A9598B504C6C06A001007085FA9E0190018DDABDE4D015767D58FC48D349221A74",
-    "identity_type": "private",
-    "iv": "ECABC8AC7BA091020DC32E9ABD83EA8D",
-    "key_seed": "EC81188441C84DC2ABDB353BD825AFEE28068F397BD3E69DD9A1F51E5968CE7E",
-    "metadata_key": "D22BD70DD5645FD54109C0EF7BD0230C",
-    "section_mic_hmac_key": "B5B3BD02791CF9B92F1C14CCD4DEBEAC2DA75B7B1E09F9621358BAFDFA90BC66",
-    "section_salt": "41A9598B504C6C06A001007085FA9E01"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BF047090110BE62932CD9AEEA0A52C48",
-    "aes_key": "074D26AD25D20FB1036B4249E2E65B8F",
-    "data_elements": [
-      {
-        "contents": "C6A2397CF77000BBD2EBE6823B067AB8DBCA0B286C5CCFE016F1C4DD",
-        "de_type": 268
-      }
-    ],
-    "encoded_section": "569013EC3001BC38635A32132EA9F28B7384A59110001C583A0044B9A78DB388334F9CC28A6990047EE274D8D6CD6FF1A0C80003FEE139C37C699B106C421F4B6A2CC6519D742A54C5858A398EF3F71D3F41EE45CD0B66",
-    "identity_type": "provisioned",
-    "iv": "5FE0E2D415A4FAA3BCB05F7916A8DE70",
-    "key_seed": "D963624712D4A0EF3595BB91D3AD2544BDB5CEEE55BCD98BDFD6338616138018",
-    "metadata_key": "8DC8B52AFCC6441510745EBD7B64088D",
-    "section_mic_hmac_key": "0086E6595B16AE4D2DF1F4F0392D7454659FE056469DCC4A77F97CF03FA64580",
-    "section_salt": "1C583A0044B9A78DB388334F9CC28A69"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "70F216A7594C3FF0E50939B5F220FE79",
-    "aes_key": "F01E3A52411A7B1FED0BD6E66293A36D",
-    "data_elements": [
-      {
-        "contents": "7405920409",
-        "de_type": 27
-      }
-    ],
-    "encoded_section": "3E9013725A39A695F3E9F46AD197C21A99C2D7911000470C1930342C821B79454E20E5AB565B9001CC0690B842E78B7D6B78BEBD4211D467553DC5EDDBA2AB",
-    "identity_type": "private",
-    "iv": "0FAF61AA59E9CBFEDF4980C75B398AA9",
-    "key_seed": "179D0580612390420788D334FD020577FE02C7BD687DC505D187D79F08043268",
-    "metadata_key": "50780E0D785234C8EBF3AD1DB5C75B78",
-    "section_mic_hmac_key": "4B1B5D53E4470367C14FBFE4F7125B93600BB28C06C92793E1C64EA61627D5C1",
-    "section_salt": "470C1930342C821B79454E20E5AB565B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B3BFD568BC29834E2E7F3464E5C51A4B",
-    "aes_key": "FB487D058A744D7651D78F35E65719B7",
-    "data_elements": [
-      {
-        "contents": "DF9EF9CB0BFB15675BBB5538BEAD105177B941FC3D686B",
-        "de_type": 797
-      },
-      {
-        "contents": "7D24B6A84E",
-        "de_type": 884
-      }
-    ],
-    "encoded_section": "5990139FC1B788D94802986DBAEDA37EDBA2AF9110006BEF387F51D62868738ADD58FDE218249002E262DBF23D1632384B901434E093C6998AB986226C99C8F7F6B3F9380322ECFD251D8B8BCBC6F9D2F197CD856C2BFCA6799B",
-    "identity_type": "trusted",
-    "iv": "D1646EED1BE182D8F658BBA68FF28CD0",
-    "key_seed": "0DD1FE126C5BAFC3E252D7DA0594D99F343A912E0621148915369B386348172F",
-    "metadata_key": "12E52DC79FFF5748E238F667C4CCCFE1",
-    "section_mic_hmac_key": "B5B5BE70DA1B6E67300A257C9568D1D777263CCE944001D4571F86966237C266",
-    "section_salt": "6BEF387F51D62868738ADD58FDE21824"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "043890F126BF8FD56249E2C73E59800E",
-    "aes_key": "F372FC7CB4D3900FBB9C6B41921ECC89",
-    "data_elements": [
-      {
-        "contents": "14BB8E9B7B",
-        "de_type": 389
-      },
-      {
-        "contents": "0988FF91EFBA62AE84619FE5A71978B457EC739AE265D455856CFE",
-        "de_type": 392
-      },
-      {
-        "contents": "EFB5AA412C20472C54F22CA84AFA",
-        "de_type": 369
-      },
-      {
-        "contents": "2A6E32C24C3CD0AB1CABD0010F49A94664BE81399CF39DE9C8D225DFC67E",
-        "de_type": 408
-      }
-    ],
-    "encoded_section": "8F901394A25D3684C8351BA133D7935CF78FCE911000E97B66077075042EEFEDE4ED8B42744F9004BD060A6FE04F67326A3316058E3A354F32195D06920642A21D1F38DB9DAC8BFAEC958C457F0B5DE19626033705374CF5BBF3A4E2AB1C1197A411DAC42B636511827FB43F9BB83D28E1FB5F3F359DEAC8E6D4EEDCFE8496C6A27EC348C2778E1BD004BCFC5A154FAF",
-    "identity_type": "provisioned",
-    "iv": "16339A85CD833FB55944A135968EA806",
-    "key_seed": "E7C4E1D06521AAD6962A498287BAE9EE92361BE1FC7DF062564D0107649F6FFD",
-    "metadata_key": "B23F3EF58B4E7CCBC098C105B9D50E01",
-    "section_mic_hmac_key": "C37C26624B9F567661B253E21D89336D23C21ECC122FB83359DFE86203685E45",
-    "section_salt": "E97B66077075042EEFEDE4ED8B42744F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C063C2D07532B482BFDEBD663EDC8265",
-    "aes_key": "78886059E7F87F6478A15B1CCEB129C3",
-    "data_elements": [],
-    "encoded_section": "3790135199391E9E94DE46457DEFA2423C3BA6911000DD4628D624F0B29D1B9E298F42873FAA9004F3675D66D5129706C9DF1FF21F4ECBC7",
-    "identity_type": "provisioned",
-    "iv": "25A3BF84A38B4DC18D6DC400D33D85C9",
-    "key_seed": "6465DFE7C9EA8D4F1BAC260D41067AFE04D5F1417A8A2BE49FC8498C98675331",
-    "metadata_key": "D786EC2AF4CEAD98F381671FB41224B6",
-    "section_mic_hmac_key": "8131F5C4D353A851B8763D5A92396040F06246EAA72F1F6DE549E2D35A35B57A",
-    "section_salt": "DD4628D624F0B29D1B9E298F42873FAA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C94BA491AB602859E1F82F97DC7E31E0",
-    "aes_key": "F61ABA231C3721C2BD49328F3D090AB3",
-    "data_elements": [
-      {
-        "contents": "6C1BAB85BB39D714EE",
-        "de_type": 738
-      },
-      {
-        "contents": "28CE85B2A00672F37691D02111DFD1BFC21D",
-        "de_type": 105
-      },
-      {
-        "contents": "16A72D416A0D6851BB0CA8CDC2B07848B6A06A",
-        "de_type": 225
-      }
-    ],
-    "encoded_section": "6D9013C6D572F4EC76769832B2F2F3AC584A599110002556D8F2392B4790EA6FA9B70B18D3AC9001E64E58B31B1F9DA5DEED6593631E650F2B9C4FFF9C5105ABA3332D06A64436DD5B2DD2F3ED517E533889DE660536562FC3A0546FCEFBA559E85DEE0684134A3DC15C472539A7",
-    "identity_type": "private",
-    "iv": "EF82962F49EA98E5C08EB77194A2DD03",
-    "key_seed": "ABCB15E7264D97216AC3352B5BE3DB9678F9DFF1C5C9F62F8C911BB7D83DCC04",
-    "metadata_key": "6EC93C5286500B4D7E15754A4125AC6C",
-    "section_mic_hmac_key": "55B357AF96262F52A3F2DADF540144862D66F19D734277102308554E4A803C63",
-    "section_salt": "2556D8F2392B4790EA6FA9B70B18D3AC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "845E8EC3A0A25B2298E6431A91E189BD",
-    "aes_key": "54D20D731E4FF2CA206D66C95313ED43",
-    "data_elements": [
-      {
-        "contents": "C6CC76056F0FAB3CEB159B6C76EA0A",
-        "de_type": 781
-      }
-    ],
-    "encoded_section": "499013628E1C5A4B6BEEF1429B72C20D781CED9110009C067D1D8A1AABCCEACAE28F4441548B9004B8409502A72B1873614B1D9C3EF45B1610D462314B0FC36CDA1CAD8BB9EA670B76F3",
-    "identity_type": "provisioned",
-    "iv": "1AF8A3DB82F8E98F43EFD67273112AD3",
-    "key_seed": "723EB47D34E9D5F54CD657EA4B91BEDEC4508F5423940653B13CA3F9C0E5D0F1",
-    "metadata_key": "399A68C6D9EBD1C7136879DFFB4BB661",
-    "section_mic_hmac_key": "E42B114BDACD69D449050F295B9F8E1989927928C3DEFFC2C4B1B712156EC7CA",
-    "section_salt": "9C067D1D8A1AABCCEACAE28F4441548B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "23240D3B2662A867CAC09B37002EC151",
-    "aes_key": "7A6059F6D0A60CAADE7FADADF8A6DC28",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 946
-      },
-      {
-        "contents": "7C190D653583EE",
-        "de_type": 324
-      }
-    ],
-    "encoded_section": "4490131EEB5DA191A2CFBF9FE477A71C5B16AC91100023AAF945414E18B7B2DFA5CD8F56E1889004C3139ACE2449BBFBF8A129F85AB3959B7BADCD320FD0F0E5D14981B986",
-    "identity_type": "provisioned",
-    "iv": "AA2A519687C28CCF377AFC1E31A5CD8B",
-    "key_seed": "532906986C81E3D60E295AC315B7C414C3CE4CD64654AA7940223E5B0366A38A",
-    "metadata_key": "6B3994E58566DC0822C91AD7A9233DE9",
-    "section_mic_hmac_key": "2621946D28448B0FE1D49F42F14DBB771D036981A8BF60D68183E48F1370CE68",
-    "section_salt": "23AAF945414E18B7B2DFA5CD8F56E188"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1BF5D55B85DFE348E916009BFD94E23E",
-    "aes_key": "BBDCE9CD6AC6B4D05A30F0FFD12FCA85",
-    "data_elements": [],
-    "encoded_section": "379013C80B6B02142DDD201B73820ADF0B2E34911000A321FFAC8CD880B256A741A077BD1C4F9004894461CD30CFCB9D823BA848BB442098",
-    "identity_type": "provisioned",
-    "iv": "1125CA91BCA3D2C39E84F864736D3243",
-    "key_seed": "C06F738CE619A69F7C35F0853EE53BE4567F1AB96CF2DE1D42271BBD4A3FBE25",
-    "metadata_key": "9BBD434403D6B68CA9D0B2ECBE1391D6",
-    "section_mic_hmac_key": "072FCC113795FD057E811E3573E219B3F4F01C886808E060B2D8CBFFD05E2A39",
-    "section_salt": "A321FFAC8CD880B256A741A077BD1C4F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8FFF31D9E05C67B63EFE52C70B562B2D",
-    "aes_key": "69C6A32CEE99AC1D008C633D0322AFA7",
-    "data_elements": [
-      {
-        "contents": "775E02A1DD5313C05333CA56BF884A55C3C4A9",
-        "de_type": 997
-      },
-      {
-        "contents": "EE659244BCC7E04720E5D5C3633793B3A2F1801127960F4E846C800B17",
-        "de_type": 303
-      }
-    ],
-    "encoded_section": "6D9013167EBF9EFA9F7450FC14B8B4755652999110005A21C2E9033C4D92E3D0E343265854A99002617AC1869E187111E631A2E97C28F8179C94488578C3798499A6D1FCE3CF60D4A0265F81DC3CA0F43C49B70E8E00F7AAB6BE5E28175C99E4E868BEA0239098E94DFE43C3D830",
-    "identity_type": "trusted",
-    "iv": "EC1631F0E9992D01661973E10CAA0598",
-    "key_seed": "D304FF6EFEF40CB4745AD0C2112348A40F5BC04D3D91EBC2A55783A2F8869F82",
-    "metadata_key": "9EB2E5F2B16FE3803E28A17ACB2E9A56",
-    "section_mic_hmac_key": "64449AD305C717B9BC1C186F0BA4B8415CB93C34EC52608A7173EB512FD55EF0",
-    "section_salt": "5A21C2E9033C4D92E3D0E343265854A9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B9D3A1A05CBF5F5E1F69C7E362BFF3D3",
-    "aes_key": "7A609D1D39BAE76BA999840CD3FDA233",
-    "data_elements": [
-      {
-        "contents": "64A1E6D6457FADD30243A34640CB96D018D8",
-        "de_type": 759
-      },
-      {
-        "contents": "8E7893F12DDF3CAE263C8231E284580D78",
-        "de_type": 433
-      },
-      {
-        "contents": "8EA89C3191D3",
-        "de_type": 979
-      },
-      {
-        "contents": "726840E37DBCC2F0D910874214C21C",
-        "de_type": 516
-      },
-      {
-        "contents": "72F6BC7F5BB01EDDFC7892",
-        "de_type": 165
-      }
-    ],
-    "encoded_section": "899013B1B9AD2D96FD2C5F6C56A2AB23C6549A911000B4CFAF758BA05C70F0086695B8654E719001E317BFEE6A2A6D5DAE263832DC0A0357E3346EAFA060BEF5A39ABA906872C947DEBCAD36F176043900199327F70F11104B1E80438127A3EFAA37B2FC3B8E800ECA8FEB295316C6D3276F428119CD6BD748E5DAAF5774D51FCA31E5193AE9BC5BE3BC",
-    "identity_type": "private",
-    "iv": "F786B13173BD39A7BD5DEDECB2C6F86B",
-    "key_seed": "FC09B7FB045850F61BAF9F55BF5BD22944884C77EF5ABCDB29C98E9957760AD8",
-    "metadata_key": "F7F75BB418B3BDE041DB96A09A16B777",
-    "section_mic_hmac_key": "F08A8BF5C5B1E23F20301843ADBC149B886BCB75F017886AF29F123D686818AB",
-    "section_salt": "B4CFAF758BA05C70F0086695B8654E71"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "020BC589FF43EBC8F13AE2E43BBD7658",
-    "aes_key": "8F3E597366BF11B9B9AF34C266085D81",
-    "data_elements": [
-      {
-        "contents": "A08381B564B135F3322D33E64262AF5A6FD68A085B6908B5602602084C5E",
-        "de_type": 89
-      },
-      {
-        "contents": "9A76EAC96F1758FED565E92354C68AF267536BE3522D8D932EE5",
-        "de_type": 303
-      },
-      {
-        "contents": "FE73D94D1454A2BDA8F978490437A2BF36C2E72BF6487D5733B2E29F67",
-        "de_type": 907
-      }
-    ],
-    "encoded_section": "949013E74B20DEE21DBA2ED1608245C1510777911000A0EF20B9AB805B7746172E5C1CB9A42D9002C03E4EFEB9EBA55E204FEC5F7DC17B6021EE9C652A15486FD70278DE23455D858971C649F749BD2B072A3B573F12F841087ED3516549ACC27BBA69A8C39C36A33739760829F1815F782C784294E64BBE2A3B42EF1752F177BAEB5871E6F913B958F8E11E23DC292A20BADD025E",
-    "identity_type": "trusted",
-    "iv": "F9282C23FE33849259D66A40165A895F",
-    "key_seed": "88EAA2A88210FCD0A7C7A5B5F55583BEEA33324FCBD8F2530F7E8EF3D499A823",
-    "metadata_key": "81FD9DE2086417EE30A0A49B89CED2A4",
-    "section_mic_hmac_key": "E6954F5FBAFD6C29F2387CFE59C53D49B355501FF14351445F3685BDBB85C64E",
-    "section_salt": "A0EF20B9AB805B7746172E5C1CB9A42D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A022D2A91854E61C50C482B8CE339FEF",
-    "aes_key": "84109A4F76D0C313388D16CBE43CC8DA",
-    "data_elements": [
-      {
-        "contents": "E4E2A0D0943301F980E26F",
-        "de_type": 718
-      },
-      {
-        "contents": "AD9C95407E",
-        "de_type": 733
-      },
-      {
-        "contents": "E8",
-        "de_type": 49
-      }
-    ],
-    "encoded_section": "509013F3745670932BBB42D2C70A6D17C94DFE911000B39AD48FE7075F779F82D4E60C333F029001D708D6C505181C687C84F36F2A3169DFBD020DF19D5BB72AC8741EF60610A7B174A2FEBDDD22C9C7F3",
-    "identity_type": "private",
-    "iv": "D1E556A9A5AA49009D49E19983DBA615",
-    "key_seed": "7727741471C2E6CCEFE4EC70253B8788D228A3FE618117C6E76EF5E3309D2231",
-    "metadata_key": "E1569AA98E6BDB4D6DC9A5BD46195ABA",
-    "section_mic_hmac_key": "D461D7A01671D7F83124856867DC04B96F62EC0E4DFBF70CE9CAB556972531D9",
-    "section_salt": "B39AD48FE7075F779F82D4E60C333F02"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A7C810623229157F1FAB904377B695CF",
-    "aes_key": "5EB951C2968A33F2E7903255731EA4D9",
-    "data_elements": [
-      {
-        "contents": "39973FEFF2D8D62FE6C27BE3AF9B227662461635BB",
-        "de_type": 97
-      }
-    ],
-    "encoded_section": "4E90137D2063093EB07801E876E8716FE29D95911000CCD6600A1D0FAAAE97C25B5140102A33900435DC34F63BE56B05BC152597764EF8048746085FD4D12E96EE6A3BC13BF1A4E3BA669EBC3F8EC6",
-    "identity_type": "provisioned",
-    "iv": "9D738D7B215640FC45EA0AD04FDA685C",
-    "key_seed": "98BF712F93903FFFEC4E0EDC656D07CFC78D0ACDBE0607EF19A2A1ADBF4173A9",
-    "metadata_key": "9D83C372D120920E197FE972404E1C5D",
-    "section_mic_hmac_key": "A65DC4805D1B2611ED71FF80FC7D40384E3ABC352C533422DCD5299228179FB5",
-    "section_salt": "CCD6600A1D0FAAAE97C25B5140102A33"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "70BC4889A9135FEF8558DC85DA869313",
-    "aes_key": "2F78A0C2E0A662A6AFB80C6170329DD5",
-    "data_elements": [
-      {
-        "contents": "4FDBB2F43A4B80C48905A081D73F0AD23407A50A96FB872ECD365C654A",
-        "de_type": 5
-      },
-      {
-        "contents": "238F48BB7F230CA3231C0B8800F7",
-        "de_type": 463
-      },
-      {
-        "contents": "7D77BB7E5EE7DF8D11DEDABAF5",
-        "de_type": 493
-      }
-    ],
-    "encoded_section": "779013CD09FA4E2906A1B0497103C8B958A4B19110003848C27BB68D7751BD109AA798A5A1FF900111FFDEB247F0705D5D6FD0CD158A38EF11B40163ACEC63E1279BABC6736F3F940CACCDB6600BCBD5652625ED21844D854F0BF2467E5EBE5DF2FC8BE2CA6D6A18A5B60337D94F0E57EAF8B2E3EF417901",
-    "identity_type": "private",
-    "iv": "177479EC161C64F5B9015DCB22DEDDD2",
-    "key_seed": "067F5D95027B2A7BFF1C653CAC3040EA4DCA805369AA6EDEA735899CD2BCA30F",
-    "metadata_key": "67E79ACFB7EF2C6FA6357C154450DEC2",
-    "section_mic_hmac_key": "63F5C63B2306E218536A099BA9EBFD0EB16FDE66D04E8B917608F0CB39BFECE6",
-    "section_salt": "3848C27BB68D7751BD109AA798A5A1FF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0B62C9D1874CB2A9361CD266ACFE0943",
-    "aes_key": "3D59EBB776EFA1803E495CAA387DB727",
-    "data_elements": [],
-    "encoded_section": "3790131F6A24505B1F4420A388289F7F2BC22D9110008C40367DF7D629BC40F5D01CC680C53F900181FB9E16124D32FC426C1C4E4B2ECFE5",
-    "identity_type": "private",
-    "iv": "D7A366700B7C0223230E9E9677361443",
-    "key_seed": "3A4856049F6612A949BCC3647B5BAF36F9D71D0FDE813B824D5BCE2182B5FDF6",
-    "metadata_key": "9BAD67AA712DF9C5639C1D2398125C40",
-    "section_mic_hmac_key": "9D2C92937531075FD9D09129497BEF9111C0375C6302A80BBA61F0BA5CFC81D8",
-    "section_salt": "8C40367DF7D629BC40F5D01CC680C53F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7DDCD2740B158A2EDB7842390C73B169",
-    "aes_key": "BE02546B3D28D0CAFFA8600033802837",
-    "data_elements": [
-      {
-        "contents": "D095D2747F4A2EDE1623963AB0B48A2649E60C0255A11200044BBE",
-        "de_type": 885
-      }
-    ],
-    "encoded_section": "559013245407838E530FF4CA8D651DE3F4EBB79110003D4B11380D6AF601B651492FACECEA0B9002434F17846C767176E501E462F1E88F6256AE42BAA69F62FF748B1F10704C5ED834105F6CC1374C2A53C200BF8EA5",
-    "identity_type": "trusted",
-    "iv": "C6247D6BD8C642673B8FA1C533A9263F",
-    "key_seed": "35CBFBDEFA43F8AD872C6EAF8C743076EFA7F938EC2B3D02FD034A6045536605",
-    "metadata_key": "0359B617E2D475D366F7B2046DCB7383",
-    "section_mic_hmac_key": "99DE9888F8AD547E181420DFE74D8412E13836BEA0DED59264102E68033BD0B3",
-    "section_salt": "3D4B11380D6AF601B651492FACECEA0B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E644DE907183C18EB11F7B4A9C5D0725",
-    "aes_key": "4CFECD89D5D364E176F67F127F1FB0D8",
-    "data_elements": [
-      {
-        "contents": "A630BDB220762910",
-        "de_type": 443
-      },
-      {
-        "contents": "E10F32B0",
-        "de_type": 298
-      },
-      {
-        "contents": "6482387D8BBAD195CD",
-        "de_type": 918
-      },
-      {
-        "contents": "1BE384D2FE8053FE99",
-        "de_type": 555
-      }
-    ],
-    "encoded_section": "6190136FB3B3D8620CB4D3928F608BFBCC069D911000D48208F2E81A395B338FAB5BAE6C760A900459356113E165F119D38778927C6790DC5146415F4F254995E2EB98BD322DD85C4AE24D1F0CF4B0C26C46A06E5B72851A6ABD1D3EAA170A13F5A0",
-    "identity_type": "provisioned",
-    "iv": "8F553BBD4CBFF05A75898D3D39462728",
-    "key_seed": "64ECEB1A3107369944DFFD3FFB9BB33D5177269BD7EDC99034888AAB415CF7B3",
-    "metadata_key": "A6327CBE37966B45B0047F3B6D2387EF",
-    "section_mic_hmac_key": "D3BB8A8AA1510F67E77EAFE45F79E4685F26D90E5044AF2EC02FE104CB06C0BF",
-    "section_salt": "D48208F2E81A395B338FAB5BAE6C760A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F3BF8CE4146FEB417CCBEFF0575B6816",
-    "aes_key": "F7298D234884DBB39C5326BE9CE58BC5",
-    "data_elements": [
-      {
-        "contents": "1BEC46DF0FFE5BE99BBED7306A",
-        "de_type": 533
-      },
-      {
-        "contents": "",
-        "de_type": 224
-      },
-      {
-        "contents": "EEEC",
-        "de_type": 899
-      },
-      {
-        "contents": "82BB76BD6A80BF3A737E72086E8E992490971CA48C9A8B7220FF90",
-        "de_type": 458
-      },
-      {
-        "contents": "55E08CD9F499CF88B5778CD24C71C22B8933750C89",
-        "de_type": 940
-      }
-    ],
-    "encoded_section": "85901373651DA9F5520F901CB346E81A93BD0B911000536258509CB9BA353DABBFE54FA4826B9001485BDE12ABF28AEFAC16677B0520D2E545CB2237FF8822E97EDBEEE819385C1B09F12B982B0B2E2C0FB579F5294CAAD96D2DFBAA0DA210D867665F12A1F0576520BE4B11929C4FCA001D5AD95ED181FB8CF17BE130AC553C59F8E688AEF6",
-    "identity_type": "private",
-    "iv": "17FBACA04AE79C76C41CD2B82CD59C11",
-    "key_seed": "A5BCB398B80D10B1FD2423DA6F342D113AEB13C34668E640A968A8733EFC942A",
-    "metadata_key": "70E737B2D129BD7E2DF862F71B2E369E",
-    "section_mic_hmac_key": "6E3223166BF4E3A185BECDDD34CEB6D8C9D3A9E698AC5B8864B83423E825F10A",
-    "section_salt": "536258509CB9BA353DABBFE54FA4826B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "61013AED46837E354AA29735E8CE2453",
-    "aes_key": "DE2D317CB7AA56B32B262326965F8A9D",
-    "data_elements": [
-      {
-        "contents": "E8AB270D18C57B0ADC1CB3DC4C7449DA",
-        "de_type": 335
-      }
-    ],
-    "encoded_section": "4A9013192B45282D4FA290760B781F1613535591100075C506260F5D61EE14504C42FA5FAE13900479BCB215EE244D3C5BEA6A61E13FBFF3B3D49A9573819FD6929BECB1D8BE0DE085D6FF",
-    "identity_type": "provisioned",
-    "iv": "D8B19C28725DB25449B16530FBDECE2A",
-    "key_seed": "A2D7FA151A0EE90ECEBA6D4F4BF7E85A2C1CDCE93D705CF59AC6A10D2C098240",
-    "metadata_key": "8E9063E9449722E3852DE6C07E799974",
-    "section_mic_hmac_key": "1F9DE18CC2C895DB4D880DE858CE05A5708B2FA9B8D3C69D208A966D5B066D4A",
-    "section_salt": "75C506260F5D61EE14504C42FA5FAE13"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "05690CCA9ABE110947D18BB479062B32",
-    "aes_key": "DA0D102B8953A994B76B1719C0041647",
-    "data_elements": [
-      {
-        "contents": "161AE3D8B65862FE5AFC2D03CDD680F5",
-        "de_type": 268
-      }
-    ],
-    "encoded_section": "4A901385B1AC6803247FC7614C67F32266B3D591100079AECBDFB7F3F4301BFC7D23602E11329001FB8EC97CD186A2D2ED230FFE2A5288D7C82FF3C0E7317BE06C93C0453756B23A423135",
-    "identity_type": "private",
-    "iv": "83DDD162BE71C736E65BDE8181DF7A81",
-    "key_seed": "75BCE8199AE92DC7A3DE9EA798E10186ADCE6473ECB78562F185CA6F3E8E98F1",
-    "metadata_key": "A455F115BA43C061EED4320B1C4498FB",
-    "section_mic_hmac_key": "BD92C0272C1D2CB10BB6506C8C721BCB0B54EA71EC83C8213698C7228CE3AD1F",
-    "section_salt": "79AECBDFB7F3F4301BFC7D23602E1132"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E23B4C0D7BFB6FD8E6E0DA3261F9A3D6",
-    "aes_key": "1768A8ACB8EC354B0FCD2ABAAEC64760",
-    "data_elements": [
-      {
-        "contents": "23004D740BE1EE3B4B5A8DA3426480",
-        "de_type": 756
-      },
-      {
-        "contents": "EA0303D125",
-        "de_type": 669
-      },
-      {
-        "contents": "7541304A",
-        "de_type": 83
-      }
-    ],
-    "encoded_section": "579013390C93D780F8096F0D413AF90C632988911000814D8033C76A6E1B6B008F2E3D460D2C9001E94C0EAE1E10ED82B94C0A7ACE66BBE7BDB943A9BA6C1F2EEEB493A823DCDDEAD974FD717F8490E9B48EA52393E343CB",
-    "identity_type": "private",
-    "iv": "B5FB42C3108C8AE313ED69685648CAB8",
-    "key_seed": "29A23FD4ED5E66BCAC1ABFBA0E9FB6FC0059A6354C42936C4599A355AE3AC76D",
-    "metadata_key": "5A814D128ADA2D20663F759F0232DF46",
-    "section_mic_hmac_key": "2C69B4EED4E52D3EFBBAF37E9749E2C1660B73A951A75198191F82AFCEA2191E",
-    "section_salt": "814D8033C76A6E1B6B008F2E3D460D2C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1839D2C3BA13C005F5C45F0BDA96ACB2",
-    "aes_key": "A030D853E042AF8055935DF441217CED",
-    "data_elements": [
-      {
-        "contents": "2376F195FB1505C80FDE28394E2E398E2902A3CC84F9AD09FD221D10F0",
-        "de_type": 53
-      },
-      {
-        "contents": "99",
-        "de_type": 181
-      },
-      {
-        "contents": "4A4C47C2A18D15F2E4D1A89C1D4EF686C9CC40C1BC057C2CD1",
-        "de_type": 45
-      },
-      {
-        "contents": "C7BCADDBC0EAB47E6D22F5A11B59398E7354B1448FE9CCFD229A",
-        "de_type": 814
-      },
-      {
-        "contents": "FB62CE7C1BC06EB95602F99308D0393E10C833",
-        "de_type": 433
-      }
-    ],
-    "encoded_section": "A8901383E429525E34D29E92BD41227C23F2259110008265D5A57D3486212EF93FBE297FA43F90014E2A55BD81FAE9BD3FD32E7D6CA34D0840ABB8E12CF3BBD435270889D2E9B4286DB13CBCD73441D3433DDB05265FB5C691D77CFDC464121E194262F852EBF42CB2150CCAB45F4080AB5CD824BD0AED6EBB82EA5A26B26FD7B03B7F6E2459F48B6FABFFBAD719787564A505FBAAA90C5BFEE1FFCD39EF97847DB321CA2198E722B9",
-    "identity_type": "private",
-    "iv": "AEA7A390C40F8095ACEA1D8ACEDF3D12",
-    "key_seed": "C1C16A9F6FE7E6C00A780ED9A2BC1C487F9268805B474D3A1FFDC74FAC8B4E11",
-    "metadata_key": "6B2A826AF6C92F037F6FD7B91BCE34F4",
-    "section_mic_hmac_key": "39FBA69424E69CC24A79B0F09FA447BD5165511FD98631380A8B261F683A3C6C",
-    "section_salt": "8265D5A57D3486212EF93FBE297FA43F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BAD2528C1B7CB990D7AD3DCDCE3A23DE",
-    "aes_key": "DAEB2E5F4394BE918AF351E93D7A77D1",
-    "data_elements": [
-      {
-        "contents": "1597B826140F36A5953776AFA20014CA8CFBDE245C91A34D92C1",
-        "de_type": 53
-      },
-      {
-        "contents": "06D2005AEE6B77C800743724DF",
-        "de_type": 439
-      }
-    ],
-    "encoded_section": "639013E912574072B31B6DAECF1F281DB12A539110009BCEC0F8CE3CA49BCB70A4A232293DD99001DC051CFFD8482B3B4ADA0075EB65E1E16DF2E1136C057CD58A1045527F080A6F16497C198E95951DF5C4D854E167E80A1E5D0D2E62C1B3996095CB63",
-    "identity_type": "private",
-    "iv": "876E6DB1FAE9D6AC1498605E2D69D5B8",
-    "key_seed": "33A85E4AB836104AA7F44CA998500558FCAFC256B2977A1F1C8511785DA10B08",
-    "metadata_key": "49E5B24F9AB621DA9F7F7F2884A1C25F",
-    "section_mic_hmac_key": "C3F6790A2B82BA0B17EA93FAF612E4CD3D11451A4D28765F843B73D7EF7B4293",
-    "section_salt": "9BCEC0F8CE3CA49BCB70A4A232293DD9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A6447AA427EE701C9AA690F9984AEF6",
-    "aes_key": "8873AABC9EA3D48F6EEA776A7E15A0EB",
-    "data_elements": [
-      {
-        "contents": "D9B0253A3E1BE351",
-        "de_type": 903
-      },
-      {
-        "contents": "BEA6C715E6A06EC584526533",
-        "de_type": 5
-      }
-    ],
-    "encoded_section": "509013165A35A8BC76B529EEDE11257C4C929E91100040F88999F3934B36602BB79919F5EEB59001A6E1A6C4527EA8EE03C10B0E2FA65C0836BA3E179E5A8122A0C01CC4D63FB3BE89FB9E47C75EEDF481",
-    "identity_type": "private",
-    "iv": "0B977324602019C876020687AC0FD0F2",
-    "key_seed": "EBD257397FD934222D84245BC1EA73A7D14BC02B82D2AD05E789FA92FB021796",
-    "metadata_key": "4366982F4848A99069342C098FA0D5E1",
-    "section_mic_hmac_key": "CE5958CD6416383EA202CA5AF15B0E810BFCD99488AB311A17A895A5AD3C105A",
-    "section_salt": "40F88999F3934B36602BB79919F5EEB5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1AA084C1AF2A39928A561D1E9013CDD1",
-    "aes_key": "9278ABB20D9C47298A0BB81C3BAA05C3",
-    "data_elements": [
-      {
-        "contents": "A1042FF05E80458B9F79",
-        "de_type": 926
-      },
-      {
-        "contents": "4EB0D1BB7E711C9DB588F1ED5AFE54AE46A361B0547FA3C0",
-        "de_type": 299
-      },
-      {
-        "contents": "F382",
-        "de_type": 220
-      },
-      {
-        "contents": "DCECB4FA5BC7E7D72AA132127D27D43370480F1AB952E654ECD08ED5B28B",
-        "de_type": 911
-      }
-    ],
-    "encoded_section": "859013225389037B2722F8D27F2226F1449ACB911000AE062EE145A8CF45329EC95736762C939001BF95DC4B5B20BC1696BFF79264BF8CE88760D1BA0834E103C9C3DD35111224F93A46DDA193BCE22C3FFF0DEABD66C91933B5EA8B9D9DA8B8C8430FD8C4C9ADED4FBF843A3206D0CD4C2CF4258CC4C47FBFBB68C7A6D3E463C3D3BC2045F2",
-    "identity_type": "private",
-    "iv": "C789264887CAAAC20C0A84CAE6C16A6D",
-    "key_seed": "9C0E8A9E88EBAABFC8620322B4DC189D17AFB01B7FDE0BEB5027AB67B36D58F8",
-    "metadata_key": "602E08A242159621ECCBCF62A1BB77B2",
-    "section_mic_hmac_key": "B9DA231118DFFE6E168A4561180D096196D7460CE3E39ADF400958A411E91F11",
-    "section_salt": "AE062EE145A8CF45329EC95736762C93"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "618DAAB745E83D398987853966EB8D73",
-    "aes_key": "60BEC13C1D8742EA4711CCE37F8AFA57",
-    "data_elements": [
-      {
-        "contents": "A01201A2AAED58EBB95DA45C",
-        "de_type": 941
-      }
-    ],
-    "encoded_section": "469013F52ED257572229C484BEDA18270EA33A91100030A663A6FFE15F76DD3F29F84018F96A9002DBD150672794658EEE0B4D1324CAD3D9937518A48F7722287A7C4F15B16363",
-    "identity_type": "trusted",
-    "iv": "3D850D530781D998CFF408E7EDC5BA43",
-    "key_seed": "48F03D01564000EFB7BC8EECF1328FC6489327A7C79AE7CD4C190B5C41ABB61F",
-    "metadata_key": "1CED23D2582A5320DDC1C9A75F79535A",
-    "section_mic_hmac_key": "4D96D070171E81DABA26D6F55BC91CB938B694AB4D6AFF7AC324BCE2A36BAD7D",
-    "section_salt": "30A663A6FFE15F76DD3F29F84018F96A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F24BF18270E7EFC7882FD7300BCCC0CE",
-    "aes_key": "6237B593C1E95DA0E71B42F390B79E3A",
-    "data_elements": [
-      {
-        "contents": "5A0FB6BC7788",
-        "de_type": 347
-      }
-    ],
-    "encoded_section": "4090130BCE2E9C111E02B7CB33EAEFA76C1F189110009AE61B57A56E074D46354A6C28A6600B900291D225FD9D6DED94B1AE1A8DE03F95D14DBE075885CC06AD4B",
-    "identity_type": "trusted",
-    "iv": "9EEF6EB4A585A899C07623A06B6EDE18",
-    "key_seed": "053E32D215D9706EB8BA952E5C2D520754349EB64BA594780F1D04883FC20B69",
-    "metadata_key": "2E3EC7648FC3F6C1B64FE4BC64363DF2",
-    "section_mic_hmac_key": "709572F18493C4CFA68B26676369A9A17FF660AADEAF01A6D3C9FEF62BA7B65B",
-    "section_salt": "9AE61B57A56E074D46354A6C28A6600B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "141C71DBCD57779A9010CD756A76E381",
-    "aes_key": "7EC0F06C9555C817D80506D742CAE986",
-    "data_elements": [
-      {
-        "contents": "A3DA78C3A46A6465AAC28A7180F4AF3CED356195F59C354442",
-        "de_type": 848
-      },
-      {
-        "contents": "6FB0",
-        "de_type": 612
-      },
-      {
-        "contents": "5E86B240E0DA2EDD9FF1EEE13D08BF747F",
-        "de_type": 593
-      },
-      {
-        "contents": "3D5E1FFA8D17363A09EA3419E74ACAF8E530BEBFD2E5383435BA96E5E93D",
-        "de_type": 602
-      },
-      {
-        "contents": "629C",
-        "de_type": 535
-      }
-    ],
-    "encoded_section": "929013AED254BBC1126C996810D72CF962DE3F911000CC9DD44EEF9A16CCA9A5A353EB3F6C099004F512A3DF26EB3A448559BC668546BBC5E39939B408595D81DB2C9BCB22BF44105D4FC74069E211F76B1B5947632BAC38E032303C1E0BC15115DE5BFE6C5C64BBF75D7527DF0C1FDC42186D3B4E8A0B11F444E74E8455A8F32A792603FF5D06BDFBF4095FC8C3F19F2DC148",
-    "identity_type": "provisioned",
-    "iv": "1F3348A80250E67C0439DB33713640D3",
-    "key_seed": "B8F2BB87A76D6B19C9666E5AF7DD06F0965DAC56CD5E18D500660D621B6806C0",
-    "metadata_key": "791697B259A389A16454F472C26B07B9",
-    "section_mic_hmac_key": "5F025042B03F8AF6FEFB3F0ED5D572D80D15189DC8ECCD27CF4EEF05F4A57F00",
-    "section_salt": "CC9DD44EEF9A16CCA9A5A353EB3F6C09"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0DC36EABCD58AD31FD3414A5A79D856D",
-    "aes_key": "B7FCF0EFA53B3230297545213C0524B5",
-    "data_elements": [
-      {
-        "contents": "64BE90FC09B580EE",
-        "de_type": 299
-      },
-      {
-        "contents": "D9CE2C829CD03EA10E4EBE3ED32CF9F03848E2ECE7CAC2B5F062FAE306",
-        "de_type": 637
-      }
-    ],
-    "encoded_section": "629013586179ED9F640B114F3A74EAAFDA169E9110004F5F28DE93C71BD513CEAF1317690AC59002FD14A70AF3805F6DDA65F7309408708224077D83A630F4A6A28ED8F14F1E32072981D91CCC3AF19A091791B44927EA10A30EE18F261D3A902A5608",
-    "identity_type": "trusted",
-    "iv": "B841EB2BAAE284E872A3A2423601F00F",
-    "key_seed": "131324FEF7EAB54FCBA0F40F92167DD7334863AB7DFFA93D1B2E05FDBF7F30B2",
-    "metadata_key": "C39F84EF9D0EB94DDC0F35B032CFE945",
-    "section_mic_hmac_key": "3FBB040970723C36D6DAEBCC475E95F100D5CA410C938B7C7552FAC69DDB7E13",
-    "section_salt": "4F5F28DE93C71BD513CEAF1317690AC5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2F7A899B44F390B8C32AC3FFBA8536CA",
-    "aes_key": "C757CD4202E253D64F6ADD70D6802F76",
-    "data_elements": [
-      {
-        "contents": "E13B9414F8E4DC48F9E41F1ECEDE",
-        "de_type": 873
-      }
-    ],
-    "encoded_section": "489013F3E95BAC1CAFF7A986116C838955CA039110001F2D1152B9AC95ECDAD02511DC5ECC8790046AAC45B087398FC2276B1D1015032072B5AA69854873AF49A2F9D24711D6759A4F",
-    "identity_type": "provisioned",
-    "iv": "C697367BA74524CAB1168BFBF2922854",
-    "key_seed": "2730B32C6DCBEE3DAA66CBDAE3BF9E42890B4E0B46C57D0700D58081814CA0D5",
-    "metadata_key": "24AE50DE045D1238B2E0AF3EDE2E5C9F",
-    "section_mic_hmac_key": "052A829770EC3DE369B2A4504D75DAAF28577A7F4638B0356EC924B23C91C5E7",
-    "section_salt": "1F2D1152B9AC95ECDAD02511DC5ECC87"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A229253DEE5642D1A341465C48F81501",
-    "aes_key": "954B9BC25FA0947752A02707A1D72848",
-    "data_elements": [
-      {
-        "contents": "8F35A5BBDC9C1C",
-        "de_type": 193
-      },
-      {
-        "contents": "8894D592508CD3611F906F8AC44F706B1517F0B5980E268B99A0",
-        "de_type": 124
-      },
-      {
-        "contents": "",
-        "de_type": 795
-      },
-      {
-        "contents": "55DA51",
-        "de_type": 902
-      }
-    ],
-    "encoded_section": "669013C3BC7FE06F86785FEC6BB8D3EC2DF618911000DB52438878F9EADE488682807B3F9A009004BD9E07EDF91224F3EB734D17F3999A99C8262B2C91BBA94505C3DD67852AA19C7A748D56165A5399846D368009F6BA3131ED227A75A7D0BEDEC8FCB729FF26",
-    "identity_type": "provisioned",
-    "iv": "1C797DF15F0945FD31FB2CDE94CE2F44",
-    "key_seed": "B965BEC0EFAB1BF93ACBEC55D5FEDD7A9E4E35D68ED782E805445792B8FC8630",
-    "metadata_key": "0A51D7C3CBB8920ECE2C18C16103FF5A",
-    "section_mic_hmac_key": "1B403F3B1542CCC670E677988496CAC0EC233748D4D488BE8C64D6DAD9E97DA5",
-    "section_salt": "DB52438878F9EADE488682807B3F9A00"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0214D0382281CA031DCC305A1170C4A4",
-    "aes_key": "3AAF3FAF8B3ADE10CBECDAD2C0F9D9DD",
-    "data_elements": [],
-    "encoded_section": "3790137A79252A76378480754C9935BEEAC40E911000E697F979481D94C83D143D416EF15B0B90023C2D0EA174FE7B0F748EB3A897F86CBA",
-    "identity_type": "trusted",
-    "iv": "08AB0C2EF3B3DCEEFE63E345EDE819B8",
-    "key_seed": "236811C3C81857B831C028B6828F2E28AB948405B391377895BCC1011A82D87B",
-    "metadata_key": "8F3FB1BBD7CC2596188C022C816BEEEF",
-    "section_mic_hmac_key": "AAB0A17B5A667805AC94E43D775FFEBCF4832CF67F7839D8B60FC6C739C2A9AE",
-    "section_salt": "E697F979481D94C83D143D416EF15B0B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F6579933CDF9D9BDA0ACE32E7EF5718D",
-    "aes_key": "C939D6AA33F9BB4FE73AFABA9DB89CC7",
-    "data_elements": [
-      {
-        "contents": "51C2163162B4A1ED861DE57103CFB2C8CB4DEC24B75710563AF3C0",
-        "de_type": 969
-      },
-      {
-        "contents": "BC465AB618F9A89C2D6DCCE131DC68B3CFD45ABFE9B3A898F5B21EC3",
-        "de_type": 386
-      },
-      {
-        "contents": "99",
-        "de_type": 51
-      }
-    ],
-    "encoded_section": "77901388ED01CF901FB3C6740072CAE51AF8BE9110003A898F8BE6FC92035BAEC946D5CA2141900175BE48A38808002A983A169C804D96B80CDDE4849FA6CFF66B6955B8F60194B29566F29DC113B5A7DAC4EDEB369BE2B93C9CC3D605AE3FFE7CA863B9F9089B4477A1E591DAEC0F1FBBB2ABB65445E71B",
-    "identity_type": "private",
-    "iv": "D07741F4556EDB80F156377E05D86AC7",
-    "key_seed": "6EF6407596F397D8752C31399ECFD94165EEFAB886385098A7D2E62A0D322D65",
-    "metadata_key": "7005FC4F95DD57D7CBBA8286480EC221",
-    "section_mic_hmac_key": "D68F4EEA77F4A3A812BED734FBC151E6B564984E5BA51BE94F018B0F0E0A40A4",
-    "section_salt": "3A898F8BE6FC92035BAEC946D5CA2141"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "93A2A5408CB92C828DC2706D184B93B5",
-    "aes_key": "483CE8FA0C97190150C89044D0A3B562",
-    "data_elements": [
-      {
-        "contents": "B74426C4B81CD14DDC66B5D81F5048F35645CC49D784BF1901DB",
-        "de_type": 540
-      },
-      {
-        "contents": "ECFD9C9D59E8B557A961482F3CD9CAE1EC82445E",
-        "de_type": 684
-      },
-      {
-        "contents": "16CE37BBB3AB",
-        "de_type": 907
-      }
-    ],
-    "encoded_section": "749013EB2EC9939D0B5AD346C488C81AB2B7A59110003FB7A780A3D390141179A24BA5E348749004D79AE3EAA467DCDB6924035AA6B730BA38A3BA0DBAB8FADCAEBC40EE87FB03DAAE8D04D7F09A98C5DD245BF1993145D63CE6F39A2F2A954850DB8CA9B9927F3B8B7A0FB3D7F2FDF967C4A77C1E",
-    "identity_type": "provisioned",
-    "iv": "1B2672F3752153E4719D4D50F75B32EF",
-    "key_seed": "809959218AEE024135CF2F9D03A1BCAE95334C91241679F27D0E4BD6AE2D7A9A",
-    "metadata_key": "AB90DAB8B389AAB3B96925579A583559",
-    "section_mic_hmac_key": "F324525CD2C3407588B22B71BF7B879ECAF343FFA9860876D584BFF14594E621",
-    "section_salt": "3FB7A780A3D390141179A24BA5E34874"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4CF830D5D5BD08C26F4BE1EA5B97A4C0",
-    "aes_key": "F66E71F797BEEBFB0150F2C7F4C4ACD7",
-    "data_elements": [
-      {
-        "contents": "F16C3CEE603F93",
-        "de_type": 538
-      },
-      {
-        "contents": "F65E08453918E6910CAFBF87155D9B7D8E020B816BE6F064A76C2FFA3BEA",
-        "de_type": 728
-      }
-    ],
-    "encoded_section": "6290139D6BDADE8B80272A9C4DFA705CC8CD38911000FE1EC77402715D1928D59BC1A69DA35D9001E45533C131CE90457E1433650E9993DF71D74E3B90D98B1B2B7AFBECB6EBFB479C58E7AEC3EE3F689AFAA7515CDA6C06546883365168066BAD9371",
-    "identity_type": "private",
-    "iv": "7C7BE58937B2383F8EA9C91B1D8ACD8E",
-    "key_seed": "1E368F539AADA86EB50185328B05D9D859ACCB951D70AE6BCEFCDED587598484",
-    "metadata_key": "9BF76E47E18DEC4135F95D65CCC5AD5D",
-    "section_mic_hmac_key": "1A7880A4B012784166BB7BE7AD91425AEB6E10DA105FDE534824B10FB1F01B3F",
-    "section_salt": "FE1EC77402715D1928D59BC1A69DA35D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "42BCF8C051CF5BC8D61B1C61865A3D0E",
-    "aes_key": "7A7B9705EA9E3E6BD24E89A8B5EC5629",
-    "data_elements": [],
-    "encoded_section": "3790131EEB4FFCF3E322EC21209253D804E5F2911000EA5BCAD5F2FF77DB2C44939BEB5D1DF590045CC1115031BBEF4F64F4D7200CD7EFED",
-    "identity_type": "provisioned",
-    "iv": "48345860EA2F626260C6BB20B166B245",
-    "key_seed": "C61CA661BE7F95C09DEDD5E5B3AD5EEB7C83D5023B95CE53F5AC471FD7A88817",
-    "metadata_key": "2D8F7FD76DBFD36FC69923CB084C2ACC",
-    "section_mic_hmac_key": "DAD99FBEBCD2787C70637F3163FE6D98B3F12DBC5D3D68ABCFD48D7AC7FDF563",
-    "section_salt": "EA5BCAD5F2FF77DB2C44939BEB5D1DF5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A8C7424675FA2E7091A36C6E61AFDA42",
-    "aes_key": "6B31245D4D06FA075F0FE3B368DE594F",
-    "data_elements": [
-      {
-        "contents": "7527234E872383C3816F",
-        "de_type": 48
-      },
-      {
-        "contents": "31CDE714BFDB05AEACB81C2ACE",
-        "de_type": 272
-      },
-      {
-        "contents": "AD37A2754F3B9B",
-        "de_type": 772
-      },
-      {
-        "contents": "1DDCF4",
-        "de_type": 461
-      }
-    ],
-    "encoded_section": "6390136E1F6E5E79E07AAABFC71A1ADDC6855E911000B729ACD6ACEE902D62B36C16CA11B8F69001B5E54164389AD739445D291F8BB668F7D5F486336BE306D2E7537088CB34FF31793C482E1AA770D33E0EBCA3FA909F635EE801E8804D85EAB562B0A4",
-    "identity_type": "private",
-    "iv": "667E4FF1F49AB32EC02271C50F00BBCB",
-    "key_seed": "11E0919824E99AFA212ED1EE264C0CEE2079394A139A2A4E4E0480390224AA2C",
-    "metadata_key": "AE5E4C5CBF11AB13A15F2ABB45C3AA28",
-    "section_mic_hmac_key": "900B1BA0E694FDBC069672601E3FB6A7E1ABF57DCA900F43D366A2D433BE694B",
-    "section_salt": "B729ACD6ACEE902D62B36C16CA11B8F6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9561280F565350C87CFC48E0E922D70A",
-    "aes_key": "0FBDD950CB6A77E49DE3DA873E05BB4D",
-    "data_elements": [
-      {
-        "contents": "57EB419A6FDA6E141E64C96DA56184",
-        "de_type": 157
-      },
-      {
-        "contents": "B7F29895592845FD1F68F04F50E21FFAC6E0745B495D4D33",
-        "de_type": 725
-      },
-      {
-        "contents": "96CFCA71DD4AE920DB33",
-        "de_type": 63
-      },
-      {
-        "contents": "9A186713837F3023FDA2ADFCA7ADBA5F",
-        "de_type": 802
-      },
-      {
-        "contents": "8295CE8455A32E12E72A1A3EE445F3A7ABB33F552E28E8AF3B49",
-        "de_type": 650
-      }
-    ],
-    "encoded_section": "A0901301554DEAA33ECF529285855175B4075F911000F1B7A762DD991286560F50C190AEE84C900410A344196A44F2872D97E4A52C86D4705A0154AA77B0B6A8CBC8BE5707D232C64F3A58123494FD117DCA5F66289BAA6C1342A3C0139362180E4BC01D739BD9AA658244621615B70C03A47B547C3AD84D84AFFA59633EDC39CF23B84A40AEFAAA1F4EF584BC9F8C62E177641EAF8D2D3B5B72E70F5610EDDD66",
-    "identity_type": "provisioned",
-    "iv": "233ABC3B5240F3277A8A3D9B77736EB8",
-    "key_seed": "B3903A0B6F65A51C04C61F33DEAF2E4E2F8D9593C0418A08B5DEAE1B4B5083CD",
-    "metadata_key": "C20215BF9D23940621D1243DAF4EC38F",
-    "section_mic_hmac_key": "2189BED3EEB1C7F254F0148D32B6977850DC2393C6D569DC58F32AF838DA075B",
-    "section_salt": "F1B7A762DD991286560F50C190AEE84C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EBC1A6EFA2ED8CDA77BAF544E4D904A4",
-    "aes_key": "65E3A98AF7B85AC0781A211CC6FC72E5",
-    "data_elements": [
-      {
-        "contents": "3945EAF5EF2E084E1F",
-        "de_type": 46
-      },
-      {
-        "contents": "12E6F96050FACED899537AE8A6",
-        "de_type": 997
-      }
-    ],
-    "encoded_section": "529013BAD0AC44AFA4063EB49BA6CF34A8C03F911000774CFDF9430D5C16D57FEDCC76C727E29004BCB33E582FD7A3C616E6701A38DF24A61E13FC2680162A038B6419348DC7639F9DDA362DDF9A6545387A1A",
-    "identity_type": "provisioned",
-    "iv": "AAE212B6EAA3AA96187816E6FA3B50B2",
-    "key_seed": "310998B2C7F6D69281748342083D74ED44885D73C8873E97C0A00C866332A49D",
-    "metadata_key": "8897F642A09797D2D710391CE3F9A679",
-    "section_mic_hmac_key": "74D664F756163C18681A9CBE553DEF5E0B17C040E3E3B265CBD3DBB3A931FA18",
-    "section_salt": "774CFDF9430D5C16D57FEDCC76C727E2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "540624C3D336F7667597EEA1FD0CC48B",
-    "aes_key": "CA3CC08E1C4FB3974D9DE0A9FAD09077",
-    "data_elements": [
-      {
-        "contents": "5467F818B3EEB029B82D47A14A4E6451DD58EAA0030EF12E14",
-        "de_type": 565
-      }
-    ],
-    "encoded_section": "53901331A52875544D7A7D299A2D6BD3EB0D86911000EDC8ABEC4C7FE7D3A91094D9727CA4D690019C8DA9BEA8B990C4BC1F6F464675F74AD38BFB28C419904C514A9A1E22BFA28285D757D66DF54C47B115E01F",
-    "identity_type": "private",
-    "iv": "60998CDF9DD4FC9271DDC24FD00BF4E5",
-    "key_seed": "563B6F117F7191C693688B2C98794AA4B1219C581D2932A7636338E4CA8D995B",
-    "metadata_key": "E6ACE435015C0967BEEBC7525C84A68B",
-    "section_mic_hmac_key": "568C17091F1FA841D94361047719BAF85ADDF57B13C190BF3D2801A5B229CB5A",
-    "section_salt": "EDC8ABEC4C7FE7D3A91094D9727CA4D6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1BC71DB7C830793A62D4A1D64A194DC3",
-    "aes_key": "F00505EF81341DD41628D319A51CB9AE",
-    "data_elements": [
-      {
-        "contents": "72FC3313D216E421D5283686FA",
-        "de_type": 166
-      },
-      {
-        "contents": "835C0734",
-        "de_type": 332
-      },
-      {
-        "contents": "",
-        "de_type": 236
-      },
-      {
-        "contents": "6076F43AF0A453CB8D740CF39EC6",
-        "de_type": 789
-      },
-      {
-        "contents": "195A1FBE7A2D24A4C51D6796BCFEF82C298B3EE3F8B6B96FA53CF83D",
-        "de_type": 102
-      }
-    ],
-    "encoded_section": "809013BBFC5FEA8BAD0095718AD322503E917E91100061E7C6ED035A4567FFE6C83A52560A759001DA6B1C2FE7F73DAC214C4074DAD30A2099CFC96A89754C6643189C43AD82BC5999F79228BE9B2812A94F38A569194DB4AD2F0867CFE968BA6B993F8AC07E026C21B57D8AA2B4CC0CE6CF0C940191842F5D4F7E1FE9EC9194B3",
-    "identity_type": "private",
-    "iv": "C49795F17B8BA9676DBB69DEE5608FA6",
-    "key_seed": "9E55B64D97D55AD785A2D5CFF54FC31D8C2A10423F03AA4F41CA007BF5774179",
-    "metadata_key": "96332ABC07154AAD77CB7C037C364D8F",
-    "section_mic_hmac_key": "32C65336074D2DA5CB55280E59DBE181987F1631936DFE783CAB584B52276517",
-    "section_salt": "61E7C6ED035A4567FFE6C83A52560A75"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "173A13ABE2FF18D2F7109239F401FB21",
-    "aes_key": "333CD8634CB7451F95519C052CBDF152",
-    "data_elements": [],
-    "encoded_section": "379013096CBC2B8A796E245980C1862ACC387091100082E5BA46988B576F8618B5B352BB5AC990028EC4EB4825905EECE11DD62509238E2C",
-    "identity_type": "trusted",
-    "iv": "54E19448030FCEFB036FA3A918EECD42",
-    "key_seed": "F677983EE2A9987F61F7DA6B886866362469221DC726518FDDA105CEC41563BA",
-    "metadata_key": "D468CD1134E0BE76ABC05A5526F18EE5",
-    "section_mic_hmac_key": "42A1576B2B917F654B6230579B98D0BA1B999EBAE10F99EA920878A3C15DD211",
-    "section_salt": "82E5BA46988B576F8618B5B352BB5AC9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0600099A02ECCCDA983A853EA87B40CE",
-    "aes_key": "F8361A483C7259A77A4B9F7BCC18CF4E",
-    "data_elements": [
-      {
-        "contents": "0B1D4CD6D6D51CAC90BC02A63137AA3DC785E9ACDC08297B54AB0456",
-        "de_type": 152
-      },
-      {
-        "contents": "EA8FCBA28B2CA1FFAC4B2C880398B79C7D6CD79AD24EAB3A9F0C01",
-        "de_type": 789
-      },
-      {
-        "contents": "2B18E586B9BF45BACE62A8B8EDA7",
-        "de_type": 913
-      }
-    ],
-    "encoded_section": "85901302F968F6E1833E28F19F63391E02600E91100006F9E19728E0AAF75BE4634A1F8D7C679001DD5679B2068AF5DC2837E39A3B7140DED6261AAA8A19A8FD604F9B3C50805488C86DF7FA5C7A42443B73C78696A212057B7A6B2E3CFE277B29A3A5A5CC6C441F78C4E2644F4DBB5A6214820B3D184477CDB3F54442D0045C5C81953FB6C3",
-    "identity_type": "private",
-    "iv": "4ED9F6DDCCA5759F3290615269114852",
-    "key_seed": "A82F0B67DA493625BE38FAD39EA6116A78505439EB85294438EC967E0BB92974",
-    "metadata_key": "7EBAC6AB7C2E3EFE20C185415935BA36",
-    "section_mic_hmac_key": "93689F1002288DC64C2CA81A3ABCE1CF4CBA0AA1F2F1DABC39277D57E9C9199C",
-    "section_salt": "06F9E19728E0AAF75BE4634A1F8D7C67"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FEE965C5BD73B49EFD8B3D0AD98D823A",
-    "aes_key": "F3085A213CC43098896781968F34CF93",
-    "data_elements": [
-      {
-        "contents": "C9E41D4978E8",
-        "de_type": 328
-      },
-      {
-        "contents": "7A984B285B2F5D5DFC1CBA0B0C23CBF62C",
-        "de_type": 950
-      },
-      {
-        "contents": "D5BD48E7EA000500FB4D",
-        "de_type": 325
-      }
-    ],
-    "encoded_section": "619013B68441665A2CD396B8174905412BAF759110006EB5F5B21043BE04D6972AFBB86D172490014D74B48E16FD27458628305F62BB5EEDBFF77533E1C8263FAD5376C7D167245435D48B7D1EBB91E89A39D7D5061EAA1150E40B73D7542B2C5109",
-    "identity_type": "private",
-    "iv": "B4A43F5693F7467CB19116D40367BD3C",
-    "key_seed": "12FEE160551F2297D799E1571A8046AE738C4916ADF58AB6E8BC5283B9DF5A9A",
-    "metadata_key": "C42AE1BD877C17986AA1A9F062866318",
-    "section_mic_hmac_key": "208087A638859B6A21F491E525C97D8AF2C1C19945DC8C84227DD2330F89812F",
-    "section_salt": "6EB5F5B21043BE04D6972AFBB86D1724"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E6AF288C6E7479E495EB7FD64E6A311C",
-    "aes_key": "3BBB312D4C50E6220418CA88645FD3C3",
-    "data_elements": [],
-    "encoded_section": "3790135ADB592FC4E3261881C033CA13B722039110005CFCC4E76959DE69A46A26110CE5F5DF9004717A64A5F01E52B35C3229F3EAF20B46",
-    "identity_type": "provisioned",
-    "iv": "D93C814B4EB98D9D9A65D00AC707FEEB",
-    "key_seed": "67C74FD2F407B1F2168B9AF4072CAE89C5CE31E5CABE1AF1C318652C16234309",
-    "metadata_key": "C4AFF7489F452F80EFF17D0C1ECB7591",
-    "section_mic_hmac_key": "8F5EDB51B470611B53995F6D852A38302EA98584053DF49D5283CD62FA873885",
-    "section_salt": "5CFCC4E76959DE69A46A26110CE5F5DF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49BFBD2B9DA62843694633F892D4AF90",
-    "aes_key": "DF226FD90BD7B42958EAE9B73D9F3107",
-    "data_elements": [
-      {
-        "contents": "F0A7E8D6B009594814B97DFB5C3052AC0255ADE9B6AEED6BFB25A670A4F1",
-        "de_type": 525
-      },
-      {
-        "contents": "984EA937",
-        "de_type": 72
-      },
-      {
-        "contents": "537A4993C8A09B85C312",
-        "de_type": 6
-      },
-      {
-        "contents": "F2B65846498D58ED36F7",
-        "de_type": 56
-      }
-    ],
-    "encoded_section": "76901353D6074DF5E26C64A67DCEA4B54F4FE591100089522D3D4E82B879A6E227EABB6F5BF490021152819FE7C31E3AD6BFF55EA31B88B904DAC0687D0ACB304C7120D4ECE40AA347B7CC2FAEA00536233297D2976D13BDB1349CE159477020DC0541FC247FAB7E675E6746872058906C27EE206830B1",
-    "identity_type": "trusted",
-    "iv": "363DE09F4423704E05DA5D1A603F88EF",
-    "key_seed": "F7E644C0B35E3639F0759DD3459A4E81A7B5B1467D9E27782C9D58473F7D2303",
-    "metadata_key": "20B6032091C7B497C9C715B44A680055",
-    "section_mic_hmac_key": "AC7F9AEAC350B2BC7835A6953CBF050FAD9B1C761CFF5BDB1E766AF51DC97E6C",
-    "section_salt": "89522D3D4E82B879A6E227EABB6F5BF4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9AC61514FCC5ABD76F8B6A60FFF0CB23",
-    "aes_key": "65A5B1C977CE2B71E137FBB66464E4C6",
-    "data_elements": [
-      {
-        "contents": "AC018897D3B2098C96B4B2D04B18356AFDBE76873E902686",
-        "de_type": 433
-      },
-      {
-        "contents": "E6268BD9E23FBD9F54E89A33A9B953387C0875D16FAE",
-        "de_type": 859
-      },
-      {
-        "contents": "CAA87F4364C08B57BBD4",
-        "de_type": 524
-      },
-      {
-        "contents": "14300A4595500DEB37",
-        "de_type": 734
-      },
-      {
-        "contents": "54C2A5437292",
-        "de_type": 606
-      }
-    ],
-    "encoded_section": "8D9013578908536364B9F6141A96126731958C9110008FB91F1844A5A3601A18CA350436446F9002F172ECEAAFD2E24578444D8CA68C014E1BF6722524A2750B1A9E5F4CA3340EB3D4647E45E35F69C330C0918FE002C922F30018934D9CA78F81A41FE035CADF61D135281371ED2B022E532D29D9853BAAF17D7A66AE0EB5DFFF9E66799D98C36DA0EC17BF7971",
-    "identity_type": "trusted",
-    "iv": "E4F6D7F01E683F03820110FE9B9070C2",
-    "key_seed": "471763E7BB628F2107F6AF8F71DD0429FF9012C7BE7EC58C72F5C6CDE1C3C880",
-    "metadata_key": "949F830445560E2C7E0E156F2044EAAC",
-    "section_mic_hmac_key": "03D47D91A1AF8EC0141E699BAD459E2EE7F86F9B91A5386DB8D0D2218BA13E8B",
-    "section_salt": "8FB91F1844A5A3601A18CA350436446F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B796C0B874B37A965A635AACB0305B1F",
-    "aes_key": "E000F49E7E5F8307D27A471E27875CE8",
-    "data_elements": [
-      {
-        "contents": "211B11FE2C7B3F8A8907468866B92695234B9C06C56ACA1E7EF5118061",
-        "de_type": 336
-      },
-      {
-        "contents": "2CE435BB39131E9603EA734E8FEE299F26BF598EA5C2F0FFA518DB2C92E0",
-        "de_type": 228
-      },
-      {
-        "contents": "DAE3FC39546D53AD1A3A",
-        "de_type": 470
-      },
-      {
-        "contents": "9A2A563675DD8BFA71C9BE13C479DB4DE2544FB97004",
-        "de_type": 266
-      }
-    ],
-    "encoded_section": "9E9013F0451460F5EC18035FDFCC9B233FDCA29110003DD4F4235AB965B797DEE44EF0A0360B9001BEC49A84632B991E0A5501A56ED3D9709C189FAEEF2445DC131AEC2343D7071A578293B76D3F849B80C372268123838CA9FC2B0E14A41992CF2AC92DAD1299FA67225BE71F479FFA312946AE18774AF353C3C14C346A04F24747E6582F7C528AA1E49E9E03370D053B2D95178AD336A42367AB578EA993",
-    "identity_type": "private",
-    "iv": "0778412CA588FD3D607A36B1BBA305FA",
-    "key_seed": "63212ABDE0EA4E8542FD2403A0091CF53460C2CBD7BBFE6A434D24D6B871BEEE",
-    "metadata_key": "F61E19A50DE9B1E486865A0498D4ED59",
-    "section_mic_hmac_key": "5E754AED53501C62B51B214B3E21E8C1A39D0B8F1EF47FADCEE9C7391A437F36",
-    "section_salt": "3DD4F4235AB965B797DEE44EF0A0360B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "08F6F482433E821BF057DA969070B210",
-    "aes_key": "E17992E3DDE2E17996BF2D26B284BF2B",
-    "data_elements": [
-      {
-        "contents": "E01D05404D",
-        "de_type": 656
-      },
-      {
-        "contents": "DBB677B7AD69380E50712C",
-        "de_type": 651
-      },
-      {
-        "contents": "2983A0843D5DAB0CC087BD5572E983CE13C3F059",
-        "de_type": 515
-      },
-      {
-        "contents": "DB40E040A436133BE734C5855B",
-        "de_type": 515
-      }
-    ],
-    "encoded_section": "7490131512D60F63CD579B350AE46C619240C59110006CB2D3074DA5611D18E7200EA58D4D2A90010804A23809C9E79F68830337C1561EF95B58C35AF60D256BF58BC367C7C3CC923AE044959E8766170ECF6E24971DB1FFEAC71D76C7592C53B40B5D594BEEB51423C72512C50124951928ED0B15",
-    "identity_type": "private",
-    "iv": "E51C069184919CB5C41DF3A1973A12EF",
-    "key_seed": "3AFF0BDBA428B3E7A75CACF64B960384ED52F6055B53DDC869411C00CE3DFB33",
-    "metadata_key": "C7FF94EFD6BA7F4D49753C9C51F24C32",
-    "section_mic_hmac_key": "23FFEB85772F286F363ED40589D9069BB0CFBAD80C0F4709F2D7EA4D53AFD56C",
-    "section_salt": "6CB2D3074DA5611D18E7200EA58D4D2A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E01A36923644F0AD58157CDDEE3D6E57",
-    "aes_key": "28A7CB11218C9DD608B4C8A3BAE62AA5",
-    "data_elements": [
-      {
-        "contents": "4713D017ECA392781333",
-        "de_type": 890
-      },
-      {
-        "contents": "FAE2DEA46755BE0C6E0BC28C8587",
-        "de_type": 406
-      },
-      {
-        "contents": "CCDFAEAF820F69BE029967700E8D4EFA20",
-        "de_type": 192
-      }
-    ],
-    "encoded_section": "699013B733E709907E9B73EEECE403065285699110005A8F6B53799B2B96F01116C7EA43B24D9004C0CCEF4A0B0ECBE91A422DD0ED9680D23781E95311D3C78E5C154F71BC726E679AC9BB60314D4DE9B19994A6831286FA0A22B438098A7D10FDC1060F7354D0B4D6F3",
-    "identity_type": "provisioned",
-    "iv": "304D96C4F8C3E724140E327EB02BE4FA",
-    "key_seed": "4D76E8957C3244719D51B9433DF83AAB034452817E76DE43F5428B948592F061",
-    "metadata_key": "E158F1E40D3224565939655BC879DB05",
-    "section_mic_hmac_key": "1CBFDF042B635283167190A9E19DBA9D5EB04492AFDC9D4AECF9FD3DEA2FE78C",
-    "section_salt": "5A8F6B53799B2B96F01116C7EA43B24D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "093EA5DB990DD969FA4C4EAC9FD04300",
-    "aes_key": "C42479C9A8EF89FE3A3A83C323E39075",
-    "data_elements": [
-      {
-        "contents": "C5CEE03E05232CEB2706FCC52D8582E15D6E0309E39BEB1049",
-        "de_type": 376
-      }
-    ],
-    "encoded_section": "539013CAA95A7BBAE1DACC4C1493F1631714F39110007D6EAD457D2F7C96C246A361CE6D51F890029BFF6C5561F0D23FA684E8B3C5B67190B0E869847A48A703596DEE74C063E03C3796B437DF451F2E580E070D",
-    "identity_type": "trusted",
-    "iv": "3C508F99B78AB555A8FCCB86D451C384",
-    "key_seed": "9CC130089BC7A521C459F6951588707D1C39464D4FC5F83DE02A388DD9B9CFF6",
-    "metadata_key": "8E22B372F7843A39842E9C99A095222B",
-    "section_mic_hmac_key": "BB1185F021C79BA0B12496AB407BAC3B925D6C0D3E0FFB3D2489F110436C3725",
-    "section_salt": "7D6EAD457D2F7C96C246A361CE6D51F8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0D3999FA6D616562631A00DFA536DA4B",
-    "aes_key": "106EDF096A5A90718645B2350FB47A8B",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 913
-      },
-      {
-        "contents": "0439E4BC4E416859331F994B7A7967E242692162F0A90DC74A",
-        "de_type": 572
-      },
-      {
-        "contents": "3E46E2",
-        "de_type": 133
-      },
-      {
-        "contents": "C4D2B7F9B3404DAFC46AC58BC4F69525FC63290AB1C752B04B19349E",
-        "de_type": 248
-      },
-      {
-        "contents": "70D3E5634D",
-        "de_type": 544
-      }
-    ],
-    "encoded_section": "8390132CCE2783ADBF25B7605743CC2B5D735491100048186B398DF4CAD231B9A47C00BD02E29004AB47CF0C18763A5271A3CB987B200905499C2BB25ED2F511D33457321E221A4996DE183BD314F1EFAE36BC4AFAC00E3FE61E822D6A0C90E4964E39F50E0584ACD334757BCB7B150E9569E2F9B9E66ED9F09E1DACDC4B9300D8FD0D7B",
-    "identity_type": "provisioned",
-    "iv": "727C01C9645EE10F343B1F653FA8A03C",
-    "key_seed": "4CDA79980B1DF514C24C2A80C54C97B1DD2ACE9146FFE02B8D02317D7DC7FD33",
-    "metadata_key": "A4BBF9DDA5775F84FFC6E7A700B85F40",
-    "section_mic_hmac_key": "09863C0F71491893C00F06B6A38F5605951379845B88997B4C2FD7AE03BEEE05",
-    "section_salt": "48186B398DF4CAD231B9A47C00BD02E2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5F0DB8BAB212C01A15D1276C8111EB75",
-    "aes_key": "FD0804A8059A889D6462E272E40736DD",
-    "data_elements": [
-      {
-        "contents": "3AE626A64BCE",
-        "de_type": 913
-      },
-      {
-        "contents": "081BA24B63DB458284FBD02292F412DF67C22EA5",
-        "de_type": 664
-      },
-      {
-        "contents": "4EDD5AE85FBAD3B50947",
-        "de_type": 414
-      },
-      {
-        "contents": "FE5636FE49CC9B62F3F6F7F3D234D1C2814CD2",
-        "de_type": 252
-      }
-    ],
-    "encoded_section": "7A9013E2817D9D32C943EA7A07C69CB39C1F13911000CBCD80EA37EF7103BD971F1769362A6D9004B5D90F3F4B85363C35BFB1C5F2D33A6C32211C91023263539D31E4101561FA16843E7099B3ACE21CC285A818E5B121A53B8DC0C12AE39B07A1312A3E8DAB1854D32A11BF3AD661BD02FB69107D00509D5ABE30",
-    "identity_type": "provisioned",
-    "iv": "C85ED610C5284B60E85EE2EB65D824CA",
-    "key_seed": "50CC7E8BB70A560801376BE9507637A2E0DABB2C27C57ABBD4C6655996B310FC",
-    "metadata_key": "8AFB53C6D5AB8A8E040D6C43925ED79C",
-    "section_mic_hmac_key": "5EDBF3A1B90AC15F795203F2B7A62B8202C365C8DDD12125CA04492C666D5029",
-    "section_salt": "CBCD80EA37EF7103BD971F1769362A6D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4ABE96318E942D913EFEF38CE35EACA8",
-    "aes_key": "00CF98EE0A1B419B7F940F74FF10EE6E",
-    "data_elements": [],
-    "encoded_section": "379013F61D7E6303A40196D23DFCD2FD4AF8B19110003BD8AA188D8F355F6611B84C94D418BA9004FFB8BBB535C1A7E1DBF8A12938BCE857",
-    "identity_type": "provisioned",
-    "iv": "7251E4AE74A6EB8322818F09A004A0BF",
-    "key_seed": "0D13BBE27EBFE4514ACD491F0E66FC7BB7A115D79B73296EA83036EA681EE1C3",
-    "metadata_key": "238B7E260087E6974BF1001BD92CE7FE",
-    "section_mic_hmac_key": "4D70D13E0DB450B18F9B90584E9089EF8D8B0B21C1F28017AC0D542EE0201DEE",
-    "section_salt": "3BD8AA188D8F355F6611B84C94D418BA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "72037D0250C97CC1C26E0E715934B7F4",
-    "aes_key": "C96ADC6223409E5BDEB7AF3262EFB102",
-    "data_elements": [],
-    "encoded_section": "3790132EF73EEECCE1F32344D242781918B3D6911000D508D8EE1CB7B5B4457C34EAA1408D619002BA08D2ED7C5853A1C7D3661639BFFF3C",
-    "identity_type": "trusted",
-    "iv": "372B94248EC23F30A455DF27F397EE0B",
-    "key_seed": "C1DE01E9F5C668EED6E11935D5306F7610CD174CB883353086456D5D9689C611",
-    "metadata_key": "FCC9F9A491F6763794895FC2E8F5DA13",
-    "section_mic_hmac_key": "C62A4103BDAB300378CC50CE8F28DAE28D78D3C1F07219B2E1DE73FDCF606332",
-    "section_salt": "D508D8EE1CB7B5B4457C34EAA1408D61"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4F0B46BD474614611D7A9D1BA9DE0C03",
-    "aes_key": "C5DDEC1F35F8B6974302D062297B6792",
-    "data_elements": [
-      {
-        "contents": "E772DE467CD7896B78A062401310DF60A12164085D31EA7B",
-        "de_type": 783
-      }
-    ],
-    "encoded_section": "529013276DFA6BA513BEBCAB169691B61FD79191100093F60AA548031530136472E90FA8B2989001B948AFF95F6998BA8C8D95BC5B75710DE26D6A391A649AE60DBF82DA9AF2F8B01CDEF8018F226FE575B342",
-    "identity_type": "private",
-    "iv": "68F95B82D9FD1727831B1A18ECBC0F07",
-    "key_seed": "16120AD8398950406E4A12D5133D3C8F71D961E051B0970CAA8F8FAEEC187F83",
-    "metadata_key": "035A86F026FE0A595C1955FB1ACE685B",
-    "section_mic_hmac_key": "842116F8CB1EE997C7FECC683959AB4CD8EE3EC9C61152DE56F2BD2446A8F5E4",
-    "section_salt": "93F60AA548031530136472E90FA8B298"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CD771B262EC5CA3A5C0D0FB4B4D0A9F1",
-    "aes_key": "073C363B4DFA35C507EBBE01F75D4ACD",
-    "data_elements": [
-      {
-        "contents": "A510D052E5CDFE9B7F96A7076213D0D996D24E4D99",
-        "de_type": 220
-      },
-      {
-        "contents": "B0C476C075412AB26C51E6C0B8A01DB179F42A",
-        "de_type": 651
-      },
-      {
-        "contents": "A382A1DC37",
-        "de_type": 961
-      },
-      {
-        "contents": "BBA6CD7F93C8F950C7E3",
-        "de_type": 630
-      },
-      {
-        "contents": "EA45D2338F1A82639512EFD7A3DAF1716FD9279B32EED2",
-        "de_type": 448
-      }
-    ],
-    "encoded_section": "9490137FDA79A6A4413EF091B89DF894715D0F911000207A4ACED9DD7DF5469BA445D82C4A509004574B862AF8A5F1ABE9B7160D138C98870F4424CA9370D51712D0396D87644A2EDA5077AD5174F0FA4FA9F10B9B9E303D5CCEF3A36BA46D97F655644F44B747ADC2EC2164AB66CCE1502BDFA2FF38CF44D9B059DA0CC220246444E388020982B1267420374E3CF50BCF15FEA821",
-    "identity_type": "provisioned",
-    "iv": "8CE19168A15D76869969155EC24DB3F2",
-    "key_seed": "2B685F1252FBFB847B415DA3AC973CCB495EE32463325C507A28319AF15FEFDE",
-    "metadata_key": "7D65245E7BE0CB380D42E4D080C4B30E",
-    "section_mic_hmac_key": "3B54D8A9281273639E19E939070E13E81625D2C1FD16186BA429D58CA37205F7",
-    "section_salt": "207A4ACED9DD7DF5469BA445D82C4A50"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "55893FCB8F8DF622FD6A289A05C4148C",
-    "aes_key": "BF693BE1C25DBBEE6008755AE5E49920",
-    "data_elements": [
-      {
-        "contents": "33FD1BA6021EBCA4E5C7495D8E91578CC469D1E17551FF",
-        "de_type": 155
-      },
-      {
-        "contents": "0C14A55F473712E28050FD40E3CEE43A070CE813FA4C8F5C6C77CBF0",
-        "de_type": 997
-      }
-    ],
-    "encoded_section": "7090132ED1930BFB257B03FA14ADAE1B5C1D729110008C160E1D28A6D285D1DF356D50D4F79F9004769BA4CAE9955FDCF71B8BF9846D197E1959FFD62CAC6EC095FB709B140711B403EABDAFA3310E083886EBFA539F176EC7629D0A1B1EBC066CE5BE3244EB27542291E3E807F607F93B",
-    "identity_type": "provisioned",
-    "iv": "925B767E05ACDB3C182AF1B7052AD119",
-    "key_seed": "6043699A67E42BBFE23654CCA2ABCA973462107F14A3D255C6CE66FDED3BA8E6",
-    "metadata_key": "B182B23DF37C3FAB1127F1EC02EFC99F",
-    "section_mic_hmac_key": "47632D7EC5E8F44736F91AA12B9C6B57D099B9F23CBC3EF022C49F17DCD31BB0",
-    "section_salt": "8C160E1D28A6D285D1DF356D50D4F79F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B9A1E1F915254078F13383BEDA83CE1B",
-    "aes_key": "B2A38645ED7EB5C3CE73102FF9D2CF97",
-    "data_elements": [
-      {
-        "contents": "87818B3613A5D1AC040D",
-        "de_type": 304
-      },
-      {
-        "contents": "0CBF84397369C1",
-        "de_type": 98
-      },
-      {
-        "contents": "FE3972",
-        "de_type": 286
-      },
-      {
-        "contents": "4B",
-        "de_type": 269
-      }
-    ],
-    "encoded_section": "57901317514DDE22C7FA254E649536313E839B911000511A20E6594D496C588FEBBB9AAD242190017E66D43A84690796346F8436D0D8E8DE6F146D44C4AA622E9D739903FE39010B1BB3D07923199CFE45AF3E75ABD549B6",
-    "identity_type": "private",
-    "iv": "8FC1F2CC1AA763E1A5AE5B1A46BE72D2",
-    "key_seed": "8952E7BC0784A56739DFDFED452B9AEA99AF09D12A28E38DC923AB85A02F7AB6",
-    "metadata_key": "D9AF7A2E6CD1AA70B9689C5FBCD4D7B1",
-    "section_mic_hmac_key": "8A6D496379762DAFBF4409AA7526B7970A137210934D1F1419AF9B05283535E8",
-    "section_salt": "511A20E6594D496C588FEBBB9AAD2421"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "64B1CC633B622BA54618467268F0BCF5",
-    "aes_key": "57BC65DF5020C32CFF6B29055E11CC62",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 492
-      },
-      {
-        "contents": "370234107E41CF0DB00FC2DB6F95D5FE6F2669B8",
-        "de_type": 979
-      },
-      {
-        "contents": "0E7AA3067932410963858A7A0C03095826A2C1CFF616DD0A30",
-        "de_type": 484
-      },
-      {
-        "contents": "EDE7BB01C66E6AC77A372C5E0E99402D55BD",
-        "de_type": 909
-      }
-    ],
-    "encoded_section": "8290130FAB943DD3C3FFEBDF9EDBB19642A59E9110002FEE3F3C4DD0B38D2E90140654CF7555900497853980DAD64238E6974BB2DAE98D4DCFBCA0E2AFC6AD543A33EF8EE42F6DE0506A9B186A1FE02C409568362512C59DC04280B396E9FF8D4C4C2A3897412B290DB2076E1AA52580A11CB7463BE3FF3F0419A9D8E36079EE2CC38A",
-    "identity_type": "provisioned",
-    "iv": "8F5ABC9AA8000BE5F0185BBD0CB40B2E",
-    "key_seed": "FADBB185CBB88DE7D922282131A346D72869243A50911622E2EF1D5BD9F1015B",
-    "metadata_key": "5A7E3BABCFE50EF8B3CCBE8BB9741768",
-    "section_mic_hmac_key": "1D5E78BBAC91A6AA8738425112A23966439DCAE1D69161476501A605F4AFBC94",
-    "section_salt": "2FEE3F3C4DD0B38D2E90140654CF7555"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E5E46A2DA8C6DC22A69B3779CB44B1B6",
-    "aes_key": "D93ECA4F58BE626EE2B2584024D567ED",
-    "data_elements": [
-      {
-        "contents": "57186FD96B3B2A1B5099984E316AF34AD8F827A941AB",
-        "de_type": 289
-      },
-      {
-        "contents": "4F8EE606B8EE6567D40A3591485AB09B",
-        "de_type": 761
-      }
-    ],
-    "encoded_section": "639013F8605F4B7039EC7A0A92AE8839FEB15C91100073134AE922D5968E2AF8A54EEEE2E96E90019135A873371D039ED8BCF8D0E559F20B5A023516DB58A0FDA54F3B0AF0C3CB066277978EFBD3053F406ED380348DA8E0F365349D03349178A4CA5902",
-    "identity_type": "private",
-    "iv": "3ED5CCF399311A8CE0A94E9498F32454",
-    "key_seed": "C141FD581082AE08005BE0FE63B430D320CB1E6816E508CCE92D9E4487D97A88",
-    "metadata_key": "11EA53BA87F3632C176F7B6B7AFA42FC",
-    "section_mic_hmac_key": "3B60B3FCD92A91A83030C1F33B54242AD1A55699E6721016C8B3E9B95CBA7158",
-    "section_salt": "73134AE922D5968E2AF8A54EEEE2E96E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1AC4700BBC34FFCF56FE27722FDDAF8C",
-    "aes_key": "06FEC5659E272340991B55911FC8CEB8",
-    "data_elements": [
-      {
-        "contents": "8013EED9499B4FB30FE42FA2D25F73C62E30E0C13E4C1756629C87",
-        "de_type": 276
-      },
-      {
-        "contents": "D5F7EA0C7C5C2D3EFEAD2DA54C8854019E8508188CBAC37A1255",
-        "de_type": 254
-      },
-      {
-        "contents": "319793E7DCFBE4",
-        "de_type": 95
-      }
-    ],
-    "encoded_section": "7B90139E98AEFF088AAF2045661ED346D04613911000822C36C3F54743E8CCBB518C3E8A392D9002AEA2EEE26E1B161066AD737160B1815C36AF220A2BA8D8286A710BBAA1851A390F83083CDD47F4485A0D27D1ECCE811C16B614DE6AAE0854FC3C3F1DF2C1918D810CA3C926BED1062B00942B19759C4825C14085",
-    "identity_type": "trusted",
-    "iv": "B0238742AD552F78DC3F34B588EB1DAB",
-    "key_seed": "EE1B60A84CAAAC77DD6FD1B0A5770D58F2D65EF0D7284B0077E6AE18EEDDC910",
-    "metadata_key": "384A5B50211EF272A2A5C2DD917D9E4A",
-    "section_mic_hmac_key": "EB2659D6BC3B0E72645864BE08C039AD8E9BA70B6D26C5C49939BE6D4D007D86",
-    "section_salt": "822C36C3F54743E8CCBB518C3E8A392D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "688AB25983A9C40466E16ADC513ABAE3",
-    "aes_key": "709696F50854B468C9BBE0D3DDA9E26E",
-    "data_elements": [],
-    "encoded_section": "3790130D25512946BAE13F6E96DC89DFF0BB789110000322EC17288B60620CD9539AA9CD6B99900209B744C0B195BEDFB06D3DED5103CF0D",
-    "identity_type": "trusted",
-    "iv": "5C3D8F194A93E04EB34E7E59B3767F2E",
-    "key_seed": "8033F31A3FB892D45877E3398B8DD3444CB2E251EBC6B0D50C9C218384BCB792",
-    "metadata_key": "E0DB32B9221DD82283C29EEC5F782E0F",
-    "section_mic_hmac_key": "DC156CF79131E25E00AAAEA3BCFCB044C4E1066F84D7E07CCCA5E846E2E44156",
-    "section_salt": "0322EC17288B60620CD9539AA9CD6B99"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ECCEBEA1B1C11B3D5888C3E163EABDE1",
-    "aes_key": "1CCECFEEDCA3385145ED977B3AE8AEA7",
-    "data_elements": [],
-    "encoded_section": "379013FFB104D3791419F3C3E265B1C0A0FC56911000804E5C3901A32B9C8EEF076790D48E329004BA0FE90EBFB6C81ECA3D0551E6CE469B",
-    "identity_type": "provisioned",
-    "iv": "95D7DAB8C760196851972252AAC93D75",
-    "key_seed": "FA8D1357B505B8CD83B94B9D11A1D1EC33A1964F2D95D4F6BEF9D958921D58F7",
-    "metadata_key": "4018D81F725B848799F4B2682A494819",
-    "section_mic_hmac_key": "AFB505B132A0B25DEE858DA00379D267045E19BA3739311A01569BFB24662A1A",
-    "section_salt": "804E5C3901A32B9C8EEF076790D48E32"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "61CDB5B59D3DAF922471F816010577B5",
-    "aes_key": "05F8C6D879D6F0CD30C79C10892E5509",
-    "data_elements": [
-      {
-        "contents": "0B36121960993A4FF30D3F84CD32B8CABF",
-        "de_type": 765
-      },
-      {
-        "contents": "4FC94B",
-        "de_type": 122
-      },
-      {
-        "contents": "0345E7",
-        "de_type": 331
-      },
-      {
-        "contents": "BD882C86",
-        "de_type": 64
-      }
-    ],
-    "encoded_section": "5C901310D1179AE506FFBD55FB2F356E2F8B7B9110001437F875D102645621739E078680E1B390020CA5C46CEA1767F34848E4E702E94FC9607CAFF41AEE7253BA7976724E461327BF2CC028BA1709C0DF368CD08D8DA6B4BB9F48D0AC",
-    "identity_type": "trusted",
-    "iv": "97681895B3DBB45117F05275011522EA",
-    "key_seed": "8AC64ED6DE2150104B510FE6DD2A49C744CBC4733D5DEA36BEE78170375701FA",
-    "metadata_key": "D7A9DFF5ECB1F4F785F929BBB097CE42",
-    "section_mic_hmac_key": "D05EF6C19FBEC3DAC6AA35992FDDAF2D69DBF56CD43D6E406597F01CFA212C23",
-    "section_salt": "1437F875D102645621739E078680E1B3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6B659D0B21836653EFDDD806AF70C39B",
-    "aes_key": "1399E5BD319D9D09DE5CDEB4C62E52C7",
-    "data_elements": [],
-    "encoded_section": "3790133A73A266945AB5E75E37AA0E4712B7F0911000AE4C670CDA23AF45ED828FAE7E41843F900281FE9EEE78132A0A54E5434BDBAE9062",
-    "identity_type": "trusted",
-    "iv": "F46E135C5AAE51FD7DAF53E6CCCB1113",
-    "key_seed": "36CCC67956A6F1364CAA0B7DDE0CE6CFCB53118C140A74A05A76B2A4C13369DD",
-    "metadata_key": "1A4D878971F8F57335B5A002C861F202",
-    "section_mic_hmac_key": "A0DD0937541A8ED002593C07BDA8351A9450073F748DB427FD57517FF1AFDA05",
-    "section_salt": "AE4C670CDA23AF45ED828FAE7E41843F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FADB2D052C1C1C27CB44E1A944104714",
-    "aes_key": "6B0C0385579C8A4EA0D91C928907B6F2",
-    "data_elements": [
-      {
-        "contents": "2F556D2609FB6A2053A998A91A",
-        "de_type": 577
-      }
-    ],
-    "encoded_section": "479013AC0A1D0434D93670BA9C9E2CA4B5091D9110001CAF1A47003F980443B9E56B4980731D9004AB942B3607465541F191028EDEEC77069FF9D15D5F2DCE9FB8CB930F2BE41723",
-    "identity_type": "provisioned",
-    "iv": "70ADD8C102E04C438C17F623252033F5",
-    "key_seed": "5CA287810D59C030C8CC8E9AE4FA3B446FC363D0E09E229194FAD91781A7F196",
-    "metadata_key": "9716BAD8F56242A3925CED10C4583901",
-    "section_mic_hmac_key": "F82A3B7F6B516694C1AC37DE73BFA8E170C6C23B759C1BEA0616710350AE641D",
-    "section_salt": "1CAF1A47003F980443B9E56B4980731D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6DB6728F2572B9138DF53B200CD8E30B",
-    "aes_key": "9986ED53BA3786C54562944C5633D59A",
-    "data_elements": [
-      {
-        "contents": "A094756B831AC0F2309FE373E4952C5899ED54DFEFB5",
-        "de_type": 295
-      },
-      {
-        "contents": "A3AFF2F5E05A0DB339CD73AD20AF8E3F34E0D4E9D5",
-        "de_type": 457
-      }
-    ],
-    "encoded_section": "68901398BF6715F57B6BE9A1449634DDFBD298911000D70B75C90790F143E006F97C963933769004FBC0E23ECF8951689315A48912CF86B7D85E7919A42C8AF123F862374840F2A94A89054731060F3336C723FFE54CE1366BED63741EFF3209FB1C8CC66A5F45EAAE",
-    "identity_type": "provisioned",
-    "iv": "6F05B19E3297E8DE48A6B8ED9597469E",
-    "key_seed": "21D64EA0D529E3C695348D2130CE0D970FF226D913AD85D544BD8BEA7BF7C3A0",
-    "metadata_key": "24F2B33454E620FEA4DC86EE10C90693",
-    "section_mic_hmac_key": "1EA011BF9B8063BDE3E95256E1A30994F9959AD3A80815E54801FE1A278AF1DD",
-    "section_salt": "D70B75C90790F143E006F97C96393376"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E7ACA2839BC4C6A7ECA4351B5B4F4D83",
-    "aes_key": "6E674BDEE405F4DE0EF583E2F7649A37",
-    "data_elements": [
-      {
-        "contents": "08AC57735F3F1316",
-        "de_type": 580
-      },
-      {
-        "contents": "185169B0BD105E2CE86FA692CA800858C23770F6A16CD57851FC361DFA",
-        "de_type": 351
-      },
-      {
-        "contents": "20E1D14615FDCFB630EB3293D3",
-        "de_type": 692
-      },
-      {
-        "contents": "09290387F31B81C684B8D92C5B",
-        "de_type": 209
-      }
-    ],
-    "encoded_section": "82901317F1B6491210D57AC3ABF4A33C2E4E43911000327D3D22CEE3A22CA4EEE65584907D619001BE43CD470A29DB32BFFACF5DBE8F63E501FA2FB82107C7D69B26348FF76A96644DB1E9A41592348404289395A150FDE6E76E7EF186E35EAF0E4572E07F1A4A093EDC149AB0C7022CBFCD84625A56EEFE9F3091E5263B23D051A28E",
-    "identity_type": "private",
-    "iv": "F2E05B8E1B5D670B361A240EA8CE4C17",
-    "key_seed": "5BCD7AF92667A3FE3B5C1F6F60372ECB5D1DF8E564E880FE523E3EA878C34ECB",
-    "metadata_key": "DF80721C303A49EFF2EA2AAC271F7CDE",
-    "section_mic_hmac_key": "2AEFC8097B0182AECE54F5CCA2FA741652BCDA820D0465CE573017E950CBD89F",
-    "section_salt": "327D3D22CEE3A22CA4EEE65584907D61"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "99A12E831E51DDCEF24924B1975C0589",
-    "aes_key": "594BCE537928BBC2259C658BA8294F79",
-    "data_elements": [
-      {
-        "contents": "6D1735B3D6221CEF5727CCD86EB799FE9EF05A",
-        "de_type": 6
-      },
-      {
-        "contents": "",
-        "de_type": 289
-      },
-      {
-        "contents": "10B7B4667BA4EF81315DB3D16127A4F0D9A63457",
-        "de_type": 99
-      }
-    ],
-    "encoded_section": "659013FEDFB8B589D781F1EBA87BAF95B8FCB79110004EABCD4E5E6C9A575FC314EA1F9165AE9004C06AEB6AC5B16BD435D7E69748BA6977DBAAB9A6E1A7B0CDBF4975CF2DC4A48C154726F5214A4D3A78D750BD49C97C0493042074ADE2BE34E86EBE25C1ED",
-    "identity_type": "provisioned",
-    "iv": "C9339EF9AE4B3F518B1BD4313FA73C79",
-    "key_seed": "2456DB0645CFFB37C50F85C1A0E4B3B3D62592B305DA2409D29222993FBD8DD6",
-    "metadata_key": "6C65E9861EA62C009260583C667568F7",
-    "section_mic_hmac_key": "52400F51B5CF34C2FBD9281AFDB2964EE49ABFFF2AAC1AD9FFBF931DA7B2D362",
-    "section_salt": "4EABCD4E5E6C9A575FC314EA1F9165AE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "878AACD95530B43C7913E501C8C4ACEE",
-    "aes_key": "341A08C911C28E10C9938C1CB0DF998F",
-    "data_elements": [
-      {
-        "contents": "79AD383E5AC871E91A471ACC",
-        "de_type": 343
-      },
-      {
-        "contents": "C77A72121DB14B812CF89D5D",
-        "de_type": 218
-      }
-    ],
-    "encoded_section": "559013C3FA6A34319D21F0113A710161E774CB911000132290FAEFE4EB99C181B96B5076979990010E92F2BF8F3565A81C24082EB66420FD2D32F18669221F3EE9C5B23722845ECE0C11FC261180613DCE38D704EB91",
-    "identity_type": "private",
-    "iv": "92AEEEF801E75B6C451EBA001AFEF5FF",
-    "key_seed": "DB24DC46E2C2864BA42A405F8C19F782A9B4A8AFC8F69F7F7025A1CBE2BB968E",
-    "metadata_key": "18BF8290AB02AAD2100F28455E585FB3",
-    "section_mic_hmac_key": "7707AF050E3902074823EBF13FD3D36B64E2435BF116C00ACE0BB85A7CE59AE9",
-    "section_salt": "132290FAEFE4EB99C181B96B50769799"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DF0A3C777D4847C4EE6956A868840BC4",
-    "aes_key": "B09A907BD200E651C42C517BB92A38F2",
-    "data_elements": [
-      {
-        "contents": "7C30A6D0913132E43E6303A90005DB",
-        "de_type": 346
-      }
-    ],
-    "encoded_section": "4990136D86B8E26F22B175A2AEBDF6A520BF00911000C3CFBE28CE663F1BAACBAE369DCA6F7D9004B31F7A82993A384A7246B91E008B10DF5AE74B2E10809F089F3B0894C5B958D6ECA6",
-    "identity_type": "provisioned",
-    "iv": "00140D6DC0C9AE914E6EE880792BE76F",
-    "key_seed": "28C7233E1CABC3F5473F5B0F839133288FD4ACFB12C57CAFA92A6E56E9019822",
-    "metadata_key": "4A3A0B294F19898858F13AAFEFDDEE15",
-    "section_mic_hmac_key": "565E24A4C9C335FF6A36E420C84A2F4EA1E85610D246DAC5D0A0F2C8D40DCF98",
-    "section_salt": "C3CFBE28CE663F1BAACBAE369DCA6F7D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "48FB067349EA60A5548283F90D3FC74E",
-    "aes_key": "2D0054A2730B07075A868BA34305C0CA",
-    "data_elements": [
-      {
-        "contents": "4FB6BDA26FA11EB8EDFE6C6A",
-        "de_type": 155
-      },
-      {
-        "contents": "7870B1EE4FBD",
-        "de_type": 79
-      },
-      {
-        "contents": "F398B6D9B6328776C81B4FBD",
-        "de_type": 914
-      }
-    ],
-    "encoded_section": "5D90136AF14091CA00746306320474998A13DA9110003A9ABD9A4070DDAB398E95FB7F0E109A9004A8C4C17761B322D5EA37EF8E74F5497FD847156677DA00782677C144630049AFCB9CCBCC4C080548925A4926EBC9D13AD07F5E49962C",
-    "identity_type": "provisioned",
-    "iv": "8FF9284343646DA8172A83EFCCD1C15F",
-    "key_seed": "970E15EBA91441149A67E61DCE78BE67F995B606D2E76B02E9158E47E5142D72",
-    "metadata_key": "63862AAA507FF1AC7AB3E2F1B7597AFD",
-    "section_mic_hmac_key": "6BFEF95375643FFF9AAAA64B2FFB240E69A282B489FA6F23A0EAF8EE6C85747B",
-    "section_salt": "3A9ABD9A4070DDAB398E95FB7F0E109A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "833CB4935E9649B7AED0AF5AD62D9B6A",
-    "aes_key": "34867395BC36729AFA0E9651E17C16A9",
-    "data_elements": [],
-    "encoded_section": "3790131F3EAC01B28C1C974B040BCFEF38D838911000FE231478D02A9EC3AEAFB5EEAFD225459004252827D70ADAAC287267DD67A23ED9A6",
-    "identity_type": "provisioned",
-    "iv": "35902BD9F63C59083E5F15E541D6C89B",
-    "key_seed": "DE13251FC20C24143C5D1A3C1616030CBA3517EE9CB63416E169F86E5623C028",
-    "metadata_key": "A160EC6E23F3FA1C5155A3A8E982C28E",
-    "section_mic_hmac_key": "DA0632A39F94B40803FE3F706E0B7B5DBAED011230ACE7C4A00B90117B90F2F6",
-    "section_salt": "FE231478D02A9EC3AEAFB5EEAFD22545"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "271CBA3E2DE6311E84785053F08F6A34",
-    "aes_key": "48CFF76E51AC2C0956D41E9AD2D6B013",
-    "data_elements": [
-      {
-        "contents": "193684EB59862957D04183996B",
-        "de_type": 157
-      },
-      {
-        "contents": "3AB0E211CEE972C99EFE4022E1074C41663269",
-        "de_type": 56
-      },
-      {
-        "contents": "",
-        "de_type": 411
-      }
-    ],
-    "encoded_section": "5F9013B3D962B848554F750E23CE1DC503E29491100091AE51980C7684B16CA8C6D9F720C04790012581715CE9199E34170E21325A55D058820D62926B2671BA7CC37F6F90CD346310ED13CDA9003482DCC640C6516B93809FA6FE07218C6328",
-    "identity_type": "private",
-    "iv": "680126038E0D0C959C6F92CADF2B4DB7",
-    "key_seed": "70B633AFC7B05E5B54E499BD8F4556AAF5DECCD7A86DE04C45B4C3001EB24F80",
-    "metadata_key": "F8DF70B871DE7BB917ECFB0704A62685",
-    "section_mic_hmac_key": "D183ACB6D00F733F06179CAEFBECE5F4E0E5D690BBEF15A69904C143E4AB610B",
-    "section_salt": "91AE51980C7684B16CA8C6D9F720C047"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "52748CCA266DA944279BC16D0482E73C",
-    "aes_key": "44FF93170DA4A5EF9E35B21C2AC6E228",
-    "data_elements": [
-      {
-        "contents": "C3C03A02A3035C52D2BD8DB044",
-        "de_type": 952
-      },
-      {
-        "contents": "A8B3082EAD2495",
-        "de_type": 459
-      },
-      {
-        "contents": "D8F8770CD2FD961BE8F25B9B289B624E0D5EB550C558947A",
-        "de_type": 200
-      },
-      {
-        "contents": "BEE10F2031F41820F1B544709A29ED49E54809B3",
-        "de_type": 831
-      }
-    ],
-    "encoded_section": "839013100E58C7B0532D0ADFB41365B1A17827911000C755590B2F4894B1A5E48B0EBBF85A609004F74B503EF23735022525F4B920D6062FD791FB022FD24E687230D9864BEA2BB77119A3E96A5300B6A0703DC38A9F994E33ECDA1AFBDD0661930046C2F71D4CDECB25AE9D0FDBDA76D940119A557F4D1F552749690B30FDEB83F47108",
-    "identity_type": "provisioned",
-    "iv": "B386766CF3AECCE511F55D365BA53040",
-    "key_seed": "A4C01D2CEC164CD21C90FE0F05A6416F08A336DFFA5915EBBE3399F375E4E726",
-    "metadata_key": "A94A8413AF4BBB6A7F208BA3728CF664",
-    "section_mic_hmac_key": "A8AA56603BAF8162878DAF90AAAE3F2284AF34411328502FBF9BD05942239EBE",
-    "section_salt": "C755590B2F4894B1A5E48B0EBBF85A60"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5E4896E304E68E96A3B6EDD820E5F206",
-    "aes_key": "0573815A1D7E41DD84EFFE7BBB0A414B",
-    "data_elements": [
-      {
-        "contents": "CD459496304C08D118AD",
-        "de_type": 758
-      }
-    ],
-    "encoded_section": "449013FFD6666622A2DA34A2C275880506157F9110009874A69F2464B9DE4FF74F919CAC9D3890020A50F225CD2764D259A371F025387AECD2E84F2064417D98B96411449A",
-    "identity_type": "trusted",
-    "iv": "4F7C4F082F3718D52BA2A3222293DD19",
-    "key_seed": "4F2E1F3AD51A20DC3918600AD08D4D0BAF6B64E429F68D125AAF667BC17A725A",
-    "metadata_key": "CD1CB9AAD1597C77759AAD87938A9C36",
-    "section_mic_hmac_key": "DFCF245574F4751BB2A5DF4A84EE02D3E3D70ABD8FE987092B0F59ACCF2552AF",
-    "section_salt": "9874A69F2464B9DE4FF74F919CAC9D38"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F270C1808AE8861C06BE51C246839671",
-    "aes_key": "6711054A1EC414B5715B8AD33EC563BB",
-    "data_elements": [
-      {
-        "contents": "BB1EE72B358621",
-        "de_type": 690
-      },
-      {
-        "contents": "6CE1D344EB4F1641AE8AC5F9E2EAACC01E7C8FDC3D81AD77B2CCA371",
-        "de_type": 983
-      }
-    ],
-    "encoded_section": "609013E5F1F076FA559ED8A4CB17EC6D61EC6A911000EB93F9F5A15960A048CD6F8B8B6B58649001AD39CBA67C832FF3B377139EAD4E352D5BCF8E71974E4951DED2DB9918398D6AABF0DECCBE8E37224FE601F5CFFC705C5F227BCD511411796B",
-    "identity_type": "private",
-    "iv": "6723B26C84532019D6265FB1D9219387",
-    "key_seed": "5827EDF50C9C538E05C59270334EA25A707BAA6AECF563A6228C9A645DB95259",
-    "metadata_key": "E5034530CD6FE12AE1B8D9FA2BD772D4",
-    "section_mic_hmac_key": "D6EF9EE9456896020F182EE408581EF01B10CAF8A534693586E7F6A9A23A28BB",
-    "section_salt": "EB93F9F5A15960A048CD6F8B8B6B5864"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8389121A80436B19156632AC51695A13",
-    "aes_key": "6A5E04C19CC54841180722029D13F7C5",
-    "data_elements": [],
-    "encoded_section": "3790139684BDB26A1EB70A15B98EFB09D5111B911000FB98AABA968E22288FA299ACB4E405749002AAD65BA2AA0A63AB971C5722229B9C47",
-    "identity_type": "trusted",
-    "iv": "BEC2A53243D6F2707722FA034A317A68",
-    "key_seed": "1E700C710D7280FA6AC7439E403EDD5DE0257782DFD687BD323B57111DB15EEA",
-    "metadata_key": "8EF84C05AD7E87AA76F2D3F57FD231B5",
-    "section_mic_hmac_key": "AE770F2EBE85476AB97BAC70CAAF7F0B2D411DD01211E4F13855583E16EF211D",
-    "section_salt": "FB98AABA968E22288FA299ACB4E40574"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EAAEF0F0BD203FF07EE43BE082FFE487",
-    "aes_key": "5A8F6E1A06CF11AD9966D7DE70680E78",
-    "data_elements": [
-      {
-        "contents": "8D985C3C5BD7",
-        "de_type": 335
-      },
-      {
-        "contents": "ED8D6C68F03FA51B2F79759A78E8",
-        "de_type": 158
-      },
-      {
-        "contents": "15010A88EF1368AF73",
-        "de_type": 634
-      },
-      {
-        "contents": "04BBDC82881BC0AE",
-        "de_type": 964
-      },
-      {
-        "contents": "8FD5",
-        "de_type": 526
-      }
-    ],
-    "encoded_section": "6D90131F37122E6A01D9C8138CE142E9DE94FC9110006828E400EA55AC14C4AE3747AA7050FA900149BAB83CE2166727ABACAFBA637FAC4DE8F17FAB063D51BE286E68116796A8DECA3BFEBC98014CDEC2FB60D7E712C84057360216D6B9C222EBB6A6F1602D6AD41557BF75B28D",
-    "identity_type": "private",
-    "iv": "8A4C13A101DE46A8E1A4B39A7D458400",
-    "key_seed": "F4CA2D5D0F233F02D75BF99566E87F46887F3B57BC224D44B5C6CE2CA0B8F1F7",
-    "metadata_key": "673471840A043D3029819713668DFAE9",
-    "section_mic_hmac_key": "B1FB222C74B0ABDD529D06926D60C8685B5304B8FBE8491C38FB8A3DABAC9B2F",
-    "section_salt": "6828E400EA55AC14C4AE3747AA7050FA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9BC7CFB71D191BECC444808364D813C4",
-    "aes_key": "51518AE5E163D9D8D5416A193537ED76",
-    "data_elements": [
-      {
-        "contents": "4E18846D",
-        "de_type": 712
-      },
-      {
-        "contents": "4820CB3C92CAD5B8542AAE9A36",
-        "de_type": 832
-      },
-      {
-        "contents": "B5D2F1B6CD8A17DE1B03FC670CC9808FBCB4020B7BAE8FDCCD922961",
-        "de_type": 739
-      }
-    ],
-    "encoded_section": "6D90137D76CF1A4074CDE63F8C6C0329155D58911000F27909C892E859590581882380B7F73B9002FA6E25428FF322E54F5CBF0BA057B844E3391F0F719F4ABD296FCF239D824E940EF2B31760698498E6579D200686A63E33C766C109BAE6C2C7171305EF8D7D05B56A4E628771",
-    "identity_type": "trusted",
-    "iv": "CFED21D898A59168C5FB57F3A86AB6FC",
-    "key_seed": "5189E43E665A66541461FCB1DD460196AE5F64EFB70F344E5B00E6533566AB35",
-    "metadata_key": "C3C0CFA6645E1AF45DDEF7B3D1F74751",
-    "section_mic_hmac_key": "7F4EFFC52343AB47D1EC9C234841BED7BA67A772CC238A9AC005847361718BEB",
-    "section_salt": "F27909C892E859590581882380B7F73B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EFC325741A620CDF60ACE605C3356BE1",
-    "aes_key": "BB076A02A36F6D81B206B1C9C8236EE9",
-    "data_elements": [
-      {
-        "contents": "EE2C53A7B84776BCBE",
-        "de_type": 322
-      },
-      {
-        "contents": "3D831323FF7DD1D925C629564D92C87D7ACC5FF526BB2A0B5FAC9132",
-        "de_type": 610
-      },
-      {
-        "contents": "B38D897E0829B179A5FD66CDE9D5B5B0D574E04008",
-        "de_type": 240
-      }
-    ],
-    "encoded_section": "7A9013444AA5DE765AF1E12CF47CE2C37B6227911000249EB7CE39639EDB7AA5680B7445ACCD9004D0230E8B8D679112F9F650A8E4779C93FDF8F26AD5B381729C15F83A07808F094528BD326047036689E5DD4A92DE1B57DB883720D93E4CCA65058635AE9612A8E48DF6A8BD372262E06328D5FC5456FA168186",
-    "identity_type": "provisioned",
-    "iv": "BDC3752E0380EF0CCC465A207B36AC33",
-    "key_seed": "C855E8921027426AAFE3C38593C328834BC1DEB79007F68455F336A0AA2E6979",
-    "metadata_key": "249DAC8BD2E0A6D705BF4D5729A6B9E0",
-    "section_mic_hmac_key": "848CCE3F38671B20F910FB919492E1E80051AA4C9AE7FED49B71D4E60C8EDBD7",
-    "section_salt": "249EB7CE39639EDB7AA5680B7445ACCD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C45308E14C984650D43BCF505BC65F5",
-    "aes_key": "D1A76910387CF7AAB6CE4A0EF807FE49",
-    "data_elements": [
-      {
-        "contents": "AEADF60EEF2311B4FE8111065D40435AB79809469B08FC5FEE",
-        "de_type": 674
-      }
-    ],
-    "encoded_section": "53901393F3F5E4C94F10F460E9B79E4A8488F191100020F961FC32DAAFA88DBDD328319AEB7F90019FB4153E082B763922CEF5EFE91F357D2E83421DB3CD2AB47308C127A33A7079611224B3763E863656848939",
-    "identity_type": "private",
-    "iv": "C0E2E91FB0D154BF04CE881789D11166",
-    "key_seed": "7D4DAB11FB6FC7BE19BC0D9A56936874E83966C5F58686C9AB533FB3A6F3F2B3",
-    "metadata_key": "7682862834A4910F038FC5CDE1A7BB7A",
-    "section_mic_hmac_key": "244E6405668A612CC41EF88DB5D046256AD61698DB7E5D9CC632BDAEC18351C0",
-    "section_salt": "20F961FC32DAAFA88DBDD328319AEB7F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49716F792B5B2446878F04B9B080DF27",
-    "aes_key": "3FF2428CC19EB164069991144389B867",
-    "data_elements": [
-      {
-        "contents": "953F0048B02C14E8BA62C721240D68D90001B4DD0E897705",
-        "de_type": 401
-      },
-      {
-        "contents": "0775542388275325E3FA4DD2FFBBCFB429BA51CA4775F8A342B67030A3",
-        "de_type": 395
-      },
-      {
-        "contents": "E0246D98751CEEC87A2A86866D06EF",
-        "de_type": 165
-      }
-    ],
-    "encoded_section": "84901324809B6938CB9ABF43A1A28BE74FF373911000C05F2D1681AE6F6689FF8989B0CFBAEF900160F98F0EDFCB8E41846F503B92280E0BE2FC3E1D261CD9A2204AFBC3276A639296B87C27C143969FD3FFE020918D8FB9CA5846E095566F27EF8F45442B3BD2ACB637C8360D82172A970BE0574ABABD5D34F0EF773D4FA68982B24F8A8D",
-    "identity_type": "private",
-    "iv": "CA0256A71F1F8248F4E5804C5C80C42B",
-    "key_seed": "32F7B3C74E59251702FAE6CA0DDBC4D4DCCE002F82F064A92093EF0E0DFD96CA",
-    "metadata_key": "5AAA3B579A426D773E975C442A0D24DD",
-    "section_mic_hmac_key": "B3F114BA4764A3CDA2A0DE54E53F0747324DB0DAC3EE19C338FD5898948E7121",
-    "section_salt": "C05F2D1681AE6F6689FF8989B0CFBAEF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8F3ACF2B400ED33574CCB9AC82B7FF80",
-    "aes_key": "CCC54BB5C42A61F4F50820F1D64C601A",
-    "data_elements": [
-      {
-        "contents": "C4878BE538",
-        "de_type": 696
-      },
-      {
-        "contents": "5081C9BA7B0F06",
-        "de_type": 10
-      },
-      {
-        "contents": "E009C8169E51A37B7544A8EC8A1E6085C345D3350D7ADF",
-        "de_type": 400
-      }
-    ],
-    "encoded_section": "61901380D74E5F857F77C6324B0DEB8271F2F5911000535996FE591823883E8F94C9528142FB90029EFAF31276DE796DF3843E4C08FE5DA982EB047A4E932F1C689DB334E0DF51EC92622CFFE9AC50711E45207EA4493A88A6A2EA36741D6BE76801",
-    "identity_type": "trusted",
-    "iv": "6BA59F3930B610C64F9A97F9254130CA",
-    "key_seed": "A9F58DCCA97743D648C98BF39AEEC09D1042794054924AA10B601CDBAAFDA1F7",
-    "metadata_key": "E18C1EB3D52ADD20D13E6F5CD7253F36",
-    "section_mic_hmac_key": "B9336123B29683DCAF5421E6A934369E3D587749147C3D3A9C65DAA2FCA4FD5F",
-    "section_salt": "535996FE591823883E8F94C9528142FB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D906139BD4F5F0D43588F1E463870ED7",
-    "aes_key": "659E7E26B7350532979241C71A794A47",
-    "data_elements": [],
-    "encoded_section": "3790133051C1E0D286C009937A41FBEF966F4A911000E9B18B58534EBE29990D03A38305EEED9001A3F393753D761A490BD4204C22B88D18",
-    "identity_type": "private",
-    "iv": "652B4283066AAFDED606DF9F74BD40A2",
-    "key_seed": "92F464D53AC339F4CCABEDEA6C123D36319ADD612EDBE6674D1CD8673AB4B591",
-    "metadata_key": "6AF8037879F253615782CD0A041EB12C",
-    "section_mic_hmac_key": "AA4229BA575F5800F32326FE1981C126F79755D1F6B07BA91670B3E2C4178B55",
-    "section_salt": "E9B18B58534EBE29990D03A38305EEED"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D1DDA0E7AA3E69AE2F3370D6E15F4062",
-    "aes_key": "600F6D5E91AF5302CE554A57A7EBCA42",
-    "data_elements": [
-      {
-        "contents": "769BC18B3624C9C3F9538B96F668E73E7E53D36B16",
-        "de_type": 199
-      }
-    ],
-    "encoded_section": "4F90139FEEE459BE5B388C727B8A576E4C93619110004892C57DF0FF7BAEABC88477F349C4A79004AE6E76B72576ABD71FD6EFCA914797AC69C80AAC2283EFFEE9DB9A784D7518FD45A71BE14AEFCFD9",
-    "identity_type": "provisioned",
-    "iv": "1E805BEA0FDA0095E961BE043176F24B",
-    "key_seed": "1B19E9B42F8262E9ECB505D43A949363ED484EAD3D8B802C19B826C40C293778",
-    "metadata_key": "E6BC1FF04AAC597D5116A868BF0107A2",
-    "section_mic_hmac_key": "3B15004ADC3A4F59DFFC423D292165746C76969A40F763043F5F009EB38E5B6F",
-    "section_salt": "4892C57DF0FF7BAEABC88477F349C4A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F02914E89D274DECC66DF2B3C188328A",
-    "aes_key": "8E89A5C199B8E077FF0C020C9E5FD1D8",
-    "data_elements": [
-      {
-        "contents": "087FFF3F2F",
-        "de_type": 934
-      },
-      {
-        "contents": "447FF6BE8D5D86F7C59001FBFC19E00E",
-        "de_type": 163
-      },
-      {
-        "contents": "AD33",
-        "de_type": 695
-      },
-      {
-        "contents": "",
-        "de_type": 114
-      }
-    ],
-    "encoded_section": "59901386E81CDE1667FBFDD7799D04920C706F911000279EE983242C291A41DA61962A3C6E229004E3973DC6CC11CB4B4853FE0A72D9DFA304E37D1D01517B31771AEE26680F9AB271BE747FB639A5F5BFDB4C701534F7C7E083",
-    "identity_type": "provisioned",
-    "iv": "B1B0129B8F410981FF08A1E07765FE25",
-    "key_seed": "37C6B00660E3E82EF5176F7164828F5501D19B08EE50FA8B5426BC87EFC6BEA7",
-    "metadata_key": "60C8892135BE25252CB238940AC460A4",
-    "section_mic_hmac_key": "8491D901EBD1B5E3C23828A7B8C830FE557F6D238CE41296A14A97C0A26BE21E",
-    "section_salt": "279EE983242C291A41DA61962A3C6E22"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4F655495958DA3AC2438FADC76CAA469",
-    "aes_key": "48017698AA818DF52A218956255D1184",
-    "data_elements": [
-      {
-        "contents": "D21415A59D61C37A431C94CA3D1B12",
-        "de_type": 223
-      }
-    ],
-    "encoded_section": "499013BD809616651CB4C0FA14C3FED9EEA8199110008F1695AE141F457D323BFE9FBDB4A646900164E3DB751CD22313B6EFC2BB28D064CE99C04F4377CFBB39666CE7F6B35822CEAF23",
-    "identity_type": "private",
-    "iv": "2279F7D60A8ACFC3400EAB7D479DB51A",
-    "key_seed": "971782B7DFE1FA2F6D6F2C76AC4C6CBCC2BF05AC1CFBD19882E484D07D90A467",
-    "metadata_key": "658C560090654FE1648E9939A51BA9A6",
-    "section_mic_hmac_key": "AB9431C41C87442A332416CCE3074BAC1C330F923AA07E57CEED68592C0208E4",
-    "section_salt": "8F1695AE141F457D323BFE9FBDB4A646"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ED33675F04F139BE2E7BE9417679089B",
-    "aes_key": "D169E3E3EF2ACCAE3CEEB84523649232",
-    "data_elements": [
-      {
-        "contents": "138081B628B974A24C1CA904B706ECFC64ED8B256833B9F3",
-        "de_type": 487
-      },
-      {
-        "contents": "2BA4C7",
-        "de_type": 311
-      }
-    ],
-    "encoded_section": "58901346E74CA333752A4F091A53F7BB6A1E6391100017C25D290070B12CA99F7B188DBA2C009004462896554342784C49B6A736DBB42FA93EA55CA27E9BECF238D8D76E39AFEF0EF3809225ACD1338A7C3802DEADBBC38303",
-    "identity_type": "provisioned",
-    "iv": "5CA7E4BB4CB64ACC75FE3D7ECA59B5F1",
-    "key_seed": "BC53A14CA7C5A41C1459A17DE84DA7EA69C9B4B3BF412CD1B7F735C86FD026FB",
-    "metadata_key": "6B2D533F3E784395DA8EA4D104A9A5A6",
-    "section_mic_hmac_key": "D6831E0EB880B6EBB5EC3B5A6178589CCD4CFE42C1D2C0982039674966809A1E",
-    "section_salt": "17C25D290070B12CA99F7B188DBA2C00"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EEE3952D89F58C16D86CF2A0D676264F",
-    "aes_key": "EE4D226F72FAD340CB5969026B5009F1",
-    "data_elements": [],
-    "encoded_section": "3790135CBA17D59F867DD8152D6A15D42C059E9110005F9D9CF54AF1C87EA73CF0539B878E559001DDF4CB6AD10039706AC555E84E731BB6",
-    "identity_type": "private",
-    "iv": "960DD7B569F6084D311B14EA5EABA4AF",
-    "key_seed": "CA471364CBACA719FD0FFBBB46AF040A9B77BADC1C5DD45671DAD16658908CCA",
-    "metadata_key": "BC7545E167CE62D60E04709FE54A0EFE",
-    "section_mic_hmac_key": "AD60A30FD4927631B4BE521BB0BF8EF4805993AE122CB68B749D39A6051D2156",
-    "section_salt": "5F9D9CF54AF1C87EA73CF0539B878E55"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DF5649D8C88520FA5B4C48C0D156FC6F",
-    "aes_key": "83B0F91866C953759BA6C220B17BBF79",
-    "data_elements": [
-      {
-        "contents": "E712F3058923F793652BD04D42D44A38371F7A29027D4E6AF3F2",
-        "de_type": 184
-      },
-      {
-        "contents": "8EEEC3B2BCFAC213A2A95EA3EC5596DC8BB30D52B3D095CA",
-        "de_type": 546
-      },
-      {
-        "contents": "2C4B5138B3D520FD9D3799CEE77A57CE28",
-        "de_type": 125
-      },
-      {
-        "contents": "4F039D61E7908BC515E127542C4F69393593BF9015E8821E52FF",
-        "de_type": 550
-      },
-      {
-        "contents": "12159E47",
-        "de_type": 107
-      }
-    ],
-    "encoded_section": "A59013C0DA8CF829FDFEC39AF1136EB83F1930911000F16D6B2A76966AE53ACF6792DFBC41C5900139D1D9C42A158ABA72D040B5B379308734C4AA5345EC3FBE04EBD2543A38E50551C82BADC8BC9A8150450F68E3DC4DDC1F7EDFC9A48BFA00985F334AC8B072423E38BEA3C91A1C7E59DDFF1D74948A17DF9FC3B25DD3E61B3882CFB3734646FEE24D60A03D329BCA50BF5E6EB8AC4C377DE637D0971CEE502419683DADBD",
-    "identity_type": "private",
-    "iv": "C56E5DC162716C9EF3CEAC49C0F115B8",
-    "key_seed": "CA4F0FCDE67D6A691236FE32B43802AAA785519E4108415A4B9384FAE6220F25",
-    "metadata_key": "5DCE8108DB324CDEAF9C4DA6C5652CE5",
-    "section_mic_hmac_key": "435152983E08E498549369CBB3845599399E0C3BAE7A6AEB530CF9BF74F94F43",
-    "section_salt": "F16D6B2A76966AE53ACF6792DFBC41C5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F6C8A813A71E37E62E7B4A383DE9CE03",
-    "aes_key": "28F700FF1E657FA5B93060B77CF3F673",
-    "data_elements": [
-      {
-        "contents": "7B25F39E00B7B165",
-        "de_type": 588
-      },
-      {
-        "contents": "4407E542845E25D8C5F651C54A6325DB08D31CD01C0A39CE68F6A63521",
-        "de_type": 397
-      }
-    ],
-    "encoded_section": "62901319919D6F5709324CD2F3E6C38393AE8C9110001A35A3E9A1EF41933CE4934C5576B4AA90028C72D7952DBA1254D1A6F28B061A89EB461FBB771E1291C35270DBDB7F4F344E527F4F419D80D9D8F37ADDBCB0300061DCEE9DC4A49295C9CAEBC9",
-    "identity_type": "trusted",
-    "iv": "E9C4F94C776EA7100BF8FCF029EAC9A5",
-    "key_seed": "691BB699B3A533E919AC8F2592FBF465ADFA3232A7102CDAB4A2BFAF18D39216",
-    "metadata_key": "D19E7F2C3EDD021E38F7EB3668A30D21",
-    "section_mic_hmac_key": "9166DE19913527B22E2D285A5623FBE27843DEDA9BF75CA21AAC1D7A925BAE71",
-    "section_salt": "1A35A3E9A1EF41933CE4934C5576B4AA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E03BD15C47BE63457ADA2CAA38F8C01D",
-    "aes_key": "E57DD2A12514B1A31EE3031299B69BAC",
-    "data_elements": [
-      {
-        "contents": "E1DACD22961D862FE8B7A8DBF8DF3014ABDBB06525C3",
-        "de_type": 408
-      },
-      {
-        "contents": "00982ADF65DCAC4218EAF676347CA52607D55CA9334F",
-        "de_type": 600
-      }
-    ],
-    "encoded_section": "699013EBFB56D27710D376E2F78AE5314B6EE99110002E9A05B98DC81FA726BBE0B25ED6616E9004943E813F9E1C01E8C8987A3C7C2A612A27C011AB3BD5134E60593FE73B0950C777D4FD02A1220ECA13213A10769B4456DB92139D8A06AE5A33CD1EB07D629BAD3581",
-    "identity_type": "provisioned",
-    "iv": "18A7EE60B7F063FC35EC9A051432A276",
-    "key_seed": "854812FA5DD5336B82417C854DE3C21D55EB81CC503D395D36160429743EFA17",
-    "metadata_key": "FBBA049407A1FB50BD32B42FD1FC5227",
-    "section_mic_hmac_key": "2B1B6926BC2FE1A4789F6FF28C1B1E208BBB7B9A831B7665FDF07FE5CC932974",
-    "section_salt": "2E9A05B98DC81FA726BBE0B25ED6616E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C565D587CAB49EFA12AC6F0A2DD13227",
-    "aes_key": "432B9F04E0F4F71190D9CCB3DA261AE1",
-    "data_elements": [],
-    "encoded_section": "379013DEC89828681CFEB999004464A2DAEA7A911000533B00CF247DD1C3271AC6EBBA2DEFBD9004309005A18C6BB3D59BB078853CC5A98C",
-    "identity_type": "provisioned",
-    "iv": "46696325A36A170F95E6D3258A08B04F",
-    "key_seed": "15740DD5FCD0FF3547B15163C6041E1D8DD9DE508BDFF02042B0BA37F11C10B7",
-    "metadata_key": "C6D054B984ECCE9241E8F5C7F95A788B",
-    "section_mic_hmac_key": "52EFEE44663018C3D495F0726D8AFF9BF451607C491D8982E709AC57C9253A8C",
-    "section_salt": "533B00CF247DD1C3271AC6EBBA2DEFBD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A2F7DFEEE2E3E735EF73F8E75D9CE4F6",
-    "aes_key": "14A2DC3915F43E95AE53A541DB6A20A5",
-    "data_elements": [
-      {
-        "contents": "1F819F1441E9818AD0AAC4B083840D81AC",
-        "de_type": 743
-      },
-      {
-        "contents": "FF547347B5FC33DEE1BC21109492E5B254231ED5CEA88445ED5F7892A2",
-        "de_type": 822
-      }
-    ],
-    "encoded_section": "6B9013659512ED18290B6C5F4DE46EAB3E54AA91100043B1749F94745222204B1E9AFF8C086890017EA654267AA0447CFE19880DEC1916CAA03546DAF407913D33465D78F90FE9C982F101EDB98C030024372AC65278A26D644A99BBC06860B81E8E46F97280A7A9496919AF",
-    "identity_type": "private",
-    "iv": "0B79362274A4ED6B0A2DDC9B3A3D0C4B",
-    "key_seed": "EE2EF449A38CE4C5AC6F70F3592DAF53E0EFFDC3FAD5A8D35914A301123C65C7",
-    "metadata_key": "18D9E6C0B7CC34DAA3FBF27255ED25CA",
-    "section_mic_hmac_key": "99F5025A9BEF0E77912BE3A814A87DB26C75A86092AE4DFC0409F2E7CE1A61BC",
-    "section_salt": "43B1749F94745222204B1E9AFF8C0868"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9250734FC0AC255D11341B94703240A6",
-    "aes_key": "14E0C14BFE51E3E2D9C17E46617A7254",
-    "data_elements": [
-      {
-        "contents": "7AD8D89A3BAFE604CE90BA870FBAE5061E596406D3492A",
-        "de_type": 773
-      }
-    ],
-    "encoded_section": "519013F3F99B6429EF43A25C3096E54A7A6AE191100097B2C056D43F50DBD56CE2F57636E93F9002025D4212219F661181F68D105E0567675318418C08858F7F9ADBFDC9EC2525CA987B754CA7B7E20541AE",
-    "identity_type": "trusted",
-    "iv": "CF58402F5FE4255D36AC71B32A7E53DD",
-    "key_seed": "0737014DACB915DA41FCDABFAE3A1612CEA784C26E728B92A515D17AC9880BBA",
-    "metadata_key": "488DFBB55E10A9C4115ABE9EA510E685",
-    "section_mic_hmac_key": "2A83F033AD0948FA29DD234D02124C1BF07BB0A914E008CD5A32A794FAFD594E",
-    "section_salt": "97B2C056D43F50DBD56CE2F57636E93F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "742306D9A50A5F57414C636DAD6758AE",
-    "aes_key": "843800EB6901EC65E32BCDD8C42DDBB0",
-    "data_elements": [],
-    "encoded_section": "379013A910AB5E2636F86BC67DE65AA6BF508691100046DD825A5E29527818B48BB6B12D52D1900141FC36E88D10ACBEF867C69D0F07DAE2",
-    "identity_type": "private",
-    "iv": "C622A5E21BB8C2A60B610C1523013FD9",
-    "key_seed": "6A455B03C96F4CE85832223DDB4B84AB1A2C98356B00F09F5855F5D1DF296400",
-    "metadata_key": "B7BBC5E06529761651EA6817D5434679",
-    "section_mic_hmac_key": "7BFCEE3D3465311604F1BFEF4746CF63D2433806F5720F4B8DC4876CD398E276",
-    "section_salt": "46DD825A5E29527818B48BB6B12D52D1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "970ABD5B5C3196B424CF4D3BB360A3A2",
-    "aes_key": "505ED35ABFD6327336834E0A3B8A1168",
-    "data_elements": [
-      {
-        "contents": "3BAED92467687DDCCB55D80114188395B55B82",
-        "de_type": 249
-      },
-      {
-        "contents": "7D8988A293E7FD36AC2C6A9DF2",
-        "de_type": 103
-      },
-      {
-        "contents": "0186E7C12684315D411D523F67C43FFA8A1CD75A",
-        "de_type": 1000
-      },
-      {
-        "contents": "390049E7B31C2689FD0E6A78AB8165E724F1F70DE1A2C93C615B19",
-        "de_type": 234
-      }
-    ],
-    "encoded_section": "9190136E43BD77DD71A1178B3A9D6E81F6218D9110006F5E89B4DD9C9E840C769C2D9CCE5889900294BF8F6B35C8A0A1ADEA4EAD45B4969D29EB245D277B98EA35316E32FD2CDCF61464007AF3EC71697AB7C81845C03493206C236D076D094471DC5E7DAA4D822EF947A2E6446B6630F8605DEF9C467CEABC0AEFDB73BC7ACE0EB4352B06881F71FC480F14E153FA4DBF52",
-    "identity_type": "trusted",
-    "iv": "4C9ED54A1DF5B2930A75F6117A853CC5",
-    "key_seed": "7F47276F24CE6BB646B1CEFEF060FBFE235AEC3DCDCCF4CC2385EA943EE690DA",
-    "metadata_key": "346F80C5C67A4EDAE1818D56393D3B82",
-    "section_mic_hmac_key": "AB43E9A5ED9D2DD9535153F4338CDBBE77046191ADF5940A2769B2F919A911E3",
-    "section_salt": "6F5E89B4DD9C9E840C769C2D9CCE5889"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "228D8BFE431F88F73A132DD2E756DE94",
-    "aes_key": "AB278D4D71D4DFA69690315EAC610D6F",
-    "data_elements": [
-      {
-        "contents": "170117845E",
-        "de_type": 913
-      },
-      {
-        "contents": "FCFAEB51A97F49110B14325B51364275",
-        "de_type": 100
-      },
-      {
-        "contents": "82",
-        "de_type": 510
-      },
-      {
-        "contents": "D62D60EFF7C12231328DE62E",
-        "de_type": 779
-      }
-    ],
-    "encoded_section": "6490135A2E477C18D8A5D04E1138CDBBBD2BEF911000B39BE49E8FCC53C0C821C9BBBC0C024D90027F72C6072B8172256C2194121844B4EDB6C2154044FE30EF19BA68E2C1A7F7FBE0387F5764D69AAE52B0E2FC46B0A52CD08728E375B042B0F3E8CBDE3F",
-    "identity_type": "trusted",
-    "iv": "31A4BF684280A37A8030426577EB7B9C",
-    "key_seed": "912586C615BE6DD6F4F6ED12C85D9189B85E1D2FFA06AE1763BB32713ACA1F95",
-    "metadata_key": "C16D146B28A8C32B7DCB66EAB90C30EA",
-    "section_mic_hmac_key": "ADA2821A572B4B3ED9298257C200A5B73A39634117024404EC3011E7DA17D24D",
-    "section_salt": "B39BE49E8FCC53C0C821C9BBBC0C024D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BA26ABDD5164F306449CFF633AFA7806",
-    "aes_key": "328428A223099585C9ABC9ACD7911FD8",
-    "data_elements": [
-      {
-        "contents": "33222D5C84507A2B0130501E",
-        "de_type": 413
-      },
-      {
-        "contents": "1ED1B4E58C",
-        "de_type": 41
-      },
-      {
-        "contents": "E2079D383308B60A86988F3B36F491127E",
-        "de_type": 812
-      },
-      {
-        "contents": "D5DE2EFCEAD465719916DA22BF3FE9",
-        "de_type": 855
-      },
-      {
-        "contents": "84D04B14ACEC49162E4705C4DFBADC5EE6161B8D323A",
-        "de_type": 185
-      }
-    ],
-    "encoded_section": "8C90131AFAB491598665D824C89C5398CC85B9911000633957E0C51915A10852DC7A8F09400890019069C7C9CFBEA948E3DB9A4DBD040F8E776D4F3721EACE87669A8CA6FF04E51B02D67207B82BC9E6E33D65B0F33DF6D878F0E06560FA8EB638C80117FD6DFAA2B902732BAE4E8CED79420FE93D9B57C724CBB06369FE960269B80BAA1FB8020BDB2D00D72C",
-    "identity_type": "private",
-    "iv": "E0B0D025435FF6F9FAAF4B42044DE4C9",
-    "key_seed": "E75FCCB24B1405672AE7A48F64DBDFF890783DDCC42B9928E74B591D387ADF86",
-    "metadata_key": "26B8D6CA92011D8C16EA62D6C62781E1",
-    "section_mic_hmac_key": "5665CD729F01A5933E5AEEB2B38EF153D71A19E3A7A603723E2AD564CEB83D99",
-    "section_salt": "633957E0C51915A10852DC7A8F094008"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DC49AEC367EA0121D5FB188143092866",
-    "aes_key": "B42D7A6A8D1776BADA8E21C226605833",
-    "data_elements": [
-      {
-        "contents": "B3BE9AB518C82B73A3C0FB57D56C6F2A335F",
-        "de_type": 423
-      },
-      {
-        "contents": "4D96F55DA0342CE760A1832CB0A53B2A74CB529FF65EB532",
-        "de_type": 945
-      },
-      {
-        "contents": "20ACF6ACC51DAA65AEFDEBDA0D8697476D0E",
-        "de_type": 423
-      },
-      {
-        "contents": "2C3F7B88FE5F07C99978BCF68B3F5E7198724FEDDE",
-        "de_type": 465
-      },
-      {
-        "contents": "06BF37158C17DDD27C8F8DFB3EAD50096EFC8CC085D65AB195A7D0",
-        "de_type": 368
-      }
-    ],
-    "encoded_section": "B29013658EAAAEDD464C9AE3EAD5F4D5EC48FB911000739370CE2574699DE19C1289E6F976A390040B3321DA88445526B10812DB7DCB8E5FA5C3FE2602991884CF5444623FE87FC4E63086F9039CFC7B871E08F88FEE69B1BAD6730C2C4C959FBD0AD2DE89020F46CDA552DB50C50939DD58C4D7AEAC8DE212D03F3D47A13990CDA58D276DBD6BA9A8F90A623CEEB931FFA530DF6DD7F57BC1CAD71D242778783C92F855D6E90D509976F8563C9B9370849CA7",
-    "identity_type": "provisioned",
-    "iv": "FF2AC24716EF0EEBFF2CF92A02049CD2",
-    "key_seed": "DD843B0B46AD2B8D137CF22A2517E961A79EB1AEB2882986DE825056D2FC52BD",
-    "metadata_key": "F64D69CD52EE04FF9E8324E751FAF1FB",
-    "section_mic_hmac_key": "78F4F673BB14B5F7F6C4563F4D9636355C91CCB01BC021C2FC1567446A944A52",
-    "section_salt": "739370CE2574699DE19C1289E6F976A3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF7D481AA8590423266AE9663FF6F7BF",
-    "aes_key": "E47403E811D992FF13BDD5156EF15C03",
-    "data_elements": [
-      {
-        "contents": "CE99E4F9ACD8CBF8D99295AF",
-        "de_type": 110
-      },
-      {
-        "contents": "BDF065E66145184B54FE0C0CEED6CD6741404BDA57CFFB2B73102F542EBE",
-        "de_type": 369
-      },
-      {
-        "contents": "EAC4BC7CE2",
-        "de_type": 971
-      }
-    ],
-    "encoded_section": "6E90131C80766FCE663175DF597C00BD95B39B9110001568D698479F825D5637D908F813F4DF900154739ED1447C96CEB428C6C2E98F9F6C544970AA9EBE7DB216197F20B6F4B3A573F461E2025808BDDED29278410B1AE18942699647D71252759992BFFBC9F5B7A923965972E820",
-    "identity_type": "private",
-    "iv": "11B6F13C8903EE0D12233F0FB5DA1C6D",
-    "key_seed": "BFDCC2ACAA9E80AE659F652CB2FBFDA4990B805A9D4AA898D350CCCBA3CC9CA8",
-    "metadata_key": "9AB08AE1CB6AF2A4745439770718B2CE",
-    "section_mic_hmac_key": "0580E1B433054DF31F38E72764FE5849FDC54D54416CD139F34D4D444402263D",
-    "section_salt": "1568D698479F825D5637D908F813F4DF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "85B1D40513E6CAE086C28552C12FB350",
-    "aes_key": "CC37B97B5B92FB9F9D6E00EDCA6AF45A",
-    "data_elements": [
-      {
-        "contents": "14EA6D3FEAC9844D84E540D0AE1033C435F130AB1BEF75B7760E6AB9AD",
-        "de_type": 341
-      },
-      {
-        "contents": "",
-        "de_type": 550
-      }
-    ],
-    "encoded_section": "5A901328BA159A1D698C86962BBE2358C362709110008D6FDFC90CA3D1A3AAA1C766B72B5EA490022F5AAFBD03AC4ED441B9EEFFEFFEA020A82B9EBFBD20648A4CE8BF57BF728D9FAD388AD1EEFBD957EF312CB9FDFB7ECF68AA06",
-    "identity_type": "trusted",
-    "iv": "25ADEFF36CE0A5B0A09953648F7EF334",
-    "key_seed": "0454B57060C890C86592212E9A3EC7926D43BA17D4CECE8BCFE7637484D83802",
-    "metadata_key": "21D66A2461F62F2D1C0B9F66D9739287",
-    "section_mic_hmac_key": "A61711DB75D7A424E6E806F1F43CFEAE962A7F6C499622A0793A170F4EB9CBBC",
-    "section_salt": "8D6FDFC90CA3D1A3AAA1C766B72B5EA4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "02D5D750D664E288EFE7A964A02A927D",
-    "aes_key": "A3A5A8A7E672AC04CC383C0F95DCE6A0",
-    "data_elements": [],
-    "encoded_section": "37901361A89D3B7C790776967C6501726806BE9110000EB05C6B0F96C24634A63A667709215D9001255CCF12AC41FEAC1EB155D864DCA570",
-    "identity_type": "private",
-    "iv": "27A2765AE71E5B83F0480E32BE173DFD",
-    "key_seed": "2EAFB7F93967A4C45F5DDFF41E13410591E3419E65A7DB92762697DE216FC967",
-    "metadata_key": "283DD374AA19C66FDB250A312166E6EA",
-    "section_mic_hmac_key": "D4BD0787505004AC108AC3DA06C1A450057D551AE7DA43BCEBE14C2D975A8E78",
-    "section_salt": "0EB05C6B0F96C24634A63A667709215D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "125D63CB7190B478236C3747A149366D",
-    "aes_key": "0BE97B73FF512505354DAB5D6B29FCBA",
-    "data_elements": [
-      {
-        "contents": "14EF62BF82F80FB085A310A1435223ACDB920B97DDCED1",
-        "de_type": 871
-      },
-      {
-        "contents": "2CAF9EF90EAD8F6298060839624769DE",
-        "de_type": 964
-      },
-      {
-        "contents": "768E7C5B73E36F162BF105E085899DA027D9",
-        "de_type": 721
-      },
-      {
-        "contents": "A178D1480EB66B5551EC948ABD91F0C049D33B8D29360DB2EF",
-        "de_type": 198
-      }
-    ],
-    "encoded_section": "959013997F971BF31BE7F59A55046ECDE81BCB9110001F657CA6FA909CCA6C1681FC6DD0928B90043DBF611BE7A90F0905DA13400AA1A1866644AC3671290548F39EEBC9B5BD3CC18AB804DA5C77D714181A605BE5C884A5EE6081FF4591D2AF96BDFAB2546D12602EB44A3FEBAAA3E4C66F444F55A6FBFAC75DDD71D57E6A719C739492CBA1C0E73711D2A105A3B3FB2AD3237E9ECC",
-    "identity_type": "provisioned",
-    "iv": "5404FADA1301DDEEE830D6119A3846BA",
-    "key_seed": "246A732C0A2F892B057A253141C26E21F7B0ECEBEF3AEA051118FC0E1BD8D36C",
-    "metadata_key": "4B47D6D3B10A385845DF425AA1C38431",
-    "section_mic_hmac_key": "CBE07A55700BC8C0BF94EB36BB907882CB50CB667FC240FBA6AC1830DC14F3FD",
-    "section_salt": "1F657CA6FA909CCA6C1681FC6DD0928B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C5994B3FDEFF488147D2225A5AD3289",
-    "aes_key": "EEEB9A1765F85001AAB7C718544D5853",
-    "data_elements": [
-      {
-        "contents": "CF41A589C639780D91A23D762B7871",
-        "de_type": 400
-      }
-    ],
-    "encoded_section": "499013089985A0087D6F5ACE5AB3B11DC8EE0D911000DD64F5C39C94FF038BFAA44A1B009C139002D5EB61BABCC1E0AF9080528B6261FD81C25644B912DBEA20EC659DDE6F0778CDDC85",
-    "identity_type": "trusted",
-    "iv": "43C6A352609BF3D07C23F7457F7BFBED",
-    "key_seed": "FE781376ED435B876E0E7FA261BE9A2E4D7362EBE61D5C015F6694019D4246BF",
-    "metadata_key": "670F87F10099A52B7714DC7B088A9AB7",
-    "section_mic_hmac_key": "94912114FD584C0BA0F6C1C462117D516F0619F216BDB8099BEF422FA50EA315",
-    "section_salt": "DD64F5C39C94FF038BFAA44A1B009C13"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "86890C122BA74C502FAAA2B246EBFFB1",
-    "aes_key": "1A42B8762AA6E9320C32FDDC669DC405",
-    "data_elements": [],
-    "encoded_section": "37901367745F1F321A28509A1FD382E5576965911000D788AFA3591BF1E13252441A7D280B2B9001C13C4CD9EB22629AE6ACB4648000FA2F",
-    "identity_type": "private",
-    "iv": "8A763DF0DC6548AFBF6EC1526711F13C",
-    "key_seed": "660D035C9A48405AB89BF25E4F71494AC76286D993B2E8CA213BEBB6C00BB604",
-    "metadata_key": "A0E42B6646670B54D13D012B2AC9D610",
-    "section_mic_hmac_key": "3419FAD3032B38259FB4447FEAAC776F5E64DAF919AB24EAC7904709BF60BD61",
-    "section_salt": "D788AFA3591BF1E13252441A7D280B2B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A507D673235683A679F00AFF69858E78",
-    "aes_key": "74F54D0AC51AF56BE4CC75ABD624AF34",
-    "data_elements": [
-      {
-        "contents": "9E4AFE615138D74E",
-        "de_type": 758
-      },
-      {
-        "contents": "2E7BD8416782398BF01F53CD4611DC26DDD158965C2C6D55D3",
-        "de_type": 583
-      }
-    ],
-    "encoded_section": "5E9013FE192C6106C46626A96469BBC51CF37B91100060EA0FE905728A9E01B9891E5731F91590010026C008E139C9EF930ADE42C20B09FB19D70EBDA109AC5CE58F35A7F05F329D2A7F8823281DCCE0C246DF43A752DF1B571ADE24671464",
-    "identity_type": "private",
-    "iv": "371E3734A83E864FE7434D06799565A8",
-    "key_seed": "5FADFF2AFE58072B5C59C59B5114C5FE544638917F0EAA8B73B2FFBCB93C5ABA",
-    "metadata_key": "138F084E2B8D250604A01F2AE51AE287",
-    "section_mic_hmac_key": "F10F17E2EF9E66F261398CAACC64F069301D59F4C674C583941F959716435E1C",
-    "section_salt": "60EA0FE905728A9E01B9891E5731F915"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BC4A32514B46C03C366AB566227DCABB",
-    "aes_key": "319D7CB155D521DC9F2017535BE3809F",
-    "data_elements": [
-      {
-        "contents": "663DFF01222160CB8B4AF0",
-        "de_type": 611
-      },
-      {
-        "contents": "74A119294F8C71D64DEC46282D88B43F3B896420A0A2",
-        "de_type": 410
-      },
-      {
-        "contents": "89A9338136",
-        "de_type": 756
-      },
-      {
-        "contents": "671D",
-        "de_type": 830
-      },
-      {
-        "contents": "745FEA8DAADEA15F08",
-        "de_type": 294
-      }
-    ],
-    "encoded_section": "779013FC8A3C4941128517FBF0C9DD73CDD5D1911000E70075B4DB3AE7073A33D45EB9A683D29004A2BF89757731C8381C0555234E298E9786845CD199883ED9444B434A4A0C9033DA1DB45E377719B2A7A9B5DBC9A999A43DFA606028DCB57E6FC55D6F1371AC9F0E45DCF3CF2477D87B39902B34758F7F",
-    "identity_type": "provisioned",
-    "iv": "C757A65A68F3EBD6A716AF192FF956EB",
-    "key_seed": "B19A2C4A8869522DA56A328B502C3C5B54C7E272A6E77861225624038C9D9B2E",
-    "metadata_key": "86AECBDC0B76BA224B501EC73B8E6BA9",
-    "section_mic_hmac_key": "421CC07318D2A08C383681AE93B61845FA8E952FFB670340E6860D2BC29B3979",
-    "section_salt": "E70075B4DB3AE7073A33D45EB9A683D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C54051A886B449242FE691EFBFB9B8CE",
-    "aes_key": "B913FEC648BB9E3D942E6A8683F07BAC",
-    "data_elements": [
-      {
-        "contents": "1F6DE79DD0F5CEE21D5D485A",
-        "de_type": 980
-      },
-      {
-        "contents": "9B",
-        "de_type": 756
-      },
-      {
-        "contents": "560487517D8A50F671F4ADDD8827D2ADE2",
-        "de_type": 697
-      }
-    ],
-    "encoded_section": "5E901348E76A5E52F4D62ECAE0CCE82DED2876911000BFA9F58BF2E56725C08161B4F81BB459900161AF730F1FC29BFA27F62252D430C72BEC351333D47129987FB00291F43B8343585C8B48863E042F6EC34D500743C95362EA6C97213BDE",
-    "identity_type": "private",
-    "iv": "F09F6C29C92034AB81F55EE06D133577",
-    "key_seed": "9EA688C752FFAEE37FCB91894708CA03FBCFD9AB3798F0D3B1E1578972861CEB",
-    "metadata_key": "00106D80565F791BDF1612CD3E290EFC",
-    "section_mic_hmac_key": "72B11A271AAD73820E785D6C56578AB0847DD744A8E6ABD72790BDDA339F1223",
-    "section_salt": "BFA9F58BF2E56725C08161B4F81BB459"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1E40D6365164CA659D4B50F39E3F85A6",
-    "aes_key": "9B3859BC7836621D944C23864F6F3550",
-    "data_elements": [
-      {
-        "contents": "8E3058E4062EAAC88D165AA151D44DF6AF58D634245F10FD71FE3F613275",
-        "de_type": 90
-      },
-      {
-        "contents": "B2FEBB35A264B7537903B8",
-        "de_type": 712
-      },
-      {
-        "contents": "29A0D1104C283E273DD5A3895D0A3D4FB996D96F4C482487E02F09C0",
-        "de_type": 712
-      },
-      {
-        "contents": "25BA53B6E20672A6C53F19FC35388A45EEE09CFD",
-        "de_type": 819
-      }
-    ],
-    "encoded_section": "9B90130505D9ECE86F5E3EDC6FC0229F02EC68911000964CF0FBD200823DA6AE76EDC4F2C1449001298E94F4601B7165AA782D1DA74A9E274AF98F92CEFC7AAF15075BBDF016D2FA06F09167A305BADA6B4FA6B2B17AA2A3F73B85C67DBCFA1F565C07C85281C3182C301FC3B810EDD4FF195EBF4D50C1ECCF51705ACB38966B2D61E496425E6B33D2017A5692589D573F1226C182862F31C1B06BF4",
-    "identity_type": "private",
-    "iv": "64FE3459449A905E996A5730ADAC500B",
-    "key_seed": "791CBF19EAE82635964320BF77F90CDC6A40B25A714A47E2E696A03FE466C75F",
-    "metadata_key": "35402883705B38294EB2D93FF46112E3",
-    "section_mic_hmac_key": "EF49867605FEC8C35D229722B9DD3AEBEB0B434C4F4925AA3D34F706EFD87D21",
-    "section_salt": "964CF0FBD200823DA6AE76EDC4F2C144"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B8071EC0685F84D18F37D305200EE4FA",
-    "aes_key": "964869E0D50271B6944FE957380DBF8C",
-    "data_elements": [
-      {
-        "contents": "24945148BCB09A73",
-        "de_type": 483
-      },
-      {
-        "contents": "79DD087059250E029F",
-        "de_type": 440
-      },
-      {
-        "contents": "9D82CC",
-        "de_type": 812
-      },
-      {
-        "contents": "775F99E59CCE70FCA9D050DD11",
-        "de_type": 305
-      }
-    ],
-    "encoded_section": "6490130CE57E93E2E8A432D77023CB6590E0B6911000F746162C91A850D8DCE3BD3A9090C0429002AFE864CCB7884BB9D8AF1C927C847FF0DFF33898E5AC6DDBA9A741956A4B488D5BB52C343B6FF4D9BB888D1D4366E357CDC20BCCBE05392091D18F8961",
-    "identity_type": "trusted",
-    "iv": "1CE7729EB320E531F4C3C60EE4C59AA8",
-    "key_seed": "0D0FF621E557488CE9920E1DE78CEAC7B0D9666B21443FDC57EBB108FC1DDA86",
-    "metadata_key": "9E53DDBB1F1FDF5E5899E62210663BE9",
-    "section_mic_hmac_key": "E656B56AA9B2A4A91571D7C6F593AC20AFE90E83E0C13EFA883E20488E37B487",
-    "section_salt": "F746162C91A850D8DCE3BD3A9090C042"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9C13345061898B01207C68614DDA532B",
-    "aes_key": "AA5B840D4BFDC99B8AF79B584CE12E84",
-    "data_elements": [
-      {
-        "contents": "A1F81F14E46B",
-        "de_type": 390
-      },
-      {
-        "contents": "A42D01AA6C08",
-        "de_type": 160
-      },
-      {
-        "contents": "9AE6B3E298",
-        "de_type": 937
-      }
-    ],
-    "encoded_section": "51901310EAEAFA6AC17122CDCA2573D355D0CD911000CCF8CC3D63587712B4E731FD35EAA3669004B915C781CC1ED7331474C7BC423AFEAD113D1B25C0E94E69E3EB59894678D87BEEBE96355C09DDD32C4E",
-    "identity_type": "provisioned",
-    "iv": "95A37DC09AB387CE11030FEB6B1C9DFA",
-    "key_seed": "B570342527343884EF1CB5BAE4228CC72A19C439402FC11E449A4CBCF50F7E3B",
-    "metadata_key": "46EC49AFA765AE05F70C74DCA5715DBC",
-    "section_mic_hmac_key": "0388A70B3DB58C158BEB9A21198BD81FDA14300D6FD4527C80B33E7929C21021",
-    "section_salt": "CCF8CC3D63587712B4E731FD35EAA366"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DCF9E3CE0572EA0DF42D4A555A23592E",
-    "aes_key": "ECB0F2C8BC9E75FA10F8EA4B4D8629D5",
-    "data_elements": [
-      {
-        "contents": "8920EC9E22CEE0DD1C8ED84CD007DABD37160FC8AF0AE95923",
-        "de_type": 728
-      }
-    ],
-    "encoded_section": "53901313FB99AE0E6BABC8B4849186D87DB4A89110002EBCF33E80A1C8FEF0FEA18D38F4B6FF90028EFBD0ACAE3981D4191B91BD4A7931FBB7AB9587A17D735034B8B94B2E0B5E4B99E1074CA04F4D136AE760D6",
-    "identity_type": "trusted",
-    "iv": "4EA1AB449CE1ECCF1D975F94E111F508",
-    "key_seed": "8817390FE2DDA73E10454028375DF6167C737A41591E2F8BAF9E6EFE8185669B",
-    "metadata_key": "EA92B90A39ED2CEC3D5D61B74B07A356",
-    "section_mic_hmac_key": "ECE846A0D0C013B82CFB53C18F7D044FCD7E53B027F2B562CD43EA2AA881C343",
-    "section_salt": "2EBCF33E80A1C8FEF0FEA18D38F4B6FF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "295C4F693C6ED0E9B8E92727C5F4A7B4",
-    "aes_key": "A45CD64E2DC93AB7FC688850CD3B3FB5",
-    "data_elements": [
-      {
-        "contents": "65CF460752C1B9676A2049D19BDA1CD3F2",
-        "de_type": 43
-      },
-      {
-        "contents": "7BDB1C4245F476F0E1CFB5F1491C5C0318416011AA69",
-        "de_type": 45
-      },
-      {
-        "contents": "22756DE6303A1311BABFA22E170E9D1F",
-        "de_type": 762
-      },
-      {
-        "contents": "6F23",
-        "de_type": 329
-      },
-      {
-        "contents": "480AEB8EE08170C1D5FE904B5BE9DA2AD094376598DE0F70548B705A25",
-        "de_type": 828
-      }
-    ],
-    "encoded_section": "9A9013BC95851D486FAA4EF13F6D7A5AD6E6CE911000749C9EEA6B4A6792229D9E531152124890015B7124853389DBD3B5CC2524AD1C434B2C10214716D89D585E8FA0F55E1CA11B4BC8C262D1BAED2019E61C815CAB00036B15424E1DEA61A93DEE90FE4663F3EC04B1010BB7A178F47B6BDB61847DD9B9A88D35CE2D9A247968F93549D09CF01A98F33B87F038EF995137DADC3D9E2C908D61E7",
-    "identity_type": "private",
-    "iv": "CCA81A30F3887FAC55CC619C978C0B45",
-    "key_seed": "BC9DF6FAE9C35B873DE0FE4AD8CF11245105B7AC518D80498A5205BFB35074E9",
-    "metadata_key": "32A45452147E1B0A64313C39EFA855AD",
-    "section_mic_hmac_key": "B25364C8CBF115BF9A46287B759768B611CACEC692152D0DBE125FDBB3A8829F",
-    "section_salt": "749C9EEA6B4A6792229D9E5311521248"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "12571F71243CD373229D0C7BB8D30710",
-    "aes_key": "49B6E023B58BB34C272F807D5DA0A938",
-    "data_elements": [],
-    "encoded_section": "379013715C03AC7E1419D8D44694F5A4CB6266911000D55A403C5DEAB9883326E5B111C522049002CED99F5612149B9FDB72B03FADF057D9",
-    "identity_type": "trusted",
-    "iv": "B0B763E4D08FC218A318A378EBF75E8C",
-    "key_seed": "16003DE1916A0820BE43D32BFA1629E67FA83CA01723D4FDFD95746BC16BC7A2",
-    "metadata_key": "A3605E523D0C4E8CA3787B141CABDF32",
-    "section_mic_hmac_key": "13E544ABD5FD671F496322D77A4446C3B77ACB007F746A4B948129500045FAA7",
-    "section_salt": "D55A403C5DEAB9883326E5B111C52204"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7856ACD18EF6930C9EE065073F685E8A",
-    "aes_key": "F6A6945E6C274AF90CF773F8D4FC6FF0",
-    "data_elements": [
-      {
-        "contents": "DBDF1692FB5E018F0C49A7",
-        "de_type": 908
-      },
-      {
-        "contents": "028A7815CFF85F0AC6D5",
-        "de_type": 291
-      }
-    ],
-    "encoded_section": "529013CA6D31C6A12CAE2D2636712A77C22F51911000884B1C54E519FC35F64802BFE939E6929004B056A9831532176B1AB6F17B7577C994EAE50667C44842ACB793918F39962150F1EB4AA0E520277691063A",
-    "identity_type": "provisioned",
-    "iv": "6F79E25D027B6E4186761C47E6E1EE0A",
-    "key_seed": "A891081463E0C9FE931B23F137879FF4B344F2BCB31D5FAEA2A8BFDDF5F13781",
-    "metadata_key": "07210356E3A7C4AF1B88209799127A55",
-    "section_mic_hmac_key": "9DCD53D49928551A914A807FFB85660F307480AF464ED3691142DA591D79C951",
-    "section_salt": "884B1C54E519FC35F64802BFE939E692"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A45B0515F2A249BF7B1387CB70901AE",
-    "aes_key": "021CF92CE743805B8DF93B88E6AEF0D0",
-    "data_elements": [
-      {
-        "contents": "08D11FED65701B3A3F5402894F1165",
-        "de_type": 677
-      },
-      {
-        "contents": "F49808BB6625467F86",
-        "de_type": 810
-      },
-      {
-        "contents": "CC13627179B6B8AD3F84",
-        "de_type": 889
-      },
-      {
-        "contents": "2C2EBC4E0F92D24D03A867AD8B07300E1F81BFEF9AE4C2B3F980",
-        "de_type": 950
-      },
-      {
-        "contents": "E55E101A8EF67E80A3AE5F8A0D1A5C1F37B627870B9D586FACB5A718EAE7",
-        "de_type": 760
-      }
-    ],
-    "encoded_section": "A090132E71DE6700AA3E0C1C842F31A135B2D5911000562D7ED3A3EA4D2620E92FA7DD128BDD9004035EE5E4CC870B7B1B812CF79D4719E2676E5E2AF7CED20BB42F45CD7F9B8ADC660E976D664DB7B10D049EDBEE2B60E69700410951E62CEBEB4EE089730CF9B259A2B651223902FF17B6FF7C025109F7AF444DB9C2DF564E676B720C0B99C0A9B84DE4D6FF084AEB943B95728F94BB1C65E44CE6C5A97A8847",
-    "identity_type": "provisioned",
-    "iv": "6AE6067877803C9B82D5B30A6792FFC7",
-    "key_seed": "1FF1D25A12210940D973C467FD115BB4B7C906C3FB38D21F16BE63744E016B5A",
-    "metadata_key": "CFF931305B876F2DBF5BA261EE9E8D17",
-    "section_mic_hmac_key": "467241B19A991B7AE839D5AA1DA92038F7389ECB55796C6C6B5B181070E23EC8",
-    "section_salt": "562D7ED3A3EA4D2620E92FA7DD128BDD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "485599A65B35D21A40658A9E2766B597",
-    "aes_key": "8663ED345FECBB713029DC829D74543B",
-    "data_elements": [
-      {
-        "contents": "E9",
-        "de_type": 810
-      },
-      {
-        "contents": "6E6E09DB0F2355AC2B3C",
-        "de_type": 404
-      }
-    ],
-    "encoded_section": "4890138E055A46A940DFF96DF637A5EFD7B93C911000E0A1D051D8D533CF3E77E10A5F8B6C0E9004E4E7C9C6EC8AFC814102DF0DBCEB09A00938F75F24DE48ACA96EB524B708D6D545",
-    "identity_type": "provisioned",
-    "iv": "8561B433E308C0D1CA6C9C91BCF0FF81",
-    "key_seed": "F3F4C98BCEED47C4E562B406D4BD793926B20945745F48D0EB78D5F31F9F2BCD",
-    "metadata_key": "308BB628E7DECE141A7C5309ADBD6A62",
-    "section_mic_hmac_key": "0CB4466330332C9FCD21DF8388B1A82C1384D041924657423091BF61A5199BF4",
-    "section_salt": "E0A1D051D8D533CF3E77E10A5F8B6C0E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0483C23ED6D77A8D0C278940BBD177ED",
-    "aes_key": "0621EC75B3278510C3093EC0603EDCF4",
-    "data_elements": [
-      {
-        "contents": "417A9B78",
-        "de_type": 640
-      }
-    ],
-    "encoded_section": "3E9013B8E0A03E4AE2E7C1B9F25ED66EA06746911000B48692BE5AFEED1AFBD1184172C7C7969004C1B7DBD5F3B1FD26360B730588E7A5D9AF6677656E2307",
-    "identity_type": "provisioned",
-    "iv": "14AE44FB4E180AF23246ED81C4286150",
-    "key_seed": "A0C7A5E03E6FEA711AAAEEA331CF2B1FC7FF1E9B11D45910ECD2C5B9DB4393AD",
-    "metadata_key": "F190DAF1401184759B968F030ADC4C41",
-    "section_mic_hmac_key": "969F571D76ABDBECCFAD193C906C94295C28257C8B6595A08FA511ED4107B32E",
-    "section_salt": "B48692BE5AFEED1AFBD1184172C7C796"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "22663881121C84CC788A4F6922C843DE",
-    "aes_key": "0F81827BB3D0C01DCF64D7E758984BF3",
-    "data_elements": [
-      {
-        "contents": "68C7FA8F642F7EA1691EA458690F29479E21B04CBB109FEF",
-        "de_type": 811
-      },
-      {
-        "contents": "8A0F88051FD567DE679BFB29095332F265EB034173FB9CCFA5",
-        "de_type": 435
-      },
-      {
-        "contents": "7248F229F7C3561570",
-        "de_type": 431
-      }
-    ],
-    "encoded_section": "7A901340369C7D4FCB569C613A49C8DBD0329B91100018EA0774B5EAACC943949E550BE9BB3F90027ECAEE8A6F71B9D7FB08EFE2E3703DAFAB895EAAEB766E0553D865D90BE25DFEFA27648AB16D8B9C9A6D9D516DA6C8D98A3B0347742CA933963AD32B77090A10B631362604FCD808CE3CFDCD1F55501CF6F591",
-    "identity_type": "trusted",
-    "iv": "619245F3980B3B070388B0E858E58611",
-    "key_seed": "3F58BFCB2F818DFCCF2B1A1DC6EF4CC4C30B798F65DBFD6CEF0FBEB2DD78D6D6",
-    "metadata_key": "19C7DFBC68C5918D20EEC53476B394CC",
-    "section_mic_hmac_key": "C7434DB05FC2B8286FB317867A78B34C7344CFF20EC1C4C7AF58D2DF66FDFE67",
-    "section_salt": "18EA0774B5EAACC943949E550BE9BB3F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7F398DEAADE4F63E3321618AC28B0A8E",
-    "aes_key": "0218AA8671D3E2E3B9EFE1B5C4C11581",
-    "data_elements": [
-      {
-        "contents": "9323424FE556B495790619DF9DACC116",
-        "de_type": 37
-      },
-      {
-        "contents": "128970C823632AEF313503B1",
-        "de_type": 782
-      }
-    ],
-    "encoded_section": "589013F189A6CB59AA3A5558AF3E6A708542E29110008454882DDD820F52035C40B1D5312A4C900428991BD1031F9679D03ED9FC6B252EB552937EEEB002F5948495D55B8C19BDA0EF0975100A8CCE558ED14FB7CA41783BA6",
-    "identity_type": "provisioned",
-    "iv": "548A8956100DE08A0305C789B52833CD",
-    "key_seed": "5B76B5CB1E81CC93E525AF117B8251E0F61C5DA57E4FA328E61A5BFAB48718C4",
-    "metadata_key": "CE0A85F582B746AF57AF0349E3258079",
-    "section_mic_hmac_key": "67A13CACBAB11819E8EB4E22F9F81693557DE288C42AB3731983D0C1B3C4FF76",
-    "section_salt": "8454882DDD820F52035C40B1D5312A4C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E86E43C49AD176E39A0AA9821C78602D",
-    "aes_key": "BCD5E866510A0A5B815385B383B22AE7",
-    "data_elements": [
-      {
-        "contents": "EC",
-        "de_type": 581
-      },
-      {
-        "contents": "59789A920867697109C3740D0B8029F1CC7000FF04EC0940",
-        "de_type": 978
-      },
-      {
-        "contents": "940D7B076B6CBA0B73872A012345F3BA97410D8709501262839D3DE137",
-        "de_type": 135
-      },
-      {
-        "contents": "E261435EBE",
-        "de_type": 88
-      }
-    ],
-    "encoded_section": "7D9013EFC8FC9DAE00AF80415337DE30A6E31A9110006E869407F2E81551F812020C3433D0E1900254214E6EE97EEF7619C5FB9880E26357ADA5681E80DA9C8E367034D066375C0E8B834CE14A1AB864C7EC310AB35FDCC21167922D8192D0C782DB32A745BFC329176791D090CEE07B7C2E292EDD1DFEE41623C9555EF7",
-    "identity_type": "trusted",
-    "iv": "65C99C5FA0A0746E69C46E0C4A857592",
-    "key_seed": "BEA6260AB3A2F619ADB859391F6A6CA28177B84CD449C728F6189F0467F525E1",
-    "metadata_key": "7DD064AA32B3E04C57BF54B824641E1E",
-    "section_mic_hmac_key": "6660174157DC50F6D1C82D1C8D416C0E6EDCA0874333C3D94B46926CFCB12495",
-    "section_salt": "6E869407F2E81551F812020C3433D0E1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B040969C351F81AE34697DC725DEAC92",
-    "aes_key": "3AF9FD8F0D0707DA73D7688D0CA0D2A4",
-    "data_elements": [
-      {
-        "contents": "131A8175D19006DB8D9021",
-        "de_type": 125
-      }
-    ],
-    "encoded_section": "449013A902FC6AA6817E9CA34B810932FCB9FD9110008681C5D8FBCC1970B3C6D9F7083FF9E9900475EF1E2E01C84DD0353766ACDE314778BA6ECAEAB9D9A63A60B5578C96",
-    "identity_type": "provisioned",
-    "iv": "8C96BB516E8363C0CD2BEFF0AC4CC486",
-    "key_seed": "637D181D26E0CF8BC0CE45DFE20610F6EAA306196A0C22BF51DEEC49E1A33DAE",
-    "metadata_key": "FAA1CBAF42E95200D71F3BEC89C79671",
-    "section_mic_hmac_key": "CC1FBEF9A592EB51101E67FCBA18B5FC3DC62CA157CC01ECC68B9BCD643FBF0F",
-    "section_salt": "8681C5D8FBCC1970B3C6D9F7083FF9E9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "259B5127DF0CD589480E4C1AC87A2186",
-    "aes_key": "4188F8C94E54114D83CCDBA4A51A1BDB",
-    "data_elements": [
-      {
-        "contents": "A0382BA41C0E9E669742CCC8830D5573AD19",
-        "de_type": 851
-      },
-      {
-        "contents": "624153",
-        "de_type": 573
-      }
-    ],
-    "encoded_section": "5290138B66DB3AD592825ABCAA7F300DBAD488911000D13AB39D6F0C08DE53F3B616CD929F529004A5838FA715D57CE71AF1A64E317091B45E3310331738129691565D4839D38D4D6127F0235BA458A90A2766",
-    "identity_type": "provisioned",
-    "iv": "0235DBFEC90AFAEB878738BB174A8EC4",
-    "key_seed": "E8E501A2579003EDB979B9C5B4C806B4A428D23DA93761D2C8031169BFF83A49",
-    "metadata_key": "236C4FDA97FD30586D9FC950F334367F",
-    "section_mic_hmac_key": "D28C28C41D9CD5B0481A62C0CEA0BF13E4910DD423C1D93C37B507D32D33DB8D",
-    "section_salt": "D13AB39D6F0C08DE53F3B616CD929F52"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4C5AB029E86C38CBFC138696992D680",
-    "aes_key": "82DDE2E32703369FFF54C2119F64CAE8",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 580
-      },
-      {
-        "contents": "FB89815745BC95",
-        "de_type": 244
-      },
-      {
-        "contents": "2C17D2FC866D81525A7E8595D271C871B96942BE",
-        "de_type": 376
-      },
-      {
-        "contents": "4F42923EFBCF460A8D860BD405DDCA46F7C9DA0F9232E0EE23BE8B97",
-        "de_type": 778
-      },
-      {
-        "contents": "75924E160C",
-        "de_type": 857
-      }
-    ],
-    "encoded_section": "829013DC35D4DE7558FE79F6AA7C452F808B9E9110008F239DDC995DF4C680B358A8799066669001C201BDE177845AA6604EB7B7AF789F5B7502B5F6B6E546EA0ACDC9715CAC6D0250188744CDC08F61E13BF0C177E9052B3866BBEE1939A20D19BCCAEC81F6B365164759EB3016EDFDB09B0064C21C15EFAF9A9E51EE666D2B8D5174",
-    "identity_type": "private",
-    "iv": "090B960514A2ED05926303EBB8DFE844",
-    "key_seed": "117205E1E7B6CBE3FA0DCD6A5654D6D4441C86E3F1D2CD8D14E9A00A50F44A79",
-    "metadata_key": "E29007F32F7ABC691ADB2154678D5033",
-    "section_mic_hmac_key": "06B6CFE233713E34981D8C0B59B6BE1471986D027521B7DD6A9690E3E74C735B",
-    "section_salt": "8F239DDC995DF4C680B358A879906666"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BE9ED7A60A893A866CDD037770626A2F",
-    "aes_key": "7DCBF0B035A5999D3B459BDDB37B9396",
-    "data_elements": [
-      {
-        "contents": "2EBE52B4DC1044C8",
-        "de_type": 760
-      },
-      {
-        "contents": "C061BDBA02F6C0E30E0DCBC8299DABEC493B",
-        "de_type": 472
-      },
-      {
-        "contents": "21",
-        "de_type": 20
-      }
-    ],
-    "encoded_section": "5A9013411A3B5ACD35928ACAD6914239129E329110003099AE6FC3D8669851B51D620A42D12490021B9AE05BD61343867C3C240280327F3246B377D7395B554EB49E6A77370AA68674ABB2B6A256306A1F6719625FB54CC895CD4D",
-    "identity_type": "trusted",
-    "iv": "9D72BBFEA0497D1DA4ACC45BB2A90377",
-    "key_seed": "94F97F6C1E46E30EDC42E6CF6D4B8A1BAC6ECC27853F85B2C8812020CEE49433",
-    "metadata_key": "4796CE9A597223DD3B0FA429601A6835",
-    "section_mic_hmac_key": "E480E1D001AF6DEAB85E05569F89C554C91B4C10782D524BB531C0923E5250A8",
-    "section_salt": "3099AE6FC3D8669851B51D620A42D124"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A9CB9CBD617009C6886517BDCE283660",
-    "aes_key": "33CAB010C3BE276797895D0CBB60AF4A",
-    "data_elements": [
-      {
-        "contents": "D5D03D064D9C1B5E9A5C4843B275C3CD",
-        "de_type": 202
-      }
-    ],
-    "encoded_section": "4A9013A93E5B9A890CC11B51885D93E342F9389110005A3E86C86385ACDEC0F67A0F951409459001AC946618BCDE275AB4E5C0B22C054AF7D38CA4BDD5EFACC2BF163FF305CC85E79B26FF",
-    "identity_type": "private",
-    "iv": "4C11908D956A1BE7E5F376D7A95379DF",
-    "key_seed": "26EA70FB5958B3D30BE5A4B674BF26C35B1165F1167D4D26C2D4FE89A95C444E",
-    "metadata_key": "450130FDC1E9E917412A844B0B6965F4",
-    "section_mic_hmac_key": "17D847BC251573C504C4A10D3C9D76CBCC4D8D59C70AF2FDEB8BBAB809195D5A",
-    "section_salt": "5A3E86C86385ACDEC0F67A0F95140945"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8DA30D413D04342787231D2F4703060E",
-    "aes_key": "73D393348C0CE43988E36C73C2801695",
-    "data_elements": [
-      {
-        "contents": "5AAE629F32372A1DAD4D4214BE001D6004297951F2BF14A958",
-        "de_type": 250
-      },
-      {
-        "contents": "71EED7E50F377AE422EE9A62664C63B6E8FE7414A9972E",
-        "de_type": 997
-      }
-    ],
-    "encoded_section": "6D90138CE8BA256E0D3CE40503F1380555F4F7911000BB2EB1934C4103EE116FCD3227F2E7069001753ED1826BB108753950EE7BA87DAFBC1B893DA6A95349D954690CD30E420AA407E8E7C19B7EEF39A868DA4EDD7F4D94E30A775DE0C1853EFD8376B7E913D57B9B22BD228340",
-    "identity_type": "private",
-    "iv": "B1A2C2E8EACB2DAE589BFBCBE73936CD",
-    "key_seed": "444A7A142BCEC48DECD9BD96B469078C247A46A276589BC49278B46DA1E66898",
-    "metadata_key": "CDF23D34FD5AE8DCFA43439FA8C1DC83",
-    "section_mic_hmac_key": "EEACF4F747FAF85850228F313592C4A866FF0203423AFE73AD8A784C68194679",
-    "section_salt": "BB2EB1934C4103EE116FCD3227F2E706"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4E79E2C2CE7D1E7F2B4C0E1B4C6FFC4E",
-    "aes_key": "686366F14F36F2790F49961D570E31DE",
-    "data_elements": [
-      {
-        "contents": "79A5FCD4C4",
-        "de_type": 275
-      }
-    ],
-    "encoded_section": "3F90137BCB86F08C9E2472B4D7865E8BD67102911000979F2DF1B430F042258DB96F09AAD2DF9001DE6026894781DF90B574283521D90A8717B44B9B83E93441",
-    "identity_type": "private",
-    "iv": "CE4D3E400223D202DF6364CA96D7E81E",
-    "key_seed": "2228A838E4A0FFEAC5045A52ECD38BEA130DEAE56F87E848D347EB39DE7A04D9",
-    "metadata_key": "28D3DD52B97F54DE9D11725E5BF0DC77",
-    "section_mic_hmac_key": "A08E5F1CADE33CEAF811625E4F2431704021BD148A11C14E628A98F81F266BAB",
-    "section_salt": "979F2DF1B430F042258DB96F09AAD2DF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5E29E2EB2092471CED1528AFADDC750D",
-    "aes_key": "737BBD18F03E6F059B322E4984AC52AD",
-    "data_elements": [
-      {
-        "contents": "7EB2",
-        "de_type": 976
-      },
-      {
-        "contents": "BDBC400C6F43C492E5BC65B89C6A4F7F",
-        "de_type": 716
-      },
-      {
-        "contents": "4C",
-        "de_type": 151
-      }
-    ],
-    "encoded_section": "5390132D49C0DF41955CA5679606D637200C9A9110001AE616ACFE4F0F208FAB57B1798342BB90020334CFDDB0B6CE4BC468F665A6D3E9848C4EDBF35A9F75066415684A86653A4C961ADD30DA100FA9D45AB391",
-    "identity_type": "trusted",
-    "iv": "5D03AFC4DBB2F4EE8754B67BFC78BFA9",
-    "key_seed": "9DB1FF1FB929DAB1AE43C57DA23E8F85253E8FEE48A2BB00C3F6034DEF843692",
-    "metadata_key": "242B7758F74E2B36DF8E7D81150606AD",
-    "section_mic_hmac_key": "4C0D23B47C5E9382FA9885B053CB40936954A90B59F2401BA4C0EDBE229A513A",
-    "section_salt": "1AE616ACFE4F0F208FAB57B1798342BB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "242CC33270FB75C2FF4AD84277688FF7",
-    "aes_key": "EFDE819D904C83619D2D30E4D70B8CC8",
-    "data_elements": [
-      {
-        "contents": "12529277C5D50C8A4F095B89345B",
-        "de_type": 507
-      },
-      {
-        "contents": "63BA0A52CF5AD99CB9195FEC1DAE109ACF988B7BB17282BD",
-        "de_type": 1
-      }
-    ],
-    "encoded_section": "62901383DE207E70B383FC58B678E7BF4C5F419110008C5E1F088294820FA32847D46AD64CD99001E9A0818C660D4C99844859DCF57F3D97D58E724BB646F119976FABA1133442628E2C0B2F46D86BBFA1853D6C5ACCCE677175CC9426CFE14B8AE6A3",
-    "identity_type": "private",
-    "iv": "496EC166AF60125F0446D500C3C3819C",
-    "key_seed": "4D7CCAB2C94F07DB0EBAB82519938066F522CECB330EBC69EAD51162FA850B5F",
-    "metadata_key": "C2F07402322F9CE5371684278F3E2135",
-    "section_mic_hmac_key": "C706AB65E845183DBDB246542F2DC17AD0B9F185BD72631BFD48648E84B2C19E",
-    "section_salt": "8C5E1F088294820FA32847D46AD64CD9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "838C29BC8D62B7D297AA86FD6243397B",
-    "aes_key": "A72506C80E6101E8215D5ECD7CC6676F",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 831
-      },
-      {
-        "contents": "11ABEE",
-        "de_type": 750
-      },
-      {
-        "contents": "A99BBE1C3491A3F8E9FF3275512D74FBA0E11A098F279BF2AAD24A8E",
-        "de_type": 180
-      }
-    ],
-    "encoded_section": "5F9013B302168E039F6DF5F2FF279877BC1B6D9110005825ACEEA13D43300CEC795C9B920143900121D5C02870290006416E2234FBF50EB66BE0FB78C922B7C5066877C09952128FAB2AA8C264716E1FFAAAC4BC1428DC23A61546EFA39DE256",
-    "identity_type": "private",
-    "iv": "F1B9213795CF50E84E407BD7183C35AE",
-    "key_seed": "0900BCFAC049F0F0D650C4FCDC0D6F2E1D92A5F60B1E8BB145ABB628AE5E58ED",
-    "metadata_key": "FD4E55647EC444ABF650341BE49BD761",
-    "section_mic_hmac_key": "940BDD8441E16C1D3664C7A47FD3453C7DD9090535D53E84609CF8CE3410CE71",
-    "section_salt": "5825ACEEA13D43300CEC795C9B920143"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "608E20905F4D098AD75DE34EBA3CDB0F",
-    "aes_key": "12C7CDA60ACECF2B3D80CA63FB0CE287",
-    "data_elements": [
-      {
-        "contents": "15F7D3848623835A",
-        "de_type": 717
-      },
-      {
-        "contents": "5A745E",
-        "de_type": 3
-      }
-    ],
-    "encoded_section": "46901316E172E08886A7FBEBCC5B3AA0B17832911000F09EAABD05333528D512C8754644B8AD900467F1A59A78636BADDCEA44E2893670AF125640CBE4AD92E0C2660E6B8FEA55",
-    "identity_type": "provisioned",
-    "iv": "B23BF0D8170F7217B2D653298DDD2F85",
-    "key_seed": "EF6FA69F6234C814FE90CEACF8312CD80CFFE80D89B2F4D95E7B8D3E2CEE31C7",
-    "metadata_key": "1F0CFD60026CF03DE3CA79B50FFFB3CD",
-    "section_mic_hmac_key": "3C3E1B060458BACA20D16BDCB96BD91B5FAE8216ED5EBC29943EF8C6B02C3C86",
-    "section_salt": "F09EAABD05333528D512C8754644B8AD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C10B4E56E4683A24D3909A366D30B66",
-    "aes_key": "1F64C99EEDE773095F8E5189F3F9A7DB",
-    "data_elements": [],
-    "encoded_section": "379013AD9EE886E64FB47387AFA86F92431ACC911000F0A95F8B37A126FAA7403D8A3AEC350D9004F4D183272101D5C8C109012B210A5C67",
-    "identity_type": "provisioned",
-    "iv": "342C3BAD447104821279EC85291B0475",
-    "key_seed": "B2101BE6844AE38B5AC0D33C747729B1F09E4C8900EAA870412268A94852B40D",
-    "metadata_key": "91F63DC00A30570F6205FDB025AA95A4",
-    "section_mic_hmac_key": "3065A710A4107F326F25360F6E498B7375AFFE566A86DEFB62D254C67EF089BF",
-    "section_salt": "F0A95F8B37A126FAA7403D8A3AEC350D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D94830ED029B92E5B29E222F722B9B6F",
-    "aes_key": "C57D61016B89F28132CA0B4CAA8A1CA0",
-    "data_elements": [
-      {
-        "contents": "402E4416B0C352C40F1163D869B8B760C17457D6C3",
-        "de_type": 188
-      },
-      {
-        "contents": "51248E19812A467000",
-        "de_type": 62
-      }
-    ],
-    "encoded_section": "5A9013EE7189D36F22441A68DC1425B2B4A411911000CFF8A395F22500E8EBCAD614762CF95890018C3EE3D4AEE5CFCC9E2D3FA21E1B79F7D2D3C7364CAA0F33952C56709120A420E36A8443D4870413BA5BD27BE985B58F824AC0",
-    "identity_type": "private",
-    "iv": "DF4774BDDAC6C269773CD0978A6165C3",
-    "key_seed": "346411BF7C90DD0794DE3F6C9DA0D22F6B0A59811E164CA362548BEC7B452A9D",
-    "metadata_key": "D440B77462CB03579C051678FA0C9E06",
-    "section_mic_hmac_key": "70A01DA6C369A6B9ADE05B5C57EB0D5086D2A4EF2BE3745CEA1EC3AADB0EE1FC",
-    "section_salt": "CFF8A395F22500E8EBCAD614762CF958"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "655526F2B3BD4707D603BACC74ABB7D8",
-    "aes_key": "FCE4B6C8FD25716486D3713F4331B438",
-    "data_elements": [],
-    "encoded_section": "379013D596630672DF75A4EA5478E59232E39D91100095894B2B79D0B4A3FAD605E277AA33A29004DC96C8EDCD236F241AF6E6AA6DC69752",
-    "identity_type": "provisioned",
-    "iv": "E890D5EE6189B3BAB5FFDBC0AE63CBFF",
-    "key_seed": "79B865DE8DA7B8930812A3D4E627A1CE74476AA1BB51116CC6B43A0E0C3ECAF5",
-    "metadata_key": "0FAFAA9D6FC46F82384F0D12FB7CD252",
-    "section_mic_hmac_key": "927666232383A3029385567EC2BEE80951FA4ECF87193393D76E545F3EDF131A",
-    "section_salt": "95894B2B79D0B4A3FAD605E277AA33A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A03E7E784F3434A59007980D905D9B94",
-    "aes_key": "4C68AC909B3117588857C08E1372E532",
-    "data_elements": [
-      {
-        "contents": "184F372DEE00B3F9ED09A7BF86363D488330FFF7C2A0BF099257B3236C",
-        "de_type": 301
-      },
-      {
-        "contents": "9A6408F59389014B219E5B5AD8160848ACA710DE893162BCC2",
-        "de_type": 713
-      },
-      {
-        "contents": "5D3D783CEA628D3E482D801AB6B1E2",
-        "de_type": 799
-      }
-    ],
-    "encoded_section": "8590139CF16293B97917755ADBEF1A013CB4DC91100011705C1239A7475C4A716F4C78B1C8A29002D00DA5542C9AE536C8295452971C87A93A5A15D6C531300972C9451FC7F2644E5803E6E2ADACB793DC59AE0BEF3ACE6E06F03991C717782A35D5DB04914ACA3DBA25CFB011C3A55933FCB48DC19D1938DEC79B8019285B5394C67E60E4D2",
-    "identity_type": "trusted",
-    "iv": "6A675C10F654A737352FA395761C8645",
-    "key_seed": "A5A12D4A886399DE973FDD1D713335DCED621F1A9912397CF17589F2921C3B37",
-    "metadata_key": "F0354D2E5C76AA746DEC6F428377CFFA",
-    "section_mic_hmac_key": "B5FE7969BAFFDB41E39B07E4272ACDD8F2959147C8A3524FD34895B1B4AF1215",
-    "section_salt": "11705C1239A7475C4A716F4C78B1C8A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6FCE962D651CFA1D1FC26D80D2766F41",
-    "aes_key": "B4B66DA5F5812D38A75BDDD3D39DD03B",
-    "data_elements": [],
-    "encoded_section": "3790132AB715C6AD8256E26D58639B9D263A4D91100078185D32370D3883575CD08D246320B69001F7D0D2D1DDD55101513DB171CA62205A",
-    "identity_type": "private",
-    "iv": "C1E034C75C6B7F6FA8FD225ACE7198F9",
-    "key_seed": "B1CCC7A6A5647E35926BC885BC1462888401B75E7E873A160D9078009E176224",
-    "metadata_key": "8D008DB1E71FF2FA4BB7846A6EB5957B",
-    "section_mic_hmac_key": "B60AFA9229E0A951BE1EF9C112E0DC7E5BAEFB8EFD6C4D87C49B12AA9FDFC246",
-    "section_salt": "78185D32370D3883575CD08D246320B6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BF2838A458097277ADCBE68878A11EDF",
-    "aes_key": "A42FB4383593544F9CD02358F7450E3C",
-    "data_elements": [
-      {
-        "contents": "9AABF3A4911F54903A7A585C5935598A17AC1BA1730F11BCE2",
-        "de_type": 220
-      },
-      {
-        "contents": "DBE8AB3119CFACBA0616EBEF11805BA7DB4C6D8EE936A0C75A585C3731",
-        "de_type": 109
-      }
-    ],
-    "encoded_section": "72901311DD08CE860EC740F5AF704F4ADC6197911000A5915C75281308C25817A519495433AE9002ED9804291B041DF22F1132D88C7AA514CB99C25507964F71B3E681BEC95DB43D36ECCA071FB2EAB77EC221F2814F09A6407F6D6DDF2EE971EEB161A2E4723C08C3D8907207D24940AAF9E5",
-    "identity_type": "trusted",
-    "iv": "B1C915A96024FB361DA2E9E17D7C8666",
-    "key_seed": "D679DE42650FA520DC444F00DC53331B27A4204BE69BEB44794C7566C616CBF8",
-    "metadata_key": "76A213E2A9FC5F503DD5C6E48151E973",
-    "section_mic_hmac_key": "F5A02393A6338BC5D6F1099318530780F0A4AF604FEFE53E948D55487CD6C14B",
-    "section_salt": "A5915C75281308C25817A519495433AE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7DBCB27A82A7D1338F3F078D12EF928C",
-    "aes_key": "EA6B8BC0D8703795277414578517CE68",
-    "data_elements": [],
-    "encoded_section": "3790130BA98A4D2047B41A35E80D49E0D91691911000670F2BAEA4F3B15AE1D3E0A72C72C9209002DB5533D4335FD2C3B6461A9967D344A2",
-    "identity_type": "trusted",
-    "iv": "758D967581262F3882B691B017798245",
-    "key_seed": "8B3FE8D446D0293D99FF268E762B47E33A0B530993E7177F7FED43D4F8C31CE3",
-    "metadata_key": "36C1E1FC2CC7E80D4FC938FCB14F4A1B",
-    "section_mic_hmac_key": "5DA2A4D4B98205C3C9FFCCB93F070B4899739631327C7A86246E0D5111EADB48",
-    "section_salt": "670F2BAEA4F3B15AE1D3E0A72C72C920"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "956D51B44D835809B4DCB5C1D6EA607C",
-    "aes_key": "2AE3CDCA25A22C8A800EDC754D23E416",
-    "data_elements": [],
-    "encoded_section": "37901310086B129A7A396A6DF01FA7F82D5CA7911000ACB37E7A8113B240AE185B5E6AFE9242900251C8DEEC88E53A72C6DE2D61D82C1E04",
-    "identity_type": "trusted",
-    "iv": "FB4F3041A58B740895B607D12438A62F",
-    "key_seed": "75726D6692B7BA73365ED6114AD116A882A771857698CD296A1766803F0C748B",
-    "metadata_key": "090CE8211B3E5418AFFACC353FAE8E45",
-    "section_mic_hmac_key": "EBCE5FBC0923360145A72E27B3FCD677A9B16527631A374EFA5BB4766BF3567A",
-    "section_salt": "ACB37E7A8113B240AE185B5E6AFE9242"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "875B4DC0A9FD6582A298160D8B07241B",
-    "aes_key": "DD8E7898DB01F3022171929DBE859B05",
-    "data_elements": [
-      {
-        "contents": "820995BAB825E0BFCDDD7710B139746B8E330E859FFE",
-        "de_type": 177
-      },
-      {
-        "contents": "6B1EFB732380455FCE778DB6DF50D9C474BBB3353845AF1B",
-        "de_type": 883
-      }
-    ],
-    "encoded_section": "6B9013113600EB6A517F05193F05274022755F9110001CE97084F1258375F2CBE48D88EDE4EC90011A1C1B2B6E68CAD942903FCACCE5E428FB1BE044C55685B3EF94097A3B1FE658703C24BB548E88ACCE80FFBFE5DD8A5A4724CE2254F077234A7282984038E5A062822549",
-    "identity_type": "private",
-    "iv": "CF9EBDF3F06EE6C72089D0F4290F202C",
-    "key_seed": "F6EAA293204F1BA807120918B47F7F1C2DDF8085F7A1138452F72022B16A2D02",
-    "metadata_key": "AA009F2D3D1F97B63CCA3AEF490576A1",
-    "section_mic_hmac_key": "396722ADB64CCA9695A219385A71EECA3E9DD57A1CCFE93009795EA3D5EBE1C5",
-    "section_salt": "1CE97084F1258375F2CBE48D88EDE4EC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A72824AEC67082FD52F521DA153BC437",
-    "aes_key": "4A68482B406375EA353B8D3DCC41DA3B",
-    "data_elements": [
-      {
-        "contents": "7F8DA439C60E",
-        "de_type": 262
-      },
-      {
-        "contents": "4DA31B9C1BE28FE4B906597598",
-        "de_type": 131
-      }
-    ],
-    "encoded_section": "5090134CE0387DF697DBFF2B6967B922DA1B96911000AFA838CF8AF1E94C6D3ADC3DEAF9193A90014B4B0C5F47F4F72BC0E54FD3A225353D9C2DB6C6C6582B24F2F4EC601F0AD29D305029F326E4E13E42",
-    "identity_type": "private",
-    "iv": "39DE563E758D36C340A8F1161F88A725",
-    "key_seed": "DA07B9585C6328F8FDA0561EDC40F00B21EEA83C666B73A85F099FA6F4B77F4C",
-    "metadata_key": "71675EB7D69EC84B1E4C058B6642D812",
-    "section_mic_hmac_key": "64B80C39B9AE9DD8A7DA97E73E8CFB415AED92B75A815CF1C66AE29FBB9C3D78",
-    "section_salt": "AFA838CF8AF1E94C6D3ADC3DEAF9193A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2D6A4B8DBA9D00228B9C0CFFB24B916F",
-    "aes_key": "C0E2C9F0CD3574911480D28E4083263F",
-    "data_elements": [
-      {
-        "contents": "6F512C943F83EAC9E6E961039D2B8EE806C0",
-        "de_type": 296
-      },
-      {
-        "contents": "3F16FD30D2B0ED2EBDE2EF4C85FAAB16BB428A1E0C2BDAD76E",
-        "de_type": 243
-      },
-      {
-        "contents": "528F528CAD4F647536823261A121CE0875A0E5E41735BC7ACB",
-        "de_type": 950
-      }
-    ],
-    "encoded_section": "84901365F658F25AACABB8AE42B7ECD7FDDD1C9110001C67EF90C57AE9B73871ACEEC9F02F349001EF235FC538D616127E38A22C5C64B5CC82F64248EE2CF44866B2A653BDA861AD1A61493F0DB877C8C4F2DE6F602B859659363701A8C57EB57B60D69C1A556FA11E068F407BD6C9355BB53CCD48FEC132F531519C6A6BE20F6B68B4BBFB",
-    "identity_type": "private",
-    "iv": "7C742AEB01EA936BE74C4B5F177C6761",
-    "key_seed": "A6CC5A90AEE26189984C71CF6FE0DD2C0AEAB767E80B709FC27F16A69EA1504E",
-    "metadata_key": "AEDFA8ECED1B2D6572BF4B181AC7FAAA",
-    "section_mic_hmac_key": "4B1E36074BC7AD29290AF198E332090BF9910FC0D0487C5F46B0EFB009C5B916",
-    "section_salt": "1C67EF90C57AE9B73871ACEEC9F02F34"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "361583139DED2B1E673CD68C16029294",
-    "aes_key": "44C55EF72E97F5BFF1D8564CD731B946",
-    "data_elements": [],
-    "encoded_section": "3790138230C234237A46210D3A04195EE568B0911000292825357BE80336C2218747E9656A299001C92A44671591C7ABF14466844D19A0B6",
-    "identity_type": "private",
-    "iv": "35847BF297CA4F0F3EDEB1EF206DD353",
-    "key_seed": "7FBA013FD2C6A89A6FC72F072A21DA549ED8BDFD1BE50818819EE20C7CB66572",
-    "metadata_key": "0361C0EDBEE48B8DE9C163F5B8241E8B",
-    "section_mic_hmac_key": "27E83E253B784927867786E495B1E54B1B2924DDC766239A45D9D501DE33DFF8",
-    "section_salt": "292825357BE80336C2218747E9656A29"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "01AF8D1493DA0EA7129FEA26F691537A",
-    "aes_key": "B3E74FD64DCFB8D61B4BBF6060921947",
-    "data_elements": [],
-    "encoded_section": "3790133A7FC10C9D1239CD46C3C6B4FC5B9ED49110002478216082A06CBE5C03A3385785D1719002A06C5AC8E3510C373EF27BF7B5B78B7B",
-    "identity_type": "trusted",
-    "iv": "5EDA40827CAB924516B3193A4447F831",
-    "key_seed": "F427B6C08CD9D9EB69955C96D8B523840C8B9BA38572A5AA5BB2263EDA599A6C",
-    "metadata_key": "E754D8C6D2D5428A722E130924D9781A",
-    "section_mic_hmac_key": "90CCD137B4CB590B4D8D37A0EB14FE350FA1E771608DCCAB07469946BB771F76",
-    "section_salt": "2478216082A06CBE5C03A3385785D171"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A95465E03BCFC8E5BFEF31C055C9A024",
-    "aes_key": "0FB48B0B5519ECB357D58721E1A24445",
-    "data_elements": [
-      {
-        "contents": "90B0D5AAF302AF084AECF24D32939E",
-        "de_type": 404
-      },
-      {
-        "contents": "AECA1B6B0D10D843E73AE0165A3E7D5B2C8B8310B7FD00B8810684",
-        "de_type": 59
-      }
-    ],
-    "encoded_section": "669013C6E721C70C2B3944B5FD253FC61566E491100053615ACCE2909F94FA4B998B569163359002040954BBC4C277CA47D211B5FBFDD97499FD51F6C8E8DF808C51649BEED660998226AFAA10BEC9769D1482673B7A0403F5AA343370C040F9F7B82DEA9D8C1B",
-    "identity_type": "trusted",
-    "iv": "B4A532C12A214BC4D727284823EAC0E0",
-    "key_seed": "0F74A62FBF6CF9220166B846A0F76E669E42D1487EB5FD359B0CBC65FCBA7EF1",
-    "metadata_key": "8EDD19022D2A88C0441386C74AAD046C",
-    "section_mic_hmac_key": "2EA06B4B794A2F454E5B070979EDAD76D4983DFB48A098B472710D7917D3E5B6",
-    "section_salt": "53615ACCE2909F94FA4B998B56916335"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FB45A0BAA38D0F35A1F64D9C72B923C8",
-    "aes_key": "9ED5B7BB2B1C3413E6AAC6DFB3754FEA",
-    "data_elements": [
-      {
-        "contents": "2CC3BC6746DD1AE5",
-        "de_type": 152
-      },
-      {
-        "contents": "DCEA4835787A94F495C7DE8F2AAE080A39FFC9",
-        "de_type": 876
-      },
-      {
-        "contents": "DC2F08CEEC54",
-        "de_type": 70
-      }
-    ],
-    "encoded_section": "609013D8F958F5ED45F8F3727CE84B31A06C0891100025A2312ACCB5535F0EF3A099EA10E7A29004D31578964C0136C455E1985055CCCBD7B56A8FD9315960FFBD889907F17865933AD86C73BE09C9E85B1CB8598B4B2E259AD4DF9AEC0871D2D6",
-    "identity_type": "provisioned",
-    "iv": "F332E711DEC606885B92138FD805E405",
-    "key_seed": "44DF410E636A1EBF23DBC113B90F004B58E95049C1826B8F9EBFA59A6F02F39A",
-    "metadata_key": "7FD6C62197D5111EAF0F95084607D88D",
-    "section_mic_hmac_key": "47CF9B8136955D1DE13DFC33ED6896E7A0F27264C5D71FED5148AFA99B3A972C",
-    "section_salt": "25A2312ACCB5535F0EF3A099EA10E7A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C74D81C8ABBAE1C6A90F9285801F2336",
-    "aes_key": "7892DB13943D1F5167398B4A23835088",
-    "data_elements": [
-      {
-        "contents": "0BEA3CC25F2B23B1A69CB239E9FB07BEF76623E4AF2F5A0C3679AF79",
-        "de_type": 746
-      },
-      {
-        "contents": "8AF23F8EF77D8403BE6D6C9244",
-        "de_type": 465
-      },
-      {
-        "contents": "82",
-        "de_type": 545
-      },
-      {
-        "contents": "9DB8C637C4781544D09EDEA5764F8FD47516ACDF62D8AD98F5586504",
-        "de_type": 9
-      },
-      {
-        "contents": "DFA09FD8BB33F71593",
-        "de_type": 590
-      }
-    ],
-    "encoded_section": "949013B2EE5F6DD997B4B4F8BBEECD33984B23911000757F746B62CB45D006E374E2B107DA549004285D582E49B413EE38A1FF386B7AC0BEEC63BD9ED74984319CD8FB0F39ED9104B6FFC3474EDB24465C3FB6D02CE61FCCFAD1EFE9BF6E06E2394CE62584FB7E76BE01E18C3C9CF2E4932F35F7C6DB988DFD97DCD08B983AE89AB6AB1B6ADA891354C1BD42E38BAE9EC4BE692CEC",
-    "identity_type": "provisioned",
-    "iv": "C1144E36B46120A9BB81FAF638354A7A",
-    "key_seed": "A06644701F516480CF3EED2B66DE14FC48749E39C24CE4262F416EE47407C482",
-    "metadata_key": "A8F0E7D1D083B1EB0E6BB743D2C6B5B5",
-    "section_mic_hmac_key": "96BB03131488C6D55F42293579231EC82F49E057D9D1D91AD4022380BC2B32D7",
-    "section_salt": "757F746B62CB45D006E374E2B107DA54"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8DC60BD4378BA88DAEF0708052F570FC",
-    "aes_key": "AD070254CBD31CFF78F5413B43E1272B",
-    "data_elements": [
-      {
-        "contents": "11FF19A9F2D6881B904B6A020B0658C3C724",
-        "de_type": 127
-      },
-      {
-        "contents": "0914FD60DB1B",
-        "de_type": 98
-      },
-      {
-        "contents": "6DB43F08EE556EF61E1F845D09178098CBE43908E0FE46F8",
-        "de_type": 256
-      }
-    ],
-    "encoded_section": "6E9013EEAB611CFFAD8C7D963355A833C9DA149110006F93D279192BDE0E527BD7E8B3168A12900445AE2642753C4D802B090C99C6EEC222388F26C0C119EB029487297606DD5772A0B043DAF23A826A3C113B6EF49C5D4F01202683137DD3FD800A4DA9E8DA510EA7F8C658101225",
-    "identity_type": "provisioned",
-    "iv": "C69FBF9DCC40FDEAABC5656F054A0B64",
-    "key_seed": "221AE078D6806D3A41EDE4DF8CAA587F4ECFBE17210DCB7F168FD6C2DE4C3C2D",
-    "metadata_key": "77E1A4867CBF4DE00E5C9FEF4DE9D68A",
-    "section_mic_hmac_key": "D60017BB5E5C89DBFA59FCEF5BEF61E3DF6DAC38163D4964FBE4212652058574",
-    "section_salt": "6F93D279192BDE0E527BD7E8B3168A12"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3E93896B318C8A8A2B86F8BEDC4978D0",
-    "aes_key": "DAC516C10DF00826FD6F624BF8B98920",
-    "data_elements": [
-      {
-        "contents": "83674116AC5D2915591B2C50E71E0C2402CF047D4E",
-        "de_type": 602
-      },
-      {
-        "contents": "E199053B60",
-        "de_type": 165
-      },
-      {
-        "contents": "9675FE47BD8D10B11EAD1E1377D3772D5951BDA26D8DBE8521CC",
-        "de_type": 755
-      }
-    ],
-    "encoded_section": "749013EF13622E04C646DA50382C936028A2DA911000A60DAE9062B7E80920115AA20A3DF6709004B9CD323F7489632E56DC010ED403CD83E2E22426733185AE3ED210CE702CE2959513B35B894216D0CBAD236E501B715E3801031478988BB7334EB6EDA2D80C4CD7B78E7A64916749728DD6305F",
-    "identity_type": "provisioned",
-    "iv": "D952D1CC42037B34686C0B0BD9E697F3",
-    "key_seed": "B5663E9F549316F4156FE1E1F3A88CEDFD45EEF1413692310A745E7C711BC323",
-    "metadata_key": "965D9973134E4C5AA5B527EE370875D4",
-    "section_mic_hmac_key": "3AE74AAF3A515AE1EEAB3BDEBEB1233C300AE27BA3A5668BDF059BD400E07F7D",
-    "section_salt": "A60DAE9062B7E80920115AA20A3DF670"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5A049145452ACBD46CEF34B3D44ACA7F",
-    "aes_key": "DB91A343B3C4295B3B5A7578BAD0957E",
-    "data_elements": [
-      {
-        "contents": "4044A5D3A69B",
-        "de_type": 200
-      },
-      {
-        "contents": "B5B5C084C05D28F6A5776A73",
-        "de_type": 53
-      },
-      {
-        "contents": "3F53E321EAAAD37321575F95",
-        "de_type": 264
-      },
-      {
-        "contents": "4969E7296C9756825F11908CF6C44C728579407005DA58",
-        "de_type": 121
-      },
-      {
-        "contents": "EA6EAE6782CADFA1BC03C22398EFCA35A25D1C455A61E86073C05F710C77",
-        "de_type": 42
-      }
-    ],
-    "encoded_section": "969013C9C75F20004942324E23C744440463CA911000E7C40EA2C2E65E5C5946447A6823338C9001E0B8C42F8B334E52A77E63C8BEFD9A717536AF9A21AE15918D84B0688C9B9A83C641B2DA40581639C617053E79AABD4FAF5DB9084512306D84091D2369C5507CED38EBD71CBCA5938CD168EC418BE57C2DA2C3C69224A3AD379C95083FCAB626627D96FD55A216B64C9718C082394E",
-    "identity_type": "private",
-    "iv": "B0E066C1CB9E81FEC072658AB024D029",
-    "key_seed": "6AC9251B57E1AAADB0A82C14052229F0828511E8DFB62A7B01408C4C6CF942E1",
-    "metadata_key": "81B7DFC2288EBA39967BCE164DAFD504",
-    "section_mic_hmac_key": "305ED3775E3CBE503C3F9DE72AD075BD578D6D16A171536CF6FCA86032859FFF",
-    "section_salt": "E7C40EA2C2E65E5C5946447A6823338C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E87CD39D43C0C4C98913104FFFB1B6BE",
-    "aes_key": "EE96CEB9FC198FA238C718D8C664C2BF",
-    "data_elements": [
-      {
-        "contents": "306E2C5F8259838DB0D07BBA4805E7480BEA4A6C165E31DE8BBA763D3078",
-        "de_type": 845
-      },
-      {
-        "contents": "D88025A8047D6AE0F6875BF82717FA782F",
-        "de_type": 521
-      },
-      {
-        "contents": "8565",
-        "de_type": 661
-      },
-      {
-        "contents": "4D1182D9D22A5B584276EB34F00AD16D6FA3",
-        "de_type": 140
-      }
-    ],
-    "encoded_section": "869013F1858C90C012EE372661972315171546911000CE2651E744A99AFAA849A54E1732826C90028BA480AC17C5D584F5BDEF8B4F2E078FF5A0681F77C391C2CB04324E4B5E9EC6EEC870D4F9501CABF785E02FF77D7875286E4505A9B76E28BA5CD940C9B255C609E4A4A4CEEFBB53433E707B56E9E28E202740B6A63C6891A35512A330BB65",
-    "identity_type": "trusted",
-    "iv": "E84094156E309C9E78E0F6B2983B3B79",
-    "key_seed": "83020A9A0A506DE2A82978C1DAE9F961DED0868FABDB237B621F79CFE37E7C16",
-    "metadata_key": "CF32E44F9BDB4C2AD80AEE60E78D3FA9",
-    "section_mic_hmac_key": "21F6F2CDE9AD607DC36EA9F9C55A6FF654B00665379CF80DEE1C8E493DC5E35B",
-    "section_salt": "CE2651E744A99AFAA849A54E1732826C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B57C92EB613E7A217DA71D86490784C7",
-    "aes_key": "D9DB4C7400D56812F5D3F7DD244E513C",
-    "data_elements": [],
-    "encoded_section": "379013303598F236568149434CA461E3F9A4B091100081BBA4092F14CE810ECD0D7109A582B690041B06DC29BC82225D3F91DB0D996619DB",
-    "identity_type": "provisioned",
-    "iv": "D586725A11804C6FE31DEB705CC8D294",
-    "key_seed": "149F80E11AFCACF6E13DF3D36C01C6D5DC688F8DB9F10537494FFF926052CE8C",
-    "metadata_key": "D6319F5160167840627CA7013B292282",
-    "section_mic_hmac_key": "51E43F329487E193A6FB0A179BB609F45AD5C4725653DC59EF075A75B52B36D1",
-    "section_salt": "81BBA4092F14CE810ECD0D7109A582B6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D082000833AE11B48B49AA306FE002A2",
-    "aes_key": "95D0A624DEA476B1BA80444787463999",
-    "data_elements": [
-      {
-        "contents": "EF3C4BAF4B77424745",
-        "de_type": 409
-      }
-    ],
-    "encoded_section": "439013B0798E09DC56FD5C009B7BD24CF2D4F0911000BE2EF537A56A6022953F032D04ABC35390025EEFDD2CC06B518DDC1F1B383C59D1D9EAC33D6548B648CE39399621",
-    "identity_type": "trusted",
-    "iv": "0C8D19316018D63558BF62735E8AC988",
-    "key_seed": "FAAE2DBB5B2652D6AD95B92F59105DD76AD1B41C51C8B4E358CA0B60A0450DCE",
-    "metadata_key": "8D027CF95D5A790683C0B669D689CD89",
-    "section_mic_hmac_key": "98F3525163633F6511A7BFF1598DD040181D2C3CFE3D1AC5D76FE2A23DD09552",
-    "section_salt": "BE2EF537A56A6022953F032D04ABC353"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5D2264D51719AC98B1DC3E0117358071",
-    "aes_key": "2F98AEE5A3841F10E02133F379B7C39A",
-    "data_elements": [
-      {
-        "contents": "4FB4",
-        "de_type": 701
-      },
-      {
-        "contents": "48C3D5622F824DC1C7B0414387C8B4AC866B0EB9A7D888AEB6",
-        "de_type": 995
-      },
-      {
-        "contents": "41",
-        "de_type": 139
-      },
-      {
-        "contents": "EA9186B4375DD1BA3491ED53",
-        "de_type": 934
-      },
-      {
-        "contents": "9AF9C3B2BD374FBAA4F3D2F1DB2A186F8C3A",
-        "de_type": 633
-      }
-    ],
-    "encoded_section": "809013847031FDA820036FD425568B5611C5EC9110002CA0587BDDDBCB78153207C9158A10169002D74E311DD11F58BFCCC0A19F94F67B0AE4BE81741AC8DC4FAE0B17B772BE126CBBBCE66CFB50F091A70D06F3B34E16ACB9C64532990A6417B30A2CDDE1C001151EC32E7018828124E75A0B74CA5AEE9B4C840D19C255BF72AB",
-    "identity_type": "trusted",
-    "iv": "E288D7A1DA92318930084F3ED9ABB505",
-    "key_seed": "C749179E61D827D1E2AD13B82A48420AB3E80D31F3749E950D292B64FFC08104",
-    "metadata_key": "3458741999A1025974EF63298E559796",
-    "section_mic_hmac_key": "A0AD19D8280DFB3DC84E5E68D7D21D5BCBFA9861B1F938660516045D6EB0C137",
-    "section_salt": "2CA0587BDDDBCB78153207C9158A1016"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F68BFAB3213C9FEA8A29A96007FEF64B",
-    "aes_key": "AC939B24BC933934398A7DC7E7C46CDF",
-    "data_elements": [],
-    "encoded_section": "3790139505676F85CA392334B19BBFD5FEC47591100074979416628A37D9CAFB2C4C6F969B569001DB08F385C30A762FA0C410A5184226CC",
-    "identity_type": "private",
-    "iv": "465C6117431966DBEDCD888B5221ED21",
-    "key_seed": "41FFE0FAC77C1DCC8BECCFD8A7CFD4A7343D376B76CABE05961CD44B76BC4B71",
-    "metadata_key": "4F3BC40A440822F086DEF13754AF74A0",
-    "section_mic_hmac_key": "CB956645E987944BEB37C2416D24D7A10C0632E588677CCEF862E86B222C5704",
-    "section_salt": "74979416628A37D9CAFB2C4C6F969B56"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "32AA8FD5DF4F49A764E9AA3BF5563C89",
-    "aes_key": "2B4B17EFB895251408BA5B6BE94B4EF1",
-    "data_elements": [
-      {
-        "contents": "11E38C244B9E12BE76C03E",
-        "de_type": 935
-      },
-      {
-        "contents": "C8D68DB392FBA453357837",
-        "de_type": 335
-      }
-    ],
-    "encoded_section": "539013851104503F1D2FA8E851450F39F7106F9110006634BDCFDE3CACB5C787430316E3B0F89001E28FEC491436FA0518D6DC6039167E200AF6348DBFD0FEDFB8FEE6D1783B34159A46C1CC91AB4AB161C3815C",
-    "identity_type": "private",
-    "iv": "1797CE15779604FE914F93871B2A0773",
-    "key_seed": "FCD60D691DC27E7FDD0206B28BF9466003A96D1DABEB7F0C59BDDA3BC5064BFB",
-    "metadata_key": "0F0F2E2D2C043688CADA7DB16B3890D1",
-    "section_mic_hmac_key": "28862BC1B9E7774DC66B319EDB52978182AF3EA42F4C71C8E0EAF65952C1DFC9",
-    "section_salt": "6634BDCFDE3CACB5C787430316E3B0F8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "31EE1C30D48B792D61C8792361D3E827",
-    "aes_key": "1B618DD81493DEDC935CA68511197158",
-    "data_elements": [],
-    "encoded_section": "379013A8533FB16D70484318D287A8CA1324889110001DF600D41D8D806C43B138C0F76AF20590024756A94BDABC6824F118571511BBB69F",
-    "identity_type": "trusted",
-    "iv": "73CFA325E5CE5D6698F14615EE65D970",
-    "key_seed": "41DED01B5C779ACF0BFF0641263BAC3406CF6D9F940124F033991297E0B77051",
-    "metadata_key": "CCCC858E3FBAA8E5BEAF59B3A3D530A1",
-    "section_mic_hmac_key": "C65B247379C1C47F50F977EE35EFD36AA14E52BC21567F3194977703D85B946C",
-    "section_salt": "1DF600D41D8D806C43B138C0F76AF205"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A282D0AC1842D0A4DEC37AB35AAF4CA3",
-    "aes_key": "EB7AC26A007B152D033F713CF425D8CE",
-    "data_elements": [
-      {
-        "contents": "BB5234C9FFD150ADF4",
-        "de_type": 109
-      },
-      {
-        "contents": "185CDC775AE199F0D4DCBEBB8BDA97EFF10C482C52",
-        "de_type": 390
-      },
-      {
-        "contents": "B8D8C33864D21722A1F339216199",
-        "de_type": 488
-      },
-      {
-        "contents": "7942EA3BFACE24FF26C6262F",
-        "de_type": 3
-      }
-    ],
-    "encoded_section": "7990138E46F32DFCF3DDB81D6678EE5B9C63C5911000CD7C017292A595A9B91C2A2B0401869290028E1A072B7F5D1AE4EEBD4D3D86C6DE12AF19C45A34F2EE9C79FBBF8E559BE622359C2B632F0714D0303BC8F400263F191FDC55E7098617242A7DF0D5F06B3C3640967F57123DFCBF7263650532D6344C45C3",
-    "identity_type": "trusted",
-    "iv": "39B8DF03463FE9A4F1B74EFF99C79633",
-    "key_seed": "C71AB1872D5CCA2A8AEDE667988CFBCE2EC9AE649062896938D414E9D0E94C4B",
-    "metadata_key": "B8F3CE213E6E058AF15E956A1DC2036F",
-    "section_mic_hmac_key": "7C4B63E31AD2FC40AE1D4F8FBF141E0ED08B79FCA7461892C1C8499B73746887",
-    "section_salt": "CD7C017292A595A9B91C2A2B04018692"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B32A72E57DD180C1CD78E0D8FF198BA8",
-    "aes_key": "0D3B48E8EC2B06C29C96BFC6C538B656",
-    "data_elements": [
-      {
-        "contents": "5364835176EB07D1F5FC",
-        "de_type": 584
-      },
-      {
-        "contents": "C3492A918E552550E781328B57B40732977328B1325260",
-        "de_type": 927
-      },
-      {
-        "contents": "7E7B5AC1F3EAB30D71429C27667ED35C200476965C78F1CD5FB3B9",
-        "de_type": 578
-      }
-    ],
-    "encoded_section": "7C90136A1B890259C14A52A71914369DD5D7C99110001589F7FFF55BB13258B8CE9E93D31AAD900422D15C630478F6F2CB142D46ABE22A98C9C015432E7F6FEB0A922F53F45B513474F47C5068F32ED60CF9AE88147CC957851A4329A9F7116C346481BCE5AAD0786AFDD6D64E9131C36B262750FD4892F5774653BC94",
-    "identity_type": "provisioned",
-    "iv": "AC90BA5B1A5D39BD2241EC7DDEA4DC18",
-    "key_seed": "06405596E394DE2A69B5B205F00E6119A4E9298EB253DD391B582C1899418AD6",
-    "metadata_key": "68A1C5DA1051C2B604AA05DF6AB59EFF",
-    "section_mic_hmac_key": "20FA4EFF48BD8E8FF5767A4C79CB2514AF91DA13218FCB63B280F6E41B2A5A26",
-    "section_salt": "1589F7FFF55BB13258B8CE9E93D31AAD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A9B066473BAFB379F0937FB47F15A38B",
-    "aes_key": "1F660B42014F118AD25C2CC166226920",
-    "data_elements": [
-      {
-        "contents": "BF96B6727B448D012D6E42D0",
-        "de_type": 521
-      }
-    ],
-    "encoded_section": "469013E4A9322645BED3696A4B6924B4F0A52991100086EC145F4758FDC6D5940C864029656B90042D74437259737DDF7606D3750D4169A0F8A316FA278CAAE53B69BA3726EBA8",
-    "identity_type": "provisioned",
-    "iv": "413F7FCDB4FAB753817C2ED9AC9947A1",
-    "key_seed": "7716AE85F2CD4F520438500DE48432F698519CA01622EE802DCE849E2C162DE0",
-    "metadata_key": "0B16502A04A879A8EF6936331C7495B1",
-    "section_mic_hmac_key": "33E577635DDF21CE36E3FC71944393BB3A65B2F1BB67E2015AD4903B47AC5A7B",
-    "section_salt": "86EC145F4758FDC6D5940C864029656B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "97A3EA2B2D4B897973EB658FF34F4FFB",
-    "aes_key": "67C524B281D8BCD2C51C74F057CB2D15",
-    "data_elements": [
-      {
-        "contents": "0A2B142E42BF87F21293",
-        "de_type": 11
-      },
-      {
-        "contents": "733CBBDA78C13C5C598CE34EE9A25453EEA0",
-        "de_type": 847
-      },
-      {
-        "contents": "D53872CC070BBFED0E5262FBEAD45A6ACD9E1AE50D",
-        "de_type": 171
-      },
-      {
-        "contents": "A13ADB931426EAD3B2657C23CE0B4F7E4FCBE44C1E047F28548E05C8",
-        "de_type": 672
-      },
-      {
-        "contents": "69AF37BF3DC6FE2745",
-        "de_type": 258
-      }
-    ],
-    "encoded_section": "9B9013307A5B1D45053F33A0B2BAFDA032BD36911000F7D66FB12A2DCC5B9F5721066CF56BD39002E94F726AB64C08ABFF473FC3305DCC04B7258913115974B4B93FCBE7A65FD568021B184E299F44C4EA92B3FAE0ACC6D93051DF07F74402A0578D82079AB9D2E945C10D679D0EEA5E0A18D390EF17347E559C75216632ECAE4186375EC728ADAB7E1D02DA5D9E8DEB3C1796BCC23BDEFFFF075C8B",
-    "identity_type": "trusted",
-    "iv": "EE833340C3ECE7ED2E42BE6300591A2B",
-    "key_seed": "5D1FEEA2E15BE812D6E7AED24744EAF066D2044226E1E5DBC215554C4BB21565",
-    "metadata_key": "5C81700C6F3E2DB99FD9552A1BF8DB62",
-    "section_mic_hmac_key": "C971E149AF0700BE9FB8A4042F0F02EFC26EBC99141EF025E270E9C6163291C1",
-    "section_salt": "F7D66FB12A2DCC5B9F5721066CF56BD3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CCB6F827B0A39B6DA8437483DBBF4D21",
-    "aes_key": "B86C31C7DF4004CEC6B64D8268246F4F",
-    "data_elements": [
-      {
-        "contents": "1B0FAC5F09165840F1A1FE0A",
-        "de_type": 108
-      },
-      {
-        "contents": "F9FE53B7E86EFB5778E5DC56F8943696",
-        "de_type": 140
-      },
-      {
-        "contents": "",
-        "de_type": 286
-      },
-      {
-        "contents": "C37C58E8968BC63240",
-        "de_type": 927
-      }
-    ],
-    "encoded_section": "67901318528A80BAB7CEF27243F8F7A4543D879110008548036C89FF90B1763514205225BB619001FF05FB9C4AEEA7AF5787D23CB730BF83763C2D88740CEFB3E59A6EAC8AD289FF580611CE23391A41C7F3DAF763834D19D9FE31CCA279E335BE82B315BD028572",
-    "identity_type": "private",
-    "iv": "7D75415A0D1DB4D65196285773255E16",
-    "key_seed": "CB2A52478DCE6738675A0501FB4A696A3B8B00318F9BB4C371B67787BDE29E89",
-    "metadata_key": "76683C45B626D1230AFF1F9E0BC84030",
-    "section_mic_hmac_key": "D8D2FD272E460779C37FE7AD1EE58C11D9AD119BB803C8475E10CF79AA7768AE",
-    "section_salt": "8548036C89FF90B1763514205225BB61"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7664168CD02E2069535A4E243B03CD58",
-    "aes_key": "0761688645B584019E0611E1C100DF33",
-    "data_elements": [
-      {
-        "contents": "055E128D435B74BF4919E3FB6DFF9D061E767FC50A6297674C028B",
-        "de_type": 817
-      },
-      {
-        "contents": "7EABC7A23844D21D3F31940E823FD60578626B7433E1C78898228ECEFE",
-        "de_type": 343
-      },
-      {
-        "contents": "90817D2A59F7ADDF55B1F55B63E85EEE95BAA62408CEB897",
-        "de_type": 245
-      },
-      {
-        "contents": "4787FEC44DF779FAA45E2CF681ED86C1140EEBC15F2D5CA2DB4C",
-        "de_type": 28
-      },
-      {
-        "contents": "053A76",
-        "de_type": 807
-      }
-    ],
-    "encoded_section": "B290132E644D92825A53658AA88F3973AC5CB7911000293CE3D52ACE5D4C36736E0E05C8D3D69001CA7AAA50EB4888A43CDF55FE4B94013356209D4986FD7A74DB8A22B93C63CC29BF4CA30AA7D7976F33EF594EACCAA5A474C83D32F1FF7CAF7E9D0910961FA375084AA6C5A2F6E84D127C042BAFD09A63C6B0D4C4EC8CD84B8DE1711059E3C7888997D354606256ACB6FFC3A3E0F754C29D0E4D6553763C1E6DB476C138AD90AD24A46CAA585F509F2FDA59",
-    "identity_type": "private",
-    "iv": "A583849D6D43B5E8D8F1ABA5EDB4C673",
-    "key_seed": "62F1D6EE9DBD290B2AF80AEDF635E14061025F9F279BA55CF7DBAA16DAB16B2A",
-    "metadata_key": "728F086A73B981B52399C3EA8383A77A",
-    "section_mic_hmac_key": "10B4AF87157247C3D06140005B0B1CB9FD71C023186C277554E16664928A2168",
-    "section_salt": "293CE3D52ACE5D4C36736E0E05C8D3D6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5D2A3F63294D83FBE4110C3572F502E6",
-    "aes_key": "DEC1B7CE58A15E488E53A99B0F6BFFC3",
-    "data_elements": [
-      {
-        "contents": "F08F328184F706111296A6858F64B43E004B476D86",
-        "de_type": 675
-      },
-      {
-        "contents": "71AB692063473C3F09B6CC52884D2ABC5AA5FEE1435B132501",
-        "de_type": 762
-      }
-    ],
-    "encoded_section": "6B90133B241ED22261B210B755B93C3A46339091100024260E21CF1C1B804AF8610EFD1D40A09002BC1E6FE55D438C0A979D8E1724DE2BE88EF49E4DDD021A7BC6D62683FC44DF4B206A475FB56B25CBE20A145DB816E7978E6D0FDA3A29DB4343D410304FBB85C4911BB4E2",
-    "identity_type": "trusted",
-    "iv": "D109C7AA8A9C2F502F7FF2795CF0536B",
-    "key_seed": "DE5BFF67545C1EA0965F927F752EA57236A0A8C07CF1E50C7B05FFE90CA3C080",
-    "metadata_key": "801F239BCD59F71BFF3DC29C1873141B",
-    "section_mic_hmac_key": "4DDC01519083DEE233FCD693B2DB1D50D74FF605ECA73C87D6656C2D9E555AC8",
-    "section_salt": "24260E21CF1C1B804AF8610EFD1D40A0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "50AC8F669991D4D35BC8579D03EA514F",
-    "aes_key": "014FC57AFD464A8788B996F85C208765",
-    "data_elements": [],
-    "encoded_section": "3790134B293E541BBF4E5F17F0D3980C9BC00F911000A8451CCF678102437062C19C5E4A11D990019E221A17FAE3A828DEBA689D8C1F3949",
-    "identity_type": "private",
-    "iv": "41BAA5F8DD05B8E6A504D599EB74012F",
-    "key_seed": "DF5BBCE38A8C3E868522252DB57AF57F57DE993F9B34778A84C153BE8A2C36AD",
-    "metadata_key": "577EF6FD43FBBE8F66D434794686DE81",
-    "section_mic_hmac_key": "086C0B7B64863355C999983AAFBCF74E98F9EFD238F1A1502C7737E2883300CE",
-    "section_salt": "A8451CCF678102437062C19C5E4A11D9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FFA2C3BE27EA9EFF4A305F6BF276932E",
-    "aes_key": "A46E740733F543ABD962D2EB312D93C1",
-    "data_elements": [],
-    "encoded_section": "379013C51DBD3329CE6072C8A2A027F942CAA09110003F972D62A949212CEE442B4835C560EE9001E0725CD65D4CBD335842C42F4C4A0113",
-    "identity_type": "private",
-    "iv": "C93D934B0765A1D6353BCA51589B87B8",
-    "key_seed": "3AC5766B4F5C28643B827A841A590AE959AB3558C3A148CFF3F7B833F00D2556",
-    "metadata_key": "0F7080BB5FA2AA4912BDCC9AF3DE46B7",
-    "section_mic_hmac_key": "9A78FCB3A75CD2B502005A4184563EB25D146A0CC58FF84C15054DBF869D6BC1",
-    "section_salt": "3F972D62A949212CEE442B4835C560EE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2081A4F3811AEA051894C1C7C1B92618",
-    "aes_key": "BB7480392B142CFD23F98A73EAE37E87",
-    "data_elements": [
-      {
-        "contents": "710A0DA64D8668024AE7",
-        "de_type": 532
-      },
-      {
-        "contents": "E3471D8E60F5875C808ADA60850B01BC1F5EAD6FA43426707D",
-        "de_type": 847
-      },
-      {
-        "contents": "32321B333D25E24FEABBBC8E30A5EF11",
-        "de_type": 314
-      },
-      {
-        "contents": "8EE0E55F33EECFEEEA4485872C96CE",
-        "de_type": 110
-      },
-      {
-        "contents": "2BE0F48387594DB1",
-        "de_type": 585
-      }
-    ],
-    "encoded_section": "8F901397FE42D3756E948C098672DBDE9977E691100034F3CD62875F1A61868DD445BDEBA97F900442F07EF844969ABE5029FDEE70E060604FC171F2C6B17AB9E9A6F9B6BB0470A8F72123B30060E88060F3BBE92479CC0E107F330460156C3B6E5626FBFED138195704ED5A79745A2864ED052A5DD4C5AACC511CEE38BD48FDB904CE5904FF96D2F8B224C8C91F76EF",
-    "identity_type": "provisioned",
-    "iv": "731E0DB31EB1F2EBCE317A8AC207AD78",
-    "key_seed": "C648836E062FE1B177659BCF66CE52DA92992A7F57A8C519EFE83B5498B83529",
-    "metadata_key": "6528CBC1D9D05B685EA0B5109357CC73",
-    "section_mic_hmac_key": "0E97851D27E9444ED828E6501A033E5F870F46D9D959BE6D0457EC79479A15B8",
-    "section_salt": "34F3CD62875F1A61868DD445BDEBA97F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3B793A50ECB5E7F622EF1CB281DBFF10",
-    "aes_key": "785E875C44A1BF02579790F4C07B08F4",
-    "data_elements": [
-      {
-        "contents": "06B033003DBD6E5EBA861C20D7A37D61",
-        "de_type": 919
-      },
-      {
-        "contents": "2A729E0AF9286BBF90B0A3A6B7591BFDEB2180100541CE38E5",
-        "de_type": 981
-      },
-      {
-        "contents": "E05FE95894D29247E78451A5FE0635C431E0",
-        "de_type": 555
-      },
-      {
-        "contents": "DCEC979BD3722E22464D4FDBBE6C0C36B9",
-        "de_type": 688
-      },
-      {
-        "contents": "E55C2F",
-        "de_type": 920
-      }
-    ],
-    "encoded_section": "959013A64D93D01432AB2C93EE598ED825E09D91100096FD510E1761C11DEE130801210BE8B1900431467AF0C894A0E722ADE9F6CCB4A3717F37BC36E26D353D47AE9B2109D0FB52BF23597CA6A8542EEBA33FCD05B128629A04D68A50EBAE917CE307E285D79AC17CC088C8A05E4373896500AE0E3F6F602CAAFDD6FE64A4677E2090AACF1E2DE482EA152A11993C82B70415ADDE4E",
-    "identity_type": "provisioned",
-    "iv": "947D28352A1B86C1E2236B6E7531F60F",
-    "key_seed": "6D6A7D942D7660F709710E81D2ADF1EB82B049264E83608CB61918C555C932B8",
-    "metadata_key": "CEF10E891EBA5BD00B6152A2FB251BF4",
-    "section_mic_hmac_key": "9817BF8D1B65414C53FB1C3D264F36D36B48E777DEB910CD87496157C57C60B2",
-    "section_salt": "96FD510E1761C11DEE130801210BE8B1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F7978C49733680326C8CD0D6550F334C",
-    "aes_key": "17FA0908863D1B4EBDF05DD2F30A2208",
-    "data_elements": [
-      {
-        "contents": "246638469C9EFAB7FA881C39",
-        "de_type": 219
-      },
-      {
-        "contents": "9C1A259E1FDEA4E0B5",
-        "de_type": 303
-      },
-      {
-        "contents": "55B6AB32D64D0080BE176569732A38EAFB03450CC7D2E1C21AD3",
-        "de_type": 892
-      }
-    ],
-    "encoded_section": "6F9013C5B6C430D3A84D6611604E90B92AC9639110007CA3BE5D4F1E9798DC39FADA6E870C2C9001F8FC611C2B9508DF8AC88764822333DB1229A05449D35E67ABD092235B01D8037A3549EE3AA70482A187E8C872952FFA4A711288BFF30F493A2EE365E52C416E71D3980342F48B75",
-    "identity_type": "private",
-    "iv": "8BFCD2132085B890AD2C3E3A9948F316",
-    "key_seed": "21AC3F8D521DC1FF26D984A4B9BEDCCB8C311FA31B3E5575A4E3AE671DE012A3",
-    "metadata_key": "03F6987DA25955329DB9A2C50A879C02",
-    "section_mic_hmac_key": "5D51E2CC831C4B7548CE48A6643AFC127764F31FB9E865969AE10050894FC50F",
-    "section_salt": "7CA3BE5D4F1E9798DC39FADA6E870C2C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "88D9897749A087BA692088105D83C8DF",
-    "aes_key": "F7DD8EF76EC305BF6B46B1F99D00721C",
-    "data_elements": [
-      {
-        "contents": "ECB141D6A91EB9DFD5A7943311B7910F15AA07",
-        "de_type": 369
-      }
-    ],
-    "encoded_section": "4D901326351027E10EDFD7051D932A46A0BA25911000ADF3819989057AE9A61819927B7F8D1990047D54033ECFED457BB85532481D583A60A69316ABCEB31F91046C27D8FF7C844A9F662094F2A2",
-    "identity_type": "provisioned",
-    "iv": "4D9513DAC6E2B616C8E13E153897CEF1",
-    "key_seed": "BF5C7631979835CF4B4FF4EBFF456C8CD403C68EA87960B0E6851ED4EEA51CF9",
-    "metadata_key": "DE99D80A3652FE7BC2E467653CB29851",
-    "section_mic_hmac_key": "A270F8B7F2C41B15DFA09CCA748427572E1089E90F42CA3B98AA1FAC5489E166",
-    "section_salt": "ADF3819989057AE9A61819927B7F8D19"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FFAAF9CF08F2C0E4EABE4EDA5849880E",
-    "aes_key": "5579888FDEB07F4AE593D558E3FDDAD7",
-    "data_elements": [
-      {
-        "contents": "04B31B6181ACE137",
-        "de_type": 362
-      },
-      {
-        "contents": "EBE943E23DC7ECD4C7425BA338B5BD3CEDB01706",
-        "de_type": 430
-      }
-    ],
-    "encoded_section": "599013593827607D0CB872B3F9F9E7DD8A7E93911000C6121F8EFBA5B2885B32EC0AB3AC09C390013E91B3B7276D0F86C0C7FE864B96232017B450CDE11DB1322E7C8CCCE8F3F60BC173DCF5F6D4210A2F0FC39EDD71D0A4994B",
-    "identity_type": "private",
-    "iv": "067851344E70F915139C60128CFEF3B6",
-    "key_seed": "685763208F4D5F465E32B59BBBB624720807102E810D13E1B7ABFB08540E93D9",
-    "metadata_key": "0E8CFF3D0A9D7B2998DADD0D9FA14ADD",
-    "section_mic_hmac_key": "D56C9E377820AA656DD234E62C72AB224953C36A65126252BB66773F175A9AE5",
-    "section_salt": "C6121F8EFBA5B2885B32EC0AB3AC09C3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "445F8262587A527A2A50920D59873975",
-    "aes_key": "A0F36838DF419D50BC5C556466E1FC97",
-    "data_elements": [
-      {
-        "contents": "16550C16A40A2C8A362A94BE50C6",
-        "de_type": 135
-      },
-      {
-        "contents": "",
-        "de_type": 800
-      }
-    ],
-    "encoded_section": "4B90131D351EFBD9BAE953304D7A8FE0697DAC91100073AFBD6543076B300486F3EAB58E055B900104F18882A1DED7DED581EA73100AA9EC2F3F9173A401D05AF6BE5B4E1CCC8DF696E42C66",
-    "identity_type": "private",
-    "iv": "39A88826E22EB99F2CBEDB51171E3EEE",
-    "key_seed": "F226B3049DD530E4F60C4887D0A2FBFA987A8E1FEB72EA2303EC30A7147DD8E8",
-    "metadata_key": "AE2B15A2A9B54697E7CC405BDA81790B",
-    "section_mic_hmac_key": "6D21434215A1F6DF62E827E0268FECA28C37693611557B1C9342EC8E0C1D81EE",
-    "section_salt": "73AFBD6543076B300486F3EAB58E055B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0557BC1D38283635FBAE13D02728AB5B",
-    "aes_key": "A9BC8BA7EAF519C7B85E5A01188EF50D",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 63
-      },
-      {
-        "contents": "A3E5",
-        "de_type": 422
-      },
-      {
-        "contents": "D54CC7D06905667D7360AD193F3130425832776FCEBA2679E267B7970218",
-        "de_type": 285
-      },
-      {
-        "contents": "441597784AE289C3622CB239D2C4E8342231F4",
-        "de_type": 247
-      },
-      {
-        "contents": "C0336CD68C4AE63EAC656E3202C84B545813337C2A",
-        "de_type": 939
-      }
-    ],
-    "encoded_section": "8D9013C536B4E39D9201EF3025185148B9453C9110002E9AA3A07F8D9A60B7E03ECF29BB23CD9001509E02E030DC3E8FB95C6BB25A5490B29B435418731DDC6F2FE41F742397A96D8A326826BA73E9839E1BFE0B9DFCF78A063AC0B5135173F31E0DB480B06A4617BF068C88B9CC04BD37BA5CAE862D0601BD1864DBADE74F3506CE064DBBFDA34DEB49C330D7A9",
-    "identity_type": "private",
-    "iv": "D8028895E10766DF8BA06D75C6A112A8",
-    "key_seed": "5493AE88E27447BF331AF54D9F82018ECCD1AADA9013D8FAB3E26434BB65B965",
-    "metadata_key": "14D05DBAB3A9EEE82E952390E0AEDDF1",
-    "section_mic_hmac_key": "10002B26833E9FB12D751AA88A90E30B7F8418BE8BDF2EDEDE47A8906C25C49C",
-    "section_salt": "2E9AA3A07F8D9A60B7E03ECF29BB23CD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "30C56C83215C76E99FEB30822EBC10A7",
-    "aes_key": "5BD799E5168D831A50AE88908D7C819A",
-    "data_elements": [
-      {
-        "contents": "A52634A06EC8E3",
-        "de_type": 239
-      }
-    ],
-    "encoded_section": "4190138560C2A340ADC9FB31AD47095F34482091100068B0F681E3A5DF3C78A44BA62217395E900165E94E9C7C34CED0FEE48824E2BD691A4C924F8FBA59DC0D5697",
-    "identity_type": "private",
-    "iv": "2180C4533853767495A5C245C4E6B7DA",
-    "key_seed": "EA428BE58334D369CB5803FF519C408C44B9C2046DA706B0FC64B3AC7855CF4C",
-    "metadata_key": "794F11DDC402D478236E4FE863A7C014",
-    "section_mic_hmac_key": "BA65D2678CC2A9F28B1FC79BD735A0AD94C978A183D80BABF4F7AEEADAC57CFD",
-    "section_salt": "68B0F681E3A5DF3C78A44BA62217395E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "45450AD30A7FF2646B7FC9A7498B48C9",
-    "aes_key": "C597783A6BEA9B14F749AEFD0554A10E",
-    "data_elements": [
-      {
-        "contents": "A1BCA904A65BB84506FD4FA7B8F82D4E3E27F1FE06FF98C5F5E9DB841D42",
-        "de_type": 255
-      },
-      {
-        "contents": "9E22935748180AE8A2CB2552330AE84E0753C065271E",
-        "de_type": 398
-      }
-    ],
-    "encoded_section": "71901354622DA8EA9F9CC2350BC32E57DE761B911000A833A0E92CA1E0347245C35E678EE14E9004CBDC2F1ECDC2364CEC12BB5C36EBEE053F2D6E806D60BF129AC37E800F49559211A0A8DA47C4F85BD5F5B500201022790C232525FD06CB7161A123892D9D15EA32303BE5439AD3EE6E18",
-    "identity_type": "provisioned",
-    "iv": "80E557930065CB90C62020A24F0A88B2",
-    "key_seed": "BB4AA3FBE34B70ACBBA908FA5F1BA74D9B2C8F521157C183AB94184F85BE6610",
-    "metadata_key": "CAF8352A2D518815C4687370ECA9B717",
-    "section_mic_hmac_key": "4A8327360B9E78473FE9E8CC2F68F19A6C2E7F3CDE21ABC007296E6F37103402",
-    "section_salt": "A833A0E92CA1E0347245C35E678EE14E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2149BA09FAAB9ABCEEFC3F1ABCF9835C",
-    "aes_key": "320ED87DE4141376542574C62FB7F871",
-    "data_elements": [
-      {
-        "contents": "58D1F10B05288C8BEE4CA01E515CAE",
-        "de_type": 472
-      },
-      {
-        "contents": "341278EAF7023A",
-        "de_type": 418
-      },
-      {
-        "contents": "7F6DE46EAB91ED",
-        "de_type": 443
-      },
-      {
-        "contents": "ED3F2FB7",
-        "de_type": 861
-      },
-      {
-        "contents": "89BD3EB3",
-        "de_type": 886
-      }
-    ],
-    "encoded_section": "6B9013899F627C6E1410138BFFCE742BE143E69110003A40A350CE9225C732AC27C9BCD65F1F90020A96A446120DA7C8C20715B87789DA1EE5EB068690DDB044F346E8E5ED1BB493BF7AEA8873E8A3A02ADE54C073CFE9B2E4432079C89D84C6B302BFD02177EC6ADCEAB360",
-    "identity_type": "trusted",
-    "iv": "5F97B82B7494DB44B27135C54CAEC7D4",
-    "key_seed": "B6E611FD268D0E0B4C5F677B942115CF92D2E4C43B5A69E867A36EA2C68C1193",
-    "metadata_key": "F0917DDB2BE2193FC96B46B81675209D",
-    "section_mic_hmac_key": "B11E903ABDB58F30052E0A5046B2E2D5A987589D3365224F4EC6AC25BB5755DD",
-    "section_salt": "3A40A350CE9225C732AC27C9BCD65F1F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "24036FD2BE3DCF97D9DF963B68D92DCC",
-    "aes_key": "602B4616715273B107370D173ED8666B",
-    "data_elements": [
-      {
-        "contents": "2734F55CC2D6B46C5C3B37",
-        "de_type": 963
-      },
-      {
-        "contents": "3ECD6542A74D7BE449DA6B40CFAD8D3809",
-        "de_type": 517
-      },
-      {
-        "contents": "49A3375EABF0AF0B26674D2879BB79F81C",
-        "de_type": 884
-      }
-    ],
-    "encoded_section": "6D9013D63C809F3652DD6AEF44F7FB35794E82911000D146378477019DF7ACFE29254CA21A7490042BF103C5A38BFF08D3CCF725A0811B6427D6C9D8A87A967DCA5C484C6A45DA78801408E91C5E2E377FCA9E5686E3BA2C901532814770E0EED571C0D03BE53841A5A14EF7D7F8",
-    "identity_type": "provisioned",
-    "iv": "080A6136094FC17B1A16AD0BB82693C5",
-    "key_seed": "520DAB213766293AA52073574939FBDF3FF7FD6E440FE41FDA38840112D7D531",
-    "metadata_key": "22E70A8A5CE17D98948AA5ACE440250F",
-    "section_mic_hmac_key": "00DFB12A3DBD705121093901BC2D50BCFDD3173593307F9D4C37C9A0849F5446",
-    "section_salt": "D146378477019DF7ACFE29254CA21A74"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "63C51801F768165BFC326E7C82FC1227",
-    "aes_key": "57B39C2DFF8CAE78838966761E9AD467",
-    "data_elements": [
-      {
-        "contents": "049E77BF20D8B744640EF2F3C776CDDBA3BAFA2A88",
-        "de_type": 555
-      },
-      {
-        "contents": "15BCAE3F4B78785C16E4590DA228CC3B",
-        "de_type": 896
-      },
-      {
-        "contents": "78C11D80D8BBF31D3482C1F4162BA2FB5FD29B",
-        "de_type": 132
-      }
-    ],
-    "encoded_section": "789013E816D1BEAA6F0661CF5A37AFF036BCA9911000B834A100C92A6653F03120CEC5F5592E90025CDCC0847E46F2131D454A6C3774B5EEB4EC5D6AE886A374CFBA015D8FD3336291586D08C141E3637002176BD3F4DA468C61752284262045D3F00A0F9140FC79FC7B3B380A311BEAA0C46C2BBC9790CB8A",
-    "identity_type": "trusted",
-    "iv": "6EB51E1B378E7EC195ED6131D5B917A1",
-    "key_seed": "D0FC05ABA9677770D9560F5CC298BB1CDCECE2776762070E9DB7729C4E6B1998",
-    "metadata_key": "C3DC3239104F41A29A6CA839846892BD",
-    "section_mic_hmac_key": "042BE96EE344DE41F99A6F9A99D74DE39B7FDB8FBDEA76CA4819BBBE76D1020F",
-    "section_salt": "B834A100C92A6653F03120CEC5F5592E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5D2A54C35196DB6687A495E4C266042D",
-    "aes_key": "B94AF3DE4F31E07283C694BE118A2D39",
-    "data_elements": [
-      {
-        "contents": "7F221D4C1A",
-        "de_type": 175
-      },
-      {
-        "contents": "DA7BF9A3C1F1A0F7D394FA",
-        "de_type": 51
-      },
-      {
-        "contents": "A3F5054FAD0E0B0F32",
-        "de_type": 693
-      },
-      {
-        "contents": "A0F34BBEA40E64",
-        "de_type": 514
-      },
-      {
-        "contents": "A02552",
-        "de_type": 259
-      }
-    ],
-    "encoded_section": "68901328AFDD847D58B8E42C91D72766806C5A911000CEA2BF3A4917856CB02C3E535657238A9002BCA81209838C61B7DC924CB7F75B0954E37749E736DBBE2C06A20809D8DD342D1938A290C35AF882C1B7B937E58703E984E4CF794E70265512407A8E10FA031CAE",
-    "identity_type": "trusted",
-    "iv": "8828C505B304C04F4872D41049F59825",
-    "key_seed": "EE9FC69BD400B68041022770DC312DE8C66C492E23BE76579D714E142489B440",
-    "metadata_key": "66FEDAAD7F184A6C27481BD86869213D",
-    "section_mic_hmac_key": "FC34E258074AE77E103008524518165B04278B97935C89ED9DC45F9F1EC090C9",
-    "section_salt": "CEA2BF3A4917856CB02C3E535657238A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4DE3C97760C9B8DE4C61503AB880C1AC",
-    "aes_key": "F92EDC38BB8DEF8AFE9BCA414079A5C1",
-    "data_elements": [
-      {
-        "contents": "3D713A3004C3540EAC1EC4AA1DCAFE0989B228",
-        "de_type": 322
-      },
-      {
-        "contents": "1699702E3F9F64F6A2503415D312429EA274E049BC0B6B7F15756CD8B33A",
-        "de_type": 25
-      },
-      {
-        "contents": "37",
-        "de_type": 200
-      },
-      {
-        "contents": "04F9",
-        "de_type": 375
-      },
-      {
-        "contents": "D363E2343CAB2298956475C4F658C4609E77514ACBC58A40D75A0EA6",
-        "de_type": 62
-      }
-    ],
-    "encoded_section": "949013A75CD13AE9FCA132E0B0BCE584544EBC9110002EB54EBE8F6BDDE1109D60F57C29DFB39001AB7FA220B3D56C65AF369EB529702C9C7D039249F3D56387AE4714EEA61FFC310A96DFE05402F7CE7E354D716A3453B583B9CF812A98E85F4EBB3C2CAF09E3EDD2916A57F6AC6E68EF5180301378077EE13E410C594525D5C0A37AD77495EC42117164B749E16FD6762651110A",
-    "identity_type": "private",
-    "iv": "C266A550D575D8E8A76B32E4EB60566D",
-    "key_seed": "DE0CA86B9DE2F53BC684E1E0546BAE9C1168EA4041E70FEA570B63D153B6E0DF",
-    "metadata_key": "772C23286C809572A8A7A4CFF6562106",
-    "section_mic_hmac_key": "DE9DD28EAD5F258311F9143A61CF1729938E1973DFC71EFA64BC3496B1DC2FA8",
-    "section_salt": "2EB54EBE8F6BDDE1109D60F57C29DFB3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "08591DE70D9203A4BD5BBFF0EB0923E7",
-    "aes_key": "84B87FAF5569BE3145FDF5BC95B8228F",
-    "data_elements": [
-      {
-        "contents": "4B2619",
-        "de_type": 910
-      },
-      {
-        "contents": "737EA4568AD23835B9",
-        "de_type": 193
-      },
-      {
-        "contents": "7F16EDF05CE5CEF44F4669",
-        "de_type": 908
-      },
-      {
-        "contents": "997C7BAD1FA37D3725D2E58BDC87BD892D0A",
-        "de_type": 789
-      },
-      {
-        "contents": "38368E23CA2E20C2D25E0C36E8953D",
-        "de_type": 683
-      }
-    ],
-    "encoded_section": "7E901392A0322C56CCB3EDBDA02426B5F20C169110007FC169892BDFE3C58AE3A9145B1945AD9002B0904135D3B0B28995FD2D3BB2AC63CCFA0EA80B4C2FE257692A1C3D46C2ED102D06679A64D95BBA7C65E41EAD48417AA853ADAF290012327085B183EFA9016EA3AF6365776548E4EE9509651AE6BAE0A1AB23DDAD8140",
-    "identity_type": "trusted",
-    "iv": "1EFC0B89733153C45C3F0B9952E7CA2C",
-    "key_seed": "E069DF1441FF9660D686BA2ED4B324F9EE827A41666AD3D72CECCACA3EDC1195",
-    "metadata_key": "837D4BDE2339F7E0760F507FD65EF0F5",
-    "section_mic_hmac_key": "332B87B53F48DE7951414290B387018BF70E2DD12A550AE288DEB8F082D5E3AD",
-    "section_salt": "7FC169892BDFE3C58AE3A9145B1945AD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D3CD0C0B45D18C67D9FF4ABD9C00F638",
-    "aes_key": "EA252AE1D2F51097B0B3C59CD5394CCB",
-    "data_elements": [
-      {
-        "contents": "9DA05D735D904142FC9820E859D3D2DAA3FD9BF99077EE289848BD",
-        "de_type": 729
-      },
-      {
-        "contents": "AAA29A80423195",
-        "de_type": 501
-      },
-      {
-        "contents": "",
-        "de_type": 729
-      }
-    ],
-    "encoded_section": "6290139551860389CAB63CF19976C38F9F83829110004EAA5E6CB7B52006113B8227B50B6FAA9004F55AF889B0D3A843343569BBB9FBCCFF954C7B2085DDC35493039663D1859721DEC51AFCED18340265399F3D29A634266BD6F7B72B13904BEFFBFA",
-    "identity_type": "provisioned",
-    "iv": "33261AE9D64163AEEA6CA4780557B537",
-    "key_seed": "D276F97EC832428E7341153402EC817EDA087F3722092DFDCD33E3DAC87FCF9C",
-    "metadata_key": "B784A92864FE81EE00484C3407B19E18",
-    "section_mic_hmac_key": "BFF73B8A8684137A38AA0CE919F921F5E46BEB78CAABF9001A9829A91BB2DDDB",
-    "section_salt": "4EAA5E6CB7B52006113B8227B50B6FAA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8F53DA57958205F65AF175946F0E7C9D",
-    "aes_key": "1AB05E4A3B94AED84AF5AC5AA0C34532",
-    "data_elements": [
-      {
-        "contents": "70730B2189EDD115FF4146EB6736958B2131B4E758871206A7BD",
-        "de_type": 857
-      },
-      {
-        "contents": "0C",
-        "de_type": 50
-      },
-      {
-        "contents": "85363F2F6E5B68549DC14698",
-        "de_type": 781
-      },
-      {
-        "contents": "24B2893FBC",
-        "de_type": 493
-      }
-    ],
-    "encoded_section": "6E901344842419D528E3354B2B62AEB7DCA816911000F7F26313B7593F64E2609508E29C568F9002ADA0099489D0829C5C03B5E34C36A22F4DBD656538D7A34FF22307009C917241BC3C03E863B498F7E744B781E4C97EE731D6C27BBCBB9B0BCD5049BE32A34F127AF7F262555E01",
-    "identity_type": "trusted",
-    "iv": "94EEED11E11DD155988B855D19007FAE",
-    "key_seed": "88182E258A729A4E43B5374B97A2C3B62F694B30FE8716172BC346A27E074B29",
-    "metadata_key": "5FAF4F9CDDA36DE98B4BE1111E7BBA39",
-    "section_mic_hmac_key": "EE0A1B46369F96415076C2C5C59FA7FBBE38620043D78E935340767C3094600B",
-    "section_salt": "F7F26313B7593F64E2609508E29C568F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FD84FB907560ECF5CB2A9771A4BA8CD1",
-    "aes_key": "E3FD2A72A74A7EFFC6F4585CDC240D3F",
-    "data_elements": [
-      {
-        "contents": "5BFF",
-        "de_type": 353
-      },
-      {
-        "contents": "56E6B22A147A51A7ADE3A51B1A4ABF",
-        "de_type": 703
-      },
-      {
-        "contents": "FA366A",
-        "de_type": 922
-      }
-    ],
-    "encoded_section": "549013A550EB4A596D0709CC4831941ECD4B97911000BC96DC7FE5F9AB0C79FCB5C3427416309004EE787CB1DA498BB4C72EDB79F03197668CA9719227CA6D084FF44145EDE83ACE127060F8AF7A47BFA9AF03D7F5",
-    "identity_type": "provisioned",
-    "iv": "0A95F9333CCB2B0BFC001BAE3C585430",
-    "key_seed": "32F7B9337E17ABEA1D32339620554D78574F2311A7DF33FDC2040ECCEA22F16A",
-    "metadata_key": "0D7BC86218E42A4DE2ADCE4BFCE1CBEA",
-    "section_mic_hmac_key": "391BCA81E1EB5B64A6A5B48226FBC88361F80157D68FDEF21D159D765E89B1D9",
-    "section_salt": "BC96DC7FE5F9AB0C79FCB5C342741630"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A020F8E4858919DA9912CD877E5D7E1",
-    "aes_key": "AB7BC14F98F82FC2F63DA94527EE1E25",
-    "data_elements": [
-      {
-        "contents": "F206FA29E92D1E2CE7F8F97335171D49D7634167F9D24DA45945D7C5D1",
-        "de_type": 558
-      },
-      {
-        "contents": "BA45C18251ABB34EBB8A427E55B997260F451D",
-        "de_type": 686
-      },
-      {
-        "contents": "01F97FCD198286623C44DBB47FCC467BEF",
-        "de_type": 596
-      }
-    ],
-    "encoded_section": "819013BB56AD1C58BC3238CF683D9C6A2539C4911000C5480A0E75D4E0A677CA57FB7141919D900153375B41C2A3EB1A8AE9D4F3123AF5908A597DD8279AB6D68BBBA1BC107EC58B6D083F21201D44FB5EB0C254DA392099B8F47BFB9875B67C498B3CFCF4069F9A2CAE853F967F1953305E8943E9B97ED439F16FC82AAB2AEE3CFE",
-    "identity_type": "private",
-    "iv": "496F077A2B7916761DD8AC728D556F06",
-    "key_seed": "F8E22E64BC77461311AB36F96475EAA5398D0080F0FBAE13F1C4492DF46179F1",
-    "metadata_key": "4E7A8A31769B49F87CFE1FD8BCFB052A",
-    "section_mic_hmac_key": "E5F81D3C2D13A10FF5CD9B863C512FA9E0D1AFCF813474F7666251BD055FBB05",
-    "section_salt": "C5480A0E75D4E0A677CA57FB7141919D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2B2937852F695F8D56C725B0A6DED2B3",
-    "aes_key": "C7A0EC3BA5987EA8BCBECC13ADCB9CAD",
-    "data_elements": [
-      {
-        "contents": "3686E921B3",
-        "de_type": 624
-      },
-      {
-        "contents": "13A0B207EA7A",
-        "de_type": 693
-      },
-      {
-        "contents": "5ECF29F01D38",
-        "de_type": 348
-      },
-      {
-        "contents": "E22EA254A7EFB27938D2E75677F7CE8741463254DE17C1EF",
-        "de_type": 413
-      }
-    ],
-    "encoded_section": "6C9013B4F7525345C4D799DCC73BBD7D34A2A891100039E36002FD6A898C7113D8E29BBC18C9900288F3BFFF20D692ED112C8A264C6479AEE31F98BD1410ADB1E8B15E797F18DB33ACEA80FB761CCED0BE25F19B74AC2B7E7874E832E57995638165C3FB0222984E880845556C",
-    "identity_type": "trusted",
-    "iv": "6E6427719A16CE39BB3AD9ADED72A83A",
-    "key_seed": "948B5BB10F06A5C607E6FDD6631F173B7D938E80FFF8F4EFDFA1DF315933648B",
-    "metadata_key": "7419265431EE04AC211B9BE2072065E9",
-    "section_mic_hmac_key": "CEB322C685911AF93A57E15C80E40B410600BCBCDB1091D49F1DD58F55DEEE96",
-    "section_salt": "39E36002FD6A898C7113D8E29BBC18C9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "47F54618F90BA0470CAA122D068090DA",
-    "aes_key": "7D286DE8F9BA981B7AC6EEF116A30B8B",
-    "data_elements": [
-      {
-        "contents": "8E6ADCC3529CB914BA44071D1039476F503534E24E9FAD",
-        "de_type": 866
-      },
-      {
-        "contents": "FF59C0311B6365D7B2",
-        "de_type": 482
-      },
-      {
-        "contents": "86E592766FBA32BAA8CB5926C68B9CF1757B30ECFC8B01",
-        "de_type": 865
-      },
-      {
-        "contents": "BDEC4494677D60C91BEDBC5613AA622C607D623763F1169835649EAE177D",
-        "de_type": 912
-      }
-    ],
-    "encoded_section": "9890133504BB533122BC321979FD233507F92D911000D087206EE8701FADF74E29E64DC42B299001FEE75CADBFA905B7121329EEC77ED201DC81644197BF8BCEE765353ACA4C2D3E6E90F6331506C5A5180DC54AE4FB34B294F70F448EDB3EC9366DEADE0A63EFCCF7B495AF25DFD1E375F109ECF0D66BDC5C1706DA8DDACDDA0D76E109A3998263959F650F34D07BA4908FCCEAA47C3BD1BD",
-    "identity_type": "private",
-    "iv": "06092E39EEFF3F94DDF84FB4E82096F0",
-    "key_seed": "1CEB5B27728B3C394FA53039B1A2BB3963FDB1ABB971C694FF9B583DB4D6F4C5",
-    "metadata_key": "4BFF4D6A274981EEE3A41CFC71104933",
-    "section_mic_hmac_key": "71D0D24E9DF1CC8CA5705A5B97564B392020BC1E31103B902AC6109A20736FEC",
-    "section_salt": "D087206EE8701FADF74E29E64DC42B29"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A5CB335E0E651AEC76610103314BE5E8",
-    "aes_key": "2073B2C6E4A891FA1F4A94E6E0ED2D7B",
-    "data_elements": [
-      {
-        "contents": "39992BB369E5",
-        "de_type": 403
-      },
-      {
-        "contents": "91A4A04160751875",
-        "de_type": 341
-      }
-    ],
-    "encoded_section": "4B9013D868F86C9DABB0C962C104961D2199819110005F70263B58C94A534BA0732A362CFE759004F0376CB6B7C35E6A97774046EB8E11BE29D06EEC71C5300B63E76D1F743ACE32AB77D7C2",
-    "identity_type": "provisioned",
-    "iv": "8E45ADAD9A235A3A0131D1DD9B5F9279",
-    "key_seed": "CF2BF8EA55BEC2D2A5C15C46C09B9291934EBEAC7792D75702B1C1F56DD52AE0",
-    "metadata_key": "E227B26B4D3E35C8778FA1D40D326AF9",
-    "section_mic_hmac_key": "8FAC7D8677AF486D3DFCD671F2830A5CD938A6CA7E2DB273FB9AD603617425CB",
-    "section_salt": "5F70263B58C94A534BA0732A362CFE75"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F1C24DC0B003B6D25BD4C3F1BCB66285",
-    "aes_key": "DB76A3E8C87A935422EDDF2E573D2EAA",
-    "data_elements": [
-      {
-        "contents": "87",
-        "de_type": 196
-      },
-      {
-        "contents": "24",
-        "de_type": 342
-      },
-      {
-        "contents": "C72C39FF57E7FD4DA1C96A5F6C71DBB7912D5E59351BA03CEC4C31",
-        "de_type": 295
-      },
-      {
-        "contents": "8418AD4C9FED5B9908",
-        "de_type": 993
-      }
-    ],
-    "encoded_section": "699013C828BE6B34B2F3061396313E501C35C5911000FD1A8AA4AEE8DF00D003270485B8F7E79001E4A3421E4634FFB67FED3BD908779E411870A14E90F14AD32D3C9F8E34F0DF2F1E956F4586EBA22CCACCA8CDBF530867C4BA55BDE2D461D3BD331F384361963326F8",
-    "identity_type": "private",
-    "iv": "C3A642B990DD53C2652267D0D74140F9",
-    "key_seed": "103EEB5230E3A94CDE86DE361742D42DA89715178B2EEB054192580C46FFEA86",
-    "metadata_key": "AACE9616D0BE1375E9501E23B9AD5A27",
-    "section_mic_hmac_key": "EDA3F8BD268CA694571B96BA31002C4C1F0780914645F09C3F41CD2D89E1ED87",
-    "section_salt": "FD1A8AA4AEE8DF00D003270485B8F7E7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D1C4D57D1022E2E34A436AB3BA2925E",
-    "aes_key": "95B5084E465C6C37973DEF1CA3DB47AD",
-    "data_elements": [
-      {
-        "contents": "C1A19CFE869417D14BA0812EDB723157572FFE02431EB51B",
-        "de_type": 536
-      },
-      {
-        "contents": "",
-        "de_type": 606
-      }
-    ],
-    "encoded_section": "559013E83D70079ADAB5FC3E1F844299D6B9319110008ED6921AF82E82864706EDE25EB3796E90042DF36874DAEAF11DBF9CF1F0CE2510156BC023B8D936F09D7BF3005B068697F171958A92CFAC237954E57BAE73C1",
-    "identity_type": "provisioned",
-    "iv": "D77A9FE328C32C11C38DC06F43475909",
-    "key_seed": "5BFA074B8A029B3617D2CA1EB0C5CCCC9AE733C23AFAD5EE72D0AFEA1B43E96E",
-    "metadata_key": "0D076B70D9757FA46D1DF675985EBCC2",
-    "section_mic_hmac_key": "13ADE797F4AC758CDAF7B19222516722967586D6742B514E8AC64DA36EB958C5",
-    "section_salt": "8ED6921AF82E82864706EDE25EB3796E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "65E6464F45B5C34BC2B3ACAB85653A62",
-    "aes_key": "4202E0AD401A9919BE9499177FBFE027",
-    "data_elements": [
-      {
-        "contents": "87DE98B78C4998378DBD3D8513F1F4252089430D3ACA43E8A9C52F",
-        "de_type": 613
-      },
-      {
-        "contents": "30DF522A56BC545C1B8371AC0DA6583C415464F29CE827339312A5144F0F",
-        "de_type": 275
-      },
-      {
-        "contents": "080BA02D47A3D4AF7BA94C1FCBCB70A71397E14206B6",
-        "de_type": 264
-      },
-      {
-        "contents": "AA6BF69B8ECD8613C95DA243320D4A2581",
-        "de_type": 349
-      },
-      {
-        "contents": "9007448B4D1A1C6824EF74406318C43421622D8177933E1B469088FB6B0C",
-        "de_type": 763
-      }
-    ],
-    "encoded_section": "C490133190D16D406DE4CDB486C62178AA7FBE911000C0CF7E29552F1C72FE58F39607FED92B900121CD625287C4ABCC300868F871B3F9FC36B8E82A243F4B7C1DBC00236FE4F0F2FB2B215B8016040357A368672BF3670175DE4E57ACE0E68FC1932303528CBEDDA764DA369F6164070F860C86AC90D6C4EE900AA58F37AAC2CA3C92BBACF0556A28BB264CAACB5DD6515F19CC3F31808CC7341D23593B63166186809F4492CD86A1AB181FFC1F48D7AE759BEF015427EFF04FDC794559B7DB7D33939531",
-    "identity_type": "private",
-    "iv": "33A37770A90581B66BF440E910ABED3A",
-    "key_seed": "FDA2E31760FC708DA464AB0C68FE2466846222FF391F483BBDF194DE7ED3507B",
-    "metadata_key": "55850C28AB36C0478C59455F908449DC",
-    "section_mic_hmac_key": "A5F0E47EC740727D97426B01CB0A1D498373E14B2A42964940274954B9CAE4D6",
-    "section_salt": "C0CF7E29552F1C72FE58F39607FED92B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9FAA7146038C8FBF5223B3F4EF402B4B",
-    "aes_key": "FDADB3FC15C2748A41A7BD272244731F",
-    "data_elements": [
-      {
-        "contents": "C888F3DA553255168D1C6C687CC86D8A",
-        "de_type": 401
-      }
-    ],
-    "encoded_section": "4A90138C466CF8E025CD72F5C052580230B0A2911000D14BDC42045F83B2B03EBFEC15C42AFA9001E0A30A11CEE658DCDEE4B62B6134BE16B6F2C5C92F4571BF6A2CE1AF1A360FB9C19792",
-    "identity_type": "private",
-    "iv": "58E287FC21B6D4FBCFF5C9FDECA731C7",
-    "key_seed": "79E63CB8F2025BE59AAAA0BCB7AF1C9876DF9E2C8774637887557F11C87913AD",
-    "metadata_key": "B6F890E2A81B7C0173C0AD1725402695",
-    "section_mic_hmac_key": "C0B180C437E5BC877605ABC2A30E6E008A6365DF291026AF19F181AD62BB5F3B",
-    "section_salt": "D14BDC42045F83B2B03EBFEC15C42AFA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5844853779D722DCE751CE513B2A0B37",
-    "aes_key": "6062FFDA23EB1FD510C3672BA5B92CD4",
-    "data_elements": [],
-    "encoded_section": "37901343D08516A6126826C2F77055E624363E9110005BA67B0DD13A87E2209A8796B4455C2690014158D669F5C62F236538C822C5994228",
-    "identity_type": "private",
-    "iv": "5FB73671DC2F2B6A48245CA4E3FF1D1E",
-    "key_seed": "819ADBF5BF607833105976ECAA2E3BC5A8BE1B5E73BB11A7967B93ED72128AC0",
-    "metadata_key": "4467ADE4F732BB4F0AABFA43606DDB89",
-    "section_mic_hmac_key": "5462BB3C170727E8601FE06BA4B954764D246394D912E56A085567F7148F0144",
-    "section_salt": "5BA67B0DD13A87E2209A8796B4455C26"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A49403C60AC65B85C47FF2D1DA45B21",
-    "aes_key": "F94C9EBAD0A9A3608BAA2D0DC0493BD2",
-    "data_elements": [
-      {
-        "contents": "9FFF46ED",
-        "de_type": 411
-      },
-      {
-        "contents": "03765D84D65C1DF5BA926D5FBB496AC914",
-        "de_type": 959
-      },
-      {
-        "contents": "2D34BC69CF",
-        "de_type": 64
-      },
-      {
-        "contents": "2456607795672BD7C8E7EB4A79BC6F71970608BB0D6F2E",
-        "de_type": 350
-      }
-    ],
-    "encoded_section": "739013D459BEAE4BCCF848831FCFD6DF0EFC259110000DBB0E6CA11CFF6F16ECCE6188E4A1E6900164CF5B4306C90D677539B05AC8FC468C7048FEF75FA4C486D0BC50038AF5620F863D111F441579478FC7474B593EFF0D59E95AA2AE84A2E2D95EDE9FCB7E6A4F669A645B7BAE8A41309ADD91",
-    "identity_type": "private",
-    "iv": "6BA0BC2764992CFFC2BC748EA0A61698",
-    "key_seed": "2E4F8F58A9D66315331FF83B8BC341494998670500C65260040444A67847649F",
-    "metadata_key": "B8653FCEF2F9771634F76E509234296D",
-    "section_mic_hmac_key": "35AE4A49D73CF2763F80202B81F55F4D2EC375FAAFF14AE60F00F7F706D36891",
-    "section_salt": "0DBB0E6CA11CFF6F16ECCE6188E4A1E6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7B2876D1294D35C9A633642CDB531043",
-    "aes_key": "11BD09E553C69F31A441EB71286BF702",
-    "data_elements": [
-      {
-        "contents": "1CD68F",
-        "de_type": 821
-      },
-      {
-        "contents": "D6758EB514",
-        "de_type": 58
-      },
-      {
-        "contents": "A2AB3B5B6DC7B404F1EE0B3AC1BF3D67BE64619453F5CBDAEDF225",
-        "de_type": 19
-      },
-      {
-        "contents": "A1A3542F7C661B7FECF56442923CC27152C365D245BC303D",
-        "de_type": 108
-      },
-      {
-        "contents": "9E18754BFB",
-        "de_type": 629
-      }
-    ],
-    "encoded_section": "83901388E29374A47FF296171738B1F21D9DF491100032A08CD56B7AF49208B0A3A16326B62B90024A5CADC6674D9B1CD6D74390D279F841B4DF78C1F7D6A08A6A747C6D706FB7070AF8C54BADE0743A9A1DF40953ECAB8DE3D7EB5740B3633E669A3BB14CA04B83453B23E532BE99A7F576D1F3DC5261238A734521217EDE09D908B365",
-    "identity_type": "trusted",
-    "iv": "478031F97CE799ECA7A88B9B742BACF3",
-    "key_seed": "124837A26828865520BB821F0833993EB6459AD3F6C4A3A9E9E3743363CA0FC1",
-    "metadata_key": "0F6C4FA4BA7A110CCAC6F1E253D86578",
-    "section_mic_hmac_key": "3366BD2EC451B292C053D75DF63AE820D999EBB1E4D608ABD71D9EE7F17CD6D0",
-    "section_salt": "32A08CD56B7AF49208B0A3A16326B62B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BF1F3EDE71CC0BA23F3E9B5188DCD74D",
-    "aes_key": "0D34EA39D00C9491832F0C0893FD98E3",
-    "data_elements": [
-      {
-        "contents": "C8D6F76BFBB24D",
-        "de_type": 615
-      }
-    ],
-    "encoded_section": "419013A6981580761522A9EC4FD894D95FABFE9110000903815A6E8B791AD5B98D3F84DC737F9002828E33F525A8188B2C7FB787101D4E1B2D25346336913916CEEF",
-    "identity_type": "trusted",
-    "iv": "B462E5AB2AF8A646A3EE86F73E576561",
-    "key_seed": "317A34230522CA4E9A39A827F78E044E63D1882E174AF27CFC3158E85FA7BCDE",
-    "metadata_key": "A16F43B5C24F051BE891FCB6429D5625",
-    "section_mic_hmac_key": "83683A330870E963D7B405376CAD9952CD313DEF8469F90D6951A0AF7DEF9F63",
-    "section_salt": "0903815A6E8B791AD5B98D3F84DC737F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B96DEA316DEF89973732DB62BC4432A7",
-    "aes_key": "C91E00B32F96ABED4FF0122583AB10B2",
-    "data_elements": [],
-    "encoded_section": "37901325B6BDC8A60672158F093819CF704ECE911000BDF2DD53B2723CF84674A938606393CD9002AF993A3939824B86FAA22B5B45F758C3",
-    "identity_type": "trusted",
-    "iv": "BE5C727FC20CAC7FD9F537FA14DA7E18",
-    "key_seed": "489D396A25321A6241DE317FD48F88BAB3D8626C6C642C33E4D71ED80C33FCFC",
-    "metadata_key": "B16BE5F80A589EAAC9F6CE6E40927214",
-    "section_mic_hmac_key": "DD060E89B2C731BAD9F3B541F17841047A27DFD12DCCE92E2DEDD6D72CF17ABE",
-    "section_salt": "BDF2DD53B2723CF84674A938606393CD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B15D76E91DFA20E5D94AB77C272AEA36",
-    "aes_key": "08F89BDE3E8CF20DAA15650BE114AF90",
-    "data_elements": [],
-    "encoded_section": "3790132C20330BF7AD2A9D6356023F542CE510911000C28E44A518BCC0A1AD058B4EDF7778849002A89640F16E3ED67F7EC86AC01434665D",
-    "identity_type": "trusted",
-    "iv": "4ED00D1E66EABEA0AB30F9ACA64C3AB4",
-    "key_seed": "F4052897D21C7FDFB463D86A3F70F43315969DD6C35D4E2F28E5C5FDC094499B",
-    "metadata_key": "A9CC5F1CC6D129AF1BDE07EC54685F86",
-    "section_mic_hmac_key": "1B1A2DB91F5F90BCE7D03F7F283476DB0E6F856A317A3B29747114D6F7543214",
-    "section_salt": "C28E44A518BCC0A1AD058B4EDF777884"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B23518E75C4291C3FF45E230AE8E1144",
-    "aes_key": "0EE48AA7E17EB7AC213E0251F5863A43",
-    "data_elements": [
-      {
-        "contents": "E8397D814788CE2F20C774EDD9A8",
-        "de_type": 38
-      }
-    ],
-    "encoded_section": "479013B7680C78524B27EF19239EE7409C867A911000937FD9077FE6FE41C87FF58C9760628390045396E7CEC68FA85BA56F754D53A236C80B709D69201120CE8DC52D023F63EA2B",
-    "identity_type": "provisioned",
-    "iv": "70E0CF8376E6263D6D39221A279FFB74",
-    "key_seed": "C1CD56FC8895CFAF52047C5EC6E4B555A2A3FBEA8078EE18B88DF10D073D3D20",
-    "metadata_key": "C409D3270AC018858924F1620EC07CB8",
-    "section_mic_hmac_key": "FC9B097CE0223CF1D7719C00676607E1D99B792D993450C7E333EFB2342D5AC7",
-    "section_salt": "937FD9077FE6FE41C87FF58C97606283"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FE111934B0B07379A319C62F558B8EF1",
-    "aes_key": "BAF0EADC4EAC7805FF4CB8B5BBE3E33B",
-    "data_elements": [],
-    "encoded_section": "3790139B8CC25B1E6EE84846046B6606A9FAEB9110004EEDBAD6580D5B7A26ADC604E4AE5ADB90023E2A49EFB0DAD66407994E861FC7931C",
-    "identity_type": "trusted",
-    "iv": "B9F42C9FC19969B3C708F54B1B2D2561",
-    "key_seed": "CA99DFBEE06974AD30031B9482C62411610D1DE2B05E1977F969FAFD860260B5",
-    "metadata_key": "7EBA70428E31280F089029EBCCC28E53",
-    "section_mic_hmac_key": "B7A04163665233F6DB80BFA0E9DF284676010DCC138FBBA97019550EE0505C71",
-    "section_salt": "4EEDBAD6580D5B7A26ADC604E4AE5ADB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "06340305FD9EDD7CA6E97F5F03028D41",
-    "aes_key": "4A3AE192FE98DF88EFB792D9244CB3C2",
-    "data_elements": [
-      {
-        "contents": "17A7D78EB34F",
-        "de_type": 40
-      },
-      {
-        "contents": "6CDD9B23F45E60C6",
-        "de_type": 13
-      },
-      {
-        "contents": "5EB80DA49615A9313378E994B31F96F8B3C2C926",
-        "de_type": 132
-      },
-      {
-        "contents": "38130E3285",
-        "de_type": 514
-      },
-      {
-        "contents": "B43389EB33CA74907A7A4F86FE1AD1",
-        "de_type": 916
-      }
-    ],
-    "encoded_section": "7A901396619F2B2B94F7F19628FA1F51785B4F9110002340B336B5C2E124737BEF2F43F197BA9001ED28FD63D309949B6BED96D0203D4FDD41B32F847342D156B990DE7DFF2408A202690C74A8F5CE1C8D7A709CE7D85507215D173F3850F3C1B2CB91993E340431B97110F563A286331D4B7103DCBA697904EB30",
-    "identity_type": "private",
-    "iv": "11DD03FA6DB092780B048EBD3113CEE0",
-    "key_seed": "7945F877F9D98C7610CE29F45369C662E303A8F5A326BEAFF9F0FB55611C89AD",
-    "metadata_key": "3FB05DBFC8E615E495E1BAD8431FCA80",
-    "section_mic_hmac_key": "FC6524ACBEEA7CBEC81E530F33889F7C852A85E4108B48F1BB2CE77B7AFFDE3E",
-    "section_salt": "2340B336B5C2E124737BEF2F43F197BA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "62114838135ABD22F7D172D64A9F009C",
-    "aes_key": "3757133FEB278857689A7FA8C48C2A3E",
-    "data_elements": [],
-    "encoded_section": "379013CE7AA72E7E878D42F249B992DB2F7173911000F0DE28B972676F2AB092E80CDF67018E90046FA72EA86F5EDAAA0F8CDCA981D5B00C",
-    "identity_type": "provisioned",
-    "iv": "28D18F45C5B8ED0408635743FD12CF47",
-    "key_seed": "EAB98A97C8016D997690C36C1AFB9B27C179D64C4A95BABCD5B30D160EFCE103",
-    "metadata_key": "1C58B34BEC2709A3E7F68157AFE44195",
-    "section_mic_hmac_key": "A071066F9D28C8A5318A2E186015463596B26CE67FA85080E2E0C1BA3FA7BF02",
-    "section_salt": "F0DE28B972676F2AB092E80CDF67018E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1C180AC933FBF1E4BCBCDB69BE0360C6",
-    "aes_key": "705839E944B1F2E9CD381E4E53EE5B8A",
-    "data_elements": [
-      {
-        "contents": "AF617170EC2294888C20C8A3B43BB3AC96",
-        "de_type": 12
-      },
-      {
-        "contents": "E8DC15F1D350190F674791CB",
-        "de_type": 745
-      },
-      {
-        "contents": "142A94EC2E864E33",
-        "de_type": 311
-      },
-      {
-        "contents": "A0DFF75C7969634EB2",
-        "de_type": 940
-      }
-    ],
-    "encoded_section": "7090137A7BBAF6598BF52772377F42EBBFC25D911000BF57CBF05D69C86F976C9A93BB7DD05990044ED30E5FF146DB04653AB49241949BA2233DEF5D16BDCFA8E61DEE02A211BE46C56D05AD868F1FD3229443986B6BD054D49C895EE0730BF53CAD53C8E84AA47FDE268B61F2343BC294",
-    "identity_type": "provisioned",
-    "iv": "566F3A2DE9C6FEC6D2FBEE1645AACAC5",
-    "key_seed": "CE740FB16B092B7AE502759E36C49BDC5B7A2FA2E97AE29FC9E0B9D2CDA72AA3",
-    "metadata_key": "C74FB2EB350DBBF1969E3A9691508933",
-    "section_mic_hmac_key": "1B8D81AB3F79239B973E2C8E73954ED1B5127289547C38CC71BFD0ED9552AE9E",
-    "section_salt": "BF57CBF05D69C86F976C9A93BB7DD059"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "26C852943966AC80964F71AADDBF07AD",
-    "aes_key": "B4D2FBE9AEF3417552263603D22318B2",
-    "data_elements": [
-      {
-        "contents": "4453D6586D1F59DFCBC6",
-        "de_type": 203
-      },
-      {
-        "contents": "8A3CD10D1097BF",
-        "de_type": 383
-      },
-      {
-        "contents": "05AC77461449443D444D10",
-        "de_type": 209
-      },
-      {
-        "contents": "24",
-        "de_type": 176
-      }
-    ],
-    "encoded_section": "609013CBADC624AD2C1F25563EB4BBA865B8F0911000083E4B25DF44E64CB1F9987202D5EE2990016AACE26DEB07CC0FF6D7CB2EDB3B7049A2E9481144AB66F3998841BF6B369CCF56E5878E5C1D2C17A031CE097D4F9B7E4B71CC190F7B637F6E",
-    "identity_type": "private",
-    "iv": "71A9F7A9ED012D7D0A3B5E1665C533EF",
-    "key_seed": "5A0B49C13A755D3C39FB51201D79662CA2DE0CC5DF1853631D2495F78A55490D",
-    "metadata_key": "441FC2E790A83563ACCEB1D121B02A5A",
-    "section_mic_hmac_key": "DD41E3D2F17A81A9B4891E0B07B500140C19E3BE96876B7E38CF1B4DEAB3078B",
-    "section_salt": "083E4B25DF44E64CB1F9987202D5EE29"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A05BB37EFDDB01C28868C9CABDE45755",
-    "aes_key": "11824EA2413643EF46FD5BCFDB388E43",
-    "data_elements": [],
-    "encoded_section": "379013C86D4AEE77BBDBB8844E2926505C097691100028E0AF5531DA2DE3C0DED5BC781B7F049001582A39819023E35A620C88CE345798F6",
-    "identity_type": "private",
-    "iv": "BF0445BA6682A2B47F7ABF0E20E32035",
-    "key_seed": "B688A40DA68CD7661B7D6089CCFE418B5B408BD375E9077C8DB33B620731526C",
-    "metadata_key": "935583808C7CB2FBC7C0714A8C36CA1E",
-    "section_mic_hmac_key": "F086EBEB816B05AE588F30216FC53E298A827819E14CF791CAA5B43B668A6614",
-    "section_salt": "28E0AF5531DA2DE3C0DED5BC781B7F04"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6E0D833A506E4DB1F3A53EF1F43E4632",
-    "aes_key": "2679F4BAA410BBC4E9854FEF3B8126DF",
-    "data_elements": [
-      {
-        "contents": "5B6A4C0B",
-        "de_type": 32
-      },
-      {
-        "contents": "DCE0D04F8F070A447B924F6C8E16EABC8579F140",
-        "de_type": 672
-      },
-      {
-        "contents": "4AD51AD3",
-        "de_type": 801
-      },
-      {
-        "contents": "A2A4B310EEDB978A748833C1F03354157907B8F4952A82D1C60B6F",
-        "de_type": 988
-      }
-    ],
-    "encoded_section": "799013D95AC86388C09B4142211B1890B433C7911000E94F2773795ABC33E1D514921EE2BA949004E570F5BDF232B20034955E0752F5D6A5CECC93236A9D55EA1B0E47A3E000126D73140A93AE42360BED1C2DB98ECD79A07B5C38AFADFB8DEC81C8AD48B88EBEA6AC5240B479040953B63A5C6A83786CDE7E6A",
-    "identity_type": "provisioned",
-    "iv": "F3D857A44878F37AE15E0E4272AA946B",
-    "key_seed": "6412DBC3C88BE6FE2C83658F87EFC2B68E27DC6E2A5F7818CE07E278DB4258F5",
-    "metadata_key": "2093FAC2282FAB9E32873A9249CC23CB",
-    "section_mic_hmac_key": "59E443F1954D91B37423505D8241E6F35BC213F3059455007F588BABAE936B5D",
-    "section_salt": "E94F2773795ABC33E1D514921EE2BA94"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0366F4962B2FAF43595714EA372D803D",
-    "aes_key": "2381BB44E4A84BC892495AFD32648DFB",
-    "data_elements": [
-      {
-        "contents": "EF42CB7BDCFF5FDA2486584DC7C69755B49AEA22",
-        "de_type": 48
-      },
-      {
-        "contents": "07B646472EC5353965E24350EE4F4B41E1D3B04A5FA3AB743D19",
-        "de_type": 950
-      },
-      {
-        "contents": "4CE19C060C1E3AAF573C8BE7046339C6A72F11",
-        "de_type": 772
-      },
-      {
-        "contents": "A9DF36B2600420CA81D5AC14199AAF13B9E4056F43C0C7A9A1B458F9BD",
-        "de_type": 283
-      },
-      {
-        "contents": "B7A2",
-        "de_type": 578
-      }
-    ],
-    "encoded_section": "A5901395C08630D83223DA1529C5BDDF862429911000F33DF7DF517C94019086C3C55258270190028EE860429E7BF8FA0A3E8D5138E3CFAADB41414889DE9CCF0C46FC07FC618E4B0EDE78A19EF63C6FC7C4127D749C7ECD19EEC9D7F0C1D4BC6F1074785CF7CC06DF2CA35F43B17D8C23F389F82BB16E21C1C80328B60B0BF7EF031D3C885393CB7F86C0E48848DE744E73F7DE8AA69F5E875AF692EE5CA62B6958F450DDF7",
-    "identity_type": "trusted",
-    "iv": "596ADE25EB467684CEF42648156B0626",
-    "key_seed": "9E23BE85340F7F6E4EF0B499865BC6771EAE8777F5CD62655BBCE72E53ACC83F",
-    "metadata_key": "2EB7B8F54852A9FA534E0355A51CADDA",
-    "section_mic_hmac_key": "4A08AF41A015449CDBF11C5A919FE3F09B3D002BA5FE5C0C0910061C291FB569",
-    "section_salt": "F33DF7DF517C94019086C3C552582701"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0AEE1E2CF439B601CEB6912B95375040",
-    "aes_key": "5089E7D176FF1A7223D80B0409C6FA26",
-    "data_elements": [
-      {
-        "contents": "D5276E1226F20AB687",
-        "de_type": 607
-      }
-    ],
-    "encoded_section": "43901358F31DEAC2408D32879334657F553B3C911000D17FCA0932AF190778C24B96E5FD773490023BFABD0169B35850D2228C8AFB2F91608D59B80F95BFFE0B86F85870",
-    "identity_type": "trusted",
-    "iv": "D41B625DDAAC29E9C2C452E9F16A29C0",
-    "key_seed": "44C670ED0F58A7F2BC90EF1F04EDF83C9348139557B451EB6D8275D7B0185398",
-    "metadata_key": "D8BFA1BDA44332D65D99EF0080E01D3F",
-    "section_mic_hmac_key": "C2B8FE9FA062BE161FF8BD14F31BBFCE43378DDD9D82EAE811BF8D61BE0E889E",
-    "section_salt": "D17FCA0932AF190778C24B96E5FD7734"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "14EFDEC1CD63DDC48B8B8E8C8CDC8304",
-    "aes_key": "5E279D274E2D7323A335FB4BB590EB6E",
-    "data_elements": [
-      {
-        "contents": "A16A8E4A6AF9ECA8C6F59A0C810DF0887016754EDF4E",
-        "de_type": 933
-      },
-      {
-        "contents": "91E18A74954C81ED",
-        "de_type": 768
-      },
-      {
-        "contents": "D284DA8A828C589785EAAF87EACD9B6B629C93A72A",
-        "de_type": 250
-      },
-      {
-        "contents": "10F674B0727729EAA5906B2E2055A074EFD5",
-        "de_type": 386
-      }
-    ],
-    "encoded_section": "8890137E2AE6C6195C792C17C7A7D5D85D62C39110000FD914F6DEED1D8B294D54AC1AF731E59001801DE846E75659321A50A88FE67B0F6D15999A664BB34EAD74AF0F15CE500635DCC5662F84ED09B1DD8BE084A71FCC5952EC8D21D42E2C73862E6C7624C1E23EF238E3454F3001E1A1F628F7DDCE9E1603C29A09EAFCE0AC398C535C7E6A3F8B6E",
-    "identity_type": "private",
-    "iv": "2769CEA47FC25DCCB02764766D926045",
-    "key_seed": "94F0C89FCD16F86CE07F9E525E6DAEF427E0E34155511E533DE9E9A3459588E6",
-    "metadata_key": "F8A0DC8DA1A04B3E48500497F9AD016F",
-    "section_mic_hmac_key": "BA370144A94F5A2D914A271DA273C7398BA54051561DF993717920C6402766F9",
-    "section_salt": "0FD914F6DEED1D8B294D54AC1AF731E5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8DFC829806B833E4CC7A5915DBF6976",
-    "aes_key": "178A9B604EEB014BFBD4E225DCD5F848",
-    "data_elements": [
-      {
-        "contents": "E8C937C8367D2CE21D17EB8473B0C2115CFCF8F17AD95664ABC342ABA8",
-        "de_type": 501
-      }
-    ],
-    "encoded_section": "579013A26BA7738CE48F0A7785573722492B6F91100052FFAE3A4F772BE69EE13ED700E5C0019002C8986203C903B3446CAE025DF6E718BF73EFF77A892F5867B55BFF67E278D59AFEE383E4115BBC6F3052AFA8F85D5B0B",
-    "identity_type": "trusted",
-    "iv": "D2EEBE3242653569FCDA783795429968",
-    "key_seed": "93A836F66F3808515B936588D6A270FEA403392AF0CB25E16CE672AFAF26BD09",
-    "metadata_key": "1DFAA8BD5B70B5BCED114183CA5CD29F",
-    "section_mic_hmac_key": "3DB4DF42F47597DD85B09EC00F7CB6828C0AE0C4AD770964BBB83C18F44A5D4E",
-    "section_salt": "52FFAE3A4F772BE69EE13ED700E5C001"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8EB77BBF9B403FF005C47CD0E16171E6",
-    "aes_key": "F609CCDD1AED844DB12101C1455043AD",
-    "data_elements": [
-      {
-        "contents": "6F7BDD9D79C975F5499A0445A0A45B65093FE6BF6B87",
-        "de_type": 253
-      }
-    ],
-    "encoded_section": "509013F28F4ECA39FA96461F8A0699BFB576AC911000A9E37AD77F5AF0CDD4310C3400E843999004BBC3E4FB4CD4FF5E74A6FD5D24F758D3A225C841350134B8EAAC663A8425EB10B70D3D5AD7F5D89454",
-    "identity_type": "provisioned",
-    "iv": "3FBF642845DA78CA89C9F1C1773C1CAF",
-    "key_seed": "81004ACD295BD7E1F3B141E4F32DB07B38D89628FEE7E832C5250130F7B76DD6",
-    "metadata_key": "12D275A01046BCA9813B58EBA1A111A6",
-    "section_mic_hmac_key": "9DBA40A86FFC3D909D4973DD42F5A1590AEA88CA64FDD1AACEDE1873FABA922F",
-    "section_salt": "A9E37AD77F5AF0CDD4310C3400E84399"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "72F229F976778B8F81E6E11237BE69D2",
-    "aes_key": "965455CE77299A33B4677C22F8934450",
-    "data_elements": [
-      {
-        "contents": "2BF3E31146E2852F0C71FD8D00185974D4945EC0388D52FDD11F6C78",
-        "de_type": 474
-      }
-    ],
-    "encoded_section": "569013F1133A1C5D39C0EB102D559967F81832911000BA431CBF78832E8B284D34DDC999B6589004C08F255B79F62CF6CE040EDC3A23728625BC0399E1EC4D686FE88AE38EA18CD1D3A961F303FE34DCCCA5613EF5B19B",
-    "identity_type": "provisioned",
-    "iv": "39CA34319C4E57CFA76C0CC39D250FEB",
-    "key_seed": "2EE377ED490D438BA5E5856EA6CB0206766DEC800FE300A20C5AA30FD9F985BA",
-    "metadata_key": "A0B481795EE988419063BED63094A408",
-    "section_mic_hmac_key": "E63EBAA47708FA1F7DC4BB439938D4434A0083BE3DB361669A090ACB41D45DF1",
-    "section_salt": "BA431CBF78832E8B284D34DDC999B658"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E2438E9BF16B31C95FD6885C00E11B08",
-    "aes_key": "D4CF5202400F9C1932BE142FFD4CC65A",
-    "data_elements": [
-      {
-        "contents": "6D",
-        "de_type": 693
-      },
-      {
-        "contents": "40F83E490CA9CA93",
-        "de_type": 591
-      },
-      {
-        "contents": "E66886C93E6592BEFD3F",
-        "de_type": 241
-      },
-      {
-        "contents": "8C0010C44724714E61E68F30533460A53E6B0D",
-        "de_type": 277
-      },
-      {
-        "contents": "B277F8E0CBA5AD4FC3545F8F62834693",
-        "de_type": 958
-      }
-    ],
-    "encoded_section": "7C9013FF26D8333BFACFE99C000A04F9446EAE9110003398D1FA6CA164B2F2A9DF651AB8A08B90028DB85D0B6CE0D6780A715759F75B820D7A997FF914C10EA81F49984D37145D11414ED694AE60301AE1181A025E347F78BE15A882905044070CB461D3D04F7BE7466B9768736B89D1E1EDA8227D37E080378D6BA9F9",
-    "identity_type": "trusted",
-    "iv": "FDB266B94952A2C53A36FC76B6B10D70",
-    "key_seed": "2C450CB362CA288FC9F268B3654DE6BBFB2C42A0A3473D1DD752CD670C45E550",
-    "metadata_key": "437B5470A0C2E0EE8257D7A255D776D5",
-    "section_mic_hmac_key": "57AB37FA929E2622240214CDFA222E72B87D00F68B01F28629BA162F61B24856",
-    "section_salt": "3398D1FA6CA164B2F2A9DF651AB8A08B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "16A07829874761800D9FB4C3E21A2A30",
-    "aes_key": "24152963469643ED0534D23908210079",
-    "data_elements": [
-      {
-        "contents": "582A88E9ED0B",
-        "de_type": 226
-      }
-    ],
-    "encoded_section": "409013D7F48916F267119188FE49673E4322F5911000AEA39558B6060468B31BBE90D84E48569004128F5F484DC44595CD6EA02E9616DDEAD65E71B1F3C0ADA8C7",
-    "identity_type": "provisioned",
-    "iv": "B77132A303625EC533C2AB64430BE8EC",
-    "key_seed": "9AB4FD9204A072396ACB99BF24E36F99D6DC23A9C6433CDD793163D716AAB367",
-    "metadata_key": "6B6FEEDF5FECF44F4598D9F9336EA39F",
-    "section_mic_hmac_key": "CA281C0ACDB75B8FCCBE489135F1F60CBCE613EDABCE4F6599DB6A32FFE8A98F",
-    "section_salt": "AEA39558B6060468B31BBE90D84E4856"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9159107E1D54578B844265C291E6F456",
-    "aes_key": "A142FCD93225283E9C860862F8719CE2",
-    "data_elements": [
-      {
-        "contents": "BBD5",
-        "de_type": 347
-      },
-      {
-        "contents": "A61AEB",
-        "de_type": 165
-      }
-    ],
-    "encoded_section": "429013CF49B28303C8F063E5A9C8A2E5E5A582911000C3D02F4B3F14A8C76A0E3840C522BD199002C48D6D20B4B27E0AF7E8AA6319A62AA7AA534F867DED4748522E0B",
-    "identity_type": "trusted",
-    "iv": "E45AE7CB222CCB06E574519786304AFF",
-    "key_seed": "7EFDFFA488A94BF2C11A3EE5B309FAB935BF41D510D587A7115D5BAD030C853D",
-    "metadata_key": "C6EA1FEBD15B10E7D19D13317D39F365",
-    "section_mic_hmac_key": "9F5F37B864A003287CDF62806A6D5CC4422816474DAD127DAAA0303B842DBB01",
-    "section_salt": "C3D02F4B3F14A8C76A0E3840C522BD19"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "01D0C987D88C843A8DA02F96AEEAB362",
-    "aes_key": "4D8530AB04B3B18073DD758C44CDB12D",
-    "data_elements": [
-      {
-        "contents": "C635CC117668AFE7949917A7",
-        "de_type": 593
-      }
-    ],
-    "encoded_section": "4690132F78152F11A6D5F60810B49DE0E34D739110003C013D2EE71384CB77B9FFACF9A47F4E9001A32EEA69EB210803D358A56381F4A39B5F6DD7C26B7E13BAC60AD879791059",
-    "identity_type": "private",
-    "iv": "47787F6AF0CBFF3224FD5B90B7C62C19",
-    "key_seed": "00CC8EC56019B472D3ACBE5BE0A264A6678E2DF7CEF0BC67BD79E6828C8DEFA7",
-    "metadata_key": "726B29FC8323127C8BF3CA61DB54DA54",
-    "section_mic_hmac_key": "6282DF040346562FEC646797AC206013549F226E4BAAA53F89F7EA8D7704CA35",
-    "section_salt": "3C013D2EE71384CB77B9FFACF9A47F4E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FAC14F23FCA63EE1AC8C2F59083B88B7",
-    "aes_key": "6FC985D771EFA0BEA304EBA07A4D4381",
-    "data_elements": [],
-    "encoded_section": "379013210B1AE359DE0CBBEF346FF559B51B64911000588A0BD17ED117BB4AF055C77AE2DC439004E313D80409FCA3D2E2979544708A39B2",
-    "identity_type": "provisioned",
-    "iv": "86C71197DCC66D69EAC756CF2C03457C",
-    "key_seed": "C2AE57F5782C3D478DE8AB1D2E1687BF00B9E0610F7D6E16623496E61C6B1230",
-    "metadata_key": "53695A2CF6468D1F2453CE5EDC1F5D34",
-    "section_mic_hmac_key": "6AEED53AA44B52EAB200C7F46C01829AF89B54BCF92A9976DB76868D6F135627",
-    "section_salt": "588A0BD17ED117BB4AF055C77AE2DC43"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D472CE5EA02A6BA693D3D3C2FDAD3CB9",
-    "aes_key": "F3D466548CF059E4BFD26C5886022F5B",
-    "data_elements": [
-      {
-        "contents": "D8D56CACAF01745BD359143859C0D997FFAF99426DEE4F0526C6B7",
-        "de_type": 92
-      },
-      {
-        "contents": "A24E8CF59B4C05",
-        "de_type": 365
-      },
-      {
-        "contents": "81",
-        "de_type": 632
-      }
-    ],
-    "encoded_section": "629013BE8CCC4DF63F42BA4F95A6E67E961F27911000FE4F65E41C205A3E4AECA5C3793C5BF69001EDBDC998D2BB9F46E2820FFA264F9BE3D3915E34044744679A1B1F264AD4E0308DCB0BF6480F7BA07BEF3F97BE391D659BD97C4CE4105F2D3FA56B",
-    "identity_type": "private",
-    "iv": "991E163873F0FD3CDFEDF8139642A8F3",
-    "key_seed": "568C44F2441F53CD271E0542E28C0FDC6695D248A63610880C0453C64F0377E1",
-    "metadata_key": "2852757C8F7EB2EDEE35A83C67DAA69C",
-    "section_mic_hmac_key": "FA797B50ED1D17BF334DCF82CC974B740018A9C8003954FE8C86266B17D3F3FC",
-    "section_salt": "FE4F65E41C205A3E4AECA5C3793C5BF6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "37CA9E5FD83C77A93EABAEDC05387FA5",
-    "aes_key": "2A6AF75B9E41431A70C784C8CC4F67BC",
-    "data_elements": [
-      {
-        "contents": "537D9BC55AE1DA87236C576CC5F26C2D602732D596",
-        "de_type": 824
-      },
-      {
-        "contents": "86804C087B781C582B55",
-        "de_type": 646
-      }
-    ],
-    "encoded_section": "5C9013115FC54D3F5BE989D8D73E6CD5FA8933911000A85F1F25192415C492401A2F8E01E92890045AEFA99C8FC1CA0EF427BB15090A7DD66CBEDB6F851224E43966EDBB49403FAE54A4EB5F2EC7DC91D3303A587F631C60FD37F77187",
-    "identity_type": "provisioned",
-    "iv": "EF1CAA1432DC4C9DA79FD2F1B6085F22",
-    "key_seed": "83B25874FDA42842607D32442AA882CF07302E77F3ED45483B084173C78CE088",
-    "metadata_key": "D5476BCD37EA529CFE0398E04BFC8DFB",
-    "section_mic_hmac_key": "9A3EA2A97F65070F53F1D0565BF79C2884EA8F83777C386F788878D0405F8F71",
-    "section_salt": "A85F1F25192415C492401A2F8E01E928"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "23A40362AB2ADA10E507ADF73A53B738",
-    "aes_key": "2A3CDE8E1F16994BEAC62D6303BB37F4",
-    "data_elements": [
-      {
-        "contents": "0843EC4474384A6564190967861E63F79CE2C093CBE9",
-        "de_type": 549
-      },
-      {
-        "contents": "528EE47BB4B74DC8BB9E1DF094",
-        "de_type": 970
-      }
-    ],
-    "encoded_section": "60901318D390C46D78B50D713B7F1D3E4ACCAE9110006797144436216197C900B8B9AAC56F789001CD6DE510AECDD868575107FE8366F7D00DEC23322446DEC1C1544F04F07114E1ECB49ACC9CC160A0AD858347DB70785C8A1FE1865C1B8EF1A1",
-    "identity_type": "private",
-    "iv": "D5757A781F250DEA9B32A2187D1DCE66",
-    "key_seed": "D0B4C8F4097FCB6FA04E537590BF5D93980F62C3CEACD9539F4B805FCEB19BF7",
-    "metadata_key": "F59AF47E80215C5D7080A9F17789A0A4",
-    "section_mic_hmac_key": "75CBA9C19FB676E9DAA28A513B222848CF282079CB8D535638316B230DF07FF6",
-    "section_salt": "6797144436216197C900B8B9AAC56F78"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "669368F2B1CA51C64A75E82A26AF1C11",
-    "aes_key": "A4EB2632A392009042825BF578EDE10A",
-    "data_elements": [
-      {
-        "contents": "F2D8D28C9069643C0348AB1945160AF061335DF9EAF41B221DBE03",
-        "de_type": 436
-      },
-      {
-        "contents": "60197A23C9",
-        "de_type": 331
-      },
-      {
-        "contents": "8A9DF20FBD2E506F3A1A9C0A2BFB4DA265569A10ACDE979A7E788D21F2",
-        "de_type": 679
-      },
-      {
-        "contents": "2CAA8CA35DEC7A9CC23AE80F2AD4D04BA3E183FE80DA7CEF25401F",
-        "de_type": 414
-      },
-      {
-        "contents": "1A1B4F43E756C631B06104F7",
-        "de_type": 20
-      }
-    ],
-    "encoded_section": "A990134A4C65C83E53EAC713E40B3AD06319C3911000436276C9196C9DA1609DC9C37F62FCCD90017D953EC227BCF3F8D3C9D12F703836BFEF24DA8CB8DFFD6E8ECFBCEEBD7C7A96FD46C6DD33481F61896CAA97B3080075A5EB1F94CA4723CDE6DEB7A248B1539F7A6F727258DA870911DF1D648D43006DD5E59E84C30F72CD61095DE966561D2CF65E1AD4D23E35CA259C6D24D31B7FC9DA8FC1F6013CF1D45C5024A5586264342E8C",
-    "identity_type": "private",
-    "iv": "B16EB79EEF99FC59C0668A1D7BC49AFA",
-    "key_seed": "5F02964CF3FD078549F6F8A12FBDC0954E721E45D6E846889E7524D2B8434B8B",
-    "metadata_key": "A708F60A0D600AA8A68217B333B97CD8",
-    "section_mic_hmac_key": "E13B13E5A85167161D8B99887734E38F16B76B87A517A8C4FF136F89A5DDF17D",
-    "section_salt": "436276C9196C9DA1609DC9C37F62FCCD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0A2481314ED5461D784F31EAF236F1E5",
-    "aes_key": "16E09656726BD0DC340707E9A8044E65",
-    "data_elements": [
-      {
-        "contents": "92A1BAC82C6C9E906E78A8DB18D26644E7A2EAEEED",
-        "de_type": 647
-      },
-      {
-        "contents": "98233973D9B3EBB10DD17CE8B446D32C9401AFD1B5EC9C57FE18",
-        "de_type": 657
-      },
-      {
-        "contents": "39F2C871399BCE2B2A4B30B8B2310104C5B7056E11F51AD03F",
-        "de_type": 824
-      },
-      {
-        "contents": "92A59F3F222B370631B5",
-        "de_type": 29
-      }
-    ],
-    "encoded_section": "9490133A361322C6CFD8F123B652392B2C33F0911000C1A4FD2EF8C9F2A6D6974F8499A86C659004B9B926F64A99404F409179FAE1A76A99533E523AB5C23493DC15F5F3F120CADCA02CFCAE5A3082F5FF9C2FB21D81E521728C42982A2328CC308F514795CA4EB96B8345F6BAE498307143DD189D826F4724CC8EA3FAF712901F36E30FC459E53DABAF178E7BD5C84E132A30DAB1",
-    "identity_type": "provisioned",
-    "iv": "E767A2363EF745A39E8787B42FD8DE81",
-    "key_seed": "61F9D03A55557256DF3DB5D601914145C9775AEE985415278B8032FA275C5329",
-    "metadata_key": "BB767635FA036098ECA2BC4802D976EB",
-    "section_mic_hmac_key": "31D39D034312D41DC5F9345FB580C37BB38395B84C53E60162A28720C1E63FB7",
-    "section_salt": "C1A4FD2EF8C9F2A6D6974F8499A86C65"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2F5E446BB35D880DD4832A0320D23837",
-    "aes_key": "0561AF2D0D1CA6D8E039AF77CD3EA3F4",
-    "data_elements": [
-      {
-        "contents": "AC27B62265094108D47755E4CCDB67D80B83C7074CECC0D32722",
-        "de_type": 769
-      },
-      {
-        "contents": "B4AAFCE877574BE04E95",
-        "de_type": 926
-      }
-    ],
-    "encoded_section": "619013DDD6BA07092F273FE5A3B387A7DC9075911000CC0F046848B5C94CFAF3C1D28E8683E59001430FC81EB61D0491A40AA0EE069E9B722C2B89CB62B4F352CB8FE93F0E9D15D6312B6DF7F955A3A8A04C4D6A4986F86D536A3E4CBDBF4FD6DE71",
-    "identity_type": "private",
-    "iv": "EABCB9DA7F07B140664428DCC9047C9C",
-    "key_seed": "F82944B1BE8D9544BDC997CA1D03476C40D7D7FFAF30984C6FB2134B5AC19139",
-    "metadata_key": "19D5EDE29D0669273A6E1EAB85910537",
-    "section_mic_hmac_key": "E69B4CE7F49A47FB968E2C884248B3945F308B713AE44E3E4647DED0393E64A4",
-    "section_salt": "CC0F046848B5C94CFAF3C1D28E8683E5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "745EF38C147400E52E78EF73D799E530",
-    "aes_key": "397F15C3D3507F7558ED7FAA6FCFA2E6",
-    "data_elements": [
-      {
-        "contents": "744A64EA84D1A11640AA6EC3E1A7",
-        "de_type": 906
-      },
-      {
-        "contents": "AE5862393CAE8A6A8081",
-        "de_type": 472
-      },
-      {
-        "contents": "FA53D0AC965BCC16F47544049731DA0A5A15BE0404705E",
-        "de_type": 331
-      }
-    ],
-    "encoded_section": "6F901373AFF0834BE5A8A75E5746CB02F7A71D91100061D605F31762567236505062910B3D87900118280B003A65469819DF38D09A494CF6525442F1CEF475B8314478A8F1A57BAF3C7FB86AB20E0190C6FE6850335A7E386D600128E705B2179D425FEB351F9E4EB59CC5E7A9C83430",
-    "identity_type": "private",
-    "iv": "94077956863ACD5EA404F69F49C6DC77",
-    "key_seed": "CEBFDAAFF86989FC83B21C9AF025C8C9179994F61AD5E743A802B5ED773A3EB0",
-    "metadata_key": "538ABCEE91E1133075655C92E743045E",
-    "section_mic_hmac_key": "E73A504BC9BD9D96710628DC0B818E1AFE30AC345BDA21A8D433B5848C46CD2D",
-    "section_salt": "61D605F31762567236505062910B3D87"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0A6BBAF5021A1D2FE1682B7F1075264B",
-    "aes_key": "F9D5C665842BC9A21E7118A5140C5980",
-    "data_elements": [
-      {
-        "contents": "04FCE6BB03DCEF4AFFB691BDC55131FB1362F6DC9716322F4D66C7",
-        "de_type": 586
-      },
-      {
-        "contents": "070F8092B39E3A464748E7AB9F0A6D3BB8",
-        "de_type": 48
-      },
-      {
-        "contents": "1B8AB668E06DCCA0A0D10CFF6319600E8C",
-        "de_type": 363
-      },
-      {
-        "contents": "0505E12CB0611C4DCDE6D2501FAF96B1375497EEC1C3D349017C4DB382",
-        "de_type": 825
-      }
-    ],
-    "encoded_section": "9C9013F127B1FD8A6754A1D23FC5ADF1AA4888911000D2EE2D16407010B143CC91248DF3EDF39001C723843332E652018213683FE8E97832066841091B04D79B031EE9C28AB3EFEBD8DC90AA76D499E8625B8D7DC05E47FC8725C9F52EC835086F1A12BE17FAE08E5648CA25CAC0C975F9D6CEAC578FA100D26031FF7D24B6A39531F184553B64DDA8B42C63400D9D938719D92EFF98743E9E06D83085",
-    "identity_type": "private",
-    "iv": "E54BAF233C2873FDEC34ECDBD2A75BBC",
-    "key_seed": "5E571CC03CF6060B889A4AFE1525C75D7010747E1F49304996A04F6541A15BD4",
-    "metadata_key": "7E9B72FC7CFC6D01C32FF8525C73A26F",
-    "section_mic_hmac_key": "D4FF75AEC965C82A4A2EBCD6D793ED7901083D68C26FA7863DDB45B242B412B0",
-    "section_salt": "D2EE2D16407010B143CC91248DF3EDF3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DF5BE769CC5F0353186732BE147A63D9",
-    "aes_key": "22CCD7B2403BD3865C7B2A465F6C30BB",
-    "data_elements": [
-      {
-        "contents": "A14BBA160E760CF44F",
-        "de_type": 952
-      }
-    ],
-    "encoded_section": "439013BAC4DBE0F31AC812333CE4E759DB04059110004209A410502B246C097B277FDB07C4D990013BF9818DB28F7BCEB9BB5E009163691F51BC8DE49B58C0D49F0E18D3",
-    "identity_type": "private",
-    "iv": "1355F2F66052B17658A63F135FDA11D7",
-    "key_seed": "7361CCF3A6692EBC56C0CA940F35FC4AF1AEB3D0A61C09D9E514C39787069B58",
-    "metadata_key": "4FA17703926007A4761033EDE0235613",
-    "section_mic_hmac_key": "A13C30E9F3243CF7061EB9B9BEB91A45DAB682A15588C894BC803B751B4579E8",
-    "section_salt": "4209A410502B246C097B277FDB07C4D9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E5F3B694C8D64BE7698617904C135CAC",
-    "aes_key": "42CEDB34BEB620F53150B505DBF0017E",
-    "data_elements": [
-      {
-        "contents": "1B9289BAFE209EB83B1317DAF000E1364AE9B42EA5D3",
-        "de_type": 329
-      },
-      {
-        "contents": "62612B87E30046057587",
-        "de_type": 311
-      },
-      {
-        "contents": "F6E858C9FC1193050685904D19E7AB2BBE",
-        "de_type": 261
-      }
-    ],
-    "encoded_section": "719013159144D7E2194B056A0C7E8584BF6CE8911000218C59E9A77F6C177DCD2A9773BA48AF900241DA1F7786470F9D4A621561E8AF20F7C08EE15C0BD534A675FF6463E81F6CA71A45ECD5406B91DDB3E4735DBADFF00978F8362A398E5F456CDAB11EEC901F03D1648EF8B150DC3E67DA",
-    "identity_type": "trusted",
-    "iv": "EA32DE5C1E430A835C12B1A91CC89CFB",
-    "key_seed": "8BD9229CA4491845B4083623E5FEA2069BD41B56809D886324CDB1A586BE0CB6",
-    "metadata_key": "951A2E71EE9898BDC0296DFF0213DF30",
-    "section_mic_hmac_key": "3FCF9C69A11FF8EEC29F52F44C472C0C57E91D443C1D2B26A83221567F02151B",
-    "section_salt": "218C59E9A77F6C177DCD2A9773BA48AF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C6584EC834FED2E94B8091A8747BCD9C",
-    "aes_key": "15ABEEF92C750250A1A76C68241634D5",
-    "data_elements": [
-      {
-        "contents": "578A958480E03A34F8978B8260C9A13F9B9ACF373C",
-        "de_type": 198
-      }
-    ],
-    "encoded_section": "4F9013A3CDB9B681A52DEE1310B22F1931F9EB9110003F399980C680152865FD9279D977CC139002685C63C0C0E709FEC8E9EFDB7269397FDE1E43D2729F41D9C7A66DEAF2185B5765B530A92CE78B97",
-    "identity_type": "trusted",
-    "iv": "1EA030B4EDB3E3830E853133F5DF8E73",
-    "key_seed": "4121F59F7C8155C2C22DCD541C2EEF8FA89E1A1D92FA6C92767E70EC828E581A",
-    "metadata_key": "87C695F0A704AFB08ADF552F2D70D36B",
-    "section_mic_hmac_key": "8BD01A8873BC672624A111614E646520593EBCDFAC76A81D40E3C1C268F89A0C",
-    "section_salt": "3F399980C680152865FD9279D977CC13"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3F2141BAD98E79288895A150E295742F",
-    "aes_key": "0A35AEB6BA80958F4FBA6475AEDC9C42",
-    "data_elements": [
-      {
-        "contents": "2EECF608AAAAF0FE733CC5E2DBF178C7E39152E12CDDD772D65C417DFB",
-        "de_type": 803
-      },
-      {
-        "contents": "22A2C92D792B",
-        "de_type": 103
-      }
-    ],
-    "encoded_section": "5F90130F0868FBF386021653BA3FE7BCD17E87911000FE75240065FDF8EFC99C0C3AF69156E59002E707FDA0FF2BD0ECDB6FD388E6AD5FB47E69D6B787971FEC414F711F7360869018634A4857329A9B0AD295C4C755CB905EBFAC9A4C0B7BD4",
-    "identity_type": "trusted",
-    "iv": "049F4151D3FE5B124170EAAD35C45788",
-    "key_seed": "2E09F6C972F988C3AEBE406A814ADCE1323861A409071CFAC1EEE755DF201202",
-    "metadata_key": "D6AFFF9038CD3B4C77CE91F438BFA3B9",
-    "section_mic_hmac_key": "B1F883D3A3806235308427AC61D723CE12A761C61069ECB1F10CF61558672621",
-    "section_salt": "FE75240065FDF8EFC99C0C3AF69156E5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49B2915EC7A33D0286B5D856BC1C5284",
-    "aes_key": "A417B26D49ECA18BAC18ADA35F74D45E",
-    "data_elements": [
-      {
-        "contents": "9B0E237C78F6CB50",
-        "de_type": 9
-      },
-      {
-        "contents": "C94477AAA110FE809B62604500ACD0F7D414FFA49DA215",
-        "de_type": 519
-      },
-      {
-        "contents": "992B20C63A1A22",
-        "de_type": 25
-      }
-    ],
-    "encoded_section": "6490134B524B7F1DCCA091F7824EA36A2617A1911000D340ECFA488E4B8D5097BF106F8B829D9002D655120231B293EF93F1951FA10BE3255011D75CC2409DC37406396FB62A190F4EE6438A650B01A3EE155F192FF7AE7041676C38CB0DE0470D35B881B9",
-    "identity_type": "trusted",
-    "iv": "869A1EF9278163ED199CF9F9F137D4E6",
-    "key_seed": "9EE4BAC6148531F711836FF331C1FB7E3B02B9ACDD78F2F88E8B0E40BE39DE24",
-    "metadata_key": "C81343B9BED7BD4F0758950833314D87",
-    "section_mic_hmac_key": "BA6A098387BFB88E2E4FEB012F726011F577FCA9E1349D7627A46B1B5EB2DCF7",
-    "section_salt": "D340ECFA488E4B8D5097BF106F8B829D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8D17E72A1C35431FE9167E9BD17E0CCA",
-    "aes_key": "8B6E188A464D1E549D5988EF874A9714",
-    "data_elements": [
-      {
-        "contents": "65F9D53284B61B216C2FB7905A7E628A36D346F27E63DF03AD5591CC3806",
-        "de_type": 122
-      },
-      {
-        "contents": "1297A56F07B1E17644212F4E57043C1424A6FCA16610A252",
-        "de_type": 427
-      },
-      {
-        "contents": "0373709C74E1682A1293A7C96B026CD7667BDBC8",
-        "de_type": 321
-      },
-      {
-        "contents": "B7A7F0CBAC26EB1A7F10",
-        "de_type": 240
-      }
-    ],
-    "encoded_section": "969013135DE684210624C70AB737EA21E2BB2791100071D1EC0652294A473D35ECD597CC09C4900451B8461BB4330D89B49CF05D5D0B305361E41C5D0DA38B58335699AA3E806BC4CFADA43F344F49FF0BB77196236F8CDA9054F508DFB5144AA7E11AB860A0F4CE6F9D47237982D8DD5B3232F3627C4C4A55AD1201A865CE24D5C73E50BB704617AA4D887B7A75048D63F29AE2C31CEF",
-    "identity_type": "provisioned",
-    "iv": "3365A1592043B55C5C4144AB1D115066",
-    "key_seed": "80F58265457937034CE0954435632A123D95EDA52237638197E60E3C3941CE75",
-    "metadata_key": "95D1A7C78A1E4BACA51EA2476EEB81D3",
-    "section_mic_hmac_key": "DAF584298F254B48279150416077F45F02EA517C3473AB034D7ADFFE3A670FA3",
-    "section_salt": "71D1EC0652294A473D35ECD597CC09C4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "567BB8BE3AEB3C21E81331145E2A92AB",
-    "aes_key": "A617DFDBC645514858FA32E01DB12BDC",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 487
-      },
-      {
-        "contents": "6AA41CA7DCFD6CB1AC6A4318DC40FB83A14443F387C8A2466EC1CFD3",
-        "de_type": 640
-      },
-      {
-        "contents": "7B8F001428B90D600D00",
-        "de_type": 965
-      }
-    ],
-    "encoded_section": "669013885D0434ACCA45B4F679F4876DC80314911000691D3A0B07D7528440C9FE2FFAE11C0A9004C856B862CB0B81B4CE4355DC8D1D1938938C313D3481DC74949373CAC221012D4B0B4CA04035F045ECD631596E29947BBC2A20A796889E1C37CD64982CF41F",
-    "identity_type": "provisioned",
-    "iv": "895EE2C2AE3779BC94DD8312A6999D85",
-    "key_seed": "F47E65BC805D3E68FEA05C8CCCE3D494649145434287E31E952646F2576DCDCF",
-    "metadata_key": "F952060A084F9CBAA1567CAF63228883",
-    "section_mic_hmac_key": "EEE4F8B3DAE3B3FCB134AD655DF92456239F559B52FA195085850A03481492E7",
-    "section_salt": "691D3A0B07D7528440C9FE2FFAE11C0A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D5E77232628E33E4FFD9381E791689F",
-    "aes_key": "0DAC17E78298ABF6982AD8FDC35407A4",
-    "data_elements": [
-      {
-        "contents": "97DEABC3A327B8C4354C65700EFE47ADC6617EAE56B7D9",
-        "de_type": 115
-      },
-      {
-        "contents": "2E3A60DF71E005D1E519B5F1443D0D918845C0C621F0D877DF7C33A4FB44",
-        "de_type": 579
-      }
-    ],
-    "encoded_section": "7190134EBC1FB02A556EB545C3DB69A142E9B89110009FFAE095EE40CF7BAE117E7431FFA8B39002E91322121BEDB880976E910A1EA6003BDDC0B45400C07A141DD1E14271CC2912438B0B68EB80ED610E8C1DC4723EADBEF7482C8AAC2E723404EE3D4C88238FB9418A968AF469BD65A6AC",
-    "identity_type": "trusted",
-    "iv": "34DB2B5538C1F25E926D8191C5EB4382",
-    "key_seed": "4DA9A6F59DCF615E03AD56258554641692E02CFEE284A5D0F0D90296490475F9",
-    "metadata_key": "5B8F323279D4CC8CBE66DE149B267214",
-    "section_mic_hmac_key": "D23649C4CBA96BD6413B049C07B87D7CE18AD6E60D68F56AF270E2B1E2DB97E1",
-    "section_salt": "9FFAE095EE40CF7BAE117E7431FFA8B3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C167B8ECC498094A6DB33906F974F4A",
-    "aes_key": "81353FC4DB19F1128CD2049615C0FA92",
-    "data_elements": [
-      {
-        "contents": "EFAA10A500DA87",
-        "de_type": 436
-      },
-      {
-        "contents": "E3144711F717FD0853",
-        "de_type": 956
-      },
-      {
-        "contents": "522B257ED92E1AE819C77DF0EA",
-        "de_type": 547
-      },
-      {
-        "contents": "A78410D4E03BAC31469139B84654CBC6BA",
-        "de_type": 483
-      },
-      {
-        "contents": "4A1F996AD64441C85400AF32BE",
-        "de_type": 549
-      }
-    ],
-    "encoded_section": "8190132204DF3E53BEDCD51A7AE8F492F566D7911000856E7A66F236E9D930C684BD59B02AD79004641A35B7962DDADF14B7669FCA7CC36C1445925D48C45771B14DDD89DC594BBAD36C95A2A042D28D19979D698BB49CBFC43FEF03C89A80F392A9143C4C5D313A999EEB63C5C53E4DB0568E33770E9D2A9EA92C6EB2EB48224CF5",
-    "identity_type": "provisioned",
-    "iv": "5D8C4A61716F2AB552C717A3EFD049F8",
-    "key_seed": "B92F88C4CF23C1798C1FCEBEB328D300930CABC7DD84B347EF1F0A57F8E44EE1",
-    "metadata_key": "46530816FD06FF7D41FF0BE5A853A6D1",
-    "section_mic_hmac_key": "ED64C3F6E9D7E11E0B9299EB0C33A6510B9AB292B01A3BE53C2D13F8D2D8F9A2",
-    "section_salt": "856E7A66F236E9D930C684BD59B02AD7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C51E8816D92BC1E03CA638712EA09A95",
-    "aes_key": "08C67FCA2B413C3C583437251B130182",
-    "data_elements": [
-      {
-        "contents": "0713D3BB05B5FBA4B840171A21AF080166CBC082",
-        "de_type": 193
-      },
-      {
-        "contents": "E2736CB03ADB4DCECB1A316AED5F331044EBE44130138CB85970",
-        "de_type": 766
-      },
-      {
-        "contents": "2EC922EA4A01CA",
-        "de_type": 582
-      },
-      {
-        "contents": "9710558A43",
-        "de_type": 480
-      },
-      {
-        "contents": "",
-        "de_type": 319
-      }
-    ],
-    "encoded_section": "8090130D8F386275A65EDFE296E7D02E4D8A80911000AC100EAD10CF49B4BFA4BFD03D22DC619002F9B057A5DFB8A47B3DC1E369CFEDF5A03E58B49395A2E8BE6952AE63CA45680309ABBBCD65D77055FCCB901A657631B0B699886718542E5FBD2ADBC7413A956D85F3BCB6921A97641C74FAEB45E7F2483A6500034788190DDC",
-    "identity_type": "trusted",
-    "iv": "A7702DC73BAD3498B5AEE515BA94D38D",
-    "key_seed": "B045094272F3A0C7248F9C2E7CD8A78491F06C05F08865B7B48418842EE56452",
-    "metadata_key": "06DA134E75557D145D8869E8858407F7",
-    "section_mic_hmac_key": "FD2E35B135B6EE46727142BCC2577ED5C53E5D0BF2E8817A05FBC8233B741EA7",
-    "section_salt": "AC100EAD10CF49B4BFA4BFD03D22DC61"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "115CE5999BD1A1729822C11BBFFA3197",
-    "aes_key": "606CD07F4B3B228E11BDD67304CFF94C",
-    "data_elements": [
-      {
-        "contents": "F51C44D19CF610828FE35CA6D313255BED137D1CA02BECC8F1",
-        "de_type": 32
-      },
-      {
-        "contents": "085D8A1FBD42DEEA5DA9960B20CED595A8A220068AEE29DF",
-        "de_type": 692
-      },
-      {
-        "contents": "30322E279AF190D06F",
-        "de_type": 329
-      },
-      {
-        "contents": "FFCBA9466A7731EF8CC5DA9642FCFA6E",
-        "de_type": 383
-      }
-    ],
-    "encoded_section": "8C90131F34C598BA9CC85C706357897958835691100078884C8469817D638BB7387AF840716E90014A5B9F3CA8FD31B906F39867912E9E4472845E72DC24EBCC0AE3BC469DE9E82F365B8C69AF4499902EB14C4F4FD2FA87C7BB5444B524C96D546A69C6374B9EEFE8EABD54FEDA65F3F0A8EE73BC2B253535B32D25675B38FCCD9EBB88D4721D36B0723A21C6",
-    "identity_type": "private",
-    "iv": "879EE00C17EE3C3B44268DA9ED727759",
-    "key_seed": "D8F2A8604FB68290CB810109695B7057A80A161AF8E2685FD099490654A82C03",
-    "metadata_key": "16D27C779AE2F1C4F21AC121F734D4CE",
-    "section_mic_hmac_key": "1B93D2DCA5350A33466639D852947667E54E09AEF3FAA193AE3677EAEBAD0635",
-    "section_salt": "78884C8469817D638BB7387AF840716E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7A2FEC84BCC7D36821CBFDA1B8AF6BDE",
-    "aes_key": "D94316EC0C1F3F5556B0A6E3EA44BAA1",
-    "data_elements": [
-      {
-        "contents": "A18233E6470943CEDD28B316DD43F92E8B658D42BD4322F7E8116B",
-        "de_type": 320
-      }
-    ],
-    "encoded_section": "559013CF23E8E383098669E7F3B37FF2FAF607911000F1ABBD27DF8BA7CC017FA7E81AA40DD3900248488C1E48B090E1679DD3AE096446392E61E2E044F2464CC4FDB5EF6EEA1F72A5607A8F90CBDDA3E320BED67D6C",
-    "identity_type": "trusted",
-    "iv": "E27184AD7419FCA23E773896AD12FDCF",
-    "key_seed": "B4C4197B892B450AE1AC96CDD612B7DAA67CF43DEA931691FCA75E067BEF9A9F",
-    "metadata_key": "0DF12C45B639A4C469417723D0599C42",
-    "section_mic_hmac_key": "87CD066A0003D6487925B00E6D3BB50ADA175AAF8FF4806A0E4A77A62D262D9C",
-    "section_salt": "F1ABBD27DF8BA7CC017FA7E81AA40DD3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6EE25ECBB7A186290EB3DE0E054CA1C9",
-    "aes_key": "5477F3FB31FF5E2ABC4EBEDFC20C837A",
-    "data_elements": [],
-    "encoded_section": "3790135229E15175751ACE1FC3D9E27815847791100012517EF20157AF7D7686300FFD93CA76900429A2EF5644E24A3812DDC9261EC4C8B0",
-    "identity_type": "provisioned",
-    "iv": "551FCE3922ECEA01BF57BF7855905D9F",
-    "key_seed": "1BA73E4554F36779EE44DE6B9105F69DFF5D0EB3A148F671A1494E9070FF0C94",
-    "metadata_key": "951796A7C33819FEB9A73F6C7AC70683",
-    "section_mic_hmac_key": "F5858FC13AB364F8F7DBA608AB127EFF8C96B885D3A4750F4E77A6E6EC206E3F",
-    "section_salt": "12517EF20157AF7D7686300FFD93CA76"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5AAD4B0F2A5F00FFB25C6289A53ADA69",
-    "aes_key": "2B69E18B00F7C55BD2A0ED3BE199F17C",
-    "data_elements": [],
-    "encoded_section": "379013B003774586CD42E7AC66F5E4E31E355F911000ECA4F513378109DFBC32212674423D2F9004AF07EFDCAA038B74D585648EE9827064",
-    "identity_type": "provisioned",
-    "iv": "B39D516DDC2723FBA1B60D0FF63DB836",
-    "key_seed": "8B69FF71E1BF629344A119B02EB326CDB7B7D3145657CECC390E2F81C1890907",
-    "metadata_key": "C74ABEDA2BE5770EBEB1DAECF4C5E7BC",
-    "section_mic_hmac_key": "0C5265739DE3730885F7C6A628C96C57851387ABEB914B75C16F8B6099CBFEEB",
-    "section_salt": "ECA4F513378109DFBC32212674423D2F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "532E9FED397C96814EEAB6E1B27D4C86",
-    "aes_key": "C45208E0024404A60F492DDB2C914191",
-    "data_elements": [],
-    "encoded_section": "3790135CB193ABAE4F297BDD49862D1F937ED49110001E90A2A86D1CA79E2F64AD39A5CA77869001526D432A5829C0283F24F39A9CA1F2D3",
-    "identity_type": "private",
-    "iv": "9CA827CC416005F5F30C3E170D482CE1",
-    "key_seed": "1F991BF25881125FE75847D4C6F85BFA6392C2F8B53F1E7FE5FA893B023224BB",
-    "metadata_key": "39CF4CD3AFD063272F5E540476861918",
-    "section_mic_hmac_key": "EF468FFCB94D5466593B9B25909D4ED49BB1F5590A66FEE2A6956EA5FB2B8426",
-    "section_salt": "1E90A2A86D1CA79E2F64AD39A5CA7786"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "20F33C7ABCB97FD1B01811347ACDDC19",
-    "aes_key": "9C75B6FE554C7B132A95FE610239A5CE",
-    "data_elements": [
-      {
-        "contents": "D9ECD7FDC3",
-        "de_type": 927
-      },
-      {
-        "contents": "C1CFCACCFA30BB3D0F84",
-        "de_type": 486
-      },
-      {
-        "contents": "CFE52999406CBAEAF0BC138DE8233B9664C10997E6F8902C1D",
-        "de_type": 282
-      },
-      {
-        "contents": "019E37A059275E31906C582B37C190F7926DD006EB4390CC",
-        "de_type": 53
-      },
-      {
-        "contents": "DB192BBBEC104BC6FD5884AF1FA1E86C4DECE0D945DF93E130",
-        "de_type": 342
-      }
-    ],
-    "encoded_section": "9E901377069C7408696D7960EA0BF71DEC6B1F911000674927D66F2947C6E6CFA19007F33A7A900263FB8DE4E5D01AD9B90E3C430689362C1FA797775FE1A5F6AA66B563AF190D6BC65F85F22AF2E337FC4B3AEB313E09E2A5F2B7583C504B37513170BC93F35C43D4CD9D02C7C5A9FCF66F83880160A769D1825AB2A1BE3BBBE69709D6649009DB70314C37D4704C7325A7C3E0D042BF8C0F6858A86F2769",
-    "identity_type": "trusted",
-    "iv": "75B00C025C3B6E74D1685D850286425A",
-    "key_seed": "D483C3C44C959801D49A5D40EA8ED53C623A1C2E4366AA22DD2CE4D2BB2AEB65",
-    "metadata_key": "B636C1D5060722295EA4D9D29D83144A",
-    "section_mic_hmac_key": "409242248BD9F7B475BC0F055BAA93A676948BE6F57989769DF739717B56313C",
-    "section_salt": "674927D66F2947C6E6CFA19007F33A7A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5FFFBB726259844316370AFED28E66D2",
-    "aes_key": "E8B7530E124B7900B5281191D89BD73F",
-    "data_elements": [
-      {
-        "contents": "5ADC8EA7781A428860082FF8D90439A6D195C7",
-        "de_type": 452
-      },
-      {
-        "contents": "0743",
-        "de_type": 582
-      },
-      {
-        "contents": "DA22170A8C",
-        "de_type": 645
-      },
-      {
-        "contents": "5D1B5ECDFE491D5171232041",
-        "de_type": 267
-      }
-    ],
-    "encoded_section": "6990138D6BAB5B944BE0BE770B03757B61DBF191100094F0DD055481AC91B3856C44C113C5229002AB5EE385FF4D8533458D5D1018B219406C7C016D3CEFD2F2D89FE06C32CA1EB5AE7E8A5954D0911C4A4293AAA0E3F88E9DF83F3EFD19EC8764E16A51B60EA20C822F",
-    "identity_type": "trusted",
-    "iv": "B673F39CCED213EB6880FEF952DA8F56",
-    "key_seed": "F78D9E077004872A3050A6A3EA50B1E70FC3C6DE9E7F49F134B0AE9BE1738A2B",
-    "metadata_key": "24085049DAFEDDDFD928D0E87A95F58B",
-    "section_mic_hmac_key": "639957A7793CF45CF598A1BAED976AB2C127212C3C2925CBC11E1570AD73B549",
-    "section_salt": "94F0DD055481AC91B3856C44C113C522"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6325640BF11B968B7C13063AB59A6F22",
-    "aes_key": "5D2197FFDEFF298C4FF9FA541DAB065C",
-    "data_elements": [
-      {
-        "contents": "F4F7C14E800989F15DEF6ADBEACFF1A1035B658234C91152C6C51C5F",
-        "de_type": 157
-      },
-      {
-        "contents": "86F2F7FE27446E08",
-        "de_type": 555
-      }
-    ],
-    "encoded_section": "6190139595DB3FD2DD731ABDD1BECA616687F7911000378134A082F77DA2BD4DBC13CD4A1C1B9001A8A5CFF56B235053651822983E68C5BD46F3B4020623A8AE59169CAEDA758AE87865319B3A8D3228CC4D04418D44F394B949B37815980338A7C1",
-    "identity_type": "private",
-    "iv": "AE588E4ED351B78564904D2E45354BF9",
-    "key_seed": "A4DED14526CF6F5F984E8900D671B9BBAD83515521A53B9D420D2A388CCAB2F3",
-    "metadata_key": "94583C4E13E8C9C9944ED50786D19345",
-    "section_mic_hmac_key": "6F320F7C56B7436AF72F9DDCF837FACABF9D4AB713268225A72BF6E4ED4D56F8",
-    "section_salt": "378134A082F77DA2BD4DBC13CD4A1C1B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5B662E491149B1B15260B320F4E01E89",
-    "aes_key": "D4D334E6C506B1E46ACAADCB94AAB75E",
-    "data_elements": [
-      {
-        "contents": "E45B42DBEA4552BDD8987DA3A9F7C474DD0B5D594704D34C",
-        "de_type": 927
-      },
-      {
-        "contents": "80",
-        "de_type": 144
-      },
-      {
-        "contents": "8C19",
-        "de_type": 612
-      },
-      {
-        "contents": "2AE92C14EC",
-        "de_type": 278
-      },
-      {
-        "contents": "5A3FB2F54F4399259685DE522D31C9E1E2A150A97F597B9DB51F",
-        "de_type": 449
-      }
-    ],
-    "encoded_section": "8090132B814D8B0438AE06E18CC62B190F0AFF9110000E7D5791602F29BE17656BADCED2A7269002C35227A826484C307A5FEAE5F5946DEA16A6512CF0C7E661C994CB23E31F0EA5A393FE3B7EE99BEEC02420C3DA7BC94C7E80CF5AA0FE0BB75BEE24632756ED3EC92CF64F9A2E7F9777403306D6995C1F32B1F7ECDC6037CB47",
-    "identity_type": "trusted",
-    "iv": "A31ECB0D9891D74FF9DDF376007CB629",
-    "key_seed": "E50CD35171C69F53BB3631558F6A92B8D202FCB93ACD6C864DE9B1FB0D8A3C1C",
-    "metadata_key": "E83B8B0FC3FCBC486C852EBEC880A253",
-    "section_mic_hmac_key": "0CBFE4AAD62203251AABE57D06C7F8785CE7A8AB924584888E4B2E91D0BEA44A",
-    "section_salt": "0E7D5791602F29BE17656BADCED2A726"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D4D3BEA3B13E0E8F2614716FB48F0D6A",
-    "aes_key": "E05199F2CB435DEF145BB7E73344E9AF",
-    "data_elements": [],
-    "encoded_section": "3790130A196A0477DCA5712C2882BF02E4D442911000508CEDD68F1A6A9D7611F0A8BD14343590044945F0B86E7D957AE20C1B6BC7E86735",
-    "identity_type": "provisioned",
-    "iv": "6C41743B8B7DB7062EC670DAF6A61798",
-    "key_seed": "C3C39B75D1D6402D67B7646996D02C1B3A74FE334497C43048D2433668AABF2A",
-    "metadata_key": "62CBAFD9D46C32E325D99A83EB7C353B",
-    "section_mic_hmac_key": "64D6C934EE6EAFE81A9AB9BD79C8374461550ECA553909391E1F60E8368E64E4",
-    "section_salt": "508CEDD68F1A6A9D7611F0A8BD143435"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "57ED0FF15D76C4099AB899F4E418420A",
-    "aes_key": "4E9CDD52C9055A07A3BC128358EFEE80",
-    "data_elements": [
-      {
-        "contents": "779B8A371B9E8BB9D0CAD88505AA1D9A1ED23036A0C6CF572A66E139A687",
-        "de_type": 215
-      },
-      {
-        "contents": "BD5F721280FC99C1B08886",
-        "de_type": 828
-      },
-      {
-        "contents": "D6",
-        "de_type": 810
-      },
-      {
-        "contents": "347A48731BFA69103A4D0F",
-        "de_type": 678
-      },
-      {
-        "contents": "FE74379D142F",
-        "de_type": 975
-      }
-    ],
-    "encoded_section": "819013DC7D6CAD65E2DA625647E9D79B415C7C9110000500D0334277EB0134622CD78688B3DA9004BF86CC7D343077E7E560156DB988B4D44DD10AE2D2A9024C20BF5DB58999156BC086F7CD85517B70C08511AEAA9172C56150F5FE5EAE80DD4629EAE66D3B02042A5E0821FF37290FBA5216EFB2C2C01B812F339EB4D240DE59D3",
-    "identity_type": "provisioned",
-    "iv": "01576839BF9354E4AC4C715763D32CAB",
-    "key_seed": "9713BD491A7DDA28161429EC8DD6A456D3A135A1E808DA30B4A55D8528776495",
-    "metadata_key": "35B0152C9416B9C96E369110D8C6CF9B",
-    "section_mic_hmac_key": "D12B6016B127A4CC62D2B1BCDE84CAF328626B19F24F3B770A07BA7E6AD9E9EB",
-    "section_salt": "0500D0334277EB0134622CD78688B3DA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B4573C31F4F975EFFC728BDAC5734826",
-    "aes_key": "71EFBBAEB4A0E65A8B25AD5D630CCF60",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 389
-      },
-      {
-        "contents": "3CB055F06072",
-        "de_type": 910
-      },
-      {
-        "contents": "B7518C446B1576FD37BF85481B",
-        "de_type": 953
-      },
-      {
-        "contents": "B6059A5CDC56",
-        "de_type": 792
-      }
-    ],
-    "encoded_section": "5C9013FB6CB6FB8FCF17D8F4B5547D9D9FBCA2911000B55F88A79A4D2308C6C58ADAF22BF1CE9001FC6689DACF7BBD836A7384B5E25B4CA444990364955921DAFAE62CBA2953A472F8D06A177D1FC116BABCC99F564BF1773D65E8D964",
-    "identity_type": "private",
-    "iv": "54C25EC2FA8AB87ED1EC10ED342FFB3C",
-    "key_seed": "47495F708FEBAF178EC2565BBCF981AE6AC35E1F8B721102A7337E061BC91935",
-    "metadata_key": "C8013164B860618F36848811670EF929",
-    "section_mic_hmac_key": "C5D4B92FA23796773094C596DAEA1B33219F2A3D7A64316765E41FD8D3E16BAA",
-    "section_salt": "B55F88A79A4D2308C6C58ADAF22BF1CE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E4B5A27A27BE52545A47985B9E7672C8",
-    "aes_key": "1CBEF7B3F2D0B8B543A8064D081887A4",
-    "data_elements": [
-      {
-        "contents": "66",
-        "de_type": 56
-      },
-      {
-        "contents": "BBD48390F886FE3524BB7CBEEEC484C3E5F8AE56D6397507C986C64B3334",
-        "de_type": 797
-      }
-    ],
-    "encoded_section": "5B90138D632E4E4CF4342FF32A48179E3F363591100066577FA1CF451210A7F51FCB91E8090F900225745619E27544AC812B4E8A914870EE4DB218008E498D777469B12F683439BEEBB15F1D438CF9A2D065D13F7464BEFE7FC78487",
-    "identity_type": "trusted",
-    "iv": "B4636AC8670D445B40129E5AC546748B",
-    "key_seed": "1119F85B101A1C2E50916D1D4EFBE165115CFA1D516BF6FF38E26AFD989AFF1C",
-    "metadata_key": "07261A673092A6796C05396F34FB979D",
-    "section_mic_hmac_key": "64CDA74FAE14EA9A68520991817CEB209D3842D1507C55E2398618E02F778686",
-    "section_salt": "66577FA1CF451210A7F51FCB91E8090F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9B384D5C760F4D838C96CB5C1E9BB241",
-    "aes_key": "1836C7B82C2B6EA947D8E012F116C09F",
-    "data_elements": [
-      {
-        "contents": "D9976568115CB8BF83FCC86839E7FA5E6CC215BE1BB1",
-        "de_type": 358
-      },
-      {
-        "contents": "AD587B8B83B854A5F43E3A876649E31E",
-        "de_type": 27
-      }
-    ],
-    "encoded_section": "629013D20E8E8CB6A740C268055645992CD564911000237B1902E39CD0E962BFDC3C0CB8F2EE900260224FA07FFC1C8496F1B76A4206C6909D5F802F2B79F688223D656DEC755A01F5E27362E186B5CAE06E37E3AB1D0B3B1293BE67650D0F4377D7DB",
-    "identity_type": "trusted",
-    "iv": "2FA2BA9E498FD9F7357D16A77DAE370B",
-    "key_seed": "602DE291FD9C7C12925034FABFECD98118C38F348372FD534786FFCAFF706400",
-    "metadata_key": "346B99848B2B463F6693F235D874805B",
-    "section_mic_hmac_key": "52D562B21447516C31566EB4C0C68A98C71630B24304B428EAC3BABE398A7AAA",
-    "section_salt": "237B1902E39CD0E962BFDC3C0CB8F2EE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7E91FF05B49BE21AFC9F91A460ABA336",
-    "aes_key": "B67FC30117CCE626887A7EE662652CD2",
-    "data_elements": [
-      {
-        "contents": "D69E2C5653B9BAAFBC9D5C3EBC58D3",
-        "de_type": 627
-      },
-      {
-        "contents": "EA28DC05603AD928B2826DCA",
-        "de_type": 452
-      },
-      {
-        "contents": "9501D6E4E075570F383542CF6E8AF8FC",
-        "de_type": 126
-      },
-      {
-        "contents": "930EECF1",
-        "de_type": 833
-      }
-    ],
-    "encoded_section": "719013234A6B8D05D901CAA3BB8EC5EAAAB230911000DB399806753D8B6045C73A755B71774B9001DCA87E9CA2A023437557F2F0D4B9A5B58AB3D608D4498CC71DB3547425858CA2D7E5F1BB29387BE5FE9D3272768A65E1765AF706FA43BE09CA8B311B2B7C8B2125E7C8A4B52D1025AD5C",
-    "identity_type": "private",
-    "iv": "9AC108D06B463F055D49A91E14F2C8A3",
-    "key_seed": "A3A8F349F07BB0F7447F51F661AF542D6904BFC6087AF67511A645FE8FCE675C",
-    "metadata_key": "79B2212A99BB2CD43B34E2E1CA322B62",
-    "section_mic_hmac_key": "9E7F2E3CDC198279843A86A60FF128B9F349C11E48B67EDC3158A9008C9C36F1",
-    "section_salt": "DB399806753D8B6045C73A755B71774B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "26582E4CE5C251427F923630006AFCEE",
-    "aes_key": "AEDEBC8CF8F3BC8DE853731DCA9E4DC9",
-    "data_elements": [
-      {
-        "contents": "DD433F55AF726FD4794FA327246F6F2132E92E62D21D67A321B864",
-        "de_type": 846
-      },
-      {
-        "contents": "D122B1144A43EFF0EB",
-        "de_type": 759
-      },
-      {
-        "contents": "7E078FD3",
-        "de_type": 404
-      },
-      {
-        "contents": "61",
-        "de_type": 461
-      }
-    ],
-    "encoded_section": "6C9013D15EEB0F499029BD0116FEA1D3408043911000BF71BA034AAB72D7B4D362AAB499C78790029776023BBD26F7EAFC7B7928DD679D540975CEC90BD83475280C3DA16D23ECB642CB67456C25FA0F51560628DDED9F2D6662FFBDB54D11E57405825F77E5A34396BB7DF1A0",
-    "identity_type": "trusted",
-    "iv": "8040F7832AEB66320A2D61CB079320D8",
-    "key_seed": "118711EA1D5E88DECC48D0139846D57F64A7C1B61315B1A287310948F8A7227A",
-    "metadata_key": "51759DA981D7A83ABD931FBECED991C5",
-    "section_mic_hmac_key": "1F08673E88B1D86CD3E152BF6C9E31A06D2CC05F57F9C877D03809FDA407518D",
-    "section_salt": "BF71BA034AAB72D7B4D362AAB499C787"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6E2C7B1C5E818B1CEB5F7DE8FC9E5755",
-    "aes_key": "DFEAFCEE8B8EE1F96CA60E271B6725F8",
-    "data_elements": [
-      {
-        "contents": "113C3E2039C4E1C7418BA6BB55FA8BFA",
-        "de_type": 366
-      },
-      {
-        "contents": "3AD067F40A",
-        "de_type": 823
-      },
-      {
-        "contents": "811535BFE2A541B0961314CECD50D59374E1B30D08DC",
-        "de_type": 763
-      },
-      {
-        "contents": "16FB893BF2AFEA6DFC5146AD63BE92F84C5D2D88607E46A228BB",
-        "de_type": 391
-      },
-      {
-        "contents": "FBBC7E70BCE1D5B1EB183D3B9E62FF8E14065D94930390FF",
-        "de_type": 382
-      }
-    ],
-    "encoded_section": "A3901332173E24B194596D0A48EED7B9F048BF911000EABEA0196320B7B9C0A57A2E416746029001F85327E3300056CC3C0C0D434A64ADFEB159198EF001E2C778F56DBC1EAF9DB00C725E6688EE8812EB5DAAA339F4A9FEC3927310EC508FCA85C5D611C42DFBE9323EAA48FF38702EC1073C9C13B33BC2EB1BA89E3F233C1A326155F7B5745D05AD16976725672873F40CB030AD916DFF0A42EC4B84F5394FBEA97808",
-    "identity_type": "private",
-    "iv": "A9717CD38A876CE4107BD424D8FBA366",
-    "key_seed": "1148504329B3B33FA44E2A221DFF6CBBE1CD4A52248B6A09A8ADCD3012750977",
-    "metadata_key": "27856505C84E581AA1A6C46C6FA516F0",
-    "section_mic_hmac_key": "DDE977E035CC76BBFA8A642C1F143CAACE972E3216BA65A7D75E984A14E5ED13",
-    "section_salt": "EABEA0196320B7B9C0A57A2E41674602"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9FBFBFBF8BB497AB6444B41A2B58A6AB",
-    "aes_key": "862A0A31E0D23BF6CC4E9DD3D885718B",
-    "data_elements": [
-      {
-        "contents": "3477BE93CA3B096D960FBE16F63BA456089D872D76F3CD00",
-        "de_type": 767
-      },
-      {
-        "contents": "3D9B50F6ECB3F59931BB2C31A67CB18D",
-        "de_type": 681
-      }
-    ],
-    "encoded_section": "65901361778F70E6B5332529106BC5D0D796CF911000CAD36D8BE2990F1DD1BE5A8CA36725939002AE6B6909552DF36AFCC86E4D91C1FAF7ED62212D53C2B7F84E640B3E5760A41BD98F8A544F830A97595B8386EB3A27AE2CC178A5EE103CC275D404DA6417",
-    "identity_type": "trusted",
-    "iv": "783403F6FE6BA30DA746FA2708C4D692",
-    "key_seed": "3942CF4816E8B430A03E14D2F94108C0A770891FB4E99ACD3D277501465BA68D",
-    "metadata_key": "C78FBDDCEBF1A5384BF7ABC8064377D3",
-    "section_mic_hmac_key": "94053E6382CEC871376151CBB9694C564ED767E1EEE3239C941D914ABCE92CE3",
-    "section_salt": "CAD36D8BE2990F1DD1BE5A8CA3672593"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "55FF1F0BE15C17461B43BAB93500700A",
-    "aes_key": "966B7CD205F081281E6E93C54EEDF15D",
-    "data_elements": [
-      {
-        "contents": "D13D37512C791FB5ED13EA221EBA6950B0",
-        "de_type": 301
-      },
-      {
-        "contents": "6244AF57E139117455782A325E7E3D1C910FF0EFDFF03A",
-        "de_type": 12
-      },
-      {
-        "contents": "0E2D671308A90AD27AE72BD2C375CD2E1E54926A6DCB",
-        "de_type": 571
-      }
-    ],
-    "encoded_section": "7D9013EF0E9E3112F9F8052BFCD5095F6DA7739110008EF37B9F957E72577A88E3E6616B1F0B90025B8420F2A9242BCAFC847C0C4D389501339DF6BFA0C91B4BD11343632BB679D50A288118A92B0FD09C57E75E13FA0DAA5C2F77D107185487F1F22CFC2F9B664D30F6D386975C72B046FA237531D0D5AAADF79593B9AE",
-    "identity_type": "trusted",
-    "iv": "1A624B59ECF332000562C8474140249C",
-    "key_seed": "5289A92DAA075E761F56E835F2DDC562DB148FE624E5C6FE08FA89CF5FCC9425",
-    "metadata_key": "F86972B236221A5B1DB9EDA61606B299",
-    "section_mic_hmac_key": "0F75B7C9F4CEBCB3D3CA5114EA5BBEF6A1065CD11CF1A401A7E3D6C2CEE85961",
-    "section_salt": "8EF37B9F957E72577A88E3E6616B1F0B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "257A8180A470B26312484B49DB427FBF",
-    "aes_key": "1A6FCC5E29E7D4BAF2ADE0428242C2EF",
-    "data_elements": [
-      {
-        "contents": "FA0C8C637E390F8123345F41392EF8CE",
-        "de_type": 556
-      }
-    ],
-    "encoded_section": "4A9013E976A9B1B377C5AE53AB1396521D337D911000CD1525ED218139EAFF89E47A20B34D4790044DE380677DEA81DAEABD099BF7E04531DF12F3E9C7A9C1B5CEB919C9EF3567915FB74F",
-    "identity_type": "provisioned",
-    "iv": "2AEF9979665B18EA76574CF455B20335",
-    "key_seed": "27AB5D93445CB4CEE55B3405325558636F198AED90C8E51836080F087A2E842A",
-    "metadata_key": "7C1A8511E3B9200C13C78F9EA4E57939",
-    "section_mic_hmac_key": "B1C4A104A63A1BA805D20818384EB39B6A440171D8C354424EAB9B6B7502DE77",
-    "section_salt": "CD1525ED218139EAFF89E47A20B34D47"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8D49077EA04B6722167FF9DC3E5A5C6F",
-    "aes_key": "1D3642C5B0338782485683BC113AD3C7",
-    "data_elements": [
-      {
-        "contents": "0761DB68EB536A1ED11FF6EE1A2BA0B9859AC5DC206C",
-        "de_type": 490
-      },
-      {
-        "contents": "64DACC73432881300198",
-        "de_type": 69
-      },
-      {
-        "contents": "A2074C1932DACCD81D3DBA",
-        "de_type": 213
-      },
-      {
-        "contents": "E26C55BE99DFAE8088BE1A01890F801D9E382C5419E6EE",
-        "de_type": 118
-      },
-      {
-        "contents": "3D9D9009F5F0B28BAED466EF285DC30B93",
-        "de_type": 969
-      }
-    ],
-    "encoded_section": "9790133210E2BD4D3A353337D7ADF84E63FD129110003B8C8A598DE9C86BDF539187043684DA900206D1B6437D8BDF3B6EA83CFF14D82D1241F0019EDF8FD5F1710CA0A9AE469B7F2EEDF319626F11376E797E91FA97E46F82B54406D5C1BB3032165223FBBE1DEB996FCC3C9036B8CA441FFAFE8846277F3FF098FFACB231D8DA52C7997AC3B2CCF65A875747EB0CDD02599308A56C5B5B",
-    "identity_type": "trusted",
-    "iv": "8D7F69E96E0B0FDF5711FC3B55A01715",
-    "key_seed": "AEF224AF0FB93E5306BE251CA4A2F387E5A5CC6630605B0A3E0C56D7078B679A",
-    "metadata_key": "7DCC60F2F58A401AAA957CF76649C84D",
-    "section_mic_hmac_key": "32E6F4E7934A34A459D136652114A9C0BD0A23AA4DDE36B51FDBF59C9A9AD9FB",
-    "section_salt": "3B8C8A598DE9C86BDF539187043684DA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4E4ADE9BB0F5C4629AEA9E3F16EF9601",
-    "aes_key": "95CB67B31D524CCC83FE954FE9D4E2BB",
-    "data_elements": [
-      {
-        "contents": "A1BA",
-        "de_type": 870
-      }
-    ],
-    "encoded_section": "3C9013A8A3FE675DFAFB72CFC76C7833A5F9DE911000173AC3E1BA7DD39FA785C6E60BAED8C69002F3C038ED49854C212866A5AA075B6ABEAD7DFE458A",
-    "identity_type": "trusted",
-    "iv": "9C68198A56ECFD51E7F8B770EBC315D0",
-    "key_seed": "5F5ACCD7667D18B16F2F816046CACEA387775372D3C2CA44290C17F083B0D8AD",
-    "metadata_key": "D6F99ABC33D92064B46A910FCA2C4036",
-    "section_mic_hmac_key": "3E1FF3C4491442BC4C092D3DDCEDF840451EBE6C3D3A438C79B079AE4241BD84",
-    "section_salt": "173AC3E1BA7DD39FA785C6E60BAED8C6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "824423E2D4F67BECC3EF225445DB8976",
-    "aes_key": "CF185400D6689B037B238F61B0F8159B",
-    "data_elements": [
-      {
-        "contents": "3C304F6A2D4E030A1EE524588D6B890A278EA715D7E72DA1F6AC41",
-        "de_type": 939
-      },
-      {
-        "contents": "EC9DC0C94D",
-        "de_type": 294
-      },
-      {
-        "contents": "291621E7F7496B",
-        "de_type": 704
-      }
-    ],
-    "encoded_section": "679013E3EBF925B22D0BD4B57CA802DE30BD10911000433A9544240B8BEFDA531A895B5FC46D900266034C3D13145C66E02477FE8F718D1C475176016D59CED1DEDEEE6415C87933D3A6D137BD15079779E7CB0B172C0563C90C9A95ED56E0B171AA08E2AEF81C58",
-    "identity_type": "trusted",
-    "iv": "2569CB0445A6BF7291D567B280EC7903",
-    "key_seed": "81E738D2BF50C258C1144AA9371826CD04F166B110AEE21F696D0F776B35BAEA",
-    "metadata_key": "094A54CF97E267D0FDBC858C3CB5EAF7",
-    "section_mic_hmac_key": "8C3E857F64C351326BB726B05274A8645176C8C8678C82E9190604DAC1841CEA",
-    "section_salt": "433A9544240B8BEFDA531A895B5FC46D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BC9A5197755D9A5679DCC87B79E1C9CA",
-    "aes_key": "374CF6450374370DD377AB35C40FE17C",
-    "data_elements": [
-      {
-        "contents": "017B0CD8B639ED915D35886531E1",
-        "de_type": 58
-      },
-      {
-        "contents": "F66ECBCA7F402517158769BDD4E7D50CEBC2DF10F32E41911B510F",
-        "de_type": 856
-      }
-    ],
-    "encoded_section": "65901307620D1E9A1EE0D4752BAF1CE59141EF911000BAF72D3D61009CA97C8FDD9CCBEF10ED9001E882E442913D85A2CC21169B9257EDCEC72349678006BF72A6C7FD18C85BBCF02E9843BC4ACE539C23AE19D1A79F63EC8886B34A7A32091C8873921F61BE",
-    "identity_type": "private",
-    "iv": "B5DB29371481C403B0349A10A7E33855",
-    "key_seed": "431919386DE84007C979116DF20230D0A60088C81C4CCE8491FD0CD5EF0C07E7",
-    "metadata_key": "78F91A3FC436CE326988B3C55EA9B5E7",
-    "section_mic_hmac_key": "B9CF0EFBF1F1F6CD77E6F8314FCB3DADFF55DE06B6B684E8739DD6B793BF7442",
-    "section_salt": "BAF72D3D61009CA97C8FDD9CCBEF10ED"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "33F99E993A3416EC161F0044EC71B42F",
-    "aes_key": "BDA1D8D59CFC0C0E3C0232944E5A82DA",
-    "data_elements": [
-      {
-        "contents": "C0F5E75C8B80C62DA67A5834B00A",
-        "de_type": 720
-      },
-      {
-        "contents": "894B67C2BF3458",
-        "de_type": 977
-      }
-    ],
-    "encoded_section": "5290139B54D6302AB388F8B952001F3F233723911000DA579BCFC70266C882B420E1B122710D90018D8C89DA498ACF2DDD060B59D48A85249435080F054A5479432EAFD1089FCEFF46465BB7A63332561CFE19",
-    "identity_type": "private",
-    "iv": "F4DA1B762699DECE3FBEB755A3C8F7DC",
-    "key_seed": "E615C6F1F6494D3CB1EFEDB1CA97EDD096997DDDB0F840FB4B8A9A9AD8FF68CC",
-    "metadata_key": "9CCB7E17B8E4F311F5217BEE076FE193",
-    "section_mic_hmac_key": "08A3425953011FB61CDF4F73BFDF0FAFD337C6192847B028580392CA1920BDE3",
-    "section_salt": "DA579BCFC70266C882B420E1B122710D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4F729B7E8A3DA79951DB474393B34C05",
-    "aes_key": "D4CFDC392B5398DA8EFF9761AC883BED",
-    "data_elements": [
-      {
-        "contents": "7B3D33709DE248C8C6E55A17681634BBD51B9AD16CB70AFE732D434F73",
-        "de_type": 950
-      },
-      {
-        "contents": "572C1E1284C61CD3191CA7FD48278E69A871061C",
-        "de_type": 519
-      },
-      {
-        "contents": "F26F1FFF732399534BB9",
-        "de_type": 462
-      },
-      {
-        "contents": "25D3DA009DF358AA2B1502B102",
-        "de_type": 760
-      },
-      {
-        "contents": "696815F62069A011E27DB2B6",
-        "de_type": 116
-      }
-    ],
-    "encoded_section": "9990133BA7F84BD37A8ECFF8991F41816603D9911000A24D83B5B489290033B0FB399D50278C90048830A62074CC528A053D57B871559B428C52947FE6AC380E6C409A9FE4CB2C778D396C9EB33D284ADC7AADB7FA26F64AD1E77EF8700C7D5011EB4188B8EB69C6AB8B247A3A408C296E0E9505DED7DC9B6B81B6AE18BDFE328F76BF28194F1C9FAACEA61A1305D8853B62E00E92B3B5DA906B",
-    "identity_type": "provisioned",
-    "iv": "27D31B8F040B8147F00DBE3EDA8DEB3A",
-    "key_seed": "E4ECAB1DF51BDE39E140E09E592023B0EBB70D51EF925AE06F55BAF1F232F965",
-    "metadata_key": "A74B0FB29ACAF1F6DCBF1D4B80D05D7C",
-    "section_mic_hmac_key": "064478CDA8ADA4303610AA070F13AB89C7FEFA11044EB17C620B4843A1D2B185",
-    "section_salt": "A24D83B5B489290033B0FB399D50278C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "532A9B509151D3891A89EC8122177A00",
-    "aes_key": "65CA1FBDA266B5CC1F687F05BCFFD91E",
-    "data_elements": [
-      {
-        "contents": "28CAF4164DF090AF",
-        "de_type": 267
-      },
-      {
-        "contents": "2BC0D162D9A11B1592505DD0A88C222E3A05F584",
-        "de_type": 344
-      },
-      {
-        "contents": "5F0BE74A54E9C769E93876",
-        "de_type": 663
-      }
-    ],
-    "encoded_section": "679013D6A5733B956C24C026EB4CD77CD241FF911000BA40F9A069E1D2864028AE47BC7FBF5790021A2F29AF45309E075686A17B858A7453DE7F746B1A9AA04C68901F0BAEE8474D84BC96034338542D2FCA389DB128BEC31B187D96C2A7BA001B53B5F3E4B058B9",
-    "identity_type": "trusted",
-    "iv": "3B7CD74E54AFBF2903999BDAB75C4E77",
-    "key_seed": "65A6D38463734CF87E73D55D9695658B0C08ED9F35838884F08DE839C224AD9D",
-    "metadata_key": "DDE0C29AAF70BC5299D0945DFDB2A320",
-    "section_mic_hmac_key": "5E63974EFE6650031F0244E69A2533ACCEDDD75479D939E5DCCDFE355FFA52D0",
-    "section_salt": "BA40F9A069E1D2864028AE47BC7FBF57"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D5487414BA08F69CE9D13560766378D9",
-    "aes_key": "4597450D328A4398969C6984A4812726",
-    "data_elements": [
-      {
-        "contents": "5594877DB8046C",
-        "de_type": 749
-      },
-      {
-        "contents": "D49D19549FA675ECB739E031",
-        "de_type": 1
-      }
-    ],
-    "encoded_section": "4F9013F87D55A4AA36BD81DEB11033F76E60A9911000F948EAC4A61D540FAF5BF958C0AA15029004969211CDDBF8AE4D251A89A69378E93D41D2C6E1FAA39580C4606EE81B99B2F7146566D5F3A2D187",
-    "identity_type": "provisioned",
-    "iv": "7251B83564C131AEE0ED8E7D4B2657B3",
-    "key_seed": "32055A58CFD37AC838F8978ABEDCC2A30BC8752D9985DC4F24AA8010B4855B06",
-    "metadata_key": "1C85CA810627CA299F3E7C5D8F2CD904",
-    "section_mic_hmac_key": "20D173254B6DF487603D339E1BB394DBE0BBF19F4680F2FD3DD3EB3E389215EB",
-    "section_salt": "F948EAC4A61D540FAF5BF958C0AA1502"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7443AED9489E3C74C778C996DE9B67C3",
-    "aes_key": "D131442579CCEA76DA56F4E5171F09A6",
-    "data_elements": [
-      {
-        "contents": "C879C6B33BAB741D400BB9A06533672BAC016E",
-        "de_type": 367
-      },
-      {
-        "contents": "5ED5",
-        "de_type": 783
-      },
-      {
-        "contents": "0C31C60E1A246200DF872DD766E501",
-        "de_type": 288
-      },
-      {
-        "contents": "38B9BAACCDD2C285CE1DD7D4C101E8FAF4DECE26190B08E1942D71D30434",
-        "de_type": 835
-      }
-    ],
-    "encoded_section": "859013856E63F667D52C056607CD1EC8638385911000E3196F7725B52982CA91690DCCAF3D15900132BC6722DBC8E95809378C5569E0FBBE845D96271B645007A3D4A698F25B8A816924D66453873D49313DDFDDD5158FF1A9C0318C0EF5CC5604A58C9E6EA95E2DFAFD40939E4DA0BC33B5DBB471A83773D6E1CB927E79C0509447CB9291D2",
-    "identity_type": "private",
-    "iv": "6EF81828124A99A5798762BDCD4F0CA7",
-    "key_seed": "01281A1DCC6627FB7336A190C0E316C0225EEBEB3DAFD6E79DF86BE811EB5B1F",
-    "metadata_key": "5DB0440215FE4B0B403027E82DD05BF1",
-    "section_mic_hmac_key": "FD0BCBD301B26D355985422BC65A0414C2FF451AC7837EE31DDFCE060E6F76C0",
-    "section_salt": "E3196F7725B52982CA91690DCCAF3D15"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "01CDD6964C7DCD733D0365A455354A94",
-    "aes_key": "F9EB800C6E2AB6E3457E3DADDA4E14EC",
-    "data_elements": [
-      {
-        "contents": "05013630B53FA97478A6B3B4E9617A2B35C4200EA5D1B29D86184A",
-        "de_type": 161
-      },
-      {
-        "contents": "591FB0F89D67D7B2FF2FB27D6B8C",
-        "de_type": 821
-      }
-    ],
-    "encoded_section": "66901370C473297041FA4A4260B3995CDF0851911000BB3A62B2E753295B664F3C1B06172B33900186CB039689830CF401848577471BF720CB31EE848CA200D7705C87C3EEBEF421399B027060C18731B7FF977CCB90406E7BFDF0A4D389D6EFD11F426B89B35E",
-    "identity_type": "private",
-    "iv": "2195E6D71AC6C2AE69D6DC7E7440FCDE",
-    "key_seed": "B9AE3932FF811CC014314D266D048E145DE60956DA53BB98D96CBBA136314389",
-    "metadata_key": "F43D7EDF61357AC7B512D6502D5F1EC7",
-    "section_mic_hmac_key": "5685062CCF0CF66F8EC8F0601442AE4FF9CB028F7F693235555A7918B83CDC44",
-    "section_salt": "BB3A62B2E753295B664F3C1B06172B33"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "201E65F2C73E6749E104294C5B80BD0A",
-    "aes_key": "9FF2BAEB97F201967B41A9001556C782",
-    "data_elements": [
-      {
-        "contents": "42AD133E97FD6C468A8BB259F4FC05",
-        "de_type": 673
-      },
-      {
-        "contents": "D7B8495F3785063C4A4B988EEB3804CC5E7040",
-        "de_type": 973
-      },
-      {
-        "contents": "FA600360B5B21558266D62",
-        "de_type": 30
-      },
-      {
-        "contents": "6E90096C876401A20FD96E0A307C57C08893C533C3013A894380ACCFAA",
-        "de_type": 176
-      }
-    ],
-    "encoded_section": "8C90132F63EC2519B043C70FF4BC0AEA11B040911000B950743AFE9EA5BD4C03AAEDD3D0736C90044510CBC7D4252D98D4AD42CBFDF678C7D2A145E3EBF06D19FD695399D65444D16D7208A4E71B6CD26FAB2990E0A1F7308F5E2B73461BB7D81BD86EF287D1DCD3467F846DB7B9231F17C535082924817941954F82B95791BFEF9530BEC4D3177495EA68B59A",
-    "identity_type": "provisioned",
-    "iv": "3A32A1543E3241B3C6C7D7C40430B793",
-    "key_seed": "8E5C4D3AC2D07C2092CFE2D34E54C63A572CD8187316161E3DBC78AD90F8353B",
-    "metadata_key": "6389D90BE57C99D0147423C3088C8433",
-    "section_mic_hmac_key": "421BC7BAC32D064027C7D3A5609CDC742FE9988282040A0DDF07BA67FED68DBE",
-    "section_salt": "B950743AFE9EA5BD4C03AAEDD3D0736C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BF4149101EBD062FD66BB8A15D8D97C4",
-    "aes_key": "D25E758A7A3B45C004D6CC5D04BA496E",
-    "data_elements": [
-      {
-        "contents": "6E73EAB3E73F8231F2E9985E31B82C1DE362F26327FF355E45",
-        "de_type": 457
-      },
-      {
-        "contents": "173120937001D3979F203D7008E83A2452",
-        "de_type": 115
-      },
-      {
-        "contents": "D857E0E0C4FD3A32A4167DE23D9F4B67",
-        "de_type": 989
-      }
-    ],
-    "encoded_section": "7990130DDE44464CAA38BDE84281442900A8509110005ADFF0C03105B2B399A18E9B17168E6D9004AE5A46E81D5F0C9569137015FDEA89BB572AC008302F09D2AE7BB332431A38B0034756E35370BB6F6408594F8CF8898565D4C7C985124484911ADAB72BFF3DA57A6D37618AD5EDB2093AF1C05C186AC624F3",
-    "identity_type": "provisioned",
-    "iv": "22ADBBC7329D0E519D5F94A63E763E74",
-    "key_seed": "FAF2516570FE1256279CD47301C50DF52C2327E6DD7A5653AC6231CA6D788B35",
-    "metadata_key": "350488F862C7604DDFA0272A3D21B786",
-    "section_mic_hmac_key": "D2824640C9C9593142EB2CFA6E58AD8E4B6A27F97422A429DAC36D0FF98DD312",
-    "section_salt": "5ADFF0C03105B2B399A18E9B17168E6D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3DC3253CAA257609187D246F31331F3A",
-    "aes_key": "73A354EF72BCC07FC9473B64843E5669",
-    "data_elements": [
-      {
-        "contents": "9835B7634A82F3DFE1EB3B0D25EACF27B111",
-        "de_type": 786
-      },
-      {
-        "contents": "AE349EDFD372502D738B6CE186BD30A24BB77E",
-        "de_type": 462
-      },
-      {
-        "contents": "27A1F50AB7CCEB9B0D69DE538604F8957E44EB05D27608",
-        "de_type": 570
-      },
-      {
-        "contents": "FF7EBE",
-        "de_type": 960
-      }
-    ],
-    "encoded_section": "82901331D537AAB3FF00D04936F0A31A2FD4499110006D7E10C60B7F564BD819EEF42810D82290015B0B2252207FC9225CFC1A3E91FA6BCEC5EE55CBC4B9D4CE2C809C666602339E88B12F6A145C89C06C744499988D39A8CF69A2C73B3625C54DD58A74DAC3511558EA11A36ACF302DB6FBC1091E0018672C1299D834A56FE53E6562",
-    "identity_type": "private",
-    "iv": "82F350EB514C88202688646DEADC2AE5",
-    "key_seed": "B7846E30DE6251075FFE9DFF3EF493655033CE4DA3721204249FDAC0FEA81EE4",
-    "metadata_key": "D6848E0588A7653DBB03F88A3984F6FA",
-    "section_mic_hmac_key": "EA643D83A79705A66FE8DDBD3ECCBAF88E3C1F80B68C2C406216F65CD1A232B8",
-    "section_salt": "6D7E10C60B7F564BD819EEF42810D822"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E31F9F8EB3513BDFB44EF96AA620AAFB",
-    "aes_key": "4258A9B2525ECF4A5E58E1C2A9063DD5",
-    "data_elements": [
-      {
-        "contents": "ADF8FCECA7E191B3517BD0CED3",
-        "de_type": 968
-      },
-      {
-        "contents": "B87EF036921C2A821A7F1870DE5322CB54C78317881EBC0464EA4CA53C",
-        "de_type": 932
-      },
-      {
-        "contents": "EB",
-        "de_type": 660
-      }
-    ],
-    "encoded_section": "6B9013F16715F33E9D6F1CB228C7980AEDBF909110009EF4C8B8957C9963F83740019009F8CB9004BA838E0DF9D06746AE2BE8D725EA825AEA40D89326B71B94F0182B2F1187359CA49DE5B68FEB2F489617FBD98183BD84D2A015061EE9D1586BE943BB3AF7631C2BFFEED3",
-    "identity_type": "provisioned",
-    "iv": "E4C0765EE932EC49F352EE800E95BF09",
-    "key_seed": "39F40C082855D864F9EAD4D2E01AABDCFB3AEEA2D6E3CF8BCB5319EA1AAE1C5B",
-    "metadata_key": "BD48F853813C1365B9D7E7B62FF934B5",
-    "section_mic_hmac_key": "9FC866D3FA1D25D6A429BA6E8D8BC12C64860E5FBFA2995B6F5C27C3D8C7B940",
-    "section_salt": "9EF4C8B8957C9963F83740019009F8CB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BCF433EB76C6DC46D6E21B55EF890A62",
-    "aes_key": "4E79EBA2284EEFAF313F7ED5BCA05ABA",
-    "data_elements": [
-      {
-        "contents": "D15571FE1145DD2C7490910BDD0C",
-        "de_type": 910
-      },
-      {
-        "contents": "170565A8A4",
-        "de_type": 762
-      }
-    ],
-    "encoded_section": "509013C3275F9959C9B6B3984A4D9D7ADBF846911000FF62C0D98902FFC817A5262C7AAEFF34900297B89286BBE1563519BD6A4D344DA0D02A56227C8F15BD7419D3191EE89E07DEDAAEA2C80F44A3BCAC",
-    "identity_type": "trusted",
-    "iv": "337A5A9380E964FA6BC47A318FCC34D3",
-    "key_seed": "E7166D09CDE23D2758F900FE5256262B4E9854C004C565E86240856C6C9C5936",
-    "metadata_key": "7C7DF4DDE672B397105EDFC764E8E659",
-    "section_mic_hmac_key": "2DA615C9E80E2528B13F1EC95860BA8BFCE20D5BB09B3B60FA9CC4429AE7B58F",
-    "section_salt": "FF62C0D98902FFC817A5262C7AAEFF34"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "944EE800BE99462E7D2CD5B33FD5E63D",
-    "aes_key": "567FDB0D6E7E46FA89779F09423DAAB4",
-    "data_elements": [
-      {
-        "contents": "BDE03470416E865C3BABD4",
-        "de_type": 462
-      },
-      {
-        "contents": "D6CCF4C7C2F63DCC143C3D9DE7F43227D61E670D42C8B68180257EB370",
-        "de_type": 128
-      },
-      {
-        "contents": "20C72E3A955F310EB699",
-        "de_type": 101
-      }
-    ],
-    "encoded_section": "71901353E7C27131F33499622E7CE6CF74E3A391100046B0B64F499BC8A30778C7EE5E5D53C890045B77D7B11E140D541F75ED8F022F45EE22DF1E033AB90EFB89C5FA7EFE75869168A17A3E5923DFDEF8E94BD2714B039A98FFF4C834E4ED222C88CD29501B34BBD59E294039D5D8AAC305",
-    "identity_type": "provisioned",
-    "iv": "429662A647C2A5C874388D09ECBD3863",
-    "key_seed": "B08E79ED71A776EC7A12D208D40263839BCA251400D223DD604FB46006B16016",
-    "metadata_key": "3BC1E5BA014BDC2F3E86557B27439B42",
-    "section_mic_hmac_key": "3C3A1354B81E8F4BF020D00025F63B060526C77F98F41EE759A002AB5E80BAC0",
-    "section_salt": "46B0B64F499BC8A30778C7EE5E5D53C8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "40C50798CB6B90E84B28C2DA92DEFE6A",
-    "aes_key": "E9EA2C7ADF7FFD2FF4AD9FE602B1FC1A",
-    "data_elements": [
-      {
-        "contents": "B8C8CDEE",
-        "de_type": 793
-      },
-      {
-        "contents": "9A",
-        "de_type": 749
-      },
-      {
-        "contents": "E449D3660409413C63",
-        "de_type": 588
-      },
-      {
-        "contents": "BF5F66ED2CDF72FE206A9E",
-        "de_type": 52
-      },
-      {
-        "contents": "EC62382023B21EA450983368754FE9B2AE",
-        "de_type": 39
-      }
-    ],
-    "encoded_section": "6E9013C9617663F4A258ECAC1D10242CE9C20491100044AC3079A59D58FE95ACACC78E24D4CD90015F59D0C643A5B519A0B0AA437E113BA30E055830AA3D8DFDC8B0CE7BC4F01FFC4472BD93362308715535B643DC58C7C9288EED97CA0687EBC5AF4C2DD4E48464B7974101F424E7",
-    "identity_type": "private",
-    "iv": "0E0F84344052E7671CC153002EE1CBD9",
-    "key_seed": "15F230069139FF86FBC71850F7AA9275ED0BA1A471AFDD4F6F4F32718FC180C1",
-    "metadata_key": "99FDD5669D2B0D5F466C202F80898CFA",
-    "section_mic_hmac_key": "F933F36F11D6751204A7D4AA5D00F6D930CA7947DEDFA8E588AE32CDC50355FA",
-    "section_salt": "44AC3079A59D58FE95ACACC78E24D4CD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C39D831B39DADA8A4D2FDE8CADD7AD5A",
-    "aes_key": "40777A255D48F7182CE23A787B7C5765",
-    "data_elements": [],
-    "encoded_section": "379013F6D0187446372B4CEA0E67575D4EB9E09110001ABDA9EC38BF3FF2C4E6CEA7CB296FAB90021EB5EB4EE1AC52FA36C007F242C903B1",
-    "identity_type": "trusted",
-    "iv": "8BF471907B22592267F1C653662E40CB",
-    "key_seed": "630FE25E7432AC0D3A4DF3B2FD196CA8B774674B7F65CBC1B7EC8C680EDC88DE",
-    "metadata_key": "CA7D44E7F05D3FE953991E5E2F4F65E6",
-    "section_mic_hmac_key": "3EE2C708429DF966A211FEAEB99AC02D4B4F88A1AA6D1B3350E0E72D6916472F",
-    "section_salt": "1ABDA9EC38BF3FF2C4E6CEA7CB296FAB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "97552E387E6AE7F19813273C95BC98DD",
-    "aes_key": "C6F2E67244DF14B25370D81999B3B703",
-    "data_elements": [
-      {
-        "contents": "48294D8737F6689CA1224806F2BE96746AA3F7E9",
-        "de_type": 281
-      },
-      {
-        "contents": "046A03298AC6CC74C9875F01C585EBFA285FAEE43330",
-        "de_type": 662
-      },
-      {
-        "contents": "5772009914B0F7D03D99EF3848500E5CE2CF1BB8967A4802489DB999",
-        "de_type": 294
-      }
-    ],
-    "encoded_section": "86901375877260F8680F64A523EAEACB6A70A6911000C9BED517D11AD9DE1BD79769B4BF1E6F9002B350E0DD7516F6310B5565EF2CFC16FD0F7ABB3C9672D2A4273D874DAD2A50F90B827E7DD2D1F3144E9F44CA56A8F5B8CFBC080004EBDEBD57572915FC3B3ADD1722FECF6DE45A91F1E383F15C990E22790A81DACBD72D7664F3941D15CF05",
-    "identity_type": "trusted",
-    "iv": "9343721F3C8067E079543B212BB2889B",
-    "key_seed": "02AB71C90D39A12A244CF71B024542CC16A83A213203F410FB5E68A9E047C59E",
-    "metadata_key": "303F6356D15193128F6E6B381E88EE17",
-    "section_mic_hmac_key": "4E43FFB12A718E30D9F2455E985C46D0998D11D65E84CEAA3DF88E5012AAD482",
-    "section_salt": "C9BED517D11AD9DE1BD79769B4BF1E6F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "71BC9ADC29579DC8A0E0487EAA5230A7",
-    "aes_key": "9620661A0AFDB63AD16819514497C47E",
-    "data_elements": [
-      {
-        "contents": "1C1A3657E3A21392",
-        "de_type": 220
-      },
-      {
-        "contents": "6C9F1CA43BCFAB1857D7805A84E4A516FC4D9E7C9678DDCE",
-        "de_type": 740
-      },
-      {
-        "contents": "089BE9",
-        "de_type": 171
-      },
-      {
-        "contents": "331FCCD6645D0E6C2FDC35F3AF3AF969F2FD0282A81D061DD11111EA08",
-        "de_type": 645
-      },
-      {
-        "contents": "60A8B144593D90FEFD6253F416B570B8E55F1BBE4A5D",
-        "de_type": 986
-      }
-    ],
-    "encoded_section": "9C90139CA48B7A14644F84BDB15949D54E4D929110009744CE2971F1B4E26F8073C4B4849A10900130945DF1008EF4B256752CAC699B2CBCD0A736335A415D81671FE6C4E62E1AA6721CB7B9A862FDE44D4865E8CA00D9689848B19ECD766EF2612D73BE4E7DF50E81C75FA990DD295777F5F9D4B89D619023163C2ACEB31EE43CFCDEA866EFA0F1F98DAAFD0097DFE4564D5158B26EDBF3943E7D1624",
-    "identity_type": "private",
-    "iv": "7D0C9BE18436626C75E5F109E9FA6505",
-    "key_seed": "06AA79A2060D335E6035AFD4807E33B665C0AA91D672258386D3C8A18BF62730",
-    "metadata_key": "7011E726D054C8F0A3AF0A64CEB3C04D",
-    "section_mic_hmac_key": "FC9ADB7DEA9F8B9BC8AE7EE4E37290FBE67F49938209F722BAF94F00F5AD8A3D",
-    "section_salt": "9744CE2971F1B4E26F8073C4B4849A10"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "96AE4A65693FECD0AE7DC294E815285B",
-    "aes_key": "766190BC62AA978ECD78A5FB1B9393AC",
-    "data_elements": [
-      {
-        "contents": "E2819425AA7B8D06E07D12EBAA19",
-        "de_type": 112
-      },
-      {
-        "contents": "668F51765E67802E8D947DC83432A82F4F9FCDC3FE56DBEA",
-        "de_type": 997
-      },
-      {
-        "contents": "9F",
-        "de_type": 189
-      },
-      {
-        "contents": "B7A803AB085D7464012E7141C92759CD5ABB1D5EE20252D40B",
-        "de_type": 910
-      }
-    ],
-    "encoded_section": "8290134C5FE3E874324FF0481B9CF6C7BD23DB91100042F06DF6293FE7CF1755C951BE41DCA190029B0054551005D376488CBF35207D28173DD036E39F6D2DB18CEB5F87FA981F7695589EA3C6CED88CA59C664CBA7F19F5AEA26ED8B819F1A98A2290E8AD88955C9B1CE698BA709C76E66BCD3E0EC22BB6AEE6E2D45619A100FA717C",
-    "identity_type": "trusted",
-    "iv": "D5A0D32FD5106E9435882D01E1B6367E",
-    "key_seed": "1D64C492D1FDA772BFB5BF34A65A186C4571F0B131A19A15C40644C5D597F7D2",
-    "metadata_key": "18AE245FF683EA4D131CB3B9CBC5AD5B",
-    "section_mic_hmac_key": "C147044183E1BA4466D363443FFB1F6868D7B9B52D128E702757AF3A8872E2DD",
-    "section_salt": "42F06DF6293FE7CF1755C951BE41DCA1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D6A98C7976ED88F4776F57E55051BA42",
-    "aes_key": "D6F42BD59A9A4D83D113E168F945476D",
-    "data_elements": [
-      {
-        "contents": "33E7567D2554B29992ABFF5F",
-        "de_type": 733
-      },
-      {
-        "contents": "1CEB66A7934CD81BDE08E0B4C68F418C",
-        "de_type": 235
-      },
-      {
-        "contents": "221A4083EE6BD86567C08EE459ECAF0592714C08F3C4541C254EF7B1",
-        "de_type": 664
-      },
-      {
-        "contents": "9802DC6EEC151819FBCBD2208784FC5F45E439518A33BA49C30C9812",
-        "de_type": 700
-      },
-      {
-        "contents": "F59E9C167060C57F524B06FC2CFE8C30B7C245A5C9F02657EBBC2E7F",
-        "de_type": 938
-      }
-    ],
-    "encoded_section": "B690133CE3C2FA05766D5CA1A3D5EB51D94E5B911000C154515607DCD6F34C441B78BA3E68A2900155F5CC8E4A8A8E627FBB74C83F67F73F72C7B6F84B5897C890D28B73C4302EFD9EB62782B56E9D0C9F64B75CE36FA88E9C912A29CE40AE572A564E74BE9DCD07E0F252C228F235DFB4CE51B033D4D93BB28E05147464D77673CCF87AF583F02574484839C5407D83B93676066F280BD2E62E586A465D1D62AD7CA1902CD7FDD1C69ADC1A99A85BBD1E56BEA1F7B6AF",
-    "identity_type": "private",
-    "iv": "8A66F137E1DD93ABF2E6F8DB8E5629A5",
-    "key_seed": "0ED34984F8608A1ED2420168D3E39EAB29CAE89E6E00F577A2FE2435E371BA8B",
-    "metadata_key": "6D78B0D9464EF03BAB914959BF7471D3",
-    "section_mic_hmac_key": "F77AA75CDBE8F413D63FED4997A9DF7B110A1EE1238ED913DEB1510213F82FDB",
-    "section_salt": "C154515607DCD6F34C441B78BA3E68A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95D42E733AAB2A8F4623607AE3AAFA1A",
-    "aes_key": "307EB5096605C93D74051BF3019140FB",
-    "data_elements": [
-      {
-        "contents": "CF43",
-        "de_type": 272
-      }
-    ],
-    "encoded_section": "3C901309D2D105A3900C7562AD0B847A6BDCD2911000719CA000E206EBB7E414B1F331D8879790017D362D435E3C563734593A7A7A1F6FB1DEDD3FA0A4",
-    "identity_type": "private",
-    "iv": "CE936BD2A93680E285FE69D3519B37E5",
-    "key_seed": "3CACB47DF80E06C8E73F10B1CA40BF090558409363E97E32EDE98ADDC25B7948",
-    "metadata_key": "70936418E7BFF920321C1D1B1E22E5A5",
-    "section_mic_hmac_key": "37593B2D5BA45C77CB0E2C19246AF6FD05B182409983BE087D9C100BDCC2B7DD",
-    "section_salt": "719CA000E206EBB7E414B1F331D88797"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7C6A5E9D266FBE338500EF4B1A9AE1C9",
-    "aes_key": "37B697BF854925E9E7CA558956992E29",
-    "data_elements": [],
-    "encoded_section": "379013BACA5D191A040F13B2D30C356C3C383E91100026E263D75F5CFB71AAC091E648255C629002BA53540471CBE7FCAF7339225583900B",
-    "identity_type": "trusted",
-    "iv": "88A2CC9AD86FE18152AEDFE96F0264F7",
-    "key_seed": "666B0E3B2CE558955F83D1992C4F3CE552B1591BE1FBC39E7578A33D4A66015B",
-    "metadata_key": "9EBB6E6E93A85AAA2629A791B4760394",
-    "section_mic_hmac_key": "8FE26D7990CF7ED06F5FD77E2F78F5D99DD08D6F366D2C6166286A8C92478306",
-    "section_salt": "26E263D75F5CFB71AAC091E648255C62"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F8170168CDB98E6054D980DC4F486BB3",
-    "aes_key": "A723C83FFDB884866843D23669DC6225",
-    "data_elements": [
-      {
-        "contents": "F7844444403E9C",
-        "de_type": 782
-      },
-      {
-        "contents": "8233B24F5F14FFE07565AE42",
-        "de_type": 69
-      }
-    ],
-    "encoded_section": "4F901345A324F37CB55A5C0949CBAD49CC11BD911000668B8E44F0078A09F12829F40AD701F79004F968AECCC04CCB53902EA8B7A9AB90AC9D3507DA5708488D8A6D1A681DAF59454152EEEA00D55441",
-    "identity_type": "provisioned",
-    "iv": "FD415093D0B11FCFCD62D5EF7EBA2EB1",
-    "key_seed": "1661E1DB8407DDF7EB6909B99391A568FCD11321E9D340BA2C5D3E802753436D",
-    "metadata_key": "443844D2B1B640CC1C9A4CB862BD5B5A",
-    "section_mic_hmac_key": "CE882FC63AF0978CD195CB6DDFA2FD4F77162F138567CF2795776F32B834D7B0",
-    "section_salt": "668B8E44F0078A09F12829F40AD701F7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7F1798862045B2359834FBEFA172D80F",
-    "aes_key": "612224E493519B499DA8E37EA72BD934",
-    "data_elements": [
-      {
-        "contents": "440654B4248B492CE5D00CA61809",
-        "de_type": 768
-      },
-      {
-        "contents": "D417931E9C9816A0289BD8855D855FCB21",
-        "de_type": 166
-      },
-      {
-        "contents": "E8C520AFADCD6D672723D0DA5828F73C6FB01B9F0DC6F7B4D6",
-        "de_type": 139
-      }
-    ],
-    "encoded_section": "7890130D0ADE5589F80B65A31269B928FF63D0911000489AA2FF0B570F1558FBCEBDA587BAE590040E64FFDBC2E0CD5EC3C8DF92196E4AF3057ADE7C296F26DA271D95A20FE7C1ECD2C28A8947CFF6007D293217FFA58261AD7F3D223DC7F1C2F2B19F696ED43E593593FDDD0E3AA714D6D646F34DBDD6C298",
-    "identity_type": "provisioned",
-    "iv": "FDCB3FCDD56A66B6C933BBFDF96A9FB5",
-    "key_seed": "8293C98B9D0BF923A3721AC82F2AD92EBB1CA01487D3CEEEAC8CD21CDD69F4DE",
-    "metadata_key": "78F9E8DC1BE37E91D04C8AF24505C390",
-    "section_mic_hmac_key": "8B092819354220EA5B74C6332BDDC7D8D817B74789F17501F6D2E13230D93633",
-    "section_salt": "489AA2FF0B570F1558FBCEBDA587BAE5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8140D71FE04244D8BCA21C9B5080A385",
-    "aes_key": "CDF733CFB60B594C37C1F1970F06F23D",
-    "data_elements": [
-      {
-        "contents": "9EAA4D737BC194651FF11D027E653915B66F89CE",
-        "de_type": 146
-      },
-      {
-        "contents": "85",
-        "de_type": 517
-      },
-      {
-        "contents": "B2D927",
-        "de_type": 37
-      }
-    ],
-    "encoded_section": "579013EE370B2CFFB5850F24E31EA18EA165E59110009CE7EBE57787FE3B841AAA34A9CEA8879004B79F8E5622D80A40CD40274BD5D19B70D57D842372B67C2220EBC1B075DDDEAE5B7A6E9BC8BB0C1104357CD7F9E27856",
-    "identity_type": "provisioned",
-    "iv": "3A43AAD47E0F8DF1D833F633226CE6F4",
-    "key_seed": "645E00EBE423EDD4AB5A50D7EDD53F4B94B75EDB68D8FD639D72FC1474AAAB6A",
-    "metadata_key": "AE54A918EEA35A8FF008113B344C0707",
-    "section_mic_hmac_key": "8D07A0FEDA41154101D987AC882BE0C42375C3F66179A2260997983912026192",
-    "section_salt": "9CE7EBE57787FE3B841AAA34A9CEA887"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6D9C63CC15928B2584D3A469A65E0BE8",
-    "aes_key": "3571B4319B4687C0D5D54F436896C228",
-    "data_elements": [
-      {
-        "contents": "782C0F67D4BBA10130696435243010144820F4752910F9B0E3F80FC0",
-        "de_type": 381
-      },
-      {
-        "contents": "9B336B1421B796A9C8F97A20705F",
-        "de_type": 870
-      },
-      {
-        "contents": "9F23ADFBB8E3EE4C54450A49552A6A",
-        "de_type": 506
-      }
-    ],
-    "encoded_section": "799013F321877FD6CAD817E2C641F8A90FEF4C9110009A96FEBC9A8FBEA4A344561254552C7F90046293184DBBFB610A416EF1FA50075E891A3937FAB2E51B6F0812D0E3ED51EBAC6849CC78AD2B85DAC2992CAFF2D2D2908E1F5A90889CFC1FE1CCBEDF435FEA597C4E2A2C2D220E4228E8463755D57BFEB5EC",
-    "identity_type": "provisioned",
-    "iv": "DA7041AB2C2B7685E1DC21095428E0D4",
-    "key_seed": "839C80E9283189E3AB98E48862F375C4B87CFC3B6F6C044DB5E26AD4DE364323",
-    "metadata_key": "BBF2E5F0D26483F19588EEC82EDC6C12",
-    "section_mic_hmac_key": "12445B6BAD94883AC9E4DB8F94BA02D08DDB9F7A070EEB7D3A8A6FDC10F176E2",
-    "section_salt": "9A96FEBC9A8FBEA4A344561254552C7F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "35A8251868DD2E1A9194786BE8C64BFA",
-    "aes_key": "A7B21AEEA0C66BE702188CAAE0EA6512",
-    "data_elements": [
-      {
-        "contents": "A9055442F2B47596B0DB0A971C07",
-        "de_type": 961
-      },
-      {
-        "contents": "D71C",
-        "de_type": 677
-      },
-      {
-        "contents": "E57B64B155CF7527D751CC68B263A792C2",
-        "de_type": 265
-      }
-    ],
-    "encoded_section": "619013AA0300E2A8F8624386FC6A4F5F403591911000837E4DF997864CBF37E0B55EB497A1C490027D171341BA6F6E8007CEA0ABBF21B146571A065717806FDAD5CC16C8122394811D1EB1F4B25D784D9CD216CD06A40CAC8DEFE77C0A19BF542ECB",
-    "identity_type": "trusted",
-    "iv": "BE19F81834F18C01B380AA4092DE5F1D",
-    "key_seed": "5787FAEC4C0349041EE656ED1407458B8F07064FA7FF965C37E01938E0939071",
-    "metadata_key": "23C90D62E06A3A03EA5E4DB7E27387A6",
-    "section_mic_hmac_key": "790A1AEA80F909DB3A515737E1260748040994491F71C97E02BE9042B5F0FE83",
-    "section_salt": "837E4DF997864CBF37E0B55EB497A1C4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F3C6A0D85CF7280DA0AE087536D46D4F",
-    "aes_key": "714CFB9897FC29FC146F4ED1980F8A02",
-    "data_elements": [
-      {
-        "contents": "CA93EB016F5AB0EAEE15BAAF19508C09E9FBE3ABF0CE6DA662CDD7",
-        "de_type": 966
-      },
-      {
-        "contents": "AA7C1AEB498A8A539C7F9CA7C6AC",
-        "de_type": 924
-      },
-      {
-        "contents": "9A7BFF",
-        "de_type": 856
-      }
-    ],
-    "encoded_section": "6C901340616A3CEEE6E3DB8958540220AB0DF8911000D6C0D020C67736CA0DA95743E11FB3559002E77AB2D50E5622942872D90F79889A1211EA3DFD68974FD22077EF7E297B27655072A61CA8148751503D2F945419CC3A41D10116203246F7A29D557ACB20AFEC92FDC3F6A5",
-    "identity_type": "trusted",
-    "iv": "CFF129908DEBC64E87D30CEBD7CFB92C",
-    "key_seed": "E76585B665156041F17624D98389BC90CFB1F7B5FC98395CBB0C92BF39275F08",
-    "metadata_key": "11E5F0AD1D1064EE76EF482287716210",
-    "section_mic_hmac_key": "D388B45C5104F5EFF3114BFA514843F086F9CDD012E32ACB4322B3AFC3EF25F8",
-    "section_salt": "D6C0D020C67736CA0DA95743E11FB355"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "899E72C0ACE8467E62C1534EC6C7A9F4",
-    "aes_key": "0ED6FFDFAB0E1775C01399C65FC1EAC2",
-    "data_elements": [
-      {
-        "contents": "46E4",
-        "de_type": 164
-      },
-      {
-        "contents": "1CD5EB57C26AB946B644C8C6D2EA",
-        "de_type": 147
-      }
-    ],
-    "encoded_section": "4D9013D876C620764709BA76B867262A767E9891100003C6477E17249A35DB289D156146DCE19002C34E905787280A485090274A6BE1EB6BAA83C8A860B7E10EF6E68170CD6CD856D47F1B5212E4",
-    "identity_type": "trusted",
-    "iv": "9A9EC26A4DF843F67A50C2883B2049E5",
-    "key_seed": "D093FD917DC3D0AACFB61D214DEC5CD7E9F4D9D1B38A16DC4746005201209030",
-    "metadata_key": "47EF5956F658168934538B98AD8039EE",
-    "section_mic_hmac_key": "15D1AE58C9F76DD3D6AF7D332A79746DAC7CA69EEED1E03DE1BA3C2CBE6D0D34",
-    "section_salt": "03C6477E17249A35DB289D156146DCE1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "37D4F69D0CD26B40E94ACE2A5DBCCEAD",
-    "aes_key": "ED777D47AA2B1CD9A18A679A11D2D4BF",
-    "data_elements": [
-      {
-        "contents": "3A3396B74739FCE4",
-        "de_type": 813
-      },
-      {
-        "contents": "",
-        "de_type": 280
-      }
-    ],
-    "encoded_section": "4590131BEA8B2830E5C0EF21FAA31033A5E5D8911000795CDD085DB06D32AE5FD26F7BCDDBB79002B6A7C8FB0E06CD39246BE00D8F824C8CBFBE5FB5B4CC94298EEC5CBDF16F",
-    "identity_type": "trusted",
-    "iv": "BDB607DE3CD62030073D459C5B8D6C93",
-    "key_seed": "338B03B03A5E620E3B27EAF5E57D5A3E91B50113DC68FD76CCB906A0CD6AC15D",
-    "metadata_key": "C7C3232A78820948E56ECFBEB230CB6F",
-    "section_mic_hmac_key": "6A734BE5E220BD0FD824A54573671C3D15CF7B4BB57AA2B505EB6BF0B0CAC0D9",
-    "section_salt": "795CDD085DB06D32AE5FD26F7BCDDBB7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4DD5ECE3088AAB59CB1D292B33F366C",
-    "aes_key": "639007FB19AE47F1C559685FDA3EB75A",
-    "data_elements": [
-      {
-        "contents": "E88F621FE3EB583D38E8BAC78F77C628",
-        "de_type": 933
-      },
-      {
-        "contents": "75ABDDF8",
-        "de_type": 54
-      }
-    ],
-    "encoded_section": "509013AF1C7CA2B228255162CA076C8B11BE46911000F45D6C318697B0191B1D88F3CF9D00F39004ABE13C11D4EE0C8DB3480A7B4B3BDC25563B1C28D8665AD58EDF8794E2B9AF89F46772315982210EEA",
-    "identity_type": "provisioned",
-    "iv": "7178DC1EF12587D629C2D6FECFF095CA",
-    "key_seed": "98AAA87C26694BE9E3BBCC696C76246465B0239410B523EC447C9A2049D1EC0B",
-    "metadata_key": "A278B435B2A9CA7EBAD385FC6B7E3F15",
-    "section_mic_hmac_key": "80B3F75573897BDE6A79AF64C8FA3E66E60E12DCA0F934D92464B8FC037944A7",
-    "section_salt": "F45D6C318697B0191B1D88F3CF9D00F3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "98345469CAFE42F15D87F5EEFC770569",
-    "aes_key": "EAD0F193D218EF675EA19B2DAE377F02",
-    "data_elements": [
-      {
-        "contents": "AB6691F16BD89FBEC7EA564644B836DF20E3",
-        "de_type": 396
-      },
-      {
-        "contents": "33283B4AC99D1351B01D0FAC70AC124EA0C18806F4EB79A81DD0C7B7",
-        "de_type": 761
-      },
-      {
-        "contents": "338FA25539C9F603E8AA",
-        "de_type": 545
-      }
-    ],
-    "encoded_section": "789013E04AD2F52216D16070E3AE142996253A911000908F07CC93A0157CA88C95EA00D2F8B09001801529DCA17EFD27E94D8A309ECE9126B84DDEF670D9AE859FC518535A5EF9E512C84FCA40EA028006D89902575457662EEF326EC7A07B9169BF15231DBE29B408E134074E7A1037F445C293EEF0F50051",
-    "identity_type": "private",
-    "iv": "628570BB5423D437AFFAD6A68E7D7C51",
-    "key_seed": "D16A1A2DEF6A5A281D1345AE625CC996CE718409EC67F52C2126D4F4F35A240B",
-    "metadata_key": "5D5A62A4FC06971533C17C6914A2ECB1",
-    "section_mic_hmac_key": "B4027E120D33DDF70FDB320E58DC27EC588E7D0F16E413200A8A834D4FC06B6C",
-    "section_salt": "908F07CC93A0157CA88C95EA00D2F8B0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "473589D555027506C32625BD8CC7DEC7",
-    "aes_key": "3EEAA4B0A65FE6A149E92A3ACD460F2B",
-    "data_elements": [
-      {
-        "contents": "00706503DDE2E48069E553BA253443985B15A915D6536999F1F8",
-        "de_type": 655
-      },
-      {
-        "contents": "152C59162A8FD170",
-        "de_type": 261
-      },
-      {
-        "contents": "29121F0B063A6B6F863E730BE1563CE5136F4B76",
-        "de_type": 1000
-      },
-      {
-        "contents": "A4E52EACF159",
-        "de_type": 503
-      },
-      {
-        "contents": "986D5DEC9898E595883F738E6313D79A010DA5",
-        "de_type": 413
-      }
-    ],
-    "encoded_section": "9590132BFDDDC9034E622342FD8689E276F16391100053743B86B516991B130398CD526856669001C9112F3BEA177009F48C84164DB23C8A235D39B30B30621639A06493FDCA70371EF4670D5D7F6F35D41573DCA035DFA187060D4509A3085763A2FC46AA05E1414D3A83151E7E8268A1CF1A1F6453114622E36FC069C6FA97D4DEAC4F2BBFC0E2E066BE2BA08D102E0FF80C67AE64",
-    "identity_type": "private",
-    "iv": "F4CFB23D5B57AB5DD39B7FA98B5BCE5D",
-    "key_seed": "A949CA927245FE4AE45D4F369FDF339B2542427E268A92A4FB56D818E1585080",
-    "metadata_key": "2D5AA2AE17FA3B780595B442816D577A",
-    "section_mic_hmac_key": "5E2FAD4AD9AD36D0FEFEC43FA96CDDA06B95035C188A02188FA134AF1C039B35",
-    "section_salt": "53743B86B516991B130398CD52685666"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "25EFD74B18D28C38561611A4E0EFA653",
-    "aes_key": "D62A62981F5281FF40D4559D01F3D42E",
-    "data_elements": [
-      {
-        "contents": "29CD91ECAD1EEAA72B8343AC127EA910C60103006ECF8AB36941",
-        "de_type": 469
-      }
-    ],
-    "encoded_section": "549013834CCF10766629D4E328E20F100325A09110001875FF4F2F9EB5B632BA383003DE4C139001D4CD5795AC80238CEA4265BB4D2A4668F9569493BC5936F84442A51F9F93144DC7F0B9855D6E2D8892965D0D75",
-    "identity_type": "private",
-    "iv": "583AAA53E4CB858B5425E6CAA806020C",
-    "key_seed": "2FC71501293477514573A265C5C8704E9C86047A7A6B14A67EF489DF5844E0DD",
-    "metadata_key": "9CF9951B23AA2C216A88920C36927BDE",
-    "section_mic_hmac_key": "2DE14E1989C82EF73E9F57D5F31BF1D4C01B96488D633FBA7FD93C8F07DAE841",
-    "section_salt": "1875FF4F2F9EB5B632BA383003DE4C13"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "230C6C323653F615C3EDD59CA5C3E4CD",
-    "aes_key": "8DA0B2533F0BB0B636C0DD2C5F4C2325",
-    "data_elements": [
-      {
-        "contents": "0F06B38FC8A536260ED355C9FC9E14E7DDD7929CD568A0E2B11F4417",
-        "de_type": 196
-      },
-      {
-        "contents": "E9DAE7C7DE865122E920DE218A959DC66B87191B880164152496328A4D",
-        "de_type": 564
-      },
-      {
-        "contents": "93DA2F2DDF4E29DD44012394C9A9AC64405DFFCBEB",
-        "de_type": 257
-      },
-      {
-        "contents": "F56469A172DCCA67832689D1C2",
-        "de_type": 228
-      }
-    ],
-    "encoded_section": "9E9013D58191FEFB4A9B9BDA6B037A0CC63F939110007B2BEA4E28BBEBC044F1282B590D42209002FB5F97FE4F62B89E614F28D1CC810522FB81A03B4C526D66C7B23A95AC861BE8072D5AC673D1E91DDFF56B3354305C6C5798E51B4C34F3AA0B8E49179F988718FA0A500B2F0F1A369DEB3A2DB6E99799CBD3B9970489B773C2C41E567328EE044FEE336F9120673102432E3A80EC7306705CCD5486A3A1",
-    "identity_type": "trusted",
-    "iv": "616285E84578D5625166925EDFABF2F0",
-    "key_seed": "CEA74ABC6E8F5BC365B2A23575FBC9A5242A1175298E8D93900459C42D129730",
-    "metadata_key": "37E8237111A63B854880506BC5B086F5",
-    "section_mic_hmac_key": "3DAA034FE225951D1CCF0289F091B047D091F350A6566A0CE44A60152EBEFFE5",
-    "section_salt": "7B2BEA4E28BBEBC044F1282B590D4220"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5D324887E76C3F9433D2B4A42FCAF044",
-    "aes_key": "66E4331038810B466F236AF2610624D4",
-    "data_elements": [
-      {
-        "contents": "985840558092746F07B1",
-        "de_type": 498
-      }
-    ],
-    "encoded_section": "44901326F885F961FE74FFCE3BBB43648CB811911000D8A99AE153719865050D04CB7D1673FC900256ED4D9FF8B3A8B57F704B5ECC167466004EDBC803DF32767BA4885780",
-    "identity_type": "trusted",
-    "iv": "49465FE445A423A5A4D9C893C7124241",
-    "key_seed": "BB5DB5AE369B6C5D2EBCAA7A14B03F9A249DA93B87C24356475341E34CE211B7",
-    "metadata_key": "88F87FCEC4D05BCAEB97098A827FAA80",
-    "section_mic_hmac_key": "2B66622A6228FFDE6DBCE6808DA2A207F942EF38059457C1E84D49D65D5EA0EB",
-    "section_salt": "D8A99AE153719865050D04CB7D1673FC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "492310415125301AF370F3A28F99C923",
-    "aes_key": "3E60451A7487BD9CC8EF9CD117EC06C3",
-    "data_elements": [
-      {
-        "contents": "7E0B2E1CB803",
-        "de_type": 96
-      },
-      {
-        "contents": "",
-        "de_type": 4
-      },
-      {
-        "contents": "5FFD2C7DAB0C",
-        "de_type": 557
-      }
-    ],
-    "encoded_section": "499013A8190AECB7A7CAAC7A41BCCC1BB23EB99110003D9D5DA626D91FD8CB8910200ADDDCDE9001C4A2BBA08569798DA7CDD17B9434EFFDAB07119526363656E66DD52D79BFE6402756",
-    "identity_type": "private",
-    "iv": "C512212E4B03688C91E6742FD6CE85D0",
-    "key_seed": "303426E69CF0478D3546C376E523B59976BEECE4CD7E5D73A253EFD37AE59596",
-    "metadata_key": "2EE9CB59D9ED13C836389363377F0C10",
-    "section_mic_hmac_key": "177318DF2F5E18A2BA15AE658285E89541A870D219C47C5260C77D286E9EAE11",
-    "section_salt": "3D9D5DA626D91FD8CB8910200ADDDCDE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "34B38738AD29FF67B98A87A5E632B403",
-    "aes_key": "31A27BC1F826FB2A14BAF5D41AD7EF32",
-    "data_elements": [
-      {
-        "contents": "8FF21C1E9727057BF441B8845924AF2652",
-        "de_type": 561
-      },
-      {
-        "contents": "59354C8203E3D49D708164F64A8E94FD37DC4AB3170AF86EB2DE23",
-        "de_type": 143
-      }
-    ],
-    "encoded_section": "6990137AED32E0B427E327EB555684B103FAF09110009FC7D83B3BFFDF9324A3DD576C83C25F9004860BEA1F0A861519D2F64FD943CB247C301755CF3FC0F9688CC9C3A59D712C0A45DCBC0C4A4BACC93E9206E1A1F01AD375047EE9CDC415AACF23CED21082D0D6F2F4",
-    "identity_type": "provisioned",
-    "iv": "95AA62BEE82A7EB218781305E16CF180",
-    "key_seed": "EE9B03BA6F99F320443D9EC2D4080AFE8669D55E64A55476B910609E79804BE5",
-    "metadata_key": "791FFA37592A73FBE2748C91CBE5EDEC",
-    "section_mic_hmac_key": "B31DEDF27A541AAEB000A61976F06FB1137AB359B3D86DAC2E30C3DDFE8B85F4",
-    "section_salt": "9FC7D83B3BFFDF9324A3DD576C83C25F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6F1A5550F40245579FD1FEDB994C60E1",
-    "aes_key": "EF74CF6922AF88727876DD6180BADDDB",
-    "data_elements": [
-      {
-        "contents": "10F27CAB4FB6B95F77A5C6",
-        "de_type": 998
-      },
-      {
-        "contents": "7F4C192988A13A4E53C57A52F5DC",
-        "de_type": 961
-      },
-      {
-        "contents": "F676A115F3B1DD",
-        "de_type": 176
-      }
-    ],
-    "encoded_section": "609013305284C016C6D4FB8B85A6853EFE3BE1911000A883FB09F88AEBC1CC6CB4375B6F309B90027F59BF0ED26EFD7FC2826D3C353F894B923AAEAAF953CA9710D76864FF689AC4E3AB2109BD45AC5F1DD5578251BBA54D47002CF28B741222F6",
-    "identity_type": "trusted",
-    "iv": "3076D26E01CAAE164B6DD68DF2C98D6D",
-    "key_seed": "F7701383A99913E39E948F24FE4375388A477B5885BCE42E1136D694EC5940E4",
-    "metadata_key": "FCA9E9D4A7FC73EE0A84DD20EBFEFCD0",
-    "section_mic_hmac_key": "3090F43370303CEFE295DE610007E4521B9C61EDC8413FDCEDB1A1E827193103",
-    "section_salt": "A883FB09F88AEBC1CC6CB4375B6F309B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "91652221827572DFBD2DECCFDEBC0623",
-    "aes_key": "93D4594F6D83065E87736A4B1C8B5D90",
-    "data_elements": [],
-    "encoded_section": "379013CCA0DA07331E1D50F654EF152E8BE56C9110002EBA87F24986E786C3CF5E687E930F6D9001AF4C55F24D83258BC9CFC3ACE6DD4F77",
-    "identity_type": "private",
-    "iv": "7407BF39844950F7C02EFA0DB33EE20A",
-    "key_seed": "62C96793C0C0A1AD2EAA5D77B983C772D1117BFAEFEF6F1880D15A138CF02BA7",
-    "metadata_key": "493DA0C9159C6E0A451EF59760E8A037",
-    "section_mic_hmac_key": "59E78109732E338964B9D72691182ACCE1F13B1FB2AF815D0D9E107BDA483E99",
-    "section_salt": "2EBA87F24986E786C3CF5E687E930F6D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49A2D6913773EC08C26776F5D82EC4C9",
-    "aes_key": "61B9D6C9A96D8195A2448D9A4A9FCC50",
-    "data_elements": [
-      {
-        "contents": "9F6F",
-        "de_type": 985
-      },
-      {
-        "contents": "585537C36483C7D6D71A12EF0E",
-        "de_type": 650
-      }
-    ],
-    "encoded_section": "4C9013598C8EAEB8D51BC3FE88DAF09FB46EDC911000A381CE76EA131827A0C0BD7720D36AE59004DCC9D1BAB25D0CCBA65658980D6DBE61D2F02E7300B983FD2D944B9BED0E9ACA1AE77591F1",
-    "identity_type": "provisioned",
-    "iv": "DB8334CADCA491D2C65763FED225BEB7",
-    "key_seed": "076B4CB28DFCC1192ACE62FD2078B9D7A719A4FD023E5C806D60464AD004F54F",
-    "metadata_key": "C8B3594B1DE8BCC1698D794EB9159D32",
-    "section_mic_hmac_key": "05F49F228F859D213855BEBDCE762E3297CFFD51ECBB2088CFD8DC8E90E0F1B0",
-    "section_salt": "A381CE76EA131827A0C0BD7720D36AE5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FDB28EC49C232187F4B313D338CB401E",
-    "aes_key": "CBDD90D1BA86EBD8B627412AD9097632",
-    "data_elements": [
-      {
-        "contents": "67B75AB60CE23E879336887B5D9F5775A2078C1B2BC755B1B40901A14D7C",
-        "de_type": 482
-      },
-      {
-        "contents": "CF980B5189EA458B3E9EEA80758E9FCA5195E09F06",
-        "de_type": 167
-      },
-      {
-        "contents": "5B619E636C2E",
-        "de_type": 759
-      },
-      {
-        "contents": "0A408A22E62FC9245250A072273ADD497C300228",
-        "de_type": 387
-      },
-      {
-        "contents": "94",
-        "de_type": 481
-      }
-    ],
-    "encoded_section": "949013E4CFAF2BE466963149A6224ABCFB0C0C9110006886CCB0F507AC5B4E3A33B6F31D03EE9002F2392C3A765BB4AD1BAA31BFAC8FA8B5987DDEDF99E0B1F4AB5BD84ECE46D3701BC1B28DCBA2EA465B7F4EDD078FE699CAF1E3E9C2EACD89849EDE3E13B4E9C69A2381755448C9E0113843A4A22BBFFCF7C11BB0EA70C08A606952234B4B6108EC83040C10C6DAD374A5F05EDB",
-    "identity_type": "trusted",
-    "iv": "C028C5B6F9A36584545FB179C379BFB2",
-    "key_seed": "F6F00C19B4792C24EEF3D27D69993076230247603F817E90B855099E413F2B07",
-    "metadata_key": "67746BF043260C6C49EAA6197157A491",
-    "section_mic_hmac_key": "61E943AF30DDED5473FBA40F5118C7C2F350103F84A444FB4F7550667228977A",
-    "section_salt": "6886CCB0F507AC5B4E3A33B6F31D03EE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1EBECD2EA3A8364948252CDAA5B96320",
-    "aes_key": "5C07BF2012F7917650BBA25DD8F336CC",
-    "data_elements": [],
-    "encoded_section": "379013BF51B7882CB99C30571F24D1DDD05BAA911000E3F0D6C54BC850F9A48E98054374ED5F90020F71BA6B33808FA225AD2296003121C5",
-    "identity_type": "trusted",
-    "iv": "BC7CAF3B06416475990D575B2B3AFF29",
-    "key_seed": "D140C25596258623F7D0A978CFB6875793307B7210A9965CF4A09927E23848EE",
-    "metadata_key": "A62C713646FA57E510CEA5E76377164F",
-    "section_mic_hmac_key": "B606AF244BA59DCBBF6929DDBC3EF9B7FA0A968EE4958F8D628946460E0B574E",
-    "section_salt": "E3F0D6C54BC850F9A48E98054374ED5F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "34B8D0AA1B6076CACFCD67EAA56205CE",
-    "aes_key": "D18687CE96E0D9B21847502E60CDCD25",
-    "data_elements": [
-      {
-        "contents": "53493339",
-        "de_type": 153
-      }
-    ],
-    "encoded_section": "3E901369FD29BDD5FCAE64EAE91DA4C76BE48D9110007999D3B31650C18756A1D319773212AE9001275F57FE6AFB60B6DC87B624099A9B24569491F5F49121",
-    "identity_type": "private",
-    "iv": "5564C020A460380637EE5661E0F18465",
-    "key_seed": "51CD66A9B8455A1C61806C6575710F29B99AA5C08B5FB6883E2656EFD4EF4B98",
-    "metadata_key": "7A089FA25B6301D9D8413F0AA49603CF",
-    "section_mic_hmac_key": "B6E66D366DD2C413AA66A99E8CACDAA9761BA51C95898458F7B4D37988F135E3",
-    "section_salt": "7999D3B31650C18756A1D319773212AE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA23F3D623563CA554B644B8944836A5",
-    "aes_key": "952EDF3A3A92D45B9DED25777352BA23",
-    "data_elements": [
-      {
-        "contents": "A0A99C479635E3819E8702A34BDBAB13",
-        "de_type": 852
-      },
-      {
-        "contents": "E0253587563A4C07",
-        "de_type": 385
-      },
-      {
-        "contents": "1FF104D3D8A66917AE8B770463E08516393A6FE29A",
-        "de_type": 654
-      },
-      {
-        "contents": "DD0D3D55183C193476966F12ABFFCF2C65AE5E9000E57E93DDBEEA6B47",
-        "de_type": 807
-      }
-    ],
-    "encoded_section": "8D9013E81D950CC4779370E13B06AC5F9BFA749110003F78335FFD99A2E7A40D78D6314F7713900211BBD3B4F8A56E26538F9FAE57F0AA9114CC34411E8D4408B53039E144A6F0F6E3FC4C4E32563A97C177FAB41C6AB5D6ED9EBB41E98627ED5DC9B196432ED1C0036FCD729E492A25D4976723C777333C52ABDDC04D9E7F8654ABE7CBC319DDA5BDBFC37DF51D",
-    "identity_type": "trusted",
-    "iv": "2A0B516ECD2E3ED9E8491CB2A23BE7BE",
-    "key_seed": "9A76DCD6488802F550A1A5B2D68A21B45850BDB5D04F6BFCE6737EE9065459B2",
-    "metadata_key": "7A82BA273F40F1D7147503A0521EA07D",
-    "section_mic_hmac_key": "D0071AD96C81ED47B74B6141DD9BBA6467D69ADEE3C4B23556525ED204FE5450",
-    "section_salt": "3F78335FFD99A2E7A40D78D6314F7713"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EBCA2068CEB2497377233BA55556143A",
-    "aes_key": "B7CAB93856D36C4234AB9B7E3FF2C2CA",
-    "data_elements": [
-      {
-        "contents": "B906252C6FF66DCECE5745A021B149F9AFDF854A258D184B",
-        "de_type": 9
-      },
-      {
-        "contents": "113F12D313183B2C0F0080EB04",
-        "de_type": 401
-      },
-      {
-        "contents": "33B9E9DBD10F",
-        "de_type": 838
-      },
-      {
-        "contents": "EDF90FB1E1E1D0B56F88F8E52E9F28",
-        "de_type": 649
-      }
-    ],
-    "encoded_section": "7C9013B26979B83B32E69A1562F16DE75E14319110006B6BC738CBF9DE91F89702F34C609C239004E53E0A53B0F500690D822ECF8B51533921124980942C4C52D2BDF88BE78D4CCCE1F7B9334FE9EF5FA7846D447BABD7149F092C75AFC759AA705A511848528674C4A75131D2B0FEFBDA757DEF4319F405DAC80EF1D9",
-    "identity_type": "provisioned",
-    "iv": "84465E974A7F46A57204E7B87ED0AAFF",
-    "key_seed": "E00C8B52A62D38CD16051B45E43ED15D643A93FD6F673B03448250D608D10535",
-    "metadata_key": "3E2F563D9D36B4AF7752C0C19548A5AF",
-    "section_mic_hmac_key": "5FA9E23CC79D9776D137B5928675B099089A5EFB01BF98F6687C66BBDB3C334E",
-    "section_salt": "6B6BC738CBF9DE91F89702F34C609C23"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "246DD4A6A94037FE404D0A0EF4606013",
-    "aes_key": "B80A4E7A36FECD53741D1832DA6135AC",
-    "data_elements": [
-      {
-        "contents": "FF7E4C70C4C530F2728E854ECF67475F62905652931C8B7D95CE",
-        "de_type": 867
-      }
-    ],
-    "encoded_section": "549013AD258AE82CE83D89E404223234B3AC95911000D4C424C2D921D1248156D8D5AE0B40A2900108EBB7D35A6FB92BBAC4DFF57F860E87A043D0B90A06B94C6282265F668887704AFE03D7D6582F0816A5326028",
-    "identity_type": "private",
-    "iv": "2CF2A660A004D8D204498034A9C28C04",
-    "key_seed": "03982AE5B7459AED3DF2C506B459A366A17E98F81BD7DF3BC27492D0C60AB88E",
-    "metadata_key": "26C5F75F61DBD2E1E014D7EBD5259EDD",
-    "section_mic_hmac_key": "CAB0A73023E9B8CBDF76C30DFE90FEC62423FF1328BB239C7F7064E49255464D",
-    "section_salt": "D4C424C2D921D1248156D8D5AE0B40A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "14369DBB0C59ED5213EC3886FCC36B32",
-    "aes_key": "3BE5F37F21F48652E478248A61745106",
-    "data_elements": [
-      {
-        "contents": "7B5BB22FBEBF31",
-        "de_type": 256
-      }
-    ],
-    "encoded_section": "419013E3C20D9A0D8CFF73CD40DC2EA192F87D911000E26F9F9CEE62E88574F9614FDF510F5B9004BA4F3353BF508F98B6B06BB3B36442AD6F00882B337E8202F717",
-    "identity_type": "provisioned",
-    "iv": "16BB18DA1471AE79153EC619BC92D006",
-    "key_seed": "E351CE8EA42F777F5490CA51A37836EFFC360847D086D0181F34C50B48A84CC3",
-    "metadata_key": "17170F758D7A1BF5D584322C73297E1C",
-    "section_mic_hmac_key": "5BBECE4B2E6F573B52BECA481ECC505F4C38A17657A5CC75B418754E5D19B4D7",
-    "section_salt": "E26F9F9CEE62E88574F9614FDF510F5B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8C8E6A84C29BEDCE24FEEE95F310A81",
-    "aes_key": "D0BE22BCB73BD71C3FE37C497EE212EA",
-    "data_elements": [
-      {
-        "contents": "95",
-        "de_type": 110
-      },
-      {
-        "contents": "1CA6BD05453648BD3FF1",
-        "de_type": 606
-      }
-    ],
-    "encoded_section": "4790131C7F79B0F1E2086443460FE2AE232E95911000FC13C4CD5778C7E95DDB96C09062B64E900238A595E5A0F6964E89CDED56CDA41DD8391A91782768A7ECD119D3C12A98E0A5",
-    "identity_type": "trusted",
-    "iv": "2E84FA52101610AAD88549E7608A3849",
-    "key_seed": "A06EE64788DDE83EB17B56B49A8EC7596A559E9782A491BD87861F63D4EFCCAB",
-    "metadata_key": "B6B79621B08ABE548DB74B2C2910B691",
-    "section_mic_hmac_key": "B51522E30B6E35A9C74467E74B32E6319A059BD8C2B60343FE9C6DAE4E881613",
-    "section_salt": "FC13C4CD5778C7E95DDB96C09062B64E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1961134C789B5EA15AEFD01B020E6C6A",
-    "aes_key": "AFD569DB55FEE7DD324325167509AB92",
-    "data_elements": [
-      {
-        "contents": "ADE5",
-        "de_type": 666
-      },
-      {
-        "contents": "5A78B8137C56F49AA2A402",
-        "de_type": 744
-      },
-      {
-        "contents": "CD1FEAFD54E39FA95E0C492E25",
-        "de_type": 758
-      },
-      {
-        "contents": "5D931A41C7E445F6C6EECE448FFC54839DB9F5D1F854D9",
-        "de_type": 74
-      }
-    ],
-    "encoded_section": "7390131DD3C5EF126658F5E2DD60B357AEC97B911000A97D706FAD3538F852E485B8E91B9B4D90029973B762AC2D40747B49B7DF31B7BB0071DA2E4F5B4E371E3745A05FA602B3872F4DB9F9805FCFBD6E9E9624E8B05CEE407A25EE98E0865FCD11C08E04F706C96E673BF69E353B692B771DB8",
-    "identity_type": "trusted",
-    "iv": "E1BA0D8B2C19F6336353D6019F0D8D59",
-    "key_seed": "7B0C9CAC1C6FB86BE8E0634E24CF942B571EF10B5BEF56A254E269F931D741F5",
-    "metadata_key": "61B2052FB3E72679CD7AF270FEF714DD",
-    "section_mic_hmac_key": "66217CD102C260D78F693E1E5C070009ED91981060E8554C670B6101AB87D67E",
-    "section_salt": "A97D706FAD3538F852E485B8E91B9B4D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BE37D2BF26F95DA0420AB793F2FD51C3",
-    "aes_key": "94CAC64FAF0883BC5A905AB0D27402CD",
-    "data_elements": [
-      {
-        "contents": "45C8134F7E3A2B0952A12FA06074C1F55E228C",
-        "de_type": 641
-      }
-    ],
-    "encoded_section": "4D9013921E779C25C2F1969FE5EFE492EF05F49110004857A1A663E286BB45649A4E2A95E4C090020E887CA55C65C8F304D7367060AB2D4C08538F57B150310D0DDB8FE2BFD75DEE9C4E0B2D5201",
-    "identity_type": "trusted",
-    "iv": "3F059AB52F8DC52A14C635AAB44A7A58",
-    "key_seed": "DF5565B416A2E7AB41E62C7E2DF6857DF2E35D5EDC4AD2A070E168287A20836A",
-    "metadata_key": "073410FCAA7FABF86F28C9921B05AD72",
-    "section_mic_hmac_key": "A93B302F32C8F81FCEA9AF1011CD9F657B33BE4090CC7F351E0AEC32BF3C4EB5",
-    "section_salt": "4857A1A663E286BB45649A4E2A95E4C0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "771F89E3B46AC6611C69451AD4EDFC64",
-    "aes_key": "F915BE6D3B134480D0A5D7455D4BFE4B",
-    "data_elements": [
-      {
-        "contents": "EFA11DE2127527F334FE8B3458C817A05EC0A227",
-        "de_type": 784
-      },
-      {
-        "contents": "9C33AA668F95CC399ECE329BFDEEDAE8CD1599BFEC83C51738",
-        "de_type": 704
-      }
-    ],
-    "encoded_section": "6A9013B37D84C2D193043679822C766E68B552911000C913144F7DAFC50ABA66049304D883B3900169CD7BC8EC1BF46A0A81358228CA475A03C7730C36BCF2A69161E8AFFF092DDEA4A8B97783C80CB47CA5E777C43A6C840FCB619B23919CFD33FE5DA1EE4CE37F03875A",
-    "identity_type": "private",
-    "iv": "8ECB870D9F4F3DF7E0F61B0F37FAA178",
-    "key_seed": "8A62A2DECFA4345C616E196C18739C2ED2DBEFCF45BFCD3A68D4BBD673ABC400",
-    "metadata_key": "30BBDD7957FFE92AD9AC8F4D638186FE",
-    "section_mic_hmac_key": "57A0D17FD7D3C257222D2862C4EDA3EF89D525634689B41442D4F408940A76DB",
-    "section_salt": "C913144F7DAFC50ABA66049304D883B3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E862AAC7000736B663C508376E8BD3ED",
-    "aes_key": "26BB6FAB1BF2E0042949DB8877820B26",
-    "data_elements": [
-      {
-        "contents": "402462632AADDD04C6419557",
-        "de_type": 818
-      },
-      {
-        "contents": "9E6730409FF8",
-        "de_type": 605
-      },
-      {
-        "contents": "F47F7D404EA0D495FF62A49520",
-        "de_type": 873
-      },
-      {
-        "contents": "287092DE18F81EA128A63774FA885821AE34DF",
-        "de_type": 903
-      }
-    ],
-    "encoded_section": "75901340D2D16C893F60F75377B5BC6D7C15799110008CAF5A78B1E6790F346DB14AFC187FC190028FDC753F6FDF59AB4C30DA74B57848A69A5DA9DD03C4F8069D71CCE6307E698277D98C7C83A4DD5E162C542D51E763C65B88B7F9082AA40B37D55BF387851F2EF0C0124D81C610962905D4022114",
-    "identity_type": "trusted",
-    "iv": "3E1E75C62AA622FD5D532FA03221A5E8",
-    "key_seed": "89112D0AB38C09870723291EB34F41CC1276649D22EC916559C37E5ADA6BC495",
-    "metadata_key": "742683BB2FE3A781C335B64655BDE1F7",
-    "section_mic_hmac_key": "F1FF987DEF82976AE3323B0794E8B55DAF78097FAEC13971E2DC110033ED4B06",
-    "section_salt": "8CAF5A78B1E6790F346DB14AFC187FC1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8E2730566E4C094460D3430F556F601C",
-    "aes_key": "DD80F41866B5C2305F7EDB83DDB2314F",
-    "data_elements": [],
-    "encoded_section": "3790135D8F74283C3477E5A48A53983576A3789110005962F214FD66C62FAFD7ADB0449C91D9900101D4C5113DD0A160D67C7694A365EA98",
-    "identity_type": "private",
-    "iv": "BF345DAE8603A50EBA6E1F53D639EBA4",
-    "key_seed": "7EDDBBCA0C3D3E70E8A1AE0D1537F660F8E17DD7AC70E2B12AD710AD270C7499",
-    "metadata_key": "49E7FD99EA8806E02F7D9266C51E58AE",
-    "section_mic_hmac_key": "FB24F853F734086D0360DE9B5036D6C9262BB446F78E3E8594351A966A95FAC5",
-    "section_salt": "5962F214FD66C62FAFD7ADB0449C91D9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B07E55E2700925068EDB49793A5FBC2E",
-    "aes_key": "00FA5878B9B5C9C67B6B78EA6F7C987E",
-    "data_elements": [
-      {
-        "contents": "E23741BC5357278D7F1FAF6FD06F",
-        "de_type": 381
-      }
-    ],
-    "encoded_section": "4890135E703F79C8BBCC5412BB7F51D7C65ED7911000123652CC63D81642784356825AEFA5149002B8471E8B3673496EA7D67B901D2A0DF2607B9AF1C329F0F716E0D127A22EB3143F",
-    "identity_type": "trusted",
-    "iv": "1D38B3322CD6A4B1E5DD0626D6B3F4D5",
-    "key_seed": "C0F3DDCA80EB2A1A1BF349A2CB48E9EDA04153DAA1DADD20C760C5C4E712D1D2",
-    "metadata_key": "657257C54ED238136FB1CD0F38189EA6",
-    "section_mic_hmac_key": "83CE2AA9DE2D247CF7DDD33519F40F49C6672DD7B68C321153C59501E7527226",
-    "section_salt": "123652CC63D81642784356825AEFA514"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F0B2624C966B5ABB55D185559CC05BEE",
-    "aes_key": "B0CC1C99F199D7B0DFA6A8818D97E3AF",
-    "data_elements": [
-      {
-        "contents": "F8E673AE46653F33686B67CF9641406F176FD36E",
-        "de_type": 534
-      }
-    ],
-    "encoded_section": "4E9013B619CC5D111EE3DD731057171A8E147C9110003777191AEC924C44BDB4A82B1B8CF55990044D4549D7A1B2AB4EB43666D6E04C1AB21F3053ACA9C3C8A8EF4F34DCD75AE8E3443C0BCE6FDE25",
-    "identity_type": "provisioned",
-    "iv": "9CAB7FD16B0FBDA87A216F5BC3C64D84",
-    "key_seed": "D389626DA719AB4CF557F675341E1E959782CC0A975BABAEA6E7B6F106105786",
-    "metadata_key": "CEC5D039323AB0A6EFC0871786DD4B9D",
-    "section_mic_hmac_key": "B2FA1282A7DD0C829E6BEA74AD23B119DA99F144359027FAAAD3BEB2E12AA1E4",
-    "section_salt": "3777191AEC924C44BDB4A82B1B8CF559"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D709C7EFFF43F8B5F50357511634199F",
-    "aes_key": "D9BDAB1A62CD59915C6D87AFD81DCC66",
-    "data_elements": [
-      {
-        "contents": "FB75717581E26ADACE888FC7B65251F8ABAC3C40613A",
-        "de_type": 775
-      },
-      {
-        "contents": "1764F1",
-        "de_type": 536
-      },
-      {
-        "contents": "30EC19D6A92E42606B66FA4436A8BF35786D",
-        "de_type": 154
-      },
-      {
-        "contents": "491A5D8D776B0370",
-        "de_type": 563
-      },
-      {
-        "contents": "1A2C2252D95ECF1233A5A83D20CE56501E741FD8A3A1",
-        "de_type": 74
-      }
-    ],
-    "encoded_section": "8E9013E6FA247F24A139082788D9F9137009EC911000F52EC2909102AA8CD7731AFB755087CF9002A6FA67CF1B1D109A5BF9A45AA25FF44E68CFA66213A90B891313055BAA791C98EA2450AD923CB7A039FB8DF6A1D6F99F7023386BFCE77936BE122B9D9DB17353689C19177F07D850BF2697B3FDF09D4A3C0A4EAEB24D9E147AD481667EDE2C323CE7607A3E31D3",
-    "identity_type": "trusted",
-    "iv": "1326B2D61CDFE279821BA574CD22D395",
-    "key_seed": "E23E916F47CA7077773636B248F20DCC8B3570F5B7035886BCBD4A4C6983225B",
-    "metadata_key": "51C25C132D519D0B8A3D62697731A46C",
-    "section_mic_hmac_key": "AF5C6E5D054F422A1958AF447AA500C6695FBB24A28A30F1AD85898A960C5D6B",
-    "section_salt": "F52EC2909102AA8CD7731AFB755087CF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A90C5F9A4D5EE8C0F093DA60D34E4F7A",
-    "aes_key": "5BBDF9E43276717F469C46331CCDBDF2",
-    "data_elements": [],
-    "encoded_section": "3790131EDB1EE9AAB1D9913865783E4ADD8EA891100068D0833BCDA158BBC5B7486992DFD73190010C8E5201A178300C0997D19C63660359",
-    "identity_type": "private",
-    "iv": "D037D4F2047D995CBB869FE4C0AFB002",
-    "key_seed": "2222133F9A08B0B6DF5DE67AA09B19BBF3279767D9E924533FE77A3E681870D5",
-    "metadata_key": "3527338EBB73E631F165D4334A5845AD",
-    "section_mic_hmac_key": "A4C47342B039235D55E3BFA54E273BD3C250C2B3A9B8C60F846450FDC55D6C2F",
-    "section_salt": "68D0833BCDA158BBC5B7486992DFD731"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B01C0A512EF90678274BFCFEB65B9BFB",
-    "aes_key": "FB0A68F0FAACC559B8B7CE60692B5578",
-    "data_elements": [
-      {
-        "contents": "D1BD",
-        "de_type": 244
-      }
-    ],
-    "encoded_section": "3C9013E9A1064EF69CF0E99BE8718C433CE4039110009532E764C5200635AD10A03DC30287399002DACB0D8438EFED4CD36A27C1AEFDFB48627927EC4E",
-    "identity_type": "trusted",
-    "iv": "36F33FE9F30FF5F345261E94AD27670C",
-    "key_seed": "A95137212D3A3C03BD4A78822E2F55955D833BA2AE8454DA2EDF749F06DD0E19",
-    "metadata_key": "98C80C93560E9287602B9DC167933921",
-    "section_mic_hmac_key": "1E0A6D7D2E12C5E918490B41A8D0B2F1AF8CDDFCF7D968F507BD84B5028B34C2",
-    "section_salt": "9532E764C5200635AD10A03DC3028739"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6EEAB27FB59D9E6CC29C4A77DDA80073",
-    "aes_key": "E272F73E7FF2C352CB16961A117DA4B8",
-    "data_elements": [
-      {
-        "contents": "AC9F54867C2D3A343EE15B46BB21",
-        "de_type": 920
-      },
-      {
-        "contents": "B21F47CC9AE7F415AC85AD33E360",
-        "de_type": 3
-      },
-      {
-        "contents": "A4F7ECCEF25FCBB7DF7C",
-        "de_type": 251
-      },
-      {
-        "contents": "4AD51198F063055EE851A62002E4150C537144FB5C1D1A",
-        "de_type": 918
-      },
-      {
-        "contents": "6B78A9AABA9F",
-        "de_type": 742
-      }
-    ],
-    "encoded_section": "889013985769BEEFB87EFAEFD9016724CB70209110007285FAB75391A148A7EAF2CDB3E7312390015929069EC6D45F3249513153B9AE3CF8BBC891ABC84001532CC0BE7F9068D906C3FA96D915DEF7F6CCE423D22F23F98B6F62CEE6A6206265707AA7C191231B94222884B904BEDC7269016B982B57BCAC107CC419EA378A2FABAB9A9AF413DFFAA8",
-    "identity_type": "private",
-    "iv": "2D1CFBB0145D7E9FE2E12C8E060834A8",
-    "key_seed": "2E8DB347C722FE8FC819707AC6B1D9F1244D91CD7B7A76E35E379F17DF92018D",
-    "metadata_key": "90B7D0F0D7AD2041C06A6F07D4C12DC2",
-    "section_mic_hmac_key": "903E4F3ED660355AD0FDC44DCD556A5A325BA002E430C9015D43495EA3ACFA24",
-    "section_salt": "7285FAB75391A148A7EAF2CDB3E73123"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0B34E362BE1CCA7EA27E689A78185921",
-    "aes_key": "0B25B59E48937801A1B8B2E567E38A58",
-    "data_elements": [
-      {
-        "contents": "3AFF6623B18BF5A2FCAD751E561111AABB6A6BB5F6F33E5D",
-        "de_type": 901
-      },
-      {
-        "contents": "7E6522479D7F",
-        "de_type": 337
-      },
-      {
-        "contents": "A1DA1D6D618A",
-        "de_type": 221
-      },
-      {
-        "contents": "EE348B17E8A41816E716",
-        "de_type": 18
-      },
-      {
-        "contents": "F96BBF72D4138318",
-        "de_type": 639
-      }
-    ],
-    "encoded_section": "7B9013F45B179A1FF35CAAE790906F2B6B039691100014D27591E7A5B662518B0D93211411239002FE9D30D12DAB1418665668DA1CB7F5EC4DAA9CF88CA252CBEAB6D02BBF81945CB5FDB217EC422556D09938E338C8438632BBEE86118F54D7FDA189CE7060AFF1E279D7FC726EB59F1D74CEE318348F248B0A9D77",
-    "identity_type": "trusted",
-    "iv": "41224E5FEA506EA36F51CE022F3ABB1A",
-    "key_seed": "8CEDB96BA8CB14FF94B7C7A3A37A3864C597406E194D69FCF5A871FEAA16CECB",
-    "metadata_key": "08E48EDD4E12AFF47F8AAF55C517C8FA",
-    "section_mic_hmac_key": "2463AF9C4F677BD099151DF4759A4F3632D51F1C41BC96E97EB4476658F3D6B0",
-    "section_salt": "14D27591E7A5B662518B0D9321141123"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A904E6EDDC39B1F3213F1D74FAEBE57B",
-    "aes_key": "AE2236A355CAAAE9D7044AF1B9FE08B4",
-    "data_elements": [],
-    "encoded_section": "37901350FA595EF5F19AA58600FA8356264FC19110007A69E35A44477408600F40C1EA6020F990019BA326E5C0DC4D3DA39BE3EABA175E37",
-    "identity_type": "private",
-    "iv": "05CA9ACE5528AF680023C92BACAEE8D8",
-    "key_seed": "5038A07C7783575EC758DBFA22B5B0C961C9C7BACE1AB44549C547DA05167B2A",
-    "metadata_key": "39CEC4870B31445FF870008CBB598309",
-    "section_mic_hmac_key": "00277572EF8546C2B9D70D0E7D668FD59FEA252347333A76B0FD6A353830BD03",
-    "section_salt": "7A69E35A44477408600F40C1EA6020F9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0E75F1D12F3EF90599341DDCC4E6CAF0",
-    "aes_key": "C63FD8AF5CF7A9B46934298ABBC00693",
-    "data_elements": [
-      {
-        "contents": "E10020BD5E92D8B6D3ADDC0232197F7AD8EA8B10F82DB6",
-        "de_type": 94
-      },
-      {
-        "contents": "9B56332DD723E56CA51F89D5FD126FD40BF6953679",
-        "de_type": 255
-      }
-    ],
-    "encoded_section": "6890138541962B9DAD2E109AA523E949E8D3B5911000C939914DDC703A7FBC857AFA6C1A94369002AFB0809D9C92645644E0A2276F90707E45256A92643432D9288702769AEF6AC4D0C778159A5B4AA0531C612940DE6D832F64DCF9A6EC457C76D3CF42FB5ACFB3B7",
-    "identity_type": "trusted",
-    "iv": "864721546276C7A96CC880DBF5B8DC7B",
-    "key_seed": "9D096BB52548302F9A0F8C6D2DDF1601F2E96F799FE76187DFE2138E7A3FBE4A",
-    "metadata_key": "81C35203EFCFCBE083726B15AC9DC275",
-    "section_mic_hmac_key": "6CA85DEF3BE730365475A93E71330031A6DBD9E48E04BB295FDA5321F496D8D4",
-    "section_salt": "C939914DDC703A7FBC857AFA6C1A9436"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D007D878C6FFFACE78778BC06B98E8D5",
-    "aes_key": "8C1265F1ABAC004CA2D681256B5C502F",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 734
-      }
-    ],
-    "encoded_section": "3A90136B53F00BC73427570D56B25245E31E709110003F1EA18FEF5037CCF30402C46130A70F9002E563FA84C94D3ADEC61DCE418FA76320E5BAAB",
-    "identity_type": "trusted",
-    "iv": "C892BFED70D002EBDCA25750710BFE76",
-    "key_seed": "C4915C71ACA0B455710629B063B5D9286E2CED111FA1C9D638C7069DA933F2D5",
-    "metadata_key": "B44812E7A415896300387540FA9C4DE8",
-    "section_mic_hmac_key": "CF8E967F00EBC62D8729A9A1C4AAFA3288EAE5ED966B12953837CE736FCEF820",
-    "section_salt": "3F1EA18FEF5037CCF30402C46130A70F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4C0A0A8717305E60D1E1F4EDACB40F1",
-    "aes_key": "B64935A371108F799E67FD260F6FBC97",
-    "data_elements": [
-      {
-        "contents": "BC6B8FC4A146298C2C7C4C04B0BCA9",
-        "de_type": 256
-      },
-      {
-        "contents": "A3C4D6D6",
-        "de_type": 148
-      },
-      {
-        "contents": "82ACEC78D07CA4CC55D05CA5455FE192",
-        "de_type": 755
-      }
-    ],
-    "encoded_section": "639013159D08B00F5A835AB8977FAC857298BF9110009B3429DD955B53030DE7A0949F8051C590019BEDC8B153588FB31C3D7C0B8EB3B0876208647BE21E2AFCC19CC883A03E5A42636CE85778E8D0D7ECAC63B1E5AD97B095EB538ED53C0F20E31A7B5C",
-    "identity_type": "private",
-    "iv": "CBC6CAD2BE51F64BAC34C059A1CDBA3D",
-    "key_seed": "1B755890B9282E3D75A62CF30D8B507C526AC4D69A87DB688EE1ADE45E6FE64C",
-    "metadata_key": "F1C7FA9D59151B942260D9095ACB804D",
-    "section_mic_hmac_key": "8B88E568964992FFEA8B172CEC92CF35A09C17DA53E3B6A4178F30C69E30AC94",
-    "section_salt": "9B3429DD955B53030DE7A0949F8051C5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "46D9D063223E48E1437D30D40B5753F8",
-    "aes_key": "F648B73CE969976B039A16A28433F333",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 181
-      },
-      {
-        "contents": "4E76A9FE722A",
-        "de_type": 265
-      },
-      {
-        "contents": "8CC7337D6BB03B7659C537AF883BA4CB5A6831CFC821ED8F",
-        "de_type": 571
-      },
-      {
-        "contents": "61137B10A9EB95EC8B9988C92C8AE58084962EA4EB8A0DD54F4E28AF82",
-        "de_type": 963
-      },
-      {
-        "contents": "F90154329E618F408A44",
-        "de_type": 319
-      }
-    ],
-    "encoded_section": "8B901349AA55BEBA93CB2C7A54840B9FBB35CF911000FDB1B9359452E3E2CEAC0DD0CDD50EFC9004984C75297EBDC0AF9A194C52F8B51C4E091EFBBE21423579FDD7E020426A58EFE96C0B50D4FDE6835CF20CEBAC6A24718A4423E3420765508987C19C056C8E56231261FE9537C604057D374C7F21B3C7EF84FECD99476B2ED180E4B2E60C0D066F71808D",
-    "identity_type": "provisioned",
-    "iv": "B52F5E947B987B2B1BFDA86CFBAEB325",
-    "key_seed": "71264001CD0F41F3851E55A3694A78A3503C5E9FE5A0B3B3B7AB8D502E49E667",
-    "metadata_key": "85510A6F5299C7CEB851856A36EC426D",
-    "section_mic_hmac_key": "194A3B0426B099DD77F0381EA83D71887298EF577A42D30518B18C7A34B51A07",
-    "section_salt": "FDB1B9359452E3E2CEAC0DD0CDD50EFC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E0858ABAACE0527B975B26851C8292C8",
-    "aes_key": "CDF94C859322D6AA6A30EFE4D2038652",
-    "data_elements": [],
-    "encoded_section": "3790138224408F0C54B5D42BEE2FC498F3011D911000DB852F256100992EE97EF0F6F931193B90049FD1BC537CFC7F362C6398CE8C7746C0",
-    "identity_type": "provisioned",
-    "iv": "D19FDC0000D6D76E0CE605C96FE3ED88",
-    "key_seed": "A67946C15E4AEFCAEA932BE2B26CA22A3631CAF3963BF24BDB7A839CBC4215B1",
-    "metadata_key": "034314A9C047377E60A04D4D6D24B67E",
-    "section_mic_hmac_key": "D37426DEC6209A1AED271135308F665981D7DE9C2250A7982A68FD129FBC597F",
-    "section_salt": "DB852F256100992EE97EF0F6F931193B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E5D850A6B98731806DD70FE80D14C57F",
-    "aes_key": "45F17F2A11C37D39EA2E14EB6F2CE1B2",
-    "data_elements": [],
-    "encoded_section": "37901322ACBF267B3AC6BBD623E29E4C3CA73A9110003B6349B2E28BFC8EAD832D04EE1D41C6900495D0821E110F23240CF70BDC718DC1E0",
-    "identity_type": "provisioned",
-    "iv": "8A38DECA4DE45018DF71E0F5613FE0B5",
-    "key_seed": "FF31FA9C59DF8135328628787FA48637CD6AF39EF0787506983782D7E32BE634",
-    "metadata_key": "6C2A4E42EBE23C4D726F76B9FEEE9C18",
-    "section_mic_hmac_key": "F05B9956C3C0EF6621FDADB68DDE990EF64AEC91603107F728EC761C32FC3C17",
-    "section_salt": "3B6349B2E28BFC8EAD832D04EE1D41C6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "92BC4AC64813CE0FBCBF063580B8450D",
-    "aes_key": "46FC81523837471CC7B1132E3EAAF8F1",
-    "data_elements": [
-      {
-        "contents": "3C5DB709AF6BEF1A6DB5",
-        "de_type": 44
-      }
-    ],
-    "encoded_section": "439013E00AB739B468075FF17A2F097CA281CC9110004DAC6BD9A7A7499B7171120940ED042990018B201683ED366466ADFB2EB853E969162DA6AFAD259C2FCECB94858B",
-    "identity_type": "private",
-    "iv": "2F91E5A6914064B461D1C006ED76FA2F",
-    "key_seed": "863FB479EFCB6FB70859DFEB44427143E0D5784CDA22DEE6280D75E217720D82",
-    "metadata_key": "7A7F61C5B138A412235574D1A509D1B3",
-    "section_mic_hmac_key": "1FCF532394A9A225DF35E2544418E724EACC389FA5E033F8958EDFF1717C6D87",
-    "section_salt": "4DAC6BD9A7A7499B7171120940ED0429"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A47C02A4CFF31760341922681C976C9B",
-    "aes_key": "CCC21FB62FFFAE008ECF5BD0AA3AF62C",
-    "data_elements": [],
-    "encoded_section": "3790138F26A8BE5D75A6F6F8F6CE5ED388FE35911000FCEDAA0772047E6085B7A3DE0656591B900427E950F6D62A13D2BF10F3AE70CF99B1",
-    "identity_type": "provisioned",
-    "iv": "748F18DC41E1742BBC685E0F699A8A9C",
-    "key_seed": "43902BBA2C0D479E16711B145C936CAFDE2EA717B06E48F913861605673E4352",
-    "metadata_key": "225F23821A1821430F1518C514C45FDE",
-    "section_mic_hmac_key": "EAD438CB4DBB42665F5EBB51578C6889268CF032E82446E6DB78F538CF8D2008",
-    "section_salt": "FCEDAA0772047E6085B7A3DE0656591B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "529EA628E2445A5F44FE204E7287CB83",
-    "aes_key": "D077D4226135FE3CC4E82D9136D013D5",
-    "data_elements": [
-      {
-        "contents": "9B815B76A0BE",
-        "de_type": 794
-      },
-      {
-        "contents": "F0176B0CD2D7ADE497BD",
-        "de_type": 585
-      },
-      {
-        "contents": "FBBD3620FADB7987C5",
-        "de_type": 951
-      },
-      {
-        "contents": "6E6D2A26D45B22C48FBFBF5BA353822DB5",
-        "de_type": 689
-      },
-      {
-        "contents": "",
-        "de_type": 824
-      }
-    ],
-    "encoded_section": "709013ACD9FD3F06A15506252D036301A1D1289110007FD227289748907CC788A03478E4C4A490040BDE2788F193C43DCFE364FAD39822E9693F9A61EC2AF84BF6E409352D804375946F04F76B6C8CA105D29896668E6509C7D9A2B12345E0FCA01318A33066A052344AA55973E26EC11C",
-    "identity_type": "provisioned",
-    "iv": "21FB688EE8D48AE0204DD0FB6723BDFD",
-    "key_seed": "09BC65B83D4A9DD8E665C350AFCD428364EE0C429A26432718129B954AABF45F",
-    "metadata_key": "0A4BF92CCFBE7EE7BA20212B2C9BD9C2",
-    "section_mic_hmac_key": "2B29674CEDF3923E447AEC380E9A5971EA8858B669B79ABE829731A48A69D46F",
-    "section_salt": "7FD227289748907CC788A03478E4C4A4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "27F532D8AC32634E4CA75D32B8F21CF0",
-    "aes_key": "C286EC660EBA9F0D2EC7A6303A73DCC8",
-    "data_elements": [
-      {
-        "contents": "556D2EB5364D03B0D15BB6C2FF22",
-        "de_type": 982
-      },
-      {
-        "contents": "250D3A6C86F50DA0",
-        "de_type": 215
-      },
-      {
-        "contents": "B0D390472D2E4730981C8C9B5520",
-        "de_type": 879
-      },
-      {
-        "contents": "4BD0DDF2F7A591B4F423B8",
-        "de_type": 519
-      },
-      {
-        "contents": "2DF0B2BF2276228A5DA4C99B0E308A7F75B4288A73230B0516",
-        "de_type": 301
-      }
-    ],
-    "encoded_section": "8E9013B2FE9B4E230BDE0A6B4C680E38425A88911000AA44252B7B0597D8CAD27BB2DE2E932B90024B03F77517B8733BDD7FC4A6EFF00D0CD0E9136611DF78E7069F61888E95212A50981F152A7962DA910D35D28A87D0FF7AF72A0698459C5AB90373F3ADF7952A8565B1787C0D5FA6C2AD85E3F2C818AF0D7FCC321D29632B3FE1A9E5B0953249ACF71A5D6D6A20",
-    "identity_type": "trusted",
-    "iv": "40F91D78B10069B117960376FABD0D24",
-    "key_seed": "2FD8F442EDD094DD39EC00AA2CFB7FD0675A1BD7F7941D4F53D0CBD82753E8CB",
-    "metadata_key": "4C3D9AFFE510E1966AC131A89E1F7620",
-    "section_mic_hmac_key": "A54C280F5756F9FA52C63779EBA43987D19A7EDEFB9967AB425BADC59BF61817",
-    "section_salt": "AA44252B7B0597D8CAD27BB2DE2E932B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D4E5C889DF978118233B27AA4104654B",
-    "aes_key": "970E140CD44D7A04EFB008734CEC7010",
-    "data_elements": [
-      {
-        "contents": "85C4B76453D6E516D361CC73B263CE9D034720445802DA220ECF657A5F3E",
-        "de_type": 271
-      },
-      {
-        "contents": "E32FD49D906691",
-        "de_type": 731
-      },
-      {
-        "contents": "7B3C90A05085048B6179D21AD5A6A86A6ED4F13A5DDCAA6AE04E6B98",
-        "de_type": 768
-      },
-      {
-        "contents": "032F3243",
-        "de_type": 307
-      }
-    ],
-    "encoded_section": "889013714CDBCFDC9979F2A631D817CD6F5D81911000B686CC2DD9B1CAF68D2D40641EE8586990022E34067C0F459E6DC7270F4800ADB3332572AAF09C0F3F02D96F7B1886C9AB3337693E4FF929CA72EF3EE3CC4F5A812200784AF925FA20CCAD85A5AD7852BB76CA82B942A1A9BF7BADB315844E595BEA39AFCC17E1DBB66B6E048C605B7441F676",
-    "identity_type": "trusted",
-    "iv": "82D4C9AA85D158ECEF4066430E4CA88A",
-    "key_seed": "08D94818510EF93C263C2F1F29CF026DD9492D6A51C9A8CDA500CA1286DC8548",
-    "metadata_key": "14EC5B29C281FEB2AF4832FB60E1906A",
-    "section_mic_hmac_key": "51694A80381B233D9DAF1ADF4486927BEB090BE27033C68E4C767C3AD81FBD32",
-    "section_salt": "B686CC2DD9B1CAF68D2D40641EE85869"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8B3ACC135A6B5C8563C100BC132C3012",
-    "aes_key": "EB39B2E41C39888C378B488AE2905CEB",
-    "data_elements": [
-      {
-        "contents": "5CED8B3EE06AE3BF23221CD8516F5A320D",
-        "de_type": 306
-      },
-      {
-        "contents": "D44E64F4CCBB96259885825F",
-        "de_type": 621
-      },
-      {
-        "contents": "9993FECFD946C4409519E9A3178868E99C9C2F715A",
-        "de_type": 956
-      },
-      {
-        "contents": "D61947350812F913D6FCA86D0BE8543C399D",
-        "de_type": 641
-      }
-    ],
-    "encoded_section": "8790132D65B8942498CCEA42A0D804A1C01A6F911000D8E290276E0858486D84502DD4CA687D9002D38DF4747B01659AF237FA5A531219AE5136549DADC2B7E717B8F02BC335EE5C1F0D56EC2F477DC8E5F6BD3D376FCF4E0D9D5DCA895BC72F259F18A7F731F595156293CE9237BD2CF392B34332ED00E56695AEF9AB71DBEB9E03784760D8FDF2",
-    "identity_type": "trusted",
-    "iv": "3E60B91D4AA0323C5F01E0E597ECF1CC",
-    "key_seed": "7ABA9927D395596BAE76B09B53E3747C14DDFF26299CEC1C3D27251187E18D53",
-    "metadata_key": "01F04DC463DFCAAF77C09879E550F4DF",
-    "section_mic_hmac_key": "9CAA148E03F3E71D5E61C523CA945873AAF055D6B30AD66FE2D4D00B3701769D",
-    "section_salt": "D8E290276E0858486D84502DD4CA687D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FF3B16C4698751E68F84DE97F35A5FA0",
-    "aes_key": "3BF5EE085D208F3D6E5A6442013C725E",
-    "data_elements": [
-      {
-        "contents": "ACC85C",
-        "de_type": 664
-      },
-      {
-        "contents": "83F79F7267E22A6F772DE90F3B3AFA",
-        "de_type": 179
-      },
-      {
-        "contents": "50B49C934D255C07EDEDB85D21754295DEE043",
-        "de_type": 991
-      },
-      {
-        "contents": "9BB5F0D259BDFA70B9",
-        "de_type": 118
-      }
-    ],
-    "encoded_section": "709013B5B1766D569DF4A453ACE83B0F38E916911000E37D1545FE3474350536BBFDA3FF986790028E3033EFFCDD3FF351F65DF657B9E78DC235D1597CFA8775D2CA4C2F8B6BB104CD9EFF986A2448B871BFEC865668788447245F0AC1B6E24C869C93D25DEFD64D3935B781AEB3D6A8AE",
-    "identity_type": "trusted",
-    "iv": "F2878B2027076B2D71D6F9871A2F0D03",
-    "key_seed": "A7548D59575A8ADF65ED6E5C2B91BDAF3E49F4420BCEA25A47F2DFFA66A6FB40",
-    "metadata_key": "A7689FBC874B5252F84B652A6C801ACC",
-    "section_mic_hmac_key": "1B247C85EAEB89FAE3D9A6F57B342AA2EF11A3D31F99B92B2BEDC33F25E24365",
-    "section_salt": "E37D1545FE3474350536BBFDA3FF9867"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "376B1E2353FDBBEE04421E92268F2137",
-    "aes_key": "B99788E0D39B29BCD2CB9914602DB519",
-    "data_elements": [
-      {
-        "contents": "9DEF31274C87EAF90C3BE1E286CA6ECE487A9592AAA5",
-        "de_type": 832
-      }
-    ],
-    "encoded_section": "509013D0FE03AA8832621507D192A7A032A6AA911000B672CC780DFC5CA8872ED98841695B5190014330021041DAE80CAF03A0921B48EE4DAE14F5A1D5B70B181E47B17DDE48F9E7EE753FB7461464C071",
-    "identity_type": "private",
-    "iv": "8A479EBF518ABDD0F8B6E2DD6E6C3DFE",
-    "key_seed": "038F101C0818A96A4697FCD0C04F83A5E8B305D020C2B1EBD9EF9F2DD47A3A68",
-    "metadata_key": "74BB45EF94F7CB36DA9A6E8922F968BA",
-    "section_mic_hmac_key": "DE187BC6A18B7BEEB0F080D19CAE3A966B04B11F2DE3E0B3A4839B4DAF642BF9",
-    "section_salt": "B672CC780DFC5CA8872ED98841695B51"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4A68B75255C47966CFD09D3E6F4D0F00",
-    "aes_key": "F40B55E81D5218A9C153B4A518EF7965",
-    "data_elements": [
-      {
-        "contents": "1206302B0C2DA5BEF95E297A1002C931B1A561AC0FEF82E59232",
-        "de_type": 975
-      },
-      {
-        "contents": "4C7B43DDC3DCEDFBDBD82A0E",
-        "de_type": 106
-      }
-    ],
-    "encoded_section": "62901370EF584FCB26A18F3353C63B2C6E550A9110002346BA971CCC84FDB572925FDD8415EA9001C180B71BDFB6D03797769B28831D787CC1E34B3D68475BE6BD52BD446FC1F98D46CE95A4E95D6675F751158AA2F32E80E31EBBCC9849E1B38B61CE",
-    "identity_type": "private",
-    "iv": "3C79194828BD1CAB4830FA2EDAE139B5",
-    "key_seed": "E702E9695C5F7A8FB6B07D8826DAB5E93DF485453C1D47729736C247BB5B1989",
-    "metadata_key": "9496D7B7F81FEB95A795BF7D0094DD22",
-    "section_mic_hmac_key": "ED70B19FD1BBC280589C9760473339DE84CAAABD844B7E5B6F373B4F2DFEA1B8",
-    "section_salt": "2346BA971CCC84FDB572925FDD8415EA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A7DC2F6205111E24BC5D3E96A4036E2D",
-    "aes_key": "948FB743319951D6EF15792E57C44CD0",
-    "data_elements": [
-      {
-        "contents": "17FF183A55CFC3D6F761A4319DE5D307A3BEBB8337945B",
-        "de_type": 437
-      },
-      {
-        "contents": "14FE4641B1B15E",
-        "de_type": 850
-      },
-      {
-        "contents": "309BBBC5FD371BD50A09BF5C1935638EBBA64CED26",
-        "de_type": 578
-      },
-      {
-        "contents": "82FA4B93D7E9E8E48C452C3765F30212C5D0CE308E",
-        "de_type": 986
-      }
-    ],
-    "encoded_section": "8B9013531B7DDA6851D5A468CF7BA6FCC96AF19110009595A85248F0E068EEBDBFFC4A67064D9004A0AD96175DB820F281BCA29136E3FA64A1E0599AE13172AB44649AAC952DCA3FE132D516C5735C86E2AF6D741A69D75D3362D18D9C9CF9218ABDB944A24C8DAF25648A3C76334BF4668F17C1A693891BB74CFCB98A0E6F3E4F7B5E7F63ADFD626CA50BAE",
-    "identity_type": "provisioned",
-    "iv": "2C85C7E9AD55CD74962F7494F73F381B",
-    "key_seed": "7C486876D239CE8820A1F0B2DB610DB41CA61A7AE8B6BEEB0C908624D6F8C73C",
-    "metadata_key": "4C62329C44D38B35F5A124CDB6DDB4ED",
-    "section_mic_hmac_key": "A147DDB86022B7B38A5A0EF46FD8A5A3AA8EF58F1A3B29D67692E8DB21CDCDA1",
-    "section_salt": "9595A85248F0E068EEBDBFFC4A67064D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7AC5CB315FF73D315B9D7BA673EBBA60",
-    "aes_key": "506C8FB709BD805F07907F3CADA63A4D",
-    "data_elements": [
-      {
-        "contents": "2FF3236ED0BE30DBA2EFF7B322460D50CBA1CEA89A73D48E002122",
-        "de_type": 189
-      },
-      {
-        "contents": "29325485",
-        "de_type": 667
-      },
-      {
-        "contents": "BE1D11D85F08DC5096CB2C",
-        "de_type": 755
-      },
-      {
-        "contents": "E5A8D258FA69",
-        "de_type": 265
-      },
-      {
-        "contents": "54E1452EF7918625F1C2066886",
-        "de_type": 395
-      }
-    ],
-    "encoded_section": "839013313C5AB1D44BB73DB9DCE0A44381CA5F9110007CAAF0C331734518BAD5BC0AE39D6EA690024326AFCA074771D3B7122DDEAD650CC13735E349EE776FCBFE42C28D8AF0B04F72F453412F9ED8F79D05387362CCEB5893D18016C30315C51493E7A4DA3F0AED6B48B92F3A1CA3A7F3EC8508E26C18B1DF167AF4220A79383D06C697",
-    "identity_type": "trusted",
-    "iv": "38F542B60DDCF1889C98F636AED0DB70",
-    "key_seed": "AE9FA4DBE8FE02012923C404592B04CB6645B07CBC053BBC849BC860169B968A",
-    "metadata_key": "52EAB1D56E20ACE3BFA4998ECD77E75E",
-    "section_mic_hmac_key": "0F5609DDE1DE5F239BD1F96B1441DE52BC2D5ACD27064FA3007C0652064124FA",
-    "section_salt": "7CAAF0C331734518BAD5BC0AE39D6EA6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1371D42BB56CC9589A4E711E94003CF1",
-    "aes_key": "F89B50E8D592AF6598CFFDD4631B98F7",
-    "data_elements": [
-      {
-        "contents": "BD965E4D7FE3BE0983",
-        "de_type": 915
-      },
-      {
-        "contents": "71317D36EEBF7AA7C774",
-        "de_type": 130
-      }
-    ],
-    "encoded_section": "5090134DE55CD88FD6657759CA777FE2A6A5389110006380196708715DC7A15514FCF0C680BA90043BE3270FC1B56DC645FB6F2FE08340A78A7AEE99B6E701C28398BF90CF6A234F664F39263F0B1C12B8",
-    "identity_type": "provisioned",
-    "iv": "6D5FF6F65CCD1AD3CE0E402B14996B5D",
-    "key_seed": "2A965EA9FE93E8AD29738534A581AE4063AE843A84FA26BF5AC4DE9EDE3CD9FB",
-    "metadata_key": "2F754F4C60734B33C40721F3E3F65157",
-    "section_mic_hmac_key": "53F2A6DFD7AEEFDE014E55D7BF8840E5D7A573029BD9BC789F4AF5D83A0FE4FC",
-    "section_salt": "6380196708715DC7A15514FCF0C680BA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5852F713F32A45F394D6CF1503681E71",
-    "aes_key": "53579F776F4D91AE48BAA741D51273CC",
-    "data_elements": [
-      {
-        "contents": "264965713C4FF4C23F6058",
-        "de_type": 957
-      }
-    ],
-    "encoded_section": "459013250493378F298B2F0FD41D3F26496997911000E097C08787305AFFF05C26120584ADCC9001FCBDE7AD1AD06682B2B4E0E9BFBA96CF731B887DF56996A8D3F184BDC5B2",
-    "identity_type": "private",
-    "iv": "586BF8EBA8BFC91CF524513850FA6CB7",
-    "key_seed": "C1DC5EEA6320D89745E956A59829A9F12BFBB0E84D5702D4323A073153A402D0",
-    "metadata_key": "CABC965DC85DE1CC03766E3C3AD89955",
-    "section_mic_hmac_key": "E5BBD68BC259259BD8D7456D0028F4F9ADE138BD9ECBF8B08121095E5385A104",
-    "section_salt": "E097C08787305AFFF05C26120584ADCC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B6AFC51F6469A1134FC9F3B79C63B648",
-    "aes_key": "0AEFE23D6E06401C54B9EDFD128EB043",
-    "data_elements": [
-      {
-        "contents": "E592EE15CC4A379D37A1336E8AEA",
-        "de_type": 177
-      },
-      {
-        "contents": "16A5D19E7D776BB328AAA2",
-        "de_type": 167
-      },
-      {
-        "contents": "7667074E7BAC9ED1071F6D802D",
-        "de_type": 32
-      },
-      {
-        "contents": "6422E8",
-        "de_type": 397
-      }
-    ],
-    "encoded_section": "6B90131C4A85CB414A096694AE91D2F80F642B911000B029880034337B48522C5743B764F6379002C54B4FDA4EE62DED8E3CEDE200278112467A6BC315CE1394D3305D6AD8389019B042E52B123A729F5FE8AB7D12E16D97D997E926B5B77E72E744C28708F78FD46C9DA7C1",
-    "identity_type": "trusted",
-    "iv": "00CAEF5FD9AC22C1D4D849A1F8405E97",
-    "key_seed": "CAA6234004DDC5868F8754AF727A16EB9CE58007EA363B77ACFA131DA8B8DE64",
-    "metadata_key": "E0EB0DCE07B9F33812599159F0966193",
-    "section_mic_hmac_key": "72A1D922D6D948622CE8A79C84EB61176C5A4624E5879BCE31312C46B7A124A0",
-    "section_salt": "B029880034337B48522C5743B764F637"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FAD0410EFA60449825FFC8516A0FB3B5",
-    "aes_key": "3A65582FCAFB3BDAD34815AAB02C6A0F",
-    "data_elements": [
-      {
-        "contents": "F1E69503995E087568407D6D4A43E62530AAE4D1F234446F",
-        "de_type": 395
-      },
-      {
-        "contents": "D324E4CA9472C8AB06D88FE419426C232D883A67CBAF486BC6C3",
-        "de_type": 260
-      },
-      {
-        "contents": "BEB0E1",
-        "de_type": 153
-      }
-    ],
-    "encoded_section": "759013EA5DB79A4B63F265C79FAE27A1E26D32911000FB31E0B50B916E1F3ECDE7E827BF50E29001F006CF03659E34A07A5AAC66EB68D19ABD36C2B2B95105487E089604722037191C1B864033FEAE9E902C9085A4DAA25167B29E6158B30DF8E0FFEA9F8AC5523813593B4EB612BA146E7FC0020902",
-    "identity_type": "private",
-    "iv": "B9B5A13C98A85049E31086ED7F63A8BD",
-    "key_seed": "5ACDFEBC110EFEAA985EDC3499B192C4C63780076D69CA3453E33AA31B1FD782",
-    "metadata_key": "415BB381B6F26519F4A8C16B3A2B2E38",
-    "section_mic_hmac_key": "617D53C2A4797B14451D556CA739B28CDC74C11599BCA1AA0CC5137AE1E06D64",
-    "section_salt": "FB31E0B50B916E1F3ECDE7E827BF50E2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A0672D9DBDAC66877E4CADA6575E629E",
-    "aes_key": "FE14C2D672CD9D635AA444035A977DCD",
-    "data_elements": [
-      {
-        "contents": "370473F9E9A4CD",
-        "de_type": 331
-      },
-      {
-        "contents": "1091627363EA5D",
-        "de_type": 599
-      },
-      {
-        "contents": "26D956645FD5C2BB41",
-        "de_type": 831
-      },
-      {
-        "contents": "725282C70B7EFAFA41DCFB83486789",
-        "de_type": 703
-      },
-      {
-        "contents": "A6FCE9D3F92AFF803A2EAEC9ED854C84DBD836C2E53DAFF2FBF42EF9",
-        "de_type": 208
-      }
-    ],
-    "encoded_section": "889013DE18750F74B8F143F9531EC602C6F8D3911000DE2483B00AB55A180FF1F9B1F841FD2F9001155420E62FB73633F34D463D6FB6BE6C43CDB46D66BCE9BED579D8C8AF270939D8CD5B758458BB6BF168DD2189A818A421C46177C681B3AEB51971C7EAF979D286C5AEE7C5C8B9F4B2A024629B0481555FB6B91D72136640AA6259C98B6A161869",
-    "identity_type": "private",
-    "iv": "7FC34F901F1CA946F025BEE913D80805",
-    "key_seed": "0E323E4FA86CFC101E020EC3794DC949AB5583CC705081F7EF17098750114567",
-    "metadata_key": "F6DD9E9867B8367443C7454962722B5A",
-    "section_mic_hmac_key": "8B0D6438887EE9AEA8B4AA0C8A3B51348696F8D714ACFC329ADCCAA94D3FA90A",
-    "section_salt": "DE2483B00AB55A180FF1F9B1F841FD2F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "96F1F913702F12AE480B7EAB21F2E29F",
-    "aes_key": "7286CA7480D60CCE64380194BBB16219",
-    "data_elements": [
-      {
-        "contents": "2D8051",
-        "de_type": 395
-      }
-    ],
-    "encoded_section": "3D9013A36724A659838BA6715EC43B10B6018D9110004A50460AFDA8F4151FA5F0D09AB9D3119004351C5DAC336A78804914EABF3048100B413604ED1804",
-    "identity_type": "provisioned",
-    "iv": "9FD8B714A92F6DF61BD8313AE3F7A49A",
-    "key_seed": "3A032816A0CB8C6047394D942A569235A698EF81EECCDA4CE2EA03319FD31EF7",
-    "metadata_key": "DCFEE171874E4F3F44CE3F4C25284136",
-    "section_mic_hmac_key": "4F27828BA59BEBB1BC8D5491A8DABF3B0695E48243CEAC341E6B466FFB1E45BC",
-    "section_salt": "4A50460AFDA8F4151FA5F0D09AB9D311"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49C3EE4484207ADDF24542801C4A8BE1",
-    "aes_key": "CB1A44E35190A0A40391E9AC0352CF0D",
-    "data_elements": [
-      {
-        "contents": "D13E6A67AF69CD4831EA837B4EED38",
-        "de_type": 118
-      },
-      {
-        "contents": "6CBA9A5D81EE86",
-        "de_type": 576
-      },
-      {
-        "contents": "91806A710A3CB7C48C7F9B",
-        "de_type": 141
-      }
-    ],
-    "encoded_section": "609013306C20AA4B9DAC542AE193249ED0B4F0911000EFE9FADED32A35322200ECAC8AA2881A90029272DBBD9AAC8A12D6F6004F781D1F4D52EA2D558745FB470410EBBD4C176D934B79E574A2E302C32B6AC058CFC3C4A97099EE579974607E94",
-    "identity_type": "trusted",
-    "iv": "8B897A7D823EAC1B4DCE4088B1239438",
-    "key_seed": "97C8CEE0EB78ADDA0E9ED93B32D7578C1C79FD019B59C4FFC93C243608CE3FDA",
-    "metadata_key": "07C3B3BE5A728497F903AC14CEB46CAD",
-    "section_mic_hmac_key": "8D485452833BE483BCCCFD8AC29D62E88798A74B7B0211930CEF86928D20D8E0",
-    "section_salt": "EFE9FADED32A35322200ECAC8AA2881A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "29332896433E0267F1BEC7C68F39BD0E",
-    "aes_key": "52F52B3912CC1D4375D4C7CC363A06C8",
-    "data_elements": [
-      {
-        "contents": "E71F91C189472E376B422A2BBCE9CBF608F93D7480",
-        "de_type": 480
-      },
-      {
-        "contents": "147B9B4DCB0E6D249DE2C41A2AAF577F6EAB2662D792ABE203A602B7C1E8",
-        "de_type": 382
-      },
-      {
-        "contents": "193DB2CE325FF3211237EF564F4876",
-        "de_type": 447
-      },
-      {
-        "contents": "22F03DCAE07E9F63B095F57A37A90C72708295C66BA5B46669272AA16D",
-        "de_type": 335
-      },
-      {
-        "contents": "6223ED9F71639C2228485250CAFE33C98E294D76C1704A539157C6CD5FDF",
-        "de_type": 324
-      }
-    ],
-    "encoded_section": "C390132F02AE5C28B3D32341611CA5B50CB2D491100071C1B6B18B6BE3F8B10456DAFC58DE4190028D41A79087A8FF6623388489853F49A93D41BF1B458A34D85AAC3688B1E883037A0DEB66DC2A3948DBE513A5A2FE44AF75A3CE8DB96F36C7B7F289FF212BDECF375BE179F3200EEBB9FB185E4356005527031F37151971D546F2973D46F00B4F6A0C669725E69A70B6726BAB0553B65CD4FA49F1B56BFABF1A34A7B9543A474B7BA7E74CF7D212F9FDA74A93071B20ADC6A385081922658E66B27267",
-    "identity_type": "trusted",
-    "iv": "C86F257947D0FBEB5F1C7A0F9901D101",
-    "key_seed": "DB73F443904842E9F64F60B67EF63825A2FE8AA122B4633B5782B6FDB976BC47",
-    "metadata_key": "7F5EE2AA799A8E4E3F79C30E7B77B176",
-    "section_mic_hmac_key": "FDC07A4B26BEA7D99987AABF4E031FAE14538A0386922659B5FCCD66913FAB57",
-    "section_salt": "71C1B6B18B6BE3F8B10456DAFC58DE41"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3709DEC44BEDBB170C7652F0248E9DE7",
-    "aes_key": "400777F0893097082B132E298D6B2B0C",
-    "data_elements": [
-      {
-        "contents": "0C4B67C6D9434B025D8E75580C8534E0C7851104F102E9666B131B",
-        "de_type": 269
-      },
-      {
-        "contents": "E2C34FB045408D602FBA91CBE2DCADFA",
-        "de_type": 815
-      }
-    ],
-    "encoded_section": "689013405BED7C212DD107163732A69097B11E911000861DEAA6AD7EFF607DA016E4DE278FD29004937E2B1A97EA25A4AEFF38D95D57B4188ADC5AA57A1B38E4A86FEDCDFD5903ADC9EDBB7EB35B96A689D83FF35BFD7962DA302437DD32394EFC9B8DA42CD33CAA5A",
-    "identity_type": "provisioned",
-    "iv": "1CAE6EB0B86F8C40C325FCAD7BC975A3",
-    "key_seed": "C91B9ECAE0A8EF1646B96E3C6F06B99C5A01B0904E98349BF7974E1ACBBCDC68",
-    "metadata_key": "DD8A480B4A601C38C0FB3B382E646A61",
-    "section_mic_hmac_key": "9BBD9E8CC618CBA17F36BA2593ED4C05DEB69B0F69F2D2917CF37285E62DB629",
-    "section_salt": "861DEAA6AD7EFF607DA016E4DE278FD2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4992036A41F8E54D00A1D3D4359A9300",
-    "aes_key": "69BECDC75EB309182C3DADE59FEEDF92",
-    "data_elements": [
-      {
-        "contents": "8B591A5CAF41CEF237A220785B",
-        "de_type": 941
-      }
-    ],
-    "encoded_section": "47901308D7B199CE04C602DE931C37B8E0CDB29110001463D56B2F97E53F05117D1D414DB9A39001CB5CF571A7859271C1CA2D95AE0F4557A8B146FF2FC636B1A6C948A7136E6F10",
-    "identity_type": "private",
-    "iv": "6B12EF5D3282AC2EE71A0398322D3655",
-    "key_seed": "B306946230C730CCD3B93C0FD74760734AFD01F5DAF1A17BD648505A6439C3A2",
-    "metadata_key": "C42D7A526D780B5D5E46603943A3FFB0",
-    "section_mic_hmac_key": "821AF2677045D3BAF8341C06C72F0476DBF407FA38967F3B08F060E42E2A0525",
-    "section_salt": "1463D56B2F97E53F05117D1D414DB9A3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "04CC1B63DDC7EFE20F035A5CA57AEA43",
-    "aes_key": "60046C736A3EFCD5DEA769D6BCFE3654",
-    "data_elements": [],
-    "encoded_section": "379013C978E90C73B9CE22075761B22E7B66B0911000C031142EF1CFE2DBCFA88DBE7038F4339001EA998FA7111B16AAEE5D76DCCE34F832",
-    "identity_type": "private",
-    "iv": "1425BF85545089772F7A0EC13B31F218",
-    "key_seed": "29C84402ED9B668C4B419AF8CCF3FC53BB771A5E41BBA83FC8D5264E5847F719",
-    "metadata_key": "0102525542E84C81FE13D0E70A4512CF",
-    "section_mic_hmac_key": "4A51F7871DC1B6363526C10EFFFD3492F38B5C352DFE2EEF206A9D8508BB8FB8",
-    "section_salt": "C031142EF1CFE2DBCFA88DBE7038F433"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2C87AF2AA5587D0D186ED5420388AEC2",
-    "aes_key": "2DA61DF51325B07DBC63B481DDCDE64F",
-    "data_elements": [
-      {
-        "contents": "6DFF113A772C2EBFEF3BBF18A36294FEF1D734BFC360C376",
-        "de_type": 548
-      },
-      {
-        "contents": "89A698C96D173176BBFC3538AFBEF049CC59B34B14",
-        "de_type": 546
-      },
-      {
-        "contents": "E2F16DB52F89",
-        "de_type": 266
-      },
-      {
-        "contents": "DA22DAEC64B917FD589D805253",
-        "de_type": 685
-      }
-    ],
-    "encoded_section": "839013EAA633D971185BFABB394355E4E31064911000C21027A41702F6DFAE49F1629A8E39699002BF31A3881922775031E2AAE919D18CBDFD195B02DA0445F61DEB7B7E655C8A975938B4A47F0FB27356C8A419774DF6A0FE213E84BA6EA1A0EF45F40EAED8ECBE37E53BC6542DFD0D3E582227E27A113785022CCEEFF15D15D94FFCA0",
-    "identity_type": "trusted",
-    "iv": "AEFC3DD760BF1C8A0C4D3F4D6F4332B6",
-    "key_seed": "63CB4A41E5862904E15594B7FB570AB2D20BEAF67CD053241796583FC4BBD471",
-    "metadata_key": "D1A562E45D9D59A9011D511728F7543D",
-    "section_mic_hmac_key": "BA11FB7271F9021364AD11352009E9452A74EB81FB340C526D9D2F5DA0CBEFBF",
-    "section_salt": "C21027A41702F6DFAE49F1629A8E3969"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "79906A0C8EF398B55A1B7D6626F780B2",
-    "aes_key": "36EAEBAA45DA5B60809CA32832414FC5",
-    "data_elements": [
-      {
-        "contents": "FA3FA3A9F0756E567E2A801656",
-        "de_type": 868
-      },
-      {
-        "contents": "45F76C1B",
-        "de_type": 816
-      },
-      {
-        "contents": "B3816FC81347A8D40FA3937BC2CC82C137D7B6067751AD29CCEFF635702C",
-        "de_type": 379
-      },
-      {
-        "contents": "360C1E18456ECFF656F8AD95220EC360ACD246BF31",
-        "de_type": 213
-      }
-    ],
-    "encoded_section": "8790133E894393E3BA6C82A326DA85D9031F089110008C2D013111DCC58A0DA04E0EFE9C45319004864DE8CBBF7C31B013DD161A12A92A2C25E57FD4465391B1E1A51F6A7420EB21A6E72917783613E65E885B08BDA69B1A6015E249A2912B3EC997B8972459459270601B6AD2A41BC1E73976A86D8FBE6473C844C32157575412717212D045EDE9",
-    "identity_type": "provisioned",
-    "iv": "0E4490BF80B78BC51FE57DB85EB61ACC",
-    "key_seed": "A8850343015360DFD5FF867CA561B5B41CC0B6BCCE62CAB56055E57AD7EE2614",
-    "metadata_key": "84CDFC0DC3222FFDBBE864870E67A8D7",
-    "section_mic_hmac_key": "35A9250370418DA082D0649DCA2C1F2C5581EA3B444905B33D83601A1B16C1FB",
-    "section_salt": "8C2D013111DCC58A0DA04E0EFE9C4531"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7DB249FB5D7BFD40D6D94D4AB36E91D5",
-    "aes_key": "1236191281B7E6536582FBEDAF9DA8E5",
-    "data_elements": [
-      {
-        "contents": "119D4427C80B8E",
-        "de_type": 760
-      },
-      {
-        "contents": "EC6A6CBDDF6848B16FF08DA7CF3FA284",
-        "de_type": 739
-      },
-      {
-        "contents": "B0E04C01243711008D6EA5D07C161F6195C5D3",
-        "de_type": 462
-      },
-      {
-        "contents": "DD978C138650CDBAE4",
-        "de_type": 743
-      },
-      {
-        "contents": "675E333C4398FBDB5DA8E19C",
-        "de_type": 403
-      }
-    ],
-    "encoded_section": "859013ED4DDEB3D0D051B4EED779AC376BDAD1911000C0643734B37286129B4562EE0BBD13909002B4989BEBC63EA94FB8B876A2BED6797B0BC4FB7579D7406D5BA3E0BB069BCA2503A413B61DDC92002924E14321086EDB5799981AE6375534852E18BBD7497FA7AF7613020DBA383848020A7D2503027F2141669BFEA617C2195E5608407C",
-    "identity_type": "trusted",
-    "iv": "9F2743DFAAC832E0F80884CD326918E8",
-    "key_seed": "03B79B00D65494F60FF94D2606BB2E27ACBDC599D7255B2A74B96F631EB0CB0E",
-    "metadata_key": "996FB9AF1F3A5C5465BF8704F76410FD",
-    "section_mic_hmac_key": "49A636DF6F31E0E4D2A77EB1E6209ACF98AD16DB3E177E50F528116D445D3FA9",
-    "section_salt": "C0643734B37286129B4562EE0BBD1390"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CEB98B4B0D841160C2E35158B1037983",
-    "aes_key": "F053887925734FF405C94A8F3092C193",
-    "data_elements": [
-      {
-        "contents": "5F8FE0C8238878BB",
-        "de_type": 994
-      },
-      {
-        "contents": "CDED7F45F36DD2BB6C5E5BE59E",
-        "de_type": 566
-      },
-      {
-        "contents": "B8E19720ADA1842AFBD9F20A979CB6",
-        "de_type": 22
-      },
-      {
-        "contents": "ADC17706EEF38EA4BF6842C76B00B7A0",
-        "de_type": 864
-      }
-    ],
-    "encoded_section": "769013FB3E7BE1C7C57B079D1C68C1FDF94F499110005B21E275525D3CB89AE0C75679294F3A900115D44F49C8842FF45C041D7D9D3715675882EEC328AE875937FF27A2F98D28FC0FA595179DFB5DF10527AA494524553C57B7E76DDDD9F18724CD4BD2891947A5CECA8486F0C59A5C62387BE80B7DB8",
-    "identity_type": "private",
-    "iv": "E0052D908B8B534F17012FE22FD8C1C2",
-    "key_seed": "042A0DDEB37D4E1243415F80E9AC5FEBC7902B0F4EE29E7B0DCF9F6527D6ADF6",
-    "metadata_key": "4393A5FFB48F851733D1B5A7B790BA35",
-    "section_mic_hmac_key": "A85552BEAFCCC741A72DF287A142CF3F998231B97755E3C70FBA249989C053A1",
-    "section_salt": "5B21E275525D3CB89AE0C75679294F3A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "745AFAFC0D37846B5E0C490DDCA6B0FA",
-    "aes_key": "806FF3273840321E8944A21CBA372A14",
-    "data_elements": [
-      {
-        "contents": "73B86820241EC5E7D125D74FE3D2",
-        "de_type": 315
-      },
-      {
-        "contents": "56DB7131D8D9555B",
-        "de_type": 495
-      },
-      {
-        "contents": "8E6A76DC340E0AEC07D79C",
-        "de_type": 895
-      }
-    ],
-    "encoded_section": "619013D03954EA8469566EFA768C74AC4D2261911000FB23753432B9B3628220D45365F2AF579001083DF8CE07930F669C932656AEE1259E713C6D323E8D102093CE210868F5BBA9B4851B1294C512B9D778BF43BAD9A859BF57409A14294A756E35",
-    "identity_type": "private",
-    "iv": "0E3C4A8E72AEF423375202C1176EB2B1",
-    "key_seed": "60144BFB597852910B428D8DE204D6D6E7EABFF8CCB6B61F8274C2B38CD02BC1",
-    "metadata_key": "BB66D2E7C096B7AEE4BB671BE9071AF2",
-    "section_mic_hmac_key": "596D58D71B171946CF75F706CEF421DAD978584AD60E979DCC737D95BB7C0CCF",
-    "section_salt": "FB23753432B9B3628220D45365F2AF57"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9B363547BB9948D07B69AA3892AA525A",
-    "aes_key": "08E1C799F15F1C96C27A4A1B37AEC7A6",
-    "data_elements": [
-      {
-        "contents": "E553E23A099E8329DB",
-        "de_type": 754
-      },
-      {
-        "contents": "D9037BB04B6E600107E7DF0A67566115EA3F619158D938",
-        "de_type": 244
-      },
-      {
-        "contents": "3571B7",
-        "de_type": 517
-      },
-      {
-        "contents": "60C498C9A191CF99BDB4C8BBC9201BABE9BAB9AB30",
-        "de_type": 377
-      }
-    ],
-    "encoded_section": "7B90138719640172A7CA979ECE524C2CCC5B0F911000C470C9EC5726236DC6C06A591EBBAE7590021E80E98CE6E81A29B6EA96E5B7EC0B496E21D40C10F430851949B30F38A1071A3E98BF8BBFC9CC8A13AB30B73518AA59D96DED687C9409A3C46EE8AB3A4B0BA118AD67F2492522AC66391FFE18E7F41520F12458",
-    "identity_type": "trusted",
-    "iv": "6E4892B791E5664DC249425A2E7FBC7C",
-    "key_seed": "5A08FAE5D0EBAC61590102AA36711002B7800BF744CB7863766BA932F048B8B3",
-    "metadata_key": "EA9F3E7C877395501F3D890721C96996",
-    "section_mic_hmac_key": "2D774C8BF3CE278132DD7EA105A125A95ABFE9EE1EEDEF7A191DCCB02155B816",
-    "section_salt": "C470C9EC5726236DC6C06A591EBBAE75"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "017CB0E1120225BD43E6B17407129A4A",
-    "aes_key": "236EDB5FE7F023E81E2772AE8C371905",
-    "data_elements": [
-      {
-        "contents": "FC6C",
-        "de_type": 842
-      }
-    ],
-    "encoded_section": "3C90139BDA46CDA896DC46E1953D4DF84DFFDC911000491F606D2C12BABECB46793C4FD4DD9D90029E9A317E650F42EABBEF539D64E97459ECE92C7716",
-    "identity_type": "trusted",
-    "iv": "3E43A43F32F7416F10FCAC7AA29F53CE",
-    "key_seed": "C536746CE8AB786BF064E636500981AFD86FDAF6D4631B161AA93FE09EA47F0E",
-    "metadata_key": "AE51F9455468275B5F1F3624602A4E76",
-    "section_mic_hmac_key": "BA03F46EBC0147C0582AA5BBAEF21D69737DEEE365F042F2767D660B6597B2F6",
-    "section_salt": "491F606D2C12BABECB46793C4FD4DD9D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8134AC1B9E894BFA8F57429D27BE03FE",
-    "aes_key": "8E466BF38FD6488483AB864A1B9B2463",
-    "data_elements": [],
-    "encoded_section": "37901372B0E373CBA7A88E17D27393CEED2A9B911000580E141B47F88A102003E045B3306ECE900260CEC45B63507146E4F2021A989E4107",
-    "identity_type": "trusted",
-    "iv": "9ADDE95FF00ECAFC9BB6DBE00CF4D420",
-    "key_seed": "DB86E0A4E7BAECD6971FD06F4EA08B999E321D18139B295E3820C5C0A1D9EA6D",
-    "metadata_key": "AECE395205E92B4E824736CD2EE10388",
-    "section_mic_hmac_key": "A892FDFC74404F4639A18BD6AA1C732FA67A3F76EA9A4455C241346FB6088646",
-    "section_salt": "580E141B47F88A102003E045B3306ECE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0E11B8EB767BF23776B2242E7F80A17A",
-    "aes_key": "CA4F5AC11D27A32BA5813B32CE9FD176",
-    "data_elements": [],
-    "encoded_section": "379013437CE707D51EAD22AF0E3D32C70129AD911000679009A3AB6E4C7835C13FA51C82745D900428D8BCD3A330E9A52A90BCD6C042E918",
-    "identity_type": "provisioned",
-    "iv": "4A026ADB419CF7A487500F4358C45D59",
-    "key_seed": "D373D3E85CF5AA0813907E92771B96A67823D7D7644AFAAB76324814008DBB89",
-    "metadata_key": "9E23DE492588EF5A6F10A9DFAA038A16",
-    "section_mic_hmac_key": "C4A11FF865C6FD2544C54CB7D16DB70136AD68A4B663DF5F530DE273EE36DE4E",
-    "section_salt": "679009A3AB6E4C7835C13FA51C82745D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C9CC54A5BD1EBB46FF5246ABC60AAA8D",
-    "aes_key": "BF5E5C3153CF9792AFD6CDF96A2C5344",
-    "data_elements": [
-      {
-        "contents": "9D4B5F1E5AB4A177310F992112F9BEA680",
-        "de_type": 886
-      },
-      {
-        "contents": "2D36CF0F4C8F1B36DDA5D23FF20EB6CD379F92",
-        "de_type": 70
-      },
-      {
-        "contents": "342637079BF30209525A62AE1D233B717E",
-        "de_type": 396
-      },
-      {
-        "contents": "D112664E69B12FDF70",
-        "de_type": 38
-      },
-      {
-        "contents": "D9AF0F568322C795328C8B4C1788987C398192A22A",
-        "de_type": 678
-      }
-    ],
-    "encoded_section": "979013282215741E4345A78D01377EFF9E84189110005B4B4A350A45FF863C3EAF2AB7F71C0790011B34CF8E42769B0FB7FB3F66C45BBB7B7F2160D74F03D27F7F1AA2D8C52FDC024CF2CF9A7EF240540C04FEBA619ABFAF2D79C7BC35421D09D20FACCE2A115C262624A87057FB67B440D453259A65476D5134E1E263A128B7192920FC7DE545B0EE63F83AD8963197C51E056FA2C6200F",
-    "identity_type": "private",
-    "iv": "B084B7392E0FF2BA4DEC9EF8E26B1A93",
-    "key_seed": "33565BCB2529940138116B4DB968D4D320B749D470FB480FEB2B9A6D6971EAE5",
-    "metadata_key": "A3988254E6FEAA0D759AE32D048013AA",
-    "section_mic_hmac_key": "41B9C812B94BD2AC4AC218F8DDE986E2D45EEBB89A0882C438933B001DAB2181",
-    "section_salt": "5B4B4A350A45FF863C3EAF2AB7F71C07"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4144053F0E007DD7F1D38291852FE2A4",
-    "aes_key": "1E65E2D1E7718EBBD972BC2042B9B11F",
-    "data_elements": [
-      {
-        "contents": "3AC4BEE4E3E37B706980475F09EBDD",
-        "de_type": 102
-      },
-      {
-        "contents": "7876A28FE5101EC499AAAB",
-        "de_type": 112
-      }
-    ],
-    "encoded_section": "559013343E829B75A77E72E1F5C0EC1ECE8EC49110004F47C2E91506FF96DA391B2BBE842F2E9002B9E7953047832B10DFC880CB57E7F569953E97CE5469368BFDC23E298878D41A775E405A97B0944DE64EFFACEE3A",
-    "identity_type": "trusted",
-    "iv": "AC1839A4D9EBBC369DF0E5DE3E9FB486",
-    "key_seed": "F53B91BB8F5F267901F6D0C2E6B511D37F23F41356B514C5BDCE04AEF60A7624",
-    "metadata_key": "B82E90A5753E1604C5C50790383528B3",
-    "section_mic_hmac_key": "FBB75466A337A9EF19DAE241B45E6366B3ACAA49B3678F6D410CF6A4B915EBE6",
-    "section_salt": "4F47C2E91506FF96DA391B2BBE842F2E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DFBED8D9AE83990BB427226E21034CB0",
-    "aes_key": "AD572A7C029F77B3C54ED924525D3229",
-    "data_elements": [
-      {
-        "contents": "3E120DC6A27E75C6B4D1D1A1C9F7A29C6B3B9B0F14E45D175F418711",
-        "de_type": 213
-      }
-    ],
-    "encoded_section": "569013F5A38DF3EC99C4156E794798A6F296D9911000986627D3A935F5C710D101A38FF8286890024F59E49C79DC9C0E298AD99275CECC28E1B8EDDEF0C3C2B4A7C984A2CE21DDAFE6E918D16575D2D6624D8C44673699",
-    "identity_type": "trusted",
-    "iv": "AA8AD31CCD7C59E5EA8186E39301A7F0",
-    "key_seed": "AACADF297C376735AF0138DD2F3F4B5CFABF32A8762275DFCA9EA2295E86A28E",
-    "metadata_key": "19528CA6D4629802FCA9D11353A60C2C",
-    "section_mic_hmac_key": "79F40360C6EDB9881CC05F01929B36746DB5F046093AFF5C2F3721BC5DB54A8B",
-    "section_salt": "986627D3A935F5C710D101A38FF82868"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8BEC81AF56FA2AC4193B05558C125204",
-    "aes_key": "AE9C86DE09A15A4F3859D801E0678262",
-    "data_elements": [
-      {
-        "contents": "4340F3E3DB2B1E56361256AF51DC6526",
-        "de_type": 221
-      },
-      {
-        "contents": "CF0E82",
-        "de_type": 309
-      },
-      {
-        "contents": "3EAD73DC8251FB1A5921E8255EC3CE3C12BE13839BF284A799BC",
-        "de_type": 508
-      },
-      {
-        "contents": "E261280F5BEFFFACD5D0ED3CC81F0C1BC1631C2E5D9A",
-        "de_type": 929
-      }
-    ],
-    "encoded_section": "869013F05F6FE5E4F7979EEE836171656BBA54911000465E3D595AAD47749A7384B123CA18E9900246F59681BA8A29A4B50D6B4EB3A5A37571EA7EBECCADE01435C0AA8A59440DCC455EC858FBEC686DC4CC3BB20F562B161BD729338C4FA13753F30FE021F5747CF11957D338E0256D07F3AF7A9D2A949DB748A997D6466F6CC5C6F80614B2A9",
-    "identity_type": "trusted",
-    "iv": "2E91EDDDC24CC419B76CC16976B8833A",
-    "key_seed": "11FD266669C2E6C279D8EA69F540B784989D11A09568A19F66D2ED0C1D6DBE08",
-    "metadata_key": "9B21D37E086FFA839142C0A22F3D65F6",
-    "section_mic_hmac_key": "A7F1A78902BB05FBB7B54D35CE9225330B349654936258EF908C11D4E6F3BB47",
-    "section_salt": "465E3D595AAD47749A7384B123CA18E9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "801D4CA35A70D4C283D2629EA148170E",
-    "aes_key": "65B82E5D5498A2A0557B1D39C0F5950F",
-    "data_elements": [
-      {
-        "contents": "A02494863822B1EA59AC8EB4",
-        "de_type": 243
-      },
-      {
-        "contents": "4C200134B8F4ED2481229F256DEBECCB6C5EFF7A8ECBB9684BAF",
-        "de_type": 900
-      },
-      {
-        "contents": "1CECAE0187941B94F8",
-        "de_type": 950
-      },
-      {
-        "contents": "DB6AF61301EA124E883131733344543394B9EB2D18",
-        "de_type": 77
-      },
-      {
-        "contents": "",
-        "de_type": 542
-      }
-    ],
-    "encoded_section": "8990135245B0569137C5BE751DB35223449F6E91100054E61830D0D0DD6A1F6B3DE7013EF06D90044DAE7D1C3F0BF3E5104C1DD01FDD1C5DFC6963613291EC87DEE2ABBC16C9D2BCA620921CA07A64D1DF36C733EAC39D997BCBF38E4D252F232C58CFF37697A13C04EA5284FF0BF47C11E85805018DC6E3495D61EFA87FA298724C267F1F29031B2C9D",
-    "identity_type": "provisioned",
-    "iv": "DA7D5D3FB17D06F46DD8AFB6647A44AE",
-    "key_seed": "78D9D6D609D520DA4339EBF814B40DC3C80AA0096C2E7948D5D4B92FB9243084",
-    "metadata_key": "ADCD26D03B8A1AF8C0FD9B3188124D19",
-    "section_mic_hmac_key": "B0430F46E286EA342ACB84CA42C151174AA8650353CBE5B064BA37DE66D823AE",
-    "section_salt": "54E61830D0D0DD6A1F6B3DE7013EF06D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0CEA8476765E2C9409E38AAD4F554E63",
-    "aes_key": "BD88F43CAB6E5D6B2BCB69424BCEC9F9",
-    "data_elements": [
-      {
-        "contents": "D831FF5C4756",
-        "de_type": 24
-      },
-      {
-        "contents": "8689F2BAF45E",
-        "de_type": 805
-      }
-    ],
-    "encoded_section": "489013E6F67A18C298C579609785D002870A829110004B7B840D8A6CC70F61B178722D71FD419004B85364FEB66321ACEEBA3A8C7133634867852A5A6A1B2A18FA032B1853288CEB84",
-    "identity_type": "provisioned",
-    "iv": "1FC05B651BB33F007EE45A02E7AC904F",
-    "key_seed": "667CD8F62F8A77492DD85747934C30D23D3658252198EBA915382603CD2B6CDB",
-    "metadata_key": "68CF855C510241813831D894E104173F",
-    "section_mic_hmac_key": "9BF0F323006089DCFB6181BE51EBD8DDAC8692E6C8B36A69EFBF85A7C073E31A",
-    "section_salt": "4B7B840D8A6CC70F61B178722D71FD41"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EC30A0D58034A34B8E5C559F280F509E",
-    "aes_key": "728B0357E323756231894D94286C3AB8",
-    "data_elements": [
-      {
-        "contents": "A7F5481741CB91CDE0",
-        "de_type": 894
-      },
-      {
-        "contents": "2AB65DA2EC0508A1",
-        "de_type": 303
-      },
-      {
-        "contents": "380AEEF682FD5EDB89F02A05",
-        "de_type": 920
-      }
-    ],
-    "encoded_section": "5D90134D517709AEF9711FA7C2AE7B5ACC3ECA91100080E251133A8F0A7747C29C80983F07A790024BD1D93EE6C137F6504D32C8CAC34BCE856EB4FA298CE7801B8F56463E85457A15C15F7075F06F2EC32AA68CF9794298E42F07AACFFB",
-    "identity_type": "trusted",
-    "iv": "1C296F5143FB2934F70CDC21DA10965D",
-    "key_seed": "955963D16FDBA60A066C6F698845F5A28A9D6D0099B4C77B443B56B249CBB1D6",
-    "metadata_key": "4AB7C96061268E4C9778E218F0E34ECB",
-    "section_mic_hmac_key": "D0496A75DFD42062C8DC17A2424ECC60EFF3890942702CF45733DCFEE97C58FA",
-    "section_salt": "80E251133A8F0A7747C29C80983F07A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EDB71DD72EEABB1066B3E8250E2E6838",
-    "aes_key": "B0BE972933B74F340C2FD12F033D470A",
-    "data_elements": [],
-    "encoded_section": "3790132359338C99B060B1F9B0CA90849B5B7C91100073BA46B076BAB82D101B0761C8B676B590026EE24CD8FE1FEA2573DBCFF4F2E712CC",
-    "identity_type": "trusted",
-    "iv": "47E21BB24E2B6E7E524F3B9EE2B3D661",
-    "key_seed": "2F6D9575641AD9DB592DB0D601A38DC7C33EA96141E7E46F2C12D1DD4FB5DB58",
-    "metadata_key": "16897C47EAD110C4A40E872DE97BE7BA",
-    "section_mic_hmac_key": "B383738B32E347E6CA30DD1AB86CD8C6C6F3817FF5DCA69E5927FFE970966B30",
-    "section_salt": "73BA46B076BAB82D101B0761C8B676B5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF3696F6CB3680CB90959720B0C0C8B0",
-    "aes_key": "DEFB7155A421A3C00BCA9521B9802212",
-    "data_elements": [
-      {
-        "contents": "BB94E1E012E8C01D78B367A8676B719687FA84832A",
-        "de_type": 100
-      }
-    ],
-    "encoded_section": "4E90130470C8FD4D0863A99E0655588B3677999110001560EF35DC8690A269985B834F5DF50C90015F68C10A7D7C940497ED4E77972D7A694E425C5CB5CD557378D55E31F445E7D38CF41BACC3584D",
-    "identity_type": "private",
-    "iv": "C493FA8A5AA5716991EA0A1825B88634",
-    "key_seed": "DFFB9A504328A5836EC19500C592E8706E45A8CC9530A63B6D57A50D81DE4368",
-    "metadata_key": "24DBE2F5B5592F053F7E969D336384F9",
-    "section_mic_hmac_key": "6A0717E12EC5CD7EC7B18B3A0A597CB73650649DE6E9B11947ECF3552E72BB80",
-    "section_salt": "1560EF35DC8690A269985B834F5DF50C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "96C29DB449A05ABD7BD2AA8292B5B1A3",
-    "aes_key": "48A7161729D51256FB3A22D800C9F4F8",
-    "data_elements": [
-      {
-        "contents": "2A33FFE5AF0D",
-        "de_type": 146
-      },
-      {
-        "contents": "61F2724E94BF6C6B841EA6DA24",
-        "de_type": 777
-      },
-      {
-        "contents": "79013E7CBF1E6757B28357C09CD8DF3F06EA5C8B29790B6AF12FAD",
-        "de_type": 19
-      },
-      {
-        "contents": "4E31D2948A6FCB9981BA3423",
-        "de_type": 85
-      }
-    ],
-    "encoded_section": "7B901309CDADEFBB30DF2A333B1F1211EFF789911000317126A212B7088BCA01CEAC599314F39002C21EC35FE4B66BE19DC9DAE8FEFC0FA8E0CEDAF4DE232FD592D75432B7D99511A15AB00D4359120C22D4934C0FE24C00B612684FAD1B4B8ACADC18BDE97D5C7BA24454248F2B816DBFC326EB73A7ED11C5F4B3F8",
-    "identity_type": "trusted",
-    "iv": "D85729A8ED6F4206E1557D6C0B1A6767",
-    "key_seed": "76BCB5FF9343256A836AA5AEAD8462A0FFFC2111B70F095635995A2AA6C60FFC",
-    "metadata_key": "B89DC800A35AC2C0AFE5A91834D7AD2F",
-    "section_mic_hmac_key": "A9C86D50FB79A6B609EF7F805E8EE1738B278AE7FCC46A0B5462089755752E6E",
-    "section_salt": "317126A212B7088BCA01CEAC599314F3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C827366ACD1EB08E13FFBF22716C436B",
-    "aes_key": "420312434A398DF54C75FDE9FC81E919",
-    "data_elements": [
-      {
-        "contents": "79",
-        "de_type": 784
-      },
-      {
-        "contents": "290E4DAAAF",
-        "de_type": 11
-      },
-      {
-        "contents": "",
-        "de_type": 225
-      }
-    ],
-    "encoded_section": "449013BD50CA32BC08AA861296C928AFD29D20911000F29D169C5E837778E5A31231ADEA015C900287033FD9D655A2A75CFB2D920787BFB3A9BD5574A01CF64B3BFBEEE838",
-    "identity_type": "trusted",
-    "iv": "88016DDA898C2FEF943D1EA8E96C9A87",
-    "key_seed": "69722E285E4866039C057956F5CA697047315D8C4C72ABE50D586695683FAD60",
-    "metadata_key": "475C542B15D91FAED80364C9399C1A17",
-    "section_mic_hmac_key": "636441B2DC928073663261C3E1A69B80272551D557AEF7F6BED9BC2B86C419BB",
-    "section_salt": "F29D169C5E837778E5A31231ADEA015C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5A822E5B54BDEF7F5009548D324BBB5B",
-    "aes_key": "6C2B767028935ECB4D5259451A6FD38C",
-    "data_elements": [],
-    "encoded_section": "379013C45F3FC194B77E7CEA94559ECF8B2CEA911000C29DD4EACB5AA9ABB862A37A0BE5EF7B90027B67A1CA38161CDD01B235691A241DC6",
-    "identity_type": "trusted",
-    "iv": "10FBB6D3CED80733229DC291931A5F62",
-    "key_seed": "A25CF787076C32D614D8D7A292FA70FCBC0B24A48CCF9F48126E9A083E9A3B3E",
-    "metadata_key": "615711C7C51985FB53AD38EA82645DAA",
-    "section_mic_hmac_key": "092803121B8DA22AA60360C830EA1A5DD8C4FDB5A474914FC4ECB717D13BFE76",
-    "section_salt": "C29DD4EACB5AA9ABB862A37A0BE5EF7B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3BA5CCE53243F98AD868DE1CD3E9F63E",
-    "aes_key": "7E3B147189BE67DBA984C1682CEAA129",
-    "data_elements": [
-      {
-        "contents": "434D0E7DB4C0BBD5674A83C484DA072FEA",
-        "de_type": 0
-      },
-      {
-        "contents": "6AFA19CB7C46BEF2EA5369837FF9F4C834",
-        "de_type": 413
-      },
-      {
-        "contents": "1070DA173252B48ECD95EE5AD376",
-        "de_type": 410
-      },
-      {
-        "contents": "9A09FE8AFA0D8C036D3670E709658C3F67BD13352BF689",
-        "de_type": 27
-      }
-    ],
-    "encoded_section": "88901314095DFFE2EEE0485F9947690F21701C91100093DDBC1927840E03F6449B6CB0FFA110900226C7CBC3BA4BD4FCA1E8EF197562C5F485BCA2B259F0A214E3D5C2A68492BBE242E720DA326C82CEF19D79A430D4F2F23E7F36811D5878DF371D6AB23FAB74235DA55E21AC6BA52BEF2F86B4D3DE92F79AD995CA6AA796AD37BA43FBFC9AE913B5",
-    "identity_type": "trusted",
-    "iv": "A8976278B12AE5463AE984157E0205F6",
-    "key_seed": "6D57B2178FBD724251697132B807A3CFBD68DE400362C57CCF9108CCEDD973AD",
-    "metadata_key": "0D5B558D2890FFB2E5FEB48ED21150B7",
-    "section_mic_hmac_key": "F79CE3F6795EB7F1B65DC1FF2D997397B02C3975B304B62C7E49C7D0AF3037F2",
-    "section_salt": "93DDBC1927840E03F6449B6CB0FFA110"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1E4EA1B93504696BC87BBA1AE230DFBC",
-    "aes_key": "65F515D0D4AFB386BC2D9D1C37A46C92",
-    "data_elements": [
-      {
-        "contents": "0EF8D96C53C49ABD11B69751",
-        "de_type": 258
-      },
-      {
-        "contents": "B945DFECDE411CC9B1FA63",
-        "de_type": 728
-      },
-      {
-        "contents": "AE610E4798CA99",
-        "de_type": 212
-      },
-      {
-        "contents": "18526E1BEACEF8F0FDFC34AA7F0992387B",
-        "de_type": 765
-      }
-    ],
-    "encoded_section": "729013B0AC05E79DD417567F17EF2ACF4A48C8911000D05DF80E62306F8629AE61A8270A7CBE90018D38E80AC68E0B71973CD3BB0A4D58D10932C58303F629C6497ABDAD814AAE32A7CD767EDB9F4F6E7B3E1245F15D6D1D6D45B175C6535A701B2C0A19E6ED9BCFF379255F23992E877887ED",
-    "identity_type": "private",
-    "iv": "2CBF8042D27B1F49DDA990A4BFF88509",
-    "key_seed": "09E15C8F181659969AF6C6C2375A564A9E8271EA13B1EDCB8A1F7809406E95D1",
-    "metadata_key": "F7411DB79645E475BD12C015B15ED0FE",
-    "section_mic_hmac_key": "AE6FC455FBD017A6B7B80052C2EE240019CAFC961605EA703F0E6F1EF9CF44F9",
-    "section_salt": "D05DF80E62306F8629AE61A8270A7CBE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "967CD8FA43AF6DAC8E445A080A65B16D",
-    "aes_key": "0A01B5E36CC69764CCE3A74DD544B1B3",
-    "data_elements": [
-      {
-        "contents": "4747E589E226F4F9093067D1E5227412CD7590",
-        "de_type": 212
-      }
-    ],
-    "encoded_section": "4D9013F9C57DAF3EEE1AAC80E7C06F1066F0929110009A52343FA860D361860C5072654AD99A9001A6D1DE2BC661B5E9AEE33FF8034275C5308DD4AE9340C637DFABE250FD8A31813DDAFE0BE84A",
-    "identity_type": "private",
-    "iv": "9643C2FA43D519B44896490C005E01B5",
-    "key_seed": "882D996C004CD5A1A8E00F436F97DB555099408BD3DFC845416A55179EF22C3F",
-    "metadata_key": "9ABA26D1743D347716204D2AAB927133",
-    "section_mic_hmac_key": "7CF80AA4D38DE78937E2C09F53E5C71081A5036309D4D3732DCAD4B6D2F82E5A",
-    "section_salt": "9A52343FA860D361860C5072654AD99A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A703D473C6044C05892027F1F0B60F72",
-    "aes_key": "2FA998F537E61F6E8195C5CBB96457B3",
-    "data_elements": [
-      {
-        "contents": "E1A624CA4950C406697EF34E02A7",
-        "de_type": 902
-      }
-    ],
-    "encoded_section": "4890134D9EC007C7BCB6530D03FD5F58F0B753911000737B467B6EA222531CD57C3DE300F0BE9004B24DABEFA8C0B41D78ED1E5201E4BBB51D8BC92D8976081E6FFC732C2E483E4547",
-    "identity_type": "provisioned",
-    "iv": "F09BCD4A5B8D538621858D272F8357F4",
-    "key_seed": "D41FE25607634264613845B1FAAF6735778475A69D76DDAA067279DF982667BA",
-    "metadata_key": "08C6FC8B190221DE2134ACB569BD9002",
-    "section_mic_hmac_key": "8D5B13DBD8411D3E2012F8B17F42FA32F12212905D7B123C6C8F5A794C28FD17",
-    "section_salt": "737B467B6EA222531CD57C3DE300F0BE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "225DAE6F894DBA4F2E24E053E5DF0926",
-    "aes_key": "0C13A76631F9D2FF50D2B7943578F342",
-    "data_elements": [
-      {
-        "contents": "DDCF88A122E86BBA27EDA33BCE5C8C92A5CDD960E3D401DBBF8235",
-        "de_type": 860
-      },
-      {
-        "contents": "EED509DC49EB0688DAE0EF2B694BD257D334656BAE46BA",
-        "de_type": 281
-      }
-    ],
-    "encoded_section": "6F901307E6D989A7D4580033D10CDCD0BB35C0911000AB498A5AC0AF52C5CA35710B455BA21F9002AC340BD4B1E47545097AA869F28CDFCEF69744505C494AAED292AD78A9A4F2018CA12E1587B9AB701BB58F91C587B32155674BE664214638B527597315F0F1975D8A6AF1995EE16C",
-    "identity_type": "trusted",
-    "iv": "23513AA8837D20F3D7696AAAD240E477",
-    "key_seed": "7BC68EEFD9B2B6410C33AB48E86A7F66719AE9475ADF6F0A132F869A82BF0297",
-    "metadata_key": "6E06556BE6FB79950C5DFAE4A2E674ED",
-    "section_mic_hmac_key": "9016C1CDC6CB002A1B2F89D05DD939B8DC0215BD625C2BB468ED6EF69B9257AD",
-    "section_salt": "AB498A5AC0AF52C5CA35710B455BA21F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2E9D2DFCBE85982F854C1D4F0E6D93E5",
-    "aes_key": "D2C5575DDBC1CDD5CE0FE02422980767",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 888
-      },
-      {
-        "contents": "B9D74B1C7C57A773B30E7A1BBE85531092",
-        "de_type": 717
-      },
-      {
-        "contents": "9D7507067864040C",
-        "de_type": 743
-      }
-    ],
-    "encoded_section": "5990134C8FE31670AD6DF853D9B25DF0C1793591100095C176F7E36BE5C6DA5004DDB3C65D7290029317FD5A115128CC9331C1610AC7B2797FA680F094169BF66D48E7E6E1E08D541B89EDF9C3342E8BFAA9F6B2DF6AE881C718",
-    "identity_type": "trusted",
-    "iv": "BC20E92086374ECD11A19A07E3E2CF3F",
-    "key_seed": "02D4DE8B5FF08DCF8256D575084CA4983548DD3F55E7AD54336A4985E3351112",
-    "metadata_key": "7FCE36BF9B0479FF853DF40B4EF98956",
-    "section_mic_hmac_key": "7C13466EA8471C744D721F3A584E59B5FED47C7CE25B9C47D2CFF2036920C9C6",
-    "section_salt": "95C176F7E36BE5C6DA5004DDB3C65D72"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "39808BC788108E6F5B6D34DCC09FA9C7",
-    "aes_key": "08F97FD75991B8686F0FB843EE31A1D0",
-    "data_elements": [
-      {
-        "contents": "9FA77C23C482636D020CE064",
-        "de_type": 370
-      },
-      {
-        "contents": "BC99",
-        "de_type": 68
-      },
-      {
-        "contents": "83E5",
-        "de_type": 573
-      },
-      {
-        "contents": "1EEF6D24",
-        "de_type": 145
-      }
-    ],
-    "encoded_section": "569013BAAEDE05A06A54EFEB6D88CBB00A8A7A91100066CDE62F4772FF4E97566A182D5C03329002FED2FF0BFD3A6103DBD82114343B47F4846B6B2A001E7533606442DB32EE91EBD21245F80F6AD615FF03DB2C35118D",
-    "identity_type": "trusted",
-    "iv": "5EA3B7F4C64F94FDE824BA20F150F5F9",
-    "key_seed": "3BB0AA21375B167B2A4777D850C4A2432C0EC93A3BDF6021456508619433F97D",
-    "metadata_key": "41537838EB8E6DD487D4F2B26182EB72",
-    "section_mic_hmac_key": "249AD0CAC358E0402D1F0905EF4BCB199B9988D958C17F4A91CC01249061EACE",
-    "section_salt": "66CDE62F4772FF4E97566A182D5C0332"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8659FDC730244DA2ED976154CCE7794",
-    "aes_key": "1217C04A0210C3DA505F5EB9123372D6",
-    "data_elements": [
-      {
-        "contents": "84ADCF3C26D68CB75E3D7290C59D6F86BFD9B23E10065C2886",
-        "de_type": 795
-      },
-      {
-        "contents": "221C330B2C2A3F16F957C02D806C5EC9FB18117D9EBE45A32D9E4C",
-        "de_type": 534
-      },
-      {
-        "contents": "2C858E1D7D841372",
-        "de_type": 544
-      },
-      {
-        "contents": "B5DC82A3D20F6601D1",
-        "de_type": 629
-      }
-    ],
-    "encoded_section": "8890133129E43BE247688922EFFC1C06A2976191100097BBA7CE5BEDE598EE61AA356BFA3DB09001E23B0136E0AB1C5D8DE60F20A809FD1D5B787159DB77B950B9F353C38D777D290ED5586BE886CABCDC8E07909FAB3FD375F42F3855D01FC55B4F29DA7951456624CABD2D4454E45AABD9758EF277C1E25B631E897C52201E53D44C8F3FDCE1C82A",
-    "identity_type": "private",
-    "iv": "4322ADCB565A23AB23CD40565F78C009",
-    "key_seed": "FA744BF2436D127CDE08772282F961254C68C88CA37CF683420F04A4321CFAB3",
-    "metadata_key": "7119BE6A5D9DB6AEFF8C4ACA38E43DAA",
-    "section_mic_hmac_key": "70A522C74AE34A81184EC55874314B13532145C99D47324BFAFC08041E0755AF",
-    "section_salt": "97BBA7CE5BEDE598EE61AA356BFA3DB0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6AD3D60D04723C57A58AEE240F6BBACE",
-    "aes_key": "43D34DFDF2BCCCC8DB6216E7C35C61AE",
-    "data_elements": [
-      {
-        "contents": "E2",
-        "de_type": 132
-      },
-      {
-        "contents": "19855C45342ACA24BF3C73CB79",
-        "de_type": 696
-      },
-      {
-        "contents": "E2E48F8ACAD7CCAA6910E3",
-        "de_type": 265
-      },
-      {
-        "contents": "76FD5B530D0014",
-        "de_type": 236
-      }
-    ],
-    "encoded_section": "639013E9ACAAAE5E2D8CB5E46DCFC19FA72E519110000675F279365CE50B3AA51B78DB0DB4B2900235FD3644D84D6326F596083705677D0F50B4E9C8C25FAE3E08308E09C28D388BB5C0FF248FF9789030675D9B4C73C5EAD088ED65169869A8F20F3FBE",
-    "identity_type": "trusted",
-    "iv": "7FC53B20EE21524D8567BB6EE0B24693",
-    "key_seed": "ADFF7F0DAE8A0314B915683C900FDB5EA48F05D1FB65771E44C1772C2BDD3287",
-    "metadata_key": "42CFED512703687B96EAAB7E8E402877",
-    "section_mic_hmac_key": "6CF494AA61E6BEE966D48FAF7E2672F82527FDD1C3075B7637550E7AF90BE358",
-    "section_salt": "0675F279365CE50B3AA51B78DB0DB4B2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9DE0357046BC21405E3FAA9554F7E58A",
-    "aes_key": "F9793D17386DA59EE51F7D32A8A151CA",
-    "data_elements": [
-      {
-        "contents": "6C85DE2E1644563269414164604499D1A2C443969711F381",
-        "de_type": 473
-      },
-      {
-        "contents": "12E30D7E922A107B3803092257C476D6CA8795F03A9E",
-        "de_type": 759
-      },
-      {
-        "contents": "00",
-        "de_type": 527
-      },
-      {
-        "contents": "FE4B43A8995BEA8FAD5746D92ED6F9BAEA918E51F433D47E71C12FD7B9FB",
-        "de_type": 57
-      }
-    ],
-    "encoded_section": "8F9013962F6EDF9C4DF87F7C4C5DD8CA42CFA6911000963BE50C9F0419B34F64BAE61586A95790010869544823FB9E1FEFF595AE61CB1806C2996320388AAC60CD987CA7EE6DC1272B2EA4DCC069C3E127ECFB9F616F4B9A9633A355861DF6B463084236E9E8E6FC4860EEB27F65803C8E18C898123DDFCC6621A9F74780D038D3051795B536F9D2D90CBA19090A0978",
-    "identity_type": "private",
-    "iv": "ADB30AE2A8D404F6B9EC3C5C7F40C87E",
-    "key_seed": "C88CA68847CC9E39EBA84A18D9882BA9284276ABF72E3A71E046BD0061A0F946",
-    "metadata_key": "0A59A06A76CC860B8843AF5DB75DF85C",
-    "section_mic_hmac_key": "2805BC04A45CC27210E07D9A5C74E95FE7E53C4AA59BCD95D4EA877509C25416",
-    "section_salt": "963BE50C9F0419B34F64BAE61586A957"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "57BBEA707A339197563A41AA0E0DF11A",
-    "aes_key": "1434B77F9FF8ED4472524CEAD5E2600E",
-    "data_elements": [],
-    "encoded_section": "37901317C3340DD8DE24DD7038087A0AF9F8919110003A25A320C3B2AF5602DBCC5ECB87F5049001B989234629FFC24C7AF47AC6F5591241",
-    "identity_type": "private",
-    "iv": "FAD343C30CA085B82CD74F2EB90EEC36",
-    "key_seed": "7618055D281738547A4B524FE0C6EABF1BBEE14AFBDD654010569DCEC71EBD5C",
-    "metadata_key": "2CDE85BDEB42F4A684CB85402EF2050F",
-    "section_mic_hmac_key": "780A1086ED611E46176DB2BBC18D9922D10CD2505B65C948C3AF08D1EBEBA1C0",
-    "section_salt": "3A25A320C3B2AF5602DBCC5ECB87F504"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "69F7A5E815A8018FA3C12A5259619FED",
-    "aes_key": "1EEA4B9B9FABAC2BB81EA1833E7A9C05",
-    "data_elements": [],
-    "encoded_section": "3790137E34824746AA819ACC4C60043B9B3D2791100065C80E3A90B498B761A7C07ECFD92DF69001FAA0CC5A0DBDC1AAA92FF3ECD5297778",
-    "identity_type": "private",
-    "iv": "5407E8912C6A7CC71C741306C0848964",
-    "key_seed": "567ED96D44DD13369424A930E8340DFB1B3A5423A3A8EC36EF30A5CF95B0CBDD",
-    "metadata_key": "6265BC696E8C105ABBD597107653950C",
-    "section_mic_hmac_key": "102CB9E93C412A3E2D267FB56147326CBBBB34CA36471AE61B00EDF4BB24B35E",
-    "section_salt": "65C80E3A90B498B761A7C07ECFD92DF6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA4E1434567DB6531BCCE1A5D8142D5C",
-    "aes_key": "52CA47EBCB645595D4CAEE61A9B3C181",
-    "data_elements": [
-      {
-        "contents": "53ED1098F6A0BAE7CF9EC6",
-        "de_type": 128
-      },
-      {
-        "contents": "A435650C36CB2E6CE210E52065405617925507797DD8",
-        "de_type": 761
-      },
-      {
-        "contents": "F3E6",
-        "de_type": 242
-      },
-      {
-        "contents": "D4B6AC531A7CC0B6296463AE4E98D99FEFE577CF473CFA4D",
-        "de_type": 556
-      },
-      {
-        "contents": "185BBD798D78329142610AF413428555C31F543D65093312003D17BAF8",
-        "de_type": 388
-      }
-    ],
-    "encoded_section": "9E90130A0D321186AF0AB2F4AA4379978B717B911000221CA03F0091EF740A7A59E45C6A8B4B9002AEB4E9389E0828052CECEBAB082423E0349E44EA64E5532DCF3C323319E13345127A426379FB1E494C9BB9D6DB2DF56FABAA87E47E7901F2D4805002F428B000CC4DFFDCFE8CC9209596718BD5636C25C177E7726AE4730FA153ABA0CDBBEF47A077EC595144440F725EE5CF6914DD6FAB91AFB8B1FCC5",
-    "identity_type": "trusted",
-    "iv": "4936E010A41A65BA9541DC9709158FD1",
-    "key_seed": "9E67123907427CA52C8260AD5B362365EFEE24A87BBFD9EECD3B17C0A9560CED",
-    "metadata_key": "E2A5139BC71D9F56DDA6FD58CAF4C72C",
-    "section_mic_hmac_key": "0E95D0175A99B701BD80DD3B51C02D70DE1D67FDED07F96D3870A89D995B5D27",
-    "section_salt": "221CA03F0091EF740A7A59E45C6A8B4B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D3721817C8956FE858948C1931BCF455",
-    "aes_key": "E929945B8EE42B6E003C3E073189C621",
-    "data_elements": [],
-    "encoded_section": "379013036FE7F04378A9A1C2894954362311F3911000044A465A357C84AA284FC794D2668FE99004AE1D9D5ED13C9D6409BB549FE27B8814",
-    "identity_type": "provisioned",
-    "iv": "66FC1EA30719B09F2E504C0AEFE155D1",
-    "key_seed": "67E133E44ABB305A340F39B513135EF0353DAAFD23092784520DC9199E9D14F4",
-    "metadata_key": "1A031A4C41C8DBDBF482E9945F3E928A",
-    "section_mic_hmac_key": "5FCAD75E7446707C69045518E605986A8BB0F25A0F986648516727E5B885D78E",
-    "section_salt": "044A465A357C84AA284FC794D2668FE9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4B352B0757FB0D8DC0AFD2AD77FC8F30",
-    "aes_key": "FBFE41732E1EADFADC6DB41D32E7B56D",
-    "data_elements": [
-      {
-        "contents": "93E38ED62D376819",
-        "de_type": 571
-      },
-      {
-        "contents": "91B3ADEBDF3A97DA0A772CE21F2272BD4E1EFFA70DE4A3014EE66C",
-        "de_type": 921
-      },
-      {
-        "contents": "348345",
-        "de_type": 660
-      }
-    ],
-    "encoded_section": "66901389B03B6684D250EF07E1913E8A54843B911000908608D294CFE21DCAD59E6B65063026900457E91F0F06E7F3A59FCEEDDCCCEAF0BB6FC1C31762C5FF7E60EECBD37BE8FA1CFA439D9FD3F5EC98F22B497151EFF602C8868F429469544FFACDCBBEA6056D",
-    "identity_type": "provisioned",
-    "iv": "BD6A74E891B7616A8704F0D2B5361A22",
-    "key_seed": "9ADEF374AE5C0763B4C81FAFACFC3FDD00BB31EC2BDABF08F72E0CC25C8F8A0B",
-    "metadata_key": "D925195F47F2C12E5837398262F9894B",
-    "section_mic_hmac_key": "D4CCE814EEB5CD71C084A1E98D5C3F1A0632DF311D665CC6F1225C1E20561B94",
-    "section_salt": "908608D294CFE21DCAD59E6B65063026"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "08B9B51BCFBE04D4523BFAA17837286D",
-    "aes_key": "23C322B350234D1FA4023DA8FE2D381B",
-    "data_elements": [
-      {
-        "contents": "57148223",
-        "de_type": 549
-      },
-      {
-        "contents": "ACE590C4F65B4143CF4BB7801CDD",
-        "de_type": 957
-      },
-      {
-        "contents": "39FD3C339EB0A86E78FC096FB33BB284",
-        "de_type": 22
-      },
-      {
-        "contents": "",
-        "de_type": 120
-      },
-      {
-        "contents": "A840D248AD83380304C9BDC1",
-        "de_type": 534
-      }
-    ],
-    "encoded_section": "72901304935566CA4CD8AF2420D84128E1F8A891100051A5D7C9F920639AF9C89DB51DC724079001821FD769D4AAE093F00DB6744A7E61A70B1EA33D810F7F266AF3FCD2841A2177DED23CA8C60E4574DF4EFFA31C21D27E39731EB7EDB802287ED62D075FACABC42C9407F742D333A00B6F40",
-    "identity_type": "private",
-    "iv": "FFE0673572F02D6F02CB5CD380B2F345",
-    "key_seed": "80C545E5E6F1E3531C0FDE45C8DF59910DDAE325F822C84F4999C344E7B6E572",
-    "metadata_key": "A473658E9F2E4B02A48FE08F5A9A03A0",
-    "section_mic_hmac_key": "279DFAB67F702246B59FA57F0700ECFB97580F0D8F2EA56C621FDC55626B13A3",
-    "section_salt": "51A5D7C9F920639AF9C89DB51DC72407"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "397658B7EB19939359DB8BDF7DC09977",
-    "aes_key": "355D838167010BFCD65619044A34AF0C",
-    "data_elements": [
-      {
-        "contents": "A329FFEB42E67FA6E8C08620E087CE7E85FEFCBCA1EFAF765F",
-        "de_type": 885
-      },
-      {
-        "contents": "157803B1904DAED114559F0AB2",
-        "de_type": 480
-      },
-      {
-        "contents": "703A8005A3EC894539CAAE34",
-        "de_type": 354
-      },
-      {
-        "contents": "596FB5EFEB49350FC8F683C80926EED7054787",
-        "de_type": 187
-      }
-    ],
-    "encoded_section": "889013C5BDBD074C803C8A17E3185E1BA6A571911000395E87FC0DF8B105176174C1D832DDC090044B65DD586A362858D7A824EA454FE3671CC784DF5ABC89CE611C470D04F2F44C9D474610D038A521A619F9703BBE8B0DCF18289A924A01516C63272F03524DEB885D5FD708D66D9D673C553578B27D514441ED938BC1754D94DFAE47BE20B6E2B7",
-    "identity_type": "provisioned",
-    "iv": "22D55CE5BCCD3D372782C35F5ECE49C3",
-    "key_seed": "DD3D65E71C5DFE02F5BD548BBBBA3F38FE8926D0CA9A50804EDA24B3EF7A2868",
-    "metadata_key": "888FC2EA55F320201E6252FB7DDBA66B",
-    "section_mic_hmac_key": "AA0724D6E22D4887021B351D9D201A618F8F303201E283F79D95AFE23DDA4CDF",
-    "section_salt": "395E87FC0DF8B105176174C1D832DDC0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "653ED3515E8811D572C1B7765DC268E9",
-    "aes_key": "686C0B1F2970A3CAD0E2B1209A5A5B78",
-    "data_elements": [
-      {
-        "contents": "B17112",
-        "de_type": 147
-      },
-      {
-        "contents": "FD920FDBDAC1D5",
-        "de_type": 721
-      },
-      {
-        "contents": "C817A535ECD2C643341E6230F44B67C8D06F228B8EDD",
-        "de_type": 612
-      },
-      {
-        "contents": "B6D4633DC57509F731479DE1127117E11E333682374DFB",
-        "de_type": 544
-      },
-      {
-        "contents": "5321F349",
-        "de_type": 876
-      }
-    ],
-    "encoded_section": "81901327A67FBB0CF04078320EE77A2873B8E09110007D7C2E8E278663EB6A532BC7848229B4900227C099A8BD586C51B776FB08D9D29D095070255058F840466D79C5E306488458771690C02C4AF052F3A53EFD7920D40FDAEA1354F4E5B87C375652F2DA4ECC2D744C36C74FA3380799223848829E7C594479214C31205A740524",
-    "identity_type": "trusted",
-    "iv": "263DAD92EC0DB2C39822FD26F2AD62D3",
-    "key_seed": "428968D9A9F686878BF560B65ECDFE3B38569FF712AF4EFC58564CD92AF3D980",
-    "metadata_key": "BC7405270D0F5841C3A3D3D40FE79873",
-    "section_mic_hmac_key": "A463136592A1F07BF2CC6D80071A290077283DB827AB456A4CDA64588019494F",
-    "section_salt": "7D7C2E8E278663EB6A532BC7848229B4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "31E689DE84F116A3C449F0B5D8A7288D",
-    "aes_key": "A6E2770208FAF2A476A475D770A3800C",
-    "data_elements": [
-      {
-        "contents": "DFF2C917C345C09B31E08B347E588FC64DF374BA28",
-        "de_type": 218
-      },
-      {
-        "contents": "3484B697920F1CBC",
-        "de_type": 764
-      },
-      {
-        "contents": "FB57C8A58AE76571",
-        "de_type": 686
-      },
-      {
-        "contents": "386218D2313E3A5EA2",
-        "de_type": 723
-      }
-    ],
-    "encoded_section": "7190132B37ADFB276B7EB4C503CECB801FA3F3911000CDC1162295B9A8A4CCA4AB56810D571A900273FB6BEA176F6DE9E6140EF7A28FAAD0A9DA45DDC9E40E4CE30B514CC388036F31BD93B0AB6F9EDC96583E089F70DEAABB3A6811E35A5463452308A5684FBDE3CA57D9CE8D9458C18606",
-    "identity_type": "trusted",
-    "iv": "3B99F43C244F3D82B2F519F26B2FD6F6",
-    "key_seed": "A80F5C4AC0EDDD45BD9CCE9240FFC30E4616F733172FBC34E7BF903E052A08D8",
-    "metadata_key": "3C7D19DC3473CE74F9629F28BD35D441",
-    "section_mic_hmac_key": "B9C76D0EFC21D1EA2AF1A595745B91DE11AEAE661FB727846B887C85AFC79039",
-    "section_salt": "CDC1162295B9A8A4CCA4AB56810D571A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A95C623FA8B0993A51FED27660FC46C",
-    "aes_key": "F6FEE1C8CC0D3E0E0B994591AFA98C35",
-    "data_elements": [
-      {
-        "contents": "6C0370D55999B1BA966C80E76E5A3143B0A6E9D0766601",
-        "de_type": 508
-      },
-      {
-        "contents": "EC68D3C546",
-        "de_type": 542
-      }
-    ],
-    "encoded_section": "599013A1EA22CB6A535194CA61B0F1D589DE5B911000D80A718BB8F999D070DC63B1FA1AB2629004697B686559499F94149621FF9F55241F4B64FFFD0A441863DFEA40E65ED5212335F948EDCB6DAA735F19776A404221BC469D",
-    "identity_type": "provisioned",
-    "iv": "D6FBED76B19AABBD88C9EA200FC3C231",
-    "key_seed": "8A4E313D9ED5FB9056A2A329BC4BA88A75C1BA5540496647765AC14FDD884FDA",
-    "metadata_key": "F3D9C6ED1DECC720D7640D5B0FA3BFCF",
-    "section_mic_hmac_key": "C7A6BD4AC4BF8386D2EFB23E0497F7F1C74CE0C45DDF2DF851D857F2EAC01435",
-    "section_salt": "D80A718BB8F999D070DC63B1FA1AB262"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "15D51D5529B6554802E05F2B0EF4DC28",
-    "aes_key": "F4EFE9267FF46EDD2B41456BB04F5EEB",
-    "data_elements": [
-      {
-        "contents": "7CE8",
-        "de_type": 187
-      },
-      {
-        "contents": "88EB094065F1E658E0B8265BC3F782C4",
-        "de_type": 643
-      },
-      {
-        "contents": "5720AB47DDC16762C5AA",
-        "de_type": 248
-      },
-      {
-        "contents": "0579EB83BD637F0CD137C57BF03F232166577572F6",
-        "de_type": 760
-      }
-    ],
-    "encoded_section": "749013DAA2590C575668648A3B6F693BB83D6E911000A98545FD8338EC5A966F1F501EBD5316900192E54C5C045F96FE474951DDA6BFE1E45CF6CB0F1FC97E9959BDB0AC58C60B5804E852491D23E443DCD3DFEEE8EA634974AB9952BFA30DA8B11DD97C0CB154A2A32C5A5E301E28C550DC2409C3",
-    "identity_type": "private",
-    "iv": "72EC916B14A083F2E7B345730323CC8B",
-    "key_seed": "AF922192993E36A50CAC64F9BE2ECE249DB8B2CD256D74B729551D2F45FABAE9",
-    "metadata_key": "21BEA9236D94154587759956D3F73485",
-    "section_mic_hmac_key": "F1FCD0DE064ED425D757B87220A95FF47F6B3B9DFC12A1E8D2C31B5C37CC067F",
-    "section_salt": "A98545FD8338EC5A966F1F501EBD5316"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7EE7B0CA063CE2CC1A2DCEED5FF6714C",
-    "aes_key": "BDDC38B2F185FD0B4F644ED613987035",
-    "data_elements": [
-      {
-        "contents": "19E3F28620",
-        "de_type": 502
-      }
-    ],
-    "encoded_section": "3F9013528238500EB32504E2DF4B101C2D7FE4911000BC04AE42E6A53E5EB4E86672375D905C90041372637B3F4839D1CCBCEAE0B52A6572106DD6E116AA3488",
-    "identity_type": "provisioned",
-    "iv": "1600C8A4C762DF0E381EEF9244F0BCB2",
-    "key_seed": "503A4D71E1FAD56FE3DD7F8FEB65ACC7F116E09E19B8E7BE7EE89E46D0366B1B",
-    "metadata_key": "9BC9C621E4AB6A57CAA69475ABB06C4F",
-    "section_mic_hmac_key": "B7D4BEAEB788E9CA0445663C6EC20E21A73EDF73FC4A8DD61A948CB6C21C5CEA",
-    "section_salt": "BC04AE42E6A53E5EB4E86672375D905C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "84ECCB6CC061557F886B9245936C76D0",
-    "aes_key": "7F3B0C1BA0EDD583625029C096DD029A",
-    "data_elements": [
-      {
-        "contents": "CA7963078A11D0A7228C6CBA3744CC798AC512FB3DD9DCFE",
-        "de_type": 967
-      },
-      {
-        "contents": "C7D4BCE12696450F47D9EA845672",
-        "de_type": 431
-      },
-      {
-        "contents": "177DB2DED349ED0EC2447742",
-        "de_type": 910
-      }
-    ],
-    "encoded_section": "729013B836C7E8CD3614C380121EC46833E761911000FD700ECE83DE5196B3247F17E0C7B8C2900471D9B6AD99D7935EB289FEAA1BECBD93D8E91AAEBF23F71D856A1D211558A798F1593DF65C74FF1A11691490EE59F50088E778193E2B82F10B63A019F699E6276425DE74B67A6997E7A199",
-    "identity_type": "provisioned",
-    "iv": "2A30A215680833E42AF075488E76C5C6",
-    "key_seed": "47C165ECD9CE942B7213F794280434AF22A2BA002C5C841D3AB6D53F8AD6F3BC",
-    "metadata_key": "0D9AF4F93F888702495D34C8C38C9C1A",
-    "section_mic_hmac_key": "804B6DE7ED0C8CD36BD95E305C4E03946C8E398E2CD8E6D1D6C0D987E01897D2",
-    "section_salt": "FD700ECE83DE5196B3247F17E0C7B8C2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C52DD0C0E31D56FCDA7804C58A6F3399",
-    "aes_key": "0E2385A585A2092D068EEB158B3B816C",
-    "data_elements": [
-      {
-        "contents": "7A1AD7A0F081FB5E75D2AEEE6B34E40AA9C45FE2BB68C0F4",
-        "de_type": 552
-      },
-      {
-        "contents": "78598CA8AA45EB9D46",
-        "de_type": 810
-      },
-      {
-        "contents": "",
-        "de_type": 233
-      },
-      {
-        "contents": "30827F3E80566B78620FDBFFE3FE2D31EA2FB8AA41E7EF2FCA",
-        "de_type": 557
-      },
-      {
-        "contents": "7BA140F266BEB8206478BA90",
-        "de_type": 880
-      }
-    ],
-    "encoded_section": "8C9013B90FBFD47BDC1DCFB3485BF6F2C909039110007D1B4708E6954D4C0804966FC950EB44900475C5B49C69BB677D07FC03DBE39284AFFAA42C55793F626211D1CC5907A788409D6A3CBFD4733A315BF3F2462B8C178BE54FDEDD30AA166BE53268874FD8873ABF7B2F33C42ED03E57F54B94023F17A7C6C7CE53C370513D892F41ECCAC88F501E55DFECD2",
-    "identity_type": "provisioned",
-    "iv": "2CBD7DCD77B66F17326CA3E36E31DA3E",
-    "key_seed": "6C7E8B7296170D5C035E8738E66032688E1392FDD96567E94592D1B001E4833B",
-    "metadata_key": "ABD68F6323A32F1FDB2F278439E1D526",
-    "section_mic_hmac_key": "9B87D3AEC1B5C3199643D8542122D7EC1C619A6241F194B04929609E8598825A",
-    "section_salt": "7D1B4708E6954D4C0804966FC950EB44"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "835DD484D2FB9B6ECA4A3EEC6067A7F6",
-    "aes_key": "2DA3CA25BB833993F56C8A66D16ED327",
-    "data_elements": [
-      {
-        "contents": "C44E2A5E5625A6",
-        "de_type": 860
-      },
-      {
-        "contents": "2134F33D2359D4F288D3A7977D0C8001EA2B4EEC98BC93DE27F9DE0FA7",
-        "de_type": 523
-      },
-      {
-        "contents": "993DA1984ABC29C3B21A11F03125",
-        "de_type": 683
-      },
-      {
-        "contents": "C1ACD752F8FD5786645E11DEAAA13BCE",
-        "de_type": 865
-      },
-      {
-        "contents": "341BAA9E743EA09FEC2E9282EA6B132D48309B8DD7F1F946AE68EFD43028",
-        "de_type": 613
-      }
-    ],
-    "encoded_section": "A690132E3DED612DE97EF7F9A44BE590A63D2B91100032FB76369CEB20CA101F1007ECE8694A900403BBD86CE0A9D8F2188B771C6025C47E9B3B31DF6640F8254189CC17F45B61470F01CEF3C0F22720B9ED4EAC50100F4015DD4049B640741067959EFCA41ACA09A216E34BF48DB9377CBF1EA080665151195475CC8FEA2CCB1BCA845314547E3540C1184B0D27C59BD76642114F823391E1358A05FF9817F31C19125F1C5DFF",
-    "identity_type": "provisioned",
-    "iv": "1C0CFBCAD7A73BE78ACEEC5AD98A6506",
-    "key_seed": "10E128D39BF362EC6FFD8E8E1686E0BDD731892BC2A40524346E46905AB097AF",
-    "metadata_key": "EFB6BBA329C8523F0D9593F267ADCFE3",
-    "section_mic_hmac_key": "19B833BD8554B60C5A689185D7E087A08B15186B42AEDFDCE2238A7BBC3A120A",
-    "section_salt": "32FB76369CEB20CA101F1007ECE8694A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "771BE78E465BE4E1C94ACB5E4B4ED943",
-    "aes_key": "52956780EC21E2BAF2C9BF59C7C03E3A",
-    "data_elements": [
-      {
-        "contents": "3369A56AD364F5A53D4790B0C56E920F79",
-        "de_type": 743
-      },
-      {
-        "contents": "7C7FA8A3BB5B8239EB0AF0D3BF",
-        "de_type": 344
-      },
-      {
-        "contents": "0CE02F21FF72540ED4351A6F04276489D0BCCB",
-        "de_type": 649
-      }
-    ],
-    "encoded_section": "71901301F306AEF69B7E55C7198404150FD74491100042AFBE3BB7529B6CE1957A34DD897301900416173A7AD7E611475C2FBE369D84DF2C53203A301A4CD74CE4B1C52BA023FB02B145DB1BDA8040E38F09290D173FA538917FDED3CDDA945A215A954B9B627FF1C724F32B958044C7AD01",
-    "identity_type": "provisioned",
-    "iv": "104F4E9AE0F9B86C604E225E535AED28",
-    "key_seed": "E36C5E16253B098CF1A878723BC88CAE483B7CE4F075210834DF5F4232B3D721",
-    "metadata_key": "506A4A3A85045F7ABCB2AC0D381C86EA",
-    "section_mic_hmac_key": "F79D72CE2DA34D0B002EBD4CEFC93DE588B78E3D252E44D9F154EDB987BCF86D",
-    "section_salt": "42AFBE3BB7529B6CE1957A34DD897301"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C8E0431CA117B1831BB6671CA7AA07EF",
-    "aes_key": "E7AA3598705D6B36C70661E4AAEFC72B",
-    "data_elements": [
-      {
-        "contents": "E50F0C47F610A27F273715EFD96E61AFC41F07F2",
-        "de_type": 424
-      },
-      {
-        "contents": "EA8A291C59E1",
-        "de_type": 432
-      }
-    ],
-    "encoded_section": "5790136D1DDE2484AA68F62E5BE1167BFFEF169110009500FA6CDDCD547D0BEDA1D6AFC6F04090024468565BA0402401B76CF55C729B5FE569695A820992D12CE45A465092D826C730310E13D9F8EC5D7D5717DA77C6CF46",
-    "identity_type": "trusted",
-    "iv": "71D6A3CAE2740361D9ABA1066E7330F8",
-    "key_seed": "DD5E65D75F8C056BFDA78D3EECFD5A42A9397ED1F0BB12378D085F0B70F8750F",
-    "metadata_key": "6C92FE3FDA57C9A3553A09FA5B37D77B",
-    "section_mic_hmac_key": "71C6651A3B4956C3C5782D13E4FE870B4D5492C3CE9BEE8374F1D5298147D14F",
-    "section_salt": "9500FA6CDDCD547D0BEDA1D6AFC6F040"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "09371C9C7EAF87C2E11BFA366EB616AF",
-    "aes_key": "84BEEAF36C24AA0C83C825E4BE3F10A3",
-    "data_elements": [
-      {
-        "contents": "4281AE866AE1A0745A5E6C3842",
-        "de_type": 254
-      },
-      {
-        "contents": "637873B552AB893BBE8CBFFA65E859CB95F2",
-        "de_type": 935
-      },
-      {
-        "contents": "F0AC06ACF732D6E74DBA2367CE64432210F0C03A9C1093",
-        "de_type": 950
-      }
-    ],
-    "encoded_section": "769013BCFA668DEBAAEEFE66D7CB5AFF0DDBC5911000178E6852E46CE22115DEAC0CBE53D4A8900479D4969091D3685CE787E51C0B7BAE37FBCA6A67BA8CB03A1BB9D1A08E0D7E6365AB4AE42CC2E445E6E302A7C1BCF28E69ECE32FFADD69F0BD5EA0297DB7241022BFFFF7746884B4A7A55FE41E2A50",
-    "identity_type": "provisioned",
-    "iv": "972F1E1A54C9BF5A318CD2F381001A0F",
-    "key_seed": "20054A2AD5787C8190261524586AC1317AB9A939D775FC8A5559736F67F8EDC3",
-    "metadata_key": "29A2753D8D2D165B52677B4478E148BC",
-    "section_mic_hmac_key": "0F498B4B84396C4E4BBD8EA8AC04D100CFD0993AAF4630865665155399FD7CE9",
-    "section_salt": "178E6852E46CE22115DEAC0CBE53D4A8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "312B34C1F8D62CEF39CC22C6718F2AB7",
-    "aes_key": "1393D21C5EE04A4ADFB2A154F1BC0CE7",
-    "data_elements": [
-      {
-        "contents": "897F9A471F5A3E7ED36837AC9911A40B3546DCCA1FD9DE7874ADC67A",
-        "de_type": 852
-      },
-      {
-        "contents": "4DF6900031FFFCE8F2E54A3AA4337FF095D50D25B677AC204B57",
-        "de_type": 813
-      },
-      {
-        "contents": "850EB9276E6B8A933DD66B44F18F2CA5",
-        "de_type": 44
-      },
-      {
-        "contents": "E814D95425E1DDC645357D54D569E223CE74",
-        "de_type": 822
-      },
-      {
-        "contents": "CD7697BDE298D3F2C6",
-        "de_type": 97
-      }
-    ],
-    "encoded_section": "A590135059149E5A7168D5647488D33E4C5D1291100043760DEB67DD337023E74D8057F8D0B190015EEC17F40A65777B5FD8DFD42A41610D7405BE1ADA0FEC3FF9582ACFA1BADA3027626CC70E0975642DC341B332E735BA412C8C217BC425C11B515077701A5384F7E66F54AF4137938CA1F8BF584C54AEA4FEC7A508FCDE1F7F045182F31C1DC9A486DB90340F79ED72F39D26D658C766AA4A149387CCAE407EC5013B7A61",
-    "identity_type": "private",
-    "iv": "CE7902AEF1D998C6ED70A23CAD78AEE8",
-    "key_seed": "9B2B2B4455F675F8BFD7D6EF0D11DB025DCA56B8FDCC3F91E381A5F588F2AEBD",
-    "metadata_key": "AC5D5DFCB4B394A76C768472CE1C4DB7",
-    "section_mic_hmac_key": "A42A8C6554F3CE2FA45E52702A152F0B5AC825789727105DD723478778B410D6",
-    "section_salt": "43760DEB67DD337023E74D8057F8D0B1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1E2C19C423EA98927CE4F1FFD50DE67E",
-    "aes_key": "36C1EC0F045707BE7FB3744C95E33F09",
-    "data_elements": [
-      {
-        "contents": "9427449425",
-        "de_type": 409
-      },
-      {
-        "contents": "FA4CC2EE4D6A",
-        "de_type": 341
-      },
-      {
-        "contents": "CEA2CA161176B4C3B33134476EF837EF32B5D278660CDE48E6B03C81F17F",
-        "de_type": 102
-      }
-    ],
-    "encoded_section": "68901308621A6F1E729548386EEE826FB947109110003A5233398F5D3BE64AE007254529830690022A40871AEDE5A3A73C83A9E5220F800AF29C2D8CC34A6EE29734B811823BBB805D32FE9C34BD588DE52C3C9B5FFDF5722DCD625D10AA0B72943A2BB61BFF5E5109",
-    "identity_type": "trusted",
-    "iv": "FCE402A294C3AE2A8D0F94417F0A990C",
-    "key_seed": "E4DA5C79DB8653F6C010ACEC3D8D3A728690FCAE87811AB4B442CF8888597E7D",
-    "metadata_key": "140A593CCC7E365D5E08D7B30ACE7B1C",
-    "section_mic_hmac_key": "410D6C692C1A6E677B21261AC4EE2D61087FE874265E1A23BD3996208779682A",
-    "section_salt": "3A5233398F5D3BE64AE0072545298306"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "88E66F0BCB2F75310F193D23254ABE27",
-    "aes_key": "3BC020A4C2A62B57BF29E29668DB8E5C",
-    "data_elements": [
-      {
-        "contents": "B7",
-        "de_type": 727
-      },
-      {
-        "contents": "A75A29",
-        "de_type": 909
-      },
-      {
-        "contents": "8DD038868341",
-        "de_type": 505
-      }
-    ],
-    "encoded_section": "4A901365F4100A29450DCA93B0632DA7DABEA79110008CD04A9DF97342A29F966C6BAFC2A962900112DF363FE2D500C29E75E28E5D7831F485B3CF426A87B4BA74379063395A62240A0F5D",
-    "identity_type": "private",
-    "iv": "28152DA95BB94508449CD3C229459A76",
-    "key_seed": "A03E79B5DC16D85A779CB85A0771817415A6DF256701B261C1ACCD6B4D5CD2D6",
-    "metadata_key": "3FAB498CA08113604E40C3D5F393006C",
-    "section_mic_hmac_key": "3F13BE4FDECBFFDED1AE34D92642C7CEF5C406B877DE00B647EE908C12E6A95E",
-    "section_salt": "8CD04A9DF97342A29F966C6BAFC2A962"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AEE14DB3ADD86B7B5DF9484C853A3781",
-    "aes_key": "8B112E04E5BD800D5169E31665A707A9",
-    "data_elements": [
-      {
-        "contents": "C01854F342050239D5A83BC58D8BCC107B",
-        "de_type": 364
-      },
-      {
-        "contents": "B06F3F2E6DCE4B0C488F1FBA9A3E09FAC662",
-        "de_type": 793
-      },
-      {
-        "contents": "A516FB2431DB05EBF5514F03650339568203BFD3FD5844765D3BA41A",
-        "de_type": 57
-      },
-      {
-        "contents": "0321515318EC9D9071445D0600A67EF2971E",
-        "de_type": 688
-      }
-    ],
-    "encoded_section": "939013ABCA1090D779D697AC56F3591EFF812E91100042E5D94F3697DAE433EB544B01407F509002E58E223728C742FE9FDDDFC05278550FBD564FA0520DF322B90B6F2C18C3E281896D409BF9CFDBE0306DAB483B407019ABAD11FB0B52420CA2CF238C20C05A31ACCF6911C5E2C3488705144CA481B31672D7BF316EF49CB3D88BEA3115DFBE71B69EE065D12039CE5166C9FC",
-    "identity_type": "trusted",
-    "iv": "3BB0C86F4784D62474D2310BB337A09F",
-    "key_seed": "EDAA78185A1A5175083E82BCEC82F099C8331C5C132E9719C5CFD92154857279",
-    "metadata_key": "7FC7DF905655640A265CE4249EF2343C",
-    "section_mic_hmac_key": "FD55BD1DF6A3A7B11CE1F6CD6F54B5D5F467908CA565EE5EF51D8E87DAD23F3E",
-    "section_salt": "42E5D94F3697DAE433EB544B01407F50"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B7611E4DB66970C64C508B012B19D038",
-    "aes_key": "2AB8E62B732603133EFE0A777862A3B8",
-    "data_elements": [],
-    "encoded_section": "3790134C043B652FC7D9BB7E47E7C074C00E9A9110003B975A14294937B99D71E213A16D49749002D1804746ED376A0B7412BA53650D6F5E",
-    "identity_type": "trusted",
-    "iv": "896CA16D40C2FE9EF467463B781B2D30",
-    "key_seed": "C8CC1B103276D084459C1C0ACF7EB4E360F9E700891FED6676E6D1075B19A369",
-    "metadata_key": "141C175A69BC895A7B2F6DEED99F036C",
-    "section_mic_hmac_key": "D3219E1AB65611823B84767FF42E79D91D19EACC7C057CE11954FF13B1E1876F",
-    "section_salt": "3B975A14294937B99D71E213A16D4974"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3647592C7FBDF648CD7EDB024F33BD04",
-    "aes_key": "3A1A12B6FACDF29899EE462AEBA9B344",
-    "data_elements": [
-      {
-        "contents": "88A9B2A6",
-        "de_type": 712
-      }
-    ],
-    "encoded_section": "3E90137DA38E03A36C9F9176947F63FB67C12491100062620E36B963B4DE09225791E16F486690016BB6BB370C97BE4450674D73D9130B348323C380B88DC8",
-    "identity_type": "private",
-    "iv": "1BC76C617AFC378D7A296ABA4757EA3F",
-    "key_seed": "C61557026D3D253A85F7AC194BAE74A1E761F59DAD126F47136E993CF2F5B6DE",
-    "metadata_key": "D0ABA18228B34F9AF59D7248CC844111",
-    "section_mic_hmac_key": "8FC4925A00CBF30B6ACB61EE98B832AEEBB03CE0ADDBEB4D989FAC453FF32F15",
-    "section_salt": "62620E36B963B4DE09225791E16F4866"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "40952DC0D221AE688E3E7162C0923F0C",
-    "aes_key": "19B5C1C6D9E48CC519A20E81D5D63604",
-    "data_elements": [],
-    "encoded_section": "379013E18D5027806A73D9048564062FA8098991100014034FE308AA953FDA2D86F85CCCEA57900257D1F879E535C6C429BC4A2BE220EE7E",
-    "identity_type": "trusted",
-    "iv": "BEA9A319D926C16A93C7C563D3A4725B",
-    "key_seed": "F701D04F3AB67A553F3F007677AE499E1F573CC2AC9219EC6386AC9C001A55B7",
-    "metadata_key": "758A0996ABFD4059E79623EEE974A91D",
-    "section_mic_hmac_key": "B2C8BB02DF87BBEACA0088A3DD4B94036C80788AFE9D7BCCCEEF03265C97B824",
-    "section_salt": "14034FE308AA953FDA2D86F85CCCEA57"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "756FDFECA95A8AD628CC57BB41E734AC",
-    "aes_key": "94D6D7BB94A5503D75AEF2C51C940589",
-    "data_elements": [],
-    "encoded_section": "37901353D770C75B341EB54A72DE3DD4D0CC899110003B7992CACB34F3A9C66283E73D212F1D9001E853DD8ED1E580D63FAF80B4FB4F620B",
-    "identity_type": "private",
-    "iv": "8121921E27A4466509E573B3255F16CB",
-    "key_seed": "A14520D1E0ADBEA8EDBD90360368C3B198C604A2340EF83FEA134721D6C79613",
-    "metadata_key": "7AE0BBF927B2590C49791320A4325B68",
-    "section_mic_hmac_key": "D5727682C5055A4090FAE17716DF6B0B0E321019C4D0809E8200850A4CBF458B",
-    "section_salt": "3B7992CACB34F3A9C66283E73D212F1D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "82B7393BD43AE40BB06D1A3A2823133D",
-    "aes_key": "469CBADC1BB8023F1BA0DA05A9310B22",
-    "data_elements": [
-      {
-        "contents": "40A863DCCD4054C96E",
-        "de_type": 667
-      }
-    ],
-    "encoded_section": "439013C0F02349BBB2FDECE00F7C9296899417911000EF4B9DE242CE6D6AB6DA0B896C786F389002B25529FA48ADEF1CE9AFD454048A8390B4713EE35D5B6314919CD64D",
-    "identity_type": "trusted",
-    "iv": "D7DE8E7D886512AD0339056C7CC54C62",
-    "key_seed": "BD980624836660BA2C0982812F6F23078802E982DCEA461EE94BD4E8922BC8B5",
-    "metadata_key": "060B8DD7D93EFDDCE3FA26ABE785B9E0",
-    "section_mic_hmac_key": "BE821CA0FD33D9E57C3BCE1371AC54A6DC461EA194D0910EA9B38691F76434E2",
-    "section_salt": "EF4B9DE242CE6D6AB6DA0B896C786F38"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E4160F1914D232240945FBF05EC8DA4D",
-    "aes_key": "673A79D26DA0EEBFC56E507EDB61F814",
-    "data_elements": [
-      {
-        "contents": "BC315F251FB68CF65A3663343CA7",
-        "de_type": 562
-      },
-      {
-        "contents": "DE7CC83BD90D587EE41E2EBEFEB39E85BCCB1B876DE2A3ED7B9CD046",
-        "de_type": 259
-      }
-    ],
-    "encoded_section": "679013B3FABC50AFB0E2CC60D03D341293DFFE9110000AB560F9226EAE8DFF4EDA62A661E9819004946BD0DE5F133F9AFA422180C709FF504E166A3FF94760F24B0248E830D4E848058AF863E9F4296908B3F1061FC8668480676FDA3DCDCCDD5B6C11A9AAB632B5",
-    "identity_type": "provisioned",
-    "iv": "3DC82BB10A656986B8EE35FCC6C4D681",
-    "key_seed": "DD867E8AAA962AEAD05B0A027C1D0BF098AC2B5A9BB81F6629A09A3DB6DF77A9",
-    "metadata_key": "EBED6F7F0D41A90BCFFD07DC38AD4E7F",
-    "section_mic_hmac_key": "52835EE8B0354CC1819B4543F5216BDB806D6202C824FF1BA2B1EAEAEF7B667F",
-    "section_salt": "0AB560F9226EAE8DFF4EDA62A661E981"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "23EC2882AE29D794E00F3C929ED4EE82",
-    "aes_key": "21B174B8C2B2C1C32A151FFB3BEE8682",
-    "data_elements": [],
-    "encoded_section": "3790137AE67F61984C37A01FB8B94165B8EB269110002A37AE16791BE17CF76D244E7714E43190024E181B5BBB9F5FB00E6A774D12FD3C00",
-    "identity_type": "trusted",
-    "iv": "A9BF6682AABD317E8A06D867766A652D",
-    "key_seed": "A9804B5A70F86AC25E6D501C3CE9EB2E2125DEEAB3AD5D05F0BEEDB0B70F8E89",
-    "metadata_key": "640AE8DF2C5FD30430D67174765B5D9C",
-    "section_mic_hmac_key": "33C747147E7BF5C0E36AF6EA7071655381568471DAFA92ABEBE4C78677219216",
-    "section_salt": "2A37AE16791BE17CF76D244E7714E431"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BCF6CA8BA694336C8555B15D6E06F5AE",
-    "aes_key": "18375E93FA4431A762A9B737D2336ED5",
-    "data_elements": [
-      {
-        "contents": "A84F3A8B3FC540FD359F5DBBC001EF57",
-        "de_type": 462
-      },
-      {
-        "contents": "75029C04F876937EF2CF8BE2BB09B1241CFFB0A631DE263E",
-        "de_type": 960
-      },
-      {
-        "contents": "7A26076DF65B13D39494",
-        "de_type": 555
-      },
-      {
-        "contents": "BD1C",
-        "de_type": 307
-      },
-      {
-        "contents": "DF3E8C",
-        "de_type": 513
-      }
-    ],
-    "encoded_section": "7D9013BA96BEE6CEC0F79A25B8BAEB823DA45B911000F11199E929FB5DE7474EC679FE4B5A4E90022C2DA6326BC23D58AA4E77AE3ABF66A8B261E4E78FF193835D2B9A5F3AC971BE4949847D170429A80B5D763F7D136E9063D7F40A75AABD4F956710B6D5EA391C631FEF5310261634D6578A6A7F7184508FE7CF52E224",
-    "identity_type": "trusted",
-    "iv": "0CA6D1FB7354E9E4CEF190EB8ED327C9",
-    "key_seed": "ED623407DB6E29C91192E1EDE3B83BF57EEECFE10EA5E2547C59F31F836634B2",
-    "metadata_key": "A6DD5533AE1DE0719410FABB85400660",
-    "section_mic_hmac_key": "B34016F96945E2AFA191598597EA58E6D5F5AE9EF8158B45AD50F60EF436C732",
-    "section_salt": "F11199E929FB5DE7474EC679FE4B5A4E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DDCCACFAD9051E1B99C43C413148B0EE",
-    "aes_key": "E247320C16C197987CA928AD87BA1030",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 720
-      }
-    ],
-    "encoded_section": "3A9013BCFE98BDFD2205C5C668EED3FFB8E672911000DDBE757080D8CA7B65921FC3A638646190046065B7703FFC69AF2E14B00D90BAE51F9111E6",
-    "identity_type": "provisioned",
-    "iv": "BCD763E963B259C4E19C8A6F62F05810",
-    "key_seed": "406F13FCBECBF6E301208FC9C4AFBE541728D2241C987C38D7DE961A95874752",
-    "metadata_key": "FB990D13C3D0EBE79AF30E19B6262D66",
-    "section_mic_hmac_key": "D441BE8D9C7952F3B60B023069D64BF2397257FC8FEC7A2BBC090CB2646238C9",
-    "section_salt": "DDBE757080D8CA7B65921FC3A6386461"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FAD923151B5EE843B58C5E02C8636EDE",
-    "aes_key": "D6353A97771C8967BCA9F7AE4884DAC9",
-    "data_elements": [
-      {
-        "contents": "DE7E13DAB250CEC845BABCD1",
-        "de_type": 860
-      },
-      {
-        "contents": "6531B82D346C3AFD2D276FA5E02E2A93",
-        "de_type": 274
-      }
-    ],
-    "encoded_section": "5990134AC7CD530495F2BAFB85AC93EC6F012B911000438C5B3D5AC51F66F6C683C9ACDD401D9002AC396666585E471439C0A5EF4DC05AF49B9600A96284D58D2C72807902769EBBCD923F31743ABB3F7440C3AD394CC436244B",
-    "identity_type": "trusted",
-    "iv": "30D9DC82B1A62B353A8B52CA627211A0",
-    "key_seed": "77524ED887D0A9A1A96782470380EF5672938C21EC13CC43658246E6520D3D75",
-    "metadata_key": "76EA680B23CE5062373D8F0AC9FB0912",
-    "section_mic_hmac_key": "A83C77A67D7CD424BB55C400C3F12E4FB47F6602FE03F0ED8A1E2DF1A311D1F6",
-    "section_salt": "438C5B3D5AC51F66F6C683C9ACDD401D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A5EBA3EC2EDC3DD714C2EB3288F5E142",
-    "aes_key": "CE45D560B190E915974255CA1378211D",
-    "data_elements": [
-      {
-        "contents": "80677B0D8386DC",
-        "de_type": 102
-      }
-    ],
-    "encoded_section": "4090133665BFF6F114B04DCD82E3E6627CEB879110003295E996819A16214D393D240335FD779002F049668CE0B95A53D2EB885B92DB5BBC901C37F3C5F350C0C9",
-    "identity_type": "trusted",
-    "iv": "D9E137F6608666AF35D69A5EBEEE38E1",
-    "key_seed": "F33CB9D14DD2597AD7D68D0A4F7BC85C4F32D2B7F4EE7227DABFF6FC5FDAD466",
-    "metadata_key": "AD9CC4271E2075FB353A9CB5DCD07162",
-    "section_mic_hmac_key": "0D0174A3186C8CF1D9A57AFAAECB8B284D7E08E82ACCF3AF6C39F0A27199B496",
-    "section_salt": "3295E996819A16214D393D240335FD77"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1AC1B2E96E974AEFAE2BD3E1CE81AAD6",
-    "aes_key": "BA47EF9390032854FC6FAB604892F729",
-    "data_elements": [
-      {
-        "contents": "E6063E542EED02F65B9B7BC296A3F78D",
-        "de_type": 413
-      },
-      {
-        "contents": "A5D1",
-        "de_type": 969
-      },
-      {
-        "contents": "7ADCCC9D04EE88E04EACCBEBB555CBC4A2479E1425656DC017568B74DA",
-        "de_type": 919
-      },
-      {
-        "contents": "2F0BDAD9E57D070C4667F38E193B",
-        "de_type": 949
-      },
-      {
-        "contents": "8CF202B2A335336F0A5F2589FDC3CCB21E46658B549A787021",
-        "de_type": 618
-      }
-    ],
-    "encoded_section": "9C90135BB284FDF4C800B87360099389CDDB9B911000BA4FBB4D16C95F10913371D7DCE9D3E390020CE61C619DB74977497E427B1C0E9CD9F9D3581D42AE5D15081AB1494E46914E962366A6FADD9C79CC4C64BD0B3E7A83011385919B57F8C04E17CC46D31EB470B7580195A2608C816EA4D5D34296AFD1CF3DB51A99327E8420F15A73539B451D7A7BD9915F56D2D9CBB7684C07146564B6E24B5CBF",
-    "identity_type": "trusted",
-    "iv": "42F6C7EF706340A72B05C5C6A99E316C",
-    "key_seed": "B04216F33F8E756F288B27E645564265383CC9335CFBFF47F439629236A697F3",
-    "metadata_key": "A1FCFBA76475B80E589617C587806CC1",
-    "section_mic_hmac_key": "1C62F6D1D011A26040C16859D31494E66A00896B20C852B3FCA34B065DFD48C1",
-    "section_salt": "BA4FBB4D16C95F10913371D7DCE9D3E3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "89BF5E643860DA08F54E99325545E0E3",
-    "aes_key": "B6EBB7A5B193254333D9EBA863ECDC2A",
-    "data_elements": [
-      {
-        "contents": "7A10F256CC3DF91E78DF65B24F052339E8C81DEE572D96C4",
-        "de_type": 833
-      },
-      {
-        "contents": "A15E536C45941AD26F38EE81E50E6F5C54C5DFFA12BEE0E3D25E8CC5CF",
-        "de_type": 607
-      },
-      {
-        "contents": "12CE431D2ED376FD594A80943044EA856C642D11DC0F2D9450",
-        "de_type": 31
-      }
-    ],
-    "encoded_section": "8D90139DB6F3EB17792669F56F53FA03DE87C09110003AD9600CE15FC3CE465D0228FC8CCE769001CBA6140B22FB73FB1B0E4F8950351659BD43415DC971F0FA325B81986C47A74F3FB2CB7E7374C278ACE925EBF2B7067F8E6488C4CC57BA6AEB832C8B1B4D9A002C8870DFB147033F652EF25CCF19D8D59727EA6BF61A0B52D489106BD21BF8788EBB015E1465",
-    "identity_type": "private",
-    "iv": "AEF47384658A554A58363D62F7DB13CF",
-    "key_seed": "056214B06D0378EBC92E13F6C5EB0FAD7564243DD2317D66CA38C340BE54BB4F",
-    "metadata_key": "813ED8A5314A2505023A99227D91A6A9",
-    "section_mic_hmac_key": "618FDE5AEB4E190D45EFF78AB4BF2DE14BA35855973E688853E749A69E3A47FE",
-    "section_salt": "3AD9600CE15FC3CE465D0228FC8CCE76"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5D5F06D37BE24A3EAEDC3F746FF4E579",
-    "aes_key": "E713EE216EDE341FE268F6237725F725",
-    "data_elements": [
-      {
-        "contents": "FB504B451A1F0820FE29A2FA",
-        "de_type": 164
-      }
-    ],
-    "encoded_section": "4690137FD2067B6E15D4CC6AB3E34A8295F66F911000E9A8A1CB24E1555E9EF384F4124C6BE29004A963964B7D5921A4FB27CD39CC194268B8CF554ED279FCA799130371519A31",
-    "identity_type": "provisioned",
-    "iv": "13C7A35EAACE574E2EAF7A13B0A6A32B",
-    "key_seed": "22A1BCD9F24ECC0BC71F4525D8E531EE7A5E40BAE308C43DA07F034C883C8396",
-    "metadata_key": "E6A03218FDE3E27FD782B86E176647BD",
-    "section_mic_hmac_key": "C0FB0F118A976D4B19E95AEE65EA88359C9F071CDB15ACBED9211A5B1EAF958C",
-    "section_salt": "E9A8A1CB24E1555E9EF384F4124C6BE2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95B989A608C0D6967B551F8C7CA6EBE3",
-    "aes_key": "0B231EEBD178E593D7F473D51406B900",
-    "data_elements": [
-      {
-        "contents": "36520A4632FCCBDE9AD34A32301A30B2439AB22E330AA7A18C3A61",
-        "de_type": 275
-      },
-      {
-        "contents": "5B2B4C836A013A651571B13DB670155FB746325B8F",
-        "de_type": 620
-      },
-      {
-        "contents": "DEF0BBB8C8B205",
-        "de_type": 41
-      },
-      {
-        "contents": "1B5CCECF35D720A442BB0AE56E1E91D5EE0CF2BDF5DD6240",
-        "de_type": 719
-      },
-      {
-        "contents": "6BEADE80570A85CC0D95AAB0E3DD76DC2A8123DC48D395380C",
-        "de_type": 789
-      }
-    ],
-    "encoded_section": "AD901306AE4285463C53926B1BD6FADF6E1C5691100045E4F8E6A509CEB6F9A49BE5A9B9C20C90011A4BB20D968C614C735D4923F5CAEBC4CB1C56FC8F02B3319B998A5069B4ED1BE73891C3F7D0A6F4211183456B571768FCB52280F32D2D9BF903D21EB5B98781A86FD0548F68A78703F17E0C2929BEA276A85041F8B8EA24B9D6E7D6A627A49812349B564141338E2B3C207B17EF8729E4A3E3A0079D08F33A7B34CC1499CC47A5D460CA1DBB",
-    "identity_type": "private",
-    "iv": "AFC59E49ECE5A97EF0FAEACE62660170",
-    "key_seed": "17FD257E62CE7BC878DA16C5043579B98F79732B0B817B4F2EC51738CB77527E",
-    "metadata_key": "3186CBA7D7424D1B8B47B2897F11732E",
-    "section_mic_hmac_key": "2594DDF724498B52B29F3DFD0CCA6283C3403310AFC8E4EF37FC475E30367BD0",
-    "section_salt": "45E4F8E6A509CEB6F9A49BE5A9B9C20C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EBEC6D0EF372E4BBFD8A88C319852FFC",
-    "aes_key": "AAB99254BC7CFFE24CB438DF3C727AD1",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 432
-      }
-    ],
-    "encoded_section": "3A901307CC248287D8A88DB671E1586D3FB9CC9110002CC36DDB7D7A279AEAE122BA13AA019990046C51B7CFA17821450A90C98A7B38BD5DBE4FBC",
-    "identity_type": "provisioned",
-    "iv": "685AD69EF191E56EF06D7C86714348D9",
-    "key_seed": "5F065E34B94CD90CC221ACED8910D641D4FC4C6F56934780189E4E6E67DA4901",
-    "metadata_key": "A592DE8232D18AE8E195363D4B6CD07A",
-    "section_mic_hmac_key": "0264B54BB116AB3514B39B737B87ABEE206F8CD594CBB3E9B24648C5F53E635F",
-    "section_salt": "2CC36DDB7D7A279AEAE122BA13AA0199"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "94DD0021538CC04AA70A5F77125BE600",
-    "aes_key": "F0C472163938A1BD47B15B942FAFC48B",
-    "data_elements": [
-      {
-        "contents": "A00EFC0F33C01F0AAC4F5DC6541F53C8CA5B34",
-        "de_type": 481
-      },
-      {
-        "contents": "B12B24",
-        "de_type": 630
-      },
-      {
-        "contents": "81319ED0F5EE75A123443AAA795D81B9278993C6BF",
-        "de_type": 503
-      },
-      {
-        "contents": "8224C14BE4C7CCF408C4E3",
-        "de_type": 435
-      },
-      {
-        "contents": "681B900D27F4699C820155209DAE07AD857DE896C037DC49876E1E",
-        "de_type": 951
-      }
-    ],
-    "encoded_section": "979013E5CA4E440ED0EB31935166AF13C4256A9110001ED58C6BF2B47B9556A5D909E29A7AB49002DC33B008D4CF57AC179104B3F5DDABE7D56D19EAEF9BA28100DE838F8D6B98CD2CF81FF9BA53847382E6F71E502F127A858FEBB8AE77D0A504D685DCD638CB167B60DA02ADCE29E3F57BEA20F1113C7718CED429E7A813E03208194C0C99421F55D22265B201A2D80FFB254F5FD619F1",
-    "identity_type": "trusted",
-    "iv": "807C9838F5A3DF8073FDFBAC74766862",
-    "key_seed": "ECA0F4886F264A9CFE0BD7255F6FA88B64AEE99627DD204D4100523CCD96A354",
-    "metadata_key": "8344533765DC97CD1FF2B037CABBD8D8",
-    "section_mic_hmac_key": "F0D7ABF7AC2B3A3945209EF72944671D98A4EBD63BF94CDE96EE2D364699342A",
-    "section_salt": "1ED58C6BF2B47B9556A5D909E29A7AB4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C112DEFB7B31A43E9EA8571DBA1CCAB4",
-    "aes_key": "383D18B559037EE81B05F2A3A636A6EB",
-    "data_elements": [
-      {
-        "contents": "27C28C2FF32016A4829B967FDDEC6CC7C0B5BFF5EB412D4899BC2C4A754D",
-        "de_type": 382
-      },
-      {
-        "contents": "4650A741B70621E3D576483481C56AA21F9C",
-        "de_type": 310
-      }
-    ],
-    "encoded_section": "6D90136D9098A3888E98C30DA05CCF9EC57EA6911000FBB0F01A46FADCBB680D50359653C27490017AA7C1CE5BBC717C0A1D0003F112B244703260E60034777FAB79B3B9CAB5A5E8E2A955F11A4CD50FF0D7D1FB7F8E17944795C73E8A24161A13FB2F578F549A82B2822D63668E",
-    "identity_type": "private",
-    "iv": "B87F931962984B01923EA47FD3193409",
-    "key_seed": "A9A9F32E48740489BAC39106C497D0350B42C553BFFAEE0A88D67B4A5B424D5D",
-    "metadata_key": "745B81AF3E8CC9B2FA7203A71AFEA41A",
-    "section_mic_hmac_key": "0AD484AD1377BC263AB10E7FD0990D6AF7A9F70BC9CEA564EE60913EFFBB13F4",
-    "section_salt": "FBB0F01A46FADCBB680D50359653C274"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8F20FB3600592D6EAAF2F1E74BD0CEB0",
-    "aes_key": "F9A37408AD4AB15C048209D298BF9C3B",
-    "data_elements": [
-      {
-        "contents": "348A6AC7D6951E86456352AE6DC70519FBC5",
-        "de_type": 869
-      },
-      {
-        "contents": "07BFAD354EEEABB377E35A3CA9F93C2919D63A5F60F47E9A6E6452",
-        "de_type": 379
-      }
-    ],
-    "encoded_section": "6A9013F3CCF8ADF413726CF270C2464A7D6D0A91100075FB92C2BDB77630B96A7871350B3CCA90018B5CB809F8B85ADB3582601C38071C20A3D7C776D0FDEA4E4386B23278FF5C05EF39173B35ED5E64B5E63F5299971353BB80A3E88226FDE3610113FAE3650A87EF3BE8",
-    "identity_type": "private",
-    "iv": "F48F1E40820CDCF7DB3E6107C448A32B",
-    "key_seed": "771A683FBB41544543E3000270F62B0E75BE97DE1E8931A5B0E30874A315B40C",
-    "metadata_key": "CDBA3FBDB8051258774E18B2A19647A9",
-    "section_mic_hmac_key": "58F7FF2CB350E0FEE347D0DD9DB0A50D1074F737E04E34351E5D897545149F01",
-    "section_salt": "75FB92C2BDB77630B96A7871350B3CCA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0718AFF8D3F260798EF3336D840814F9",
-    "aes_key": "1978A74AB0D377A6443E38504531BEA4",
-    "data_elements": [],
-    "encoded_section": "379013792A0670A6E601F9061A049EDD5E34FF911000B179453D2FB79CF56E8A31CFA8B15A389001BBE562860A2039D0152A0496133E865B",
-    "identity_type": "private",
-    "iv": "167401B2B2AD0240F0E57038F262961B",
-    "key_seed": "003D1A9D017396CD95C9138D152B44E500408A013CC2E3E50B0D01B2E9CD80BD",
-    "metadata_key": "77C3866FBD457BE09D29A90CE12E1689",
-    "section_mic_hmac_key": "B3A6886A924FE33D724385D45E5FE158AD66370D2791BA5DC553D5E66327001D",
-    "section_salt": "B179453D2FB79CF56E8A31CFA8B15A38"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "21E532A86E771C51558095090F8AB251",
-    "aes_key": "68075EA0842A1D448F7B244E5FC6B29D",
-    "data_elements": [],
-    "encoded_section": "3790133308F2B9AB4434656EC8305913A01C089110001708C5DD384808FF64D2BA400F2312A290013A8342F0CC39E9B96584E5CA7DF1DE7C",
-    "identity_type": "private",
-    "iv": "227DB4C6845BF40B82073BC0783EC727",
-    "key_seed": "C2EFBD062A6498B9E52733922A598BF3D4949A74FDB57D92D0ED064239E5C37F",
-    "metadata_key": "41C0037D03840085364AC811B553003C",
-    "section_mic_hmac_key": "452A3B6B009FFDF2B2E8F6CC57A2C741418F33E7A85D9FFBD33FA2A8ECEE28BB",
-    "section_salt": "1708C5DD384808FF64D2BA400F2312A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "52F9C4E2952B34DF2C0296D50B197CBE",
-    "aes_key": "507A391115EA010FC7DCD6F69DAC200E",
-    "data_elements": [],
-    "encoded_section": "37901397A0CBA6F76625846FD918D0DFA8B5EC911000807D0ADCFE480829130092A629C43B779004E57DD041E63A98C2398922E8C6780738",
-    "identity_type": "provisioned",
-    "iv": "2CFF04243F275FBF2A33912ED849608C",
-    "key_seed": "C39B6A57CC29C43B34A9B24B6AA5F88B68249F3EF3FA242B7A227A7FC5B9F013",
-    "metadata_key": "F902EDE5E988C6DFCB6E550C739CACBB",
-    "section_mic_hmac_key": "F5914A0D86F740B26A39165146FBE172469E9C3B6A8D7FF5659E8C3A3C40FAAE",
-    "section_salt": "807D0ADCFE480829130092A629C43B77"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "560AA4E7A57E03DBFAE7FBD4EFDA7CDC",
-    "aes_key": "9638DDE581FE5B67F2DD50376E3A99D4",
-    "data_elements": [
-      {
-        "contents": "F2AED0A54D5317974CEA1732E79EFB900594C5660907",
-        "de_type": 56
-      },
-      {
-        "contents": "",
-        "de_type": 992
-      },
-      {
-        "contents": "",
-        "de_type": 86
-      },
-      {
-        "contents": "61F5EFF11047065B2933557CA2EA9356A4B569A20B362C760A",
-        "de_type": 748
-      },
-      {
-        "contents": "8754249571E61C93D55CA58B9DDB23402C",
-        "de_type": 790
-      }
-    ],
-    "encoded_section": "849013203F5A7282936A2C5F6B7D31F2C2B3F1911000350FBAA0A5C14EE71DD5564DF054F7059001F63722D44C16939F37A228801E10C7AF0D3AB2DB910CB4A915A66C9AC57A057E79A46BEAE2B01B7B2422C789156152DB2C0C3C31EFCAFB6260012D7B01D8E55C0DC93FDCE2C9E3883DFBCF4D97E76A4F557470AFE3F6F3630A59DB334D",
-    "identity_type": "private",
-    "iv": "5FA4D01E917F4AF96837EAC84C94033C",
-    "key_seed": "AE37490A40777E13212927937035E5D5CAB7CFDB227BEF01AFCA1D4CFB348910",
-    "metadata_key": "7C0861BE5B2DA8F097517E544D50EC5D",
-    "section_mic_hmac_key": "A2CCBE29DCC3756A8B56810F1D9BB20F3087F60A04CF2968CAFB067298BF1FF0",
-    "section_salt": "350FBAA0A5C14EE71DD5564DF054F705"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "136C515299513C1C23396C72472A869C",
-    "aes_key": "F8E96AD115365C1DA32ACE0E955D707B",
-    "data_elements": [
-      {
-        "contents": "0004ACDFC6E1BF2DFE084CEBD5210494FA370D8D",
-        "de_type": 439
-      }
-    ],
-    "encoded_section": "4E9013B093C4394DF11527B26EF2770B65B0579110007923EAF675A0D97190BC856AAA92FA5D90015BC232EFAAFFE8486D932A63D9121426BC5FEE983041B15F40194FFF44A3470C0F5862DFA2DF7F",
-    "identity_type": "private",
-    "iv": "2F972A959571317A323BAEC64650D9E0",
-    "key_seed": "653D1790B9B4E73D40ED58AF3548C01EEE9A1CA7EDBB6788113943F29BB8A7A8",
-    "metadata_key": "85BB2BE74E51ACB8D631E31C193730C6",
-    "section_mic_hmac_key": "01A9931123C16D70DF660545EBDC39099DBDE472CA53ECB8CF65CFA3FA67033F",
-    "section_salt": "7923EAF675A0D97190BC856AAA92FA5D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D877A078133B36B3035B3D2FD091B01",
-    "aes_key": "F141257F9BECEC2DA61B11F67E4E107D",
-    "data_elements": [
-      {
-        "contents": "21F663C2B4668DBB030C2D2EB1506BDA8A77FAEA98B4567E8A91CA",
-        "de_type": 173
-      },
-      {
-        "contents": "71",
-        "de_type": 401
-      },
-      {
-        "contents": "FB19",
-        "de_type": 751
-      },
-      {
-        "contents": "755DF137F59366F68158D6BEA4F7877F1D2BB7CCF6962137",
-        "de_type": 748
-      },
-      {
-        "contents": "A286226956337347E1A54B",
-        "de_type": 192
-      }
-    ],
-    "encoded_section": "8790134D927FD029D5F95E67D68D646A6A361491100039D2819931C23ADD06B49F18423BC84C9001B112FAE321EEC67D926158ECED1C2B19CBD9F742E45F25925FE6C6795BE721A2F72638DAB903CF4C970C4B3C35DD693FDAB3DEB719FAED9DDC1711F51F631B36FD26BFC34F9039E535BCB78D1A14D5113270D00F96A956D0DF082E2F30901283",
-    "identity_type": "private",
-    "iv": "32F841444267601174749E94F87DE1C2",
-    "key_seed": "E9333F52CFC570120ED0105ED56952CCE1FC9645367619713FEBAD14AFF0E76C",
-    "metadata_key": "6E13A84FE3BA463ED9E607F5B1BBC9B4",
-    "section_mic_hmac_key": "3C44C33189816BB62961DC5FFCF2C71D910C0730BEC3953C5411489DF41ADFAF",
-    "section_salt": "39D2819931C23ADD06B49F18423BC84C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "71A9A746DB966A4456DDE375B6F12606",
-    "aes_key": "1D5C27ED10C3063737A421D25B061C89",
-    "data_elements": [
-      {
-        "contents": "39D427B897A964131313B227CCC4DE10B368B8",
-        "de_type": 519
-      },
-      {
-        "contents": "3A67A2E11BF608DC073983D1FB0DA3",
-        "de_type": 701
-      }
-    ],
-    "encoded_section": "5F9013B8AF9217D548709840B3AC857034ACB9911000B4F398A8A439BC972F70E2609A6C7CA990022A637108B4F22FC613C0A0E75AC2471132DD1D972FCC1174BE70BB6CAFBB3F6998C49DDBEA8A425CBB28664071BEF42114A0701F112D37A7",
-    "identity_type": "trusted",
-    "iv": "F2754259EF584E77196E83CA8B4B49EA",
-    "key_seed": "B1939F4E5BF1BBA5B56B4C53FCFE87EC1873876B1869B215D79AE2B742AFAD08",
-    "metadata_key": "E35B349B13DD23987416D3C506A26EDA",
-    "section_mic_hmac_key": "2DBDE1B077515A353314FB3D933F17F37893CA377766A4C8A3BEFE1E8E2FE8A1",
-    "section_salt": "B4F398A8A439BC972F70E2609A6C7CA9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0633A7D37D0E75C82950F86658617ADE",
-    "aes_key": "1EEFF97162B2CE8A3E6C657B8AFB9DF5",
-    "data_elements": [
-      {
-        "contents": "0A263635A12CA6",
-        "de_type": 461
-      },
-      {
-        "contents": "13696B3B2D423455ADE08CE7E3BEDE",
-        "de_type": 304
-      },
-      {
-        "contents": "4382E5A1567DDC",
-        "de_type": 911
-      },
-      {
-        "contents": "",
-        "de_type": 3
-      }
-    ],
-    "encoded_section": "5E9013C561581D56E580C0221BE31A9F5A97D4911000F341712F781AD354FB9444AEB9813A769001EF9DCFE8941FC69C1BDA3B6E61D484BE3CD363AFA8F753EF60E93BC52D8721FBD05DFD27C74584E9087B7645148A9696148501617ECEA1",
-    "identity_type": "private",
-    "iv": "1442CE37668B7EE9935E4E400C7051BC",
-    "key_seed": "E999377BE50FBB31279CD98440114E6CFD0019FA212A47015B9EE5EAC4BD49D3",
-    "metadata_key": "D489962146D1E488C02D148298B86ACC",
-    "section_mic_hmac_key": "48392CA50B2CEA5B7AB937397A530A54E1EF8320EE64E23E377333DC1A0725CB",
-    "section_salt": "F341712F781AD354FB9444AEB9813A76"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E5BCB2BFB4497D55C0BFE5EDE0CDC6A6",
-    "aes_key": "59A78870C55690255DBD141A15F090CD",
-    "data_elements": [],
-    "encoded_section": "37901330292E7FF856BD9476F0190AEE3ECA199110009029F02502CCA11E12A7809D3BA9304D9004901405D5FDA5DE684E4D372DEA766905",
-    "identity_type": "provisioned",
-    "iv": "08584E585B5ACA5124277D06708F34AE",
-    "key_seed": "8AAF95575F0A0E04188D3E42DA9F50AA3740E28DA9BE4815B98E74707B02AA15",
-    "metadata_key": "537EA5D04F0A1B31DC898C1FEAECBAD4",
-    "section_mic_hmac_key": "F8DCF1DBF531FA564EBA22F2809144AF11DF8BC792A54F77513AE58406FACE1C",
-    "section_salt": "9029F02502CCA11E12A7809D3BA9304D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4579CC1B14F511A11A441B67B89E39DA",
-    "aes_key": "7E0F6C860EF0D264F8ED7FDFA9D843DA",
-    "data_elements": [
-      {
-        "contents": "F8CDB7B169E1147E9B47779FF86A1F7BB2",
-        "de_type": 284
-      },
-      {
-        "contents": "A7FCB30D4379892BD07112349F7580699FE8B8",
-        "de_type": 603
-      }
-    ],
-    "encoded_section": "619013E68A36F6574C0776D73BADC793720D31911000115B858A780FD00A4B1D74707D2F85679002F3B4DC9017DFCB21B818ECDA648233753AD42FEE0C77901D741C38EEFF3188811EA6EC7BDED6517DDF15636024BF3DD27B6CFE7A479848AB9DD9",
-    "identity_type": "trusted",
-    "iv": "37288FF7CCDB400825540E0E494D3A30",
-    "key_seed": "1577AFD72DCFDE648AB3084F07F93F275D98D58FEBC60A6CDBCBB1B1EC0E2F05",
-    "metadata_key": "77A66776AD508B9319A72FFAE4F45720",
-    "section_mic_hmac_key": "E2AC40D5A99B858D41D224CDB76685071E9DA4A1A4313E913C7C57DB5C05E76D",
-    "section_salt": "115B858A780FD00A4B1D74707D2F8567"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "AD85D70775BA4E741F713229A6EF6529",
-    "aes_key": "28A1B46194B2DDC3497E5AAE297539AD",
-    "data_elements": [
-      {
-        "contents": "F3F9AD43482D0E8DC791D639C671542CA0EF24E4A3",
-        "de_type": 292
-      },
-      {
-        "contents": "C32E4B8D3F8F7B308A",
-        "de_type": 578
-      }
-    ],
-    "encoded_section": "5B90137F7A54A12574145B6DB3F5E27E73E7BF91100024E555596DD4D3555D08243513295FBC9004A301DDBBD6272926BB9DC0B9885A79507EE94B5969DD57C197A16CA97315534F7708D2B98743EFB67CDE8880B55CB6FB6048F9BF",
-    "identity_type": "provisioned",
-    "iv": "6899C0DEC131BB47E9D9DC98DD724BAB",
-    "key_seed": "59F841FD000EB3E98DA6DA3035D326B9242698347F0C972E2C45E6D28C2B7A2D",
-    "metadata_key": "A90DB67D319DE8549F8B31EE91B69FD0",
-    "section_mic_hmac_key": "B903E393AFE19D7DC80AEDAC8222CD5B99E60102BB471E4767F06DF32561F7FF",
-    "section_salt": "24E555596DD4D3555D08243513295FBC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1BDF3C712E3AE53D63309EE3B8023A87",
-    "aes_key": "980CA9E6379B483E443DC1E160D5201C",
-    "data_elements": [],
-    "encoded_section": "3790130534A9410FE91114106C1CA9A8062F9A911000E578AE0019A2141EF58F01365677B05490047AC84A7E04229A68A6F7F3308374957A",
-    "identity_type": "provisioned",
-    "iv": "7D7E507A0BE6403325935B1DFA05A9F3",
-    "key_seed": "ABA16E9B7EE1835A8CC675D390FDD4616623AC235379B657C1233FEF741FA690",
-    "metadata_key": "2D8A58D701172EDA89904C96AFE41524",
-    "section_mic_hmac_key": "54E5FA2CE95932EEA68CDD1BD3D445AB83FEF2DCEF7E3A9B2C3785A92B228302",
-    "section_salt": "E578AE0019A2141EF58F01365677B054"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CBDCE43E4A6BED0CA0C6D08F3065F633",
-    "aes_key": "CEBF5E518C10D4684BEC405850BC032C",
-    "data_elements": [],
-    "encoded_section": "379013FE585D545653A98465FB672C230E014491100043DB7392F99B019A671A05708D588FA79002DCE155F4602E46063A0C523C88E2DC50",
-    "identity_type": "trusted",
-    "iv": "4B26BC7185A6C854190C227BCAC402BD",
-    "key_seed": "5916B9D7017269DE9134B2C7612BB1EFD625FB48BFAA111A0A2C093F2277EA26",
-    "metadata_key": "9D9A222628AF278F409455DDEF8461A8",
-    "section_mic_hmac_key": "A03260EB043E0791406F9CBBAA2E3F35EA9D3E5E0DE545C3BA5BAF070DACF5A6",
-    "section_salt": "43DB7392F99B019A671A05708D588FA7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E39DC77B87C9B486CF0A220E9F96005B",
-    "aes_key": "710AB1ABB206738BF8B7CD25F447C6FC",
-    "data_elements": [
-      {
-        "contents": "4B",
-        "de_type": 934
-      },
-      {
-        "contents": "66F3ECB89A6EEEF79D7B7E56D0322DF39B288742A2C1C501ADA9A41B6DB7",
-        "de_type": 110
-      },
-      {
-        "contents": "16C065D0395BF1207051A48B11E8CADF",
-        "de_type": 386
-      },
-      {
-        "contents": "98BB36DA75",
-        "de_type": 76
-      }
-    ],
-    "encoded_section": "759013A2B7ECF2852EA59A6C5F1CCAAD2756979110002854AECD9C5381CCBF80A06371B88FB690040E78B4D151F14503F20A32EC29FF08EF3B152E32D1A0A6262EFC3A259020C14B6387DC646B3E16ED8F3D3E519266F723184D8B9833BA01AE0320B0F40CBC89431D479F1C6A77A8B91F75CD625434",
-    "identity_type": "provisioned",
-    "iv": "907158F1F28F23E9346C336D15BAF4F4",
-    "key_seed": "7974330F2BF907399B0A00CC0732BBC1A06946E0B1D581E4A4186F99E778F076",
-    "metadata_key": "6B05DBBF085163F895C1A797DDAB7BB7",
-    "section_mic_hmac_key": "D10DD1068B113669C31BE18259AA3C6E077D61E97CDF58A6C6139E14C9CB4229",
-    "section_salt": "2854AECD9C5381CCBF80A06371B88FB6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D2778817F879B9E6369EDFE544E22294",
-    "aes_key": "C1691E7FCE0574DF8952878B6381739F",
-    "data_elements": [
-      {
-        "contents": "EDF6EEE118AEE831E7451217",
-        "de_type": 925
-      },
-      {
-        "contents": "EC9312D8F49AFF",
-        "de_type": 220
-      },
-      {
-        "contents": "CFBC75",
-        "de_type": 681
-      }
-    ],
-    "encoded_section": "569013718B15A1291DF01695B0DE521D99FB57911000947D8B59F619BDD6502FDF257004C9819002E4348AED16D25DA49B95C26845BF7DE590721FCF8952532E2002ADD53B5A98AD19B3F10E85425FB761FC9641FD6182",
-    "identity_type": "trusted",
-    "iv": "4077CA3D2F7BB0F5D8CEE41F01482B98",
-    "key_seed": "18A71701D5DEE8400E61168A3B3EF1AD1DDA90BC194C446C8BA40B6480C30CDC",
-    "metadata_key": "D1FE231F740FC03B295276053B2BAC3F",
-    "section_mic_hmac_key": "82AE800A495516651B39F72786BD066F05890A592D64AE7C1FEB9071FEE6C4D5",
-    "section_salt": "947D8B59F619BDD6502FDF257004C981"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "587A03C7955F9860870984298B058015",
-    "aes_key": "331E9D1FF1937D5F85F0668282E65C29",
-    "data_elements": [],
-    "encoded_section": "3790130FB6023392D2A41095E8206D06D7FF0E9110000D85431BAFF333B2573911AFB2EE969B9004E7FD0D3F84B425FCE63798DC6DD93C29",
-    "identity_type": "provisioned",
-    "iv": "77A5EAB32784959211B1E7EFD4086F70",
-    "key_seed": "E46D0C46C240ADB0C96768BDEA14323BAA3AF59DA10695DD2AA96963FB75F633",
-    "metadata_key": "0364468086B86E4E69D4998412D9446A",
-    "section_mic_hmac_key": "B8A88D796B1F5CD4E1B3FA421F911CEBFBB33203B5F54D397B77AB08C6A4CECE",
-    "section_salt": "0D85431BAFF333B2573911AFB2EE969B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7A1632119CD401B77764CD3CBA1B7E48",
-    "aes_key": "367BA98DF8FDBDF8D92C9E223204F9E7",
-    "data_elements": [
-      {
-        "contents": "660362F50CAC47EB6D5C372ECB360FED6010E33CFE2BF3",
-        "de_type": 744
-      },
-      {
-        "contents": "2E27FF821CD7CE8C7A",
-        "de_type": 864
-      },
-      {
-        "contents": "24CA67B8",
-        "de_type": 38
-      }
-    ],
-    "encoded_section": "639013B6F61D3EB8ABF5F504C50AC36A94EEA191100040B91207E7595A02CAF00DACEEB362229004899D84903A3B24808A0C8B7F59194E87CE3801D9A364D3232D8C9A1825EF6116E5C80E0ED3BC09DF178FBE1C6D28BAA73E8492380E14FDB44EFCAF61",
-    "identity_type": "provisioned",
-    "iv": "6A91D4D5C4DFDDFC880B73A3B7240702",
-    "key_seed": "EB30836609013EE83889ED5ABF6FC302F243144E118A2965AADDCC8C3987566F",
-    "metadata_key": "0BC8A5D803D9916D0BA83CBC5E0D3F30",
-    "section_mic_hmac_key": "D89DB6FD35D1A9A236C7B32B2713282376AB727EE4D22775E9A6E7AB64719479",
-    "section_salt": "40B91207E7595A02CAF00DACEEB36222"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA9BCBE55A09A0AD1993D33AACDCEF3F",
-    "aes_key": "D480AB0495AC86543854653CF7AF5605",
-    "data_elements": [
-      {
-        "contents": "5743AE7D722BF57D",
-        "de_type": 59
-      },
-      {
-        "contents": "254368832881E13E4BCD68DD622D7B27BF77F0B248799E3F6BCF903334",
-        "de_type": 42
-      },
-      {
-        "contents": "172233F269FC283AFE876265C41CF433148DB69C743C8965E791",
-        "de_type": 792
-      },
-      {
-        "contents": "C007E7BC097140AA592C287EAA90479BCE00838A84B7D529",
-        "de_type": 531
-      },
-      {
-        "contents": "9678CB4436B9DB612DF2BEA08AD619C84DDF8B58DA67CBA0CC491D",
-        "de_type": 177
-      }
-    ],
-    "encoded_section": "B69013EB88670C74254B7E3124F568EAB21AB39110003CD98524158254D763A056D3D7B95EB890028EAD7A637F8D0F6CAF0D74B4A65BFC4C6DF88868FA11D9F5A5B179A5D884CD2C8693AA26F7AD7A949830EDBC504133BE5D5DA8317E74CEFC303FE55553BA1734B63ECDDEE36D3E90127BD85DFF414089E19356CC288B316AD5C88F7237EFA35AF07DC32C636D7DA300C8ED550F4409BD32BCEEC5CCEED448C4C049C19AB21C3E2FBA27F94F7C8402C98F5E60E23783",
-    "identity_type": "trusted",
-    "iv": "EBD45E06E481E15D113570B3CD3A690C",
-    "key_seed": "99F26C755B35B9E8F02471B50155868AD1B5415A36A8A09AEF2CC16B23E93484",
-    "metadata_key": "98AE7741589B65DC2BF7D9A9F725F908",
-    "section_mic_hmac_key": "66C7980C46970BE68B05B5263A65D5E3401D4E91DCC084AAF19D401694607A57",
-    "section_salt": "3CD98524158254D763A056D3D7B95EB8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6F9CFB4554053A39150CCBCFE3D0AF1E",
-    "aes_key": "9D3541DE5EF0E257E4B8321145F57B4C",
-    "data_elements": [
-      {
-        "contents": "A43F33AE23920C0423748C754B99D99129E9DB",
-        "de_type": 37
-      },
-      {
-        "contents": "729C9F3BFCA94ACFEF114794B2",
-        "de_type": 109
-      },
-      {
-        "contents": "AC",
-        "de_type": 730
-      },
-      {
-        "contents": "5559BAE1D900",
-        "de_type": 729
-      },
-      {
-        "contents": "2EB49A44A2641ABDF0CDDC03EF43B7F3F52C449A892F",
-        "de_type": 44
-      }
-    ],
-    "encoded_section": "8090134F6688FA1A2E7BA04ECB6DDCB44035359110006AD7D11C0944CB91DB95B631C734D8949004E082EDC66A42BB6B05378C26D87B38BA4186497644057393408F087328EC5885E174BFFBD7466E158C474C51F5D524FF92A558F10761A4844FF9F9E1BDCC1C6E0AEEAB7E74BF4D04F79D6366857D63E74633C326B74396A4D9",
-    "identity_type": "provisioned",
-    "iv": "BFA35B0ADEC12C33F4A25CE69E314D44",
-    "key_seed": "585B91BAE582CFCA04B2CB0F4EF6228BF9D3ED8757858BC946567C7C056452D1",
-    "metadata_key": "ADD1DD5D5AFBD1297CB46459564779B8",
-    "section_mic_hmac_key": "3CC8495681BD196A59435B9E92678852F7229B3A17222A46F35AEB19872E8736",
-    "section_salt": "6AD7D11C0944CB91DB95B631C734D894"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0D008FD70A96D4922781509DC8233AC3",
-    "aes_key": "B6597B106536DB997B33270C1FBBFD01",
-    "data_elements": [],
-    "encoded_section": "37901319D976A449635BF9366F08B28550A32A911000540F306324634FD806109D2FA0F888719002A37EF91C879233705329EB6E1C7C1F3B",
-    "identity_type": "trusted",
-    "iv": "1F610FE4CEBFFBF09ECAB7001A9715FB",
-    "key_seed": "F000887AE6054C5ED93C14654F9CCB540E4ABD072E4A03C741D446809FB90C61",
-    "metadata_key": "F774AD3779D9F9C3CAFD222AA8FC1791",
-    "section_mic_hmac_key": "C5CA0D48EB97535C6759CC5851C60CCC59EFD96218C3AF81E97AF2A492C9DB42",
-    "section_salt": "540F306324634FD806109D2FA0F88871"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A0697BBCB8D71C0E3CBBF61383BBA0AF",
-    "aes_key": "2F302DFBB66FACFA11C38E4437398B74",
-    "data_elements": [
-      {
-        "contents": "247B14830A72CDBE2687D79D9216D81F4E3E545B01D75A5B75E29756E4",
-        "de_type": 20
-      },
-      {
-        "contents": "387C2B46942623D8615696845A90B3DE25FF253A159C89A2A3C340",
-        "de_type": 793
-      },
-      {
-        "contents": "F45668C015DDA58C872A0171AA605889E691398726",
-        "de_type": 252
-      },
-      {
-        "contents": "1474A3653170C9",
-        "de_type": 181
-      },
-      {
-        "contents": "E49C82D1F206",
-        "de_type": 10
-      }
-    ],
-    "encoded_section": "9D90138CFDF8CCDED054C4D7003AD4CB75765F911000C8C6351ECBBE018D1CAB2041141387E9900264E5A396E06459D7AD5061A8D1E6D6DB9A4DABC2338C9D39F291289A3948F91D3BAB928C47FE7503089FBEB195056064D7893AB1F884E7637AD93079312F00D1DAD71FE98C10370C42C1707C48358951AAFBD6F72889E26C67D846D13273A21E244DC751C76197BB577738B327CC39F017F56D4753BD",
-    "identity_type": "trusted",
-    "iv": "E73D0D0D01F12F05E954418529D9F056",
-    "key_seed": "E7513A0CF82FE239A9CC581240AD1BF40C7546506BAD18C1A754B8A50F190FFA",
-    "metadata_key": "094D5377650F8BFD60DDFC55521E1C61",
-    "section_mic_hmac_key": "7FAD140CC4B335530A8754A5CCD4A423AA3EC678ED3CA3D817906EE925AA90F0",
-    "section_salt": "C8C6351ECBBE018D1CAB2041141387E9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "66AB56CCB8DCF4E02102C595173AE0AE",
-    "aes_key": "080E3256F009193CFC48DBECD6A596ED",
-    "data_elements": [
-      {
-        "contents": "5FFE88F1F3AD43AC0BD206FB1261",
-        "de_type": 554
-      },
-      {
-        "contents": "C5C5120C2AD8114C0D7223CA0D4B",
-        "de_type": 376
-      },
-      {
-        "contents": "AC57EE249B96DD8F426FE4F02031E48B3AB4A248",
-        "de_type": 74
-      },
-      {
-        "contents": "1CF30B1E1C519ABDCED6",
-        "de_type": 358
-      }
-    ],
-    "encoded_section": "7C90137CF07245A7C2E4D9159C8C517CA1336691100063F671E6C1543317418A20C1BA7C01319002F7A70A1BD5393866D2E1E43D580C3C81FD09C428377BC94E8125F1ABAA938A5CB37C29DC9C9232679D1BDE10E8C586905A2EB8CBD52CDD1A50ABE0633360F0311BE2C3E60F32CA5ADDA8212D0D820A5442CBF1F122",
-    "identity_type": "trusted",
-    "iv": "6686516893FC3245873F63E6FFCFCBC7",
-    "key_seed": "226D0D4CBF82EF7C5636C8D21ADE2455DA18017EF11D9855A1C6623D7F52C49D",
-    "metadata_key": "B24F2E75B0207CA3039D2627726F15BC",
-    "section_mic_hmac_key": "DFCBCF569269B4C4C73D69E96B0589931C3BE5F7B5CC80B473A68ACB0D036DF3",
-    "section_salt": "63F671E6C1543317418A20C1BA7C0131"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A11C310F925DDFD146F831393D6D0FB9",
-    "aes_key": "1AE54656FB14E83D942075C749E2115B",
-    "data_elements": [
-      {
-        "contents": "BD45361322D9A02B2048A177A0103CF3",
-        "de_type": 926
-      },
-      {
-        "contents": "2A214CB5FBCA350A5BB0CB335B9FEA40CDEB6455C037B6821A599F17",
-        "de_type": 708
-      },
-      {
-        "contents": "2680C9A00A375A0A9DCE72BA1CE694B2E29CA12A",
-        "de_type": 273
-      },
-      {
-        "contents": "B79A1762E7073C6A46BA17EC05",
-        "de_type": 988
-      }
-    ],
-    "encoded_section": "909013FD6CFE2EE955035DE89C9F166B3E5EA4911000D1B1FB53397FE51B93F74900975CD47E9002924278101267E2D8E228B4C34D0A648C8A6B294E3CC9D07B62D1EF749C7BE05103940D261EC73D1F1C12C99A4B4F8ED3F468AA17CAE45B46E532F632012B8EE8E5C99014BAC4E2B5E20FBD1ED9DC6C6CB2D755E1FED2D3D8A5ACABF57ABF0D012C45D94137FB93592D",
-    "identity_type": "trusted",
-    "iv": "892E1A354B6DE952C5B014C7907EC182",
-    "key_seed": "FAAEE89538A2E2D5786C8946E6A0CEF832F309174B38DF73E4F84A99F15935E5",
-    "metadata_key": "0DB3D13A2E4FD91A299522F1D8119843",
-    "section_mic_hmac_key": "99CB5D0E2B02142282326CBFF5F9DA1E0233F2CFFC8C28BE12CEB87B9CC6FE6C",
-    "section_salt": "D1B1FB53397FE51B93F74900975CD47E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8CD7AD20B2C8317FFA8C35639F74A2BE",
-    "aes_key": "04A4C39B860940DCBE6D31E645C6C979",
-    "data_elements": [],
-    "encoded_section": "3790130B2D888B589284B7A0756A14D057BA899110005EB69F216C556E3154B71449355FEEF590012148C3FFABD2C9E7021C7025F13AF42D",
-    "identity_type": "private",
-    "iv": "82B3040C024A93C9E9FA070F5751EF54",
-    "key_seed": "44A25B92833732691F61F166743F7EC9F9BED95D496117FB2C0D5FE8ADF243B9",
-    "metadata_key": "58D26BDAFC8C232C9AE6BD1466626518",
-    "section_mic_hmac_key": "15F5A03411DE20F46038D7081E95D728EF120D4DD04A6D17A89E2BC7EA240C6E",
-    "section_salt": "5EB69F216C556E3154B71449355FEEF5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9ACA1AFA24CCE7E90657920FB0F97ABC",
-    "aes_key": "C6114A9A61EBAA0683432F07A306BAAC",
-    "data_elements": [
-      {
-        "contents": "67F0136B918AA30006",
-        "de_type": 450
-      },
-      {
-        "contents": "3A54424FDE3D",
-        "de_type": 210
-      },
-      {
-        "contents": "BC4E6711DB9D574C249ADB",
-        "de_type": 362
-      },
-      {
-        "contents": "DD7AB44C2783A1",
-        "de_type": 994
-      }
-    ],
-    "encoded_section": "64901398942DA061F73AD3DAC7FE04713E897F91100075C50E7D6DFA055F5967BDA20F6011D59002528E07C9E1AB8195BED4404ACF13B5C463F7F522DD45BA62C382337A18053527ECB87D1190488DB8FA1CAFD71DAE0F337F1F27E30405F2B3AA562A4000",
-    "identity_type": "trusted",
-    "iv": "C8D5BEDD1D514F4163FDC162E170E8E5",
-    "key_seed": "0E2E25E5F01089D937936CC39D8D004DC28C1F10D75552A9F66E98D510282092",
-    "metadata_key": "481B6CCAD1368A7FB57B226F25C5CD38",
-    "section_mic_hmac_key": "B9E11ECDC5E537C1669EC49389B73866E18AF8E13A0B6934CDD0B50154662368",
-    "section_salt": "75C50E7D6DFA055F5967BDA20F6011D5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D78B4DA01181538E9901A89BCEB17DD",
-    "aes_key": "79793A9EED14B1E7431C0B803ACE76D6",
-    "data_elements": [
-      {
-        "contents": "1A14E4524B490E8107DACC2F7FF359791012B7BD73F680",
-        "de_type": 889
-      },
-      {
-        "contents": "7F4DD2AE08BEF6906DA8",
-        "de_type": 173
-      },
-      {
-        "contents": "F8559AE2EDEEC96166AE99",
-        "de_type": 718
-      },
-      {
-        "contents": "EA7FBF2AD229DD26D55B6E4A69B5720BEC80F14221",
-        "de_type": 447
-      },
-      {
-        "contents": "6F72657C",
-        "de_type": 217
-      }
-    ],
-    "encoded_section": "8B90134FCA585270ECB11CA2D19FCD187E629391100076B4769D60E7810AF314C92E4F4AD22D90010CBA514F61328A8DF741F39426A6414A35993D0ED3645543ADCFC7F60039A16AA7B7544789824A630C6FAE0338828514A802D34E22F2677F5EF92D21B245E2C6BE89E118332EF6820C9298D64708D7E84C0E5A688C13EF9AF0139916E1ADE41C038EA24C",
-    "identity_type": "private",
-    "iv": "06676937E3AC4BB809DB29D5D0A0D238",
-    "key_seed": "13176067BCE094304F0D3D7B34200618EEB8338DC62F8B93B6DF1568D10892EB",
-    "metadata_key": "867EDB530C4387B741E3F8D5A90297BE",
-    "section_mic_hmac_key": "35533CF432DA85D9C9C797381EE7F410A1ACA2FAFAC320336E538C4CBC21973A",
-    "section_salt": "76B4769D60E7810AF314C92E4F4AD22D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "024C6620A23F3720DD27159A314223D9",
-    "aes_key": "FAAFC4270BFEF0C1B99EE28F255DF188",
-    "data_elements": [
-      {
-        "contents": "B748E7AFEF028374C9FEDACA76",
-        "de_type": 172
-      },
-      {
-        "contents": "85CFCC",
-        "de_type": 913
-      }
-    ],
-    "encoded_section": "4D901386135E41C81BF815C35F82210AA987D2911000FDBB2C065FECBF1CC2EE41B51CB6E636900217D0F0543708CCCAE565509D685542ED3F434A7B4CFFDC00B0FDD4A704B31768296C7783A0FC",
-    "identity_type": "trusted",
-    "iv": "5F7CCCFC3E69E1B0A4A75BCD2DDCC596",
-    "key_seed": "6B3B7B151F380162B9E0B70910ECDC784ED5397B3A10BDDE199A7A94BC6D8D75",
-    "metadata_key": "E138A6D9CD4C8852E08ED89542C192A8",
-    "section_mic_hmac_key": "42942C5BA5773295A61EC1C494BBA596E1F2E382026FED016C73CF9CCD6CC3E8",
-    "section_salt": "FDBB2C065FECBF1CC2EE41B51CB6E636"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "26E8D6DCAF6B89C14D2967CD2F996C3E",
-    "aes_key": "F93420FD82E0E4006F5BCD4BCAEE619F",
-    "data_elements": [
-      {
-        "contents": "DCC21604B26103BF2FF0DA36696709C57DD113AE10",
-        "de_type": 167
-      },
-      {
-        "contents": "CAB2EAF5F472143204",
-        "de_type": 996
-      },
-      {
-        "contents": "EF46C11CC5D0B3D06BC6001DF168281A0FB050B2EFE53D191E68D555D7C1",
-        "de_type": 635
-      },
-      {
-        "contents": "8DDE68F7309765DFF675",
-        "de_type": 575
-      }
-    ],
-    "encoded_section": "899013EA913BF87D8BB4054C1A63591555992D91100097BE3649478AA55F3B0F450D35B50306900432491F1FBEC83775BC41FC1166D59DE10EF12EB01455B22479FC697A8B2B10B7A56C289D21C2AA3E8DB4FFF376ED4B1AC9C8874F0A99E32E2803F7E745244F53B47EE60BB3581AD954B33BE2DE4807AE5D39CCF10C5A38616AB4A17799ECDB7C895D",
-    "identity_type": "provisioned",
-    "iv": "48710ADDD5BF6C5BA7557EF8363238C5",
-    "key_seed": "90C710688CFB0274A65B1A98B01C42367DB55644917B4590AC7D20BE4045E96C",
-    "metadata_key": "88E7BD8F22B0BCF3E7017B889AB3BDF4",
-    "section_mic_hmac_key": "93370F2F5EE939E87A903BEF02707B3AC8C0D39716C741D8D513552EA0EA451E",
-    "section_salt": "97BE3649478AA55F3B0F450D35B50306"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "57D01240BF129C429A6CF751CC3D53F9",
-    "aes_key": "AA74FA6AF836204298237570AC35EB9B",
-    "data_elements": [],
-    "encoded_section": "379013E8FB0C142819D59A85D20CE6346FC4C59110000F0472D2D144D008039AECA7226B8B49900139DFE67E4EE80F46A9B96D3AA6194470",
-    "identity_type": "private",
-    "iv": "B6E84BB2A3014E5614393F4DEF92C247",
-    "key_seed": "CEFEE1454C0BB63E85B73102F7323B441AD6589E484827D94DB7F50B158CC225",
-    "metadata_key": "18446FD698B121EFD552FB4D893FE1E7",
-    "section_mic_hmac_key": "E88F3731EEB10ACC952F79D2CFE41D9387D5544317EA307E0E929786E80184F9",
-    "section_salt": "0F0472D2D144D008039AECA7226B8B49"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BFF12B5AC3846F17A4F2671DD201DB7B",
-    "aes_key": "80165990CF33C6AEE8F5D706CA9C16B8",
-    "data_elements": [
-      {
-        "contents": "1D",
-        "de_type": 225
-      }
-    ],
-    "encoded_section": "3B901383873E9BB7C281BED884A6BC9D81E2F491100008BC6FA4DAC8237B4FCA4D351D456A8C900173A35B84F1311BDB48EEEDF03B44AB0A30DEDF0F",
-    "identity_type": "private",
-    "iv": "E79024DAB46DC39BF1C41E950EF68F0A",
-    "key_seed": "0191678E34EB80CC23F8BE780AFA6A323757EE2357B81903F0A11F586A343D74",
-    "metadata_key": "76BA1F4EE04F37541F620FF3CB0E341D",
-    "section_mic_hmac_key": "590C297824EBFCEC438E2227989EC334BD8549944587C0EF0CE8647D0CA733E8",
-    "section_salt": "08BC6FA4DAC8237B4FCA4D351D456A8C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8D64601B3CEDFC33A6EB41F2A57273FB",
-    "aes_key": "EDC4F0B53EDEC5D458373413BA40EF91",
-    "data_elements": [
-      {
-        "contents": "FB",
-        "de_type": 843
-      },
-      {
-        "contents": "78B36066A5E407DD1DBE7E3592273857C096A23CB16EE780DC5E",
-        "de_type": 996
-      },
-      {
-        "contents": "66BD25982401D8BA12065C6FE90A2EB5964D62038F03E23FBC1145AF5F29",
-        "de_type": 723
-      },
-      {
-        "contents": "7CA1830470E3E82A",
-        "de_type": 601
-      },
-      {
-        "contents": "D40D41F3E365762AFC055B",
-        "de_type": 437
-      }
-    ],
-    "encoded_section": "929013782EBB1DAC3CB17A3F3640824931823E91100064AFBAFD7BC4C4E2CA5BAFA2431EAFC290016E594B07A92708C2BD85FF96A3D9AFA5094F73F05E2BB84CAA0DF5ABDC504C9DFAF179F3DA8206A8DD374E6EEC568B1EDA5A194AA461C4685800FE4E512788300E64D570FF745A9E108CDA5912EBE36316E1856DF794B73B40A53C5B179094622859204F1F22606CD1A94B",
-    "identity_type": "private",
-    "iv": "D1317E1FAA030298FF8C5AB6BA81773A",
-    "key_seed": "62B5DBB64DFFAC377EA82F2D42A7377853DEA50F09D3DAFC4B412B687A66B8C5",
-    "metadata_key": "1427037C5581AF92467699C6A6751E32",
-    "section_mic_hmac_key": "213813B05FE7AAF9777E792FF12E2B5A66055002E83ECC0AC7FD46A652AAB8E0",
-    "section_salt": "64AFBAFD7BC4C4E2CA5BAFA2431EAFC2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "373BF3D6F965BB823E05E5F7BD3078A1",
-    "aes_key": "5CCBD9E3100D52C9CD11F35654668482",
-    "data_elements": [
-      {
-        "contents": "22E0417B",
-        "de_type": 599
-      }
-    ],
-    "encoded_section": "3E90139A0E4A93DA7F646DE9A87E125128EE8A911000AD455E1C688FF04A371C03BF7796CD7690019F04EE8F7762B6F109719AEC910F1942B2F58CF6A6686A",
-    "identity_type": "private",
-    "iv": "B2B8D3700005E09ECD4FE23F302E100C",
-    "key_seed": "57A38204ACF2ED7C4C7CBA7C9546BAA0F9FCCCF9BA57335938A4965281FE65B0",
-    "metadata_key": "86405D9921CAB755B452C98A0C6CA34A",
-    "section_mic_hmac_key": "DDBAE43D3E5B9D620B2FC4E64C02035A75DA47DFD0805E0C2E5BAD62793C712D",
-    "section_salt": "AD455E1C688FF04A371C03BF7796CD76"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1A1D7E95B4475678CE4A355E6D120EBB",
-    "aes_key": "29D17ED2A3D5BFB193E169120EE20B3F",
-    "data_elements": [],
-    "encoded_section": "3790135990E82336FE3240D282B7BADCBD28A4911000A9F95C7985EF9A9EE72717C842A698F79002CACF57FE3D1D585998EA9C305C48D2B4",
-    "identity_type": "trusted",
-    "iv": "F6DBFADE261C4E9A73026B059AEC9D34",
-    "key_seed": "7B750CDCFE6B606CA494110409A4EE9860FF6544C8EA98C11F5335546FAFBB15",
-    "metadata_key": "7635C7A2DE6BF4015EF7903C840EECD9",
-    "section_mic_hmac_key": "0566AC9D4AB6EC0FA38115AEE5A469D65014629D8E68DFAC42419EEB722ADB1A",
-    "section_salt": "A9F95C7985EF9A9EE72717C842A698F7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "30FBABC3717AEA2AA0477BD6A3E1E475",
-    "aes_key": "DED9CC135A79C82BA7FBFB0C96B046BE",
-    "data_elements": [
-      {
-        "contents": "2A350BE1BA1985F4",
-        "de_type": 111
-      },
-      {
-        "contents": "307AD47A1F29D017ACAAE833FAC539D70D1BC0",
-        "de_type": 417
-      }
-    ],
-    "encoded_section": "579013871E5F454397F1878BB4CF0647E411F4911000DDED3531E375331992E98F425EB86541900416A66E5A7082A9FBBB4099EE5F0B9A4A92DDB5C2EC4579C5D9948DABEDA010AEE1A7A0472B542C390C7FB6B3C0AA529F",
-    "identity_type": "provisioned",
-    "iv": "CB385978490958F65666D5C60B05EF91",
-    "key_seed": "F429DB5FE75E0AA2E9F2A14A68A3E15458A719C5E4558AE46C00A665BA452154",
-    "metadata_key": "D8AA437E16803D5F18FCC89767240901",
-    "section_mic_hmac_key": "0BE552F6D9EC8E01B4E870E90566D0B774B5C26DA534D86AAFB5D2920BC8BEEA",
-    "section_salt": "DDED3531E375331992E98F425EB86541"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EF01B4E820D20AE81C749A58C3DDFEE1",
-    "aes_key": "F0E49A06F5B9AC50E7421833A986FA98",
-    "data_elements": [
-      {
-        "contents": "41E065F83C",
-        "de_type": 299
-      },
-      {
-        "contents": "B680D15D9511D833860DE3CB6F2F6743FDF449",
-        "de_type": 908
-      },
-      {
-        "contents": "871078FFADADD8D86DEB9029E47B2031AC1A2BD31E1F5467C46B81F4",
-        "de_type": 3
-      },
-      {
-        "contents": "E8EB3A2427E5BC1225A8CF35D067D3B9CD241CB40066D6C6695B214E45",
-        "de_type": 138
-      }
-    ],
-    "encoded_section": "93901384E18167330C033B062C2369F35593D5911000D42B13BDC2120ED6935DA267E6E0757890043CF778DB9F3A7B9C9B0C798274C1C554F3C741D7F939836D65A1052A504CD928FD797216793071AC4B25B292BD19E3C5C47DC5907D29BB01B90C8E923E297B519EE368E979319E6017C6A69D938F638C61803CE45536CA0DD754E846E6ECCFB1AA7A93547FAC69C50663EA8F",
-    "identity_type": "provisioned",
-    "iv": "DC1E3FB599A1E7D1608626E6E17C2521",
-    "key_seed": "3A8FB9BF059E71E53718B02FE78E571CF44AB722527298D272420F549676859A",
-    "metadata_key": "1F44220ECB96C20C54640633D69DCAD1",
-    "section_mic_hmac_key": "E91278BE56B332D705A53E313E1DF4E490511699296BD4B60E121E66585D69C3",
-    "section_salt": "D42B13BDC2120ED6935DA267E6E07578"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "782D32501734250795AC4AF93A4300A4",
-    "aes_key": "D50EF6CEC2A54EF8B77C4EDA8F36BD32",
-    "data_elements": [],
-    "encoded_section": "379013F040E084112EDBDC93B5FCCB7448296F911000805E7F20E7FA28F518264F5E082CAF04900441FD6FCD160E311319C10A6893D3C924",
-    "identity_type": "provisioned",
-    "iv": "EAF6D250FC4F0A6672101E0674B06BCB",
-    "key_seed": "7620AA14EE8667D1EC09FAAA941346DF595B47B3BE63CB04D4641F6A8D5C760C",
-    "metadata_key": "B09416A05A492EC78D6F64669DA3402E",
-    "section_mic_hmac_key": "68601BACC6F7B0E429AC7C1EA88FF78605C1230693A2FA9B3CA393A64CD30A53",
-    "section_salt": "805E7F20E7FA28F518264F5E082CAF04"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FC449A50721817F66C05B8EF876F9E78",
-    "aes_key": "A1318CC4CE689EF7FBD7FE22B21E9ADC",
-    "data_elements": [
-      {
-        "contents": "D8D569D2CD36FEFEFECF0358CE1EB87EA9BB533B36B46EA7",
-        "de_type": 372
-      },
-      {
-        "contents": "06AE898607F5596FA8AD05475ECA2E9640BF3305527F30D4",
-        "de_type": 863
-      }
-    ],
-    "encoded_section": "6D901349CA53B009B567A031F330D4606450FF911000DC9E659B8BBB254934876CC5D008CBC090049ABF95152E79A7E59C2B1D293B3A354ABEB1ECBEE2CCCC5FF05D49FC9899F2126FEB50C3DD45B7E2693BF171BAAB2987301A1192D902834A4A90D24B18972DF864945E535828",
-    "identity_type": "provisioned",
-    "iv": "1EBF95D7139416EC9B1818FD5F97EF91",
-    "key_seed": "F02A2F8CD34C8A8B257B87ED39B6E9ACB1E27980726732B9E5D6B01FFD7876DD",
-    "metadata_key": "0F8F4189804AE28E4A464E7F3980FE8C",
-    "section_mic_hmac_key": "6FD39C4C89A6ACAF5AD70F154C3A597DBA3EE96C2F596420AE8776AFF63FD62B",
-    "section_salt": "DC9E659B8BBB254934876CC5D008CBC0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A9206D9C925FC35391F2CCB66843BB6",
-    "aes_key": "B164F108D4101003D41F5A265069E16C",
-    "data_elements": [],
-    "encoded_section": "379013E56300B4C0E142D630D8BF19AF1E5B0F911000BB25DB4C1E1998DC75AB7738E7A0C00990018AE9A810448A770F700B86CB37C14F74",
-    "identity_type": "private",
-    "iv": "1093DDCAD240A78B323FEEDF79291D33",
-    "key_seed": "BE17A1F7DE7B872D67ED89E58DEE8899E9786A71ED62E797F590B3DE30905966",
-    "metadata_key": "548B24FD91CE28150F24118488E8C650",
-    "section_mic_hmac_key": "73F14DB10E850262C42FE6527C0E5A26F62203277C1F4AF40C12356CF1639732",
-    "section_salt": "BB25DB4C1E1998DC75AB7738E7A0C009"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "419DC54AAA22D76C4FAA100A8B597761",
-    "aes_key": "B0C19ADDA557D389AEA1D65BA47DE9A2",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 970
-      },
-      {
-        "contents": "791EDC67",
-        "de_type": 186
-      },
-      {
-        "contents": "42EBC555C54FC8AB0241758981E329839EC9B543E9",
-        "de_type": 47
-      },
-      {
-        "contents": "42EAE840E0F23077AAC76B4FDABB671F",
-        "de_type": 237
-      }
-    ],
-    "encoded_section": "6B90131A017BAB4BEC196E0F84C5E587C025D7911000686C4845F376C37C9C3C443EF4E29E9290024E453EB1A34E995C296614A6993FF632E9F97B2DE3D624825569175BD0A9C96B5B9B87531A9FACAAAC69833461463E3C5FCB1D89B23086CA868D4303B56DCE0339C156B9",
-    "identity_type": "trusted",
-    "iv": "5321A3B70C166516A62ECAA30FB2AC90",
-    "key_seed": "404A64651191A344B06BA775AB47A6D961042C751B62DFAFBD4F05C6B692A75A",
-    "metadata_key": "F8C1EC9CDC2C188F4A9F599CF84E07A8",
-    "section_mic_hmac_key": "47AE068E71F04816286AAA0F28FF01D4F2271EF59E4A3A37E4B1ADFF9A028BC5",
-    "section_salt": "686C4845F376C37C9C3C443EF4E29E92"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F1B3435490631CC0996A289568DDA5E5",
-    "aes_key": "B66949CE919A7F877E207F57739276BE",
-    "data_elements": [
-      {
-        "contents": "CC223F25545F",
-        "de_type": 109
-      },
-      {
-        "contents": "E80181074A42346CB9CD0787A2D568",
-        "de_type": 780
-      },
-      {
-        "contents": "03",
-        "de_type": 733
-      }
-    ],
-    "encoded_section": "5590132B1C10D0A90A025571E857B2E49A4054911000837E16BED64DBA81BEE53BE1DBB1DA679001A44E99184E6B16B0499F2E19314E25CF83C93DC0D4B5AF1E140BC3EE578092057599F5C716FA6042D492852F68AF",
-    "identity_type": "private",
-    "iv": "3FDFFB73C30D8BC45F8126A86D889C43",
-    "key_seed": "5D36273BC56672627108B613CB0C12EC04806C65D019A6FE4DB8C8B20DC0963C",
-    "metadata_key": "BCFE519169AEFCC4E6986C8D370FBA39",
-    "section_mic_hmac_key": "11A4EF7B955F8050A56C65D331E17EEB0299EE364DF3B99109523110D2018E01",
-    "section_salt": "837E16BED64DBA81BEE53BE1DBB1DA67"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "712EAEC308AE64A4ED14E1F7DCB13C43",
-    "aes_key": "98F6C204DA7BAC2C924E2511E15FBC44",
-    "data_elements": [
-      {
-        "contents": "9D35F9D040F2AC28D7A81524EDB41589771336127BF26D70AF503DC2",
-        "de_type": 380
-      }
-    ],
-    "encoded_section": "569013B73F41BD53CBC78A6861EB9435FA5EBC91100023BDF35A690FDB5ECF141A3899D22F42900246967897B21A2DE7A7F9D49A25BCD939FDBAEF13807F0FF86E4F1BF007728E98849A3FE70D206C883DDC097E1EFE8A",
-    "identity_type": "trusted",
-    "iv": "078ABCE52C402BFFE7A5EB49C4AFB40F",
-    "key_seed": "40D30613640F1FA84C9F670F63C9394E0464C6FED6CA7C3F2CE787B11CCB085A",
-    "metadata_key": "10DD3208F3A5D1CE9E5FAEA859F84C40",
-    "section_mic_hmac_key": "D8EF775C6AAFB173BD2956F817257FA3A5A6F4318439ED4E78BC5B95D9B18290",
-    "section_salt": "23BDF35A690FDB5ECF141A3899D22F42"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1F407B57564489497A0CC7E672852C63",
-    "aes_key": "AFE6419A004892A3074D6F302B525CCB",
-    "data_elements": [
-      {
-        "contents": "0BC923FB8124E54605284885D20FEA3B0531ED991206A7E1E66A0D3A",
-        "de_type": 366
-      }
-    ],
-    "encoded_section": "56901342667136A1FA39944C42FA485384005A9110008916195D190EFCC6885AA87B1C7346CE9001A0FDD44366F8DEDC29560EA4943979E58082609D7F54CD6D6FDD694E5D75F1C8ED256ADD1D96425321273A8C6B484D",
-    "identity_type": "private",
-    "iv": "833FAB9A4D9EFA4B9D4A8A68DBC2905E",
-    "key_seed": "E9F13B36B01E9571788A504A9AFA132B9E57EDE7F29BDC43EE5E8AFB81CE8928",
-    "metadata_key": "88BC13E7EAE2D056BEB2093A95BD5064",
-    "section_mic_hmac_key": "2E07197705F025A3E7D117E721682E8D2C3931076CD3E0FB3CA04C4D63BBDB29",
-    "section_salt": "8916195D190EFCC6885AA87B1C7346CE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D22AC6AF30509C332CFA4656125E4FDE",
-    "aes_key": "278ADF6744B1BEA0A5E31953A0A25A08",
-    "data_elements": [
-      {
-        "contents": "DF4143D4A169A64ECC8904D569296CDA879F48",
-        "de_type": 801
-      },
-      {
-        "contents": "DD214F021EDE84B893813CA1B0F66B98AEBB5FF094",
-        "de_type": 820
-      },
-      {
-        "contents": "066A6F1A28BF90A3000A56399A0145BC",
-        "de_type": 867
-      }
-    ],
-    "encoded_section": "789013F978EE7FC9B30B192FD29EDE12023D9E91100053AD38BC511698060EC41429F1B120C590014E843B18ACC329051B5DC84693336EE6692A3865FF84858AF8E0D10C37F25DF9765DAF75F880A98656987FF6D40A4F1B4A908C1BDA79667F29FC2922AB4B512749BC50DA3E20E2E6736C501006BDDE1026",
-    "identity_type": "private",
-    "iv": "EA05DCAF6A26E50E57F282173E8D6C5C",
-    "key_seed": "B58DCFEC3705289C33368810E98B7E70368EDE274184B1E2CC42DFD597F4E874",
-    "metadata_key": "F412B16221AE5038F4C5112C7D1EFC57",
-    "section_mic_hmac_key": "552EC08151491F3DFF44DB0B5D13F691E064B4E8F09AE41CB98FFC17A607D4AC",
-    "section_salt": "53AD38BC511698060EC41429F1B120C5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "36D0C4D6C12715D7287FE97F02251BE2",
-    "aes_key": "FAD2E4C7807F81D34D2491ADBA670024",
-    "data_elements": [
-      {
-        "contents": "434F8FFE447B6BD8FA9CAA8653928D6BE5E8D3",
-        "de_type": 853
-      },
-      {
-        "contents": "57B611D2196D0DAE89249493C060AB27EA4377DF",
-        "de_type": 652
-      },
-      {
-        "contents": "433B21A811",
-        "de_type": 648
-      },
-      {
-        "contents": "ECB728637AC60A94BDC4EDCBAADF7782CDD4031A18B3F3",
-        "de_type": 172
-      }
-    ],
-    "encoded_section": "869013E40676A01D66A6DEB421518859371BFE91100055020FF3DB29354D80E8E03397C0E74D9001FCEB97DFB9567B4C57BA8061A646B54559230AF6CCE3CCE6871C4C767C42C70208035162D535FC3B9565AC7FCA3A9D8019AF94D65C38CC7564AF0AD3339822C939570E57181E5CDD40AEB04E64130E4C44A7A4B3C0EDAB655451F585C19750",
-    "identity_type": "private",
-    "iv": "4C44E4C5CB13EFA82A8785FB1C4064E0",
-    "key_seed": "7DB299F572F69A530306BFFD37D3AA1D5702DDE5E8D295A1EE1A89964B2664BE",
-    "metadata_key": "0BA1602DB4E23F70EEAC5ADD65D9EBDE",
-    "section_mic_hmac_key": "3B6687807F35C44E71AC08178485BBE20ECACA722061443ED733077FE09812A1",
-    "section_salt": "55020FF3DB29354D80E8E03397C0E74D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6A0271AA5747B448F81BA095AE218E9F",
-    "aes_key": "FE81F30B457DB3B5A2B12C9E62126168",
-    "data_elements": [],
-    "encoded_section": "3790132CA2D928B14971ABFD0410DCBFEC710D9110006ED067EB08676C51C40F3C1848F89858900418EF11F7818FB2284E8261AAB63CA532",
-    "identity_type": "provisioned",
-    "iv": "463F849F17AE15B5D63FC3AD59728ACF",
-    "key_seed": "BBFC469077C9725D263D54D042C203F6356D60F55F050050CF10928BFA8EF48D",
-    "metadata_key": "632558DBBDBDE655DB4FDB6CB0280AB1",
-    "section_mic_hmac_key": "DE884F0B125AD4F4AEBFBB562EC79A8556AAC9C1654E75E79E59C874DB4C554A",
-    "section_salt": "6ED067EB08676C51C40F3C1848F89858"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D0CBA45C99E9FA404A4B0CCE1750C1BA",
-    "aes_key": "D5F6E5822FD550CD3592877794A9FA54",
-    "data_elements": [],
-    "encoded_section": "3790135A82DE2CAC2C840A7A525B98295A2B0E911000C8A8DC0A221A9E73736816B12FADEE9990012AD90295A4695F2AA1CDCE65858F6319",
-    "identity_type": "private",
-    "iv": "CE0AE01F467A25649172788288036955",
-    "key_seed": "1EF3F6BFA77940DECF68C92C4916DB9DDCF12D2FC671F80F133A0E64CE643CC4",
-    "metadata_key": "1DD57E55893D8C7C66F30AB5BE78E5E0",
-    "section_mic_hmac_key": "6C18E5729C77197AA709F37CC196DDEBE97CBF5109E6AD8B686F6A193E7B839A",
-    "section_salt": "C8A8DC0A221A9E73736816B12FADEE99"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F33D12D40B9C8B9AE1C47C8AADCC0CAA",
-    "aes_key": "1E64FCFA53A6CEE7E20F1C616A672CA7",
-    "data_elements": [
-      {
-        "contents": "081EC010879E34E2E36E07DF44D5",
-        "de_type": 686
-      },
-      {
-        "contents": "ABB15E5E47C51C9C5247E1256387260BB0E688",
-        "de_type": 184
-      },
-      {
-        "contents": "71DF0AF4F9666A099E6DF57EDBEB",
-        "de_type": 797
-      },
-      {
-        "contents": "",
-        "de_type": 866
-      },
-      {
-        "contents": "A1D4",
-        "de_type": 57
-      }
-    ],
-    "encoded_section": "76901346AEBDCA4CD4F32C73CFA95B0152AAEA91100019C67F054994EBF76B86A9910B24442590020889DA34F813D8ED74273096EC54618EBC62DDBBB2001CF6F1EA30C6FCC4082B55FC170EA5144776585B7D30E0C4CF9C54318C7115E41490ACE3849B79499C829F5EE6F63D5CD6F725FD7DFB2F0AC8",
-    "identity_type": "trusted",
-    "iv": "D3CEEDC1A3009457FF17D6F2C2C6CC45",
-    "key_seed": "FE080591FBA4B25B2326713AA17FFD1B64C32B4B7D1746571C01D6F23931EE37",
-    "metadata_key": "6FBB76CBC7FF309E679EB284FC5001F3",
-    "section_mic_hmac_key": "A72DB4B90E985E04BAF697CC358CC84BC077BF0E863DFDE644E829A40F72C0D3",
-    "section_salt": "19C67F054994EBF76B86A9910B244425"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D67DAFD17744D0F8241D3DD1F3A1B14A",
-    "aes_key": "8A065DADD8CB1CC9967868C01070DE8D",
-    "data_elements": [
-      {
-        "contents": "3310FE973462496D27BD963268D98A27A6F848",
-        "de_type": 506
-      },
-      {
-        "contents": "FBEB9691FC08C103F9E7E74092DF32C3DA848F",
-        "de_type": 947
-      },
-      {
-        "contents": "",
-        "de_type": 942
-      }
-    ],
-    "encoded_section": "669013A84927C93EF891F3684515177D57F56E91100075EE531A506096BA0F5C07F1123C5CA990025FF39825FC892166579828672F8D9953F02014743C0B7CA7ED00C694A5BC3BF1C3BBBC16C1FEB9489022CB014A97A6E7077B52BD521E811D78A3C3733517D9",
-    "identity_type": "trusted",
-    "iv": "75518BA2DDD3E7B3DB43F868ADFE2A20",
-    "key_seed": "26B3A85EECA4EC7AC1B7855ACBD28EBA1B0E9F96E9198A15078172407708C268",
-    "metadata_key": "3E9E3098DF63D01ED466C1870EC6B4F3",
-    "section_mic_hmac_key": "646D3C3381952F4E489A408AFFD2586981B31E9470339C0A196F02D7724A5349",
-    "section_salt": "75EE531A506096BA0F5C07F1123C5CA9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EC458F9E453AE59CE56316C9A18F2698",
-    "aes_key": "E4C77487A10D78704F4FA0678EACDC3D",
-    "data_elements": [
-      {
-        "contents": "4DE4C93DCD045609E8C0D59A5D232BEA345A8805",
-        "de_type": 106
-      }
-    ],
-    "encoded_section": "4D90135B2E85AEDCA13DBF678DBD9A491899F89110006EE872C19FAC3E06FF7B1087D7DA70CD9001524A8CCEB50207DD133EE928A16AFDA97AB9D56B798C15BEC3A8878F9CB23FC0A9F1DA69E868",
-    "identity_type": "private",
-    "iv": "39EB9D090BBD36CF20FEE1A7B383170C",
-    "key_seed": "E571F9737891BF4B91A55DECAF950FC0C3C14AFCBCB578BA64369691004CD99B",
-    "metadata_key": "78DABB32CF166CBF9340B1B6F566A91B",
-    "section_mic_hmac_key": "26C2433BF4859BDBFDE86F9B14CE9A166C8003185F3C606D58C6F865670F3B63",
-    "section_salt": "6EE872C19FAC3E06FF7B1087D7DA70CD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "91E89D93CAD7F35D9AB9C6BF4325A2E8",
-    "aes_key": "70EFA33873D2E345D1F56CCA9665054A",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 649
-      },
-      {
-        "contents": "9EE549A8C30E5CB17E60804FF9F7885BA0DE9AD888AD102A4F40E3675A57",
-        "de_type": 267
-      },
-      {
-        "contents": "E3F347E2C9170891B6437DA81E",
-        "de_type": 594
-      },
-      {
-        "contents": "CB572B98DDD51E9122EDF481FF59D3A692BF43",
-        "de_type": 642
-      },
-      {
-        "contents": "A3CCC2D85DE09207CE8CFA88FBC2A27F5032A9661B89340EB2B45F54",
-        "de_type": 712
-      }
-    ],
-    "encoded_section": "A09013053B0E55A309DB4CBBFB63F693F097C1911000C252DDB368B81DF337A9E6C22C1AB1E29002E8784CA2E7E1C22823BD8C71E457C78618A334565C5A4931F291603EF5F5DA43C2E791D65FE4029AD8BC8AF31CCB9FC66300C80CB4A7A026C7F5FCDA97D406D8891C8E36B5DE49F57F4843C0EC57CC01A303C6989D0779114255B7357EC89BDE5935AE4ABF2245A13E0540FFDA726C4BBF33BA356F3FB52B5F",
-    "identity_type": "trusted",
-    "iv": "4AAD555F0E8B2B0BD7F8B5B3288EFBB8",
-    "key_seed": "235725D5AF71A8B364F576DDF5FDE5794F379B1157FFCEF16E0962ED9E7C69F0",
-    "metadata_key": "221424FDAF49E89693F960537A19185F",
-    "section_mic_hmac_key": "BF1850DF168537FD74F15A0D907D2205509C03DF1E0B2D3C9C659DA296FBBA12",
-    "section_salt": "C252DDB368B81DF337A9E6C22C1AB1E2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5F21199702D08F17E8C31D8CACC752B7",
-    "aes_key": "78055B5877F2DC9100DCC8C026FEAE01",
-    "data_elements": [
-      {
-        "contents": "0C9E929580674F44BCA192B4988E1186E73C0553339E077DDC537C2F7CFF",
-        "de_type": 49
-      }
-    ],
-    "encoded_section": "579013B616F28CC69FE4BD9566BC9C28E7997A91100005F57B353ACC660C1C893CE24C2AB4139002C3B30303F662EF836D765C8CF334F356DD1A214E25294934896D0E54AF12F9740FE06684DBE3E9BB01CF1DADCAE0DD25",
-    "identity_type": "trusted",
-    "iv": "5CCF9429D65B8856E1D1DC0F0600DAAD",
-    "key_seed": "49EDD7CBD630CF1EB36750CF0B84887F9B9036350EBCF09EBD36E1B1D6C412A0",
-    "metadata_key": "34875210235E1D2D25478D12066C155C",
-    "section_mic_hmac_key": "45FC0D8B7794850569590818996D2E7F2EDA7E38A2090D37B5D6A5E7A4C24B4F",
-    "section_salt": "05F57B353ACC660C1C893CE24C2AB413"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ADDC564B44D0313C8BE7BB31D9591C73",
-    "aes_key": "E89A463D3116A6596F4E0E20AAE69439",
-    "data_elements": [
-      {
-        "contents": "24C93D94C0",
-        "de_type": 130
-      },
-      {
-        "contents": "EB7F3A5D86354B56D639609F502BAC8A292026254288A116C2",
-        "de_type": 608
-      }
-    ],
-    "encoded_section": "5B90137D5718E198489D40D7EF03459A4336B0911000BD284D68208CDB356CFDE5EBE234902D900279864896227AE76218FAD91C906B62334298BA923DE515265337355814BB2FB2AB4A9969C34EBFF5F396EB39ED8A605FD7241A5D",
-    "identity_type": "trusted",
-    "iv": "36208616A6E3B31472F125A2DC4F51E5",
-    "key_seed": "B7C8C5EC411AA108CE8EE9B6BBDEAF9CCADA1252DD7C7929E20D12F8E09541D4",
-    "metadata_key": "CC1BAD820BD0B97A8B5A5FAA4419DBF0",
-    "section_mic_hmac_key": "2DCD3B2806A4F52453EDE021A1C167C5BBC3FFA9E8BD14C7D1FEEA9EDDACBA1D",
-    "section_salt": "BD284D68208CDB356CFDE5EBE234902D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5E8E972BE173F38D85F411A2ED26003E",
-    "aes_key": "9FD558DA6B7A1A5184EB545BF703858F",
-    "data_elements": [
-      {
-        "contents": "194E56962B21A139D89B79A1509FF3E0DCE71684B72DF74416848286A710",
-        "de_type": 278
-      },
-      {
-        "contents": "C1276C6B7402",
-        "de_type": 575
-      },
-      {
-        "contents": "A64FC3",
-        "de_type": 589
-      },
-      {
-        "contents": "5CF1B952B38E5CAA8E",
-        "de_type": 883
-      },
-      {
-        "contents": "DBA4F3AB1BF2A6F5D325FB9130D5391AFAED7B0792F2DF430F50",
-        "de_type": 122
-      }
-    ],
-    "encoded_section": "8F90138745AC668A56139F98DE7B63F8E75D55911000A91454CAB75AB191C1EFCD50DA1C31A490018019E926591F29A634CB84E2B5852C661047B96EB0522EF34BCEA20C8148CBE779FB9FB95AF044F20A6532804C303DEAE0D287D40D2D0050ACE7923A2116360B7F1FA82E888316057B56112C26C1D49865EA7357A73308415CF1CF17D7874D442103DCF4969FE59F",
-    "identity_type": "private",
-    "iv": "CC6E95261D63DBDA7B9A379984AC5860",
-    "key_seed": "D767BD6AAA4F821C12CFDAD0839649B26DE111C270B746948DD3816B42361F6E",
-    "metadata_key": "99B29D708B6AC3929AD7860847ADF25B",
-    "section_mic_hmac_key": "7F566273E7867C6044B63B51B1FDD564EB972A1DA7ED441739396A15C85870CB",
-    "section_salt": "A91454CAB75AB191C1EFCD50DA1C31A4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "890508C1E419677CE3D82C8C634D9A8D",
-    "aes_key": "B58487F205E25C8FFC6BF799D7123167",
-    "data_elements": [
-      {
-        "contents": "9DBDF9ECBCE565A86F0316355BBAE4",
-        "de_type": 729
-      },
-      {
-        "contents": "894E7DCE8E717CCB6BE7A2B727AE1F038FD81F2D",
-        "de_type": 556
-      }
-    ],
-    "encoded_section": "609013BCDC003EF848E2552698FEEF4B5BE538911000FEC9A473F042542F1594E8374E690CD790019456A748B13AE47C66888BFDD3BF5D69259E33B8223572975CFDBEC12D566C8516182DEDDE70B61A0C83091AA7D675C516AC6426395265023B",
-    "identity_type": "private",
-    "iv": "3266A4DD70BF6DE22B52D786A665139A",
-    "key_seed": "1F19488144728397A56FEDF8EF3C71F1C784BF98A8FC5DD3EFC14B733322AB5F",
-    "metadata_key": "B15E02D56B9062FD82C73E2F1DF3DDDD",
-    "section_mic_hmac_key": "A3096941E32118FFBA5B57A5A151D49CC0C0E4CBB74658669C6E1C9024FDEDE4",
-    "section_salt": "FEC9A473F042542F1594E8374E690CD7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8298F26DF0ACD9B9784CF50C1FA31CD5",
-    "aes_key": "32599218CF7379D323531C4BBAFC94A0",
-    "data_elements": [
-      {
-        "contents": "BCF691D7FF954D04836873F6822A",
-        "de_type": 458
-      },
-      {
-        "contents": "4F0E8EBC44028D314F3BA98B806DDF652722",
-        "de_type": 177
-      },
-      {
-        "contents": "9B4173AC",
-        "de_type": 242
-      },
-      {
-        "contents": "7F5213584393",
-        "de_type": 204
-      },
-      {
-        "contents": "5C77CCF36304E367291A1B2A3F7F58",
-        "de_type": 585
-      }
-    ],
-    "encoded_section": "7F9013102BD6F16710F91D224A7DAE68FC3A2A91100071658BD652281D3C02E63780F9FB687A9001C61A8B00D08E33EDEA32453B605CE6AC3259641D1E0DF3726A164491FBAEE8BC4EB237178E1F55C6C811F14BBB32764330185DAFAF2B3495FBF8AE3368F46DD21D46F0C670448F9D517731F0F7F2118762CADB6E306F2C8C",
-    "identity_type": "private",
-    "iv": "75FB79B913CCB164010CEB9C2F003B79",
-    "key_seed": "FC02A056FAE91FA6DE95CEEBA9EADB65777603F77F123004515D21B281FD1AC3",
-    "metadata_key": "9B055D228F084D0BEB418876908EC39F",
-    "section_mic_hmac_key": "58E406BFD5609A7642B7B19AE11FA144D53BB56B583C55694665F8265C09E9B2",
-    "section_salt": "71658BD652281D3C02E63780F9FB687A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8DE8CF158AF393D2993F59D151D92FE7",
-    "aes_key": "C3ED1758DD53889D70F1D523EA467752",
-    "data_elements": [],
-    "encoded_section": "379013F55E075DEADB5808B48E3D7520302EF991100084AF13307448C2326837E2A2760876A290017A8BE69D8EF995E77620EBED461B2AE2",
-    "identity_type": "private",
-    "iv": "58A62B7FDF9BC814F3209DB583F52017",
-    "key_seed": "60F7A17633D7D73127CECC969609F9AE6638C0E00B95C4464B686A5FCEDD3E2E",
-    "metadata_key": "A4A17957FC404BF5D50A42BDC3D4857D",
-    "section_mic_hmac_key": "B1D557333696A1E1AD29866C78BC4086C8C6ED43711A3FF4862709A08F62E214",
-    "section_salt": "84AF13307448C2326837E2A2760876A2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D767403957E9D3E90C2C17EE950E7122",
-    "aes_key": "041C51D75D894A63E83E7D6862723202",
-    "data_elements": [
-      {
-        "contents": "423FE65EEEC743FB7781376641FD9CB31D5E37480D5313BDA90A7A",
-        "de_type": 623
-      },
-      {
-        "contents": "8B5DC36EE664C72FC16840A0CEB5BCAAEBAEF09694",
-        "de_type": 250
-      },
-      {
-        "contents": "CBD97F852E7BA0",
-        "de_type": 633
-      },
-      {
-        "contents": "B2E5FDFFCA6859D1",
-        "de_type": 230
-      }
-    ],
-    "encoded_section": "829013CA3F3F33B038546D0583551F01CED15A91100014C5C9F74FFA4509A87523AB284DE2AD9001E09EA5B8DB9CAE3E53DC93FE2CE7669CDE9FD349982E2744F9700745E409F926C1568C527923BE14BB9356179E1F36E072A08EB2BB6559D460BEB251F5C8179DB02B903655D54043000FD1A9A272EE8849391915C9B5E27CCFF6FC",
-    "identity_type": "private",
-    "iv": "404AB007A1717B22258CCDADA622C4A6",
-    "key_seed": "6E0ADE4BB6B948EA0412A3BFE1B3D8F97CC95BF9F8531E91632E6393378F12BA",
-    "metadata_key": "D211AF1D1753DC34098F73AE56F188D7",
-    "section_mic_hmac_key": "0CE5B2335330EE0DF2491432539E311627A00E59FA3A6B8858BE6124AEEA67C3",
-    "section_salt": "14C5C9F74FFA4509A87523AB284DE2AD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EAA4670B96668CC6F80D1C5879AE3AE7",
-    "aes_key": "B001298B920AD8FFA727BBD08983DB33",
-    "data_elements": [
-      {
-        "contents": "2C5BD7EE8B257AF6D9F3BAA45266B450",
-        "de_type": 676
-      },
-      {
-        "contents": "6A87A498F333D0EA885BE02FCAAB20A7848264ADF1C536E1",
-        "de_type": 24
-      },
-      {
-        "contents": "5C7816C6CB0D3513FAA77CAC05568E8BFEC1D5338799A27FC5",
-        "de_type": 275
-      },
-      {
-        "contents": "93356AF6AE0C944E5276",
-        "de_type": 93
-      },
-      {
-        "contents": "D6EFB581D317A392",
-        "de_type": 946
-      }
-    ],
-    "encoded_section": "9790131ECC1BB30CD53E32B1D49E2C3F686D3D91100013EC472339FE487D5C13C57B3DFED24A9004F8431796FC123097DCDF156B695ED780A62033B4FEF0EB38807631D6C1409B6176694B32A5439E8433393B9354782C64DEEDD9B243521963FDBDF13B9CAB502654981751782EAA352313FC17503998C0F31C20833424AE008FBC003BFF7EFAA0CEFBD144744BE7B55963F9EDAA6F06CB",
-    "identity_type": "provisioned",
-    "iv": "CC88BD5D473FFBD1B9E8C25D278E8DB0",
-    "key_seed": "A0AF2537313F70D3C9ACF9C3670093A73F6DD52E775814785A459C99D925D1F1",
-    "metadata_key": "5A91F28B272C105013A774EFE06F2D21",
-    "section_mic_hmac_key": "1D5897008DEDDF91DC33C812DB0D7FF20D32F21A22011CA4AE01E27DD46A71B9",
-    "section_salt": "13EC472339FE487D5C13C57B3DFED24A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "94BC22D840D0F083167EDCFC6AEF8C49",
-    "aes_key": "1A26CB30822972EE2ABE2791A009C412",
-    "data_elements": [
-      {
-        "contents": "B72CE5E1E1C2",
-        "de_type": 692
-      },
-      {
-        "contents": "47",
-        "de_type": 287
-      },
-      {
-        "contents": "1DDEC34D828DDB5CC0F84CD20B5DB7B19EF25F95DB123AD9",
-        "de_type": 86
-      },
-      {
-        "contents": "CACCBF6A6B8EAB0047",
-        "de_type": 314
-      }
-    ],
-    "encoded_section": "6A9013F5710533AE4FCCEF7B5ADE33EFE5239991100005533C388684983561E9177E61EF12A790043935815AA283938A76A1C359BCB9F4A227EE4D5C756C2FE0E784A728D7A1E04D67778E7AD79C64701C3F5BDC0E9A630BEAA2BDEBC0A6C70B81F289EB1A8EEF6AC534CB",
-    "identity_type": "provisioned",
-    "iv": "AE327DDA6E6F62742E607A4D558165F5",
-    "key_seed": "4F26D99EC0F6EAAD77C9A99A96BAE0433F7CF061701FA46D9694E85F8A53E3C2",
-    "metadata_key": "8F5507A58C555112EF53DC37B8B35299",
-    "section_mic_hmac_key": "E5B47398C87A33856D04E6D5DE9FD03830179BBD0B441A0308B6D2D5B0D4C693",
-    "section_salt": "05533C388684983561E9177E61EF12A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D3E0E38F22BB30B42170FE476EAAF4A7",
-    "aes_key": "4E1CFC0FDB6BBB26913B5A0EC39B018C",
-    "data_elements": [
-      {
-        "contents": "4E9E5BB8C4F9751BAD57AC939AC519FC688076F39FE424",
-        "de_type": 861
-      },
-      {
-        "contents": "9DE1BC6BC8",
-        "de_type": 315
-      },
-      {
-        "contents": "",
-        "de_type": 995
-      },
-      {
-        "contents": "FE3A1A1793B12DC2E2CBEA6DC461",
-        "de_type": 722
-      }
-    ],
-    "encoded_section": "6D901328E5F50CDF08199DCDA8953EC535073B911000B629F236825E4F1DAA2A828FAD8B10139001DB295D2AD40736D82A98069FEA37D688BD2D602F52E02554AEBEACBE7BD00AA0E553253B44F645A0BF6F6602583A2ECC26390107D5E1E3832A31784B5E0FB83F74FFFA23F0B2",
-    "identity_type": "private",
-    "iv": "512C19498A4E6BBA5958FF68EF833524",
-    "key_seed": "AAF59E43323B8E5BC14542E4E4B1D6FED664FFA9C4565FC137C53D9F234F687C",
-    "metadata_key": "E96E09BE304022E2062E3309FBEE197B",
-    "section_mic_hmac_key": "D4A3BEB6ACBC8497213299435EB3BD8504DB6C82979374D7F918C1D41AECC7E8",
-    "section_salt": "B629F236825E4F1DAA2A828FAD8B1013"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "36B6EBFC8957EE9D957D592B1C0293C6",
-    "aes_key": "EF8A7FB2585A093B212749546DDE83E7",
-    "data_elements": [],
-    "encoded_section": "379013FEE47BCD621E2BA1966989BC933A8789911000DD18243E63B52FC8BD6E6237FAC5C0939001FC37D819D217F558FC19D2DDC5A7AC12",
-    "identity_type": "private",
-    "iv": "209F0DA89053E84ED00F71B53155B760",
-    "key_seed": "D82BA7F2F0A36BC58334EC711E2AEDA662999D22F7D7D9B07564C73CDC51E282",
-    "metadata_key": "226F121645E6F4EC151AA15B31382A13",
-    "section_mic_hmac_key": "D2906FD8EC224CDA8FE20EB4F77A1FCBC0494238E7BE0FDE3575184CCF2CD5F7",
-    "section_salt": "DD18243E63B52FC8BD6E6237FAC5C093"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "99A6BB55ABC4CC161FAD1CB8DE6AC727",
-    "aes_key": "4DDEDCC1BDABD7190C999F9F5F239FC6",
-    "data_elements": [],
-    "encoded_section": "37901348313C15FC6D0809D5C003E835396037911000C62DFB45DF8452EF58E761232FF95ACA9004924D826FEED7FDE6BCC4585637AE50BC",
-    "identity_type": "provisioned",
-    "iv": "CA78EFA5E951531B543EC499C60D48B7",
-    "key_seed": "CC3937AB3F6ADBCCD479ECC12AB4C648EDAF2D715FC61272D90285E2051270AF",
-    "metadata_key": "249790EE67EA75470D5CA38274206943",
-    "section_mic_hmac_key": "1720B0888207C03723165DA9C7F2BE23F19DCCF3666947E208F6F1E4D61BF28F",
-    "section_salt": "C62DFB45DF8452EF58E761232FF95ACA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF9AFE50ADA0A3975C49A50CA4592CD0",
-    "aes_key": "8309EFC8132EEB8924884C37F023FAFD",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 930
-      }
-    ],
-    "encoded_section": "3A9013E3B37AB96E385112C61C57C59E5AA4789110008C658E80B19AA3F9A91CF5CAB5EDE9FB900194F75F6B920DFAEDC253BEE8CD72586B3A55A7",
-    "identity_type": "private",
-    "iv": "1F9A54370AF4AA8257003C4083115700",
-    "key_seed": "B180DADD23E531D4693AF1361DEE2B82CB4EAD3CCB7B440822C791DE23808B24",
-    "metadata_key": "5B70CB9828BF7082D582E80BF68A95D0",
-    "section_mic_hmac_key": "C7151B084FF92A1D77EB527978F3341F4E26C888AFA801DBD5AD66FEAA09A886",
-    "section_salt": "8C658E80B19AA3F9A91CF5CAB5EDE9FB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0AE4ACDBB6B969EA9C655FBDFAB3BD24",
-    "aes_key": "9C721D6592B96CC3EC1A069C8257D53C",
-    "data_elements": [
-      {
-        "contents": "D6E933C73088AF72DC86CDD2B472AF67C0EF9BF2485481930DD803C8F0",
-        "de_type": 646
-      },
-      {
-        "contents": "C85DDB36AF2574",
-        "de_type": 692
-      }
-    ],
-    "encoded_section": "61901310131C4E228092D296F758A3526A9A5391100034B70164C7A05EB4D4166BC4F4CC16BD9001D717BE347A4DB6CB0DBEF2D099D6883842035FD21A6B9D7C92A7D3848E7C64388913DF0AD468382D17EB97C0264F457DE26298EE9729E2551EEE",
-    "identity_type": "private",
-    "iv": "1830392917044736F4ED55A186631167",
-    "key_seed": "BD733DC39589B1AAEDD1C0AF32E3F1D0C67C85A426C76DC1C436F5FBCB4CB8F8",
-    "metadata_key": "A65E981CDB9BFACB2FAC9048FB5F86AA",
-    "section_mic_hmac_key": "9A95A15A85545A8F5BF3BF598C68C6B1DD8B717A1C860B306D2C56260D3D144F",
-    "section_salt": "34B70164C7A05EB4D4166BC4F4CC16BD"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CF43BA7DB832370445F2B85CC9DC0820",
-    "aes_key": "1510B1459D6070F66F102C553E6BB690",
-    "data_elements": [
-      {
-        "contents": "44D8251E75FF1AC54A2EFB7738044961C77736CF6D",
-        "de_type": 460
-      }
-    ],
-    "encoded_section": "4F9013827424047389DEE800447D83ADA0BA13911000DC2F440F30E53E4B029CCFF297104D479004BFB36E2F23E45F49E6C7101D5C1A95B530019C645BE8ED2455D28D7DE4F01D2349EB0AD6EFD768EE",
-    "identity_type": "provisioned",
-    "iv": "FBF5782EFC3F038150A57A003453B289",
-    "key_seed": "0597F824745D4FCA4922A4A641E27C7F0DF3E3754F18229CDC11ABB6731C1E0C",
-    "metadata_key": "3D982630FB96976DEF7CC0D1DAFD1B80",
-    "section_mic_hmac_key": "09AFB1227469C31F3FD01CFEE970327FD85AE9557364DC7BDBABDD3E0AD596B7",
-    "section_salt": "DC2F440F30E53E4B029CCFF297104D47"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4BF365A1E62CB517ADF3C96EC86A695C",
-    "aes_key": "06773F17BF41CFC952BC520FA06E907A",
-    "data_elements": [
-      {
-        "contents": "F1897D930A5877FA1CD661DCDF2C9225B1ABCB3EB937D674B3E1C444",
-        "de_type": 404
-      }
-    ],
-    "encoded_section": "5690136721E5046A5398712F086DCFCCFEBB4E9110009C3172327BA6B8B09FC3AD2A285A4FF09004DD9D9AEE9370F474D9EBEA89CC7BC5EDE99547F14269862FFE642BFA9C51216EB10EC71B5D462DBF155E7F9282ABEB",
-    "identity_type": "provisioned",
-    "iv": "2039CD9D8979F45554A8165952138CD0",
-    "key_seed": "74C768D045E9145CA61115534306A970AD184F166A1DFCAE8FA44019E9274F94",
-    "metadata_key": "94E9F6F9C99423A6352CCC6D1689BC8A",
-    "section_mic_hmac_key": "CB0A779AD5C3F5514E1A2D4094600DD5AA50C3756958F80BAD2229A87F170D38",
-    "section_salt": "9C3172327BA6B8B09FC3AD2A285A4FF0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1CDBA11F9479A51F6C7F5A892FDBF196",
-    "aes_key": "EE83B59FF4FE53B13B348E8BB40B5B54",
-    "data_elements": [
-      {
-        "contents": "9E6AF7AFA04A",
-        "de_type": 60
-      },
-      {
-        "contents": "4CA08F4DD378B99F005502048E577335307332",
-        "de_type": 69
-      }
-    ],
-    "encoded_section": "54901361D8AD4F0C8E4E18A1D898278B2BC137911000AC75C0FEA579E3F958E4395F9CBEE3B39004C88B0EA35E1F251FA0CA9AA6E42EFA999D69E852E0CAB982BB1A974486BD912507617D5F7F70195010ACCBF83C",
-    "identity_type": "provisioned",
-    "iv": "6E4B7653CBB755ECC8927EFE06CABB64",
-    "key_seed": "D029E2ED3571789462F357D5C3755AFD6D3B91FBA2D2BE1B9AD671E370F9056D",
-    "metadata_key": "2E36E40B8B0155FF11B92A8077932CA2",
-    "section_mic_hmac_key": "90D1EE3CC14FCD4F7B5734A40CA42AD27EEE5892C2CF5B26729C34D3C2B143C4",
-    "section_salt": "AC75C0FEA579E3F958E4395F9CBEE3B3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3690113DBB16570F0CBF9C3A2716C6CF",
-    "aes_key": "FEFF29107072AAA0681873034994F017",
-    "data_elements": [
-      {
-        "contents": "2C4DA1F7E021E1354FAC8A76445E1283BB22D1A47DA113",
-        "de_type": 426
-      },
-      {
-        "contents": "AF46",
-        "de_type": 241
-      },
-      {
-        "contents": "C12A5AE9835106753CDF5C961EA2B3A09E5345C15A8BF2878B05",
-        "de_type": 131
-      },
-      {
-        "contents": "021A8B90BA962F",
-        "de_type": 628
-      },
-      {
-        "contents": "4065CC7C14A9A1",
-        "de_type": 956
-      }
-    ],
-    "encoded_section": "879013651C94A1F7CFDA39FE974613772127A4911000FC81D58B27C193143B37E79A070730019001AC6EF8D82E470B38CB13558B2F2E0A0E7E28E0D70630BACD41B508B19550BC2301B46B8A64B8BFA3099D2DC6AAED4F125EFCE470FB97D8166834239B1B55880E969318422EBD021FB94EEC47F9602181B9F19A983926D42F185E1B3007D899CA",
-    "identity_type": "private",
-    "iv": "80342BF18D7C5776BD7FDE0A2F8AC447",
-    "key_seed": "5FBD9471E75E2C59F62A8B341120BE518410FBC2DC9C73E01B0892A6BBB6390F",
-    "metadata_key": "070C25B363FB7C308E15D378FE49E66A",
-    "section_mic_hmac_key": "811B501ECD17C5CA3483A7B2CB4DBDA18DA36A8A0070A336FA4D4EC7AD617C4D",
-    "section_salt": "FC81D58B27C193143B37E79A07073001"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C108BD4A771CAD2F6E7814121E2ACF0D",
-    "aes_key": "C842C0FAD03E38DED3004C68FDE4FF7C",
-    "data_elements": [
-      {
-        "contents": "37F07E9ABF51F94A2FEDCA5EB096BBB6A2C98BF5D792EC10B8",
-        "de_type": 86
-      }
-    ],
-    "encoded_section": "529013AAE6FEC854ECB31E4A0638F9C3459BD4911000D314E0A6FADC0C898CFC47B121C5D0439001D0049C43DE3BB4FC114A4E261443B33B87E3D0CDE141BEEE14A6B252BFE7654A53C6F5E087D7871E936406",
-    "identity_type": "private",
-    "iv": "9B140F556904B7BB90D90FE1D7053837",
-    "key_seed": "C422D717FF3CFFB8A1799B7EBE928C327C3C6CECD0EB6F6A5ADDAE450C2E4A43",
-    "metadata_key": "FA01F1000E65A2B4CF29A61C94B48C0E",
-    "section_mic_hmac_key": "346DA5C873307F1DE6B6D50DDA7565FD3B64D62BEE8FA5449878CB9B04B8219A",
-    "section_salt": "D314E0A6FADC0C898CFC47B121C5D043"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "195580FBA34790E8277954C3BC9D2082",
-    "aes_key": "E2803B4903235BA7D86D3148185D8CC5",
-    "data_elements": [],
-    "encoded_section": "3790132C00FD339FEFDA9A33EA05F0B61C1C559110009E3B063ABD78AACCBA9411EBED90BF029002569640B7F099D81C9F82A9C45AB8F38E",
-    "identity_type": "trusted",
-    "iv": "6CB76A799DA3B1D880221B61FCD13BB2",
-    "key_seed": "85F01432030780C4EF09D81B8B7F3E6F6181AE5E35818A9327B90B513B18D39E",
-    "metadata_key": "CF225E1482E9DDC1EC23BEE3830BB297",
-    "section_mic_hmac_key": "E59C266F44177561A92FAD0E914787F91B75102D557AFDD8A90E15E4C517870C",
-    "section_salt": "9E3B063ABD78AACCBA9411EBED90BF02"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6E020398D55EFAAE4811261EDA98FD6D",
-    "aes_key": "116A369A261D68D0CCBC42A18C347ED3",
-    "data_elements": [],
-    "encoded_section": "379013DE1AC91E9B00462A9A9BA642DC5849799110006116C6CF4A3C7D6BA18B8D226D2301C890049ABE79E404D562A6885996894ED53AD0",
-    "identity_type": "provisioned",
-    "iv": "1D018BD16FD2DE9E649CEBABD581DD2B",
-    "key_seed": "F7826F803023E18562041D581E30C68B18F3BD079ED331AB08959EA9D6A4BFD5",
-    "metadata_key": "7B3DFC9C93D7749184D6D74358823E85",
-    "section_mic_hmac_key": "CB330A1CF99F0FF314EA31874A09A1C7160318E971FA13D268337D59814C7B1A",
-    "section_salt": "6116C6CF4A3C7D6BA18B8D226D2301C8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "567D9E7C592385238EAE53144E8BA230",
-    "aes_key": "136470023C70C08029F4DFBAE9F95B7B",
-    "data_elements": [
-      {
-        "contents": "A561C92ACC2252C6C62DFEFA992BC2C5A9C48D04F9",
-        "de_type": 248
-      },
-      {
-        "contents": "683961187D5DB39339DF9785A2C45271D1CD68611D",
-        "de_type": 816
-      },
-      {
-        "contents": "B56F",
-        "de_type": 910
-      },
-      {
-        "contents": "6166018060BFB398E173C269377CED91731BBD70",
-        "de_type": 507
-      }
-    ],
-    "encoded_section": "839013A7C4F33A2ECDC37D6C1CF6252071A5AB911000935A35412D351D8B3D41105173987C0A900266AE9A51DBD974D99670EC791804347809108459DE0B339FBF2C78B1B283B5D47C3B890744DB38733464E8125F101CC220E1BFA52CE6E8871A2E40FBC4E9F7619175B7E3903D7FEEC02B5571A874F22785BE608D844AD1E62A3CD1E1",
-    "identity_type": "trusted",
-    "iv": "B2FA1B41C649211A7EDE06841F5BB38F",
-    "key_seed": "76761CBE3E4C5C59C635770D6712FE9DA60F3EC7DB730C2A2E269D022F253043",
-    "metadata_key": "4ECF0D1A14561713F994E2DD7B685FC0",
-    "section_mic_hmac_key": "E05AAD376A660745E2DAA4552147B6301FE2D8BF56586011AC28893DB5856E96",
-    "section_salt": "935A35412D351D8B3D41105173987C0A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "21A510F6CE3823A53764724B62FD6B7C",
-    "aes_key": "05C066DCB8F0B98888E96B567579C868",
-    "data_elements": [
-      {
-        "contents": "C15CB0D22F013348DD0E70231A556608480E31D9E890D830B3A553415DAE",
-        "de_type": 37
-      }
-    ],
-    "encoded_section": "5790135C827FF620A9B1F9F152963942D6E026911000FEC1DBF803354DC1673A835893AED9DE9004A715F76EFCE834E20F88537CF36933F54809CEF7842962A6DAC2D1D3AF22CAB9E5E855FA6D5F7BBFEC371F21056A8A1A",
-    "identity_type": "provisioned",
-    "iv": "B758108B3902E3BCA1ED0C889CC5FA60",
-    "key_seed": "2F56D486D5C63D844C2FDEEE2180803AD2D1EE5905BA717461135123670C399D",
-    "metadata_key": "D468A60519C50394C3162E0E02BEE109",
-    "section_mic_hmac_key": "250E47FD6AEBEB5E33DF17AE8F5819EF98D0839A011BA4FEC04AFB39E75D9F79",
-    "section_salt": "FEC1DBF803354DC1673A835893AED9DE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "80B928DB65B720EE90833AA09FD5DC89",
-    "aes_key": "EF85E00C15787C5B8CFA20A31C1EE64B",
-    "data_elements": [],
-    "encoded_section": "379013023A8AF0E5E41435B4DE9FD9229166A49110009C4B81AEB3D407915348130AF8B9D1609004E4309CF504F37E93F69C559457182D38",
-    "identity_type": "provisioned",
-    "iv": "BDE415E1EBCFE566354779AA734A0F9C",
-    "key_seed": "70F30CBE76BDBF3E99847FFE02242A380D50E2A9C444696C62790E927665196C",
-    "metadata_key": "0777B0D07118272EF18915210E67D4B6",
-    "section_mic_hmac_key": "67978F51212E8DB9187E5EF52DBE96714EED071C716D8FC27905A138C597FB6E",
-    "section_salt": "9C4B81AEB3D407915348130AF8B9D160"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DE84590AD5159AE889FE5191762775ED",
-    "aes_key": "58AE0ED041CB11626C1E135A8FDA418B",
-    "data_elements": [
-      {
-        "contents": "787F",
-        "de_type": 864
-      },
-      {
-        "contents": "D1F4A82599F6",
-        "de_type": 876
-      }
-    ],
-    "encoded_section": "459013A9C4AFAD3ADB46F107137C6E33B1BEE7911000039933B91DD5D7C409512651661B032990014642BBCF512BA6F71FD38D6E73BAEF600156F6FB689FE5BC6943B6A121EE",
-    "identity_type": "private",
-    "iv": "D961D3EFC14523C97BCCF93C47DE7AE9",
-    "key_seed": "D29C5FF82F0D66CE956927333836E3354CB86DD41EAAAB8392225693E897A2EA",
-    "metadata_key": "B544F56E3A995CCEDFA8549780BC793B",
-    "section_mic_hmac_key": "D5833BC069C1B314C6A3F7D67320098E72CD93F3770F1E45EBBA5742AF3EC288",
-    "section_salt": "039933B91DD5D7C409512651661B0329"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2FF79874212D7CDA93645F988AF6421B",
-    "aes_key": "9BEABC1D25ECDB374914B8700638C7D9",
-    "data_elements": [
-      {
-        "contents": "F9B8FB6EC10F68",
-        "de_type": 896
-      },
-      {
-        "contents": "C08B48B41244100DE3CD2B0DD489",
-        "de_type": 32
-      }
-    ],
-    "encoded_section": "5190133A88E7EB3645A94ED695EBA85F75AD1B91100037608F6EBDF46AAE033ACF587848E6639004B805DD3CA0249ED6FA1EAE1244D8E3A49F354370746BE13814E00D5839741ABE795D2752CCB57897FD07",
-    "identity_type": "provisioned",
-    "iv": "217FB82980A6995AEC010E921FAC6243",
-    "key_seed": "DFCB8691CEFEB4ECF09ED9F0719E45C25B4AF43AA8DD405801D670610F508F65",
-    "metadata_key": "0917CF2905CE9FB3113357F3963AC8C1",
-    "section_mic_hmac_key": "B797F2EAF9EC7F43CE59E70D7456B0B487AE6A428BF133FF7EDF35C16C2522B5",
-    "section_salt": "37608F6EBDF46AAE033ACF587848E663"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BC78512327F1C8471CF01C0AA4FDEF2A",
-    "aes_key": "7CD9D0ECED9B92B058C164C72DAA07A0",
-    "data_elements": [
-      {
-        "contents": "0FE510DCD7D804",
-        "de_type": 739
-      },
-      {
-        "contents": "7C23D2D6EB1B8B3BC85F16DCCB34459904D415F286",
-        "de_type": 217
-      },
-      {
-        "contents": "4CD0B17F3AD93405736BC91F9C4DE76669F2",
-        "de_type": 763
-      },
-      {
-        "contents": "E91721441BA575F21A84CF4DD20B61FA14C6",
-        "de_type": 938
-      }
-    ],
-    "encoded_section": "839013AC1DD11822478EA0E8FE591CD90238209110004D8A533E493907664027DA6A4F3183F29001D65670948662735E7A7F129595196B44B94D1AFE368ADD6E5DAF03AACA8E3C4077F46A164F0BE076022417C86F21E8646A103E333AAAE689E33DF411784E6B7D48607C4C8FF6B977AE9F7C55B07DE52F88A54ABB35DC20F128D1E647",
-    "identity_type": "private",
-    "iv": "A706CDD672985D91B0CD4F308DE1CC70",
-    "key_seed": "EEAAE365B3DA449EEB6F25B891B7023EBC5FF1B9B675FA12DEA7525354773CF6",
-    "metadata_key": "88335D0BD8B53CF2FA24E5EB2D004E91",
-    "section_mic_hmac_key": "EEED7FAEA65FAAC630EEDE3F70681E796AC19D2E64EEEE5BED29F65BC5064E35",
-    "section_salt": "4D8A533E493907664027DA6A4F3183F2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D1573ED4ECDCE4A879E65C68B1165F45",
-    "aes_key": "4FED88141D37FF7790CEFDD9E5A7E9F2",
-    "data_elements": [
-      {
-        "contents": "430F28BC",
-        "de_type": 204
-      },
-      {
-        "contents": "32EE03B85DF71B06B43CC1C8AC17C3421756FA83ADF098CAB3",
-        "de_type": 518
-      },
-      {
-        "contents": "F0A965818855",
-        "de_type": 542
-      },
-      {
-        "contents": "",
-        "de_type": 390
-      },
-      {
-        "contents": "CADA0F0AB15928451A346544ABBF",
-        "de_type": 84
-      }
-    ],
-    "encoded_section": "7690138D3D5ACB2206D76CD2F0DD909F8D0DE69110005A4E8669652BD77496780CC8085FF28B9001B94FB713B235D2EB84DD453FAC955BA8994A4796E3ABC89E7D9BA85085AA727777981A901A11ED6E68F97EC32031FCCEC7BAAB22A20F4DD1E81D811CBACA821E4CD75266B386079896AB4EF9376970",
-    "identity_type": "private",
-    "iv": "DEDC56F368F3719F6507F18862DF2F21",
-    "key_seed": "7474B5856B73AA33803B8F16B5F9230EDDF0E805842BB2494A1F8FE87B8DD10E",
-    "metadata_key": "0989622EEDCA93001550750A77E81D52",
-    "section_mic_hmac_key": "88CA9441457FB574EBFC546DF423D2996213B2FE20674FB96BEC57B15E4802DC",
-    "section_salt": "5A4E8669652BD77496780CC8085FF28B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3379B3B44F19BBEFBAEAF20E742D9209",
-    "aes_key": "BC6242695C247BA13FB5E1B0A15B7F00",
-    "data_elements": [
-      {
-        "contents": "4E92C67ED663F28F0D1E3FBC3E295B",
-        "de_type": 891
-      },
-      {
-        "contents": "6D09BFCB10C38724315FA37FBD9F4B01169D5D2F",
-        "de_type": 497
-      },
-      {
-        "contents": "674AB7E0797190073A3AE9",
-        "de_type": 731
-      }
-    ],
-    "encoded_section": "6E901332F1F41C1274F02153C590E9582228A79110003A467B2E8A05693603A106F0CC3EFD2A9004CA7F77623D873F7E349A56A149DE733DBFD129501BF46EED93A56BCA17BC3DE92AF5ABFD1B340451D013535A4E939C2BFD78382ED9E661B3C906B20B9B5AF2A8B9C56C544DC7C7",
-    "identity_type": "provisioned",
-    "iv": "97CBFEE77A69EC3AB70CFA9DEC69D8B6",
-    "key_seed": "396536E9DF44FCADA1064F4571A5AAC5646FC8B3EDEE0D33A5DF52C7AE61876E",
-    "metadata_key": "74B5E5F9F6E2E1F4E23B9250CDBBD802",
-    "section_mic_hmac_key": "E10F34CE2FF4F91DEF8BCC12EFC3B9FEA40F02CBA57B0C714C3358862C9834EF",
-    "section_salt": "3A467B2E8A05693603A106F0CC3EFD2A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "27CDB6CBFC3BF4820E0A953BB46AE4EC",
-    "aes_key": "F2963BFFFB81BABEE97F57E2264B4D2E",
-    "data_elements": [
-      {
-        "contents": "2EC8FD8FAF7CF8B52193",
-        "de_type": 797
-      },
-      {
-        "contents": "DDEFB34CB3BB4D52ACBAC8602A8975FFA878FC21E99C",
-        "de_type": 715
-      },
-      {
-        "contents": "9A2F3ECD9492F6C8D7F5A38C4A213D895D",
-        "de_type": 46
-      }
-    ],
-    "encoded_section": "709013AF7171A0C034F3DA55BE657C572FBDFD91100079434D607EADF68D155698ED3AC192F49001A96F812E44AB68004FCF2B067BA95BBCA6CC41B11F4B8A99282FFB2A8BE34E170C129E1041CBA3F9E63B426C54D6A2221407494B54F373E2EC8A11421D6AADAC787180B6A076434327",
-    "identity_type": "private",
-    "iv": "93020ED0EF291C73688089CFCE540F62",
-    "key_seed": "64E35F579F6D8BEA4A3B9646779CC1C21EA2D2878266A7EBCB0773976DED9D26",
-    "metadata_key": "B913D7031986423EB7BF3339608702D3",
-    "section_mic_hmac_key": "DB938326214EDA6FB2FA5F84B9DD0ADAF589302CAED778C1A5155473CB9FAA61",
-    "section_salt": "79434D607EADF68D155698ED3AC192F4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "74D392DC20C0813FF03FB08EBEE968CD",
-    "aes_key": "C42393145979EE5678C0F02913E457C2",
-    "data_elements": [
-      {
-        "contents": "A249A3E9418CE41DC5B3EA515726B651DF5DC1A992B2",
-        "de_type": 786
-      }
-    ],
-    "encoded_section": "5090136279969B1461D2CC0840ACCCFAD1B3EE9110006A843ADF7B539F71779C57B18939E37B9002D14999977E208361FEFF91D231EB62DD0B461BBF47B33CE9F4DA9A5466D6FE7142E7A2536B9790A1B3",
-    "identity_type": "trusted",
-    "iv": "F2A0D1AF937909CC82BD391A38FB00BE",
-    "key_seed": "10FA3986A299426275917865D774D86FAD4AFA8D83E7A92FC11B2B454E90477A",
-    "metadata_key": "59C6C47FE675122BDA465398F91BA5B8",
-    "section_mic_hmac_key": "26150B11FE754225C2DFD776DA88595D6F59333D7DE50DF56ECC216FAB7BE68D",
-    "section_salt": "6A843ADF7B539F71779C57B18939E37B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "49709E72975E1423DA5EB84983796A68",
-    "aes_key": "8C3FEDC1AAF1E282DBFBE2A2826F593E",
-    "data_elements": [],
-    "encoded_section": "3790136B0AB5062670A1F2CFA73A8A0C3E2FC3911000E5070EE95C545EDF7C37A169D35F7A469001DB7F2B2790C2DCD64A7684D80219EEF7",
-    "identity_type": "private",
-    "iv": "52BE6FCAC177DB189EB7CBE873855789",
-    "key_seed": "E0C4131D54945581E0A6E7053C42B1C20483EB908F17B3F430745224648F0653",
-    "metadata_key": "2D6FCA5EA2F20F86394769CB9FC4F743",
-    "section_mic_hmac_key": "E27951578700D0C5D6BA74098639A6AC7EF5F10CE611AA0E490ACF9A21A07D00",
-    "section_salt": "E5070EE95C545EDF7C37A169D35F7A46"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1CDE5651C61DB529D7A871B8F2C0F913",
-    "aes_key": "E599DE7996E01F12260F13DF78E15B59",
-    "data_elements": [
-      {
-        "contents": "097A4A5AFB2B6CFDEDD5A15130",
-        "de_type": 749
-      },
-      {
-        "contents": "3D15EB4E149B5A",
-        "de_type": 478
-      },
-      {
-        "contents": "D6D18F999A8934363B5C8FF561A7A62597FED9C6D40A",
-        "de_type": 489
-      },
-      {
-        "contents": "",
-        "de_type": 952
-      },
-      {
-        "contents": "C20A8E031417669DC55C7B5A7E64BBBA59",
-        "de_type": 76
-      }
-    ],
-    "encoded_section": "8090135046F9F1E83B423043631D49D56C9723911000B5BD5514A8DE674976FBAC499AAA9F529004B235B4809AACD74289EFFF94FE9DF1B36194DD4B93B2EFAB21D946571476CD1B1A07280EE656539DE4C54CF3E47D9A0C87A60D58EE613F49C5977750DE5011A6BB52C63C6E175695097AC3012E519D7FF2E18445DC2D063666",
-    "identity_type": "provisioned",
-    "iv": "6C3A04584261C50FC965FC088BCE4FC7",
-    "key_seed": "A0862227764FF19586A9C36D4D5EA8AA743ECCA8E0708995CAA04D3BEFED5A95",
-    "metadata_key": "F5F1E4D56284CBAC633932CAE89D0D4C",
-    "section_mic_hmac_key": "2D8B8B4C0356D9767D6EFF979E049A139571CA43F70C7FD08DE658501FAB0674",
-    "section_salt": "B5BD5514A8DE674976FBAC499AAA9F52"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B2FC3B369282CA10A016A4F84A430812",
-    "aes_key": "668D21A8160ABC3CE12BCF6175D086A5",
-    "data_elements": [
-      {
-        "contents": "5D3B4A3DBD0B402681",
-        "de_type": 933
-      },
-      {
-        "contents": "08666D6E86796DDDD4C185D7CD3B9C4BAAB698D7154302D0",
-        "de_type": 239
-      }
-    ],
-    "encoded_section": "5E90134107A4267522159AB8C37627D144A05F91100049DB288036A3BC3695F0F55D0BE639A19002557A8352F4128B631F38921E110A33279C46B3A97E74B9E4537062A4E23BC831A8866394105243C1EC880F62EE49F7E5E4D65BBB01B4BE",
-    "identity_type": "trusted",
-    "iv": "924712790182ECC211328405178D9EFB",
-    "key_seed": "BAB08FAE6AE8EC56D52961D055D99713CF5BC3742FBCA0F5B5DB63ED6D33F088",
-    "metadata_key": "BF508276E08064CD62E2DDD3CE52419E",
-    "section_mic_hmac_key": "C0AC82805FD560115A26DADE1F4ACA30E680503F73A730B9573F039B1A8D1E48",
-    "section_salt": "49DB288036A3BC3695F0F55D0BE639A1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7A1D241939F1129FC8A7BA9692CC15B0",
-    "aes_key": "02D06DE435FAC2E542496072E93B32BE",
-    "data_elements": [
-      {
-        "contents": "0FF9683813B3ADB28F18966B3BF4",
-        "de_type": 221
-      }
-    ],
-    "encoded_section": "489013E0D22FB9284C2AE55EE6E93EDF4AA41E9110002F2750ECF08560F8382C78B66352FA359001151B5F5F92C8382D02BAFA80C1205644F2A858A39F0576CA5C41ED6FC8F620D78A",
-    "identity_type": "private",
-    "iv": "CB1AE27FC7370085ACC737B2D16C3ADE",
-    "key_seed": "560A88DA8D8D99F0AA9B78F5C717070E814F73513DD8404D2842023C704E5F61",
-    "metadata_key": "2FCE6A6844717E567B6453D433C396C4",
-    "section_mic_hmac_key": "3110C125D838A53C13AA866C2BEA9BE4665D3E9917D780C44E06EBB679F0FCD0",
-    "section_salt": "2F2750ECF08560F8382C78B66352FA35"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "92318118DA2EEE83E2EF5E45DFB5DCAC",
-    "aes_key": "6BDD0921765C3F1BBC2A777EFCBCA39E",
-    "data_elements": [
-      {
-        "contents": "C5F864769C033B1C4C908B1B9486DDA0DEACFEF5C8AAC5088A4B89",
-        "de_type": 246
-      }
-    ],
-    "encoded_section": "5590131C9D39D7CA06A454FB1963E0CD54B457911000250CCCF922CFB098C5A4B835742B50D290027433FF5EC8DC7CDCF92F5A5E299F359427BC71F6BCE090A69A8B3FB71149E628FC8F8414C225D8A9884CCE9C3E05",
-    "identity_type": "trusted",
-    "iv": "CBDC742C7977835B4958757B70C41CB5",
-    "key_seed": "7605F725592CA87DE9BAAAEE0E22182AF0623EF1E43BF7C69C3E1B1600A31BAD",
-    "metadata_key": "52235475342B8095F3E5DB1A9DAD23AD",
-    "section_mic_hmac_key": "3298422E72C9D0E74C2F9A62D0B2061D7CCDF4C57728AC803D56E327C937A62A",
-    "section_salt": "250CCCF922CFB098C5A4B835742B50D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F26D981FC5BAD9D1E76BF8F50E8B6A34",
-    "aes_key": "6AFA08461D980105081BEFC1BED15573",
-    "data_elements": [
-      {
-        "contents": "6C3FF38F38B1E556419512BAE94A24293321886158ACB54AB4F606F3",
-        "de_type": 925
-      },
-      {
-        "contents": "13E28EBBFA5679",
-        "de_type": 685
-      },
-      {
-        "contents": "12220C039D132FFA3F990A8800",
-        "de_type": 189
-      },
-      {
-        "contents": "BE1C6812",
-        "de_type": 825
-      },
-      {
-        "contents": "F65EA4C141184E27B5",
-        "de_type": 536
-      }
-    ],
-    "encoded_section": "8390134D53E258FB8B450831D776B4843DE2C691100013ED736F16EE6A2CED580FC6659D24E9900115C96C37DF9232D13C0A77058FD38C7904318CCC73B59DDE8D698753D1A81242B9F2D4988F75BD49B1EB7669ADEBB5C943C2B622790D8DDE98ED5CE2F6CE54E24BE94DE1B9DE3702CC611AECECB6124E6A4A8E78F077BFBBEDF1246C",
-    "identity_type": "private",
-    "iv": "6CFC6056865E1D43A9F198D6CB5DEB0A",
-    "key_seed": "2E66473794E7D76F52E4F4EC27BC04B52DD0878E4AE728E030DBA17ED1BF5165",
-    "metadata_key": "645B2EAEE90C3EDD564BD70CAC5EA05E",
-    "section_mic_hmac_key": "80802998858AE3DF52E4C02A934CC27B218CB1B83BAF7AB7545B0A3D1A4A1559",
-    "section_salt": "13ED736F16EE6A2CED580FC6659D24E9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BDD3E6E05FC1EF8F97B872F320EA5EC5",
-    "aes_key": "C955629D757D92E065B1C843B3E62502",
-    "data_elements": [],
-    "encoded_section": "3790134859D4915A9669BAD25DBD6612C483539110007DB7203CE87A8753D5DF7D7B3B9548B390048800DFAFB1AE182D1F43A11B68CD9964",
-    "identity_type": "provisioned",
-    "iv": "7379BD491B8D004FD0BF5E572E1086BB",
-    "key_seed": "BAA5B1933026681281A49FE55D3D359FF8A37B171836604BFD789EB52978C2F2",
-    "metadata_key": "472C0CE0246A17A1F29A4083C8680C88",
-    "section_mic_hmac_key": "81106F3E642560B70CAF5243B430480127CA1B1025C1E9EE45E9600429C81EE5",
-    "section_salt": "7DB7203CE87A8753D5DF7D7B3B9548B3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0324729B74E497693C66C538B8E377F7",
-    "aes_key": "6A0FD2D178986806E8D99448C6E03D39",
-    "data_elements": [
-      {
-        "contents": "E779A71A22F13932159115D92842A7432D9273B15F9EFC0E",
-        "de_type": 5
-      },
-      {
-        "contents": "5AB6447296CE47957BEA513C4A78D7DB718DF085A3C5B6056313C5E97A3E",
-        "de_type": 164
-      },
-      {
-        "contents": "9BE2E0FEE14367E5F9904AD071327559AE351FF343",
-        "de_type": 492
-      }
-    ],
-    "encoded_section": "8A90130B1EAC69A3BBA0198791DFD7ABD975CE911000504754FB80080D08BDF20CFB89BAE2F4900232633668B94BD4B723F1A0C2F64D15F01A1121E86CB529C8C08D097252B3A5CBD6B1EA4797372EE51F4C8E0C11F6C7B15957C920FD00950144724D287E5A45893315E3E6613BF0A55F55E6F7E156A879A6EB7F31136810B1F31252E60E4EE8AB54D529",
-    "identity_type": "trusted",
-    "iv": "1EA7A7228D5E0B9BC2C467DE0F3E8D7C",
-    "key_seed": "DE985E83ED8102B2850B579CB045EB10DCDB95A908CD2C11A3EC2AFB5C65D264",
-    "metadata_key": "43C47B2AEFE02C363B05E235A6BD410A",
-    "section_mic_hmac_key": "81B93FE732216DCD0036BBFD425D451A502DE7BF6834110FC665CD07E90806B7",
-    "section_salt": "504754FB80080D08BDF20CFB89BAE2F4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "ECDD1DC8D4FD989DB4580FFFFD4EAF58",
-    "aes_key": "26343238F4AE3E3E5F07808B3B012394",
-    "data_elements": [
-      {
-        "contents": "19EEE80B7E463D4FA91175C1201E05ED27AD",
-        "de_type": 418
-      },
-      {
-        "contents": "138E9FFB3689657E3D2C4504596445",
-        "de_type": 313
-      },
-      {
-        "contents": "C96F4E4F9DF91F8DC2EA8AB25A49D112F5",
-        "de_type": 272
-      },
-      {
-        "contents": "3BF1B1D5B80FD33B4E13EA34AFD2B04997",
-        "de_type": 607
-      },
-      {
-        "contents": "60E79858BE9E3880F5840B8EDFA2AED9A1",
-        "de_type": 657
-      }
-    ],
-    "encoded_section": "9A9013C071629B70BA9DEDE2D6BE7C3EE50A89911000CFBC29C1DB6233359093D46F6B6268729002AA827CE8FB3E7D10578627C549FC3EDAFC546CF7FA5C5B8774321832389BC08CF65BF7008E138B2229C21112326A972D327C3FCEC4A5E447465FB6FB2A3D65F7C53D0BC3A7DE1664B0113E3E3F05DAFACF935775E1D7CEE288220BDF2920F1C0B6F0DBF2B7300EDAAC262A35D2207A9159F577",
-    "identity_type": "trusted",
-    "iv": "5D4306FF65CEFE2E7C434BB00E18B020",
-    "key_seed": "509ED43FECE08BE6BF6379CD1778649C806AB7266610F065B2A6365442DCC4A6",
-    "metadata_key": "A36A66D7F731890EF9193D882DE89F1B",
-    "section_mic_hmac_key": "FBBE31414827EFDAD0A31F4BDDD281C958AD680F43AA856DD0319B01961F2E6B",
-    "section_salt": "CFBC29C1DB6233359093D46F6B626872"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "876404A488F733AFF2480B84937DC32B",
-    "aes_key": "F9AD44914D756A3E46E6BAFDD137CDA6",
-    "data_elements": [
-      {
-        "contents": "804E497B2E573E7F2E93CE434493E636",
-        "de_type": 446
-      },
-      {
-        "contents": "70E3CFF3391999B63BB8F6FBF914969C40AC6A8B69A388CBFD5B5667BE8B",
-        "de_type": 144
-      }
-    ],
-    "encoded_section": "6B90133B3BC844AE809C69DD3FDABBAD762AA49110000330AE82E82A5CFCD43DD63947D7B25D9001D96A4D7255C420618CE01331413D4D7428210A004EAF8BA0A2B41DE9129DF151FF58CFD9BD8626FD3201CA27F55156CAE585EC593FA08E260A9591962B7F7F6A28FFFAB2",
-    "identity_type": "private",
-    "iv": "F4D1BB95A18F23894E8E694B2C95FDCF",
-    "key_seed": "E1B4FF787998B33BD7E33250E2386F2BB8A0491EEC4CDF640A2879D09DA19E8D",
-    "metadata_key": "048E9FBB34067F84D69B4D14ECAEA6D5",
-    "section_mic_hmac_key": "D606CEE9D49A0D1DBA0E7F07022FF962F6F6DB04608FF2437F2AB436C4BD007F",
-    "section_salt": "0330AE82E82A5CFCD43DD63947D7B25D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "68E03983FBB92FD3B3ABFFA9B536FAEC",
-    "aes_key": "79F938C4FA735CA8FF0AB1C65AFA5116",
-    "data_elements": [
-      {
-        "contents": "F2E5FF2AB3237D9375F716D5",
-        "de_type": 490
-      },
-      {
-        "contents": "9D808B5A5BBC1473FFB8DAAB95FD4D9FF675A1DE9A40",
-        "de_type": 905
-      },
-      {
-        "contents": "B90F45006C8FBC5A50DAF69EC332341C8FF71168EE6970523C6C548D6371",
-        "de_type": 128
-      },
-      {
-        "contents": "E541744FDDA8A39D91664C22A2C359BB8EDB4DE026",
-        "de_type": 496
-      }
-    ],
-    "encoded_section": "989013DFA3B7763EB39454DE5B2D1F11C74D459110004E4E42F39F331D403DAAC6FD2012DF5890026C8B35E350004277C3C63E5791CE1D8DF6EAF71F950F24A66EABE93ECA5E8BCD39470A09686924CC844A27FF303F73F9EBC2F1D8B15BB2844F4BE645F215E58105A6AF75A88234FEC0E4E83257FB377F595BE77CA1ED1735F929F928138D0AE987E2B094CAD8C91D20C349B2291D54397F",
-    "identity_type": "trusted",
-    "iv": "0EB2E5BAE1992B95A34004153725D67A",
-    "key_seed": "BF2D76E1C94D308C2E27207081573B6C5B18749DCEEAE1CC6858E044396DAD75",
-    "metadata_key": "766DDCDA99EAC37E0B6715030718F389",
-    "section_mic_hmac_key": "65F998A2F910AC50F14613F0025A14062D5FD55D2BE2445E01DDF2AD3AFD4CB3",
-    "section_salt": "4E4E42F39F331D403DAAC6FD2012DF58"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F512FD19534C6D30B3D6B6C64F735252",
-    "aes_key": "C919354EE8916B537AF0C80B01CDFE3A",
-    "data_elements": [
-      {
-        "contents": "97FF5DD7CF10CA400439FAD93E73DF7BF31C0840B47CC8625908F64F9D",
-        "de_type": 884
-      },
-      {
-        "contents": "E17E6D5BF307A79257F432B833BED7631896236A77DC8991244F02BF28F1",
-        "de_type": 773
-      },
-      {
-        "contents": "128F4E5BF9574E0C5D3E0C287DCBEFA2146ED9",
-        "de_type": 43
-      },
-      {
-        "contents": "F19F873AC214CF412446FCF92FC26F4F96",
-        "de_type": 989
-      },
-      {
-        "contents": "0090C56C3B45810987944B0D74EF0CE7BF771A24A4",
-        "de_type": 996
-      }
-    ],
-    "encoded_section": "B99013C5864027C79888996629813A4E22D8FE9110005A6F75A015A7BD183C08ED51EA3406A890022FF7107FDCB387636B67554BA545F04F63A89E41B3547AC27E871BA24BED6B4E347E83DCA86FBB188B18EFEB48E6CAA8923090905BC4974559534DB81313EB69E94BDDC2F397E1CE6247259C046D724DB1AE74ADAAD252F57E477A3C5FD472690839152E8D8571B70C0CF9F486E0125BD74B3E5535D456C966B61E6045995F384D61A2CCD360DF06CB3408A43BC9EF24F861",
-    "identity_type": "trusted",
-    "iv": "AC1E6DEE532335A11CC00AA26D211142",
-    "key_seed": "0654E589CAC8FDDD66324A9E33795A884AB11FDA325C6A1FFC9184981B547C11",
-    "metadata_key": "BFCD84710DFB3F2C3BF10DFFF9E1DEFE",
-    "section_mic_hmac_key": "FE6CC88BE6EBD51916AADCB0525D7C7F817DFB061781676C1C5258D466DF7CD6",
-    "section_salt": "5A6F75A015A7BD183C08ED51EA3406A8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1020365708197FA134F58032B0736A93",
-    "aes_key": "23C5D746F33EA244CD01AAA605FC0D12",
-    "data_elements": [
-      {
-        "contents": "D6D87CC0",
-        "de_type": 969
-      },
-      {
-        "contents": "F19C90FB",
-        "de_type": 138
-      }
-    ],
-    "encoded_section": "4590130680B536392B1C55C8A39F7575ECD678911000AB790910EBD2510A516A52F216386F5690024C190A81E7249A478324EAD802CC0A72F631AB3ED55CBBC330E0CA3ED6FB",
-    "identity_type": "trusted",
-    "iv": "18E15943B98E5BE79E0726008C289E41",
-    "key_seed": "E7ADE77256E2288534314126F088557EBC87BD3E0034FA36B5E2E414B2BD3089",
-    "metadata_key": "243CFFF6C8ED39CCE1D20ACEE1E8C6F8",
-    "section_mic_hmac_key": "90DC367708ADA4748D498E819BC4218C62FA48A828308197F421D9B13B3402F4",
-    "section_salt": "AB790910EBD2510A516A52F216386F56"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F3F2711088CD0EE74DC97A20DAF1C2D8",
-    "aes_key": "71FF934D1E8D517FBE367CD46BBB17F8",
-    "data_elements": [
-      {
-        "contents": "A302",
-        "de_type": 512
-      },
-      {
-        "contents": "01F2F27578CA1CB5AEA3747DCE36EEB290376B14E08854",
-        "de_type": 770
-      },
-      {
-        "contents": "C712547AEAA2158286610804E3EEA4C1071F90B9178F4E93E6F8",
-        "de_type": 622
-      },
-      {
-        "contents": "8338102992C864649A9D8A78C497490CC8EE5750E12EF9",
-        "de_type": 962
-      },
-      {
-        "contents": "BC3B3A70C610A20D7C",
-        "de_type": 754
-      }
-    ],
-    "encoded_section": "999013DC39E4693F8C1317955AA5920150891A911000B7A64ACC26B3A13A6E1EAF8566807D159004E9CD0DFC4280A635682B3A8DC254119A26AD228C86A032FFBFE926391FD32C81741EF29655A09920EA7FB7090E73359C6B1E61D67D4ADA3BC78F124E1829F6C877453C1200F4FBCA32D7514AC9C2A98F5CC300760F2B114FA5A39701AC236A8E15FC028169E8A7EE42A72EF54829AAB35F5D",
-    "identity_type": "provisioned",
-    "iv": "A4AF64AE89D6ED2187780610289F118D",
-    "key_seed": "9A118BA5B630A910A034F4CF3B9244F57A23BFD59FC0E4934F672CD63E020145",
-    "metadata_key": "9815FBD7BB8FA24AF2053C9D01F8862B",
-    "section_mic_hmac_key": "AD345DE497CD73EAEA71EA56EC7098FFD71E65A87FC7B01247643435342EF5C4",
-    "section_salt": "B7A64ACC26B3A13A6E1EAF8566807D15"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "420F8EDDBCEF536ECFE0823E0A64150E",
-    "aes_key": "3E58CA6C9C2E9494CDFDED070763FB07",
-    "data_elements": [
-      {
-        "contents": "C41B59CE2AD957CA07959684FB6D5E3FDE89D31EDAE877",
-        "de_type": 280
-      },
-      {
-        "contents": "D0DDD13D28FB08B9C19C290C3347",
-        "de_type": 120
-      },
-      {
-        "contents": "1834",
-        "de_type": 45
-      },
-      {
-        "contents": "A3BFD5AEA1634D500CD9D436",
-        "de_type": 896
-      }
-    ],
-    "encoded_section": "749013C498F161B727AABCE678B9D94DFEBB0D911000873C3CADAF81A693213597DBD9C53D8690019FD0E7986B2509A457A42866D34E0A892FE47105171A1CE2A245193130B6A1FEC7A6F485EE8AF0FC67ED58B9B732DC93C2671F682805343994C0CDECB5D6E725698F135192C657C569FD81F0CF",
-    "identity_type": "private",
-    "iv": "22BCDB28787B9F7343729B59C9F06F87",
-    "key_seed": "5D3AA5329E3AD5BC9A4C16E276FED94699221C782DBFDCEDEDFFB81FB32FFAFF",
-    "metadata_key": "CDB698B8C76457DA2631586E44409C35",
-    "section_mic_hmac_key": "81392F1B099B77B1D7DD7EF7B8C9E58CB4A2444C56CB40D955E238A2BBA5C39E",
-    "section_salt": "873C3CADAF81A693213597DBD9C53D86"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D2F959AAB5DE3FD53094D768D669B969",
-    "aes_key": "DBE6CC0A7A07592FEBAD3CFF364A5ED5",
-    "data_elements": [],
-    "encoded_section": "379013D2960FA7CD8C566FB6722FE0AFB4BDA1911000C5272B1D1A6B168B77D90348D5A8F11E9002FF37EC6DB5FFE7B653EC43A49A0F079E",
-    "identity_type": "trusted",
-    "iv": "98C8F75EB86F93E39301FB09266AB286",
-    "key_seed": "4CB698ADA80C2A298CE7F3C7AC4EE3DEA2E3152F314DBFE595FD550E8895383F",
-    "metadata_key": "EB0F5B5FB454BA99B963BBC853069E33",
-    "section_mic_hmac_key": "37E1AFAC60FE9EB5B3976AD6DE229A72890F74395CEB0354DA6E39E24251F5D4",
-    "section_salt": "C5272B1D1A6B168B77D90348D5A8F11E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "14E183839363D1DC8DD63971B165D847",
-    "aes_key": "15A23D3D9E70A3323BE7E5E0ACF62EAD",
-    "data_elements": [],
-    "encoded_section": "3790138678FBDD1D4B2FED10D2044D7E75F2D1911000E67C5ACF5A491028D74192897BE7C8C89004FD23DE541F708C9F0E8412122769EF79",
-    "identity_type": "provisioned",
-    "iv": "853E925894CF1B53548A9547B9D5D2BB",
-    "key_seed": "59DCCE265D17F292C21FDAB1AE190050BE79B24CA9598F341CF3CF28B54C65C0",
-    "metadata_key": "CA9C149B9147EADE4FDDA3483B5CD694",
-    "section_mic_hmac_key": "AFE7942059529B6761E08237FD3DFD1B1E5375AB75D993318B04F92DF26CF4A8",
-    "section_salt": "E67C5ACF5A491028D74192897BE7C8C8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0EF53E475C49FF12FFFAD62075DC0D5D",
-    "aes_key": "E7EC797302AEE2AE931B498246B49B27",
-    "data_elements": [
-      {
-        "contents": "03BC28F6",
-        "de_type": 538
-      },
-      {
-        "contents": "78",
-        "de_type": 119
-      },
-      {
-        "contents": "7E",
-        "de_type": 436
-      },
-      {
-        "contents": "140001B5FD493CCB4EF775",
-        "de_type": 67
-      },
-      {
-        "contents": "A82250F3EF3A3EC7AD986144C53E1385FDD7E32920DA628A36E7C4EC40",
-        "de_type": 177
-      }
-    ],
-    "encoded_section": "729013E7032F673DF5F16041DDECC78F5ADCA691100099970A2BE5CA4702AB5F94CD52BA12D29004856D9D48E7BA32C0E1D609F1077585A0386531F8456FD5716E5B16E5025A50A2866307253B298F8FEE9FD51C4E2C15FFBDA0FDA07F1B72402FDB1021BDEAFC707FF2E398B0125E73C43D08",
-    "identity_type": "provisioned",
-    "iv": "9A6B50EE556D600EBFED50255A635666",
-    "key_seed": "3CD3990FBBFE4A88391309E9A3314A987602DB087E403C9AB34E5EDEF94E20D8",
-    "metadata_key": "4A1BA5934FF66FB454D46083D338B99A",
-    "section_mic_hmac_key": "357EBA3A7167F44A6BE8E10DBF1EB509A0DA2F1998FA8DD0338BD2DFC20CD716",
-    "section_salt": "99970A2BE5CA4702AB5F94CD52BA12D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9E5270F2FD83C70EC6A8316A5B3DA3F7",
-    "aes_key": "BC2F869516A306EAB00FC86189F94B33",
-    "data_elements": [],
-    "encoded_section": "379013994A578360FD876E664C89C68C4B4A94911000029A499D61FE555DCE2FD9B72E293E7590025902F37B71C8D6336FB581272FC20E0E",
-    "identity_type": "trusted",
-    "iv": "EFACD81C00A66A18B186EDD153827783",
-    "key_seed": "132CECE9A4A70E8BA66CC013D3A7802E0C394E2CB6FF70934B7FE0793D87D365",
-    "metadata_key": "2D71D02CB1BB8194F317CB46FE0F91EE",
-    "section_mic_hmac_key": "6BD9C9248FEB3255BB7A215A55E5A75B6E6BD1D2DB77CAE09E0A7082042CDA56",
-    "section_salt": "029A499D61FE555DCE2FD9B72E293E75"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "21C3D6A19DFF28652E68CCF2EB17B6DF",
-    "aes_key": "03C7A896A16535EEC2C6A351C3C17401",
-    "data_elements": [
-      {
-        "contents": "1F896905",
-        "de_type": 229
-      }
-    ],
-    "encoded_section": "3E9013756F991A26E044E25C8F3A005852033F91100068CBC39EBC593EF92F0A7852D4CFAB2E9002385D85A14F31B33F8EFA86FABAE5B8CDF1302D8D83AB8B",
-    "identity_type": "trusted",
-    "iv": "54BD3DC6A8F78CEDF672FF5722264019",
-    "key_seed": "313399F9F3EBA494B79B76AB2EC128CA4F090DEB39FAA941B6BF1C5D64C3D21F",
-    "metadata_key": "E975C7A248514BB2EA89E1F61CCAB17C",
-    "section_mic_hmac_key": "CA509CB5DE76153AB5AB8605FF2B18119515FEC7667E42D1EB783847D9E7BFCF",
-    "section_salt": "68CBC39EBC593EF92F0A7852D4CFAB2E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "98BFB3E0F0510DFE082F97B7179DA50C",
-    "aes_key": "5494153569CE0A4AE2EC9504E949F5C1",
-    "data_elements": [
-      {
-        "contents": "893281811CA83052DCA1F09C4BB9F66B979F",
-        "de_type": 891
-      },
-      {
-        "contents": "DB4CBE98092EB7FA4E53",
-        "de_type": 679
-      }
-    ],
-    "encoded_section": "5990137998FC158FECFA5BA42953873097E86091100031BFE75E39CC61D315D73D7D17637BB59002E498BFC92B873AD59BF1A8B4D00F2E3C223B9D764D32AE999EB9407B7C5E10ED655EFA33CA62B9AD7FABBD760AB4046F32C0",
-    "identity_type": "trusted",
-    "iv": "71319F6EE32F01F7442755A48314D90F",
-    "key_seed": "DE2E4CE127E2C5B34556CF992FBD5A97A9ACB072210657E6D7234CECEA835947",
-    "metadata_key": "28AA7545DCF4B6861C4379FCC6A51547",
-    "section_mic_hmac_key": "86A9DFAEF782CF536B2BCA2E2B70280C6D001D6E79C7E1286DBD3BDF0B273EA2",
-    "section_salt": "31BFE75E39CC61D315D73D7D17637BB5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F792CC0735D975CBDAA95FDEED64CC34",
-    "aes_key": "6CFA85E9D7E5F331492B7B7EA0FEC8F7",
-    "data_elements": [],
-    "encoded_section": "37901374CC86109CA20F39080D2176D95C0A399110008CFBEA96CDC8317DFC83180AEB0E3781900294B9DD5B5BBBE70EBDBEF59583D9DEFA",
-    "identity_type": "trusted",
-    "iv": "F2BD046CD8B55DE3DA138D23F2836888",
-    "key_seed": "217BC510C941A4F4CED29FC8918C5DA9446B947D15241150D615386A80A5DA07",
-    "metadata_key": "2E50D416BDCF795FD7B5543B26FAEB27",
-    "section_mic_hmac_key": "7CDCB29ED9C12538B161F13A6E8CC784700FB5FFC7E2DA4F6F34FD933DBB5D77",
-    "section_salt": "8CFBEA96CDC8317DFC83180AEB0E3781"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0459E861ED82466586CB38BA820A08F0",
-    "aes_key": "E2A53ACBF8D874D7E3446A77DAB8C00B",
-    "data_elements": [
-      {
-        "contents": "73C550",
-        "de_type": 154
-      }
-    ],
-    "encoded_section": "3D901386F0FA8E4C1631979E805860E37B810791100053C835177E42543EA07364331BDB0B9D90026DBC4D371F252DEB9EC232757C0FFF54B0AA5AA7D4CC",
-    "identity_type": "trusted",
-    "iv": "42A1D51EFAE859C62164F4D13EFBB665",
-    "key_seed": "0BF7A81876C2775C3D1A8BF926D2B32C6EA0BFEA2C677DECECA4D82A40627CE5",
-    "metadata_key": "DA02A311B1BE6E2FF7F35ED04F2BA935",
-    "section_mic_hmac_key": "C224D779048C9F41DC725298EDC634A13F54D0726070153C90AF7747543ABB7C",
-    "section_salt": "53C835177E42543EA07364331BDB0B9D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "716BD818239FEC609FD83E0E655D99DB",
-    "aes_key": "E510FAB4977C76912B8A434666935A8E",
-    "data_elements": [
-      {
-        "contents": "36B8E05F3ADFC6EB9748E93DA4CAA90DFBA993E4A623B5387F",
-        "de_type": 773
-      },
-      {
-        "contents": "32DA679152",
-        "de_type": 979
-      }
-    ],
-    "encoded_section": "5B9013DA850EE1EE94DF5815178A410C55BE0C911000E78A10BE08D7C230574BD056D8478F8C900496535593BB99B5FF19FA00B4673B4EDA76BFA04DB8DF0CBCD14807D518F0B500206AAD90F34FFC1A1CC22F37C9057C4642D732AE",
-    "identity_type": "provisioned",
-    "iv": "96F876599B14A21FC060A042F5E134E6",
-    "key_seed": "F9A248BAE31270E5C543E5EAE28C6552E62BF7DD99F7BE518B5CE78D52C535A8",
-    "metadata_key": "41CE67094AA58CB68886D68D0193E9FC",
-    "section_mic_hmac_key": "ED41BD675FE9FC9D386D5F7BDF85A090E0CDD06C654B74F9A925466A616B314F",
-    "section_salt": "E78A10BE08D7C230574BD056D8478F8C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7F3CC424F187398A9D04E051B12744F9",
-    "aes_key": "32FE6B6BFDC54C7C3D190731779B9BDE",
-    "data_elements": [
-      {
-        "contents": "9F8CAF983F9440011F44B7C1E739BD66CA201CD553ECD202C61CC3",
-        "de_type": 597
-      },
-      {
-        "contents": "86636F77095B43A7D8CF9409D3FB56CB184EF894C68733",
-        "de_type": 351
-      }
-    ],
-    "encoded_section": "6F901363F63944D3D3B62852E1C29317DC53B4911000D1CD81A105ACF9921968705EAEE9D92A9001DF86E28C415ED0E45F886965EE16475E0C63561C5D876E9F6E5B24E64419C905FCABB21DF8039EB945DC929888A4C7AF8F4729023C726132918DAD5603E12E1A152D57961025B1D9",
-    "identity_type": "private",
-    "iv": "5FEB88C9EE2B3558BD1E1CACF0CE8DB7",
-    "key_seed": "8D82AA87D9535AC9B95629FF003748F0D846D09DCF4577EEAD0F46351AB74B41",
-    "metadata_key": "4B7CD0359387387945A934B6DF464C8B",
-    "section_mic_hmac_key": "ADAA329E70F13AE3122A74DF74E84A7C6F1EEFC966617408BE3FC279AC4BB8F6",
-    "section_salt": "D1CD81A105ACF9921968705EAEE9D92A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FB3D9837C28AC67707ACFE168B79802F",
-    "aes_key": "DE1ECC3710EE70A72F458CCCBE684022",
-    "data_elements": [
-      {
-        "contents": "311806935DDC",
-        "de_type": 932
-      },
-      {
-        "contents": "941A",
-        "de_type": 262
-      },
-      {
-        "contents": "4B70C0E6758C665694CEF8D27E2169098693AEA61570C940FBC453",
-        "de_type": 20
-      },
-      {
-        "contents": "BDF524A91132073481B23A0D20C19E3E57D365C37A90FFBA8E41",
-        "de_type": 474
-      },
-      {
-        "contents": "9C36B683253A6AADD79843",
-        "de_type": 965
-      }
-    ],
-    "encoded_section": "8D9013794200979A65FAFD9C31FEBA2DACE1B29110001C6B6EF087BAD3E1CF545DF1A9A9CE99900432FAD109DF59A7DEC426A1DB051FCC95F420A321410D13AA0FDCA4E22DC7A7D6873AE13CC3173D14B2BB9CE969E9B0A8B6745D7E913D03BA9031E8EE7A09BDB9689C80DD630CF7D193B233F3F3F1ED1054D9939D8EAFB7EC55BA71A7103F7961A29A1C26B888",
-    "identity_type": "provisioned",
-    "iv": "4EF171E764B3E218255391C9D368765E",
-    "key_seed": "FAF02B1CF86D9A97BCF9E2C0FE5850688E3D49E53616224ADE0238C91860371F",
-    "metadata_key": "07D64CAB902E683E5C6B3BDC257F2ECB",
-    "section_mic_hmac_key": "01108F72B3239D936073126F7DA309D55A68509567CABF6F7742DE6B12154D8C",
-    "section_salt": "1C6B6EF087BAD3E1CF545DF1A9A9CE99"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "38E22156A8185E55F335A47037F8E2F7",
-    "aes_key": "6CF70F3F165CE847A9C63F50D8547C21",
-    "data_elements": [
-      {
-        "contents": "4D8D46ACD86C6961C4094DCB13D4E916F3A83CF8",
-        "de_type": 508
-      },
-      {
-        "contents": "C4688F335D",
-        "de_type": 78
-      }
-    ],
-    "encoded_section": "559013CFE4D705FD9D6A0D8079500CE2E92B14911000C625AEF2F9BD3C56372C63173571103D9002D5600B9D26063F4622FC6CECBAB259B3BBD63F3B3E304465A897B891B7DB0039B8BFEF525691FA300DC955A09E17",
-    "identity_type": "trusted",
-    "iv": "33820EA628D605D7F5DF12E15E0F202A",
-    "key_seed": "401411AE44BA8795773F4EF0049F07051344BFE4C7255D4E7D975C63738B27E6",
-    "metadata_key": "1B003DF5AFD3B438F2D367697DEBFCEA",
-    "section_mic_hmac_key": "23BD2994A6DC828B1115E7CF2D7A2197ACDFDA21D8030167F845E9A42461EF51",
-    "section_salt": "C625AEF2F9BD3C56372C63173571103D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4A5CE7E83CA2E1C0B57C8E06D0E6F742",
-    "aes_key": "F085865AF5C9A124298272AAC0C459F4",
-    "data_elements": [
-      {
-        "contents": "EA412396D4",
-        "de_type": 360
-      },
-      {
-        "contents": "5B36B6971907900EA4D176E7F96C99C6075CB81A",
-        "de_type": 151
-      },
-      {
-        "contents": "7672075A67196562CFA6A05A1C9A803FAC914E665661",
-        "de_type": 669
-      }
-    ],
-    "encoded_section": "6F90135C5E8470AB022D8D60D1362A898BB18C91100072034CD97D55545F76310C999D548F7190014D3248EE4C4B1A52F45BD578C3AFDDDC2F3213EDF205D719FCFDD964A9B580DE8DCF620F5E3B7386389CD569E2CB17B8BA70FF1B739080481A336376DC599322D9952717784ACDA5",
-    "identity_type": "private",
-    "iv": "6890DDE4612EEFF53CF9BAA9A0A57B20",
-    "key_seed": "86589F54F57C9F0AB5245C0F6635B611F802EA256A94441B12160C2605AA2D1D",
-    "metadata_key": "DDFA0DD062ABE2CD427A72F1C1F81DC4",
-    "section_mic_hmac_key": "0FD9C77FE8E953E2B8526DA6414A2857E02A4A3213F2BB484799E9CC977A2219",
-    "section_salt": "72034CD97D55545F76310C999D548F71"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4ECC54C7A3A3EA811EB6C2D753C41C19",
-    "aes_key": "5EE028B37AE8B25ADD419427E31E23AB",
-    "data_elements": [],
-    "encoded_section": "3790139322D0756986F1FD123C6B04CDF3EAF091100057FFD16AA68473D0582E5BEEE3868910900201234FC414E25E21A3EFACA4A5E5A999",
-    "identity_type": "trusted",
-    "iv": "87F0BB8A2FCD03EFEE2AC5C1453F55F0",
-    "key_seed": "598FF7D9FD66BA3E660DAEB8B3E5C6C82FA6AB758D3D1076691C4D0542EF067F",
-    "metadata_key": "9857B87C8DFE289C01F9F9708B692FBC",
-    "section_mic_hmac_key": "1F7BC70DC4FB9665A7E21929DBC300EE2F91AA7A7AA775222A26149F60EB5345",
-    "section_salt": "57FFD16AA68473D0582E5BEEE3868910"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C73AD85B0EF01E161F1E7764010C1EA5",
-    "aes_key": "79E30C89ED65C6F40882254563A75E17",
-    "data_elements": [
-      {
-        "contents": "18609C222BA9D3D5DB036F555AB0CCEC09ADE5179EC2CA9F",
-        "de_type": 99
-      },
-      {
-        "contents": "EC187ACF3F4C481BDF000D552EB3",
-        "de_type": 658
-      },
-      {
-        "contents": "BF556150F61584A4CF7A5C624E",
-        "de_type": 383
-      }
-    ],
-    "encoded_section": "7290139ED0E2B0FDC39CD26D661DFFF11234169110001E20C1E816FA9F2D34542BD1BCF7ED9F9004EAACB664A85B0349C8431A0EA7D7E87FEB22B32F30C074D0285840584A1026F19E1DCD4BF133020C1550E42725C77B4E6E60DEEB1A354FEF5E481E41075F40D790546805FDB5F0CF6EB7D4",
-    "identity_type": "provisioned",
-    "iv": "C430A8DCAED7C039B0E33CA4FD4F093B",
-    "key_seed": "EF0BC6EE51E35093FA4C893AAD43B1951B91C650EF6D401C7C03975AA916A507",
-    "metadata_key": "0FCBFF2F8DA457F6279FB66C50203DF3",
-    "section_mic_hmac_key": "BC9E4B32DAB0A23BF9FBC776DD2AD5530E1AE56337FB5DCBDA1FC45E5C34598C",
-    "section_salt": "1E20C1E816FA9F2D34542BD1BCF7ED9F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2B287CE2F08F4BCCBC505B6FB2ABEC15",
-    "aes_key": "A2391D2B8D95B3B22079BAE241145DF8",
-    "data_elements": [
-      {
-        "contents": "2A6C741FAC614B55AB5B",
-        "de_type": 746
-      },
-      {
-        "contents": "B82E6D8CFF3DEC1962D2CF4134A7D30C04F4A3",
-        "de_type": 972
-      },
-      {
-        "contents": "A03D72AC4A8A200BAF89714A92FC5BC3753529",
-        "de_type": 271
-      },
-      {
-        "contents": "C89C68F269FCE8",
-        "de_type": 462
-      }
-    ],
-    "encoded_section": "7A901325D43FF30DB60387156458D420A2551C911000F8647C38B6266104D6ECE9E5CE7E879190015383810EBB8184B419130D8EABE9C911D7EDF89EA2A9008D98C5EAA9E8D2B550252267595D53A0BC8E7AB281846867F6A54FE0A048F208D38F660D69E6341DE617223D80A2D2B96947630EBD69EDE868FBF659",
-    "identity_type": "private",
-    "iv": "FE04A94DEBB042153B2C96CF5D4DE41F",
-    "key_seed": "F37257303C8330286B67468749200BD24155F76D9EAE8CF6F4A1B11632F9461E",
-    "metadata_key": "7216F11C49F946FEF51139ABE587B632",
-    "section_mic_hmac_key": "4C21C99F1C75A9641AE865D73D38BAD22B11A67009ACDFD40F8003D80CB6ECC6",
-    "section_salt": "F8647C38B6266104D6ECE9E5CE7E8791"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A1133D9CB487CF507E85AB45A5225A3B",
-    "aes_key": "E2BE917DE14406C0FCF09FC4FDEE1FF5",
-    "data_elements": [
-      {
-        "contents": "71238E",
-        "de_type": 839
-      }
-    ],
-    "encoded_section": "3D90132C5CB47E0A288D59348CA9F66DC3AF9A911000523C6B069BD40FBB9C6BF1C8E10865E69002AC2424CD59DA02E42EF7E44168236A9C325B591A7DE3",
-    "identity_type": "trusted",
-    "iv": "FBC8CDB92CE0F89BBFF8C1BFD00F6541",
-    "key_seed": "F7982DAFD3732E72F79D778A65DB2174686D0AFC94A8FDD356DE6B74B0917497",
-    "metadata_key": "ABDAA0345C02A6AF84BBCCE12BDBB38E",
-    "section_mic_hmac_key": "55EEAD0385A2BF321ADCB7C14075438ABB04AC96A68B93A9F2C53490431561EE",
-    "section_salt": "523C6B069BD40FBB9C6BF1C8E10865E6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BB53EC5F4F7ED20F852C88CAE0D7D2FD",
-    "aes_key": "27166277389D14C33C6EC6FCF087D4DB",
-    "data_elements": [
-      {
-        "contents": "8CAD688B88D91C820CC9DDE89763",
-        "de_type": 976
-      },
-      {
-        "contents": "8430D62B44C83C85BDB6697D00A8A53518CD8DA7FCA68AA1AD6E",
-        "de_type": 166
-      },
-      {
-        "contents": "7A0FFFA6068B33AF9AEB4798863FCF",
-        "de_type": 957
-      },
-      {
-        "contents": "7AEF9A74325D4192B1B99E704D9FBDEAD1C027388D8F3B0E7FC72BE44A",
-        "de_type": 533
-      },
-      {
-        "contents": "0AD6320E89875A983E2B1507A7F212C5AFE5",
-        "de_type": 177
-      }
-    ],
-    "encoded_section": "AC901330A161EB463AD006A1F925054A3A0F8A911000BB38DF610A30BC926FC6C4582D37660D9004243511EB4B95CC7EFF1E37F4559CBE73254459AB1A8AC32FDE866F96C56D5299D575FEEC58639D153EB6466758D10465A65674923DD5BAAE80B5D400AC70B2965FBA05961B31D9C3CE295361741B5DA19C60A13C103B0DEC97C664FC391A1A105F6E8A4FC70CA84EC842DFDBF8B6A86B21DA28E828F78F23DD27F8EC040A6D26309D9BCFB3",
-    "identity_type": "provisioned",
-    "iv": "E5930F69FFAF33C673D10B1BCF790387",
-    "key_seed": "928F3472A71D094F7842799035E83349496DD9963F46E4587FC0BEC618BC68FC",
-    "metadata_key": "0B9BF0598FA164D48423A5A07C65D3FD",
-    "section_mic_hmac_key": "FBCAF9F7E6996F5EFF05649E26A30814CF72CA895BC9B6B19B21BD433845D247",
-    "section_salt": "BB38DF610A30BC926FC6C4582D37660D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "D0BA76FCD350C9F9F7951F23F2C51481",
-    "aes_key": "35C13E514AD41A4D733FE99E7D1AD0D8",
-    "data_elements": [
-      {
-        "contents": "1D84D057F7999067EA441E2ED2E55BAAA302AD",
-        "de_type": 651
-      },
-      {
-        "contents": "D2C79A4B046101959D",
-        "de_type": 695
-      },
-      {
-        "contents": "1B1C33AF7CD34DAA62A8B03451EAB120EF9BD2B9CE24D8240CFEBEE8ED",
-        "de_type": 566
-      },
-      {
-        "contents": "8C874DFF95B449C595963601D5FDB2",
-        "de_type": 315
-      },
-      {
-        "contents": "E805B80A4D8759A73DEBFF39B881152CE26BC2D440",
-        "de_type": 42
-      }
-    ],
-    "encoded_section": "A2901311EB79E0E8D59F0B3C047B92D8CA72BF9110009A2C839A95308FA66A28E37D5346161F90015F33031A6C9AAC27A4B2179E39E69DC705D70EAC406CC05F02C776643CC00D087180158DE32FE190D0DEB2D2DE6D2DEA033605D6CCF77D5207F406C872A1CA1DC19D97DC4FF2D4C3B6CA4548C31DE16C35EEF910818B982851FCF6DEBE5C4C9BA458D2AA51F3B55A5A909E2268580D8AAAAC6FD0ADFC16FCD8BADB",
-    "identity_type": "private",
-    "iv": "14105F10774008066E6F963762594EE2",
-    "key_seed": "6D3436A21EC875EE57134E1DECAE0C2A3B1496945F8D1E11BB96B92F7D47246C",
-    "metadata_key": "888F65EDB3AB4C3A68E0823136F3D256",
-    "section_mic_hmac_key": "A7498162FC9BD07510499868B87AFF66AEB0536EF48116381D1CD09EEED03935",
-    "section_salt": "9A2C839A95308FA66A28E37D5346161F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "08B3CEC91E020D1D4484B0343BAAAFE3",
-    "aes_key": "B32745DAAEA6C4E7D467DCC28E7BDB1A",
-    "data_elements": [
-      {
-        "contents": "DE5A73510005E7983B15546A1C8978D6",
-        "de_type": 238
-      },
-      {
-        "contents": "6551FCA60C84C5227D009AE786796634EF3DE920CDF7CC",
-        "de_type": 993
-      }
-    ],
-    "encoded_section": "64901365E99B278344696A56F13E914616080F911000E05F4117821F694AC893206AE14EF9C69002F00FA0F6E4F18BA8AE1B88AFFED9C59347B2777757E02B7763BB589A19E1718B87E0E429B4602770861BAD7938B0A6AB0394EFA1E5D06492404993B0CF",
-    "identity_type": "trusted",
-    "iv": "2931F4D5430BD5F2392929FFD93A2BDE",
-    "key_seed": "0BA7DFFE886190D25ABCE6232E5CBCF588F071DFA0899C9F145BC5480061F522",
-    "metadata_key": "5B1CA7665FA68A63D48E11A291B13E15",
-    "section_mic_hmac_key": "871BEA00E0DE1FDF73CE65FDDC64963FAFB2DB32842BA39D1B98C0B326C08CFB",
-    "section_salt": "E05F4117821F694AC893206AE14EF9C6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "526A3175C83BD7923662BE998A0D026C",
-    "aes_key": "48DBA531822D93F3D6FEDA0CE7FF67DE",
-    "data_elements": [
-      {
-        "contents": "8B52817C4B3FAFEF79A65D",
-        "de_type": 670
-      },
-      {
-        "contents": "46",
-        "de_type": 801
-      },
-      {
-        "contents": "E1F3439D0AEAD4CB9F77",
-        "de_type": 671
-      },
-      {
-        "contents": "6DF3745B08B4FEF27F336A",
-        "de_type": 288
-      }
-    ],
-    "encoded_section": "649013AE841A17AE95BD4355024766953D137291100031E1FF9DC6275DE2D6CFFDFBD4ABF2BA9004DBA83D7B18E1768B0A74F4540B159871FB9C14BE48F656157533EAD1E5ECC8228A55124E283885BC099481EEF4F1913D09B1E3D5B603D420D5E41EB331",
-    "identity_type": "provisioned",
-    "iv": "D4B8B04708827F5B94AD1C4B4AAD0502",
-    "key_seed": "65F30FB0C0DBE40E8B6DB35012BD4AE37FEF2C62A90EAD5F367CD41D0B4D06E2",
-    "metadata_key": "E4FBEF567E6D11D3A9C21CEF8687354F",
-    "section_mic_hmac_key": "61B7897EC3760B6EE3E94E7EC85D1BAC7891D62B9C958EB6754F349DF51B56F3",
-    "section_salt": "31E1FF9DC6275DE2D6CFFDFBD4ABF2BA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "607FCD5903490C79A012D2CC218C8E14",
-    "aes_key": "1B4926A4AE50E442685876D28E738DC5",
-    "data_elements": [
-      {
-        "contents": "92193507655A3CFC554D76AB",
-        "de_type": 703
-      },
-      {
-        "contents": "3E93C4EF1F7BB3773E6DF1A44C64A63EBBB84CC12DB6704A2512",
-        "de_type": 863
-      },
-      {
-        "contents": "281F78E0212C7ABB",
-        "de_type": 785
-      },
-      {
-        "contents": "D605E7E6548983FBC54C139E2792F218A1",
-        "de_type": 674
-      },
-      {
-        "contents": "56C18EA4A5CB10EC724D6017F192CC06763AB5",
-        "de_type": 874
-      }
-    ],
-    "encoded_section": "989013929D8225107A0F13E5F33951FFF57792911000BC967854BE9AE8680BF37D35FC3247879002F417C437991FCD5F8830F88C9CC8ABD364588908090C416784CB0784383558C9DB80A3EC0945B122D09DDCE9718ECA2DE69F0A4E444DAF5432ABC60AE72624996EBCF0D5D4B3FEEBD7C93DB5DE4FF19BC16971B4BD672738994696EE1EB9020448360ECB9E5B4D14BEDDAACDDDECCD2ECB",
-    "identity_type": "trusted",
-    "iv": "18EE01B860AD7549AD1C27D0D1719333",
-    "key_seed": "BC65AB7D447AED92E7AF15FBA242DE64F51CB5505C7538DF7606E5BBCFF251FD",
-    "metadata_key": "4EC192FA9236683FB8EE6098F5AB2058",
-    "section_mic_hmac_key": "0BC73A07FD0D047E1F83EEF451E5FBA8DBAACB166B8BB3200AF94CF39BC391F7",
-    "section_salt": "BC967854BE9AE8680BF37D35FC324787"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "1F4428A4B286CB63540A9B96DD5755C6",
-    "aes_key": "E7AD8FAE2DD846979CF83C2925603C18",
-    "data_elements": [
-      {
-        "contents": "5FB025BDB59D9975EFC6EF5E4F77",
-        "de_type": 266
-      },
-      {
-        "contents": "A3ECE156745E1E9DDBB39696F06D01B045E3A4A0948C27B5B38F2F",
-        "de_type": 293
-      }
-    ],
-    "encoded_section": "6690132001AABFE31D558D81FB2EACCB49044B91100055A992A831E3F554842A50CC1A0F6FD59001B2D52D0A60F5AAA760A47640C2A4BA9F66739355B0A13BFDF1262EB114C6582CDC7186A33416FB0DD4A59F72E83A6913259F07029F9A9B17C79B1CE9286DAC",
-    "identity_type": "private",
-    "iv": "3C257D68DE3391B34584EF9F5617E9BA",
-    "key_seed": "67F1DE60563E3E0DECE3191A8B38107DD8AFC36AE838AC1667D9FA2ABA01B192",
-    "metadata_key": "5DA221E4FBF5632037F2C38760158865",
-    "section_mic_hmac_key": "80F62DA2E814A7FC4A5729E1347BC6E0E1ECBCC2A69E94A31201CBC9CA264C71",
-    "section_salt": "55A992A831E3F554842A50CC1A0F6FD5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0B6FAB3C87525BE1EF6338CC7B44586B",
-    "aes_key": "9D8AA7E968ED807E12A1BFCB358B2500",
-    "data_elements": [
-      {
-        "contents": "A8F4C5FF",
-        "de_type": 250
-      },
-      {
-        "contents": "393C6F0B53FCB39895D4673589995BAD266D8C1F37B8EFAEDF715C5E",
-        "de_type": 891
-      },
-      {
-        "contents": "897DD504C7FB519F408359177CA09EBB3285A8D07C047DAEFCAAA9",
-        "de_type": 195
-      },
-      {
-        "contents": "223F0E3959FFFA4BA2C2EF990BE541",
-        "de_type": 109
-      }
-    ],
-    "encoded_section": "8C901388894975700558396618D4C5B6DD75AA911000976919A685F1DB72B863D392566395789001BEDDCCFBF8B26CDCCEDF6FDDDDFEF284781D90CF4C669B8E712ADE147F3A055C6927205B7751438812A0AC612BACC422F753A248C921F763A4834D260F66D4C3BEE187B5059BA90DF97BB8D88B8D5EB57B349AD5A5A2C0F4E8048A3903495296C0946F8FBA",
-    "identity_type": "private",
-    "iv": "4EB6A4C8E8AD7A198198AF5B3F157ED6",
-    "key_seed": "7FF31B2DD4EF85589AC7E8DBAF320DF047DFD5383F762946277B9514C19B957A",
-    "metadata_key": "6DD18E7B8BB136DAF7A00E03A68BA11D",
-    "section_mic_hmac_key": "32596C515AB3091AC5C0892934243A0E134A5DE300B5934134ED4EDF0551CE41",
-    "section_salt": "976919A685F1DB72B863D39256639578"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4840B5430E2C99864061A0B7BC506FAC",
-    "aes_key": "305CBBB94EC7BF4B1575082301513A20",
-    "data_elements": [],
-    "encoded_section": "3790139F09A81379D3DD32A26A50B29B791D7C9110003BAC436861F7119425262BA2F41ABA479002871FBCB559E18575502D8A4E205CD26B",
-    "identity_type": "trusted",
-    "iv": "9523644A9EC5EB4D03F9682F6B71EAFF",
-    "key_seed": "B7AAD921C1C4B99238DF4FA3E2799F6AAE57B1189D6E886D38DEE52DBAF17272",
-    "metadata_key": "6159AC2C4F82C220C822A0B02382AC52",
-    "section_mic_hmac_key": "B0B2F95C1E37B287F9CDC028DEBB10B717883252404112A6E2A0884F4A39E2B3",
-    "section_salt": "3BAC436861F7119425262BA2F41ABA47"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B0DD88926A85214061D588D046C40D39",
-    "aes_key": "0A9D24DA0E9CD688FEE88EEF7105D736",
-    "data_elements": [
-      {
-        "contents": "E1CC37DC8F60ABE02709940B49FF8CB7B467E95F",
-        "de_type": 706
-      },
-      {
-        "contents": "1E743AE7B4E54237E661B287998DC1303A",
-        "de_type": 87
-      }
-    ],
-    "encoded_section": "61901372401FC11144842B442B965C2F4409749110004E00BE0F929E9D09AC9DD996314507AB90015154576D8110400CD950E8FA2AF870E462D4FDF664B7F9E099BA14A7683B729FEFBAEA36A0B1D1F76A2D4149FF198765456514682E5CDB01F75F",
-    "identity_type": "private",
-    "iv": "A061006730444D3FE601B1B9A96D5582",
-    "key_seed": "C7E8A62C5DB5B1E6B07C55D4A3171C26B346BFD476CC4D835F52C40FE4FACF9A",
-    "metadata_key": "C88A3F7A29198F2E0BA655DEAA8192B2",
-    "section_mic_hmac_key": "9BDF103979B01A474F89368E167707AFF7C35913263B5709CFB61FA4BC63732F",
-    "section_salt": "4E00BE0F929E9D09AC9DD996314507AB"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3E57C49387523CFE6CDAC323282CB768",
-    "aes_key": "828E644A59749E1081F44C309EF285B5",
-    "data_elements": [],
-    "encoded_section": "379013461457D7D8208806838F38643B30805C911000602E288251DC86DB4FC88DD50BDBB5B79004E1385E22902422B0DAA09CFE046D4480",
-    "identity_type": "provisioned",
-    "iv": "984B98EAAB7855E8E58B90BE045A98D4",
-    "key_seed": "B2DD1B6846A6C730D35C7DD5F7E66EF0DECC00BC6FC4BCDE5AF7B7A8CA29927F",
-    "metadata_key": "5F47855ABC1C9E6F40C278922556F9B9",
-    "section_mic_hmac_key": "2F811707CCF2E89920CCD2E8AF5712BC621F3ADD42AC4C4E945D667BF519E7B0",
-    "section_salt": "602E288251DC86DB4FC88DD50BDBB5B7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FAA87B7470D9B709BA24C03C0556B201",
-    "aes_key": "AD00E01086C81CD4ADF2F225D4EC40CF",
-    "data_elements": [
-      {
-        "contents": "C6710B42",
-        "de_type": 259
-      },
-      {
-        "contents": "B775BA2BC90617E3A1D053C887C95D93928D732E01C596B085",
-        "de_type": 518
-      },
-      {
-        "contents": "C1902A",
-        "de_type": 542
-      }
-    ],
-    "encoded_section": "6090136EC2E8301A171621686D256328800A5391100086D384F2BE92C175DBC065A4441DB88C900412860361D567258D47AD2373ED132B0D455A36D52E13E8A60A4D14137633019A9376150FF9C5C3E876A665940CBC3159D26A6DB2A7C726FB7B",
-    "identity_type": "provisioned",
-    "iv": "4019E22DE255D0AE7010AD5142D1BFB5",
-    "key_seed": "45C69BCAE63391CA52F9D2C1C04E9699727876ABE5041DCC006A68270893A46C",
-    "metadata_key": "CEB8DAB98EC23439D98C713AF4F2D4D7",
-    "section_mic_hmac_key": "C2DD8B720D968C3A290A9C2038070F134A91E53C09F6214682B7C8D40A0FF543",
-    "section_salt": "86D384F2BE92C175DBC065A4441DB88C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "185871AE8F13E0BC01646BBE8CD93E7D",
-    "aes_key": "3F4388DB5F2E556979CE2D22B9FF45E5",
-    "data_elements": [
-      {
-        "contents": "659643C0F6B85BF24446E841",
-        "de_type": 119
-      }
-    ],
-    "encoded_section": "459013A62C3DC6BD3EFFBEE575BE8D47E584E6911000C87758744B4E7C881111F2CD34F4D7F79001DCA97B6125D1DAC4E21D5D0D2E7A986FC7867F78551EC031B808FE7D331D",
-    "identity_type": "private",
-    "iv": "715E94C49314243FB3D9438BE0B5FC4B",
-    "key_seed": "B19545CBC53FECBF01DF0794B5E2BBE1FB077D963E6B5AAF7BF3B41B09655E55",
-    "metadata_key": "8A571C405199BDEBC9E0A996C066BC98",
-    "section_mic_hmac_key": "EE32E0FF4AE8937E99101C31545DF832EB4424E20F6FFC90DCF47610EC6D4B1F",
-    "section_salt": "C87758744B4E7C881111F2CD34F4D7F7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C4C2159CFB937F5A7A2FFE48D07C7C70",
-    "aes_key": "E616EA700DE6B20016EFD092679337E6",
-    "data_elements": [],
-    "encoded_section": "379013F8000289CA6BA6E4115BAD0BAE228BDC9110002F0E0B5A5A511C3B0DD2E02FD72510DE90013F4EFCB8C2CB33A2696F2D5405E460D3",
-    "identity_type": "private",
-    "iv": "26BC1ECC5F5D6B109307FFEA76907026",
-    "key_seed": "B872DAA9F9DA74E0D37859F20901854233A6C6E66F537D404A6CDF32863413DB",
-    "metadata_key": "B86BB6F2B8B3E89B4A3E2672BE4DE433",
-    "section_mic_hmac_key": "DF0F2BDA3016890F67FA244C72A22AAD605BC9C8732B812826B39C729DFD2858",
-    "section_salt": "2F0E0B5A5A511C3B0DD2E02FD72510DE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FB11A8102A3D19E567CC0EA7A856BB99",
-    "aes_key": "D8F09716F9CA40B2576E70575E6788D4",
-    "data_elements": [
-      {
-        "contents": "7489EF6D168E7528A568454A79B13C99051EFA8CB54D790A676B2E",
-        "de_type": 144
-      },
-      {
-        "contents": "3D489FBBD523E0F6545E9FCABE2FABD575CB66",
-        "de_type": 278
-      }
-    ],
-    "encoded_section": "6B90137A6B943C979446674641A75443D0FD539110001445E273F719B3991BC855505C7524CA9002936D5265ABC1014D62D7A0AE1232524F648A170154BB721C65A99DCD7D3B8B31118047E8071AF25223AC9DA6DA3275B5AEC1DC81074FA85C3EA6BE8568E008793268E231",
-    "identity_type": "trusted",
-    "iv": "C41905D73CF82367AFDA74A2171728F6",
-    "key_seed": "3D0D1F01B8DDA465B6B3C07A589C94E3A1272651DB2CAE2038B1DAC1265418CC",
-    "metadata_key": "B5948EB880BE8DF16056872DDB37723E",
-    "section_mic_hmac_key": "86D2D4079CB6D1A6E43AA9CEF8B9830580749A245457F823096FE7B72BF9E7AC",
-    "section_salt": "1445E273F719B3991BC855505C7524CA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B6EC9A6945B754FAB8D7FF959F03997F",
-    "aes_key": "9B4980C3EE6BE117259F7B1377A31A75",
-    "data_elements": [
-      {
-        "contents": "2A966E923416C51DE8CD04D2FFBD7129FA00F9B0",
-        "de_type": 367
-      },
-      {
-        "contents": "0953BDEEC1AD8F034790",
-        "de_type": 452
-      },
-      {
-        "contents": "5734C9069ADCEFD63F6DF5E815",
-        "de_type": 21
-      }
-    ],
-    "encoded_section": "6A9013D8A4420DA699AA047DA37216590D7361911000193B30E46CAAD820AAED6A871B0DDE3D9002E1DDBA0DC773691E6F5E35467C16D5B90BE6B4794FADFFB35D17D5959F7DA4E0508BA05C7A0E75D733827A23241815076553276D897F9D7F9857C88BCD15251B6A59FD",
-    "identity_type": "trusted",
-    "iv": "7596E4CF2D76B0B7B6D57BB31536794D",
-    "key_seed": "10CDC0E8F2081B6383B5E770324E8A2A0EE7BCD33A06F4AB1C13CC441B1576AA",
-    "metadata_key": "8B6C66FB4F911DD9D302B58389A38E2F",
-    "section_mic_hmac_key": "02435909F7FC7DCF6AD2C5782C4454EDDA6825A3F03E2FAE631827EF23C75802",
-    "section_salt": "193B30E46CAAD820AAED6A871B0DDE3D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3BE86057455C4EAF637B2E2D5A3D203D",
-    "aes_key": "E49BA1CF3158EBD91ABCD623CF652A88",
-    "data_elements": [
-      {
-        "contents": "1D",
-        "de_type": 789
-      }
-    ],
-    "encoded_section": "3B90134A40A37A0F1F7FFA41DBA69CF401562B911000FF2F1817375B764380DAE5464D94377890017B523500C616F3CC02DB071A8FEDF8A4A77EEF03",
-    "identity_type": "private",
-    "iv": "D0B1E3FD976AEF6BC9764DD4C2C77D9F",
-    "key_seed": "F6C21731E2A651A2A3E69BDB7628AE4D170E03F1290FF07E6B5D53EC4B3A9E07",
-    "metadata_key": "A67ADD8BB31728F1CBAB049EA30784D0",
-    "section_mic_hmac_key": "32D1CADC23733164A58E0DFD391F62623DF7CBA2B2C482B97E824837F126A2EF",
-    "section_salt": "FF2F1817375B764380DAE5464D943778"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F835784D7AB18BA808A7F69B57D4815E",
-    "aes_key": "1BA538EB97A7B39A85A8AE30F3E7F74E",
-    "data_elements": [
-      {
-        "contents": "3EF58FCB910F",
-        "de_type": 471
-      },
-      {
-        "contents": "B7A97511C7241A87D93CEC34DBE0",
-        "de_type": 781
-      },
-      {
-        "contents": "3B7873329F6042E0",
-        "de_type": 591
-      },
-      {
-        "contents": "4D",
-        "de_type": 155
-      },
-      {
-        "contents": "8B19AB",
-        "de_type": 459
-      }
-    ],
-    "encoded_section": "669013321C3BAAF7D8D726DA7B24CB448A7CEF91100060BAA8C3E9B5DE735AB5E20549288EEF900459F48BF2DA6EC0C9509A54CD9EAB469FAEABDB1C0469C4AAE88E000102F20F0410588ADC95DC5CB9F1E618CD9B5D7282AE636F046F0BAF41CB330F90231371",
-    "identity_type": "provisioned",
-    "iv": "61B4EC1132186567C1992B337414B65A",
-    "key_seed": "82DB684D3D3EAAB31A410F59959F697C1A3F06F0225400F7F93973B38E900F48",
-    "metadata_key": "670D421A6387FAE7387E7687E683FF91",
-    "section_mic_hmac_key": "4B60F9DB5B3A4C383A3F7D15A90CC70496A30476D9158CD07832E3B34430A386",
-    "section_salt": "60BAA8C3E9B5DE735AB5E20549288EEF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "97AC9B949680B2F11F1C07562473BC5D",
-    "aes_key": "8893DA49A2A51A183F1A99A688B11CBF",
-    "data_elements": [
-      {
-        "contents": "B7CFBC4A38F6E5C1EF5529C01E0EC57DEF14",
-        "de_type": 487
-      },
-      {
-        "contents": "76F12E3859EAFC1C47332C188435203DA7BAA2C11219B3287FDB",
-        "de_type": 699
-      },
-      {
-        "contents": "CEAA9D",
-        "de_type": 474
-      }
-    ],
-    "encoded_section": "6F901300C1D813793E3D565D7BDF96D4729AD1911000D87C74058CEB77E6047D8FB6FCDE2A84900462BC3ACC414A1075616F631658C6F59BD8313C6D040F237912A83C8391E481F8260C25C001E842C5CF8C9899A39E81497CD14AE3B95C42D4613D5B94AD5A43FCD06FFBBB880771D4",
-    "identity_type": "provisioned",
-    "iv": "31692EECD347BB8B790FFE491DC6AA03",
-    "key_seed": "D7DB5F3D01EB449493F604FC7625AEA837CF2B59C099BBA604A4289E7D130F3A",
-    "metadata_key": "5B0B450F9073E98F2713D56B6F8B6F45",
-    "section_mic_hmac_key": "8CCD7DE04D0D174F4071227616AE28B1541FD3DCB20559E49DDB9D7E1E61DF5C",
-    "section_salt": "D87C74058CEB77E6047D8FB6FCDE2A84"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E702551D59055A4C268DE48352D1D471",
-    "aes_key": "B2C74066FA0433B54D2C41E23E6EF2A1",
-    "data_elements": [
-      {
-        "contents": "C87DA9FA2AE6",
-        "de_type": 753
-      },
-      {
-        "contents": "0F09EBD5E1FB0403D5FB6EC758FD99969CD51B",
-        "de_type": 938
-      },
-      {
-        "contents": "68",
-        "de_type": 659
-      },
-      {
-        "contents": "EE7C4403DFDF257703D7307BD90FA19F1234",
-        "de_type": 367
-      }
-    ],
-    "encoded_section": "6F901313354100352D54F8E69864F4D81E5F40911000D31E9F9EB135D9B417465F14DD616CAE900241F17700C7C522B251D69077C5D83A57C91C76E9608FF7AEBAA9E6D6DEB4FBB4C0FA7A846161B449867B0DEF8857575DB871772C1A32A50C3FC8B5B7BFCE1F9E863B0B3BB540A538",
-    "identity_type": "trusted",
-    "iv": "E9CE72D40C0AD1AB24A01A82F2A07826",
-    "key_seed": "53B877350CAB817BBD44D7EEB318798EA7BBA2D4A1A71D89D36716AE92749BA2",
-    "metadata_key": "99976B723F002988F4F55EB36FEEF71D",
-    "section_mic_hmac_key": "99808417006A0BC9AEEB5E57189464625982B170D83E339770A664DA612A8FA2",
-    "section_salt": "D31E9F9EB135D9B417465F14DD616CAE"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2ED0C092724864890A6F1F704D800668",
-    "aes_key": "DE9D2AF9D5E73B5DCB99478AB10596E8",
-    "data_elements": [
-      {
-        "contents": "C60493B51521D08E1301A6BA8DDCB0B8C80EB593EE",
-        "de_type": 626
-      }
-    ],
-    "encoded_section": "4F9013FB0AF3D967DD7A4DB45338A490E57ED3911000955B8212E6D3B3D51F527D3FA95E5A7D900137E439BCDE00D86C1F7636F036F39C1E747B84D893FF30148A60A0FED2A9630C05074B851C56CFBB",
-    "identity_type": "private",
-    "iv": "0C778E8BBE426243CCFAB25E5FAD4AB1",
-    "key_seed": "E52C0B2498CB2E81CA1D7826956E5CA96643FF387FBCEC351EB3E573E8267E6B",
-    "metadata_key": "89100169ABB76A810E0689FF4E1CB32C",
-    "section_mic_hmac_key": "1AE31170876F62388380093D8BBCF2C7EE39CBBFEB704B3FACB3AB58FA218A0F",
-    "section_salt": "955B8212E6D3B3D51F527D3FA95E5A7D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "97D8796AAFFFF0391918C4D843EC7182",
-    "aes_key": "2DB81BBEEF3CB201FED12F870DD1A6D4",
-    "data_elements": [
-      {
-        "contents": "AC7A11",
-        "de_type": 42
-      },
-      {
-        "contents": "47F36D",
-        "de_type": 476
-      }
-    ],
-    "encoded_section": "42901334B6E677BB68B303430CBE489918DD1A9110004FC550638C733514F55D80678B35E8BF9001D6527838298D839E0AFB36258BC8CBDA19AC72F0C0F1C1D21D1FEB",
-    "identity_type": "private",
-    "iv": "88D3B3269364CFD877B4B349E5232F78",
-    "key_seed": "D2721BAEDB71C77EAD4016BE0B47482E6FE7ED6D8BE89ECBF2874DC8379532B7",
-    "metadata_key": "E6CF02F6881821F85F695322B753C232",
-    "section_mic_hmac_key": "23BCDEBB78C2D48D14441FDF8E69E3419DED64FF26E80707BC4D74C23E9985EC",
-    "section_salt": "4FC550638C733514F55D80678B35E8BF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E29DEA8F8EB14530304F3980D3B1D734",
-    "aes_key": "36FCBB41B48F5DE8FAFE45582F12BCAD",
-    "data_elements": [
-      {
-        "contents": "BF2DD9987F4FFF036F7EBEA0",
-        "de_type": 648
-      },
-      {
-        "contents": "F6739557F6F35CC9D3",
-        "de_type": 600
-      },
-      {
-        "contents": "7A461FEDFE239F482570B8",
-        "de_type": 773
-      },
-      {
-        "contents": "755576B7F701C110D30DE8A8A6055E861330AD3038B48369",
-        "de_type": 910
-      }
-    ],
-    "encoded_section": "7B90134C1E3F6ECC9F2A87270584D6B556739B91100000B42582A3DDC746C8C72882FC1E3CF29001E801CB59638B55AD760247985729C427C701BF1FC270D0846820E3F3CDAF26FE33F9C42DCCE3B580CD8ED52C8C84A1497C02B8CF858E82598DE51CAE0A9222FC649F0F74FDEAB2980ABB47259919E6AD0E5BF8CD",
-    "identity_type": "private",
-    "iv": "45B269C614463C479DAFE5D92A9EA559",
-    "key_seed": "C35089F1053EEE4A91E2931F7A8AC693D00AAE4A81E7175018BEE21CBAE51145",
-    "metadata_key": "A458B645925159650706A2E4C8BFCB64",
-    "section_mic_hmac_key": "668DDB981A4777D6A00612FC5AC0B10287C5E786DEE8A47BC127A87734A51AB8",
-    "section_salt": "00B42582A3DDC746C8C72882FC1E3CF2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "2A1A6C8D295ECF8C0202668F1489A414",
-    "aes_key": "28CC2DD441CA8E4B7BB065E70D54F066",
-    "data_elements": [],
-    "encoded_section": "3790132CE9BA72A592AFC9A154431AD9BF678A9110006F7AFAA6E74352E98FC6F26F271B53A79001C1E8B3BC3B1DC537843A058B3CFC77CE",
-    "identity_type": "private",
-    "iv": "CEB816A49DA26AB4B8D0DA3F35D84FD4",
-    "key_seed": "33ED4D742A7EF0E3B7A7A3A6DFC520B17D56970B3882F8CE0093A65364F26BAB",
-    "metadata_key": "D013A0446A6D5925AEB112989FCF8B6A",
-    "section_mic_hmac_key": "A5C57E34BFE28F270E4D4DBFEE7B2B439825F138CE6246EF84DD1A1B362ACD34",
-    "section_salt": "6F7AFAA6E74352E98FC6F26F271B53A7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C57C5AEC61B254B68BFA1263F09D08ED",
-    "aes_key": "37606EE34F9AA21C044064B8C1A2886C",
-    "data_elements": [
-      {
-        "contents": "B11514CC76AABC274DF8F8C6CFC2ACB4E22B53",
-        "de_type": 472
-      },
-      {
-        "contents": "",
-        "de_type": 457
-      },
-      {
-        "contents": "508791F872F0B674D72C29",
-        "de_type": 688
-      }
-    ],
-    "encoded_section": "5E9013C8A8A7AFFD886F274CC65659F5A059E1911000B4610CB1B2740CD7D6BA48AE95773889900401416AF0F3FF6BE99E89149A173F289199DB5ADBE086901F6BB884EFE7B8F26B8447A95553BADBA369BFA1FC97FA8253CE897B05AF5679",
-    "identity_type": "provisioned",
-    "iv": "7745CE454FFD689BA9F97F294D8A88A8",
-    "key_seed": "0E252068D453031E6D3E8512F54A93023AB47D40DF65477E1799169584D49A34",
-    "metadata_key": "ADD4C2CE5C0675D81B04C0CBA49C24F8",
-    "section_mic_hmac_key": "A1BE55F257B3AEC15DB0CBEFE6B8C9EDF5EC2D5D5D80A2B8365C62E03A18FAF3",
-    "section_salt": "B4610CB1B2740CD7D6BA48AE95773889"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "010247C596F6FE045EC36550B5CF9BE0",
-    "aes_key": "56D59B20C8A02E3EA56FEC1F085E6B43",
-    "data_elements": [
-      {
-        "contents": "71885D121CE06D7983CE03903E41",
-        "de_type": 749
-      },
-      {
-        "contents": "6429B148C4524881",
-        "de_type": 197
-      },
-      {
-        "contents": "0C10",
-        "de_type": 915
-      }
-    ],
-    "encoded_section": "589013A6678EE465A615810F963BC8524823C49110005A5B7E64F50792684B2A8F6A79718EA7900406B7D7E7FCA48BD47114CFD66F0847C883DF7FD6782B352737A61D21EB05EFAF560E2E0CD50D9FD1E940752E6EB6E2D2D7",
-    "identity_type": "provisioned",
-    "iv": "F5A4C94B269FA033FE14BFA63ACBED1D",
-    "key_seed": "B69E0F9C1C0B1F48E8670D5DE996DEEF779C2DD31BA96E3D40FC6A91E97F5CD8",
-    "metadata_key": "DEA55C1AA38639015CE0CA62436712FE",
-    "section_mic_hmac_key": "2342FF7DB9270407FAC870A89EC58DA18193CD6761B4A6A186F1DFC8F5097EBB",
-    "section_salt": "5A5B7E64F50792684B2A8F6A79718EA7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "202E08A90937C2075EAD5A59F7E1F826",
-    "aes_key": "85AD6EF749C1F3785582882A509D2A38",
-    "data_elements": [
-      {
-        "contents": "5BC965A20DFA04542BEC2459E2BD3E6C124C1E6CF676ABDD2B9C",
-        "de_type": 722
-      }
-    ],
-    "encoded_section": "5490135A9C9FEAABD949E8780F74645F6A3C8E911000822CC18C14AD885BC2B6450890F27E1090046DA21AA7BBABC3DBB63EE5653FA4B3CC619F4000A1E82649C1F516F162FB6AE4CB3975928A5E12E27A7E5A47B1",
-    "identity_type": "provisioned",
-    "iv": "48D37CB313151B5A637562436E0AD944",
-    "key_seed": "1BED4881AA77F955F19F3E02484DC66EE385DB9780DBE97D61F72285EAC8C886",
-    "metadata_key": "3EE77F6213BD622E7A7FC71A63DF2F41",
-    "section_mic_hmac_key": "789EAE25B10C4671328052CF168517ED74AC64002E81384E4C27F676EBAFBD94",
-    "section_salt": "822CC18C14AD885BC2B6450890F27E10"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "25E36ADBBF4FE51E8692897477FBDF1E",
-    "aes_key": "E820954AF8A47313941F0DFF6F7D8E56",
-    "data_elements": [
-      {
-        "contents": "F0E521B07A2BA4632B7522FFCBC8868A84B596E0E788",
-        "de_type": 308
-      },
-      {
-        "contents": "BC1B944236DAA3",
-        "de_type": 650
-      },
-      {
-        "contents": "9DD55DF02A53DCF3EAC75B805A2E468FDE7293E8D033456CD75B84B2C2",
-        "de_type": 202
-      }
-    ],
-    "encoded_section": "7A901374488D1F21525687674574AC556A759D911000B989B1E6C00C664909F417385FC3184690015D885FA6EABFC8A8AF8155D6022A502AA86FF128A90F7E92CF2E05A9FD1AAA7572DC42D5EB157D8845E144108D4E528D1B247732774F1C7EEBA1441EFBEBC97B3B550F520D4A31AFBB7D94C248BC9883889333",
-    "identity_type": "private",
-    "iv": "2A718490018706C03F9A6E4D1058369A",
-    "key_seed": "0674E67302C41BA299713DE1C1EA641C82F9345120CFFBD8705C8CF1D99D9F24",
-    "metadata_key": "DF696B20166A8F6C89A3A4999ACC7E66",
-    "section_mic_hmac_key": "2230661E0FE82FC883CA43379DB99B5F867AC35A6C854FA271576E91DFD44FCD",
-    "section_salt": "B989B1E6C00C664909F417385FC31846"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "77A50A93AD1DE5BD21FBA890648EA0F6",
-    "aes_key": "A5C13EBB1931A7ECCB4D1FFC456D950D",
-    "data_elements": [
-      {
-        "contents": "F248E8798E08955BB2B8C739C290BB910A2876078AF4E2FC3EBC839080EE",
-        "de_type": 299
-      },
-      {
-        "contents": "",
-        "de_type": 115
-      },
-      {
-        "contents": "6E863CFDE1C1B9EC5C5CE6",
-        "de_type": 207
-      },
-      {
-        "contents": "A78CBD078A98045B5CA79E19",
-        "de_type": 62
-      }
-    ],
-    "encoded_section": "769013B2E1239BB6FEFB97B6EA19C9619129D191100030FE3722857D4340D20F7C483E37F2DC900249E2354F02B0D9DAFBE5ECB30730C4A70236F4C59860A3633EEF571C2A024510BD9EEA4A46C1604CE18E0EE914A6B9001FC07FB1FDDA5807E075E7F594DC16D60E86B75246E93F301F7595583BE980",
-    "identity_type": "trusted",
-    "iv": "FF98DAB9B88B46C4982566F95B068A02",
-    "key_seed": "E56913363141DD1C2F0D5F93FB6A9EA6CE5212D0DA2FDCAC3CCE6BB15097283E",
-    "metadata_key": "661BF758E6697E46F133979F25395A26",
-    "section_mic_hmac_key": "EE035FE53ADF345F73E4AE77C4BA8FFF96D12CE39F3924939DB827E14ABB715B",
-    "section_salt": "30FE3722857D4340D20F7C483E37F2DC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "EA8DA1BDB85D6AE965D351EE9B8EB881",
-    "aes_key": "042F1CC32A48B7714A58BB51469C260F",
-    "data_elements": [
-      {
-        "contents": "C24EE733EAC66F8A54A814A1",
-        "de_type": 708
-      },
-      {
-        "contents": "C24D41A652EC0E16DC1E23A473850585795417447B",
-        "de_type": 565
-      },
-      {
-        "contents": "CC8DA80690986563A3815792",
-        "de_type": 594
-      },
-      {
-        "contents": "5C279B02235F4678698B16545905C95D121FC57EE7B68A387F",
-        "de_type": 549
-      }
-    ],
-    "encoded_section": "899013132CE522524AD6D5864DC7C43C07D4EB911000EE856613E81A2B970A62219E03CC698E900172071B9F49F539C94EECF7B8736EE09CFEE8A70BA28CC824951769B286E21B889B408D20E9EEE2A57E93E0CFFCE13E3093224880C88EC85C6B253363B24BCD2CCA07129487B2552240BC7C99C3469521F171065D3F14DC9F02E282DC03185849325A",
-    "identity_type": "private",
-    "iv": "55654AA16120C9192CF4251DB48F6811",
-    "key_seed": "87EAA9BF3F195F050804C1E9CC5A29E15FA3D409EE515096E4AB412F341F63EC",
-    "metadata_key": "25C515A0D455F2EADF60C5CFD02F5704",
-    "section_mic_hmac_key": "0B106484613F91290A8AF8552F4FE3E517AB03AD99C7B49884E75E13D6A2F03D",
-    "section_salt": "EE856613E81A2B970A62219E03CC698E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "C83B117035EA70F9B5EE8514818D9563",
-    "aes_key": "5786A3D45C88BC5BF15E63BEABECC7DD",
-    "data_elements": [
-      {
-        "contents": "96DFAF82E5E8",
-        "de_type": 722
-      },
-      {
-        "contents": "1A52EE0785ED4F5E",
-        "de_type": 529
-      },
-      {
-        "contents": "4070E0708BEB0EC5715AE4BBC7614AE65D6EC5",
-        "de_type": 220
-      },
-      {
-        "contents": "078FDF57A9D79648DF0C6AE6650D3745B4E5AB8F4230328BFCFD2CFDE8",
-        "de_type": 534
-      },
-      {
-        "contents": "2A683899E3C29BE4296CD5E63F156DD06650B98B6C",
-        "de_type": 434
-      }
-    ],
-    "encoded_section": "999013C17A273FC6F3CC1726484BB95C107A5A91100087114931992E6A90DA25ECA40CAA7FA090028868628BFA23AA55C7CE84DC579C73667AE77FD0519B69DD4D27F5F7E274C52807FA63E8BD0646F5317F7109770240A53B3EE772E019E226051DFD5274D641EBCBD1CD122A2222FA5769A2DB47B0C351AFF6F70394D3D39472981534D00428DB1ED731882A0D746990A730B5BD00A15E0729",
-    "identity_type": "trusted",
-    "iv": "F9A836CAA147035106E7454E9DD33840",
-    "key_seed": "CCA2DEE077D57B7BD51A23F80E6E2B4E8CF22B489B31D50DFC0E2C8A51323DEB",
-    "metadata_key": "2DB7D7E9F6C9CC9ADB3CDA79F1A17A7D",
-    "section_mic_hmac_key": "0C0C3FBB7B4382A1965F1A0D21B0B76C80E9F5311D048B80C6279E53A9E59F0F",
-    "section_salt": "87114931992E6A90DA25ECA40CAA7FA0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "CB188E83DDB89D62C114F1F1360015DF",
-    "aes_key": "7BE45751AD3A8B7E49BE27F2D6247688",
-    "data_elements": [
-      {
-        "contents": "560C374E10F3B1004D6BDA",
-        "de_type": 930
-      }
-    ],
-    "encoded_section": "459013537088C101C2FB104B6D3769B2211B1A9110005A675076A273B1935CA8836A8F568EBC90040DDCEEB9121864F9364571A4765FF4B14ABC63F8816880AFAAE4DD3CACCE",
-    "identity_type": "provisioned",
-    "iv": "494F76CEC4C372BA61E09E832CA023D7",
-    "key_seed": "A6DB88D2495FD0F4DA2DDE97BFCF5799017DD7BFC5BB1AF9FB92B365D4690335",
-    "metadata_key": "45C398B6E4E8B0A5540E19300C0913E4",
-    "section_mic_hmac_key": "28FC3EAEEBD68AA836A746C2BBF26DE3ECB6AB774440232E986203C9D0F1DC77",
-    "section_salt": "5A675076A273B1935CA8836A8F568EBC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E2F803555E499AB4ADD6E1BE05823C79",
-    "aes_key": "5B23E3C06BE7BC3F4ED4E25348249AB1",
-    "data_elements": [
-      {
-        "contents": "DCAEF3A98B4FC0",
-        "de_type": 539
-      },
-      {
-        "contents": "D4D1",
-        "de_type": 417
-      },
-      {
-        "contents": "CC7A7E6C0801E825F2CF606643C8B4E1",
-        "de_type": 96
-      },
-      {
-        "contents": "C3695CBF18E06D255425E2210E6A0072109062A4883EB67E",
-        "de_type": 553
-      },
-      {
-        "contents": "B426A715DABAF6CDE325699E12F3488EC0B0AD4CC23BBE641DEE",
-        "de_type": 334
-      }
-    ],
-    "encoded_section": "9090137453B44CAD941E40F0B10F59070543CA9110006ABC65E438219705DA90C55843E268F590042B17F2F7D33F64EF416A906477269B3EB1E98B647E497F07BEEBE093B0439D16F08DA3AEDA48CB30BA4B1324432337A801C89DBA6DB87CB7335E34663B29B7AFC589B0B18EB82E60B39D235F1143458AD5A0D7CFD18CD4154F180F840BB20CAF7CA5F701428934279A",
-    "identity_type": "provisioned",
-    "iv": "0D1E0A06889E8F9607C7BFD987F16DCC",
-    "key_seed": "0442221D74C5BD01B2274C2A7C37280A192CC1D12208DC72B7DED708CAA5FCFA",
-    "metadata_key": "53DDA5FB2357A599D7650F5B3F3344EB",
-    "section_mic_hmac_key": "D56A4747E6404C01FFE0BCD9F85B7D99B07046CFDF5F6B9330F09161AD207FF5",
-    "section_salt": "6ABC65E438219705DA90C55843E268F5"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4B5EA533159CE934C52A8AED1C7FA66D",
-    "aes_key": "6979C3C75DF7004EE8EB62C5AFD4EB6B",
-    "data_elements": [
-      {
-        "contents": "4E3FB80E",
-        "de_type": 151
-      },
-      {
-        "contents": "4E637AC7ECFB76369C9B878CEA3EEB802A",
-        "de_type": 105
-      },
-      {
-        "contents": "34A2A98FE7C7EE",
-        "de_type": 134
-      },
-      {
-        "contents": "698C29A5FB482A7ED59214E49F2C2295F8",
-        "de_type": 992
-      },
-      {
-        "contents": "09B28A3CA96A72",
-        "de_type": 1
-      }
-    ],
-    "encoded_section": "7790134C59AE20A1D6653BEBD70DC858E3D81E911000D0329D85697985F6E05E42949541149690043EE28E5F836FC134AE452135DBE0EF28E3C8B01718233AAC3699D43C79AD0FF0FD315FFCBC70477A534EE60C7D0006B6B0098838A7A33E2C2D240CB7A38E5340268EA91D9A9A017B8499F5E4B5218F9D",
-    "identity_type": "provisioned",
-    "iv": "3356ED13FC96C65324E87673693A1432",
-    "key_seed": "8EC14F57AE7137067103789D1C2CC872D5F784DB8CFA491CA57D6EED842185F1",
-    "metadata_key": "969E204773BA54E9F873D6EB28624AE9",
-    "section_mic_hmac_key": "B502F11F87DAFE0E3700EF8AB8AD420D74DE34FE550E300E899D850C4DF5EC04",
-    "section_salt": "D0329D85697985F6E05E429495411496"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "17A088DCDAF83A58AF2753313613B039",
-    "aes_key": "1F2E0EE3496322D7D8D365E67EA1A0B9",
-    "data_elements": [
-      {
-        "contents": "62DD2615146476EDDBDA10A1D1F2FCC03BD164C53AFF75DE",
-        "de_type": 144
-      }
-    ],
-    "encoded_section": "529013C7B81E1AE9557999FD71E2ECE5F7663F911000749DC9438016B9B31672E361489B94D29002F0D3FDD1FB26395746C6E8145821FEF4DE853AF48008677E47057EA33AEAE5AFDD8A6815A57B9A5B58625A",
-    "identity_type": "trusted",
-    "iv": "DA09A3AA5D1AACBA826AFB2E549BFC80",
-    "key_seed": "EFB6CA23E03746A98605BBC2B163B08507D83D86AAFF789D08CA6DB1225F7D72",
-    "metadata_key": "E590519575ACD07B7CA73CE1A80E30CE",
-    "section_mic_hmac_key": "4241619E81FC51B75394A479F56F007762E3CEDC5722CA93375EC5B3FFA44124",
-    "section_salt": "749DC9438016B9B31672E361489B94D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9A580D81461EAADF79556203CA735C95",
-    "aes_key": "4045DA22088C072BF80A09B8C2BCE1F6",
-    "data_elements": [
-      {
-        "contents": "FEBDF44538E9E70781B5B0E283DF4C13BAB1E49B6DC8242EDBEEA1",
-        "de_type": 68
-      },
-      {
-        "contents": "350B4FB802500AFB0D769352F8A6B9DFCEC2BA61",
-        "de_type": 318
-      },
-      {
-        "contents": "A9ABA29AA6E72DEB67C8E824171876C26CD1",
-        "de_type": 379
-      },
-      {
-        "contents": "3D84",
-        "de_type": 212
-      },
-      {
-        "contents": "DFBA842E5EC56C53390D21A019801B6F0D",
-        "de_type": 431
-      }
-    ],
-    "encoded_section": "99901366302C66D9F00F5C3C65DEF7C64F0BE1911000CA70480E790B6FA473C74E3A4E003D269002D07BC8320C3B78FDEE1D1F68E4DCA09AE32B16573455513DEA228C33E7926D26BDCCA638518BF9CB2FD36566D9DB0D6ACD64D0A6F8B2B5EE6F3DB463FF3FDDC485D5BCAEC66F1E982ECC008D3A45A36CE1F81049F95AD6BB6309326428220E8E59EEBAF4AE38A5863886056B57E25D682A7E",
-    "identity_type": "trusted",
-    "iv": "D70E519F3DA3F2668D9F8AABB50810BA",
-    "key_seed": "AFD5C0D98921E1D241A7906F68D8A04F3AD3E81B1A0550D35EE4C6C8DB57DDFF",
-    "metadata_key": "DC273523F44A001AFA17F0F4FFE6057A",
-    "section_mic_hmac_key": "DD78AFB4D983C325EFDE1FE20D9BC988335CF2C9B37A75AB9A519DBF0776E6E9",
-    "section_salt": "CA70480E790B6FA473C74E3A4E003D26"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5033210306BA9AB77E2D3EA6B2A88AEE",
-    "aes_key": "58ABC0465E84B9EC15FCD58D2E34A481",
-    "data_elements": [
-      {
-        "contents": "D9485F980546BB684977FEE260590F8C94F3DBC5A4D5ABAF3CA68FE902C7",
-        "de_type": 891
-      },
-      {
-        "contents": "CEE448E265CD2D5B240D0389A1D19CC70C39",
-        "de_type": 962
-      }
-    ],
-    "encoded_section": "6D9013975E455A5A9DE86D218DF7B84D5B1D549110001B4A179B3A4048FDA263D917D21145EF9001B30134E7DF109B194C1342F0B49E2769BBDA370C5D76748EB77A583F75248CDD1A20CAC314C29429B88FB99979BE4B468B6A9EA4DBF9C3CED9AFBE95FE44E4761A501D8505BF",
-    "identity_type": "private",
-    "iv": "9DDE36E1B51C439ECB53A803239075B4",
-    "key_seed": "FBBA5082E277FF50246090C3607AE6B59192F350244A4E1B38F1F737E1297AAC",
-    "metadata_key": "078882BA8177D36A63C48E4FB81487D0",
-    "section_mic_hmac_key": "73B3E2977B6A0722AE497D1F9B52ECB47BF0AD7B0C53C91F66F27F0C4464B4BE",
-    "section_salt": "1B4A179B3A4048FDA263D917D21145EF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "24560C643ACF024603DBC6745F73BBFD",
-    "aes_key": "96648935E3EA6534930CCEF9FF46157C",
-    "data_elements": [
-      {
-        "contents": "E9F020541040899D",
-        "de_type": 609
-      },
-      {
-        "contents": "192E2705B3ED51257DE39187071CBE006F59FE797A380C690B7361",
-        "de_type": 884
-      },
-      {
-        "contents": "EA",
-        "de_type": 284
-      }
-    ],
-    "encoded_section": "6490130799AC2E188C075DE6FAFFFEB23E085F91100050AC82B4D7F3A6BBC2114DA1F733ACF2900469467DF82CC82A6C8D02AD6C485973D1DE960AEC200EC2925C15CC0AF18C59EF8A21F16C6247F07032029F42F727AAE4F0C0A02E8B92824556A6588409",
-    "identity_type": "provisioned",
-    "iv": "C369FA65B5EB270813A60DD29E99F52C",
-    "key_seed": "75B90F739FC2B807804A7D201D758B8F2CFA5023BC95546EB70AF106B3EFD2AF",
-    "metadata_key": "0FDB27FCE4A6AEBD5CF6440316B299E5",
-    "section_mic_hmac_key": "455CE9502152FC7EB6BB721DA5BD1095DB8A8581F1B3F893B5D5FDDF98DCDF55",
-    "section_salt": "50AC82B4D7F3A6BBC2114DA1F733ACF2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F18489FDCD6520D71418C0A0E7636910",
-    "aes_key": "C6A5270EE01BAD049F2823A3FB9B3B60",
-    "data_elements": [],
-    "encoded_section": "379013450221F90903BE11C937E8F2518999B691100078488DBF62F4D446B6213AB3AFD286AF9001D1AF3AF9D2172A123E854A9564EE1A80",
-    "identity_type": "private",
-    "iv": "2C15E2EDEABE3742E25A9EC8E8288C48",
-    "key_seed": "EFDC60A5D965B43E0181ACDEF1073D8C9CAEA8EB1133CE5538D17D00987411B5",
-    "metadata_key": "BFD25D2E0822E743638D21199C657DE0",
-    "section_mic_hmac_key": "12F2F8446F6E90B917D3453DD1543FECD35B7E35D16FE8B966E95A50221FCB88",
-    "section_salt": "78488DBF62F4D446B6213AB3AFD286AF"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DD8077D99C25E5AD861B96702256EF3B",
-    "aes_key": "4C007FBF6A6921EF95877D207A61EE5B",
-    "data_elements": [
-      {
-        "contents": "78B194E3A0895DC7",
-        "de_type": 835
-      },
-      {
-        "contents": "EFFC63F96EB172632387FB9B0AAAE82514388876D62D1B4C03",
-        "de_type": 419
-      },
-      {
-        "contents": "00945CF6A5A4",
-        "de_type": 585
-      }
-    ],
-    "encoded_section": "679013E41F6BF179F1F1AE413826061C017577911000EFB6DBDE8071C59CD70D626D43FECFE990013F29BDE37417ED94EC2EE33631A7B72D39ECB033BD9B6E12D923E007A716DC8A48BD159DCF6CB77C304394CFD2E198D43DA39B0E37870FB6F5AE1CE44FCE153A",
-    "identity_type": "private",
-    "iv": "3DC0231F80F3F2B132B09BDE9CC40759",
-    "key_seed": "7562411D7931D839A229013E52C55F4DC5A3EEFF1117E408AFA3F4AC426F10C5",
-    "metadata_key": "ED09172ECDC74F027C0AA0E418BB4AA7",
-    "section_mic_hmac_key": "CD75F9BE138CDC579730D22DF33B653D0250CC0747B1702A4878DE8302DB7C44",
-    "section_salt": "EFB6DBDE8071C59CD70D626D43FECFE9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A288ED7E1B68D033C3F4690420B90D7C",
-    "aes_key": "675CED7A7336FEF07E17C17F959EA288",
-    "data_elements": [],
-    "encoded_section": "37901300926ED675109AF07704A987C309566591100015847DEC4B348DCCCA189D05D7D5174C90019395E4BDFD6A6B7A68215CE58AF169AF",
-    "identity_type": "private",
-    "iv": "F2B76940B657CD501B1B9D188E69B582",
-    "key_seed": "C3D8A38ECF7392E4879D99A8C9E21759E23B95860D04E10C33D0F4FC988D219C",
-    "metadata_key": "B8A8C3055E2FDD6D00A905324E758F5A",
-    "section_mic_hmac_key": "C6F39BC5C3EFF0F8F09FF1FB23728F5DB138B208032B91EDDCC2888C1405647E",
-    "section_salt": "15847DEC4B348DCCCA189D05D7D5174C"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "623E52E555A5421C80C40236F560973B",
-    "aes_key": "201A7FC4CF51C7C389EB70B4528F0A4F",
-    "data_elements": [
-      {
-        "contents": "E696D48DEBC719E0BC6B9BFAA01B37363F213EA19B2508E3F65CB81A44",
-        "de_type": 776
-      },
-      {
-        "contents": "F6A3106D966E9E033943DA151E9D520B",
-        "de_type": 699
-      },
-      {
-        "contents": "3822C8B9",
-        "de_type": 473
-      },
-      {
-        "contents": "286476C80CE4C19E40D7F7096A30B4E1AAB2F1AF07",
-        "de_type": 964
-      },
-      {
-        "contents": "801E59E8",
-        "de_type": 196
-      }
-    ],
-    "encoded_section": "9090131E9A577C252A33B78982AB45DC475FF091100025F94B814B7033833230BB2CD9C0132A90043C21957E1606423DB86A914AC7B2451502B5206DD412CBAA364FE638AAA8DF0C9AC173462492AB53726A000223D6F74047E9D784B4377D0DC5930404A4C4AE0E3598CCAF70608D9CA0973A8D71C683C163EA16A5D9944F24A510DA586058A498C61CDD9A278D970C82",
-    "identity_type": "provisioned",
-    "iv": "402E1DF4ABC0651C160A910297E96D42",
-    "key_seed": "755AE4BA0D148487644F6661D42583CC5710CBC0C35A1F0CA1013B33378665EE",
-    "metadata_key": "2C5769C63A6C4DEF4DB33A0FA7C96D5B",
-    "section_mic_hmac_key": "928C6F5D55ECE19FD96C26CCB0F30481962702DB2E33218E05B5849057BF0221",
-    "section_salt": "25F94B814B7033833230BB2CD9C0132A"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "BD9442F4DA1F1E45298431632FBCA1BA",
-    "aes_key": "C86D801FF7EE0765384862985B3A8FFF",
-    "data_elements": [
-      {
-        "contents": "940AF7EFA6B964475032932CA2C94F6455CAE937032FE323D9A1EBBFD2",
-        "de_type": 584
-      },
-      {
-        "contents": "9A84386F3D32F5F816B255",
-        "de_type": 722
-      },
-      {
-        "contents": "FA216768C3D6FE14E93C86AF8A45CF2A05BBA5",
-        "de_type": 722
-      }
-    ],
-    "encoded_section": "7B901306526801CFB4D0DCB662F3B77BBF1539911000847811E9F14841A70D3129366BC733F39001BDA5621D9D26B5F59BF25279EF7A6A4FC7CA64AFC8F15B42B765D498DACFC4087145C2E8D580B3DCF2F9B3F6E8CF495CE47BD4DF868479F3CA530D0A24B0998A23AF4DCBFE6B6E432FC7EA66491240CE29EDBA2B",
-    "identity_type": "private",
-    "iv": "AD35B9BB2AD04BFFAD8A635D7DCB26F4",
-    "key_seed": "C10655F54E87123FC6B537E38DA1212E290613C97285C4D28BE15593E506919A",
-    "metadata_key": "487166EB4E0DA027A655BD7D5D952894",
-    "section_mic_hmac_key": "23B54AE40FE38715E903223F80F2149346D9D34E2A24414ABD7B3933A4CB4337",
-    "section_salt": "847811E9F14841A70D3129366BC733F3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "95A1E9359B39032DFD81BFBEAFD092F8",
-    "aes_key": "C4A0945C3A1352D1B8D62904D7F9EE9A",
-    "data_elements": [
-      {
-        "contents": "DDB9062EEE56D10231CF606B139CB1E2AB77BE00F7F12B9E85358111",
-        "de_type": 939
-      },
-      {
-        "contents": "344F840369",
-        "de_type": 67
-      },
-      {
-        "contents": "09DF9B7F9F0CA5708F2D2EAA28",
-        "de_type": 807
-      },
-      {
-        "contents": "90025E283882C5255D19FFB273FBF7AE",
-        "de_type": 115
-      },
-      {
-        "contents": "2D268EF42716C19253E88FCC196D731E774E7472F16D5C",
-        "de_type": 541
-      }
-    ],
-    "encoded_section": "9990131968FC75E9DB7C11135F77963495199A911000B2A08BBED54FECC10AC797794F3EC4309002CE86072EC393E15DF60923BFF3977190C76EB76737DA68A858A1A21B956681334E67CAA59B11E0186BE23474A30F87138D238C37608F498F56B70548D984E57959B5AE73731F4F5E20AD34B80909739F891A5E493667E1C6B316F4E0CE6BDE3D397449AD77F1653B1A3E2C43B5ED711387A8",
-    "identity_type": "trusted",
-    "iv": "6B19CF9740AE6EB6EBD37FA0CB3D3902",
-    "key_seed": "F87D44A4D5B28B4BA5D73383B98268E3114BF761756D000E85274BAC3032AE9C",
-    "metadata_key": "17DFA18739929CE57D4B46B0BC5B0E66",
-    "section_mic_hmac_key": "274695928C408DA10D19DC3DB46FA78F29D51CB0DDFE304FC5182C785AA21F4A",
-    "section_salt": "B2A08BBED54FECC10AC797794F3EC430"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0CBE6D655846706C41AA38BA89A49466",
-    "aes_key": "D1217535D1A28CA4A79A5D361D10381A",
-    "data_elements": [
-      {
-        "contents": "715FD19363404B5B4BF8814D7D6F988BE275D43E4C935E",
-        "de_type": 257
-      },
-      {
-        "contents": "5FECCFADB93B95ECC6E8EDE452FA15B0FD1A96A67A9FAE898A15810CC6",
-        "de_type": 255
-      },
-      {
-        "contents": "40BE80BAFB55E63E12B9F5D5F15E7417DE",
-        "de_type": 924
-      },
-      {
-        "contents": "3D878AB8B130EE71B7A74387CA7AF3466AAF2F14",
-        "de_type": 259
-      },
-      {
-        "contents": "1D6A8D083172AE3E8702D0EE72E9E4D287A4D5E38C3A7E1495E401CCE3BF",
-        "de_type": 539
-      }
-    ],
-    "encoded_section": "BD90134CC217C0FBD454E2D3D0949340E43A9D911000EE29E650BBB7FBD251916DF635D491D290040E58986C5A7EAF8ABC13233D237727F371CA25E439F4EC85113F22A1976C74DEBF832FDEF351800FE7F2905DE22D101751999D5B7DE13736E3E77A2F2D07023F8E8FFCD09D1AF91F1688047ABE64023E386EB8883400886CB44B5FE43D6F93CE97A54AA75D277798754B4F1B5F3022095772463B1D354C89E943EBD608C6120B65DA030FFC13F78298E9BBAAFC12B24896A11A8F6F56",
-    "identity_type": "provisioned",
-    "iv": "BBCA152795FB88152D57F449CA9603B1",
-    "key_seed": "6F2DEADD30B4CCA84A011C445661F91CC6FF5786B49AE3F9154CC5841FD56555",
-    "metadata_key": "35D37C707ECA65275536D1236D349205",
-    "section_mic_hmac_key": "D83FE1496B06CD24079B117B21F94EF6603338EA01D295FFE274131046071F58",
-    "section_salt": "EE29E650BBB7FBD251916DF635D491D2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0F459E925172A519DD2828299C75FE2B",
-    "aes_key": "1B1249ED7D76FE4886B6E526C6C9282E",
-    "data_elements": [
-      {
-        "contents": "308DE47A8F42DEB39111A2096C20F7356B9839FE3AABA7",
-        "de_type": 399
-      }
-    ],
-    "encoded_section": "51901322B7BBBF38950918837234007AA875FF911000264878B5796B1E75ADFE1ED50D18D19F9001049CA71F9B829E07EA5B5F30E7C9B2BAEC9D27BC5038EAD21DF880707BFFD71D641B82DAB89CAEFEEE01",
-    "identity_type": "private",
-    "iv": "AF47AAA871EB40799888E96730D541A9",
-    "key_seed": "EF12CF54E077C01AD5E5B289415D4AFFA7F2221BADF1D898E6F18629A0F1D91F",
-    "metadata_key": "77C71712C8591629DADB5FAEC758CDF9",
-    "section_mic_hmac_key": "8EFA1E5AD01997162F01D27CED8DD1A3EE69A32B54C6BDA3E46952F49E418DE0",
-    "section_salt": "264878B5796B1E75ADFE1ED50D18D19F"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3A6690DC2DDD695AA5A9075341B084EC",
-    "aes_key": "34DFB2535A916D318BAB185BF9A35783",
-    "data_elements": [
-      {
-        "contents": "F06FA2",
-        "de_type": 506
-      },
-      {
-        "contents": "D4CB2D400A28",
-        "de_type": 335
-      },
-      {
-        "contents": "6DCEC9E8A721AC77680D2F1662",
-        "de_type": 831
-      },
-      {
-        "contents": "D17C7919F930699E",
-        "de_type": 762
-      }
-    ],
-    "encoded_section": "619013C7CFFF40F84A407D614398DA241E9E4D911000D32C0F73924D558D708BEBB99A3EB0609002E22E4C8ADB99837CC58EC7E97001719A89E37F9B92E37168434E56311EBF0E5EBB3F9EE662EE2DFE006FDF44EE75196FA08CC8CC3D33B6CF236F",
-    "identity_type": "trusted",
-    "iv": "04F8366E46600D1C30CD191211A750DE",
-    "key_seed": "647DB8957DA90BA5FF55CF490C364BAA8C056638C1BD1D3D5F70302C92CD3A2A",
-    "metadata_key": "CD662BBD791D7F8C1E30395AF98E5D04",
-    "section_mic_hmac_key": "1A53E143075E92DE50221DF59303E82CB35533DD879EBFED762B353AFDBA1B5A",
-    "section_salt": "D32C0F73924D558D708BEBB99A3EB060"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6D431878AF6AC725647D2A3932D48049",
-    "aes_key": "05EE18F99215AD48B14552410229A4BF",
-    "data_elements": [],
-    "encoded_section": "37901341A817093CF4C8AAE012B9A9F6B79BB6911000290931A59120D1286A389550AAB835209002C91C9ADD7B5DC4E51AC8DAA513E4A209",
-    "identity_type": "trusted",
-    "iv": "4713233E1B8526CBDF59EBDAF4DF2A9F",
-    "key_seed": "2B25BBCB002C26DEBDAFF430909946F7B022041043BFC5232AFB086B348F1F42",
-    "metadata_key": "35BCFCCEEE33537EEDF1853BF0378767",
-    "section_mic_hmac_key": "0B1B7CEC50A244D8A31571BD3E1CCEDB22981CFE1AF50CA57626C072F9CD14C7",
-    "section_salt": "290931A59120D1286A389550AAB83520"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "07510B91F77CAE102F146FC8BE46C659",
-    "aes_key": "779622B3641D512BDEDF2AE0650BC794",
-    "data_elements": [],
-    "encoded_section": "379013993CC70660FF52F2412FFC739C7453679110000FD5F8913D590B72580DE20C140E88809002190029DE26AE807D727B820A4AF588A4",
-    "identity_type": "trusted",
-    "iv": "91B96C70926C3FB16CE4CAFE91CD827B",
-    "key_seed": "4F81B6AD805AC41891E439D788B1D5C1FD33F97457AA12D6CA697E328584A24A",
-    "metadata_key": "9F62C8E787A9B44783A738A566E1FE23",
-    "section_mic_hmac_key": "87ADAA31C70470F253F408E88D004DBC4B99B7BD22C0159DF93A1C268BB84B45",
-    "section_salt": "0FD5F8913D590B72580DE20C140E8880"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7C1B9BDF63664F7A78C8FF842A3E5BE5",
-    "aes_key": "B14C39586FEC0DA3E623173EDF55E246",
-    "data_elements": [
-      {
-        "contents": "68EB2518D2D2DC509CD7",
-        "de_type": 364
-      },
-      {
-        "contents": "A78A0427BF54D74DC902EC",
-        "de_type": 1000
-      },
-      {
-        "contents": "F234",
-        "de_type": 882
-      },
-      {
-        "contents": "E7",
-        "de_type": 916
-      }
-    ],
-    "encoded_section": "5B90137644015B5C1628811212B508B4EF15829110003826BEB04A106A0C2B31C1EDC4B1A3389002C812F2014CFFBE215C1E0E1B040ABE8141945625C65300B5D2BF5564AF2E364C119C51EDAD83D99F339C21E6DE0F64C6B9F15C2A",
-    "identity_type": "trusted",
-    "iv": "1A7EEEE592C2E95079FCC1C2DB5B3C87",
-    "key_seed": "2F9AD59747B7A30E2D1D22E49F0A80F5FF8BAD5A540E65970CF0A9E9158A9CC3",
-    "metadata_key": "178A25DC5E2BFB2F016763C039CAA9DA",
-    "section_mic_hmac_key": "98B93838BF427995042BF3FEBE6F53DE0BB0A01C400E80E6215E16ED3C8BD32B",
-    "section_salt": "3826BEB04A106A0C2B31C1EDC4B1A338"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "DFBE483FF56C948B67B543FA3C3B6810",
-    "aes_key": "0546270E29B03208CCF711096350B437",
-    "data_elements": [
-      {
-        "contents": "4938A69A3826",
-        "de_type": 976
-      },
-      {
-        "contents": "AD51E90DCE",
-        "de_type": 985
-      },
-      {
-        "contents": "50D528C99515",
-        "de_type": 915
-      }
-    ],
-    "encoded_section": "5190130C8A041604CB78FBD9BA86C48BDA6F5E9110001BF3E6C8ED3648CAAB9137B09117BF8E9001ED1A785EB628A70EBA116E5DB97F8D30605A40CC18B0D7493863758CD712B26F782CB123E25ACD13FBA1",
-    "identity_type": "private",
-    "iv": "8E27D6BD840DF5E03F5D9CF83E10A51F",
-    "key_seed": "BB595D62CC6E3A83C3CEB9FFC054E1EED6F7665F233FFE054DD17F93FB2DCB6A",
-    "metadata_key": "66E246479EF32D514A6203715F97CCA6",
-    "section_mic_hmac_key": "151D73D770876023679FB2AF853C5AC6180690F91A5464A8105025F6E963BF43",
-    "section_salt": "1BF3E6C8ED3648CAAB9137B09117BF8E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "993426DE3C76F95E6AE6EAF16EE882B1",
-    "aes_key": "23FF6D33822767F47C6EA2E7A3659F5A",
-    "data_elements": [
-      {
-        "contents": "9F4B62",
-        "de_type": 40
-      },
-      {
-        "contents": "DD75CCA8B6EE91CA96B0F660DA7AEA0C787B6E4DD0BB8C0D68BF63",
-        "de_type": 250
-      }
-    ],
-    "encoded_section": "5A901310EAAF5CC6F82AED3F7018345C326FED91100094461B35D320D920CFE92855684DC0889002752E76A47C2FFDC9C86586181F3AD4DEF62B1F4AD8AB6FD7832F108CA27D96405ED31670CE51A9582C2005E275A97EF3936F6E",
-    "identity_type": "trusted",
-    "iv": "908A568A36D18A8151DB2E23FEA891A6",
-    "key_seed": "891B77B866BC1361E8A953BF5776A9AEB8CE7AA8B34C48D0FD44EAE0C08137F0",
-    "metadata_key": "F7CE950ABACD4CC08649F5D72141AFAE",
-    "section_mic_hmac_key": "D948570C35BBC468884A3C9BF04ADB86D30132BAE6F39F4C6F6E4060D788AF43",
-    "section_salt": "94461B35D320D920CFE92855684DC088"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7EA92251924B66DF513A5012A6C6D568",
-    "aes_key": "7AF5D9EB8C289F13007A8024AA3E0954",
-    "data_elements": [
-      {
-        "contents": "1D5E12A67C6225BD455705E9C6D5AB253A",
-        "de_type": 56
-      }
-    ],
-    "encoded_section": "4A90130C02BBD5A0B4584C65E3B7D88A9EC7CA911000DD5511FCD7D808F50FF0080A6A41B3F99002965B9AA07C06770BDB145D5CC2C5D535D99E30DFD043BD92E9A89D29A0699B5F09A200",
-    "identity_type": "trusted",
-    "iv": "3A2CB91A70F515B1F1B9290FB1F0809E",
-    "key_seed": "25B553E985E762AA9F3B03F4B89BAC1FD0A3E9F7F9CCF586FF47F3F1E83DAD34",
-    "metadata_key": "980DE36843A6418160C53B68085FDBF7",
-    "section_mic_hmac_key": "D674880D748C81B5C248BF6EC8608323A5EE2F6E916E5AD2C24823C569492A0E",
-    "section_salt": "DD5511FCD7D808F50FF0080A6A41B3F9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E84BF8A1E7FBDA1FCAB241D541A4B647",
-    "aes_key": "5B21560F602267F7E7DB688C69B10A5E",
-    "data_elements": [
-      {
-        "contents": "BBD418E93E17C83B5AF5E67F2203094C",
-        "de_type": 667
-      },
-      {
-        "contents": "009A5DA2492D6E5DD01DED55B7A9BE695A",
-        "de_type": 849
-      },
-      {
-        "contents": "FB321D91",
-        "de_type": 529
-      },
-      {
-        "contents": "6D1B46C2935B79287C75EB347FEE52DD196F03B98188DFF4",
-        "de_type": 971
-      },
-      {
-        "contents": "D9299E84D9B7E84D3682BA",
-        "de_type": 68
-      }
-    ],
-    "encoded_section": "8D9013F0B3089838810E7704B15BD78D08A685911000295591FB4D665C4B3388BFAAF769AFD09004E208729A8980B56196049A6C2B389E7EEFDC1842D4B0738B62C6C9E4A00D7C998A329B13A54F7741EFD8C22B34E996ECAB49B5B3D8A549EFA1EFBABCC4B90C45D434DDDA3C0A19D2BFEAEEF1103BC0D5925BC692A04C1E7A7BF76EE82785D75507448921F48F",
-    "identity_type": "provisioned",
-    "iv": "960F4158B1AEBCA6DB066F0B48984889",
-    "key_seed": "9BA51AB24D27BEF6575942CBE58DE2795F2D6A9C67EBBA56F938C23C15531A48",
-    "metadata_key": "A174838932FD40B5E30FCCA95BC31E0F",
-    "section_mic_hmac_key": "2680C01C16E0EFEEE4C602D9AAAB80FE3B83D8F85A2CE1D52EBCC2C0A48DAB09",
-    "section_salt": "295591FB4D665C4B3388BFAAF769AFD0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0D89ECCEEE97F4AE796752548C4477B0",
-    "aes_key": "CB51E81286DECD8DABC11341AAF565E5",
-    "data_elements": [
-      {
-        "contents": "7B3636268051172202DBCB2BEF58FFB325",
-        "de_type": 125
-      },
-      {
-        "contents": "6BE1759110F2DE04CA9F033B49E2E5ADCEE66BC5",
-        "de_type": 383
-      }
-    ],
-    "encoded_section": "619013C9EBFF7BA86B7D87A821163495CD75AF91100063ECCD115CEE939180370ABB6AADB8E09004B8E73E111A704D49A74051C8D5A88261C3BBC9C79500E9F54203007442BB22C0C23AE735D4B462D85A6B31E0A77015E386C713DEFCC331C87688",
-    "identity_type": "provisioned",
-    "iv": "40553B60D6076492812FE60B01CA6804",
-    "key_seed": "26CB810DCB795E439A93DEEE6BB911B1F636B556FD8C53F23459F6302275C7C8",
-    "metadata_key": "8832629DC35BBB214C9B90ED4AC52608",
-    "section_mic_hmac_key": "107F6753902D9632AD49A70B0F9872D374E15B4FC9ACD9A4DD077550E73787C0",
-    "section_salt": "63ECCD115CEE939180370ABB6AADB8E0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8980475911C04D64CB9BBBE789A8ED79",
-    "aes_key": "8F48B997309C0264316824863B46A5E5",
-    "data_elements": [
-      {
-        "contents": "",
-        "de_type": 955
-      },
-      {
-        "contents": "85F677EB8010B1E049BBE2750E744709740338",
-        "de_type": 849
-      },
-      {
-        "contents": "545399ECE6558120CAC6843E616D2A66C625B46CAF51",
-        "de_type": 175
-      }
-    ],
-    "encoded_section": "699013F558FE32291733B23028F005263532F19110003532D026D9F6B2293231174EF173744390028FBEF73FC61522088993E06CCEB4BBDEA63ACA01E37D68A8241A8BD29CE0C58A17D7C278B9AB5D1BCE16FBD9489B8BFC30AFA25A2042DB00F97BB0DF285544B6D66D",
-    "identity_type": "trusted",
-    "iv": "29D344C509673521133F5850EA86AF2E",
-    "key_seed": "F2EA3582730BDFE282331B42AE97121E21BDF182DBD69B91727A205BAA579037",
-    "metadata_key": "99E2FF341D58AB75D0127FDD2D425200",
-    "section_mic_hmac_key": "881AAE5C6151C026780977F62A81903441024E55B9F186791CC3E38B63AB6056",
-    "section_salt": "3532D026D9F6B2293231174EF1737443"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "3D35695472AF0B0EABB5D2C51648E491",
-    "aes_key": "FA32718DEE6BCF406BBF3ED62D576156",
-    "data_elements": [
-      {
-        "contents": "8CEEA14D",
-        "de_type": 890
-      }
-    ],
-    "encoded_section": "3E9013BEA8415E76EB477D7CC18D98804303C19110001EE74524224EF14F78BFFFECEE148AD8900257A6CAABEBAE9381D8760C36858DACC5C915E94E62BB4C",
-    "identity_type": "trusted",
-    "iv": "C4E5EB3B1C38A64D16F6D998AEEA72ED",
-    "key_seed": "5F46CCC0833C98CC451ADD9220D928E9CE89E58D26DC1A0A2E33764B39B9F870",
-    "metadata_key": "2D5B9A4F7AFD2191247BBA150037597C",
-    "section_mic_hmac_key": "7730037D7F614061B40B893A02995EB25A63E4EC8AAC72DD8B8CEF2B461F3BC5",
-    "section_salt": "1EE74524224EF14F78BFFFECEE148AD8"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A5ECCE03A7C2509BAA2AB1D6BE71E928",
-    "aes_key": "0B587FBC29C6D813154219CCE15116F5",
-    "data_elements": [
-      {
-        "contents": "DF191813F52A",
-        "de_type": 647
-      },
-      {
-        "contents": "725563C23F3804C841FDE67E6E51461F0F2DC9F840",
-        "de_type": 899
-      },
-      {
-        "contents": "1B5D86F0D9C956574F6A3A27C2044B10AB81A255377D7D8AA9",
-        "de_type": 364
-      },
-      {
-        "contents": "D63DA88FC2DBD10C8A92B0",
-        "de_type": 256
-      }
-    ],
-    "encoded_section": "829013AD8991F88073B5CA5DAFB2FE708649929110006B0F8560F8FFD0C6E71A028CDDE232F390010E56B36364E1D87122920F29C303A359319472A2B83A3FB385359CFF3F51E2C87F1ECD965F036D359DC840E1B104E530C8F35B796C2E72447468E7219900C8484FAC302632DA4A8F447CE411CAFFFACF26066F40CB9BBA739C8A36",
-    "identity_type": "private",
-    "iv": "00429B2681196B02A26C1C02684BB3ED",
-    "key_seed": "78060E15116E06B5825588FB3C02A33BF1FA963E58CE8DA6C99E7C70137FA362",
-    "metadata_key": "0ABCAA033AE39B19FB9D30501F5819B8",
-    "section_mic_hmac_key": "09CA0501CD4C4E1C040C4BC108ABB945485B06655D749FB7793D11139657FC89",
-    "section_salt": "6B0F8560F8FFD0C6E71A028CDDE232F3"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B60D3EADB0A155E05F9BBE78238857EA",
-    "aes_key": "6FEEE0BCCBDB7BC1D3082DDE80DCF582",
-    "data_elements": [
-      {
-        "contents": "AAD964BBFDF41816E109E9A6A9C2B9FFEB5B08C45E2039",
-        "de_type": 271
-      },
-      {
-        "contents": "27F1E36F467A1DF69F379F26AF8C26652BF1189B33D2860620AD",
-        "de_type": 724
-      },
-      {
-        "contents": "D77DB60BA95D50366DAF4E0B23",
-        "de_type": 329
-      },
-      {
-        "contents": "C1C4B4CAA02C898493DDF5B8C0159C199A3AC2E3A50C",
-        "de_type": 528
-      }
-    ],
-    "encoded_section": "9790131AEB7D53743A85CDDA3D06FD34E5D30B911000F3F0F371BA25F95A5604E8812C8E2D819001A09AB5DA90086A8CFB40E9C57E544CD80CE73710CB80D8A4AF0B284883866397C4E741F4F16EDC191CBEA93E8F9C8C94AD22DD699741F68704B6CEE74C61CC59B07FA970378357BE11F4DAAB1157C045AACCF979342D934D5A7154574C5FAC9C522D0F8228BAF6F82D5AB851CEADED82",
-    "identity_type": "private",
-    "iv": "411A5DB92AEFACD6A6B37B000586D0AC",
-    "key_seed": "A04AD3E70302B99AEF07906B2B762047B970EF8A200D1ED6CBD28476BD85A331",
-    "metadata_key": "A023B5E00CA83ADAA212B1D64A5D06A1",
-    "section_mic_hmac_key": "3C1DEF68478B281B581A8747F7D8A5B2ADF5FB49A495EF554110685F2B7DC5D2",
-    "section_salt": "F3F0F371BA25F95A5604E8812C8E2D81"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5661C7B50F7399E237F33E4766620EF6",
-    "aes_key": "386BA145F32F66CDAF5F1216248C4FBE",
-    "data_elements": [
-      {
-        "contents": "12C2775438394CAC486D9352543D4F28970AB925AE",
-        "de_type": 708
-      },
-      {
-        "contents": "08FD1092CCC12B09D300519B0CDC6401DD",
-        "de_type": 706
-      },
-      {
-        "contents": "618B6E2DF482703D2CE2C8DAF386B929F8DABEB0CB7B203EA0",
-        "de_type": 395
-      },
-      {
-        "contents": "84DA0F232629",
-        "de_type": 95
-      },
-      {
-        "contents": "D8EFB0C07BB7F632E268EAEECBFD5580EC1A5B0EF432C03DD861A5",
-        "de_type": 570
-      }
-    ],
-    "encoded_section": "A5901317309D406C29FEF9E2B0625DF0610CFC9110000B472B8FBFFC54950637585AFA22D5509004FF43D777C9F0350F5CC37D073CCE92BF1304DA2FA06451DA01A1E1741040FCF892BE87A46E3599ED878980B2618C7877DFD0CF1D805062677CE60BF8EF94376E283B17D6BFD2B3E47A14B183E0A8DA63E193F90FA0C5B3A5CF88274725414FDE243394B596BD72CFF6764A983AC46FFF3E66EE489B2C480F63AE1D2A6672",
-    "identity_type": "provisioned",
-    "iv": "BC345684E602976E5451D5F182330582",
-    "key_seed": "8FB21F7DA6D21B3C74FA79DA8B1D2C1C9F08C6D5D92A788EBFBE686CDA2363F7",
-    "metadata_key": "BD24EEB64110C56897A7526D714C1B9D",
-    "section_mic_hmac_key": "966F0302B8CB8BA4C588CC61A8C613212E5AB8AA530C3FDE9956F4675D188453",
-    "section_salt": "0B472B8FBFFC54950637585AFA22D550"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "E8AC69F87CD8D8E7AC003EB05319318C",
-    "aes_key": "4762F0AF4F9DBE629D3FA4E7F5EF69ED",
-    "data_elements": [
-      {
-        "contents": "584B9E443F799CF5A237ED1A90BC64A5347D4CF5B6F6",
-        "de_type": 700
-      }
-    ],
-    "encoded_section": "5090133125A01F41198B89512B2E6789D97CBC9110009DEEFC57FD2CC2691604CDB0037C5ADA90011ED9AEBD11CDF10F03FA38E223D5EEB742C6A1FE96FCA9D8E574B3AFC3B23E9009B06F25DE8FA9149C",
-    "identity_type": "private",
-    "iv": "9E710005012C74225422BD12E64463A3",
-    "key_seed": "9E86D7D3AA5528D0D529681C941AEC12D605868B4D8504402A0E871AF45C0E72",
-    "metadata_key": "68DC6B506A83F52A9376958D6528B4AD",
-    "section_mic_hmac_key": "877EE9AAB694D7C9CFE7A28C7EFC208047CD35B6F802E0A4804C4ADB877037E8",
-    "section_salt": "9DEEFC57FD2CC2691604CDB0037C5ADA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "661FCB47FA67B5328E1C07086CF91032",
-    "aes_key": "4A67204896566D0EA552408DEFE37A2B",
-    "data_elements": [
-      {
-        "contents": "C6DEE49C7944A768E00242ECD44129EAD078153F7F5128B3",
-        "de_type": 825
-      },
-      {
-        "contents": "7951",
-        "de_type": 998
-      },
-      {
-        "contents": "8779555409E658B45F916687961397D88E2484D4",
-        "de_type": 21
-      },
-      {
-        "contents": "",
-        "de_type": 289
-      },
-      {
-        "contents": "77246DD4865D6982E24BA67FAAF627E5BE8370FF91ED97F2EA97DF",
-        "de_type": 75
-      }
-    ],
-    "encoded_section": "8D9013DEECEA5F0980DFE5FF791C6B9D245BA3911000995E99F9B9E2BDD3036ED14D6904D6B19004056DB3CDC392922A66EE7CB5AB5966BC3C8970EC5DDEA9A88237BC7BBBCFB6F30FD944F7820BD45CF5D63334BD3A5F392CAAC8BFC8460F60C17CEC1CE0D56839FCC1F9D412E47BB2E7B4D1C49908ABEBE1DD7BFE99D4F1C09116B47DB746E5D67A015B46908A",
-    "identity_type": "provisioned",
-    "iv": "A37E4E6E61BEF6E55B309AE5C746F5AC",
-    "key_seed": "FA6D33246E99E41066ACFD0381D778B908A0E298D510508C8238161EB9FB57C9",
-    "metadata_key": "A9E99B3DB7BC2DC0861959FA9EABA87F",
-    "section_mic_hmac_key": "532A8F76A3BBE0711005A126C8A63A59A76702A80372D6AA08301BBEA5878019",
-    "section_salt": "995E99F9B9E2BDD3036ED14D6904D6B1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "6C1F3486166215C3D44981140FA00E7E",
-    "aes_key": "03D881B6A9D22AE7E5393547A0AF68BD",
-    "data_elements": [
-      {
-        "contents": "93C31033E2",
-        "de_type": 236
-      },
-      {
-        "contents": "8516881D4AE2302077E4226597AE397845E301EDC63AF3DBBF254F3D84",
-        "de_type": 350
-      }
-    ],
-    "encoded_section": "5F9013BF2225F68FCF6A2A9CF8F08DC7BDE6559110005A42B78DFE6ECD8495FD94FFC5218D9B90041E49AC53C6D6FB0CD1B59CE9AA0FC8B5E584EF2AC261B30354675A04BA9CDD34C665732CA32F8BF64CA7A9E44A8D1BA0EADE42A4C2C7CCE9",
-    "identity_type": "provisioned",
-    "iv": "738D2E87250EBA0133B45061C943FD51",
-    "key_seed": "8A91F91C0C7164722766182BEFE0C7676AE00DEF732D440FAC83E1C046BE96F8",
-    "metadata_key": "C373EBB8A7AE60D0845F6D3E3DB0F466",
-    "section_mic_hmac_key": "A67E1FCB4BE3644D1F8B613607C1AA671F9271C33E463569600D799F07B6D557",
-    "section_salt": "5A42B78DFE6ECD8495FD94FFC5218D9B"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A4F5D9BA01D3BE606F216EBAD7775C60",
-    "aes_key": "A9ED3079B7139B65069F9D03015280B3",
-    "data_elements": [],
-    "encoded_section": "3790130E4539939983645FFCD1D23BA41A0C7B911000EC62B07DEFAAD4E56591479BEFBE6224900422DC0DE0453B7C022EA9CA53AE356878",
-    "identity_type": "provisioned",
-    "iv": "4E934E8CD83DF483CA10D638290AA616",
-    "key_seed": "44C2B3506DCEB5A58E373F469167188F4F806E5543358C29CF8A3BCEC1DD5722",
-    "metadata_key": "D2B68CCA820BEEBBD9F539D605DF3DCA",
-    "section_mic_hmac_key": "8D76FBB29C7430E47F34C044AFFFEB3F3BDFFD257B8DD69AA4F5C3FBC9E8A923",
-    "section_salt": "EC62B07DEFAAD4E56591479BEFBE6224"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5F6FB995D7CC9770A1045F3A9F40CA81",
-    "aes_key": "242F9B8083541ED747A8BBDFCA8ECDA9",
-    "data_elements": [
-      {
-        "contents": "0F12B68A338AAFA90DE62513B994AB5F8F1494C7079FFDF1",
-        "de_type": 233
-      }
-    ],
-    "encoded_section": "529013E54379FA3C4A05471414BB4A36EBAB09911000145B207075C013CA154C2913861B1AA09002ABC9352B5B4386BFC54CDF208613E44078F3A071B32DD27ED6033ACC3FA4C1FD4F207FF131DC16D300F123",
-    "identity_type": "trusted",
-    "iv": "F98E66FF52AB84CFA560C55213C7F797",
-    "key_seed": "E36464273854858918F264C2C20998686BBC15865B7800265D4CA044BCEDAFA4",
-    "metadata_key": "64DE8C2420A8C35F2790555177AD2FB5",
-    "section_mic_hmac_key": "2B5B7C883EDE52F3F0CDBB631C818C4F979DF1A577716C1F2DC06F5F187B66BD",
-    "section_salt": "145B207075C013CA154C2913861B1AA0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F87B918636F2CCA6489523D683C7794A",
-    "aes_key": "42C6CC3C0F38EF9F9F90D66FCE0E7F2A",
-    "data_elements": [
-      {
-        "contents": "CA17436867B321AB43AEDC6B17B5F7E2B70F",
-        "de_type": 287
-      },
-      {
-        "contents": "3F3980E7C64BEDC344F09E8A38EC428699F46B4730",
-        "de_type": 1000
-      },
-      {
-        "contents": "425DE4D96BE2CC3BC3157FDA90E79329D55A475866",
-        "de_type": 960
-      }
-    ],
-    "encoded_section": "7C901313F5E405835EFB18227A9A724CBDF2CB911000C071FB4FBFAD007203E02441A50CF9E7900408F48FC18E9E5AB227158F46527D2DF1E3E8B5860EF2B8D15F4267B131735E0E883A0EE7F9702CB3BB73EEB51FCC3086D903053EE88C2B19D0DA3D7854ACB4DF69317530486D18ED42617F74FD5820C7A1B33229E7",
-    "identity_type": "provisioned",
-    "iv": "EF3F84E7847D4B31B3FF9B5B0428550D",
-    "key_seed": "F486B9021DA5ED704CFDBD9825F6D70A5906482EDEABF0226FB45DD75FB969A8",
-    "metadata_key": "C5D3486E302957ADD4338FEFBE46B3D6",
-    "section_mic_hmac_key": "96D349AEC4ADB8D9510E3A3093A0C782CF8EA7B6FCF1CC8ED7B5EE269DB1948C",
-    "section_salt": "C071FB4FBFAD007203E02441A50CF9E7"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "A7711441846DEA01B5B115B07EE0E586",
-    "aes_key": "DF79F55B1148D2412CE4907F5017A956",
-    "data_elements": [],
-    "encoded_section": "37901336311674D31A1B1ABCA412E87C7206BF91100000E2924EE1771AC6B83C73EE8A6EF9C690013F081118E055F4F4DAA14FBC14EC82BA",
-    "identity_type": "private",
-    "iv": "18A45DB774486000FB318F4D68FC75DD",
-    "key_seed": "02F2C8B3CDA9BC0D8B46B5ABFF653966E444DB5F5A2471474CFB15D5F8D0FE64",
-    "metadata_key": "23BDAA88D6A6ABEB5C52575E903B68DE",
-    "section_mic_hmac_key": "55730CBE224F5744D3ABC9666FAFAE3075A3AB1BA891CA8D050E32BB644A4479",
-    "section_salt": "00E2924EE1771AC6B83C73EE8A6EF9C6"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "77A40860E9F2D85C18352FE4DA31AE6E",
-    "aes_key": "F7EB2CE11EE2C72B3E98A799AE37B71D",
-    "data_elements": [
-      {
-        "contents": "60ABBA2292C2",
-        "de_type": 249
-      },
-      {
-        "contents": "A4870338A81FFC6CEAE2C7",
-        "de_type": 779
-      },
-      {
-        "contents": "B63A10F37A861B79084AA7C6F0C79BE8DBE1B308C7A01C0ABC2A",
-        "de_type": 711
-      },
-      {
-        "contents": "640CDFF15C509989A5BFA77595B5CE348F4E31F6FD34027B08",
-        "de_type": 410
-      }
-    ],
-    "encoded_section": "8790133735FEFE7C6C40C0AE2247E7E636393191100025B25F70B4E9701CD2E3D445FBAE117890018D0D255253A4086BE0770494720E0660480571F5F2218A4DAC55FB99D9D18AC77ECD3E4D6C73B27443D8FD663193029BDA29F6394E6F93DB00C33C8F4FF3CC95AD718972008088394F42C6E7A13B8C1374D4F666D6B8179B1AFAAF9BB23E80A4",
-    "identity_type": "private",
-    "iv": "7A1B11E2E1BBFC21137D5DB6812BECF8",
-    "key_seed": "71564841B0C867D87B9EDCB4BD520E0697AF8F85E3782D3430B8BC37DD23B43D",
-    "metadata_key": "3A3DCC0C22746DF5545BDD3BA1684B67",
-    "section_mic_hmac_key": "5CC0B01B3F01D3099CBF99A7D3F71F0A91E6FDB26818353271F1B455763BCBAD",
-    "section_salt": "25B25F70B4E9701CD2E3D445FBAE1178"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "4F1859CAFEFC8C2B5658B634D7678C20",
-    "aes_key": "CFCE78B7C4624ADD1507D3D9A63EF82F",
-    "data_elements": [
-      {
-        "contents": "DE41EA88487B4999D93602",
-        "de_type": 499
-      },
-      {
-        "contents": "48C8543DF38BB0CB7A4B439160",
-        "de_type": 22
-      },
-      {
-        "contents": "35210282",
-        "de_type": 730
-      },
-      {
-        "contents": "75BD",
-        "de_type": 338
-      },
-      {
-        "contents": "92668CFD5C1B",
-        "de_type": 956
-      }
-    ],
-    "encoded_section": "69901392227E7E09CD7396BFBD624A49AABC7E9110000DB9529357BB517E42EDFDC2FE4DC8B090013B4FEF7464D942431636A3E5860668B2FED6C3283B785E83A3BC45B1512C66F382BF7AD7868A9CAB33ABB4D335035B21D1E4396C945F1B8066E8568CC40BCE5D9A5C",
-    "identity_type": "private",
-    "iv": "2259C71FC8CDC81D9403EF089F159308",
-    "key_seed": "7C22FDE6E42BEF50DB73033774ADC18BAF2A3C0A53CA30D36ACFC5582EB25100",
-    "metadata_key": "DB170CBF39A5D48D3F6B0D40140A4257",
-    "section_mic_hmac_key": "35235B50A5E921ABEFF4BF621956CA22F581D42BB3325A39C8C2D102F75D333E",
-    "section_salt": "0DB9529357BB517E42EDFDC2FE4DC8B0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "0985A4C1FC767EF248AFAA00E0ED2E47",
-    "aes_key": "0CE73306D8D0AB56045815F2AD20B25A",
-    "data_elements": [
-      {
-        "contents": "D3D3905C6BEA12C7123B74AB40858D04",
-        "de_type": 792
-      },
-      {
-        "contents": "713F3EB42E57458D4038D809B35106DFF259EA4C4F1F17819E96",
-        "de_type": 720
-      }
-    ],
-    "encoded_section": "6790130FC5A44C70B4AD43316DD6D38C4A4845911000026C2E6E34CC1156B5E7EE8221D4A7F290043DD0DB3E9C9BF801CB74473C77DDE2D6329F38BFBD336FE971057F3D2C8C8EF610AFCBF1A5D8C24EFDA93762195F1A863CDC617CB8D317746EA52A7BB0961F3F",
-    "identity_type": "provisioned",
-    "iv": "D732D335C908BBF51DFFC3F80FBC75C7",
-    "key_seed": "F72828A9E550CCB3EE653BEA22E097839072D8D60280AFC2FBE2435D5095979F",
-    "metadata_key": "ADC1B18C69F7FD30DAC6EC2696F70EAE",
-    "section_mic_hmac_key": "0F64E025E91492D0AC4434D844FF48CD98C61BCD3E25F9CCC8E1333A81D27A9D",
-    "section_salt": "026C2E6E34CC1156B5E7EE8221D4A7F2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F753952E84F321276818619F5E2DB7A5",
-    "aes_key": "BA5479576FEC84060B7986F71751215E",
-    "data_elements": [
-      {
-        "contents": "174BFD",
-        "de_type": 274
-      },
-      {
-        "contents": "99B7C0C5CE238C6F963A4722865CFACADBBA8B95B18C70AD4267727F81",
-        "de_type": 212
-      },
-      {
-        "contents": "2EF69250213CDA930A85A93BA85F087B9780",
-        "de_type": 81
-      },
-      {
-        "contents": "87",
-        "de_type": 13
-      }
-    ],
-    "encoded_section": "739013700384F06906581AC9BCFBCBC2AD496491100096C7B1C5DEFCAFC64251AC87CDCEFCED9001D2B0215328C8DB53DECBDB25F97DBA53A67D02E1DC1F83D6E91AC7B2CF8DCCA4277ED359F6838431E078A50199B4310AEA200307AB216B82348B0024206A6D0A3C79E89CBD254D8426E7BEC1",
-    "identity_type": "private",
-    "iv": "FFA79DBF3BA0EBDE530A72A2D8018930",
-    "key_seed": "132DDE0DAAAC4F4A03CF1CB2B8F4A8FE41327C212AC3CE1B1C854EFA2EE3060B",
-    "metadata_key": "E61C0407C95D18D5DA193C062801B3F2",
-    "section_mic_hmac_key": "65CF0A0155EEC7EAABA2C02875F773696CECBDC64FB57E0BB9B7884B174EAF42",
-    "section_salt": "96C7B1C5DEFCAFC64251AC87CDCEFCED"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "7C6A90B2F9FAC1C86AEFF121052D076C",
-    "aes_key": "E73FDA1B40CF93E9561E963B728E2D8B",
-    "data_elements": [
-      {
-        "contents": "B4F512F3B1639C980A124C94E365",
-        "de_type": 848
-      }
-    ],
-    "encoded_section": "489013E7D5DEA0D3B68FCB72D18D623072BDE991100089D76603BB207098A3E6631BFBEF7C329004FB1B665EBA76ACCCE96C07AD83F4BC53948171B9D2DD42122AAAEBF0827973918D",
-    "identity_type": "provisioned",
-    "iv": "7B8C0BE7E83DFE973D0817AEB6CB6F63",
-    "key_seed": "67E08A4FC51867E3A0F57543149D05A2B1DD58C2B77B39F5F4EC5B707007E46A",
-    "metadata_key": "AF5A1254567F43ED18CCC0C024010B4B",
-    "section_mic_hmac_key": "8914563971948EA279A2189CDC04749B53E5DA3429FDA1C6F161E96465A76413",
-    "section_salt": "89D76603BB207098A3E6631BFBEF7C32"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "FB3EAE2C571C503CED9B656B14BFD0B8",
-    "aes_key": "30A2ECDA5B5CADF19936D88CD6078144",
-    "data_elements": [
-      {
-        "contents": "908D4CC782C9EC6222B92FEF8662DF086B",
-        "de_type": 816
-      },
-      {
-        "contents": "2E23352D",
-        "de_type": 290
-      }
-    ],
-    "encoded_section": "5290131C34CA643645201E9143E49FEFFBC4C29110000290E81B48B49A315AF4EB0A583B626E9004D8209185C733910032E4252CF793BAD9F4F50FEFC22E595EF0FABD10B50361B7AEF6780F22A2AB9E82D359",
-    "identity_type": "provisioned",
-    "iv": "83D6520D6383658D1BCEE9223496A13B",
-    "key_seed": "C33B862F2494CC516A5CB13A5B8F8905E854AD720F4AEB3C2A0788B194920AC5",
-    "metadata_key": "1170B8A823A46A9F89D03AB849A8B6C7",
-    "section_mic_hmac_key": "618F13964E241E73FE3D19F653606FD22DC35E8B402BBE581766F12918B2C749",
-    "section_salt": "0290E81B48B49A315AF4EB0A583B626E"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "8CD348B153FFFF829FF59CE087B45052",
-    "aes_key": "0BA7C51985112928B9DC28E7F65425F1",
-    "data_elements": [
-      {
-        "contents": "5749",
-        "de_type": 817
-      },
-      {
-        "contents": "F5B9E550C46360EC4810134DAA69B4775E96F03AE0",
-        "de_type": 10
-      },
-      {
-        "contents": "C213FC8E1F6F5335E8",
-        "de_type": 937
-      }
-    ],
-    "encoded_section": "5F9013088BC9173D4977CA45D6A1C619348876911000C5D9A37193D9E39A5EDB0F67163977C49001D8FEA804E8BC4013FD7B414D7FEF6ECE162DB0B42893FFBC581ED0B3A3AEABD9530827277802B92E4C2C55F628405E6EA653E237A672ADB1",
-    "identity_type": "private",
-    "iv": "A135C384B47C184EC4482051FF8C2E31",
-    "key_seed": "07B091E071F437A31B8703BBC3936997184E61121AD4F7EB5F492E3DF8DCEA53",
-    "metadata_key": "01A9B84A7827975243E7B3B2003D084A",
-    "section_mic_hmac_key": "77B8E093C3E828051F2B2518EDEA3011F482628A8ADA7746887F96E340F412AE",
-    "section_salt": "C5D9A37193D9E39A5EDB0F67163977C4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "B40F18FA69C0FC048DFB0AAA5B0AF0BF",
-    "aes_key": "3709DF5F4E0A2AAE14602A75EF722DC2",
-    "data_elements": [
-      {
-        "contents": "B753D510831709EA0C3D738C6033D01A271601AD5978633E9D",
-        "de_type": 48
-      },
-      {
-        "contents": "8367AFEE3BBC94F736A29A7E2714845B5360021AD4FC68FE97E0DF36",
-        "de_type": 263
-      },
-      {
-        "contents": "05D52FCEF6F06D00BF235214C2207E8FB73E3574515D1325A0F8",
-        "de_type": 595
-      },
-      {
-        "contents": "4958A61B59ECC3D66E",
-        "de_type": 573
-      },
-      {
-        "contents": "C4E5F7EA67D7A3F95CF318762C89",
-        "de_type": 276
-      }
-    ],
-    "encoded_section": "AB901366A1922F253CFA26D8D248EC4A83156A911000664460D3622578B621D4F753C362904090041092245FE1A57603009BC851D8758A0C7BAEC65F18C94BEE0C0CF6B209BF24B4EC66421EADC280BF1E943750125723D6D59E2B4E0325F9D439BEC4C630B1BC28613DD0F07C2BCDEE6F0A87E8C503B0A4DB22EA76CCA4D86815FA48A96D034570E6CC5FD1E888AE0435D5B784012AA6F0B2E32A10FEC8E2365DBE2A379355E3D65553E2BB",
-    "identity_type": "provisioned",
-    "iv": "6F4B43F8D4FABA78459CD81AA33BE4CC",
-    "key_seed": "BACC0678BD1412CE8F69457D531543891E60D6D28FEA990794BFB40D21AA0949",
-    "metadata_key": "884C8032F452425CDD66B638C8FB39F6",
-    "section_mic_hmac_key": "3CEDAF60E90EA68B0E4B4FE3D631A93C699417513FCEC675EB4B0F685EC4BAD8",
-    "section_salt": "664460D3622578B621D4F753C3629040"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "83E1288467CC4B24710B345A19B062D5",
-    "aes_key": "3872F4A171D57E391B108FC34280941E",
-    "data_elements": [
-      {
-        "contents": "FE41644BF9217FC149AE426A3A110D8684EB",
-        "de_type": 837
-      },
-      {
-        "contents": "CEA178B6B05E1B76FAB7B6C490BC2EAC7704BFD6",
-        "de_type": 284
-      },
-      {
-        "contents": "BF",
-        "de_type": 363
-      },
-      {
-        "contents": "A08F2A4028CEAD4E909837",
-        "de_type": 141
-      },
-      {
-        "contents": "DD907152A5",
-        "de_type": 296
-      }
-    ],
-    "encoded_section": "7D90135402E36E007ECD6B8F063C2AF686CEC59110006EC04E6CB0B5DCBCCA90417478CA71FA90010CE62BF979B4123E409ACD9785748E8A30110CD82591D58B1090BCAE8031E1EBCB0B50B914F9C3A616D670ADBBEACF2DA6D5A9E7903EA5A285EAB9FC52D80D54B98576FDEDA10E108BBCE4A44725D5D11AB69EDB3A11",
-    "identity_type": "private",
-    "iv": "948B1C0AEFF273FA05E61AB83A67B1E7",
-    "key_seed": "948CFB8CE79FE0285B4F35335C83A9C12BE88049A60CDDA8A54F03EC5E8B188D",
-    "metadata_key": "14FB446FDF7BC2DB3BB63D91B78835ED",
-    "section_mic_hmac_key": "A50B781DE993B3D37EEED3B5957AF0A16DE356C4E5EA6206E010B8542B8180B8",
-    "section_salt": "6EC04E6CB0B5DCBCCA90417478CA71FA"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "F7FA2B1220E713D37D5D4219E841D866",
-    "aes_key": "6C09B48D2E9252886CB8476628E49EA6",
-    "data_elements": [
-      {
-        "contents": "FE93A34B0B728ECB4A1A23B7",
-        "de_type": 938
-      }
-    ],
-    "encoded_section": "469013713B65A9B2834CC302E660F1516FDC529110004BAED26B52E7D85BAD585AACA26600A990012172B89B62912AE533F371A8CE4F587B90B48A534F119A5F6CB20BDD6FCD32",
-    "identity_type": "private",
-    "iv": "A6AD44BD75DDB36D3E11CA72047ED68C",
-    "key_seed": "47690302DC37FEBF9C4D5CC6453DCEFC40DBB204E5A7A81D0B30E74247BCDA80",
-    "metadata_key": "C114855EDA0E56FA324577137E531FEC",
-    "section_mic_hmac_key": "B4904367A2141DBFE77167BAC1FE7D508DC07B7496B26448682FD7FF3215B8AB",
-    "section_salt": "4BAED26B52E7D85BAD585AACA26600A9"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "397B5F51522DFEA7E1B243BC5D947FDA",
-    "aes_key": "7BF127F44E510A7B407A4C35B82172B8",
-    "data_elements": [
-      {
-        "contents": "9E3AD15489CC97EFA791DBD20D6D59F1D9A1D055F080076C9E0849",
-        "de_type": 313
-      },
-      {
-        "contents": "0F8046",
-        "de_type": 262
-      },
-      {
-        "contents": "3A76F640ADDA98B2009266BAEC469C8F33D2991D9AE4F48D13E5",
-        "de_type": 693
-      },
-      {
-        "contents": "B98E5D7725F819C7860151C7C6E0B6",
-        "de_type": 970
-      },
-      {
-        "contents": "8E497812B532C1731A1E42BB0D",
-        "de_type": 131
-      }
-    ],
-    "encoded_section": "9A9013623FFEC846FA4EC80AEEE5874F724150911000E4DCFCC4EE61C6352DF5285906A7ACA19002CE3757CF407DBA7A4AC984C7CE89DC1E5E88F6B6DE50085A04894DD3DDB94DBACD840C7744A81D9273C6D6B389314C7DE82B39FA0EEA7F9EF932B412F2B43EF444E59722BA59A51E54162417D4D510FFF996861298FC0346008F9A960744495B72F646ACA5B3607F8EA4C345AFD418DFE65A5F",
-    "identity_type": "trusted",
-    "iv": "DC4BBB79EC29CCC02C79BEBD45C7BB70",
-    "key_seed": "874471CC674DCC5A5BD7E8207CB62F4862C69B6FB28F86BE947A8249F8AD45CA",
-    "metadata_key": "B8420F0DC2CAD8BE94C2878461F62CA7",
-    "section_mic_hmac_key": "A60A350281B1B0C59E0F9E44DE3F139D4D5278D21E9325B60A0C1099981C4D47",
-    "section_salt": "E4DCFCC4EE61C6352DF5285906A7ACA1"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "14A4E23F310594A923AC2B00CD26FDDF",
-    "aes_key": "033A7FAED90FD1A0FF7080EDC2D150AD",
-    "data_elements": [],
-    "encoded_section": "379013EE55550B8DB3B2D0626ABA7D899DCB1B911000F83C0914EC025DD986BF39B9AA4633D090018687E96989F94FF3D2365FB2CDB89BEF",
-    "identity_type": "private",
-    "iv": "E4838E64DC9F04328312FC0952FE1955",
-    "key_seed": "32AC43A2C4F720EA7255D9B5025B7219801F4A728DAD5DE4C841480BFC6CAF0B",
-    "metadata_key": "DCD150DA1D4622EA1FB364C64CC56352",
-    "section_mic_hmac_key": "5713D6A91073B3FC250693CF7608174F7B5C8BB0B89717849AF78745F4BB74FA",
-    "section_salt": "F83C0914EC025DD986BF39B9AA4633D0"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9A5A6E11C1791C48E6BC440FD2B275BC",
-    "aes_key": "54D9612F2A7BE396A390954DFD2F2DB0",
-    "data_elements": [],
-    "encoded_section": "37901371B7C653BFB0E41F1BDA3228F707E39E91100058E26761B259F743F644564A6B23A0CC900155CA0E1E76DF190C54E9142FDBE55CFE",
-    "identity_type": "private",
-    "iv": "6B14BB04BBC14392A524A69EB6316F51",
-    "key_seed": "965BB1781732640C7237DDD1679D07C089927C6A869442EBB23960B536262A9F",
-    "metadata_key": "7FA623CCF685E489F680D2898580DD72",
-    "section_mic_hmac_key": "D3FC8D9843906152A789A16A150C0BAACA74BB5AF33A886552CBFA7C6D529029",
-    "section_salt": "58E26761B259F743F644564A6B23A0CC"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "64006DB572776637FD097DE973732A7B",
-    "aes_key": "669E44E9F98F153D8179E44A19F25623",
-    "data_elements": [
-      {
-        "contents": "7B",
-        "de_type": 638
-      },
-      {
-        "contents": "F00D4AB2C34F139458F1AF9265FA9EA175ED4EE85167",
-        "de_type": 958
-      },
-      {
-        "contents": "87417FB6114F",
-        "de_type": 499
-      },
-      {
-        "contents": "683ED3E93B91EB3FAED44E29457BE80D878415985D41B5F460",
-        "de_type": 129
-      }
-    ],
-    "encoded_section": "7990133E374729219551A1BB61EFF4D5AD6B6791100034159DC9EEC690F4ECD6A20A569E8CD29002A28031BC640DEB07E8AC9C7F941289B1327A5247718B0AD60B2A8769AF9749567EAF8A236425CDDF878FE17A735BF4AAB4ECCC4FC34AF217238857F87A06AE9EFAEC7C85452D2439BC5E9E08CF568AB5C7FD",
-    "identity_type": "trusted",
-    "iv": "26F5D4D8B5EB6069AEF2B6E435D30DB8",
-    "key_seed": "15A1B8E687F0DF912101CE373495959EE40D2D1FECB951B41C87DB9A0B4C3EF2",
-    "metadata_key": "4ED47FC3167C69F90160E2A9BDDC6A8B",
-    "section_mic_hmac_key": "7DE079745790A823A62470384F692A5CE4AD1C757AFE96917811EF13AD2CC8BC",
-    "section_salt": "34159DC9EEC690F4ECD6A20A569E8CD2"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5DDB5AA2FA3F0A61D18C52E9DE22CDE6",
-    "aes_key": "E60C3ACE2E521468137DAE60C115B3F5",
-    "data_elements": [
-      {
-        "contents": "8DD936",
-        "de_type": 244
-      }
-    ],
-    "encoded_section": "3D90138C161B53E44488EDAE5C545A49CB632F9110007272DFA635A1B1F42A62BE9147CCC4429004CE40129E8D256DA63B8B6AFA1FD16791EB33FD546813",
-    "identity_type": "provisioned",
-    "iv": "C03127C86766B5299AA2A30C42931072",
-    "key_seed": "A0F876D63DFEBBBC68F52B9A52582992D53E8DBC84DCA86598DDD6B41F1994D8",
-    "metadata_key": "189A12F2813D0C3D6E6A852F1298AE8A",
-    "section_mic_hmac_key": "853A31A3BBD636810AE5DEA65BC5739408F9D7DC1661B56D0E54A60A9C59DFE8",
-    "section_salt": "7272DFA635A1B1F42A62BE9147CCC442"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "9D031FAD682DAA4BBCA6912CCBB83C09",
-    "aes_key": "E1B5FA0F1A67F72E01B807F6495C6393",
-    "data_elements": [
-      {
-        "contents": "BA0688D5",
-        "de_type": 327
-      },
-      {
-        "contents": "CB0502569855FDA6DDA289FB7CA7F8447CB118E542",
-        "de_type": 880
-      },
-      {
-        "contents": "99FF",
-        "de_type": 940
-      },
-      {
-        "contents": "",
-        "de_type": 195
-      }
-    ],
-    "encoded_section": "5E9013101E7BB804EC51155AFE647EF89D6FAB91100042441ECF37BAF5319477A42541165CE49001AB8ACECCD8F482909FBC48F308CE76945B74681CE578A664996962BF4F4960586B4D100A83BCEFC21C073BE5407B32F6FE37E4181A8416",
-    "identity_type": "private",
-    "iv": "006B7FFEC2A4BC7AF80376E12B9CF206",
-    "key_seed": "3FDC2376B9AA5ABAA54091F4C3D17E62453E5C4BCA3F7E97D02C087E3D3E56EC",
-    "metadata_key": "2A9A5CD0C8BBE65B4DA2AC93A3646ADB",
-    "section_mic_hmac_key": "409C1FA5A935DF46FD0B0BA1F4B6676DC8E53F92992C41B1E167DCAAF92C6B75",
-    "section_salt": "42441ECF37BAF5319477A42541165CE4"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "402E548FE3E9094AE8327C5D67323EF3",
-    "aes_key": "74A450709337C059E4B06AA7339A847A",
-    "data_elements": [
-      {
-        "contents": "DDEE0C575B876057217E9EBD9A54DC6DDEC5E09A7C8B5AF9B2699B2F4D",
-        "de_type": 370
-      },
-      {
-        "contents": "CD8ECC401DC9D100AB80772990FD586CD51C0F63BCC51C1BC1",
-        "de_type": 762
-      },
-      {
-        "contents": "D4219120DC8A3A5A31C38174E515",
-        "de_type": 447
-      },
-      {
-        "contents": "A7B56D78AA8970937A2B0E39A94148EFE9BE381F0B",
-        "de_type": 890
-      },
-      {
-        "contents": "4C4E4BB8BC53C76E9BDEDAAF9D853E00A0556A6A",
-        "de_type": 561
-      }
-    ],
-    "encoded_section": "B39013556E8D35D3BFBCC66BA7FE806642527C9110005AFB2CBC5F6FF709C77C5E5B44FEC2639001302F90C4EE1CC3A669EBC8C94F549755BCBC764D07AC7B44259C7E72BAD6B0603D2618A56A1D5D9D0F8F3361A4F4BA89B14F98D3E27F95F1CA5DB58B7C9710E5785C12C126D0199B28A6955E728FE9E0D56AEA4522B7289D149FFA9AC110B751ACC06CD17F40F3E0EE67191DAF9E12EF7897E526F0037E46E22CD772FFB6A8FA8A6075E7BD51BE635A620EE8",
-    "identity_type": "private",
-    "iv": "91B130A57119A917BE672E882CD24F0A",
-    "key_seed": "349BAC58EA19F4DFC1E615A8F712C39D4A8F9D9371C92914FF7FEB3273EAFA96",
-    "metadata_key": "ECB79F56C63D39774DA1093D67A2E2BE",
-    "section_mic_hmac_key": "EC055CD96AA83E58972330916292606A56E320F4078D3E37125FD521366D2C13",
-    "section_salt": "5AFB2CBC5F6FF709C77C5E5B44FEC263"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "5FC40591E60B01771FD86CA3E3EFBAA9",
-    "aes_key": "527134D81C8BB7C6BECF31F34C4FB7EF",
-    "data_elements": [
-      {
-        "contents": "342CFE0C131BCA582A2B7F241FDDC5ECF120E98493391304BAFA",
-        "de_type": 217
-      }
-    ],
-    "encoded_section": "5490131A3E437EC13FDD67C82E5A3E273E9CD391100014444BDF8E6863B041C4F0C1CDEC855D900484ADD7102010AF6513B7367DD4D398FC2D1670B31EB05EB75F6451ABC3AF64D23D067AD0B26AEDEC08DD6BF5F5",
-    "identity_type": "provisioned",
-    "iv": "B58720B7A9092A88B216BDC537A2C0C6",
-    "key_seed": "7795E9287DF02DB694AA5A17909EF3ABAF2B3A67D317F0BA403077B148680D3A",
-    "metadata_key": "719D474AF4AC20EA51773F7D689FCBC8",
-    "section_mic_hmac_key": "CA2941EF019C602CD34C2D7A728687EBB9D640E5DFA764616AB435EF32B4955E",
-    "section_salt": "14444BDF8E6863B041C4F0C1CDEC855D"
-  },
-  {
-    "adv_header_byte": "30",
-    "adv_salt": "64E4BB1721EA0A79B18FA4CF2DFCF10C",
-    "aes_key": "4FC66B746D81042C4012C9CA05EB0F52",
-    "data_elements": [
-      {
-        "contents": "F3F4EFB14E81119C7C2E98F2",
-        "de_type": 608
-      },
-      {
-        "contents": "C41DD9601061BB775DBC3608789A30523E95B3B05B",
-        "de_type": 966
-      },
-      {
-        "contents": "B33460D6D8E3DF0ADF19BDD666E4",
-        "de_type": 973
-      },
-      {
-        "contents": "CDE289B7ECC9B6CDE5EA6BB595AC3019FE7F",
-        "de_type": 480
-      }
-    ],
-    "encoded_section": "849013AACDF54AA823590AF5804916E75A4517911000EF56099BC3FE4347649E0E59527C7A6190015C377B56675F536A451BF7CCFB4F79940DFE2ACB47AFB42B017C572E08DF98CFA55C5EC810CBEC57BC340A59E1F3414E7FCA6E17CD675EC950EFCCA7F589D4187557EA6AEA5F0E752B32C9540691FA07A9904598AE2FF4703638729108",
-    "identity_type": "private",
-    "iv": "9862F303568F4CEEEE16790805706ADC",
-    "key_seed": "790EEE3F64023DF0E967BECC5F9C1881A0E23AABE20BF85D35F0CA9E212D4C9B",
-    "metadata_key": "5C624608CAB1BE8DE5DF6A058AC025AE",
-    "section_mic_hmac_key": "F6216E6FCE355E0BD447D8B39A621A566767EEC8EE2F3AF3E86777DCC894B63B",
-    "section_salt": "EF56099BC3FE4347649E0E59527C7A61"
-  }
-]
-
diff --git a/nearby/presence/np_adv/tests/examples_v1.rs b/nearby/presence/np_adv/tests/examples_v1.rs
index 6e93a3d..f4df30c 100644
--- a/nearby/presence/np_adv/tests/examples_v1.rs
+++ b/nearby/presence/np_adv/tests/examples_v1.rs
@@ -142,12 +142,13 @@
     section_builder.add_to_advertisement();
     let adv = adv_builder.into_advertisement();
 
-    let discovery_credential = V1DiscoveryCredential::new(
+    let discovery_credential = V1DiscoveryCredential::new::<CryptoProviderImpl>(
         key_seed,
         [0; 32], // Zeroing out MIC HMAC, since it's unused in examples here.
         hkdf.extended_signed_metadata_key_hmac_key().calculate_hmac(&metadata_key.0),
         key_pair.public().to_bytes(),
-    );
+    )
+    .expect("Public key bytes are valid points on the curve since theyc ame from the keypair");
 
     let credentials: [MatchableCredential<V1, MetadataMatchedCredential<_>>; 1] =
         [MatchableCredential { discovery_credential, match_data: encrypted_sender_metadata }];
diff --git a/nearby/presence/np_adv_dynamic/src/extended.rs b/nearby/presence/np_adv_dynamic/src/extended.rs
index f961bd6..5e1328c 100644
--- a/nearby/presence/np_adv_dynamic/src/extended.rs
+++ b/nearby/presence/np_adv_dynamic/src/extended.rs
@@ -20,11 +20,12 @@
 /// An advertisement builder for V1 advertisements where the
 /// presence/absence of salt is determined at run-time instead of compile-time.
 pub struct BoxedAdvBuilder {
-    adv_builder: AdvBuilder,
+    adv_builder: Box<AdvBuilder>,
 }
 
 impl From<AdvBuilder> for BoxedAdvBuilder {
     fn from(adv_builder: AdvBuilder) -> Self {
+        let adv_builder = Box::new(adv_builder);
         BoxedAdvBuilder { adv_builder }
     }
 }
@@ -48,14 +49,59 @@
     }
 }
 
-fn wrap_section_builder<'a, C: CryptoProvider, S: Into<BoxedSectionBuilder<'a, C>>>(
+fn wrap_owning_section_builder<C: CryptoProvider, S: Into<BoxedSectionBuilder<AdvBuilder, C>>>(
+    maybe_section_builder: Result<S, (AdvBuilder, AddSectionError)>,
+) -> Result<BoxedSectionBuilder<AdvBuilder, C>, (BoxedAdvBuilder, BoxedAddSectionError)> {
+    match maybe_section_builder {
+        Ok(section_builder) => Ok(section_builder.into()),
+        Err((adv_builder, err)) => Err((adv_builder.into(), err.into())),
+    }
+}
+
+fn wrap_mut_ref_section_builder<
+    'a,
+    C: CryptoProvider,
+    S: Into<BoxedSectionBuilder<&'a mut AdvBuilder, C>>,
+>(
     maybe_section_builder: Result<S, AddSectionError>,
-) -> Result<BoxedSectionBuilder<'a, C>, BoxedAddSectionError> {
+) -> Result<BoxedSectionBuilder<&'a mut AdvBuilder, C>, BoxedAddSectionError> {
     let section_builder = maybe_section_builder?;
     Ok(section_builder.into())
 }
 
 impl BoxedAdvBuilder {
+    /// Gets the current count of sections which have been added
+    /// to this advertisement builder. Does not count currently-
+    /// outstanding section builders.
+    pub fn section_count(&self) -> usize {
+        self.adv_builder.section_count()
+    }
+
+    /// Create a section builder using the given identity,
+    /// taking ownership of this advertisement builder.
+    ///
+    /// Unlike `BoxedAdvBuilder#section_builder`, the returned
+    /// section builder will take ownership of this advertisement
+    /// builder, if the operation was successful. Otherwise,
+    /// this advertisement builder will be returned back to the
+    /// caller unaltered as part of the `Err` arm.
+    pub fn into_section_builder<C: CryptoProvider>(
+        self,
+        identity: BoxedIdentity<C>,
+    ) -> Result<BoxedSectionBuilder<AdvBuilder, C>, (Self, BoxedAddSectionError)> {
+        match identity {
+            BoxedIdentity::PublicIdentity => wrap_owning_section_builder(
+                self.adv_builder.into_section_builder(PublicSectionEncoder::default()),
+            ),
+            BoxedIdentity::MicEncrypted(ident) => {
+                wrap_owning_section_builder(self.adv_builder.into_section_builder(ident))
+            }
+            BoxedIdentity::SignedEncrypted(ident) => {
+                wrap_owning_section_builder(self.adv_builder.into_section_builder(ident))
+            }
+        }
+    }
+
     /// Create a section builder using the given identity.
     ///
     /// Returns `Err` if the underlying advertisement builder
@@ -66,16 +112,16 @@
     pub fn section_builder<C: CryptoProvider>(
         &mut self,
         identity: BoxedIdentity<C>,
-    ) -> Result<BoxedSectionBuilder<C>, BoxedAddSectionError> {
+    ) -> Result<BoxedSectionBuilder<&mut AdvBuilder, C>, BoxedAddSectionError> {
         match identity {
-            BoxedIdentity::PublicIdentity => wrap_section_builder(
+            BoxedIdentity::PublicIdentity => wrap_mut_ref_section_builder(
                 self.adv_builder.section_builder(PublicSectionEncoder::default()),
             ),
             BoxedIdentity::MicEncrypted(ident) => {
-                wrap_section_builder(self.adv_builder.section_builder(ident))
+                wrap_mut_ref_section_builder(self.adv_builder.section_builder(ident))
             }
             BoxedIdentity::SignedEncrypted(ident) => {
-                wrap_section_builder(self.adv_builder.section_builder(ident))
+                wrap_mut_ref_section_builder(self.adv_builder.section_builder(ident))
             }
         }
     }
@@ -99,16 +145,49 @@
 /// A `SectionBuilder` whose corresponding Identity
 /// and salted-ness is given at run-time instead of
 /// at compile-time.
-pub enum BoxedSectionBuilder<'a, C: CryptoProvider> {
+pub enum BoxedSectionBuilder<R: AsMut<AdvBuilder>, C: CryptoProvider> {
     /// A builder for a public section.
-    Public(SectionBuilder<'a, PublicSectionEncoder>),
+    Public(Box<SectionBuilder<R, PublicSectionEncoder>>),
     /// A builder for a MIC-verified section.
-    MicEncrypted(SectionBuilder<'a, MicEncryptedSectionEncoder<C>>),
+    MicEncrypted(Box<SectionBuilder<R, MicEncryptedSectionEncoder<C>>>),
     /// A builder for a signature-verified section.
-    SignedEncrypted(SectionBuilder<'a, SignedEncryptedSectionEncoder<C>>),
+    SignedEncrypted(Box<SectionBuilder<R, SignedEncryptedSectionEncoder<C>>>),
 }
 
-impl<'a, C: CryptoProvider> BoxedSectionBuilder<'a, C> {
+impl<C: CryptoProvider> BoxedSectionBuilder<AdvBuilder, C> {
+    /// Gets the 0-based index of the section currently under construction
+    /// in the context of the containing advertisement.
+    pub fn section_index(&self) -> usize {
+        match self {
+            BoxedSectionBuilder::Public(x) => x.section_index(),
+            BoxedSectionBuilder::MicEncrypted(x) => x.section_index(),
+            BoxedSectionBuilder::SignedEncrypted(x) => x.section_index(),
+        }
+    }
+    /// Add this builder to the advertisement that created it,
+    /// returning the containing advertisement builder.
+    pub fn add_to_advertisement(self) -> BoxedAdvBuilder {
+        let adv_builder = match self {
+            BoxedSectionBuilder::Public(x) => x.add_to_advertisement(),
+            BoxedSectionBuilder::MicEncrypted(x) => x.add_to_advertisement(),
+            BoxedSectionBuilder::SignedEncrypted(x) => x.add_to_advertisement(),
+        };
+        BoxedAdvBuilder::from(adv_builder)
+    }
+}
+
+impl<'a, C: CryptoProvider> BoxedSectionBuilder<&'a mut AdvBuilder, C> {
+    /// Add this builder to the advertisement that created it.
+    pub fn add_to_advertisement(self) {
+        match self {
+            BoxedSectionBuilder::Public(x) => x.add_to_advertisement(),
+            BoxedSectionBuilder::MicEncrypted(x) => x.add_to_advertisement(),
+            BoxedSectionBuilder::SignedEncrypted(x) => x.add_to_advertisement(),
+        }
+    }
+}
+
+impl<R: AsMut<AdvBuilder>, C: CryptoProvider> BoxedSectionBuilder<R, C> {
     /// Returns true if this wraps a section builder which
     /// leverages some encrypted identity.
     pub fn is_encrypted(&self) -> bool {
@@ -118,14 +197,20 @@
             BoxedSectionBuilder::SignedEncrypted(_) => true,
         }
     }
-    /// Add this builder to the advertisement that created it.
-    pub fn add_to_advertisement(self) {
+    /// Gets the derived salt of the next DE to be added to the section,
+    /// if this section-builder corresponds to an encrypted section.
+    /// Otherwise, returns nothing.
+    ///
+    /// Suitable for scenarios (like FFI) where a closure would be inappropriate
+    /// for DE construction, and interaction with the client is preferred.
+    pub fn next_de_salt(&self) -> Option<DeSalt<C>> {
         match self {
-            BoxedSectionBuilder::Public(x) => x.add_to_advertisement(),
-            BoxedSectionBuilder::MicEncrypted(x) => x.add_to_advertisement(),
-            BoxedSectionBuilder::SignedEncrypted(x) => x.add_to_advertisement(),
+            BoxedSectionBuilder::Public(_) => None,
+            BoxedSectionBuilder::MicEncrypted(x) => Some(x.next_de_salt()),
+            BoxedSectionBuilder::SignedEncrypted(x) => Some(x.next_de_salt()),
         }
     }
+
     /// Add a data element to the section with a closure that returns a `Result`.
     ///
     /// The provided `build_de` closure will be invoked with the derived salt for this DE,
@@ -158,27 +243,27 @@
     }
 }
 
-impl<'a, C: CryptoProvider> From<SectionBuilder<'a, PublicSectionEncoder>>
-    for BoxedSectionBuilder<'a, C>
+impl<R: AsMut<AdvBuilder>, C: CryptoProvider> From<SectionBuilder<R, PublicSectionEncoder>>
+    for BoxedSectionBuilder<R, C>
 {
-    fn from(section_builder: SectionBuilder<'a, PublicSectionEncoder>) -> Self {
-        BoxedSectionBuilder::Public(section_builder)
+    fn from(section_builder: SectionBuilder<R, PublicSectionEncoder>) -> Self {
+        BoxedSectionBuilder::Public(Box::new(section_builder))
     }
 }
 
-impl<'a, C: CryptoProvider> From<SectionBuilder<'a, MicEncryptedSectionEncoder<C>>>
-    for BoxedSectionBuilder<'a, C>
+impl<R: AsMut<AdvBuilder>, C: CryptoProvider> From<SectionBuilder<R, MicEncryptedSectionEncoder<C>>>
+    for BoxedSectionBuilder<R, C>
 {
-    fn from(section_builder: SectionBuilder<'a, MicEncryptedSectionEncoder<C>>) -> Self {
-        BoxedSectionBuilder::MicEncrypted(section_builder)
+    fn from(section_builder: SectionBuilder<R, MicEncryptedSectionEncoder<C>>) -> Self {
+        BoxedSectionBuilder::MicEncrypted(Box::new(section_builder))
     }
 }
 
-impl<'a, C: CryptoProvider> From<SectionBuilder<'a, SignedEncryptedSectionEncoder<C>>>
-    for BoxedSectionBuilder<'a, C>
+impl<R: AsMut<AdvBuilder>, C: CryptoProvider>
+    From<SectionBuilder<R, SignedEncryptedSectionEncoder<C>>> for BoxedSectionBuilder<R, C>
 {
-    fn from(section_builder: SectionBuilder<'a, SignedEncryptedSectionEncoder<C>>) -> Self {
-        BoxedSectionBuilder::SignedEncrypted(section_builder)
+    fn from(section_builder: SectionBuilder<R, SignedEncryptedSectionEncoder<C>>) -> Self {
+        BoxedSectionBuilder::SignedEncrypted(Box::new(section_builder))
     }
 }
 
diff --git a/nearby/presence/np_adv_dynamic/src/legacy.rs b/nearby/presence/np_adv_dynamic/src/legacy.rs
index 191ef75..8ffea16 100644
--- a/nearby/presence/np_adv_dynamic/src/legacy.rs
+++ b/nearby/presence/np_adv_dynamic/src/legacy.rs
@@ -284,6 +284,18 @@
     Ciphertext(ActionBits<Ciphertext>),
 }
 
+impl From<ActionBits<Plaintext>> for BoxedActionBits {
+    fn from(bits: ActionBits<Plaintext>) -> Self {
+        Self::Plaintext(bits)
+    }
+}
+
+impl From<ActionBits<Ciphertext>> for BoxedActionBits {
+    fn from(bits: ActionBits<Ciphertext>) -> Self {
+        Self::Ciphertext(bits)
+    }
+}
+
 /// Error which is raised when the flavor of a [`BoxedActionBits`]
 /// does not match the supported flavors of a [`ToBoxedActionElement`]
 /// upon attempting to add the action to the bit-field.
@@ -300,6 +312,24 @@
         }
     }
 
+    /// Gets the context-sync sequence number from these boxed action bits.
+    pub fn get_context_sync_seq_num(&self) -> ContextSyncSeqNum {
+        match self {
+            BoxedActionBits::Plaintext(x) => x.context_sync_seq_num(),
+            BoxedActionBits::Ciphertext(x) => x.context_sync_seq_num(),
+        }
+    }
+
+    /// Returns whether a boolean action type is set in these action bits, or `None`
+    /// if the given action type does not represent a boolean (e.g: a context-sync
+    /// sequence number).
+    pub fn has_action(&self, action_type: &ActionType) -> Option<bool> {
+        match self {
+            BoxedActionBits::Plaintext(x) => x.has_action(action_type),
+            BoxedActionBits::Ciphertext(x) => x.has_action(action_type),
+        }
+    }
+
     fn set<F: PacketFlavor, E: ToActionElement<F>>(
         action_bits: &mut ActionBits<F>,
         to_element: E,
diff --git a/nearby/presence/np_c_ffi/Cargo.lock b/nearby/presence/np_c_ffi/Cargo.lock
deleted file mode 100644
index 836d35b..0000000
--- a/nearby/presence/np_c_ffi/Cargo.lock
+++ /dev/null
@@ -1,1182 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aead"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
-dependencies = [
- "bytes",
- "crypto-common",
- "generic-array",
-]
-
-[[package]]
-name = "aes"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
-[[package]]
-name = "aes-gcm"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "ghash",
- "subtle",
-]
-
-[[package]]
-name = "aes-gcm-siv"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "polyval",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "array_ref"
-version = "0.1.0"
-
-[[package]]
-name = "array_view"
-version = "0.1.0"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "base16ct"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-
-[[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bssl-crypto"
-version = "0.1.0"
-dependencies = [
- "bssl-sys",
-]
-
-[[package]]
-name = "bssl-sys"
-version = "0.1.0"
-
-[[package]]
-name = "bytes"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
-
-[[package]]
-name = "cbc"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "cbindgen"
-version = "0.24.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
-dependencies = [
- "clap",
- "heck",
- "indexmap",
- "log",
- "proc-macro2",
- "quote",
- "serde",
- "serde_json",
- "syn 1.0.109",
- "tempfile",
- "toml",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
-]
-
-[[package]]
-name = "clap"
-version = "3.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "atty",
- "bitflags 1.3.2",
- "clap_lex",
- "indexmap",
- "strsim",
- "termcolor",
- "textwrap",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "const-oid"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-bigint"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124"
-dependencies = [
- "generic-array",
- "rand_core",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "rand_core",
- "typenum",
-]
-
-[[package]]
-name = "crypto_provider"
-version = "0.1.0"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "crypto_provider_boringssl"
-version = "0.1.0"
-dependencies = [
- "bssl-crypto",
- "crypto_provider",
-]
-
-[[package]]
-name = "crypto_provider_default"
-version = "0.1.0"
-dependencies = [
- "cfg-if",
- "crypto_provider",
- "crypto_provider_boringssl",
- "crypto_provider_rustcrypto",
-]
-
-[[package]]
-name = "crypto_provider_rustcrypto"
-version = "0.1.0"
-dependencies = [
- "aead",
- "aes",
- "aes-gcm",
- "aes-gcm-siv",
- "cbc",
- "cfg-if",
- "crypto_provider",
- "ctr",
- "ed25519-dalek",
- "hkdf",
- "hmac",
- "p256",
- "rand",
- "rand_chacha",
- "rand_core",
- "sec1",
- "sha2",
- "subtle",
- "x25519-dalek",
-]
-
-[[package]]
-name = "ctr"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "curve25519-dalek"
-version = "4.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "curve25519-dalek-derive",
- "digest",
- "fiat-crypto",
- "platforms",
- "rustc_version",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "curve25519-dalek-derive"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "der"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
-dependencies = [
- "const-oid",
- "zeroize",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "ed25519"
-version = "2.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
-dependencies = [
- "pkcs8",
- "signature",
-]
-
-[[package]]
-name = "ed25519-dalek"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
-dependencies = [
- "curve25519-dalek",
- "ed25519",
- "rand_core",
- "serde",
- "sha2",
- "zeroize",
-]
-
-[[package]]
-name = "elliptic-curve"
-version = "0.13.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914"
-dependencies = [
- "base16ct",
- "crypto-bigint",
- "digest",
- "ff",
- "generic-array",
- "group",
- "hkdf",
- "rand_core",
- "sec1",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "errno"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
-dependencies = [
- "libc",
- "windows-sys",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
-
-[[package]]
-name = "ff"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
-dependencies = [
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "fiat-crypto"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a481586acf778f1b1455424c343f71124b048ffa5f4fc3f8f6ae9dc432dcb3c7"
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
- "zeroize",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "ghash"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
-dependencies = [
- "opaque-debug",
- "polyval",
-]
-
-[[package]]
-name = "group"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
-dependencies = [
- "ff",
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "handle_map"
-version = "0.1.0"
-dependencies = [
- "lock_adapter",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hkdf"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
-dependencies = [
- "hmac",
-]
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "inout"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
-dependencies = [
- "block-padding",
- "generic-array",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-dependencies = [
- "spin",
-]
-
-[[package]]
-name = "ldt"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
- "ldt_tbc",
-]
-
-[[package]]
-name = "ldt_np_adv"
-version = "0.1.0"
-dependencies = [
- "array_view",
- "crypto_provider",
- "ldt",
- "ldt_tbc",
- "np_hkdf",
- "xts_aes",
-]
-
-[[package]]
-name = "ldt_tbc"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.149"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
-
-[[package]]
-name = "lock_adapter"
-version = "0.1.0"
-
-[[package]]
-name = "log"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
-
-[[package]]
-name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "np_adv"
-version = "0.1.0"
-dependencies = [
- "array_view",
- "crypto_provider",
- "lazy_static",
- "ldt",
- "ldt_np_adv",
- "nom",
- "np_ed25519",
- "np_hkdf",
- "sink",
- "strum",
- "strum_macros",
- "tinyvec",
- "xts_aes",
-]
-
-[[package]]
-name = "np_c_ffi"
-version = "0.1.0"
-dependencies = [
- "cbindgen",
- "lock_adapter",
- "np_ffi_core",
-]
-
-[[package]]
-name = "np_ed25519"
-version = "0.1.0"
-dependencies = [
- "array_view",
- "crypto_provider",
- "sink",
- "tinyvec",
-]
-
-[[package]]
-name = "np_ffi_core"
-version = "0.1.0"
-dependencies = [
- "array_view",
- "crypto_provider",
- "crypto_provider_default",
- "handle_map",
- "lazy_static",
- "ldt_np_adv",
- "lock_adapter",
- "np_adv",
- "np_hkdf",
-]
-
-[[package]]
-name = "np_hkdf"
-version = "0.1.0"
-dependencies = [
- "crypto_provider",
- "ldt",
- "xts_aes",
-]
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "os_str_bytes"
-version = "6.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
-
-[[package]]
-name = "p256"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
-dependencies = [
- "elliptic-curve",
- "primeorder",
-]
-
-[[package]]
-name = "pkcs8"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
-dependencies = [
- "der",
- "spki",
-]
-
-[[package]]
-name = "platforms"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0"
-
-[[package]]
-name = "polyval"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "primeorder"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
-dependencies = [
- "elliptic-curve",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
-dependencies = [
- "bitflags 2.4.1",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
-
-[[package]]
-name = "ryu"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
-
-[[package]]
-name = "sec1"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
-dependencies = [
- "base16ct",
- "der",
- "generic-array",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
-
-[[package]]
-name = "serde"
-version = "1.0.190"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.190"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.108"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "signature"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
-
-[[package]]
-name = "sink"
-version = "0.1.0"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "spki"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
-dependencies = [
- "base64ct",
- "der",
-]
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "strum"
-version = "0.25.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
-
-[[package]]
-name = "strum_macros"
-version = "0.25.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 2.0.38",
-]
-
-[[package]]
-name = "subtle"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
-dependencies = [
- "cfg-if",
- "fastrand",
- "redox_syscall",
- "rustix",
- "windows-sys",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-
-[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "typenum"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "universal-hash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
-dependencies = [
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "x25519-dalek"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
-dependencies = [
- "curve25519-dalek",
- "rand_core",
-]
-
-[[package]]
-name = "xts_aes"
-version = "0.1.0"
-dependencies = [
- "array_ref",
- "crypto_provider",
- "ldt_tbc",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
diff --git a/nearby/presence/np_c_ffi/Cargo.toml b/nearby/presence/np_c_ffi/Cargo.toml
index 86bbd53..991a5e0 100644
--- a/nearby/presence/np_c_ffi/Cargo.toml
+++ b/nearby/presence/np_c_ffi/Cargo.toml
@@ -5,11 +5,11 @@
 publish = false
 
 [dependencies]
-np_ffi_core = { path = "../np_ffi_core" }
-lock_adapter = {path = "../../util/lock_adapter"}
+np_ffi_core.workspace = true
+lock_adapter.workspace = true
 
 [build-dependencies]
-cbindgen = "0.24.5"
+cbindgen.workspace = true
 
 [features]
 default = ["rustcrypto"]
@@ -18,14 +18,4 @@
 
 [lib]
 # boringssl and bssl-sys are built as a static lib, so we need to as well
-crate-type = ["staticlib"]
-
-# build profile optimized for size
-[profile.release-min-size]
-inherits = "release"
-panic = "abort"
-codegen-units = 1
-lto = true
-# z optimizes for size
-opt-level = "z"
-strip = true
\ No newline at end of file
+crate-type = ["staticlib"]
\ No newline at end of file
diff --git a/nearby/presence/np_c_ffi/cbindgen_configs/c_config.toml b/nearby/presence/np_c_ffi/cbindgen_configs/c_config.toml
index 88483b0..b2967cf 100644
--- a/nearby/presence/np_c_ffi/cbindgen_configs/c_config.toml
+++ b/nearby/presence/np_c_ffi/cbindgen_configs/c_config.toml
@@ -19,7 +19,13 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
+
+// clang-format off
 """
+trailer = """
+// clang-format on
+"""
+
 pragma_once = true
 autogen_warning = """
 /*
@@ -44,7 +50,3 @@
 [parse]
 parse_deps = true
 include = ["np_c_ffi", "np_ffi_core"]
-
-[parse.expand]
-crates = ["np_ffi_core"]
-default_features = true
diff --git a/nearby/presence/np_c_ffi/cbindgen_configs/cpp_config.toml b/nearby/presence/np_c_ffi/cbindgen_configs/cpp_config.toml
index 5a2ba2a..50de758 100644
--- a/nearby/presence/np_c_ffi/cbindgen_configs/cpp_config.toml
+++ b/nearby/presence/np_c_ffi/cbindgen_configs/cpp_config.toml
@@ -16,7 +16,13 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 */
+
+// clang-format off
 """
+trailer = """
+// clang-format on
+"""
+
 pragma_once = true
 autogen_warning = """
 /*
@@ -38,7 +44,3 @@
 [parse]
 parse_deps = true
 include = ["np_c_ffi", "np_ffi_core"]
-
-[parse.expand]
-crates = ["np_ffi_core"]
-default_features = true
diff --git a/nearby/presence/np_c_ffi/deny.toml b/nearby/presence/np_c_ffi/deny.toml
deleted file mode 100644
index ca51e11..0000000
--- a/nearby/presence/np_c_ffi/deny.toml
+++ /dev/null
@@ -1,213 +0,0 @@
-# This template contains all of the possible sections and their default values
-
-# Note that all fields that take a lint level have these possible values:
-# * deny - An error will be produced and the check will fail
-# * warn - A warning will be produced, but the check will not fail
-# * allow - No warning or error will be produced, though in some cases a note
-# will be
-
-# The values provided in this template are the default values that will be used
-# when any section or field is not specified in your own configuration
-
-# If 1 or more target triples (and optionally, target_features) are specified,
-# only the specified targets will be checked when running `cargo deny check`.
-# This means, if a particular package is only ever used as a target specific
-# dependency, such as, for example, the `nix` crate only being used via the
-# `target_family = "unix"` configuration, that only having windows targets in
-# this list would mean the nix crate, as well as any of its exclusive
-# dependencies not shared by any other crates, would be ignored, as the target
-# list here is effectively saying which targets you are building for.
-targets = [
-    # The triple can be any string, but only the target triples built in to
-    # rustc (as of 1.40) can be checked against actual config expressions
-    #{ triple = "x86_64-unknown-linux-musl" },
-    # You can also specify which target_features you promise are enabled for a
-    # particular target. target_features are currently not validated against
-    # the actual valid features supported by the target architecture.
-    #{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
-]
-
-# This section is considered when running `cargo deny check advisories`
-# More documentation for the advisories section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
-[advisories]
-# The path where the advisory database is cloned/fetched into
-db-path = "~/.cargo/advisory-db"
-# The url(s) of the advisory databases to use
-db-urls = ["https://github.com/rustsec/advisory-db"]
-# The lint level for security vulnerabilities
-vulnerability = "deny"
-# The lint level for unmaintained crates
-unmaintained = "warn"
-# The lint level for crates that have been yanked from their source registry
-yanked = "warn"
-# The lint level for crates with security notices. Note that as of
-# 2019-12-17 there are no security notice advisories in
-# https://github.com/rustsec/advisory-db
-notice = "warn"
-# A list of advisory IDs to ignore. Note that ignored advisories will still
-# output a note when they are encountered.
-ignore = [
-    #"RUSTSEC-0000-0000",
-]
-# Threshold for security vulnerabilities, any vulnerability with a CVSS score
-# lower than the range specified will be ignored. Note that ignored advisories
-# will still output a note when they are encountered.
-# * None - CVSS Score 0.0
-# * Low - CVSS Score 0.1 - 3.9
-# * Medium - CVSS Score 4.0 - 6.9
-# * High - CVSS Score 7.0 - 8.9
-# * Critical - CVSS Score 9.0 - 10.0
-#severity-threshold =
-
-# If this is true, then cargo deny will use the git executable to fetch advisory database.
-# If this is false, then it uses a built-in git library.
-# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
-# See Git Authentication for more information about setting up git authentication.
-#git-fetch-with-cli = true
-
-# This section is considered when running `cargo deny check licenses`
-# More documentation for the licenses section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
-[licenses]
-# The lint level for crates which do not have a detectable license
-unlicensed = "deny"
-# List of explicitly allowed licenses
-# See https://spdx.org/licenses/ for list of possible licenses
-# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
-allow = [
-    "MIT",
-    "Apache-2.0",
-    "BSD-3-Clause",
-    "Unicode-DFS-2016",
-]
-# List of explicitly disallowed licenses
-# See https://spdx.org/licenses/ for list of possible licenses
-# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
-deny = [
-    #"Nokia",
-]
-# Lint level for licenses considered copyleft
-copyleft = "warn"
-# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
-# * both - The license will be approved if it is both OSI-approved *AND* FSF
-# * either - The license will be approved if it is either OSI-approved *OR* FSF
-# * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF
-# * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved
-# * neither - This predicate is ignored and the default lint level is used
-allow-osi-fsf-free = "neither"
-# Lint level used when no other predicates are matched
-# 1. License isn't in the allow or deny lists
-# 2. License isn't copyleft
-# 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither"
-default = "deny"
-# The confidence threshold for detecting a license from license text.
-# The higher the value, the more closely the license text must be to the
-# canonical license text of a valid SPDX license file.
-# [possible values: any between 0.0 and 1.0].
-confidence-threshold = 0.8
-# Allow 1 or more licenses on a per-crate basis, so that particular licenses
-# aren't accepted for every possible crate as with the normal allow list
-exceptions = [
-    # Each entry is the crate and version constraint, and its specific allow
-    # list
-    #{ allow = ["Zlib"], name = "adler32", version = "*" },
-]
-
-# Some crates don't have (easily) machine readable licensing information,
-# adding a clarification entry for it allows you to manually specify the
-# licensing information
-#[[licenses.clarify]]
-# The name of the crate the clarification applies to
-#name = "ring"
-# The optional version constraint for the crate
-#version = "*"
-# The SPDX expression for the license requirements of the crate
-#expression = "MIT AND ISC AND OpenSSL"
-# One or more files in the crate's source used as the "source of truth" for
-# the license expression. If the contents match, the clarification will be used
-# when running the license check, otherwise the clarification will be ignored
-# and the crate will be checked normally, which may produce warnings or errors
-# depending on the rest of your configuration
-#license-files = [
-    # Each entry is a crate relative path, and the (opaque) hash of its contents
-    #{ path = "LICENSE", hash = 0xbd0eed23 }
-#]
-
-[[licenses.clarify]]
-name = "ring"
-version = "*"
-expression = "MIT AND ISC AND OpenSSL"
-license-files = [
-    # Each entry is a crate relative path, and the (opaque) hash of its contents
-    { path = "LICENSE", hash = 0xbd0eed23 }
-]
-
-[licenses.private]
-# If true, ignores workspace crates that aren't published, or are only
-# published to private registries.
-# To see how to mark a crate as unpublished (to the official registry),
-# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
-ignore = true
-# One or more private registries that you might publish crates to, if a crate
-# is only published to private registries, and ignore is true, the crate will
-# not have its license(s) checked
-registries = [
-    #"https://sekretz.com/registry
-]
-
-# This section is considered when running `cargo deny check bans`.
-# More documentation about the 'bans' section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
-[bans]
-# Lint level for when multiple versions of the same crate are detected
-multiple-versions = "allow"
-# Lint level for when a crate version requirement is `*`
-wildcards = "allow"
-# The graph highlighting used when creating dotgraphs for crates
-# with multiple versions
-# * lowest-version - The path to the lowest versioned duplicate is highlighted
-# * simplest-path - The path to the version with the fewest edges is highlighted
-# * all - Both lowest-version and simplest-path are used
-highlight = "all"
-# List of crates that are allowed. Use with care!
-allow = [
-    #{ name = "ansi_term", version = "=0.11.0" },
-]
-# List of crates to deny
-deny = [
-    # Each entry the name of a crate and a version range. If version is
-    # not specified, all versions will be matched.
-    #{ name = "ansi_term", version = "=0.11.0" },
-    #
-    # Wrapper crates can optionally be specified to allow the crate when it
-    # is a direct dependency of the otherwise banned crate
-    #{ name = "ansi_term", version = "=0.11.0", wrappers = [] },
-]
-# Certain crates/versions that will be skipped when doing duplicate detection.
-skip = [
-    #{ name = "ansi_term", version = "=0.11.0" },
-]
-# Similarly to `skip` allows you to skip certain crates during duplicate
-# detection. Unlike skip, it also includes the entire tree of transitive
-# dependencies starting at the specified crate, up to a certain depth, which is
-# by default infinite
-skip-tree = [
-    #{ name = "ansi_term", version = "=0.11.0", depth = 20 },
-]
-
-# This section is considered when running `cargo deny check sources`.
-# More documentation about the 'sources' section can be found here:
-# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
-[sources]
-# Lint level for what to happen when a crate from a crate registry that is not
-# in the allow list is encountered
-unknown-registry = "warn"
-# Lint level for what to happen when a crate from a git repository that is not
-# in the allow list is encountered
-unknown-git = "warn"
-# List of URLs for allowed crate registries. Defaults to the crates.io index
-# if not specified. If it is specified but empty, no registries are allowed.
-allow-registry = ["https://github.com/rust-lang/crates.io-index"]
-# List of URLs for allowed Git repositories
-allow-git = []
\ No newline at end of file
diff --git a/nearby/presence/np_c_ffi/include/c/np_c_ffi.h b/nearby/presence/np_c_ffi/include/c/np_c_ffi.h
index 81914c9..0ff152f 100644
--- a/nearby/presence/np_c_ffi/include/c/np_c_ffi.h
+++ b/nearby/presence/np_c_ffi/include/c/np_c_ffi.h
@@ -13,10 +13,12 @@
  limitations under the License.
 */
 
+// clang-format off
+
 
 #pragma once
 
-/* Generated with cbindgen:0.24.5 */
+/* Generated with cbindgen:0.26.0 */
 
 /*
  WARNING: this file is autogenerated by cbindgen. Don't modify this manually.
@@ -33,19 +35,130 @@
 #include <stdlib.h>
 
 /**
- * Result type for trying to add a credential to a credential-slab.
+ * Result type for trying to add a V0 credential to a credential-slab.
  */
-enum np_ffi_AddCredentialToSlabResult {
+enum np_ffi_AddV0CredentialToSlabResult {
   /**
    * We succeeded in adding the credential to the slab.
    */
-  NP_FFI_ADD_CREDENTIAL_TO_SLAB_RESULT_SUCCESS = 0,
+  NP_FFI_ADD_V0_CREDENTIAL_TO_SLAB_RESULT_SUCCESS = 0,
   /**
    * The handle to the slab was actually invalid.
    */
-  NP_FFI_ADD_CREDENTIAL_TO_SLAB_RESULT_INVALID_HANDLE = 1,
+  NP_FFI_ADD_V0_CREDENTIAL_TO_SLAB_RESULT_INVALID_HANDLE = 1,
 };
-typedef uint8_t np_ffi_AddCredentialToSlabResult;
+typedef uint8_t np_ffi_AddV0CredentialToSlabResult;
+
+/**
+ * Result code for the operation of adding a DE to a V0
+ * advertisement builder.
+ */
+enum np_ffi_AddV0DEResult {
+  /**
+   * The DE was successfully added to the advertisement builder
+   * behind the given handle.
+   */
+  NP_FFI_ADD_V0DE_RESULT_SUCCESS = 0,
+  /**
+   * The handle for the advertisement builder was invalid.
+   */
+  NP_FFI_ADD_V0DE_RESULT_INVALID_ADVERTISEMENT_BUILDER_HANDLE = 1,
+  /**
+   * There was not enough available space left in the advertisement
+   * to append the given data element.
+   */
+  NP_FFI_ADD_V0DE_RESULT_INSUFFICIENT_ADVERTISEMENT_SPACE = 2,
+  /**
+   * The passed data element is not broadcastable under the
+   * identity type of the advertisement (public/private).
+   */
+  NP_FFI_ADD_V0DE_RESULT_INVALID_IDENTITY_TYPE_FOR_DATA_ELEMENT = 3,
+};
+typedef uint8_t np_ffi_AddV0DEResult;
+
+/**
+ * Result type for trying to add a V1 credential to a credential-slab.
+ */
+enum np_ffi_AddV1CredentialToSlabResult {
+  /**
+   * We succeeded in adding the credential to the slab.
+   */
+  NP_FFI_ADD_V1_CREDENTIAL_TO_SLAB_RESULT_SUCCESS = 0,
+  /**
+   * The handle to the slab was actually invalid.
+   */
+  NP_FFI_ADD_V1_CREDENTIAL_TO_SLAB_RESULT_INVALID_HANDLE = 1,
+  /**
+   * The provided public key bytes do not actually represent a valid "edwards y" format
+   * or that said compressed point is not actually a point on the curve.
+   */
+  NP_FFI_ADD_V1_CREDENTIAL_TO_SLAB_RESULT_INVALID_PUBLIC_KEY_BYTES = 2,
+};
+typedef uint8_t np_ffi_AddV1CredentialToSlabResult;
+
+/**
+ * Result code for operations adding DEs to a section builder.
+ */
+enum np_ffi_AddV1DEResult {
+  /**
+   * The DE was successfully added to the section builder
+   * behind the given handle.
+   */
+  NP_FFI_ADD_V1DE_RESULT_SUCCESS = 0,
+  /**
+   * The handle for the section builder was invalid.
+   */
+  NP_FFI_ADD_V1DE_RESULT_INVALID_SECTION_HANDLE = 1,
+  /**
+   * There was no more space left in the advertisement
+   * to fit the DE in the containing section.
+   */
+  NP_FFI_ADD_V1DE_RESULT_INSUFFICIENT_SECTION_SPACE = 2,
+  /**
+   * The data element itself had invalid characteristics,
+   * most likely a length above 127.
+   */
+  NP_FFI_ADD_V1DE_RESULT_INVALID_DATA_ELEMENT = 3,
+};
+typedef uint8_t np_ffi_AddV1DEResult;
+
+/**
+ * Result code for [`V1SectionBuilder#add_to_advertisement`].
+ */
+enum np_ffi_AddV1SectionToAdvertisementResult {
+  /**
+   * The section referenced by the given handle
+   * couldn't be added to the containing advertisement,
+   * possibly because the handle is invalid or the section
+   * has already been added to the containing section.
+   */
+  NP_FFI_ADD_V1_SECTION_TO_ADVERTISEMENT_RESULT_ERROR = 0,
+  /**
+   * The section referenced by the given handle
+   * was successfully added to the containing advertisement.
+   * After obtaining this result code, the section
+   * handle will no longer be valid.
+   */
+  NP_FFI_ADD_V1_SECTION_TO_ADVERTISEMENT_RESULT_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_AddV1SectionToAdvertisementResult;
+
+/**
+ * Enum common to V0 and V1 serialization expressing
+ * what kind of advertisement builder (public/encrypted)
+ * is in use.
+ */
+enum np_ffi_AdvertisementBuilderKind {
+  /**
+   * The builder is for a public advertisement.
+   */
+  NP_FFI_ADVERTISEMENT_BUILDER_KIND_PUBLIC = 0,
+  /**
+   * The builder is for an encrypted advertisement.
+   */
+  NP_FFI_ADVERTISEMENT_BUILDER_KIND_ENCRYPTED = 1,
+};
+typedef uint8_t np_ffi_AdvertisementBuilderKind;
 
 /**
  * The possible boolean action types which can be present in an Actions data element
@@ -62,6 +175,40 @@
 typedef uint8_t np_ffi_BooleanActionType;
 
 /**
+ * Discriminant for `BuildContextSyncSeqNumResult`.
+ */
+enum np_ffi_BuildContextSyncSeqNumResultKind {
+  /**
+   * The sequence number was outside the allowed
+   * 0-15 single-nibble range.
+   */
+  NP_FFI_BUILD_CONTEXT_SYNC_SEQ_NUM_RESULT_KIND_OUT_OF_RANGE = 0,
+  /**
+   * The sequence number was in range,
+   * and so a `ContextSyncSeqNum` was constructed.
+   */
+  NP_FFI_BUILD_CONTEXT_SYNC_SEQ_NUM_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_BuildContextSyncSeqNumResultKind;
+
+/**
+ * Discriminant for `BuildTxPowerResult`.
+ */
+enum np_ffi_BuildTxPowerResultKind {
+  /**
+   * The transmission power was outside the
+   * allowed -100dBm to 20dBm range.
+   */
+  NP_FFI_BUILD_TX_POWER_RESULT_KIND_OUT_OF_RANGE = 0,
+  /**
+   * The transmission power was in range,
+   * and so a `TxPower` struct was constructed.
+   */
+  NP_FFI_BUILD_TX_POWER_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_BuildTxPowerResultKind;
+
+/**
  * Discriminant for `CreateCredentialBookResult`
  */
 enum np_ffi_CreateCredentialBookResultKind {
@@ -101,6 +248,76 @@
 typedef uint8_t np_ffi_CreateCredentialSlabResultKind;
 
 /**
+ * Discriminant for `CreateV0AdvertisementBuilderResult`
+ */
+enum np_ffi_CreateV0AdvertisementBuilderResultKind {
+  /**
+   * The attempt to create a new advertisement builder
+   * failed since there are no more available
+   * slots for V0 advertisement builders in their handle-map.
+   */
+  NP_FFI_CREATE_V0_ADVERTISEMENT_BUILDER_RESULT_KIND_NO_SPACE_LEFT = 0,
+  /**
+   * The attempt succeeded. The wrapped advertisement builder
+   * may be obtained via
+   * `CreateV0AdvertisementBuilderResult#into_success`.
+   */
+  NP_FFI_CREATE_V0_ADVERTISEMENT_BUILDER_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_CreateV0AdvertisementBuilderResultKind;
+
+/**
+ * Discriminant for `CreateV1AdvertisementBuilderResult`
+ */
+enum np_ffi_CreateV1AdvertisementBuilderResultKind {
+  /**
+   * The attempt to create a new advertisement builder
+   * failed since there are no more available
+   * slots for V1 advertisement builders in their handle-map.
+   */
+  NP_FFI_CREATE_V1_ADVERTISEMENT_BUILDER_RESULT_KIND_NO_SPACE_LEFT = 0,
+  /**
+   * The attempt succeeded. The wrapped advertisement builder
+   * may be obtained via
+   * `CreateV1AdvertisementBuilderResult#into_success`.
+   */
+  NP_FFI_CREATE_V1_ADVERTISEMENT_BUILDER_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_CreateV1AdvertisementBuilderResultKind;
+
+/**
+ * Discriminant for `CreateV1SectionBuilderResult`
+ */
+enum np_ffi_CreateV1SectionBuilderResultKind {
+  /**
+   * The attempt to create a new section builder succeeded.
+   */
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_KIND_SUCCESS = 0,
+  /**
+   * We're currently in the middle of building a section.
+   */
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_KIND_UNCLOSED_ACTIVE_SECTION = 1,
+  /**
+   * The advertisement builder handle was invalid.
+   */
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_KIND_INVALID_ADVERTISEMENT_BUILDER_HANDLE = 2,
+  /**
+   * We're attempting to build a section with an identity
+   * kind (public/encrypted) which doesn't match the kind
+   * for the entire advertisement.
+   */
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_KIND_IDENTITY_KIND_MISMATCH = 3,
+  /**
+   * There isn't enough space for a new section, either
+   * because the maximum section count has been exceeded
+   * or because the advertisement is almost full, and
+   * the minimum size of a section wouldn't fit.
+   */
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_KIND_NO_SPACE_LEFT = 4,
+};
+typedef uint8_t np_ffi_CreateV1SectionBuilderResultKind;
+
+/**
  * A result-type enum which tells the caller whether/not a deallocation
  * succeeded or failed due to the requested handle not being present.
  */
@@ -116,6 +333,24 @@
 } np_ffi_DeallocateResult;
 
 /**
+ * Discriminant for `DecryptMetadataResult`.
+ */
+enum np_ffi_DecryptMetadataResultKind {
+  /**
+   * The attempt to decrypt the metadata of the associated credential succeeded
+   * The associated payload may be obtained via
+   * `DecryptMetadataResult#into_success`.
+   */
+  NP_FFI_DECRYPT_METADATA_RESULT_KIND_SUCCESS,
+  /**
+   * The attempt to decrypt the metadata failed, either the payload had no matching identity
+   * ie it was a public advertisement OR the decrypt attempt itself was unsuccessful
+   */
+  NP_FFI_DECRYPT_METADATA_RESULT_KIND_ERROR,
+};
+typedef uint8_t np_ffi_DecryptMetadataResultKind;
+
+/**
  * Discriminant for `DeserializeAdvertisementResult`.
  */
 enum np_ffi_DeserializeAdvertisementResultKind {
@@ -191,6 +426,34 @@
 typedef uint8_t np_ffi_DeserializedV1IdentityKind;
 
 /**
+ * The DE type for an encrypted identity
+ */
+enum np_ffi_EncryptedIdentityType {
+  /**
+   * Identity for broadcasts to nearby devices with the same
+   * logged-in-account (for some account).
+   */
+  NP_FFI_ENCRYPTED_IDENTITY_TYPE_PRIVATE = 1,
+  /**
+   * Identity for broadcasts to nearby devices which this
+   * device has declared to trust.
+   */
+  NP_FFI_ENCRYPTED_IDENTITY_TYPE_TRUSTED = 2,
+  /**
+   * Identity for broadcasts to devices which have been provisioned
+   * offline with this device.
+   */
+  NP_FFI_ENCRYPTED_IDENTITY_TYPE_PROVISIONED = 4,
+};
+typedef uint8_t np_ffi_EncryptedIdentityType;
+
+enum np_ffi_GetMetadataBufferPartsResultKind {
+  NP_FFI_GET_METADATA_BUFFER_PARTS_RESULT_KIND_SUCCESS = 0,
+  NP_FFI_GET_METADATA_BUFFER_PARTS_RESULT_KIND_ERROR = 1,
+};
+typedef uint8_t np_ffi_GetMetadataBufferPartsResultKind;
+
+/**
  * Discriminant of `GetV0DEResult`.
  */
 enum np_ffi_GetV0DEResultKind {
@@ -211,6 +474,47 @@
 typedef uint8_t np_ffi_GetV0DEResultKind;
 
 /**
+ * Discriminant for `GetV0IdentityDetailsResult`
+ */
+enum np_ffi_GetV0IdentityDetailsResultKind {
+  /**
+   * The attempt to get the identity details
+   * for the advertisement failed, possibly
+   * due to the advertisement being a public
+   * advertisement, or the underlying
+   * advertisement has already been deallocated.
+   */
+  NP_FFI_GET_V0_IDENTITY_DETAILS_RESULT_KIND_ERROR = 0,
+  /**
+   * The attempt to get the identity details succeeded.
+   * The wrapped identity details may be obtained via
+   * `GetV0IdentityDetailsResult#into_success`.
+   */
+  NP_FFI_GET_V0_IDENTITY_DETAILS_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_GetV0IdentityDetailsResultKind;
+
+/**
+ * Discriminant for `GetV1DE16ByteSaltResult`.
+ */
+enum np_ffi_GetV1DE16ByteSaltResultKind {
+  /**
+   * The attempt to get the derived salt failed, possibly
+   * because the passed DE offset was invalid (==255),
+   * or because there was no salt included for the
+   * referenced advertisement section (i.e: it was
+   * a public advertisement section, or it was deallocated.)
+   */
+  NP_FFI_GET_V1DE16_BYTE_SALT_RESULT_KIND_ERROR = 0,
+  /**
+   * A 16-byte salt for the given DE offset was successfully
+   * derived.
+   */
+  NP_FFI_GET_V1DE16_BYTE_SALT_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_GetV1DE16ByteSaltResultKind;
+
+/**
  * Discriminant for the `GetV1DEResult` enum.
  */
 enum np_ffi_GetV1DEResultKind {
@@ -229,6 +533,27 @@
 typedef uint8_t np_ffi_GetV1DEResultKind;
 
 /**
+ * Discriminant for `GetV1IdentityDetailsResult`
+ */
+enum np_ffi_GetV1IdentityDetailsResultKind {
+  /**
+   * The attempt to get the identity details
+   * for the section failed, possibly
+   * due to the section being a public
+   * section, or the underlying
+   * advertisement has already been deallocated.
+   */
+  NP_FFI_GET_V1_IDENTITY_DETAILS_RESULT_KIND_ERROR = 0,
+  /**
+   * The attempt to get the identity details succeeded.
+   * The wrapped identity details may be obtained via
+   * `GetV1IdentityDetailsResult#into_success`.
+   */
+  NP_FFI_GET_V1_IDENTITY_DETAILS_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_GetV1IdentityDetailsResultKind;
+
+/**
  * Discriminant for `GetV1SectionResult`
  */
 enum np_ffi_GetV1SectionResultKind {
@@ -249,6 +574,24 @@
 typedef uint8_t np_ffi_GetV1SectionResultKind;
 
 /**
+ * Discriminant for `NextV1DE16ByteSaltResult`.
+ */
+enum np_ffi_NextV1DE16ByteSaltResultKind {
+  /**
+   * We couldn't return a 16-byte DE salt, possibly
+   * because the handle to the section builder
+   * was invalid, or possibly because the section
+   * builder was for a public section.
+   */
+  NP_FFI_NEXT_V1DE16_BYTE_SALT_RESULT_KIND_ERROR = 0,
+  /**
+   * A 16-byte DE salt was returned successfully.
+   */
+  NP_FFI_NEXT_V1DE16_BYTE_SALT_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_NextV1DE16ByteSaltResultKind;
+
+/**
  * Structure for categorized reasons for why a NP C FFI call may
  * be panicking.
  */
@@ -268,15 +611,80 @@
    */
   NP_FFI_PANIC_REASON_ASSERT_FAILED = 1,
   /**
-   * Error returned if action bits inside of a V0Actions struct are invalid. If the struct was
-   * created by this deserializer, the bits will always be valid, they are only invalid if
-   * a user reaches in and changes them to something invalid.
+   * Error returned if the bit representation of a supposedly-Rust-constructed
+   * -and-validated type actually doesn't correspond to the format of the
+   * data structure expected on the Rust side of the boundary, and performing
+   * further operations on the structure would yield unintended behavior.
+   * If this kind of error is being raised, the C code must
+   * be messing with stack-allocated data structures for this library
+   * in an entirely unexpected way.
    */
-  NP_FFI_PANIC_REASON_INVALID_ACTION_BITS = 2,
+  NP_FFI_PANIC_REASON_INVALID_STACK_DATA_STRUCTURE = 2,
 };
 typedef uint8_t np_ffi_PanicReason;
 
 /**
+ * Discriminant for `SerializeV0AdvertisementResult`.
+ */
+enum np_ffi_SerializeV0AdvertisementResultKind {
+  /**
+   * Serializing the advertisement to bytes was successful.
+   */
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_KIND_SUCCESS = 0,
+  /**
+   * Serializing the advertisement to bytes failed
+   * because the data in the advertisement wasn't
+   * of an appropriate size for LDT encryption
+   * to succeed.
+   */
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_KIND_LDT_ERROR = 1,
+  /**
+   * The advertisement builder handle was invalid.
+   */
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_KIND_INVALID_ADVERTISEMENT_BUILDER_HANDLE = 2,
+};
+typedef uint8_t np_ffi_SerializeV0AdvertisementResultKind;
+
+/**
+ * Discriminant for `SerializeV1AdvertisementResult`.
+ */
+enum np_ffi_SerializeV1AdvertisementResultKind {
+  /**
+   * Serializing the advertisement to bytes was successful.
+   */
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_KIND_SUCCESS = 0,
+  /**
+   * The state of the advertisement builder was invalid
+   * for the builder to be closed for serialization, likely
+   * because there was an unclosed section builder.
+   */
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_KIND_INVALID_BUILDER_STATE = 1,
+  /**
+   * The advertisement builder handle was invalid.
+   */
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_KIND_INVALID_ADVERTISEMENT_BUILDER_HANDLE = 2,
+};
+typedef uint8_t np_ffi_SerializeV1AdvertisementResultKind;
+
+/**
+ * Discriminant for `SetV0ActionResult`.
+ */
+enum np_ffi_SetV0ActionResultKind {
+  /**
+   * The attempt to set the action bit failed. The
+   * action bits were yielded back to the caller,
+   * unmodified.
+   */
+  NP_FFI_SET_V0_ACTION_RESULT_KIND_ERROR = 0,
+  /**
+   * The attempt to set the action bit succeeded.
+   * The updated action bits were yielded back to the caller.
+   */
+  NP_FFI_SET_V0_ACTION_RESULT_KIND_SUCCESS = 1,
+};
+typedef uint8_t np_ffi_SetV0ActionResultKind;
+
+/**
  * Discriminant for `V0DataElement`.
  */
 enum np_ffi_V0DataElementKind {
@@ -296,7 +704,24 @@
 typedef uint8_t np_ffi_V0DataElementKind;
 
 /**
- *A `#[repr(C)]` handle to a value of type `super::CredentialBookInternals`.
+ * Information about the verification scheme used
+ * for verifying the integrity of the contents
+ * of a decrypted section.
+ */
+enum np_ffi_V1VerificationMode {
+  /**
+   * Message integrity code verification.
+   */
+  NP_FFI_V1_VERIFICATION_MODE_MIC = 0,
+  /**
+   * Signature verification.
+   */
+  NP_FFI_V1_VERIFICATION_MODE_SIGNATURE = 1,
+};
+typedef uint8_t np_ffi_V1VerificationMode;
+
+/**
+ * A `#[repr(C)]` handle to a value of type `CredentialBookInternals`
  */
 typedef struct {
   uint64_t handle_id;
@@ -321,7 +746,7 @@
 } np_ffi_CreateCredentialBookResult;
 
 /**
- *A `#[repr(C)]` handle to a value of type `super::CredentialSlabInternals`.
+ * A `#[repr(C)]` handle to a value of type `CredentialSlabInternals`
  */
 typedef struct {
   uint64_t handle_id;
@@ -394,7 +819,53 @@
 } np_ffi_V1MatchableCredential;
 
 /**
- *A `#[repr(C)]` handle to a value of type `super::V0PayloadInternals`.
+ * A `#[repr(C)]` handle to a value of type `DecryptedMetadataInternals`
+ */
+typedef struct {
+  uint64_t handle_id;
+} np_ffi_DecryptedMetadata;
+
+/**
+ * The result of decrypting metadata from either a V0Payload or DeserializedV1Section
+ */
+typedef enum {
+  NP_FFI_DECRYPT_METADATA_RESULT_SUCCESS,
+  NP_FFI_DECRYPT_METADATA_RESULT_ERROR,
+} np_ffi_DecryptMetadataResult_Tag;
+
+typedef struct {
+  np_ffi_DecryptMetadataResult_Tag tag;
+  union {
+    struct {
+      np_ffi_DecryptedMetadata success;
+    };
+  };
+} np_ffi_DecryptMetadataResult;
+
+/**
+ * The pointer and length of the decrypted metadata byte buffer
+ */
+typedef struct {
+  const uint8_t *ptr;
+  uintptr_t len;
+} np_ffi_MetadataBufferParts;
+
+typedef enum {
+  NP_FFI_GET_METADATA_BUFFER_PARTS_RESULT_SUCCESS,
+  NP_FFI_GET_METADATA_BUFFER_PARTS_RESULT_ERROR,
+} np_ffi_GetMetadataBufferPartsResult_Tag;
+
+typedef struct {
+  np_ffi_GetMetadataBufferPartsResult_Tag tag;
+  union {
+    struct {
+      np_ffi_MetadataBufferParts success;
+    };
+  };
+} np_ffi_GetMetadataBufferPartsResult;
+
+/**
+ * A `#[repr(C)]` handle to a value of type `V0PayloadInternals`
  */
 typedef struct {
   uint64_t handle_id;
@@ -427,7 +898,7 @@
 } np_ffi_DeserializedV0Advertisement;
 
 /**
- *A `#[repr(C)]` handle to a value of type `super::LegibleV1SectionsInternals`.
+ * A `#[repr(C)]` handle to a value of type `LegibleV1SectionsInternals`
  */
 typedef struct {
   uint64_t handle_id;
@@ -576,6 +1047,49 @@
 } np_ffi_GetV0DEResult;
 
 /**
+ * Information about the identity which matched a
+ * decrypted V0 advertisement.
+ */
+typedef struct {
+  /**
+   * The identity type (private/provisioned/trusted)
+   */
+  np_ffi_EncryptedIdentityType identity_type;
+  /**
+   * The ID of the credential which
+   * matched the deserialized adv
+   */
+  uint32_t cred_id;
+  /**
+   * The 14-byte legacy metadata key
+   */
+  uint8_t metadata_key[14];
+  /**
+   * The 2-byte advertisement salt
+   */
+  uint8_t salt[2];
+} np_ffi_DeserializedV0IdentityDetails;
+
+/**
+ * The result of attempting to get the identity details
+ * for a V0 advertisement via
+ * `DeserializedV0Advertisement#get_identity_details`.
+ */
+typedef enum {
+  NP_FFI_GET_V0_IDENTITY_DETAILS_RESULT_ERROR,
+  NP_FFI_GET_V0_IDENTITY_DETAILS_RESULT_SUCCESS,
+} np_ffi_GetV0IdentityDetailsResult_Tag;
+
+typedef struct {
+  np_ffi_GetV0IdentityDetailsResult_Tag tag;
+  union {
+    struct {
+      np_ffi_DeserializedV0IdentityDetails success;
+    };
+  };
+} np_ffi_GetV0IdentityDetailsResult;
+
+/**
  * Handle to a deserialized V1 section
  */
 typedef struct {
@@ -683,6 +1197,356 @@
 } np_ffi_GetV1DEResult;
 
 /**
+ * Information about the identity which matched
+ * a decrypted V1 section.
+ */
+typedef struct {
+  /**
+   * The identity type (private/provisioned/trusted)
+   */
+  np_ffi_EncryptedIdentityType identity_type;
+  /**
+   * The verification mode (MIC/Signature) which
+   * was used to verify the decrypted adv contents.
+   */
+  np_ffi_V1VerificationMode verification_mode;
+  /**
+   * The ID of the credential which
+   * matched the deserialized section.
+   */
+  uint32_t cred_id;
+  /**
+   * The 16-byte metadata key.
+   */
+  uint8_t metadata_key[16];
+} np_ffi_DeserializedV1IdentityDetails;
+
+/**
+ * The result of attempting to get the identity details
+ * for a V1 advertisement section via
+ * `DeserializedV1Advertisement#get_identity_details`.
+ */
+typedef enum {
+  NP_FFI_GET_V1_IDENTITY_DETAILS_RESULT_ERROR,
+  NP_FFI_GET_V1_IDENTITY_DETAILS_RESULT_SUCCESS,
+} np_ffi_GetV1IdentityDetailsResult_Tag;
+
+typedef struct {
+  np_ffi_GetV1IdentityDetailsResult_Tag tag;
+  union {
+    struct {
+      np_ffi_DeserializedV1IdentityDetails success;
+    };
+  };
+} np_ffi_GetV1IdentityDetailsResult;
+
+/**
+ * A FFI safe wrapper of a fixed size array
+ */
+typedef struct {
+  uint8_t _0[16];
+} np_ffi_FixedSizeArray_16;
+
+/**
+ * The result of attempting to get a derived 16-byte salt
+ * for a given DE within a section.
+ */
+typedef enum {
+  NP_FFI_GET_V1DE16_BYTE_SALT_RESULT_ERROR,
+  NP_FFI_GET_V1DE16_BYTE_SALT_RESULT_SUCCESS,
+} np_ffi_GetV1DE16ByteSaltResult_Tag;
+
+typedef struct {
+  np_ffi_GetV1DE16ByteSaltResult_Tag tag;
+  union {
+    struct {
+      np_ffi_FixedSizeArray_16 success;
+    };
+  };
+} np_ffi_GetV1DE16ByteSaltResult;
+
+/**
+ * A `#[repr(C)]` handle to a value of type `V0AdvertisementBuilderInternals`
+ */
+typedef struct {
+  uint64_t handle_id;
+} np_ffi_V0AdvertisementBuilderHandle;
+
+/**
+ * A handle to a builder for V0 advertisements.
+ */
+typedef struct {
+  np_ffi_AdvertisementBuilderKind kind;
+  np_ffi_V0AdvertisementBuilderHandle handle;
+} np_ffi_V0AdvertisementBuilder;
+
+/**
+ * A byte-string with a maximum size of N,
+ * where only the first `len` bytes are considered
+ * to contain the actual payload. N is only
+ * permitted to be between 0 and 255.
+ */
+typedef struct {
+  uint8_t len;
+  uint8_t bytes[24];
+} np_ffi_ByteBuffer_24;
+
+/**
+ * The result of attempting to serialize the contents
+ * of a V0 advertisement builder to raw bytes.
+ */
+typedef enum {
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_SUCCESS,
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_LDT_ERROR,
+  NP_FFI_SERIALIZE_V0_ADVERTISEMENT_RESULT_INVALID_ADVERTISEMENT_BUILDER_HANDLE,
+} np_ffi_SerializeV0AdvertisementResult_Tag;
+
+typedef struct {
+  np_ffi_SerializeV0AdvertisementResult_Tag tag;
+  union {
+    struct {
+      np_ffi_ByteBuffer_24 success;
+    };
+  };
+} np_ffi_SerializeV0AdvertisementResult;
+
+/**
+ * The result of attempting to create a new V0 advertisement builder.
+ */
+typedef enum {
+  NP_FFI_CREATE_V0_ADVERTISEMENT_BUILDER_RESULT_NO_SPACE_LEFT,
+  NP_FFI_CREATE_V0_ADVERTISEMENT_BUILDER_RESULT_SUCCESS,
+} np_ffi_CreateV0AdvertisementBuilderResult_Tag;
+
+typedef struct {
+  np_ffi_CreateV0AdvertisementBuilderResult_Tag tag;
+  union {
+    struct {
+      np_ffi_V0AdvertisementBuilder success;
+    };
+  };
+} np_ffi_CreateV0AdvertisementBuilderResult;
+
+/**
+ * Cryptographic information about a particular V0 broadcast credential
+ * necessary to LDT-encrypt V0 advertisements.
+ */
+typedef struct {
+  uint8_t key_seed[32];
+  uint8_t metadata_key[14];
+} np_ffi_V0BroadcastCredential;
+
+/**
+ * A FFI safe wrapper of a fixed size array
+ */
+typedef struct {
+  uint8_t _0[2];
+} np_ffi_FixedSizeArray_2;
+
+/**
+ * A `#[repr(C)]` handle to a value of type `V1AdvertisementBuilderInternals`
+ */
+typedef struct {
+  uint64_t handle_id;
+} np_ffi_V1AdvertisementBuilderHandle;
+
+/**
+ * A handle to a builder for V1 advertisements.
+ */
+typedef struct {
+  np_ffi_AdvertisementBuilderKind kind;
+  np_ffi_V1AdvertisementBuilderHandle handle;
+} np_ffi_V1AdvertisementBuilder;
+
+/**
+ * A handle to a builder for V1 sections.
+ */
+typedef struct {
+  np_ffi_V1AdvertisementBuilder adv_builder;
+  uint8_t section_index;
+} np_ffi_V1SectionBuilder;
+
+/**
+ * The result of attempting to create a new V1 section builder.
+ */
+typedef enum {
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_SUCCESS,
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_UNCLOSED_ACTIVE_SECTION,
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_INVALID_ADVERTISEMENT_BUILDER_HANDLE,
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_IDENTITY_KIND_MISMATCH,
+  NP_FFI_CREATE_V1_SECTION_BUILDER_RESULT_NO_SPACE_LEFT,
+} np_ffi_CreateV1SectionBuilderResult_Tag;
+
+typedef struct {
+  np_ffi_CreateV1SectionBuilderResult_Tag tag;
+  union {
+    struct {
+      np_ffi_V1SectionBuilder success;
+    };
+  };
+} np_ffi_CreateV1SectionBuilderResult;
+
+/**
+ * Cryptographic information about a particular V1 broadcast credential
+ * necessary to encrypt V1 MIC-verified and signature-verified sections.
+ */
+typedef struct {
+  uint8_t key_seed[32];
+  uint8_t metadata_key[16];
+  uint8_t private_key[32];
+} np_ffi_V1BroadcastCredential;
+
+/**
+ * A byte-string with a maximum size of N,
+ * where only the first `len` bytes are considered
+ * to contain the actual payload. N is only
+ * permitted to be between 0 and 255.
+ */
+typedef struct {
+  uint8_t len;
+  uint8_t bytes[250];
+} np_ffi_ByteBuffer_250;
+
+/**
+ * The result of attempting to serialize the contents
+ * of a V1 advertisement builder to raw bytes.
+ */
+typedef enum {
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_SUCCESS,
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_INVALID_BUILDER_STATE,
+  NP_FFI_SERIALIZE_V1_ADVERTISEMENT_RESULT_INVALID_ADVERTISEMENT_BUILDER_HANDLE,
+} np_ffi_SerializeV1AdvertisementResult_Tag;
+
+typedef struct {
+  np_ffi_SerializeV1AdvertisementResult_Tag tag;
+  union {
+    struct {
+      np_ffi_ByteBuffer_250 success;
+    };
+  };
+} np_ffi_SerializeV1AdvertisementResult;
+
+/**
+ * The result of attempting to create a new V1 advertisement builder.
+ */
+typedef enum {
+  NP_FFI_CREATE_V1_ADVERTISEMENT_BUILDER_RESULT_NO_SPACE_LEFT,
+  NP_FFI_CREATE_V1_ADVERTISEMENT_BUILDER_RESULT_SUCCESS,
+} np_ffi_CreateV1AdvertisementBuilderResult_Tag;
+
+typedef struct {
+  np_ffi_CreateV1AdvertisementBuilderResult_Tag tag;
+  union {
+    struct {
+      np_ffi_V1AdvertisementBuilder success;
+    };
+  };
+} np_ffi_CreateV1AdvertisementBuilderResult;
+
+/**
+ * The result of attempting to get the derived V1 DE
+ * 16-byte salt for the next-added DE to the section
+ * builder behind the given handle.
+ */
+typedef enum {
+  NP_FFI_NEXT_V1DE16_BYTE_SALT_RESULT_ERROR,
+  NP_FFI_NEXT_V1DE16_BYTE_SALT_RESULT_SUCCESS,
+} np_ffi_NextV1DE16ByteSaltResult_Tag;
+
+typedef struct {
+  np_ffi_NextV1DE16ByteSaltResult_Tag tag;
+  union {
+    struct {
+      np_ffi_FixedSizeArray_16 success;
+    };
+  };
+} np_ffi_NextV1DE16ByteSaltResult;
+
+/**
+ * Represents the contents of a V1 DE whose payload
+ * is stored in a buffer which may contain up to 127 bytes,
+ * which is the maximum for any V1 DE.
+ *
+ * This representation is stable, and so you may directly
+ * reference this struct's fields if you wish.
+ */
+typedef struct {
+  /**
+   * The DE type code of this generic data-element.
+   */
+  uint32_t de_type;
+  /**
+   * The raw data-element byte payload, up to
+   * 127 bytes in length.
+   */
+  np_ffi_ByteBuffer_127 payload;
+} np_ffi_V1DE127ByteBuffer;
+
+/**
+ * Result type for attempting to construct a
+ * Tx Power from a signed byte.
+ */
+typedef enum {
+  NP_FFI_BUILD_TX_POWER_RESULT_OUT_OF_RANGE,
+  NP_FFI_BUILD_TX_POWER_RESULT_SUCCESS,
+} np_ffi_BuildTxPowerResult_Tag;
+
+typedef struct {
+  np_ffi_BuildTxPowerResult_Tag tag;
+  union {
+    struct {
+      np_ffi_TxPower success;
+    };
+  };
+} np_ffi_BuildTxPowerResult;
+
+/**
+ * The result of attempting to set a particular action
+ * bit on some `V0Actions`.
+ */
+typedef enum {
+  NP_FFI_SET_V0_ACTION_RESULT_SUCCESS,
+  NP_FFI_SET_V0_ACTION_RESULT_ERROR,
+} np_ffi_SetV0ActionResult_Tag;
+
+typedef struct {
+  np_ffi_SetV0ActionResult_Tag tag;
+  union {
+    struct {
+      np_ffi_V0Actions success;
+    };
+    struct {
+      np_ffi_V0Actions error;
+    };
+  };
+} np_ffi_SetV0ActionResult;
+
+/**
+ * Representation of a context-sync sequence number.
+ */
+typedef struct {
+  uint8_t value;
+} np_ffi_ContextSyncSeqNum;
+
+/**
+ * Result type for attempting to construct a
+ * ContextSyncSeqNum from an unsigned byte.
+ */
+typedef enum {
+  NP_FFI_BUILD_CONTEXT_SYNC_SEQ_NUM_RESULT_OUT_OF_RANGE,
+  NP_FFI_BUILD_CONTEXT_SYNC_SEQ_NUM_RESULT_SUCCESS,
+} np_ffi_BuildContextSyncSeqNumResult_Tag;
+
+typedef struct {
+  np_ffi_BuildContextSyncSeqNumResult_Tag tag;
+  union {
+    struct {
+      np_ffi_ContextSyncSeqNum success;
+    };
+  };
+} np_ffi_BuildContextSyncSeqNumResult;
+
+/**
  * Overrides the global panic handler to be used when NP C FFI calls panic.
  * This method will only have an effect on the global panic-handler
  * the first time it's called, and this method will return `true`
@@ -789,6 +1653,40 @@
 void np_ffi_global_config_set_max_num_deserialized_v1_advertisements(uint32_t max_num_deserialized_v1_advertisements);
 
 /**
+ * Sets the maximum number of active handles to v0 advertisement
+ * builders which may be active at any one time.
+ *
+ * Useful for bounding the maximum memory used by the client application
+ * on v0 advertisements in constrained-memory environments.
+ *
+ * Default value: Max value.
+ * Max value: `u32::MAX - 1`.
+ *
+ * Setting this value will have no effect if the handle-maps for the
+ * API have already begun being used by the client code, and any
+ * values set will take effect upon the first usage of any API
+ * call which references or returns a V0 advertisement builder.
+ */
+void np_ffi_global_config_set_max_num_v0_advertisement_builders(uint32_t max_num_v0_advertisement_builders);
+
+/**
+ * Sets the maximum number of active handles to v1 advertisement
+ * builders which may be active at any one time.
+ *
+ * Useful for bounding the maximum memory used by the client application
+ * on v1 advertisements in constrained-memory environments.
+ *
+ * Default value: Max value.
+ * Max value: `u32::MAX - 1`.
+ *
+ * Setting this value will have no effect if the handle-maps for the
+ * API have already begun being used by the client code, and any
+ * values set will take effect upon the first usage of any API
+ * call which references or returns a V1 advertisement builder.
+ */
+void np_ffi_global_config_set_max_num_v1_advertisement_builders(uint32_t max_num_v1_advertisement_builders);
+
+/**
  * Allocates a new credential-book from the given slab, returning a handle
  * to the created object. The slab will be deallocated by this call.
  */
@@ -839,8 +1737,8 @@
  * which contains the correct len amount of bytes. The copy from the memory address isn't atomic,
  * so concurrent modification of the array from another thread would cause undefined behavior.
  */
-np_ffi_AddCredentialToSlabResult np_ffi_CredentialSlab_add_v0_credential(np_ffi_CredentialSlab credential_slab,
-                                                                         np_ffi_V0MatchableCredential v0_cred);
+np_ffi_AddV0CredentialToSlabResult np_ffi_CredentialSlab_add_v0_credential(np_ffi_CredentialSlab credential_slab,
+                                                                           np_ffi_V0MatchableCredential v0_cred);
 
 /**
  * Adds the given V1 discovery credential with some associated
@@ -850,8 +1748,44 @@
  * which contains the correct len amount of bytes. The copy from the memory address isn't atomic,
  * so concurrent modification of the array from another thread would cause undefined behavior.
  */
-np_ffi_AddCredentialToSlabResult np_ffi_CredentialSlab_add_v1_credential(np_ffi_CredentialSlab credential_slab,
-                                                                         np_ffi_V1MatchableCredential v1_cred);
+np_ffi_AddV1CredentialToSlabResult np_ffi_CredentialSlab_add_v1_credential(np_ffi_CredentialSlab credential_slab,
+                                                                           np_ffi_V1MatchableCredential v1_cred);
+
+/**
+ * Frees the underlying resources of the decrypted metadata buffer
+ */
+np_ffi_DeallocateResult np_ffi_deallocate_DecryptedMetadata(np_ffi_DecryptedMetadata metadata);
+
+/**
+ * Gets the tag of a `DecryptMetadataResult` tagged-union. On success the wrapped identity
+ * details may be obtained via `DecryptMetadataResult#into_success`.
+ */
+np_ffi_DecryptMetadataResultKind np_ffi_DecryptMetadataResult_kind(np_ffi_DecryptMetadataResult result);
+
+/**
+ * Casts a `DecryptMetadataResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_DecryptedMetadata np_ffi_DecryptMetadataResult_into_SUCCESS(np_ffi_DecryptMetadataResult result);
+
+/**
+ * Gets the pointer and length of the heap allocated byte buffer of decrypted metadata
+ */
+np_ffi_GetMetadataBufferPartsResult np_ffi_DecryptedMetadata_get_metadata_buffer_parts(np_ffi_DecryptedMetadata metadata);
+
+/**
+ * Gets the tag of a `GetMetadataBufferPartsResult` tagged-union. On success the wrapped identity
+ * details may be obtained via `GetMetadataBufferPartsResult#into_success`.
+ */
+np_ffi_GetMetadataBufferPartsResultKind np_ffi_GetMetadataBufferPartsResult_kind(np_ffi_GetMetadataBufferPartsResult result);
+
+/**
+ * Casts a `GetMetadataBufferPartsResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant. This returns the pointer and length
+ * of the byte buffer containing the decrypted metadata.  There can be a data-race between attempts
+ * to access the contents of the buffer and attempts to free the handle from different threads.
+ */
+np_ffi_MetadataBufferParts np_ffi_GetMetadataBufferPartsResult_into_SUCCESS(np_ffi_GetMetadataBufferPartsResult result);
 
 /**
  * Attempts to deserialize an advertisement with the given service-data
@@ -933,6 +1867,29 @@
 np_ffi_GetV0DEResult np_ffi_V0Payload_get_de(np_ffi_V0Payload payload, uint8_t index);
 
 /**
+ * Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+ */
+np_ffi_DecryptMetadataResult np_ffi_V0Payload_decrypt_metadata(np_ffi_V0Payload payload);
+
+/**
+ * Gets the identity details for this V0 payload, or returns an error if this payload does not have
+ * any associated identity (public advertisement)
+ */
+np_ffi_GetV0IdentityDetailsResult np_ffi_V0Payload_get_identity_details(np_ffi_V0Payload payload);
+
+/**
+ * Gets the tag of a `GetV0IdentityDetailsResult` tagged-union. On success the wrapped identity
+ * details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+ */
+np_ffi_GetV0IdentityDetailsResultKind np_ffi_GetV0IdentityDetailsResult_kind(np_ffi_GetV0IdentityDetailsResult result);
+
+/**
+ * Casts a `GetV0IdentityDetailsResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_DeserializedV0IdentityDetails np_ffi_GetV0IdentityDetailsResult_into_SUCCESS(np_ffi_GetV0IdentityDetailsResult result);
+
+/**
  * Deallocates any internal data of a `V0Payload`
  */
 np_ffi_DeallocateResult np_ffi_deallocate_v0_payload(np_ffi_V0Payload payload);
@@ -949,38 +1906,6 @@
 np_ffi_V0DataElement np_ffi_GetV0DEResult_into_SUCCESS(np_ffi_GetV0DEResult result);
 
 /**
- * Gets the tag of a `V0DataElement` tagged-union.
- */
-np_ffi_V0DataElementKind np_ffi_V0DataElement_kind(np_ffi_V0DataElement de);
-
-/**
- * Casts a `V0DataElement` to the `TxPower` variant, panicking in the
- * case where the passed value is of a different enum variant.
- */
-np_ffi_TxPower np_ffi_V0DataElement_into_TX_POWER(np_ffi_V0DataElement de);
-
-/**
- * Casts a `V0DataElement` to the `Actions` variant, panicking in the
- * case where the passed value is of a different enum variant.
- */
-np_ffi_V0Actions np_ffi_V0DataElement_into_ACTIONS(np_ffi_V0DataElement de);
-
-/**
- * Return whether a boolean action type is set in this data element
- */
-bool np_ffi_V0Actions_has_action(np_ffi_V0Actions actions, np_ffi_BooleanActionType action_type);
-
-/**
- * Gets the 4 bit context sync sequence number as a u8 from this data element
- */
-uint8_t np_ffi_V0Actions_get_context_sync_sequence_number(np_ffi_V0Actions actions);
-
-/**
- * Return whether a boolean action type is set in this data element
- */
-uint32_t np_ffi_V0Actions_as_u32(np_ffi_V0Actions actions);
-
-/**
  * Gets the number of legible sections on a deserialized V1 advertisement.
  * Suitable as an index bound for the second argument of
  * `np_ffi_DeserializedV1Advertisement#get_section`.
@@ -1029,17 +1954,362 @@
                                                          uint8_t de_index);
 
 /**
+ * Gets the identity details used to decrypt this V1 section, or returns an error if this payload
+ * does not have any associated identity (public advertisement)
+ */
+np_ffi_GetV1IdentityDetailsResult np_ffi_DeserializedV1Section_get_identity_details(np_ffi_DeserializedV1Section section);
+
+/**
+ * Gets the tag of a `GetV1IdentityDetailsResult` tagged-union. On success the wrapped identity
+ * details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+ */
+np_ffi_GetV1IdentityDetailsResultKind np_ffi_GetV1IdentityDetailsResult_kind(np_ffi_GetV1IdentityDetailsResult result);
+
+/**
+ * Casts a `GetV1IdentityDetailsResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_DeserializedV1IdentityDetails np_ffi_GetV1IdentityDetailsResult_into_SUCCESS(np_ffi_GetV1IdentityDetailsResult result);
+
+/**
+ * Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+ */
+np_ffi_DecryptMetadataResult np_ffi_DeserializedV1Section_decrypt_metadata(np_ffi_DeserializedV1Section section);
+
+/**
+ * Attempts to derive a 16-byte DE salt for a DE in this section with the given DE offset. This
+ * operation may fail if the passed offset is 255 (causes overflow) or if the section
+ * is leveraging a public identity, and hence, doesn't have an associated salt.
+ */
+np_ffi_GetV1DE16ByteSaltResult np_ffi_DeserializedV1Section_derive_16_byte_salt_for_offset(np_ffi_DeserializedV1Section section,
+                                                                                           uint8_t offset);
+
+/**
+ * Gets the tag of a `GetV1DE16ByteSaltResult` tagged-union. On success the wrapped identity
+ * details may be obtained via `GetV1DE16ByteSaltResult#into_success`.
+ */
+np_ffi_GetV1DE16ByteSaltResultKind np_ffi_GetV1DE16ByteSaltResult_kind(np_ffi_GetV1DE16ByteSaltResult result);
+
+/**
+ * Casts a `GetV1DE16ByteSaltResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_FixedSizeArray_16 np_ffi_GetV1DE16ByteSaltResult_into_SUCCESS(np_ffi_GetV1DE16ByteSaltResult result);
+
+/**
  * Gets the tag of the `GetV1DEResult` tagged-union.
  */
 np_ffi_GetV1DEResultKind np_ffi_GetV1DEResult_kind(np_ffi_GetV1DEResult result);
 
 /**
- * Casts a `GetV1DEResult` to the `Success` vartiant, panicking in the
+ * Casts a `GetV1DEResult` to the `Success` variant, panicking in the
  * case where the passed value is of a different enum variant.
  */
 np_ffi_V1DataElement np_ffi_GetV1DEResult_into_SUCCESS(np_ffi_GetV1DEResult result);
 
 /**
+ * Attempts to add the given data element to the V0
+ * advertisement builder behind the passed handle.
+ *
+ * This method may invoke the panic handler if the passed DE
+ * has an invalid layout, which may indicate that the backing
+ * data on the stack was somehow tampered with in an unintended way.
+ */
+np_ffi_AddV0DEResult np_ffi_V0AdvertisementBuilder_add_de(np_ffi_V0AdvertisementBuilder adv_builder,
+                                                          np_ffi_V0DataElement de);
+
+/**
+ * Attempts to serialize the contents of the advertisement builder
+ * behind this handle to bytes. Assuming that the handle is valid,
+ * this operation will always result in the contents behind the
+ * advertisement builder handle being deallocated.
+ */
+np_ffi_SerializeV0AdvertisementResult np_ffi_V0AdvertisementBuilder_into_advertisement(np_ffi_V0AdvertisementBuilder adv_builder);
+
+/**
+ * Attempts to deallocate the v0 advertisement builder behind
+ * the given handle.
+ */
+np_ffi_DeallocateResult np_ffi_deallocate_v0_advertisement_builder(np_ffi_V0AdvertisementBuilder adv_builder);
+
+/**
+ * Gets the tag of a `CreateV0AdvertisementBuilderResult` tagged-union.
+ */
+np_ffi_CreateV0AdvertisementBuilderResultKind np_ffi_CreateV0AdvertisementBuilderResult_kind(np_ffi_CreateV0AdvertisementBuilderResult result);
+
+/**
+ * Casts a `CreateV0AdvertisementBuilderResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_V0AdvertisementBuilder np_ffi_CreateV0AdvertisementBuilderResult_into_SUCCESS(np_ffi_CreateV0AdvertisementBuilderResult result);
+
+/**
+ * Creates a new V0 advertisement builder for a public advertisement.
+ */
+np_ffi_CreateV0AdvertisementBuilderResult np_ffi_create_v0_public_advertisement_builder(void);
+
+/**
+ * Creates a new V0 advertisement builder for an encrypted advertisement.
+ */
+np_ffi_CreateV0AdvertisementBuilderResult np_ffi_create_v0_encrypted_advertisement_builder(np_ffi_V0BroadcastCredential broadcast_cred,
+                                                                                           np_ffi_EncryptedIdentityType identity_type,
+                                                                                           np_ffi_FixedSizeArray_2 salt);
+
+/**
+ * Gets the tag of a `SerializeV0AdvertisementResult` tagged-union.
+ */
+np_ffi_SerializeV0AdvertisementResultKind np_ffi_SerializeV0AdvertisementResult_kind(np_ffi_SerializeV0AdvertisementResult result);
+
+/**
+ * Casts a `SerializeV0AdvertisementResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_ByteBuffer_24 np_ffi_SerializeV0AdvertisementResult_into_SUCCESS(np_ffi_SerializeV0AdvertisementResult result);
+
+/**
+ * Attempts to create a builder for a new public section within
+ * the advertisement builder behind this handle,
+ * returning a handle to the newly-created section builder if successful.
+ *
+ * This method may fail if there is another currently-active
+ * section builder for the same advertisement builder, if the
+ * kind of section being added does not match the advertisement
+ * type (public/encrypted), or if the section would not manage
+ * to fit within the enclosing advertisement.
+ */
+np_ffi_CreateV1SectionBuilderResult np_ffi_V1AdvertisementBuilder_public_section_builder(np_ffi_V1AdvertisementBuilder adv_builder);
+
+/**
+ * Attempts to create a builder for a new encrypted section within
+ * the advertisement builder behind the given handle,
+ * returning a handle to the newly-created section builder if successful.
+ *
+ * The identity details for the new section builder may be specified
+ * via providing the broadcast credential data, the kind of encrypted
+ * identity being broadcast (private/trusted/provisioned), and the
+ * verification mode (MIC/Signature) to be used for the encrypted section.
+ *
+ * This method may fail if there is another currently-active
+ * section builder for the same advertisement builder, if the
+ * kind of section being added does not match the advertisement
+ * type (public/encrypted), or if the section would not manage
+ * to fit within the enclosing advertisement.
+ */
+np_ffi_CreateV1SectionBuilderResult np_ffi_V1AdvertisementBuilder_encrypted_section_builder(np_ffi_V1AdvertisementBuilder adv_builder,
+                                                                                            np_ffi_V1BroadcastCredential broadcast_cred,
+                                                                                            np_ffi_EncryptedIdentityType identity_type,
+                                                                                            np_ffi_V1VerificationMode verification_mode);
+
+/**
+ * Attempts to serialize the contents of the advertisement builder
+ * behind this handle to bytes. Assuming that the handle is valid,
+ * this operation will always result in the contents behind the
+ * advertisement builder handle being deallocated.
+ */
+np_ffi_SerializeV1AdvertisementResult np_ffi_V1AdvertisementBuilder_into_advertisement(np_ffi_V1AdvertisementBuilder adv_builder);
+
+/**
+ * Gets the tag of a `CreateV1AdvertisementBuilderResult` tagged-union.
+ */
+np_ffi_CreateV1AdvertisementBuilderResultKind np_ffi_CreateV1AdvertisementBuilderResult_kind(np_ffi_CreateV1AdvertisementBuilderResult result);
+
+/**
+ * Casts a `CreateV1AdvertisementBuilderResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_V1AdvertisementBuilder np_ffi_CreateV1AdvertisementBuilderResult_into_SUCCESS(np_ffi_CreateV1AdvertisementBuilderResult result);
+
+/**
+ * Creates a new V1 advertisement builder for the given advertisement
+ * kind (public/encrypted).
+ */
+np_ffi_CreateV1AdvertisementBuilderResult np_ffi_create_v1_advertisement_builder(np_ffi_AdvertisementBuilderKind kind);
+
+/**
+ * Gets the tag of a `SerializeV1AdvertisementResult` tagged-union.
+ */
+np_ffi_SerializeV1AdvertisementResultKind np_ffi_SerializeV1AdvertisementResult_kind(np_ffi_SerializeV1AdvertisementResult result);
+
+/**
+ * Casts a `SerializeV1AdvertisementResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_ByteBuffer_250 np_ffi_SerializeV1AdvertisementResult_into_SUCCESS(np_ffi_SerializeV1AdvertisementResult result);
+
+/**
+ * Gets the tag of a `CreateV1SectionBuilderResult` tagged-union.
+ */
+np_ffi_CreateV1SectionBuilderResultKind np_ffi_CreateV1SectionBuilderResult_kind(np_ffi_CreateV1SectionBuilderResult result);
+
+/**
+ * Casts a `CreateV1SectionBuilderResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_V1SectionBuilder np_ffi_CreateV1SectionBuilderResult_into_SUCCESS(np_ffi_CreateV1SectionBuilderResult result);
+
+/**
+ * Gets the tag of a `NextV1DE16ByteSaltResult` tagged-union.
+ */
+np_ffi_NextV1DE16ByteSaltResultKind np_ffi_NextV1DE16ByteSaltResult_kind(np_ffi_NextV1DE16ByteSaltResult result);
+
+/**
+ * Casts a `NextV1DE16ByteSaltResult` to the `Success` variant,
+ * panicking in the case where the passed value is of a different enum variant.
+ */
+np_ffi_FixedSizeArray_16 np_ffi_NextV1DE16ByteSaltResult_into_SUCCESS(np_ffi_NextV1DE16ByteSaltResult result);
+
+/**
+ * Adds the section constructed behind the given handle to
+ * a section builder to the containing advertisement it originated from.
+ * After this call, the section builder handle will become invalid.
+ */
+np_ffi_AddV1SectionToAdvertisementResult np_ffi_V1SectionBuilder_add_to_advertisement(np_ffi_V1SectionBuilder section_builder);
+
+/**
+ * Attempts to get the derived 16-byte V1 DE salt for the next
+ * DE to be added to the passed section builder. May fail if this
+ * section builder handle is invalid, or if the section
+ * is a public section.
+ */
+np_ffi_NextV1DE16ByteSaltResult np_ffi_V1SectionBuilder_next_de_salt(np_ffi_V1SectionBuilder section_builder);
+
+/**
+ * Attempts to add the given DE to the section builder behind
+ * this handle. The passed DE may have a payload of up to 127
+ * bytes, the maximum for a V1 DE.
+ */
+np_ffi_AddV1DEResult np_ffi_V1SectionBuilder_add_127_byte_buffer_de(np_ffi_V1SectionBuilder section_builder,
+                                                                    np_ffi_V1DE127ByteBuffer de);
+
+/**
+ * Gets the tag of a `V0DataElement` tagged-union.
+ */
+np_ffi_V0DataElementKind np_ffi_V0DataElement_kind(np_ffi_V0DataElement de);
+
+/**
+ * Casts a `V0DataElement` to the `TxPower` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_TxPower np_ffi_V0DataElement_into_TX_POWER(np_ffi_V0DataElement de);
+
+/**
+ * Upcasts a Tx power DE to a generic V0 data-element.
+ */
+np_ffi_V0DataElement np_ffi_TxPower_into_V0DataElement(np_ffi_TxPower tx_power);
+
+/**
+ * Casts a `V0DataElement` to the `Actions` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_V0Actions np_ffi_V0DataElement_into_ACTIONS(np_ffi_V0DataElement de);
+
+/**
+ * Upcasts a V0 actions DE to a generic V0 data-element.
+ */
+np_ffi_V0DataElement np_ffi_V0Actions_into_V0DataElement(np_ffi_V0Actions actions);
+
+/**
+ * Gets the tag of a `BuildTxPowerResult` tagged-union.
+ */
+np_ffi_BuildTxPowerResultKind np_ffi_BuildTxPowerResult_kind(np_ffi_BuildTxPowerResult result);
+
+/**
+ * Casts a `BuildTxPowerResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_TxPower np_ffi_BuildTxPowerResult_into_SUCCESS(np_ffi_BuildTxPowerResult result);
+
+/**
+ * Attempts to construct a new TxPower from
+ * the given signed-byte value.
+ */
+np_ffi_BuildTxPowerResult np_ffi_TxPower_build_from_signed_byte(int8_t tx_power);
+
+/**
+ * Gets the value of the given TxPower as a signed byte.
+ */
+int8_t np_ffi_TxPower_as_signed_byte(np_ffi_TxPower tx_power);
+
+/**
+ * Gets the discriminant of the `SetV0ActionResult` tagged-union.
+ */
+np_ffi_SetV0ActionResultKind np_ffi_SetV0ActionResult_kind(np_ffi_SetV0ActionResult result);
+
+/**
+ * Attempts to cast a `SetV0ActionResult` tagged-union into the `Success` variant.
+ */
+np_ffi_V0Actions np_ffi_SetV0ActionResult_into_SUCCESS(np_ffi_SetV0ActionResult result);
+
+/**
+ * Attempts to cast a `SetV0ActionResult` tagged-union into the `Error` variant.
+ */
+np_ffi_V0Actions np_ffi_SetV0ActionResult_into_ERROR(np_ffi_SetV0ActionResult result);
+
+/**
+ * Constructs a new V0 actions DE with no declared boolean
+ * actions and a zeroed context sync sequence number,
+ * where the DE is intended for the given advertisement
+ * kind (plaintext/encrypted).
+ */
+np_ffi_V0Actions np_ffi_build_new_zeroed_V0Actions(np_ffi_AdvertisementBuilderKind kind);
+
+/**
+ * Return whether a boolean action type is set in this data element
+ */
+bool np_ffi_V0Actions_has_action(np_ffi_V0Actions actions, np_ffi_BooleanActionType action_type);
+
+/**
+ * Gets the 4 bit context sync sequence number as a u8 from this data element
+ */
+np_ffi_ContextSyncSeqNum np_ffi_V0Actions_get_context_sync_sequence_number(np_ffi_V0Actions actions);
+
+/**
+ * Attempts to set the given action bit to the given boolean value.
+ * This operation may fail if the requested action bit may not be
+ * set for the kind of containing advertisement (public/encrypted)
+ * that this action DE is intended to belong to. In this case,
+ * the original action bits will be yielded back to the caller,
+ * unaltered.
+ */
+np_ffi_SetV0ActionResult np_ffi_V0Actions_set_action(np_ffi_V0Actions actions,
+                                                     np_ffi_BooleanActionType action_type,
+                                                     bool value);
+
+/**
+ * Sets the context sequence number for the given Actions DE.
+ */
+np_ffi_V0Actions np_ffi_V0Actions_set_context_sync_sequence_number(np_ffi_V0Actions actions,
+                                                                   np_ffi_ContextSyncSeqNum value);
+
+/**
+ * Returns the representation of the passed `V0Actions` as an unsigned
+ * integer, where the bit-positions correspond to individual actions.
+ */
+uint32_t np_ffi_V0Actions_as_u32(np_ffi_V0Actions actions);
+
+/**
+ * Gets the tag of a `BuildContextSyncSeqNumResult` tagged-union.
+ */
+np_ffi_BuildContextSyncSeqNumResultKind np_ffi_BuildContextSyncSeqNumResult_kind(np_ffi_BuildContextSyncSeqNumResult result);
+
+/**
+ * Casts a `BuildContextSyncSeqNumResult` to the `Success` variant, panicking in the
+ * case where the passed value is of a different enum variant.
+ */
+np_ffi_ContextSyncSeqNum np_ffi_BuildContextSyncSeqNumResult_into_SUCCESS(np_ffi_BuildContextSyncSeqNumResult result);
+
+/**
+ * Attempts to build a new context sync sequence number
+ * from the given unsigned byte.
+ */
+np_ffi_BuildContextSyncSeqNumResult np_ffi_ContextSyncSeqNum_build_from_unsigned_byte(uint8_t value);
+
+/**
+ * Gets the value of the given context-sync sequence number as an unsigned byte.
+ */
+uint8_t np_ffi_ContextSyncSeqNum_as_unsigned_byte(np_ffi_ContextSyncSeqNum seq_num);
+
+/**
  * Converts a `V1DataElement` to a `GenericV1DataElement` which
  * only maintains information about the DE's type-code and payload.
  */
@@ -1050,3 +2320,5 @@
  * an unsigned 32-bit integer.
  */
 uint32_t np_ffi_V1DEType_to_uint32_t(np_ffi_V1DEType de_type);
+
+// clang-format on
diff --git a/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_functions.h b/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_functions.h
index ad3ec24..51322d3 100644
--- a/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_functions.h
+++ b/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_functions.h
@@ -13,10 +13,12 @@
  limitations under the License.
 */
 
+// clang-format off
+
 
 #pragma once
 
-/* Generated with cbindgen:0.24.5 */
+/* Generated with cbindgen:0.26.0 */
 
 /*
  WARNING: this file is autogenerated by cbindgen. Don't modify this manually.
@@ -133,6 +135,36 @@
 /// call which references or returns a deserialized V1 advertisement.
 void np_ffi_global_config_set_max_num_deserialized_v1_advertisements(uint32_t max_num_deserialized_v1_advertisements);
 
+/// Sets the maximum number of active handles to v0 advertisement
+/// builders which may be active at any one time.
+///
+/// Useful for bounding the maximum memory used by the client application
+/// on v0 advertisements in constrained-memory environments.
+///
+/// Default value: Max value.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a V0 advertisement builder.
+void np_ffi_global_config_set_max_num_v0_advertisement_builders(uint32_t max_num_v0_advertisement_builders);
+
+/// Sets the maximum number of active handles to v1 advertisement
+/// builders which may be active at any one time.
+///
+/// Useful for bounding the maximum memory used by the client application
+/// on v1 advertisements in constrained-memory environments.
+///
+/// Default value: Max value.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a V1 advertisement builder.
+void np_ffi_global_config_set_max_num_v1_advertisement_builders(uint32_t max_num_v1_advertisement_builders);
+
 /// Allocates a new credential-book from the given slab, returning a handle
 /// to the created object. The slab will be deallocated by this call.
 CreateCredentialBookResult np_ffi_create_credential_book_from_slab(CredentialSlab slab);
@@ -166,8 +198,8 @@
 /// Safety: this is safe if the provided pointer points to a valid memory address
 /// which contains the correct len amount of bytes. The copy from the memory address isn't atomic,
 /// so concurrent modification of the array from another thread would cause undefined behavior.
-AddCredentialToSlabResult np_ffi_CredentialSlab_add_v0_credential(CredentialSlab credential_slab,
-                                                                  V0MatchableCredential v0_cred);
+AddV0CredentialToSlabResult np_ffi_CredentialSlab_add_v0_credential(CredentialSlab credential_slab,
+                                                                    V0MatchableCredential v0_cred);
 
 /// Adds the given V1 discovery credential with some associated
 /// match-data to this credential slab.
@@ -175,8 +207,32 @@
 /// Safety: this is safe if the provided pointer points to a valid memory address
 /// which contains the correct len amount of bytes. The copy from the memory address isn't atomic,
 /// so concurrent modification of the array from another thread would cause undefined behavior.
-AddCredentialToSlabResult np_ffi_CredentialSlab_add_v1_credential(CredentialSlab credential_slab,
-                                                                  V1MatchableCredential v1_cred);
+AddV1CredentialToSlabResult np_ffi_CredentialSlab_add_v1_credential(CredentialSlab credential_slab,
+                                                                    V1MatchableCredential v1_cred);
+
+/// Frees the underlying resources of the decrypted metadata buffer
+DeallocateResult np_ffi_deallocate_DecryptedMetadata(DecryptedMetadata metadata);
+
+/// Gets the tag of a `DecryptMetadataResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `DecryptMetadataResult#into_success`.
+DecryptMetadataResultKind np_ffi_DecryptMetadataResult_kind(DecryptMetadataResult result);
+
+/// Casts a `DecryptMetadataResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+DecryptedMetadata np_ffi_DecryptMetadataResult_into_SUCCESS(DecryptMetadataResult result);
+
+/// Gets the pointer and length of the heap allocated byte buffer of decrypted metadata
+GetMetadataBufferPartsResult np_ffi_DecryptedMetadata_get_metadata_buffer_parts(DecryptedMetadata metadata);
+
+/// Gets the tag of a `GetMetadataBufferPartsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetMetadataBufferPartsResult#into_success`.
+GetMetadataBufferPartsResultKind np_ffi_GetMetadataBufferPartsResult_kind(GetMetadataBufferPartsResult result);
+
+/// Casts a `GetMetadataBufferPartsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant. This returns the pointer and length
+/// of the byte buffer containing the decrypted metadata.  There can be a data-race between attempts
+/// to access the contents of the buffer and attempts to free the handle from different threads.
+MetadataBufferParts np_ffi_GetMetadataBufferPartsResult_into_SUCCESS(GetMetadataBufferPartsResult result);
 
 /// Attempts to deserialize an advertisement with the given service-data
 /// payload (presumed to be under the NP service UUID) using credentials
@@ -229,6 +285,21 @@
 /// Attempts to get the data-element with the given index in the passed v0 adv payload
 GetV0DEResult np_ffi_V0Payload_get_de(V0Payload payload, uint8_t index);
 
+/// Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+DecryptMetadataResult np_ffi_V0Payload_decrypt_metadata(V0Payload payload);
+
+/// Gets the identity details for this V0 payload, or returns an error if this payload does not have
+/// any associated identity (public advertisement)
+GetV0IdentityDetailsResult np_ffi_V0Payload_get_identity_details(V0Payload payload);
+
+/// Gets the tag of a `GetV0IdentityDetailsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+GetV0IdentityDetailsResultKind np_ffi_GetV0IdentityDetailsResult_kind(GetV0IdentityDetailsResult result);
+
+/// Casts a `GetV0IdentityDetailsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+DeserializedV0IdentityDetails np_ffi_GetV0IdentityDetailsResult_into_SUCCESS(GetV0IdentityDetailsResult result);
+
 /// Deallocates any internal data of a `V0Payload`
 DeallocateResult np_ffi_deallocate_v0_payload(V0Payload payload);
 
@@ -239,26 +310,6 @@
 /// case where the passed value is of a different enum variant.
 V0DataElement np_ffi_GetV0DEResult_into_SUCCESS(GetV0DEResult result);
 
-/// Gets the tag of a `V0DataElement` tagged-union.
-V0DataElementKind np_ffi_V0DataElement_kind(V0DataElement de);
-
-/// Casts a `V0DataElement` to the `TxPower` variant, panicking in the
-/// case where the passed value is of a different enum variant.
-TxPower np_ffi_V0DataElement_into_TX_POWER(V0DataElement de);
-
-/// Casts a `V0DataElement` to the `Actions` variant, panicking in the
-/// case where the passed value is of a different enum variant.
-V0Actions np_ffi_V0DataElement_into_ACTIONS(V0DataElement de);
-
-/// Return whether a boolean action type is set in this data element
-bool np_ffi_V0Actions_has_action(V0Actions actions, BooleanActionType action_type);
-
-/// Gets the 4 bit context sync sequence number as a u8 from this data element
-uint8_t np_ffi_V0Actions_get_context_sync_sequence_number(V0Actions actions);
-
-/// Return whether a boolean action type is set in this data element
-uint32_t np_ffi_V0Actions_as_u32(V0Actions actions);
-
 /// Gets the number of legible sections on a deserialized V1 advertisement.
 /// Suitable as an index bound for the second argument of
 /// `np_ffi_DeserializedV1Advertisement#get_section`.
@@ -290,13 +341,252 @@
 /// Gets the data-element with the given index in the passed section.
 GetV1DEResult np_ffi_DeserializedV1Section_get_de(DeserializedV1Section section, uint8_t de_index);
 
+/// Gets the identity details used to decrypt this V1 section, or returns an error if this payload
+/// does not have any associated identity (public advertisement)
+GetV1IdentityDetailsResult np_ffi_DeserializedV1Section_get_identity_details(DeserializedV1Section section);
+
+/// Gets the tag of a `GetV1IdentityDetailsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+GetV1IdentityDetailsResultKind np_ffi_GetV1IdentityDetailsResult_kind(GetV1IdentityDetailsResult result);
+
+/// Casts a `GetV1IdentityDetailsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+DeserializedV1IdentityDetails np_ffi_GetV1IdentityDetailsResult_into_SUCCESS(GetV1IdentityDetailsResult result);
+
+/// Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+DecryptMetadataResult np_ffi_DeserializedV1Section_decrypt_metadata(DeserializedV1Section section);
+
+/// Attempts to derive a 16-byte DE salt for a DE in this section with the given DE offset. This
+/// operation may fail if the passed offset is 255 (causes overflow) or if the section
+/// is leveraging a public identity, and hence, doesn't have an associated salt.
+GetV1DE16ByteSaltResult np_ffi_DeserializedV1Section_derive_16_byte_salt_for_offset(DeserializedV1Section section,
+                                                                                    uint8_t offset);
+
+/// Gets the tag of a `GetV1DE16ByteSaltResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV1DE16ByteSaltResult#into_success`.
+GetV1DE16ByteSaltResultKind np_ffi_GetV1DE16ByteSaltResult_kind(GetV1DE16ByteSaltResult result);
+
+/// Casts a `GetV1DE16ByteSaltResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+FixedSizeArray<16> np_ffi_GetV1DE16ByteSaltResult_into_SUCCESS(GetV1DE16ByteSaltResult result);
+
 /// Gets the tag of the `GetV1DEResult` tagged-union.
 GetV1DEResultKind np_ffi_GetV1DEResult_kind(GetV1DEResult result);
 
-/// Casts a `GetV1DEResult` to the `Success` vartiant, panicking in the
+/// Casts a `GetV1DEResult` to the `Success` variant, panicking in the
 /// case where the passed value is of a different enum variant.
 V1DataElement np_ffi_GetV1DEResult_into_SUCCESS(GetV1DEResult result);
 
+/// Attempts to add the given data element to the V0
+/// advertisement builder behind the passed handle.
+///
+/// This method may invoke the panic handler if the passed DE
+/// has an invalid layout, which may indicate that the backing
+/// data on the stack was somehow tampered with in an unintended way.
+AddV0DEResult np_ffi_V0AdvertisementBuilder_add_de(V0AdvertisementBuilder adv_builder,
+                                                   V0DataElement de);
+
+/// Attempts to serialize the contents of the advertisement builder
+/// behind this handle to bytes. Assuming that the handle is valid,
+/// this operation will always result in the contents behind the
+/// advertisement builder handle being deallocated.
+SerializeV0AdvertisementResult np_ffi_V0AdvertisementBuilder_into_advertisement(V0AdvertisementBuilder adv_builder);
+
+/// Attempts to deallocate the v0 advertisement builder behind
+/// the given handle.
+DeallocateResult np_ffi_deallocate_v0_advertisement_builder(V0AdvertisementBuilder adv_builder);
+
+/// Gets the tag of a `CreateV0AdvertisementBuilderResult` tagged-union.
+CreateV0AdvertisementBuilderResultKind np_ffi_CreateV0AdvertisementBuilderResult_kind(CreateV0AdvertisementBuilderResult result);
+
+/// Casts a `CreateV0AdvertisementBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+V0AdvertisementBuilder np_ffi_CreateV0AdvertisementBuilderResult_into_SUCCESS(CreateV0AdvertisementBuilderResult result);
+
+/// Creates a new V0 advertisement builder for a public advertisement.
+CreateV0AdvertisementBuilderResult np_ffi_create_v0_public_advertisement_builder();
+
+/// Creates a new V0 advertisement builder for an encrypted advertisement.
+CreateV0AdvertisementBuilderResult np_ffi_create_v0_encrypted_advertisement_builder(V0BroadcastCredential broadcast_cred,
+                                                                                    EncryptedIdentityType identity_type,
+                                                                                    FixedSizeArray<2> salt);
+
+/// Gets the tag of a `SerializeV0AdvertisementResult` tagged-union.
+SerializeV0AdvertisementResultKind np_ffi_SerializeV0AdvertisementResult_kind(SerializeV0AdvertisementResult result);
+
+/// Casts a `SerializeV0AdvertisementResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+ByteBuffer<24> np_ffi_SerializeV0AdvertisementResult_into_SUCCESS(SerializeV0AdvertisementResult result);
+
+/// Attempts to create a builder for a new public section within
+/// the advertisement builder behind this handle,
+/// returning a handle to the newly-created section builder if successful.
+///
+/// This method may fail if there is another currently-active
+/// section builder for the same advertisement builder, if the
+/// kind of section being added does not match the advertisement
+/// type (public/encrypted), or if the section would not manage
+/// to fit within the enclosing advertisement.
+CreateV1SectionBuilderResult np_ffi_V1AdvertisementBuilder_public_section_builder(V1AdvertisementBuilder adv_builder);
+
+/// Attempts to create a builder for a new encrypted section within
+/// the advertisement builder behind the given handle,
+/// returning a handle to the newly-created section builder if successful.
+///
+/// The identity details for the new section builder may be specified
+/// via providing the broadcast credential data, the kind of encrypted
+/// identity being broadcast (private/trusted/provisioned), and the
+/// verification mode (MIC/Signature) to be used for the encrypted section.
+///
+/// This method may fail if there is another currently-active
+/// section builder for the same advertisement builder, if the
+/// kind of section being added does not match the advertisement
+/// type (public/encrypted), or if the section would not manage
+/// to fit within the enclosing advertisement.
+CreateV1SectionBuilderResult np_ffi_V1AdvertisementBuilder_encrypted_section_builder(V1AdvertisementBuilder adv_builder,
+                                                                                     V1BroadcastCredential broadcast_cred,
+                                                                                     EncryptedIdentityType identity_type,
+                                                                                     V1VerificationMode verification_mode);
+
+/// Attempts to serialize the contents of the advertisement builder
+/// behind this handle to bytes. Assuming that the handle is valid,
+/// this operation will always result in the contents behind the
+/// advertisement builder handle being deallocated.
+SerializeV1AdvertisementResult np_ffi_V1AdvertisementBuilder_into_advertisement(V1AdvertisementBuilder adv_builder);
+
+/// Gets the tag of a `CreateV1AdvertisementBuilderResult` tagged-union.
+CreateV1AdvertisementBuilderResultKind np_ffi_CreateV1AdvertisementBuilderResult_kind(CreateV1AdvertisementBuilderResult result);
+
+/// Casts a `CreateV1AdvertisementBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+V1AdvertisementBuilder np_ffi_CreateV1AdvertisementBuilderResult_into_SUCCESS(CreateV1AdvertisementBuilderResult result);
+
+/// Creates a new V1 advertisement builder for the given advertisement
+/// kind (public/encrypted).
+CreateV1AdvertisementBuilderResult np_ffi_create_v1_advertisement_builder(AdvertisementBuilderKind kind);
+
+/// Gets the tag of a `SerializeV1AdvertisementResult` tagged-union.
+SerializeV1AdvertisementResultKind np_ffi_SerializeV1AdvertisementResult_kind(SerializeV1AdvertisementResult result);
+
+/// Casts a `SerializeV1AdvertisementResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+ByteBuffer<250> np_ffi_SerializeV1AdvertisementResult_into_SUCCESS(SerializeV1AdvertisementResult result);
+
+/// Gets the tag of a `CreateV1SectionBuilderResult` tagged-union.
+CreateV1SectionBuilderResultKind np_ffi_CreateV1SectionBuilderResult_kind(CreateV1SectionBuilderResult result);
+
+/// Casts a `CreateV1SectionBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+V1SectionBuilder np_ffi_CreateV1SectionBuilderResult_into_SUCCESS(CreateV1SectionBuilderResult result);
+
+/// Gets the tag of a `NextV1DE16ByteSaltResult` tagged-union.
+NextV1DE16ByteSaltResultKind np_ffi_NextV1DE16ByteSaltResult_kind(NextV1DE16ByteSaltResult result);
+
+/// Casts a `NextV1DE16ByteSaltResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+FixedSizeArray<16> np_ffi_NextV1DE16ByteSaltResult_into_SUCCESS(NextV1DE16ByteSaltResult result);
+
+/// Adds the section constructed behind the given handle to
+/// a section builder to the containing advertisement it originated from.
+/// After this call, the section builder handle will become invalid.
+AddV1SectionToAdvertisementResult np_ffi_V1SectionBuilder_add_to_advertisement(V1SectionBuilder section_builder);
+
+/// Attempts to get the derived 16-byte V1 DE salt for the next
+/// DE to be added to the passed section builder. May fail if this
+/// section builder handle is invalid, or if the section
+/// is a public section.
+NextV1DE16ByteSaltResult np_ffi_V1SectionBuilder_next_de_salt(V1SectionBuilder section_builder);
+
+/// Attempts to add the given DE to the section builder behind
+/// this handle. The passed DE may have a payload of up to 127
+/// bytes, the maximum for a V1 DE.
+AddV1DEResult np_ffi_V1SectionBuilder_add_127_byte_buffer_de(V1SectionBuilder section_builder,
+                                                             V1DE127ByteBuffer de);
+
+/// Gets the tag of a `V0DataElement` tagged-union.
+V0DataElementKind np_ffi_V0DataElement_kind(V0DataElement de);
+
+/// Casts a `V0DataElement` to the `TxPower` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+TxPower np_ffi_V0DataElement_into_TX_POWER(V0DataElement de);
+
+/// Upcasts a Tx power DE to a generic V0 data-element.
+V0DataElement np_ffi_TxPower_into_V0DataElement(TxPower tx_power);
+
+/// Casts a `V0DataElement` to the `Actions` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+V0Actions np_ffi_V0DataElement_into_ACTIONS(V0DataElement de);
+
+/// Upcasts a V0 actions DE to a generic V0 data-element.
+V0DataElement np_ffi_V0Actions_into_V0DataElement(V0Actions actions);
+
+/// Gets the tag of a `BuildTxPowerResult` tagged-union.
+BuildTxPowerResultKind np_ffi_BuildTxPowerResult_kind(BuildTxPowerResult result);
+
+/// Casts a `BuildTxPowerResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+TxPower np_ffi_BuildTxPowerResult_into_SUCCESS(BuildTxPowerResult result);
+
+/// Attempts to construct a new TxPower from
+/// the given signed-byte value.
+BuildTxPowerResult np_ffi_TxPower_build_from_signed_byte(int8_t tx_power);
+
+/// Gets the value of the given TxPower as a signed byte.
+int8_t np_ffi_TxPower_as_signed_byte(TxPower tx_power);
+
+/// Gets the discriminant of the `SetV0ActionResult` tagged-union.
+SetV0ActionResultKind np_ffi_SetV0ActionResult_kind(SetV0ActionResult result);
+
+/// Attempts to cast a `SetV0ActionResult` tagged-union into the `Success` variant.
+V0Actions np_ffi_SetV0ActionResult_into_SUCCESS(SetV0ActionResult result);
+
+/// Attempts to cast a `SetV0ActionResult` tagged-union into the `Error` variant.
+V0Actions np_ffi_SetV0ActionResult_into_ERROR(SetV0ActionResult result);
+
+/// Constructs a new V0 actions DE with no declared boolean
+/// actions and a zeroed context sync sequence number,
+/// where the DE is intended for the given advertisement
+/// kind (plaintext/encrypted).
+V0Actions np_ffi_build_new_zeroed_V0Actions(AdvertisementBuilderKind kind);
+
+/// Return whether a boolean action type is set in this data element
+bool np_ffi_V0Actions_has_action(V0Actions actions, BooleanActionType action_type);
+
+/// Gets the 4 bit context sync sequence number as a u8 from this data element
+ContextSyncSeqNum np_ffi_V0Actions_get_context_sync_sequence_number(V0Actions actions);
+
+/// Attempts to set the given action bit to the given boolean value.
+/// This operation may fail if the requested action bit may not be
+/// set for the kind of containing advertisement (public/encrypted)
+/// that this action DE is intended to belong to. In this case,
+/// the original action bits will be yielded back to the caller,
+/// unaltered.
+SetV0ActionResult np_ffi_V0Actions_set_action(V0Actions actions,
+                                              BooleanActionType action_type,
+                                              bool value);
+
+/// Sets the context sequence number for the given Actions DE.
+V0Actions np_ffi_V0Actions_set_context_sync_sequence_number(V0Actions actions,
+                                                            ContextSyncSeqNum value);
+
+/// Returns the representation of the passed `V0Actions` as an unsigned
+/// integer, where the bit-positions correspond to individual actions.
+uint32_t np_ffi_V0Actions_as_u32(V0Actions actions);
+
+/// Gets the tag of a `BuildContextSyncSeqNumResult` tagged-union.
+BuildContextSyncSeqNumResultKind np_ffi_BuildContextSyncSeqNumResult_kind(BuildContextSyncSeqNumResult result);
+
+/// Casts a `BuildContextSyncSeqNumResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+ContextSyncSeqNum np_ffi_BuildContextSyncSeqNumResult_into_SUCCESS(BuildContextSyncSeqNumResult result);
+
+/// Attempts to build a new context sync sequence number
+/// from the given unsigned byte.
+BuildContextSyncSeqNumResult np_ffi_ContextSyncSeqNum_build_from_unsigned_byte(uint8_t value);
+
+/// Gets the value of the given context-sync sequence number as an unsigned byte.
+uint8_t np_ffi_ContextSyncSeqNum_as_unsigned_byte(ContextSyncSeqNum seq_num);
+
 /// Converts a `V1DataElement` to a `GenericV1DataElement` which
 /// only maintains information about the DE's type-code and payload.
 GenericV1DataElement np_ffi_V1DataElement_to_generic(V1DataElement de);
@@ -309,3 +599,5 @@
 
 } // namespace internal
 } // namespace np_ffi
+
+// clang-format on
diff --git a/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h b/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h
index d39bb70..5e4e5a2 100644
--- a/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h
+++ b/nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h
@@ -13,10 +13,12 @@
  limitations under the License.
 */
 
+// clang-format off
+
 
 #pragma once
 
-/* Generated with cbindgen:0.24.5 */
+/* Generated with cbindgen:0.26.0 */
 
 /*
  WARNING: this file is autogenerated by cbindgen. Don't modify this manually.
@@ -36,14 +38,80 @@
 namespace np_ffi {
 namespace internal {
 
-/// Result type for trying to add a credential to a credential-slab.
-enum class AddCredentialToSlabResult : uint8_t {
+/// Result type for trying to add a V0 credential to a credential-slab.
+enum class AddV0CredentialToSlabResult : uint8_t {
   /// We succeeded in adding the credential to the slab.
   Success = 0,
   /// The handle to the slab was actually invalid.
   InvalidHandle = 1,
 };
 
+/// Result code for the operation of adding a DE to a V0
+/// advertisement builder.
+enum class AddV0DEResult : uint8_t {
+  /// The DE was successfully added to the advertisement builder
+  /// behind the given handle.
+  Success = 0,
+  /// The handle for the advertisement builder was invalid.
+  InvalidAdvertisementBuilderHandle = 1,
+  /// There was not enough available space left in the advertisement
+  /// to append the given data element.
+  InsufficientAdvertisementSpace = 2,
+  /// The passed data element is not broadcastable under the
+  /// identity type of the advertisement (public/private).
+  InvalidIdentityTypeForDataElement = 3,
+};
+
+/// Result type for trying to add a V1 credential to a credential-slab.
+enum class AddV1CredentialToSlabResult : uint8_t {
+  /// We succeeded in adding the credential to the slab.
+  Success = 0,
+  /// The handle to the slab was actually invalid.
+  InvalidHandle = 1,
+  /// The provided public key bytes do not actually represent a valid "edwards y" format
+  /// or that said compressed point is not actually a point on the curve.
+  InvalidPublicKeyBytes = 2,
+};
+
+/// Result code for operations adding DEs to a section builder.
+enum class AddV1DEResult : uint8_t {
+  /// The DE was successfully added to the section builder
+  /// behind the given handle.
+  Success = 0,
+  /// The handle for the section builder was invalid.
+  InvalidSectionHandle = 1,
+  /// There was no more space left in the advertisement
+  /// to fit the DE in the containing section.
+  InsufficientSectionSpace = 2,
+  /// The data element itself had invalid characteristics,
+  /// most likely a length above 127.
+  InvalidDataElement = 3,
+};
+
+/// Result code for [`V1SectionBuilder#add_to_advertisement`].
+enum class AddV1SectionToAdvertisementResult : uint8_t {
+  /// The section referenced by the given handle
+  /// couldn't be added to the containing advertisement,
+  /// possibly because the handle is invalid or the section
+  /// has already been added to the containing section.
+  Error = 0,
+  /// The section referenced by the given handle
+  /// was successfully added to the containing advertisement.
+  /// After obtaining this result code, the section
+  /// handle will no longer be valid.
+  Success = 1,
+};
+
+/// Enum common to V0 and V1 serialization expressing
+/// what kind of advertisement builder (public/encrypted)
+/// is in use.
+enum class AdvertisementBuilderKind : uint8_t {
+  /// The builder is for a public advertisement.
+  Public = 0,
+  /// The builder is for an encrypted advertisement.
+  Encrypted = 1,
+};
+
 /// The possible boolean action types which can be present in an Actions data element
 enum class BooleanActionType : uint8_t {
   ActiveUnlock = 8,
@@ -55,6 +123,26 @@
   FastPairSass = 14,
 };
 
+/// Discriminant for `BuildContextSyncSeqNumResult`.
+enum class BuildContextSyncSeqNumResultKind : uint8_t {
+  /// The sequence number was outside the allowed
+  /// 0-15 single-nibble range.
+  OutOfRange = 0,
+  /// The sequence number was in range,
+  /// and so a `ContextSyncSeqNum` was constructed.
+  Success = 1,
+};
+
+/// Discriminant for `BuildTxPowerResult`.
+enum class BuildTxPowerResultKind : uint8_t {
+  /// The transmission power was outside the
+  /// allowed -100dBm to 20dBm range.
+  OutOfRange = 0,
+  /// The transmission power was in range,
+  /// and so a `TxPower` struct was constructed.
+  Success = 1,
+};
+
 /// Discriminant for `CreateCredentialBookResult`
 enum class CreateCredentialBookResultKind : uint8_t {
   /// We created a new credential book behind the given handle.
@@ -78,6 +166,49 @@
   Success = 1,
 };
 
+/// Discriminant for `CreateV0AdvertisementBuilderResult`
+enum class CreateV0AdvertisementBuilderResultKind : uint8_t {
+  /// The attempt to create a new advertisement builder
+  /// failed since there are no more available
+  /// slots for V0 advertisement builders in their handle-map.
+  NoSpaceLeft = 0,
+  /// The attempt succeeded. The wrapped advertisement builder
+  /// may be obtained via
+  /// `CreateV0AdvertisementBuilderResult#into_success`.
+  Success = 1,
+};
+
+/// Discriminant for `CreateV1AdvertisementBuilderResult`
+enum class CreateV1AdvertisementBuilderResultKind : uint8_t {
+  /// The attempt to create a new advertisement builder
+  /// failed since there are no more available
+  /// slots for V1 advertisement builders in their handle-map.
+  NoSpaceLeft = 0,
+  /// The attempt succeeded. The wrapped advertisement builder
+  /// may be obtained via
+  /// `CreateV1AdvertisementBuilderResult#into_success`.
+  Success = 1,
+};
+
+/// Discriminant for `CreateV1SectionBuilderResult`
+enum class CreateV1SectionBuilderResultKind : uint8_t {
+  /// The attempt to create a new section builder succeeded.
+  Success = 0,
+  /// We're currently in the middle of building a section.
+  UnclosedActiveSection = 1,
+  /// The advertisement builder handle was invalid.
+  InvalidAdvertisementBuilderHandle = 2,
+  /// We're attempting to build a section with an identity
+  /// kind (public/encrypted) which doesn't match the kind
+  /// for the entire advertisement.
+  IdentityKindMismatch = 3,
+  /// There isn't enough space for a new section, either
+  /// because the maximum section count has been exceeded
+  /// or because the advertisement is almost full, and
+  /// the minimum size of a section wouldn't fit.
+  NoSpaceLeft = 4,
+};
+
 /// A result-type enum which tells the caller whether/not a deallocation
 /// succeeded or failed due to the requested handle not being present.
 enum class DeallocateResult {
@@ -87,6 +218,17 @@
   Success = 1,
 };
 
+/// Discriminant for `DecryptMetadataResult`.
+enum class DecryptMetadataResultKind : uint8_t {
+  /// The attempt to decrypt the metadata of the associated credential succeeded
+  /// The associated payload may be obtained via
+  /// `DecryptMetadataResult#into_success`.
+  Success,
+  /// The attempt to decrypt the metadata failed, either the payload had no matching identity
+  /// ie it was a public advertisement OR the decrypt attempt itself was unsuccessful
+  Error,
+};
+
 /// Discriminant for `DeserializeAdvertisementResult`.
 enum class DeserializeAdvertisementResultKind : uint8_t {
   /// Deserializing the advertisement failed, for some reason or another.
@@ -132,6 +274,24 @@
   Decrypted = 1,
 };
 
+/// The DE type for an encrypted identity
+enum class EncryptedIdentityType : uint8_t {
+  /// Identity for broadcasts to nearby devices with the same
+  /// logged-in-account (for some account).
+  Private = 1,
+  /// Identity for broadcasts to nearby devices which this
+  /// device has declared to trust.
+  Trusted = 2,
+  /// Identity for broadcasts to devices which have been provisioned
+  /// offline with this device.
+  Provisioned = 4,
+};
+
+enum class GetMetadataBufferPartsResultKind : uint8_t {
+  Success = 0,
+  Error = 1,
+};
+
 /// Discriminant of `GetV0DEResult`.
 enum class GetV0DEResultKind : uint8_t {
   /// The attempt to get the DE succeeded.
@@ -145,6 +305,33 @@
   Error = 1,
 };
 
+/// Discriminant for `GetV0IdentityDetailsResult`
+enum class GetV0IdentityDetailsResultKind : uint8_t {
+  /// The attempt to get the identity details
+  /// for the advertisement failed, possibly
+  /// due to the advertisement being a public
+  /// advertisement, or the underlying
+  /// advertisement has already been deallocated.
+  Error = 0,
+  /// The attempt to get the identity details succeeded.
+  /// The wrapped identity details may be obtained via
+  /// `GetV0IdentityDetailsResult#into_success`.
+  Success = 1,
+};
+
+/// Discriminant for `GetV1DE16ByteSaltResult`.
+enum class GetV1DE16ByteSaltResultKind : uint8_t {
+  /// The attempt to get the derived salt failed, possibly
+  /// because the passed DE offset was invalid (==255),
+  /// or because there was no salt included for the
+  /// referenced advertisement section (i.e: it was
+  /// a public advertisement section, or it was deallocated.)
+  Error = 0,
+  /// A 16-byte salt for the given DE offset was successfully
+  /// derived.
+  Success = 1,
+};
+
 /// Discriminant for the `GetV1DEResult` enum.
 enum class GetV1DEResultKind : uint8_t {
   /// Attempting to get the DE at the given position failed,
@@ -156,6 +343,20 @@
   Success = 1,
 };
 
+/// Discriminant for `GetV1IdentityDetailsResult`
+enum class GetV1IdentityDetailsResultKind : uint8_t {
+  /// The attempt to get the identity details
+  /// for the section failed, possibly
+  /// due to the section being a public
+  /// section, or the underlying
+  /// advertisement has already been deallocated.
+  Error = 0,
+  /// The attempt to get the identity details succeeded.
+  /// The wrapped identity details may be obtained via
+  /// `GetV1IdentityDetailsResult#into_success`.
+  Success = 1,
+};
+
 /// Discriminant for `GetV1SectionResult`
 enum class GetV1SectionResultKind : uint8_t {
   /// The attempt to get the section failed,
@@ -169,6 +370,17 @@
   Success = 1,
 };
 
+/// Discriminant for `NextV1DE16ByteSaltResult`.
+enum class NextV1DE16ByteSaltResultKind : uint8_t {
+  /// We couldn't return a 16-byte DE salt, possibly
+  /// because the handle to the section builder
+  /// was invalid, or possibly because the section
+  /// builder was for a public section.
+  Error = 0,
+  /// A 16-byte DE salt was returned successfully.
+  Success = 1,
+};
+
 /// Structure for categorized reasons for why a NP C FFI call may
 /// be panicking.
 enum class PanicReason : uint8_t {
@@ -182,10 +394,50 @@
   /// The panic handler is used to assert conditions are true to avoid programmer errors.
   /// If a failed assert condition is hit, this panic handler is invoked with this reason.
   AssertFailed = 1,
-  /// Error returned if action bits inside of a V0Actions struct are invalid. If the struct was
-  /// created by this deserializer, the bits will always be valid, they are only invalid if
-  /// a user reaches in and changes them to something invalid.
-  InvalidActionBits = 2,
+  /// Error returned if the bit representation of a supposedly-Rust-constructed
+  /// -and-validated type actually doesn't correspond to the format of the
+  /// data structure expected on the Rust side of the boundary, and performing
+  /// further operations on the structure would yield unintended behavior.
+  /// If this kind of error is being raised, the C code must
+  /// be messing with stack-allocated data structures for this library
+  /// in an entirely unexpected way.
+  InvalidStackDataStructure = 2,
+};
+
+/// Discriminant for `SerializeV0AdvertisementResult`.
+enum class SerializeV0AdvertisementResultKind : uint8_t {
+  /// Serializing the advertisement to bytes was successful.
+  Success = 0,
+  /// Serializing the advertisement to bytes failed
+  /// because the data in the advertisement wasn't
+  /// of an appropriate size for LDT encryption
+  /// to succeed.
+  LdtError = 1,
+  /// The advertisement builder handle was invalid.
+  InvalidAdvertisementBuilderHandle = 2,
+};
+
+/// Discriminant for `SerializeV1AdvertisementResult`.
+enum class SerializeV1AdvertisementResultKind : uint8_t {
+  /// Serializing the advertisement to bytes was successful.
+  Success = 0,
+  /// The state of the advertisement builder was invalid
+  /// for the builder to be closed for serialization, likely
+  /// because there was an unclosed section builder.
+  InvalidBuilderState = 1,
+  /// The advertisement builder handle was invalid.
+  InvalidAdvertisementBuilderHandle = 2,
+};
+
+/// Discriminant for `SetV0ActionResult`.
+enum class SetV0ActionResultKind : uint8_t {
+  /// The attempt to set the action bit failed. The
+  /// action bits were yielded back to the caller,
+  /// unmodified.
+  Error = 0,
+  /// The attempt to set the action bit succeeded.
+  /// The updated action bits were yielded back to the caller.
+  Success = 1,
 };
 
 /// Discriminant for `V0DataElement`.
@@ -200,7 +452,17 @@
   Actions = 1,
 };
 
-///A `#[repr(C)]` handle to a value of type `super::CredentialBookInternals`.
+/// Information about the verification scheme used
+/// for verifying the integrity of the contents
+/// of a decrypted section.
+enum class V1VerificationMode : uint8_t {
+  /// Message integrity code verification.
+  Mic = 0,
+  /// Signature verification.
+  Signature = 1,
+};
+
+/// A `#[repr(C)]` handle to a value of type `CredentialBookInternals`
 struct CredentialBook {
   uint64_t handle_id;
 };
@@ -224,7 +486,7 @@
   Success_Body success;
 };
 
-///A `#[repr(C)]` handle to a value of type `super::CredentialSlabInternals`.
+/// A `#[repr(C)]` handle to a value of type `CredentialSlabInternals`
 struct CredentialSlab {
   uint64_t handle_id;
 };
@@ -285,7 +547,51 @@
   FfiMatchedCredential matched_cred;
 };
 
-///A `#[repr(C)]` handle to a value of type `super::V0PayloadInternals`.
+/// A `#[repr(C)]` handle to a value of type `DecryptedMetadataInternals`
+struct DecryptedMetadata {
+  uint64_t handle_id;
+};
+
+/// The result of decrypting metadata from either a V0Payload or DeserializedV1Section
+struct DecryptMetadataResult {
+  enum class Tag {
+    Success,
+    Error,
+  };
+
+  struct Success_Body {
+    DecryptedMetadata _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// The pointer and length of the decrypted metadata byte buffer
+struct MetadataBufferParts {
+  const uint8_t *ptr;
+  uintptr_t len;
+};
+
+struct GetMetadataBufferPartsResult {
+  enum class Tag {
+    Success,
+    Error,
+  };
+
+  struct Success_Body {
+    MetadataBufferParts _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// A `#[repr(C)]` handle to a value of type `V0PayloadInternals`
 struct V0Payload {
   uint64_t handle_id;
 };
@@ -314,7 +620,7 @@
   };
 };
 
-///A `#[repr(C)]` handle to a value of type `super::LegibleV1SectionsInternals`.
+/// A `#[repr(C)]` handle to a value of type `LegibleV1SectionsInternals`
 struct LegibleV1Sections {
   uint64_t handle_id;
 };
@@ -449,6 +755,39 @@
   };
 };
 
+/// Information about the identity which matched a
+/// decrypted V0 advertisement.
+struct DeserializedV0IdentityDetails {
+  /// The identity type (private/provisioned/trusted)
+  EncryptedIdentityType identity_type;
+  /// The ID of the credential which
+  /// matched the deserialized adv
+  uint32_t cred_id;
+  /// The 14-byte legacy metadata key
+  uint8_t metadata_key[14];
+  /// The 2-byte advertisement salt
+  uint8_t salt[2];
+};
+
+/// The result of attempting to get the identity details
+/// for a V0 advertisement via
+/// `DeserializedV0Advertisement#get_identity_details`.
+struct GetV0IdentityDetailsResult {
+  enum class Tag {
+    Error,
+    Success,
+  };
+
+  struct Success_Body {
+    DeserializedV0IdentityDetails _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
 /// Handle to a deserialized V1 section
 struct DeserializedV1Section {
   LegibleV1Sections legible_sections_handle;
@@ -531,5 +870,297 @@
   };
 };
 
+/// Information about the identity which matched
+/// a decrypted V1 section.
+struct DeserializedV1IdentityDetails {
+  /// The identity type (private/provisioned/trusted)
+  EncryptedIdentityType identity_type;
+  /// The verification mode (MIC/Signature) which
+  /// was used to verify the decrypted adv contents.
+  V1VerificationMode verification_mode;
+  /// The ID of the credential which
+  /// matched the deserialized section.
+  uint32_t cred_id;
+  /// The 16-byte metadata key.
+  uint8_t metadata_key[16];
+};
+
+/// The result of attempting to get the identity details
+/// for a V1 advertisement section via
+/// `DeserializedV1Advertisement#get_identity_details`.
+struct GetV1IdentityDetailsResult {
+  enum class Tag {
+    Error,
+    Success,
+  };
+
+  struct Success_Body {
+    DeserializedV1IdentityDetails _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// A FFI safe wrapper of a fixed size array
+template<uintptr_t N>
+struct FixedSizeArray {
+  uint8_t _0[N];
+};
+
+/// The result of attempting to get a derived 16-byte salt
+/// for a given DE within a section.
+struct GetV1DE16ByteSaltResult {
+  enum class Tag {
+    Error,
+    Success,
+  };
+
+  struct Success_Body {
+    FixedSizeArray<16> _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// A `#[repr(C)]` handle to a value of type `V0AdvertisementBuilderInternals`
+struct V0AdvertisementBuilderHandle {
+  uint64_t handle_id;
+};
+
+/// A handle to a builder for V0 advertisements.
+struct V0AdvertisementBuilder {
+  AdvertisementBuilderKind kind;
+  V0AdvertisementBuilderHandle handle;
+};
+
+/// The result of attempting to serialize the contents
+/// of a V0 advertisement builder to raw bytes.
+struct SerializeV0AdvertisementResult {
+  enum class Tag {
+    Success,
+    LdtError,
+    InvalidAdvertisementBuilderHandle,
+  };
+
+  struct Success_Body {
+    ByteBuffer<24> _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// The result of attempting to create a new V0 advertisement builder.
+struct CreateV0AdvertisementBuilderResult {
+  enum class Tag {
+    NoSpaceLeft,
+    Success,
+  };
+
+  struct Success_Body {
+    V0AdvertisementBuilder _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// Cryptographic information about a particular V0 broadcast credential
+/// necessary to LDT-encrypt V0 advertisements.
+struct V0BroadcastCredential {
+  uint8_t key_seed[32];
+  uint8_t metadata_key[14];
+};
+
+/// A `#[repr(C)]` handle to a value of type `V1AdvertisementBuilderInternals`
+struct V1AdvertisementBuilderHandle {
+  uint64_t handle_id;
+};
+
+/// A handle to a builder for V1 advertisements.
+struct V1AdvertisementBuilder {
+  AdvertisementBuilderKind kind;
+  V1AdvertisementBuilderHandle handle;
+};
+
+/// A handle to a builder for V1 sections.
+struct V1SectionBuilder {
+  V1AdvertisementBuilder adv_builder;
+  uint8_t section_index;
+};
+
+/// The result of attempting to create a new V1 section builder.
+struct CreateV1SectionBuilderResult {
+  enum class Tag {
+    Success,
+    UnclosedActiveSection,
+    InvalidAdvertisementBuilderHandle,
+    IdentityKindMismatch,
+    NoSpaceLeft,
+  };
+
+  struct Success_Body {
+    V1SectionBuilder _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// Cryptographic information about a particular V1 broadcast credential
+/// necessary to encrypt V1 MIC-verified and signature-verified sections.
+struct V1BroadcastCredential {
+  uint8_t key_seed[32];
+  uint8_t metadata_key[16];
+  uint8_t private_key[32];
+};
+
+/// The result of attempting to serialize the contents
+/// of a V1 advertisement builder to raw bytes.
+struct SerializeV1AdvertisementResult {
+  enum class Tag {
+    Success,
+    InvalidBuilderState,
+    InvalidAdvertisementBuilderHandle,
+  };
+
+  struct Success_Body {
+    ByteBuffer<250> _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// The result of attempting to create a new V1 advertisement builder.
+struct CreateV1AdvertisementBuilderResult {
+  enum class Tag {
+    NoSpaceLeft,
+    Success,
+  };
+
+  struct Success_Body {
+    V1AdvertisementBuilder _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// The result of attempting to get the derived V1 DE
+/// 16-byte salt for the next-added DE to the section
+/// builder behind the given handle.
+struct NextV1DE16ByteSaltResult {
+  enum class Tag {
+    Error,
+    Success,
+  };
+
+  struct Success_Body {
+    FixedSizeArray<16> _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// Represents the contents of a V1 DE whose payload
+/// is stored in a buffer which may contain up to 127 bytes,
+/// which is the maximum for any V1 DE.
+///
+/// This representation is stable, and so you may directly
+/// reference this struct's fields if you wish.
+struct V1DE127ByteBuffer {
+  /// The DE type code of this generic data-element.
+  uint32_t de_type;
+  /// The raw data-element byte payload, up to
+  /// 127 bytes in length.
+  ByteBuffer<127> payload;
+};
+
+/// Result type for attempting to construct a
+/// Tx Power from a signed byte.
+struct BuildTxPowerResult {
+  enum class Tag {
+    OutOfRange,
+    Success,
+  };
+
+  struct Success_Body {
+    TxPower _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
+/// The result of attempting to set a particular action
+/// bit on some `V0Actions`.
+struct SetV0ActionResult {
+  enum class Tag {
+    Success,
+    Error,
+  };
+
+  struct Success_Body {
+    V0Actions _0;
+  };
+
+  struct Error_Body {
+    V0Actions _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+    Error_Body error;
+  };
+};
+
+/// Representation of a context-sync sequence number.
+struct ContextSyncSeqNum {
+  uint8_t value;
+};
+
+/// Result type for attempting to construct a
+/// ContextSyncSeqNum from an unsigned byte.
+struct BuildContextSyncSeqNumResult {
+  enum class Tag {
+    OutOfRange,
+    Success,
+  };
+
+  struct Success_Body {
+    ContextSyncSeqNum _0;
+  };
+
+  Tag tag;
+  union {
+    Success_Body success;
+  };
+};
+
 } // namespace internal
 } // namespace np_ffi
+
+// clang-format on
diff --git a/nearby/presence/np_c_ffi/rust-toolchain.toml b/nearby/presence/np_c_ffi/rust-toolchain.toml
deleted file mode 100644
index 271800c..0000000
--- a/nearby/presence/np_c_ffi/rust-toolchain.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[toolchain]
-channel = "nightly"
\ No newline at end of file
diff --git a/nearby/presence/np_c_ffi/src/credentials.rs b/nearby/presence/np_c_ffi/src/credentials.rs
index 70949a6..7dc8ac7 100644
--- a/nearby/presence/np_c_ffi/src/credentials.rs
+++ b/nearby/presence/np_c_ffi/src/credentials.rs
@@ -16,9 +16,14 @@
 use crate::{unwrap, PanicReason};
 use core::slice;
 use np_ffi_core::common::*;
-use np_ffi_core::credentials::credential_book::CredentialBook;
-use np_ffi_core::credentials::credential_slab::CredentialSlab;
+use np_ffi_core::credentials::CredentialBook;
+use np_ffi_core::credentials::CredentialSlab;
 use np_ffi_core::credentials::*;
+use np_ffi_core::deserialize::DecryptedMetadata;
+use np_ffi_core::deserialize::{
+    DecryptMetadataResult, DecryptMetadataResultKind, GetMetadataBufferPartsResult,
+    GetMetadataBufferPartsResultKind, MetadataBufferParts,
+};
 use np_ffi_core::utils::FfiEnum;
 
 /// Allocates a new credential-book from the given slab, returning a handle
@@ -122,7 +127,7 @@
 pub extern "C" fn np_ffi_CredentialSlab_add_v0_credential(
     credential_slab: CredentialSlab,
     v0_cred: V0MatchableCredential,
-) -> AddCredentialToSlabResult {
+) -> AddV0CredentialToSlabResult {
     #[allow(unsafe_code)]
     let metadata_slice = unsafe {
         slice::from_raw_parts(
@@ -145,7 +150,7 @@
 pub extern "C" fn np_ffi_CredentialSlab_add_v1_credential(
     credential_slab: CredentialSlab,
     v1_cred: V1MatchableCredential,
-) -> AddCredentialToSlabResult {
+) -> AddV1CredentialToSlabResult {
     #[allow(unsafe_code)]
     let metadata_slice = unsafe {
         slice::from_raw_parts(
@@ -157,3 +162,57 @@
     let matched_credential = MatchedCredential::new(v1_cred.matched_cred.cred_id, metadata_slice);
     credential_slab.add_v1(v1_cred.discovery_cred, matched_credential)
 }
+
+/// Frees the underlying resources of the decrypted metadata buffer
+#[no_mangle]
+pub extern "C" fn np_ffi_deallocate_DecryptedMetadata(
+    metadata: DecryptedMetadata,
+) -> DeallocateResult {
+    metadata.deallocate_metadata()
+}
+
+/// Gets the tag of a `DecryptMetadataResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `DecryptMetadataResult#into_success`.
+#[no_mangle]
+pub extern "C" fn np_ffi_DecryptMetadataResult_kind(
+    result: DecryptMetadataResult,
+) -> DecryptMetadataResultKind {
+    result.kind()
+}
+
+/// Casts a `DecryptMetadataResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_DecryptMetadataResult_into_SUCCESS(
+    result: DecryptMetadataResult,
+) -> DecryptedMetadata {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Gets the pointer and length of the heap allocated byte buffer of decrypted metadata
+#[no_mangle]
+pub extern "C" fn np_ffi_DecryptedMetadata_get_metadata_buffer_parts(
+    metadata: DecryptedMetadata,
+) -> GetMetadataBufferPartsResult {
+    metadata.get_metadata_buffer_parts()
+}
+
+/// Gets the tag of a `GetMetadataBufferPartsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetMetadataBufferPartsResult#into_success`.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetMetadataBufferPartsResult_kind(
+    result: GetMetadataBufferPartsResult,
+) -> GetMetadataBufferPartsResultKind {
+    result.kind()
+}
+
+/// Casts a `GetMetadataBufferPartsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant. This returns the pointer and length
+/// of the byte buffer containing the decrypted metadata.  There can be a data-race between attempts
+/// to access the contents of the buffer and attempts to free the handle from different threads.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetMetadataBufferPartsResult_into_SUCCESS(
+    result: GetMetadataBufferPartsResult,
+) -> MetadataBufferParts {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
diff --git a/nearby/presence/np_c_ffi/src/deserialize/mod.rs b/nearby/presence/np_c_ffi/src/deserialize/mod.rs
index 9f2cea8..3faf414 100644
--- a/nearby/presence/np_c_ffi/src/deserialize/mod.rs
+++ b/nearby/presence/np_c_ffi/src/deserialize/mod.rs
@@ -14,7 +14,7 @@
 
 use crate::{unwrap, PanicReason};
 use np_ffi_core::common::*;
-use np_ffi_core::credentials::credential_book::CredentialBook;
+use np_ffi_core::credentials::CredentialBook;
 use np_ffi_core::deserialize::v0::*;
 use np_ffi_core::deserialize::v1::*;
 use np_ffi_core::deserialize::*;
diff --git a/nearby/presence/np_c_ffi/src/deserialize/v0.rs b/nearby/presence/np_c_ffi/src/deserialize/v0.rs
index 28bec8a..be68720 100644
--- a/nearby/presence/np_c_ffi/src/deserialize/v0.rs
+++ b/nearby/presence/np_c_ffi/src/deserialize/v0.rs
@@ -12,11 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-use crate::{panic, unwrap, PanicReason};
+use crate::{unwrap, PanicReason};
 use np_ffi_core::common::DeallocateResult;
-use np_ffi_core::deserialize::v0::v0_payload::V0Payload;
+use np_ffi_core::deserialize::v0::V0Payload;
 use np_ffi_core::deserialize::v0::*;
+use np_ffi_core::deserialize::DecryptMetadataResult;
 use np_ffi_core::utils::FfiEnum;
+use np_ffi_core::v0::*;
 
 /// Gets the tag of a `DeserializedV0Advertisement` tagged-union.
 #[no_mangle]
@@ -74,6 +76,39 @@
     payload.get_de(index)
 }
 
+/// Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Payload_decrypt_metadata(payload: V0Payload) -> DecryptMetadataResult {
+    payload.decrypt_metadata()
+}
+
+/// Gets the identity details for this V0 payload, or returns an error if this payload does not have
+/// any associated identity (public advertisement)
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Payload_get_identity_details(
+    payload: V0Payload,
+) -> GetV0IdentityDetailsResult {
+    payload.get_identity_details()
+}
+
+/// Gets the tag of a `GetV0IdentityDetailsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV0IdentityDetailsResult_kind(
+    result: GetV0IdentityDetailsResult,
+) -> GetV0IdentityDetailsResultKind {
+    result.kind()
+}
+
+/// Casts a `GetV0IdentityDetailsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV0IdentityDetailsResult_into_SUCCESS(
+    result: GetV0IdentityDetailsResult,
+) -> DeserializedV0IdentityDetails {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
 /// Deallocates any internal data of a `V0Payload`
 #[no_mangle]
 pub extern "C" fn np_ffi_deallocate_v0_payload(payload: V0Payload) -> DeallocateResult {
@@ -92,50 +127,3 @@
 pub extern "C" fn np_ffi_GetV0DEResult_into_SUCCESS(result: GetV0DEResult) -> V0DataElement {
     unwrap(result.into_success(), PanicReason::EnumCastFailed)
 }
-
-/// Gets the tag of a `V0DataElement` tagged-union.
-#[no_mangle]
-pub extern "C" fn np_ffi_V0DataElement_kind(de: V0DataElement) -> V0DataElementKind {
-    de.kind()
-}
-
-/// Casts a `V0DataElement` to the `TxPower` variant, panicking in the
-/// case where the passed value is of a different enum variant.
-#[no_mangle]
-pub extern "C" fn np_ffi_V0DataElement_into_TX_POWER(de: V0DataElement) -> TxPower {
-    unwrap(de.into_tx_power(), PanicReason::EnumCastFailed)
-}
-
-/// Casts a `V0DataElement` to the `Actions` variant, panicking in the
-/// case where the passed value is of a different enum variant.
-#[no_mangle]
-pub extern "C" fn np_ffi_V0DataElement_into_ACTIONS(de: V0DataElement) -> V0Actions {
-    unwrap(de.into_actions(), PanicReason::EnumCastFailed)
-}
-
-/// Return whether a boolean action type is set in this data element
-#[no_mangle]
-pub extern "C" fn np_ffi_V0Actions_has_action(
-    actions: V0Actions,
-    action_type: BooleanActionType,
-) -> bool {
-    match actions.has_action(&action_type) {
-        Ok(b) => b,
-        Err(_) => panic(PanicReason::InvalidActionBits),
-    }
-}
-
-/// Gets the 4 bit context sync sequence number as a u8 from this data element
-#[no_mangle]
-pub extern "C" fn np_ffi_V0Actions_get_context_sync_sequence_number(actions: V0Actions) -> u8 {
-    match actions.get_context_sync_seq_num() {
-        Ok(b) => b,
-        Err(_) => panic(PanicReason::InvalidActionBits),
-    }
-}
-
-/// Return whether a boolean action type is set in this data element
-#[no_mangle]
-pub extern "C" fn np_ffi_V0Actions_as_u32(actions: V0Actions) -> u32 {
-    actions.as_u32()
-}
diff --git a/nearby/presence/np_c_ffi/src/deserialize/v1.rs b/nearby/presence/np_c_ffi/src/deserialize/v1.rs
index dc682a3..68c0cc2 100644
--- a/nearby/presence/np_c_ffi/src/deserialize/v1.rs
+++ b/nearby/presence/np_c_ffi/src/deserialize/v1.rs
@@ -13,7 +13,9 @@
 // limitations under the License.
 
 use crate::{unwrap, PanicReason};
+use np_ffi_core::common::FixedSizeArray;
 use np_ffi_core::deserialize::v1::*;
+use np_ffi_core::deserialize::DecryptMetadataResult;
 use np_ffi_core::utils::FfiEnum;
 
 /// Gets the number of legible sections on a deserialized V1 advertisement.
@@ -86,29 +88,79 @@
     section.get_de(de_index)
 }
 
+/// Gets the identity details used to decrypt this V1 section, or returns an error if this payload
+/// does not have any associated identity (public advertisement)
+#[no_mangle]
+pub extern "C" fn np_ffi_DeserializedV1Section_get_identity_details(
+    section: DeserializedV1Section,
+) -> GetV1IdentityDetailsResult {
+    section.get_identity_details()
+}
+
+/// Gets the tag of a `GetV1IdentityDetailsResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV0IdentityDetailsResult#into_success`.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV1IdentityDetailsResult_kind(
+    result: GetV1IdentityDetailsResult,
+) -> GetV1IdentityDetailsResultKind {
+    result.kind()
+}
+
+/// Casts a `GetV1IdentityDetailsResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV1IdentityDetailsResult_into_SUCCESS(
+    result: GetV1IdentityDetailsResult,
+) -> DeserializedV1IdentityDetails {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Attempts to decrypt the metadata for the matched credential for this V0 payload (if any)
+#[no_mangle]
+pub extern "C" fn np_ffi_DeserializedV1Section_decrypt_metadata(
+    section: DeserializedV1Section,
+) -> DecryptMetadataResult {
+    section.decrypt_metadata()
+}
+
+/// Attempts to derive a 16-byte DE salt for a DE in this section with the given DE offset. This
+/// operation may fail if the passed offset is 255 (causes overflow) or if the section
+/// is leveraging a public identity, and hence, doesn't have an associated salt.
+#[no_mangle]
+pub extern "C" fn np_ffi_DeserializedV1Section_derive_16_byte_salt_for_offset(
+    section: DeserializedV1Section,
+    offset: u8,
+) -> GetV1DE16ByteSaltResult {
+    section.derive_16_byte_salt_for_offset(offset)
+}
+
+/// Gets the tag of a `GetV1DE16ByteSaltResult` tagged-union. On success the wrapped identity
+/// details may be obtained via `GetV1DE16ByteSaltResult#into_success`.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV1DE16ByteSaltResult_kind(
+    result: GetV1DE16ByteSaltResult,
+) -> GetV1DE16ByteSaltResultKind {
+    result.kind()
+}
+
+/// Casts a `GetV1DE16ByteSaltResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_GetV1DE16ByteSaltResult_into_SUCCESS(
+    result: GetV1DE16ByteSaltResult,
+) -> FixedSizeArray<16> {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
 /// Gets the tag of the `GetV1DEResult` tagged-union.
 #[no_mangle]
 pub extern "C" fn np_ffi_GetV1DEResult_kind(result: GetV1DEResult) -> GetV1DEResultKind {
     result.kind()
 }
 
-/// Casts a `GetV1DEResult` to the `Success` vartiant, panicking in the
+/// Casts a `GetV1DEResult` to the `Success` variant, panicking in the
 /// case where the passed value is of a different enum variant.
 #[no_mangle]
 pub extern "C" fn np_ffi_GetV1DEResult_into_SUCCESS(result: GetV1DEResult) -> V1DataElement {
     unwrap(result.into_success(), PanicReason::EnumCastFailed)
 }
-
-/// Converts a `V1DataElement` to a `GenericV1DataElement` which
-/// only maintains information about the DE's type-code and payload.
-#[no_mangle]
-pub extern "C" fn np_ffi_V1DataElement_to_generic(de: V1DataElement) -> GenericV1DataElement {
-    de.to_generic()
-}
-
-/// Extracts the numerical value of the given V1 DE type code as
-/// an unsigned 32-bit integer.
-#[no_mangle]
-pub extern "C" fn np_ffi_V1DEType_to_uint32_t(de_type: V1DEType) -> u32 {
-    de_type.to_u32()
-}
diff --git a/nearby/presence/np_c_ffi/src/lib.rs b/nearby/presence/np_c_ffi/src/lib.rs
index 84e9859..2572887 100644
--- a/nearby/presence/np_c_ffi/src/lib.rs
+++ b/nearby/presence/np_c_ffi/src/lib.rs
@@ -16,9 +16,13 @@
 
 pub mod credentials;
 pub mod deserialize;
+pub mod serialize;
+pub mod v0;
+pub mod v1;
 
 use lock_adapter::std::RwLock;
 use lock_adapter::RwLock as _;
+use np_ffi_core::common::InvalidStackDataStructure;
 
 /// Structure for categorized reasons for why a NP C FFI call may
 /// be panicking.
@@ -35,10 +39,14 @@
     /// The panic handler is used to assert conditions are true to avoid programmer errors.
     /// If a failed assert condition is hit, this panic handler is invoked with this reason.
     AssertFailed = 1,
-    /// Error returned if action bits inside of a V0Actions struct are invalid. If the struct was
-    /// created by this deserializer, the bits will always be valid, they are only invalid if
-    /// a user reaches in and changes them to something invalid.
-    InvalidActionBits = 2,
+    /// Error returned if the bit representation of a supposedly-Rust-constructed
+    /// -and-validated type actually doesn't correspond to the format of the
+    /// data structure expected on the Rust side of the boundary, and performing
+    /// further operations on the structure would yield unintended behavior.
+    /// If this kind of error is being raised, the C code must
+    /// be messing with stack-allocated data structures for this library
+    /// in an entirely unexpected way.
+    InvalidStackDataStructure = 2,
 }
 
 /// Structure which maintains information about the panic-handler
@@ -87,14 +95,19 @@
     }
 }
 
-//TODO: use a std library RwLock if we have that available, spin is only needed for no_std and
-// won't be as performant
 static PANIC_HANDLER: RwLock<PanicHandler> = RwLock::new(PanicHandler::new());
 
 pub(crate) fn panic(reason: PanicReason) -> ! {
     PANIC_HANDLER.read().panic(reason)
 }
 
+pub(crate) fn panic_if_invalid<T>(value: Result<T, InvalidStackDataStructure>) -> T {
+    match value {
+        Ok(x) => x,
+        Err(_) => panic(PanicReason::InvalidStackDataStructure),
+    }
+}
+
 pub(crate) fn unwrap<T>(value: Option<T>, panic_reason: PanicReason) -> T {
     match value {
         Some(x) => x,
@@ -224,3 +237,47 @@
         max_num_deserialized_v1_advertisements,
     )
 }
+
+/// Sets the maximum number of active handles to v0 advertisement
+/// builders which may be active at any one time.
+///
+/// Useful for bounding the maximum memory used by the client application
+/// on v0 advertisements in constrained-memory environments.
+///
+/// Default value: Max value.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a V0 advertisement builder.
+#[no_mangle]
+pub extern "C" fn np_ffi_global_config_set_max_num_v0_advertisement_builders(
+    max_num_v0_advertisement_builders: u32,
+) {
+    np_ffi_core::common::global_config_set_max_num_v0_advertisement_builders(
+        max_num_v0_advertisement_builders,
+    )
+}
+
+/// Sets the maximum number of active handles to v1 advertisement
+/// builders which may be active at any one time.
+///
+/// Useful for bounding the maximum memory used by the client application
+/// on v1 advertisements in constrained-memory environments.
+///
+/// Default value: Max value.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a V1 advertisement builder.
+#[no_mangle]
+pub extern "C" fn np_ffi_global_config_set_max_num_v1_advertisement_builders(
+    max_num_v1_advertisement_builders: u32,
+) {
+    np_ffi_core::common::global_config_set_max_num_v1_advertisement_builders(
+        max_num_v1_advertisement_builders,
+    )
+}
diff --git a/nearby/presence/ldt_np_adv_ffi/src/no_std.rs b/nearby/presence/np_c_ffi/src/serialize/mod.rs
similarity index 67%
rename from nearby/presence/ldt_np_adv_ffi/src/no_std.rs
rename to nearby/presence/np_c_ffi/src/serialize/mod.rs
index 524bc3d..da5690a 100644
--- a/nearby/presence/ldt_np_adv_ffi/src/no_std.rs
+++ b/nearby/presence/np_c_ffi/src/serialize/mod.rs
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -11,15 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-//
-// mod to handle all of the impls needed for no_std
 
-extern crate panic_abort;
-
-use libc_alloc::LibcAlloc;
-
-#[global_allocator]
-static ALLOCATOR: LibcAlloc = LibcAlloc;
-
-#[lang = "eh_personality"]
-extern "C" fn eh_personality() {}
+mod v0;
+mod v1;
diff --git a/nearby/presence/np_c_ffi/src/serialize/v0.rs b/nearby/presence/np_c_ffi/src/serialize/v0.rs
new file mode 100644
index 0000000..962522e
--- /dev/null
+++ b/nearby/presence/np_c_ffi/src/serialize/v0.rs
@@ -0,0 +1,107 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust C FFI functionality for V0 advertisement serialization.
+
+use crate::{panic_if_invalid, unwrap, PanicReason};
+use np_ffi_core::common::{ByteBuffer, DeallocateResult, EncryptedIdentityType, FixedSizeArray};
+use np_ffi_core::credentials::V0BroadcastCredential;
+use np_ffi_core::serialize::v0::*;
+use np_ffi_core::utils::FfiEnum;
+use np_ffi_core::v0::V0DataElement;
+
+/// Attempts to add the given data element to the V0
+/// advertisement builder behind the passed handle.
+///
+/// This method may invoke the panic handler if the passed DE
+/// has an invalid layout, which may indicate that the backing
+/// data on the stack was somehow tampered with in an unintended way.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0AdvertisementBuilder_add_de(
+    adv_builder: V0AdvertisementBuilder,
+    de: V0DataElement,
+) -> AddV0DEResult {
+    panic_if_invalid(adv_builder.add_de(de))
+}
+
+/// Attempts to serialize the contents of the advertisement builder
+/// behind this handle to bytes. Assuming that the handle is valid,
+/// this operation will always result in the contents behind the
+/// advertisement builder handle being deallocated.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0AdvertisementBuilder_into_advertisement(
+    adv_builder: V0AdvertisementBuilder,
+) -> SerializeV0AdvertisementResult {
+    adv_builder.into_advertisement()
+}
+
+/// Attempts to deallocate the v0 advertisement builder behind
+/// the given handle.
+#[no_mangle]
+pub extern "C" fn np_ffi_deallocate_v0_advertisement_builder(
+    adv_builder: V0AdvertisementBuilder,
+) -> DeallocateResult {
+    adv_builder.deallocate()
+}
+
+/// Gets the tag of a `CreateV0AdvertisementBuilderResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV0AdvertisementBuilderResult_kind(
+    result: CreateV0AdvertisementBuilderResult,
+) -> CreateV0AdvertisementBuilderResultKind {
+    result.kind()
+}
+
+/// Casts a `CreateV0AdvertisementBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV0AdvertisementBuilderResult_into_SUCCESS(
+    result: CreateV0AdvertisementBuilderResult,
+) -> V0AdvertisementBuilder {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Creates a new V0 advertisement builder for a public advertisement.
+#[no_mangle]
+pub extern "C" fn np_ffi_create_v0_public_advertisement_builder(
+) -> CreateV0AdvertisementBuilderResult {
+    create_v0_public_advertisement_builder()
+}
+
+/// Creates a new V0 advertisement builder for an encrypted advertisement.
+#[no_mangle]
+pub extern "C" fn np_ffi_create_v0_encrypted_advertisement_builder(
+    broadcast_cred: V0BroadcastCredential,
+    identity_type: EncryptedIdentityType,
+    salt: FixedSizeArray<2>,
+) -> CreateV0AdvertisementBuilderResult {
+    create_v0_encrypted_advertisement_builder(broadcast_cred, identity_type, salt)
+}
+
+/// Gets the tag of a `SerializeV0AdvertisementResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_SerializeV0AdvertisementResult_kind(
+    result: SerializeV0AdvertisementResult,
+) -> SerializeV0AdvertisementResultKind {
+    result.kind()
+}
+
+/// Casts a `SerializeV0AdvertisementResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_SerializeV0AdvertisementResult_into_SUCCESS(
+    result: SerializeV0AdvertisementResult,
+) -> ByteBuffer<24> {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
diff --git a/nearby/presence/np_c_ffi/src/serialize/v1.rs b/nearby/presence/np_c_ffi/src/serialize/v1.rs
new file mode 100644
index 0000000..c8ba135
--- /dev/null
+++ b/nearby/presence/np_c_ffi/src/serialize/v1.rs
@@ -0,0 +1,183 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust C FFI functionality for V1 advertisement serialization.
+
+use crate::{unwrap, PanicReason};
+use np_ffi_core::common::{ByteBuffer, EncryptedIdentityType, FixedSizeArray};
+use np_ffi_core::credentials::V1BroadcastCredential;
+use np_ffi_core::serialize::v1::*;
+use np_ffi_core::serialize::AdvertisementBuilderKind;
+use np_ffi_core::utils::FfiEnum;
+use np_ffi_core::v1::V1VerificationMode;
+
+/// Attempts to create a builder for a new public section within
+/// the advertisement builder behind this handle,
+/// returning a handle to the newly-created section builder if successful.
+///
+/// This method may fail if there is another currently-active
+/// section builder for the same advertisement builder, if the
+/// kind of section being added does not match the advertisement
+/// type (public/encrypted), or if the section would not manage
+/// to fit within the enclosing advertisement.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1AdvertisementBuilder_public_section_builder(
+    adv_builder: V1AdvertisementBuilder,
+) -> CreateV1SectionBuilderResult {
+    adv_builder.public_section_builder()
+}
+
+/// Attempts to create a builder for a new encrypted section within
+/// the advertisement builder behind the given handle,
+/// returning a handle to the newly-created section builder if successful.
+///
+/// The identity details for the new section builder may be specified
+/// via providing the broadcast credential data, the kind of encrypted
+/// identity being broadcast (private/trusted/provisioned), and the
+/// verification mode (MIC/Signature) to be used for the encrypted section.
+///
+/// This method may fail if there is another currently-active
+/// section builder for the same advertisement builder, if the
+/// kind of section being added does not match the advertisement
+/// type (public/encrypted), or if the section would not manage
+/// to fit within the enclosing advertisement.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1AdvertisementBuilder_encrypted_section_builder(
+    adv_builder: V1AdvertisementBuilder,
+    broadcast_cred: V1BroadcastCredential,
+    identity_type: EncryptedIdentityType,
+    verification_mode: V1VerificationMode,
+) -> CreateV1SectionBuilderResult {
+    adv_builder.encrypted_section_builder(broadcast_cred, identity_type, verification_mode)
+}
+
+/// Attempts to serialize the contents of the advertisement builder
+/// behind this handle to bytes. Assuming that the handle is valid,
+/// this operation will always result in the contents behind the
+/// advertisement builder handle being deallocated.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1AdvertisementBuilder_into_advertisement(
+    adv_builder: V1AdvertisementBuilder,
+) -> SerializeV1AdvertisementResult {
+    adv_builder.into_advertisement()
+}
+
+/// Gets the tag of a `CreateV1AdvertisementBuilderResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV1AdvertisementBuilderResult_kind(
+    result: CreateV1AdvertisementBuilderResult,
+) -> CreateV1AdvertisementBuilderResultKind {
+    result.kind()
+}
+
+/// Casts a `CreateV1AdvertisementBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV1AdvertisementBuilderResult_into_SUCCESS(
+    result: CreateV1AdvertisementBuilderResult,
+) -> V1AdvertisementBuilder {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Creates a new V1 advertisement builder for the given advertisement
+/// kind (public/encrypted).
+#[no_mangle]
+pub extern "C" fn np_ffi_create_v1_advertisement_builder(
+    kind: AdvertisementBuilderKind,
+) -> CreateV1AdvertisementBuilderResult {
+    create_v1_advertisement_builder(kind)
+}
+
+/// Gets the tag of a `SerializeV1AdvertisementResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_SerializeV1AdvertisementResult_kind(
+    result: SerializeV1AdvertisementResult,
+) -> SerializeV1AdvertisementResultKind {
+    result.kind()
+}
+
+/// Casts a `SerializeV1AdvertisementResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_SerializeV1AdvertisementResult_into_SUCCESS(
+    result: SerializeV1AdvertisementResult,
+) -> ByteBuffer<250> {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Gets the tag of a `CreateV1SectionBuilderResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV1SectionBuilderResult_kind(
+    result: CreateV1SectionBuilderResult,
+) -> CreateV1SectionBuilderResultKind {
+    result.kind()
+}
+
+/// Casts a `CreateV1SectionBuilderResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_CreateV1SectionBuilderResult_into_SUCCESS(
+    result: CreateV1SectionBuilderResult,
+) -> V1SectionBuilder {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Gets the tag of a `NextV1DE16ByteSaltResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_NextV1DE16ByteSaltResult_kind(
+    result: NextV1DE16ByteSaltResult,
+) -> NextV1DE16ByteSaltResultKind {
+    result.kind()
+}
+
+/// Casts a `NextV1DE16ByteSaltResult` to the `Success` variant,
+/// panicking in the case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_NextV1DE16ByteSaltResult_into_SUCCESS(
+    result: NextV1DE16ByteSaltResult,
+) -> FixedSizeArray<16> {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Adds the section constructed behind the given handle to
+/// a section builder to the containing advertisement it originated from.
+/// After this call, the section builder handle will become invalid.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1SectionBuilder_add_to_advertisement(
+    section_builder: V1SectionBuilder,
+) -> AddV1SectionToAdvertisementResult {
+    section_builder.add_to_advertisement()
+}
+
+/// Attempts to get the derived 16-byte V1 DE salt for the next
+/// DE to be added to the passed section builder. May fail if this
+/// section builder handle is invalid, or if the section
+/// is a public section.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1SectionBuilder_next_de_salt(
+    section_builder: V1SectionBuilder,
+) -> NextV1DE16ByteSaltResult {
+    section_builder.next_de_salt()
+}
+
+/// Attempts to add the given DE to the section builder behind
+/// this handle. The passed DE may have a payload of up to 127
+/// bytes, the maximum for a V1 DE.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1SectionBuilder_add_127_byte_buffer_de(
+    section_builder: V1SectionBuilder,
+    de: V1DE127ByteBuffer,
+) -> AddV1DEResult {
+    section_builder.add_127_byte_buffer_de(de)
+}
diff --git a/nearby/presence/np_c_ffi/src/v0.rs b/nearby/presence/np_c_ffi/src/v0.rs
new file mode 100644
index 0000000..17302aa
--- /dev/null
+++ b/nearby/presence/np_c_ffi/src/v0.rs
@@ -0,0 +1,195 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust C FFI functionality common to V0 ser/deser flows.
+
+use crate::{panic, panic_if_invalid, unwrap, PanicReason};
+use np_ffi_core::serialize::AdvertisementBuilderKind;
+use np_ffi_core::utils::FfiEnum;
+use np_ffi_core::v0::*;
+
+/// Gets the tag of a `V0DataElement` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0DataElement_kind(de: V0DataElement) -> V0DataElementKind {
+    de.kind()
+}
+
+/// Casts a `V0DataElement` to the `TxPower` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0DataElement_into_TX_POWER(de: V0DataElement) -> TxPower {
+    unwrap(de.into_tx_power(), PanicReason::EnumCastFailed)
+}
+
+/// Upcasts a Tx power DE to a generic V0 data-element.
+#[no_mangle]
+pub extern "C" fn np_ffi_TxPower_into_V0DataElement(tx_power: TxPower) -> V0DataElement {
+    V0DataElement::TxPower(tx_power)
+}
+
+/// Casts a `V0DataElement` to the `Actions` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0DataElement_into_ACTIONS(de: V0DataElement) -> V0Actions {
+    unwrap(de.into_actions(), PanicReason::EnumCastFailed)
+}
+
+/// Upcasts a V0 actions DE to a generic V0 data-element.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_into_V0DataElement(actions: V0Actions) -> V0DataElement {
+    V0DataElement::Actions(actions)
+}
+
+/// Gets the tag of a `BuildTxPowerResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_BuildTxPowerResult_kind(
+    result: BuildTxPowerResult,
+) -> BuildTxPowerResultKind {
+    result.kind()
+}
+
+/// Casts a `BuildTxPowerResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_BuildTxPowerResult_into_SUCCESS(result: BuildTxPowerResult) -> TxPower {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Attempts to construct a new TxPower from
+/// the given signed-byte value.
+#[no_mangle]
+pub extern "C" fn np_ffi_TxPower_build_from_signed_byte(tx_power: i8) -> BuildTxPowerResult {
+    TxPower::build_from_signed_byte(tx_power)
+}
+
+/// Gets the value of the given TxPower as a signed byte.
+#[no_mangle]
+pub extern "C" fn np_ffi_TxPower_as_signed_byte(tx_power: TxPower) -> i8 {
+    tx_power.as_i8()
+}
+
+/// Gets the discriminant of the `SetV0ActionResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_SetV0ActionResult_kind(
+    result: SetV0ActionResult,
+) -> SetV0ActionResultKind {
+    result.kind()
+}
+
+/// Attempts to cast a `SetV0ActionResult` tagged-union into the `Success` variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_SetV0ActionResult_into_SUCCESS(result: SetV0ActionResult) -> V0Actions {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Attempts to cast a `SetV0ActionResult` tagged-union into the `Error` variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_SetV0ActionResult_into_ERROR(result: SetV0ActionResult) -> V0Actions {
+    unwrap(result.into_error(), PanicReason::EnumCastFailed)
+}
+
+/// Constructs a new V0 actions DE with no declared boolean
+/// actions and a zeroed context sync sequence number,
+/// where the DE is intended for the given advertisement
+/// kind (plaintext/encrypted).
+#[no_mangle]
+pub extern "C" fn np_ffi_build_new_zeroed_V0Actions(kind: AdvertisementBuilderKind) -> V0Actions {
+    V0Actions::new_zeroed(kind)
+}
+
+/// Return whether a boolean action type is set in this data element
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_has_action(
+    actions: V0Actions,
+    action_type: BooleanActionType,
+) -> bool {
+    match actions.has_action(action_type) {
+        Ok(b) => b,
+        Err(_) => panic(PanicReason::InvalidStackDataStructure),
+    }
+}
+
+/// Gets the 4 bit context sync sequence number as a u8 from this data element
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_get_context_sync_sequence_number(
+    actions: V0Actions,
+) -> ContextSyncSeqNum {
+    match actions.get_context_sync_seq_num() {
+        Ok(b) => b,
+        Err(_) => panic(PanicReason::InvalidStackDataStructure),
+    }
+}
+
+/// Attempts to set the given action bit to the given boolean value.
+/// This operation may fail if the requested action bit may not be
+/// set for the kind of containing advertisement (public/encrypted)
+/// that this action DE is intended to belong to. In this case,
+/// the original action bits will be yielded back to the caller,
+/// unaltered.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_set_action(
+    actions: V0Actions,
+    action_type: BooleanActionType,
+    value: bool,
+) -> SetV0ActionResult {
+    panic_if_invalid(actions.set_action(action_type, value))
+}
+
+/// Sets the context sequence number for the given Actions DE.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_set_context_sync_sequence_number(
+    actions: V0Actions,
+    value: ContextSyncSeqNum,
+) -> V0Actions {
+    panic_if_invalid(actions.set_context_sync_seq_num(value))
+}
+
+/// Returns the representation of the passed `V0Actions` as an unsigned
+/// integer, where the bit-positions correspond to individual actions.
+#[no_mangle]
+pub extern "C" fn np_ffi_V0Actions_as_u32(actions: V0Actions) -> u32 {
+    actions.as_u32()
+}
+
+/// Gets the tag of a `BuildContextSyncSeqNumResult` tagged-union.
+#[no_mangle]
+pub extern "C" fn np_ffi_BuildContextSyncSeqNumResult_kind(
+    result: BuildContextSyncSeqNumResult,
+) -> BuildContextSyncSeqNumResultKind {
+    result.kind()
+}
+
+/// Casts a `BuildContextSyncSeqNumResult` to the `Success` variant, panicking in the
+/// case where the passed value is of a different enum variant.
+#[no_mangle]
+pub extern "C" fn np_ffi_BuildContextSyncSeqNumResult_into_SUCCESS(
+    result: BuildContextSyncSeqNumResult,
+) -> ContextSyncSeqNum {
+    unwrap(result.into_success(), PanicReason::EnumCastFailed)
+}
+
+/// Attempts to build a new context sync sequence number
+/// from the given unsigned byte.
+#[no_mangle]
+pub extern "C" fn np_ffi_ContextSyncSeqNum_build_from_unsigned_byte(
+    value: u8,
+) -> BuildContextSyncSeqNumResult {
+    ContextSyncSeqNum::build_from_unsigned_byte(value)
+}
+
+/// Gets the value of the given context-sync sequence number as an unsigned byte.
+#[no_mangle]
+pub extern "C" fn np_ffi_ContextSyncSeqNum_as_unsigned_byte(seq_num: ContextSyncSeqNum) -> u8 {
+    seq_num.as_u8()
+}
diff --git a/nearby/presence/np_c_ffi/src/v1.rs b/nearby/presence/np_c_ffi/src/v1.rs
new file mode 100644
index 0000000..87a168e
--- /dev/null
+++ b/nearby/presence/np_c_ffi/src/v1.rs
@@ -0,0 +1,31 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust C FFI functionality common to V1 ser/deser flows.
+
+use np_ffi_core::deserialize::v1::*;
+
+/// Converts a `V1DataElement` to a `GenericV1DataElement` which
+/// only maintains information about the DE's type-code and payload.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1DataElement_to_generic(de: V1DataElement) -> GenericV1DataElement {
+    de.to_generic()
+}
+
+/// Extracts the numerical value of the given V1 DE type code as
+/// an unsigned 32-bit integer.
+#[no_mangle]
+pub extern "C" fn np_ffi_V1DEType_to_uint32_t(de_type: V1DEType) -> u32 {
+    de_type.to_u32()
+}
diff --git a/nearby/presence/np_cpp_ffi/CMakeLists.txt b/nearby/presence/np_cpp_ffi/CMakeLists.txt
index 27c9132..7071bbd 100644
--- a/nearby/presence/np_cpp_ffi/CMakeLists.txt
+++ b/nearby/presence/np_cpp_ffi/CMakeLists.txt
@@ -12,14 +12,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# include ABSL third_party dir which will add it to the cmake build tree
-set(ABSL_PROPAGATE_CXX_STD ON)
-add_subdirectory(${THIRD_PARTY_DIR}/abseil-cpp ${THIRD_PARTY_DIR}/abseil-cpp/build)
-
 add_library(nearby_protocol nearby_protocol.cc)
 
 target_link_libraries(nearby_protocol
-        "${CMAKE_SOURCE_DIR}/np_c_ffi/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}np_c_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
+        "${NEARBY_ROOT}/target/release/${CMAKE_STATIC_LIBRARY_PREFIX}np_c_ffi${CMAKE_STATIC_LIBRARY_SUFFIX}"
         absl::statusor)
 
 target_include_directories(nearby_protocol PUBLIC
@@ -38,11 +34,12 @@
 target_link_libraries(shared_test_util nearby_protocol absl::statusor)
 
 if (ENABLE_TESTS)
-    message(STATUS "Enabling np_cpp tests")
+    message(STATUS "Enabling np_ffi tests")
     add_subdirectory(tests)
     add_subdirectory(benchmarks)
 endif ()
 
 if (ENABLE_FUZZ)
+    message(STATUS "Enabling np_ffi fuzzers")
     add_subdirectory(fuzz)
 endif ()
diff --git a/nearby/presence/np_cpp_ffi/benchmarks/CMakeLists.txt b/nearby/presence/np_cpp_ffi/benchmarks/CMakeLists.txt
index c7d8343..c3c059a 100644
--- a/nearby/presence/np_cpp_ffi/benchmarks/CMakeLists.txt
+++ b/nearby/presence/np_cpp_ffi/benchmarks/CMakeLists.txt
@@ -12,11 +12,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-add_executable(np_ffi_bench np_ffi_bench.cc)
+add_executable(
+        np_ffi_bench
+        np_cpp_benches.cc
+        np_c_ffi_benches.cc)
 
 target_link_libraries(
         np_ffi_bench
         nearby_protocol
+        shared_test_util
         benchmark::benchmark)
 
 if (UNIX)
diff --git a/nearby/presence/np_cpp_ffi/benchmarks/np_c_ffi_benches.cc b/nearby/presence/np_cpp_ffi/benchmarks/np_c_ffi_benches.cc
new file mode 100644
index 0000000..02bd4ca
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/benchmarks/np_c_ffi_benches.cc
@@ -0,0 +1,64 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Benchmarks measuring the performance of the pure autogenerated C API.
+// This is useful to compare with the C++ benchmarks to understand the overhead
+// incurred by going through the C++ wrapper types instead of directly calling
+// the C API.
+
+#include "benchmark/benchmark.h"
+#include "np_cpp_ffi_functions.h"
+#include "np_cpp_ffi_types.h"
+#include "shared_test_util.h"
+
+void V0PlaintextCApi(benchmark::State &state) {
+  auto num_ciphers = state.range(0);
+  auto slab_result = np_ffi::internal::np_ffi_create_credential_slab();
+  assert(
+      np_ffi::internal::np_ffi_CreateCredentialSlabResult_kind(slab_result) ==
+      np_ffi::internal::CreateCredentialSlabResultKind::Success);
+  auto slab = np_ffi::internal::np_ffi_CreateCredentialSlabResult_into_SUCCESS(
+      slab_result);
+
+  auto book_result =
+      np_ffi::internal::np_ffi_create_credential_book_from_slab(slab);
+  assert(
+      np_ffi::internal::np_ffi_CreateCredentialBookResult_kind(book_result) ==
+      np_ffi::internal::CreateCredentialBookResultKind::Success);
+  auto book = np_ffi::internal::np_ffi_CreateCredentialBookResult_into_SUCCESS(
+      book_result);
+
+  for ([[maybe_unused]] auto _ : state) {
+    for (int i = 0; i < num_ciphers; i++) {
+      auto result = np_ffi::internal::np_ffi_deserialize_advertisement(
+          {V0AdvMultiDeInternals}, book);
+      assert(np_ffi::internal::np_ffi_DeserializeAdvertisementResult_kind(
+                 result) ==
+             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
+      [[maybe_unused]] auto deallocate_result =
+          np_ffi::internal::np_ffi_deallocate_deserialize_advertisement_result(
+              result);
+      assert(deallocate_result == np_ffi::internal::DeallocateResult::Success);
+    }
+  }
+
+  [[maybe_unused]] auto deallocate_result =
+      np_ffi::internal::np_ffi_deallocate_credential_book(book);
+  assert(deallocate_result == np_ffi::internal::DeallocateResult::Success);
+}
+
+BENCHMARK(V0PlaintextCApi)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
diff --git a/nearby/presence/np_cpp_ffi/benchmarks/np_cpp_benches.cc b/nearby/presence/np_cpp_ffi/benchmarks/np_cpp_benches.cc
new file mode 100644
index 0000000..2a3b010
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/benchmarks/np_cpp_benches.cc
@@ -0,0 +1,229 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "nearby_protocol.h"
+#include "shared_test_util.h"
+
+// needed for running directly against the C API (ie: bypassing the C++ wrapper)
+#include "np_cpp_ffi_functions.h"
+#include "np_cpp_ffi_types.h"
+
+#include "benchmark/benchmark.h"
+
+nearby_protocol::CredentialBook CreateEmptyCredBook() {
+  auto cred_slab = nearby_protocol::CredentialSlab::TryCreate();
+  assert(cred_slab.ok());
+  auto cred_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(cred_slab.value());
+  assert(cred_book.ok());
+  return std::move(*cred_book);
+}
+
+void V0Plaintext(benchmark::State &state) {
+  auto cred_book = CreateEmptyCredBook();
+  auto num_advs = state.range(0);
+  for ([[maybe_unused]] auto _ : state) {
+    for (int i = 0; i < num_advs; i++) {
+      auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
+          V0AdvPlaintextMultiDe, cred_book);
+      assert(result.GetKind() ==
+             nearby_protocol::DeserializeAdvertisementResultKind::V0);
+    }
+  }
+}
+BENCHMARK(V0Plaintext)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
+
+void V1Plaintext(benchmark::State &state) {
+  auto cred_book = CreateEmptyCredBook();
+  auto num_advs = state.range(0);
+  for ([[maybe_unused]] auto _ : state) {
+    for (int i = 0; i < num_advs; i++) {
+      auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
+          V1AdvPlaintext, cred_book);
+      assert(result.GetKind() ==
+             nearby_protocol::DeserializeAdvertisementResultKind::V1);
+    }
+  }
+}
+BENCHMARK(V1Plaintext)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
+
+class V0Encrypted : public benchmark::Fixture {
+public:
+  std::optional<nearby_protocol::CredentialBook> cred_book_;
+  void SetUp(const ::benchmark::State &state) override {
+    // populate credential book
+    auto num_creds = state.range(0);
+
+    auto slab = nearby_protocol::CredentialSlab::TryCreate();
+    assert(slab.ok());
+
+    for (int i = 1; i < num_creds; i++) {
+      auto credential = GenerateRandomCredentialV0();
+      auto result = slab->AddV0Credential(credential);
+      assert(result.ok());
+    }
+
+    // now at the end of the list add the matching credential
+    nearby_protocol::MatchedCredentialData match_data(123,
+                                                      V0AdvEncryptedMetadata);
+    std::array<uint8_t, 32> key_seed = {};
+    std::fill_n(key_seed.begin(), 32, 0x11);
+    nearby_protocol::V0MatchableCredential v0_cred(
+        key_seed, V0AdvLegacyMetadataKeyHmac, match_data);
+    auto add_result = slab->AddV0Credential(v0_cred);
+    assert(add_result.ok());
+
+    auto cred_book = nearby_protocol::CredentialBook::TryCreateFromSlab(*slab);
+    assert(cred_book.ok());
+    cred_book_ = std::move(*cred_book);
+  }
+  void TearDown(const ::benchmark::State &state) override {}
+};
+
+BENCHMARK_DEFINE_F(V0Encrypted, SingleMatchingCredential)
+(benchmark::State &state) {
+  for ([[maybe_unused]] auto _ : state) {
+    // now that the credentials have been  loaded attempt to deserialize
+    auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
+        V0AdvEncryptedPayload, cred_book_.value());
+    benchmark::DoNotOptimize(result);
+
+    // make sure this succeeded and that we could correctly decrypt the adv
+    assert(result.GetKind() ==
+           nearby_protocol::DeserializeAdvertisementResultKind::V0);
+    assert(result.IntoV0().IntoLegible().GetIdentityKind() ==
+           nearby_protocol::DeserializedV0IdentityKind::Decrypted);
+  }
+}
+
+BENCHMARK_REGISTER_F(V0Encrypted, SingleMatchingCredential)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
+
+class V1SigEncryptedSingleSection : public benchmark::Fixture {
+public:
+  std::optional<nearby_protocol::CredentialBook> cred_book_;
+  void SetUp(const ::benchmark::State &state) override {
+    // populate credential book
+    auto num_creds = state.range(0);
+    auto slab = nearby_protocol::CredentialSlab::TryCreate();
+    assert(slab.ok());
+    for (int i = 1; i < num_creds; i++) {
+      auto credential = GenerateRandomCredentialV1();
+      auto result = slab->AddV1Credential(credential);
+      assert(result.ok());
+    }
+    // now at the end of the list add the matching credential
+    nearby_protocol::MatchedCredentialData match_data(123,
+                                                      V1AdvEncryptedMetadata);
+    nearby_protocol::V1MatchableCredential v1_cred(
+        V1AdvKeySeed, V1AdvExpectedUnsignedMetadataKeyHmac,
+        V1AdvExpectedSignedMetadataKeyHmac, V1AdvPublicKey, match_data);
+    auto add_result = slab->AddV1Credential(v1_cred);
+    assert(add_result.ok());
+    auto cred_book = nearby_protocol::CredentialBook::TryCreateFromSlab(*slab);
+    assert(cred_book.ok());
+    cred_book_ = std::move(*cred_book);
+  }
+  void TearDown(const ::benchmark::State &state) override {}
+};
+
+BENCHMARK_DEFINE_F(V1SigEncryptedSingleSection, SingleMatchingCredential)
+(benchmark::State &state) {
+  for ([[maybe_unused]] auto _ : state) {
+    // now that the credentials have been  loaded attempt to deserialize
+    auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
+        V1AdvEncrypted, cred_book_.value());
+    benchmark::DoNotOptimize(result);
+
+    // make sure this succeeded and that we could correctly decrypt the adv
+    assert(result.GetKind() ==
+           nearby_protocol::DeserializeAdvertisementResultKind::V1);
+    assert(result.IntoV1().GetNumLegibleSections() == 1);
+  }
+}
+
+BENCHMARK_REGISTER_F(V1SigEncryptedSingleSection, SingleMatchingCredential)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
+
+struct V1CredentialData {
+  uint32_t cred_id;
+  std::array<uint8_t, 32> key_seed;
+  std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac;
+  std::array<uint8_t, 32> expected_signed_metadata_key_hmac;
+  std::array<uint8_t, 32> pub_key;
+  std::array<uint8_t, 500> encrypted_metadata_bytes;
+};
+
+V1CredentialData GenerateData() {
+  return {
+      .cred_id = static_cast<uint32_t>(rand()),
+      .key_seed = create_random_array<32>(),
+      .expected_unsigned_metadata_key_hmac = create_random_array<32>(),
+      .expected_signed_metadata_key_hmac = create_random_array<32>(),
+      .pub_key = create_random_array<32>(),
+      .encrypted_metadata_bytes = create_random_array<500>(),
+  };
+}
+
+class LoadCredentialBook : public benchmark::Fixture {
+public:
+  std::vector<V1CredentialData> creds_;
+  // generate all the data in setup so the time for generation is not included
+  // in the measurement
+  void SetUp(const ::benchmark::State &state) override {
+    // populate credential book
+    auto num_creds = state.range(0);
+    for (int i = 1; i < num_creds; i++) {
+      auto credential = GenerateData();
+      creds_.push_back(credential);
+    }
+  }
+};
+
+BENCHMARK_DEFINE_F(LoadCredentialBook, SingleMatchingCredential)
+(benchmark::State &state) {
+  for ([[maybe_unused]] auto _ : state) {
+    auto slab = nearby_protocol::CredentialSlab::TryCreate();
+    assert(slab.ok());
+    for (auto cred : creds_) {
+      nearby_protocol::MatchedCredentialData m(cred.cred_id,
+                                               cred.encrypted_metadata_bytes);
+      nearby_protocol::V1MatchableCredential v1_cred(
+          cred.key_seed, cred.expected_unsigned_metadata_key_hmac,
+          cred.expected_signed_metadata_key_hmac, cred.pub_key, m);
+      auto result = slab->AddV1Credential(v1_cred);
+      assert(result.ok());
+    }
+    auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(*slab);
+    assert(book.ok());
+    benchmark::DoNotOptimize(book);
+  }
+}
+
+BENCHMARK_REGISTER_F(LoadCredentialBook, SingleMatchingCredential)
+    ->RangeMultiplier(10)
+    ->Range(1, 1000)
+    ->Unit(benchmark::kMicrosecond);
+
+BENCHMARK_MAIN();
diff --git a/nearby/presence/np_cpp_ffi/benchmarks/np_ffi_bench.cc b/nearby/presence/np_cpp_ffi/benchmarks/np_ffi_bench.cc
deleted file mode 100644
index 164bab3..0000000
--- a/nearby/presence/np_cpp_ffi/benchmarks/np_ffi_bench.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "nearby_protocol.h"
-
-#include "np_cpp_ffi_functions.h"
-#include "np_cpp_ffi_types.h"
-
-#include "benchmark/benchmark.h"
-
-// Internal C struct representation of a v0 payload
-static np_ffi::internal::RawAdvertisementPayload payload{
-    {7,
-     {
-         0x00,             // Adv Header
-         0x03,             // Public DE header
-         0x15, 0x05,       // Tx Power value 5
-         0x26, 0x00, 0x46, // Length 2 Actions
-     }}};
-
-static nearby_protocol::RawAdvertisementPayload
-    v0_adv(nearby_protocol::ByteBuffer(payload.bytes));
-
-class NpCppBenchmark : public benchmark::Fixture {
-  void SetUp(const ::benchmark::State &state) override {}
-
-  void TearDown(const ::benchmark::State &state) override {}
-};
-
-BENCHMARK_DEFINE_F(NpCppBenchmark, V0PlaintextAdvertisement)
-(benchmark::State &state) {
-  auto cred_slab = nearby_protocol::CredentialSlab::TryCreate();
-  assert(cred_slab.ok());
-  auto cred_book = nearby_protocol::CredentialBook::TryCreateFromSlab(cred_slab.value());
-  assert(cred_book.ok());
-  auto num_ciphers = state.range(0);
-
-  for ([[maybe_unused]] auto _ : state) {
-    for (int i = 0; i < num_ciphers; i++) {
-      auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-          v0_adv, cred_book.value());
-      assert(result.GetKind() ==
-             nearby_protocol::DeserializeAdvertisementResultKind::V0);
-    }
-  }
-}
-
-BENCHMARK_REGISTER_F(NpCppBenchmark, V0PlaintextAdvertisement)
-    ->RangeMultiplier(10)
-    ->Range(1, 1000)
-    ->Unit(benchmark::kMicrosecond);
-
-class NpCBenchmark : public benchmark::Fixture {
-  void SetUp(const ::benchmark::State &state) override {}
-
-  void TearDown(const ::benchmark::State &state) override {}
-};
-
-BENCHMARK_DEFINE_F(NpCBenchmark, V0PlaintextAdvertisement)
-(benchmark::State &state) {
-  auto num_ciphers = state.range(0);
-  auto slab_result = np_ffi::internal::np_ffi_create_credential_slab();
-  assert(
-      np_ffi::internal::np_ffi_CreateCredentialSlabResult_kind(slab_result) ==
-      np_ffi::internal::CreateCredentialSlabResultKind::Success);
-  auto slab = np_ffi::internal::np_ffi_CreateCredentialSlabResult_into_SUCCESS(
-      slab_result);
-
-  auto book_result = np_ffi::internal::np_ffi_create_credential_book_from_slab(slab);
-  assert(
-      np_ffi::internal::np_ffi_CreateCredentialBookResult_kind(book_result) ==
-      np_ffi::internal::CreateCredentialBookResultKind::Success);
-  auto book = np_ffi::internal::np_ffi_CreateCredentialBookResult_into_SUCCESS(
-      book_result);
-
-  for ([[maybe_unused]] auto _ : state) {
-    for (int i = 0; i < num_ciphers; i++) {
-      auto result =
-          np_ffi::internal::np_ffi_deserialize_advertisement({payload}, book);
-      assert(np_ffi::internal::np_ffi_DeserializeAdvertisementResult_kind(
-                 result) ==
-             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
-      auto deallocate_result =
-          np_ffi::internal::np_ffi_deallocate_deserialize_advertisement_result(
-              result);
-      assert(deallocate_result == np_ffi::internal::DeallocateResult::Success);
-    }
-  }
-
-  auto deallocate_result =
-      np_ffi::internal::np_ffi_deallocate_credential_book(book);
-  assert(deallocate_result == np_ffi::internal::DeallocateResult::Success);
-}
-
-BENCHMARK_REGISTER_F(NpCBenchmark, V0PlaintextAdvertisement)
-    ->RangeMultiplier(10)
-    ->Range(1, 1000)
-    ->Unit(benchmark::kMicrosecond);
-
-BENCHMARK_MAIN();
diff --git a/nearby/presence/np_cpp_ffi/fuzz/CMakeLists.txt b/nearby/presence/np_cpp_ffi/fuzz/CMakeLists.txt
index 0a1c088..e9decf3 100644
--- a/nearby/presence/np_cpp_ffi/fuzz/CMakeLists.txt
+++ b/nearby/presence/np_cpp_ffi/fuzz/CMakeLists.txt
@@ -12,21 +12,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-cmake_minimum_required(VERSION 3.0)
+fuzztest_setup_fuzzing_flags()
 
-# libfuzzer needs clang
-SET(CMAKE_C_COMPILER "clang")
-SET(CMAKE_CXX_COMPILER "clang++")
+add_executable(
+        deserialization_fuzzer
+        deserialization_fuzzer.cc
+)
 
-add_compile_definitions("CORPUS_DIR=${CMAKE_CURRENT_SOURCE_DIR}/corpus")
-file(COPY corpus DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
-add_executable(generate_fuzz_corpus generate_fuzz_corpus.cc)
-target_link_libraries(generate_fuzz_corpus nearby_protocol shared_test_util)
+target_link_libraries(
+        deserialization_fuzzer
+        PRIVATE
+        nearby_protocol
+        shared_test_util
+)
 
-add_executable(fuzzer_np_cpp_deserialize fuzzer_np_cpp_deserialize.cc)
-target_compile_options(fuzzer_np_cpp_deserialize PRIVATE -fsanitize=fuzzer,address)
-target_link_libraries(fuzzer_np_cpp_deserialize nearby_protocol -fsanitize=fuzzer,address)
-
-add_executable(fuzzer_np_cpp_valid_header fuzzer_np_cpp_valid_header.cc)
-target_compile_options(fuzzer_np_cpp_valid_header PRIVATE -fsanitize=fuzzer,address)
-target_link_libraries(fuzzer_np_cpp_valid_header nearby_protocol -fsanitize=fuzzer,address)
+link_fuzztest(deserialization_fuzzer)
+gtest_discover_tests(deserialization_fuzzer)
diff --git a/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvEmpty b/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvEmpty
deleted file mode 100644
index f76dd23..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvEmpty
+++ /dev/null
Binary files differ
diff --git a/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvSimple b/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvSimple
deleted file mode 100644
index fac97f6..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/corpus/V0AdvSimple
+++ /dev/null
Binary files differ
diff --git a/nearby/presence/np_cpp_ffi/fuzz/corpus/V1AdvSimple b/nearby/presence/np_cpp_ffi/fuzz/corpus/V1AdvSimple
deleted file mode 100644
index 4acdf33..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/corpus/V1AdvSimple
+++ /dev/null
@@ -1 +0,0 @@
- 
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/fuzz/deserialization_fuzzer.cc b/nearby/presence/np_cpp_ffi/fuzz/deserialization_fuzzer.cc
new file mode 100644
index 0000000..d18b83e
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/fuzz/deserialization_fuzzer.cc
@@ -0,0 +1,307 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <array>
+#include <cstdint>
+#include <random>
+#include <span>
+#include <utility>
+#include <vector>
+
+#include "fuzztest/domain_core.h"
+#include "fuzztest/fuzztest.h"
+#include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "shared_test_util.h"
+
+// redefine test data as std::vector types since fuzztest does not support
+// template class use in its input domains (ie: std::array<T, N>), and we want
+// to use our test data to seed the fuzzer
+static std::vector<uint8_t> V0AdvEmptyVec(V0AdvEmptyBytes.begin(),
+                                          V0AdvEmptyBytes.end());
+static std::vector<uint8_t> V1AdvEmptyVec(V1AdvEmptyBytes.begin(),
+                                          V1AdvEmptyBytes.end());
+static std::vector<uint8_t> V0AdvPlaintextVec(V0AdvPlaintextBytes.begin(),
+                                              V0AdvPlaintextBytes.end());
+static std::vector<uint8_t> V0AdvPlaintextMultiDeVec(
+    V0AdvPlaintextMultiDeBytes.begin(), V0AdvPlaintextMultiDeBytes.end());
+static std::vector<uint8_t> V1AdvPlaintextVec(V1AdvPlaintextBytes.begin(),
+                                              V1AdvPlaintextBytes.end());
+static std::vector<uint8_t> V0AdvEncryptedVec(V0AdvEncryptedBytes.begin(),
+                                              V0AdvEncryptedBytes.end());
+static std::vector<uint8_t> V1AdvEncryptedVec(V1AdvEncryptedBytes.begin(),
+                                              V1AdvEncryptedBytes.end());
+
+void HandleAdvertisementResult(nearby_protocol::DeserializeAdvertisementResult);
+
+void PlaintextDeserializer(std::span<const uint8_t> adv_bytes) {
+  auto slab = nearby_protocol::CredentialSlab::TryCreate();
+  EXPECT_TRUE(slab.ok());
+  auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(*slab);
+  EXPECT_TRUE(book.ok());
+  auto buffer = nearby_protocol::ByteBuffer<255>::TryFromSpan(adv_bytes);
+  EXPECT_TRUE(buffer.ok());
+
+  nearby_protocol::RawAdvertisementPayload payload(
+      (nearby_protocol::ByteBuffer<255>(*buffer)));
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(payload, *book);
+
+  // Since we are seeding with valid data, we can add extra calls into the
+  // result processing APIs to ensure none of the internal asserts are
+  // triggered.
+  HandleAdvertisementResult(std::move(deserialize_result));
+}
+
+FUZZ_TEST(NpCppDeserializationFuzzers, PlaintextDeserializer)
+    .WithDomains(fuzztest::Arbitrary<std::vector<uint8_t>>()
+                     .WithMinSize(0)
+                     .WithMaxSize(255))
+    .WithSeeds({V0AdvEmptyVec, V1AdvEmptyVec, V0AdvPlaintextVec,
+                V0AdvPlaintextMultiDeVec, V1AdvPlaintextVec, V0AdvEncryptedVec,
+                V1AdvEncryptedVec});
+
+// The data which is automatically generated by the fuzzer
+struct IdentityData {
+  uint32_t credential_id;
+  std::array<uint8_t, 32> key_seed;
+  std::array<uint8_t, 32> legacy_metadata_key_hmac;
+  std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac;
+  std::array<uint8_t, 32> expected_signed_metadata_key_hmac;
+  std::array<uint8_t, 32> pub_key;
+  std::vector<uint8_t> encrypted_metadata_bytes;
+};
+
+static struct IdentityData V0TestCaseIdentityData {
+  .credential_id = static_cast<uint32_t>(rand()), .key_seed = V0AdvKeySeed,
+  .legacy_metadata_key_hmac = V0AdvLegacyMetadataKeyHmac,
+  .encrypted_metadata_bytes = V0AdvEncryptedMetadata
+};
+
+static struct IdentityData V1TestCaseIdentityData {
+  .credential_id = static_cast<uint32_t>(rand()), .key_seed = V1AdvKeySeed,
+  .expected_unsigned_metadata_key_hmac = V1AdvExpectedUnsignedMetadataKeyHmac,
+  .expected_signed_metadata_key_hmac = V1AdvExpectedSignedMetadataKeyHmac,
+  .pub_key = V1AdvPublicKey, .encrypted_metadata_bytes = V1AdvEncryptedMetadata,
+};
+
+// Now lets try feeding the fuzzer some credential data that can successfully
+// decrypt advertisements to improve its efficiency, and provide extra coverage
+// on on credential/iteration code paths.
+// TODO: Add more interesting credential seed data once we have C++
+// serialization APIs, ie multiple sections with multiple valid credentials
+// and combinations of matching and undecryptable sections etc.
+void DeserializeWithCredentials(std::span<const IdentityData> identities,
+                                std::span<const uint8_t> adv_bytes) {
+  auto slab = nearby_protocol::CredentialSlab::TryCreate();
+  EXPECT_TRUE(slab.ok());
+
+  // populate book with fuzzer generated credential data
+  for (auto data : identities) {
+    nearby_protocol::MatchedCredentialData match_data(
+        123, data.encrypted_metadata_bytes);
+    nearby_protocol::V0MatchableCredential v0_cred(
+        data.key_seed, data.legacy_metadata_key_hmac, match_data);
+    // adding v0 credentials is infallible
+    EXPECT_TRUE(slab->AddV0Credential(v0_cred).ok());
+
+    nearby_protocol::V1MatchableCredential v1_cred(
+        data.key_seed, data.expected_unsigned_metadata_key_hmac,
+        data.expected_signed_metadata_key_hmac, data.pub_key, match_data);
+    [[maybe_unused]] auto result = slab->AddV1Credential(v1_cred);
+  }
+
+  auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(*slab);
+  EXPECT_TRUE(book.ok());
+  auto buffer = nearby_protocol::ByteBuffer<255>::TryFromSpan(adv_bytes);
+  EXPECT_TRUE(buffer.ok());
+
+  nearby_protocol::RawAdvertisementPayload payload(
+      (nearby_protocol::ByteBuffer<255>(*buffer)));
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(payload, *book);
+
+  // Since we are seeding with valid data, we can add extra calls into the
+  // result processing APIs to ensure none of the internal asserts are
+  // triggered.
+  HandleAdvertisementResult(std::move(deserialize_result));
+}
+
+std::vector<std::tuple<std::vector<IdentityData>, std::vector<uint8_t>>>
+DeserializeWithCredentialSeedData() {
+  return {
+      {{{V0TestCaseIdentityData, V1TestCaseIdentityData}, V0AdvEncryptedVec},
+       {{V0TestCaseIdentityData, V1TestCaseIdentityData}, V1AdvEncryptedVec}},
+  };
+}
+
+TEST(NpCppDeserializationFuzzers, InvalidPublicKeyInCredential) {
+  std::vector<IdentityData> identities;
+  identities.push_back(
+      {1804289383,
+       {17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+        17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17},
+       {136, 51,  222, 213, 77,  0,   146, 232, 128, 112, 213,
+        31,  24,  236, 34,  69,  117, 124, 36,  223, 227, 140,
+        178, 222, 119, 182, 120, 133, 252, 165, 103, 77},
+       {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+       {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+       {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+       fuzztest::ToByteArray("")});
+  identities.push_back({846930886,
+                        {49, 67, 99, 30,  202, 232, 151, 75,  150, 80,  204,
+                         28, 72, 37, 14,  129, 88,  6,   129, 81,  249, 235,
+                         37, 35, 3,  212, 151, 109, 149, 25,  145, 57},
+                        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+                         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+                        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+                         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+                        {28,  188, 235, 220, 23,  181, 145, 229, 7,   157, 112,
+                         193, 232, 75,  204, 219, 75,  15,  118, 131, 89,  98,
+                         10,  45,  85,  11,  59,  54,  164, 146, 139, 19},
+                        {109, 13,  182, 9,   16,  177, 83,  196, 126, 16,  22,
+                         20,  156, 159, 242, 20,  15,  236, 83,  118, 227, 7,
+                         217, 211, 158, 174, 231, 69,  44,  3,   236, 109},
+                        fuzztest::ToByteArray("")});
+
+  DeserializeWithCredentials(
+      identities,
+      fuzztest::ToByteArray(
+          " g\221\020\010\255iF\004]"
+          "\256m\267\367\\\323\270\254\360\277u\220\001\276s3\244v\204J\t"
+          "\017+"
+          "\231G\337\213F\312\026\316\023\265nS\256("
+          "VD\016\246\215\353\241\021\257N\033\340\216\365\272\220O."
+          "\224\374\336\246\177]"
+          "\3107\265\357\312\254\213\237\033\324\306\021\205\323g92\321\202"
+          "\312"
+          "N\271F\003\203hV\013\314\375z*\276\007"));
+}
+
+TEST(NpCppDeserializationFuzzers, PlaintextDeserializerRegression) {
+  PlaintextDeserializer(fuzztest::ToByteArray(
+      " 4\221\020\005\255iF\004]"
+      "\256\275m\267\367\\\270\254\360\277u\220\001G\337\213F\312\026\316\023"
+      "\265nS\256(VD\016\243\215\353\241\021\257N\020\340\216\365\272\220O."
+      "\224\374\336\246\177]"
+      "\3107\267\357\312\254\213\237\033\324\306\021\205\323g92\321\202\312N"
+      "\271D\003\203hV\013\314\375z*\276\007"));
+}
+
+FUZZ_TEST(NpCppDeserializationFuzzers, DeserializeWithCredentials)
+    .WithDomains(fuzztest::Arbitrary<std::vector<IdentityData>>()
+                     .WithMinSize(0)
+                     .WithMaxSize(1000),
+                 fuzztest::Arbitrary<std::vector<uint8_t>>()
+                     .WithMinSize(0)
+                     .WithMaxSize(255))
+    .WithSeeds(DeserializeWithCredentialSeedData);
+
+// Lets encourage the fuzzer to try with a lot of credentials and make sure
+// nothing falls apart. By default the vec ranges are somewhere between 1-20
+// even with setting a max of 1000, so setting a high minimum here to ensure the
+// higher end of credential iteration is hit.
+FUZZ_TEST(NpCppDeserializationFuzzersLotsOfCredentials,
+          DeserializeWithCredentials)
+    .WithDomains(
+        fuzztest::Arbitrary<std::vector<IdentityData>>().WithMinSize(10000),
+        fuzztest::Arbitrary<std::vector<uint8_t>>().WithMinSize(0).WithMaxSize(
+            255));
+
+// Helpers to trigger result processing code paths.
+void HandleV0Adv(nearby_protocol::DeserializedV0Advertisement);
+void HandleLegibleV0Adv(nearby_protocol::LegibleDeserializedV0Advertisement);
+void HandleV0IdentityKind(nearby_protocol::DeserializedV0IdentityKind);
+void HandleDataElement(nearby_protocol::V0DataElement);
+
+void HandleV1Adv(nearby_protocol::DeserializedV1Advertisement);
+void HandleV1Section(nearby_protocol::DeserializedV1Section);
+void HandleV1DataElement(nearby_protocol::V1DataElement);
+
+void HandleAdvertisementResult(
+    nearby_protocol::DeserializeAdvertisementResult result) {
+  switch (result.GetKind()) {
+    case nearby_protocol::DeserializeAdvertisementResultKind::Error:
+      break;
+    case nearby_protocol::DeserializeAdvertisementResultKind::V0:
+      HandleV0Adv(result.IntoV0());
+      break;
+    case nearby_protocol::DeserializeAdvertisementResultKind::V1:
+      HandleV1Adv(result.IntoV1());
+      break;
+  }
+}
+
+void HandleV0Adv(nearby_protocol::DeserializedV0Advertisement result) {
+  switch (result.GetKind()) {
+    case nearby_protocol::DeserializedV0AdvertisementKind::Legible:
+      HandleLegibleV0Adv(result.IntoLegible());
+      break;
+    case nearby_protocol::DeserializedV0AdvertisementKind::
+        NoMatchingCredentials:
+      break;
+  }
+}
+
+void HandleLegibleV0Adv(
+    nearby_protocol::LegibleDeserializedV0Advertisement legible_adv) {
+  auto num_des = legible_adv.GetNumberOfDataElements();
+  auto payload = legible_adv.IntoPayload();
+  for (int i = 0; i < num_des; i++) {
+    auto de_result = payload.TryGetDataElement(i);
+    if (!de_result.ok()) {
+      return;
+    }
+    HandleDataElement(de_result.value());
+  }
+}
+
+void HandleDataElement(nearby_protocol::V0DataElement de) {
+  switch (de.GetKind()) {
+    case nearby_protocol::V0DataElementKind::TxPower: {
+      [[maybe_unused]] auto tx_power = de.AsTxPower();
+      break;
+    }
+    case nearby_protocol::V0DataElementKind::Actions: {
+      [[maybe_unused]] auto actions = de.AsActions();
+      break;
+    }
+  }
+}
+
+void HandleV1Adv(nearby_protocol::DeserializedV1Advertisement adv) {
+  auto legible_sections = adv.GetNumLegibleSections();
+  [[maybe_unused]] auto encrypted_sections = adv.GetNumUndecryptableSections();
+  for (auto i = 0; i < legible_sections; i++) {
+    auto section_result = adv.TryGetSection(i);
+    if (!section_result.ok()) {
+      return;
+    }
+    HandleV1Section(section_result.value());
+  }
+}
+
+void HandleV1Section(nearby_protocol::DeserializedV1Section section) {
+  auto num_des = section.NumberOfDataElements();
+  for (auto i = 0; i < num_des; i++) {
+    auto de_result = section.TryGetDataElement(i);
+    if (!de_result.ok()) {
+      return;
+    }
+  }
+}
diff --git a/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_deserialize.cc b/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_deserialize.cc
deleted file mode 100644
index 3c409e7..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_deserialize.cc
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "nearby_protocol.h"
-
-#include <cstdint>
-#include <string>
-
-#include "absl/strings/escaping.h"
-
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
-  // won't fit into a FfiByteBuffer<255>
-  if (size > 255) {
-    return -1;
-  }
-
-  nearby_protocol::FfiByteBuffer<255> raw_bytes;
-  memcpy(&raw_bytes.bytes, data, size);
-  raw_bytes.len = size;
-
-  nearby_protocol::RawAdvertisementPayload payload(
-      (nearby_protocol::ByteBuffer<255>(raw_bytes)));
-
-  auto credential_slab = nearby_protocol::CredentialSlab::TryCreate();
-  if (!credential_slab.ok()) {
-    printf("Error: create Credential slab failed\n");
-    __builtin_trap();
-  }
-
-  auto credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(credential_slab.value());
-  if (!credential_book.ok()) {
-    printf("Error: create Credential book failed\n");
-    __builtin_trap();
-  }
-
-  auto deserialize_result =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(
-          payload, credential_book.value());
-
-  return 0;
-}
diff --git a/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_valid_header.cc b/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_valid_header.cc
deleted file mode 100644
index 2475b5e..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/fuzzer_np_cpp_valid_header.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2023 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "nearby_protocol.h"
-
-#include <cstdint>
-
-// Fuzz input data beginning with a valid header
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
-  // Won't fit into a FfiByteBuffer<255>
-  if (size > 255) {
-    return -1;
-  }
-
-  nearby_protocol::FfiByteBuffer<255> raw_bytes;
-  memcpy(&raw_bytes.bytes, data, size);
-  raw_bytes.len = size;
-
-  nearby_protocol::RawAdvertisementPayload payload(
-      (nearby_protocol::ByteBuffer<255>(raw_bytes)));
-
-  auto credential_slab = nearby_protocol::CredentialSlab::TryCreate();
-  if (!credential_slab.ok()) {
-    printf("Error: create Credential slab failed\n");
-    __builtin_trap();
-  }
-
-  auto credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(credential_slab.value());
-  if (!credential_book.ok()) {
-    printf("Error: create Credential book failed\n");
-    __builtin_trap();
-  }
-
-  // Force it to go down the v0 deserialization path
-  raw_bytes.bytes[0] = 0x00;
-
-  auto v0_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      payload, credential_book.value());
-
-  // Force it down the v1 deserialization path
-  raw_bytes.bytes[0] = 0x20;
-
-  auto v1_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      payload, credential_book.value());
-
-  return 0;
-}
diff --git a/nearby/presence/np_cpp_ffi/fuzz/generate_fuzz_corpus.cc b/nearby/presence/np_cpp_ffi/fuzz/generate_fuzz_corpus.cc
deleted file mode 100644
index 9d28f7a..0000000
--- a/nearby/presence/np_cpp_ffi/fuzz/generate_fuzz_corpus.cc
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2023 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "nearby_protocol.h"
-#include "shared_test_util.h"
-
-#include <fstream>
-#include <iostream>
-
-#define STRING(x) #x
-#define XSTRING(x) STRING(x)
-
-void write_corpus_data_file(std::string file_name,
-                            nearby_protocol::RawAdvertisementPayload payload) {
-  // Get the current source directory.
-  std::string current_source_dir = XSTRING(CORPUS_DIR);
-
-  // Print the current source directory to the console.
-  std::cout << "Writing to file: " << current_source_dir << "/" << file_name
-            << std::endl;
-
-  std::ofstream out(current_source_dir + "/" + file_name,
-                    std::ios::out | std::ios::binary);
-  auto vec_data = payload.buffer_.ToVector();
-  out.write(reinterpret_cast<const char *>(vec_data.data()), vec_data.size());
-  out.close();
-}
-
-int main() {
-  write_corpus_data_file("V0AdvSimple", V0AdvSimple);
-  write_corpus_data_file("V1AdvSimple", V1AdvSimple);
-  write_corpus_data_file("V0AdvEmpty", V0AdvEmpty);
-}
diff --git a/nearby/presence/np_cpp_ffi/include/nearby_protocol.h b/nearby/presence/np_cpp_ffi/include/nearby_protocol.h
index 2cb410d..1cc73d7 100644
--- a/nearby/presence/np_cpp_ffi/include/nearby_protocol.h
+++ b/nearby/presence/np_cpp_ffi/include/nearby_protocol.h
@@ -15,12 +15,21 @@
 #ifndef NEARBY_PRESENCE_NP_CPP_FFI_INCLUDE_NP_PROTOCOL_H_
 #define NEARBY_PRESENCE_NP_CPP_FFI_INCLUDE_NP_PROTOCOL_H_
 
+#include <array>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <span>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "absl/status/status.h"
 #include "absl/status/statusor.h"
 #include "absl/strings/str_format.h"
+#include "absl/strings/string_view.h"
 #include "np_cpp_ffi_types.h"
 
-#include <span>
-
 // This namespace provides a C++ API surface to the Rust nearby protocol
 // implementation. This is a wrapper over the np_ffi::internal namespace defined
 // in the headers np_cpp_ffi_functions.h and np_cpp_ffi_types.h which are
@@ -52,20 +61,35 @@
 namespace nearby_protocol {
 
 // Re-exporting cbindgen generated types which are used in the public API
-using np_ffi::internal::AddCredentialToSlabResult;
+using np_ffi::internal::AddV0CredentialToSlabResult;
+using np_ffi::internal::AddV0DEResult;
+using np_ffi::internal::AddV1CredentialToSlabResult;
+using np_ffi::internal::AdvertisementBuilderKind;
 using np_ffi::internal::BooleanActionType;
 using np_ffi::internal::CreateCredentialBookResultKind;
 using np_ffi::internal::CreateCredentialSlabResultKind;
+using np_ffi::internal::CreateV0AdvertisementBuilderResultKind;
+using np_ffi::internal::CreateV1SectionBuilderResultKind;
 using np_ffi::internal::DeserializeAdvertisementResultKind;
 using np_ffi::internal::DeserializedV0AdvertisementKind;
+using np_ffi::internal::DeserializedV0IdentityDetails;
 using np_ffi::internal::DeserializedV0IdentityKind;
+using np_ffi::internal::DeserializedV1IdentityDetails;
 using np_ffi::internal::DeserializedV1IdentityKind;
+using np_ffi::internal::EncryptedIdentityType;
 using np_ffi::internal::GetV0DEResultKind;
 using np_ffi::internal::PanicReason;
-using np_ffi::internal::TxPower;
+using np_ffi::internal::SerializeV0AdvertisementResultKind;
+using np_ffi::internal::SerializeV1AdvertisementResultKind;
 using np_ffi::internal::V0DataElementKind;
+using np_ffi::internal::V1VerificationMode;
 
-template <uintptr_t N> using FfiByteBuffer = np_ffi::internal::ByteBuffer<N>;
+const uint8_t MAX_ADV_PAYLOAD_SIZE = 255;
+const uint8_t MAX_V1_DE_PAYLOAD_SIZE = 127;
+const uint8_t KEY_SEED_SIZE = 32;
+const uint8_t HMAC_TAG_SIZE = 32;
+const uint8_t PUBLIC_SIGNING_KEY_SIZE = 32;
+const uint8_t DERIVED_SALT_SIZE = 16;
 
 // All of the types defined in this header
 class RawAdvertisementPayload;
@@ -96,11 +120,11 @@
 // on memory consumption. See np_ffi_global_config_* functions in
 // np_cpp_ffi_functions.h for more info
 class GlobalConfig {
-public:
+ public:
   // This class provides the static methods needed for global configuration,
   // so it does not need to be constructable, cloneable, or assignable.
-  GlobalConfig(GlobalConfig const &) = delete;
-  void operator=(GlobalConfig const &) = delete;
+  GlobalConfig(const GlobalConfig &) = delete;
+  void operator=(const GlobalConfig &) = delete;
   GlobalConfig() = delete;
 
   // Provides a user specified panic handler. This method will only have an
@@ -139,14 +163,20 @@
   // which may be active at any one time
   static void SetMaxNumDeserializedV1Advertisements(
       uint32_t max_num_deserialized_v1_advertisements);
+
+  // Sets the maximum number of active handles to v0 advertisement builders
+  // which may be active at any one time
+  static void SetMaxNumV0AdvertisementBuilders(
+      uint32_t max_num_v0_advertisement_builders);
 };
 
 // Holds the credentials used in the construction of a credential book
 // using CredentialBook::TryCreateFromSlab()
 class CredentialSlab {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  CredentialSlab() = delete;
   CredentialSlab(const CredentialSlab &other) = delete;
   CredentialSlab &operator=(const CredentialSlab &other) = delete;
 
@@ -170,7 +200,7 @@
   // Adds a V1 credential to the slab
   [[nodiscard]] absl::Status AddV1Credential(V1MatchableCredential v1_cred);
 
-private:
+ private:
   friend class CredentialBook;
   explicit CredentialSlab(np_ffi::internal::CredentialSlab credential_slab)
       : credential_slab_(credential_slab), moved_(false) {}
@@ -183,9 +213,10 @@
 // This needs to be passed to Deserializer::DeserializeAdvertisement() when
 // attempting to deserialize a payload
 class CredentialBook {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  CredentialBook() = delete;
   CredentialBook(const CredentialBook &other) = delete;
   CredentialBook &operator=(const CredentialBook &other) = delete;
 
@@ -203,10 +234,10 @@
   // returning the CredentialBook on success or a Status code on failure.
   // The passed credential-slab will be deallocated if this operation
   // is successful.
-  [[nodiscard]] static absl::StatusOr<CredentialBook>
-  TryCreateFromSlab(CredentialSlab &slab);
+  [[nodiscard]] static absl::StatusOr<CredentialBook> TryCreateFromSlab(
+      CredentialSlab &slab);
 
-private:
+ private:
   friend class Deserializer;
   explicit CredentialBook(np_ffi::internal::CredentialBook credential_book)
       : credential_book_(credential_book), moved_(false) {}
@@ -218,21 +249,20 @@
 // Holds data associated with a specific credential which will be returned to
 // the caller when it is successfully matched with an advertisement.
 class MatchedCredentialData {
-public:
+ public:
   // Creates matched credential data from a provided credential_id used to
   // correlate the data back to its full credential data, and the metadata byte
-  // buffer as copied from the given span over bytes. After calling
-  // this the bytes are copied into the rust code, so the
-  // encrypted_metadata_bytes_buffer can be freed.
+  // buffer as copied from the given span over bytes. The span must be valid
+  // until the corresponding Add_*_Credential is called using this data.
   //
   // Safety: this is safe if the span is over a valid buffer of bytes. The copy
   // from the memory address isn't atomic, so concurrent modification of the
   // array from another thread would cause undefined behavior.
-  [[nodiscard]] MatchedCredentialData(uint32_t cred_id,
-                                      std::span<uint8_t> metadata_bytes);
+  [[nodiscard]] MatchedCredentialData(
+      uint32_t cred_id, std::span<const uint8_t> encrypted_metadata_bytes);
 
-private:
-  np_ffi::internal::FfiMatchedCredential data_;
+ private:
+  np_ffi::internal::FfiMatchedCredential data_{};
   friend class V0MatchableCredential;
   friend class V1MatchableCredential;
 };
@@ -241,15 +271,15 @@
 // advertisements, along with some provided matched data that will be returned
 // back to the caller upon a successful credential match.
 class V0MatchableCredential {
-public:
+ public:
   // Creates a new V0MatchableCredential from a key seed, its calculated hmac
   // value and some match data.
   [[nodiscard]] V0MatchableCredential(
-      std::array<uint8_t, 32> key_seed,
-      std::array<uint8_t, 32> legacy_metadata_key_hmac,
+      std::array<uint8_t, KEY_SEED_SIZE> key_seed,
+      std::array<uint8_t, HMAC_TAG_SIZE> legacy_metadata_key_hmac,
       MatchedCredentialData matched_credential_data);
 
-private:
+ private:
   friend class CredentialSlab;
   np_ffi::internal::V0MatchableCredential internal_{};
 };
@@ -258,34 +288,78 @@
 // advertisements, along with some provided matched data that will be returned
 // back to the caller upon a successful credential match.
 class V1MatchableCredential {
-public:
+ public:
+  V1MatchableCredential() = delete;
+
   // Creates a new V1MatchableCredential from key material, its calculated hmac
   // value and some match data.
   [[nodiscard]] V1MatchableCredential(
-      std::array<uint8_t, 32> key_seed,
-      std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac,
-      std::array<uint8_t, 32> expected_signed_metadata_key_hmac,
-      std::array<uint8_t, 32> pub_key,
+      std::array<uint8_t, KEY_SEED_SIZE> key_seed,
+      std::array<uint8_t, HMAC_TAG_SIZE> expected_unsigned_metadata_key_hmac,
+      std::array<uint8_t, HMAC_TAG_SIZE> expected_signed_metadata_key_hmac,
+      std::array<uint8_t, PUBLIC_SIGNING_KEY_SIZE> pub_key,
       MatchedCredentialData matched_credential_data);
 
-private:
+ private:
   friend class CredentialSlab;
-  np_ffi::internal::V1MatchableCredential internal_;
+  np_ffi::internal::V1MatchableCredential internal_{};
 };
 
-// Representation of a buffer of bytes returned from deserialization APIs
-template <size_t N> class ByteBuffer {
-public:
-  // Constructor for a fixed length buffer of bytes from its internal struct
-  // data representation consisting of a length and array of unint8_t bytes.
-  [[nodiscard]] explicit ByteBuffer(FfiByteBuffer<N> internal)
-      : internal_(internal) {}
+// Holds the V0 credential data needed to encrypt advertisements.
+class V0BroadcastCredential {
+ public:
+  V0BroadcastCredential() = delete;
+
+  // Creates a new V0Broadcast credential with the given
+  // key seed and metadata key.
+  [[nodiscard]] V0BroadcastCredential(std::array<uint8_t, 32> key_seed,
+                                      std::array<uint8_t, 14> metadata_key);
+
+ private:
+  friend class V0AdvertisementBuilder;
+  np_ffi::internal::V0BroadcastCredential internal_;
+};
+
+// Representation of a buffer of bytes returned from and passed to Rust library
+// deserialization APIs. `N` is the max size of the buffer but its actual
+// contents can be up to N in size.
+template <size_t N>
+class ByteBuffer {
+ public:
+  // Constructs a ByteBuffer from an std::array of bytes
+  template <size_t M>
+  [[nodiscard]] constexpr explicit ByteBuffer(std::array<uint8_t, M> data) {
+    static_assert(N >= M);
+    np_ffi::internal::ByteBuffer<N> internal =
+        np_ffi::internal::ByteBuffer<N>();
+    internal.len = M;
+    std::copy(data.begin(), data.end(), internal.bytes);
+    internal_ = internal;
+  }
+
+  // Creates a ByteBuffer from a std::vector<uint8_t> of bytes, returning an
+  // absl::OutOfRangeError in the case where bytes is too large to fit into the
+  // buffer. On success the returned type contains a copy of the provided bytes.
+  [[nodiscard]] static absl::StatusOr<ByteBuffer<N>> TryFromSpan(
+      std::span<const uint8_t> bytes) {
+    if (bytes.size() > N) {
+      return absl::OutOfRangeError(
+          absl::StrFormat("Provided bytes of length %d will not fit into a "
+                          "ByteBuffer<N> of size N=%d",
+                          bytes.size(), N));
+    }
+    np_ffi::internal::ByteBuffer<N> internal =
+        np_ffi::internal::ByteBuffer<N>();
+    internal.len = bytes.size();
+    std::copy(std::begin(bytes), std::end(bytes), internal.bytes);
+    return ByteBuffer(internal);
+  }
 
   // Creates a ByteBuffer from a absl::string_view of bytes, returning an
   // absl::OutOfRangeError in the case where bytes is too large to fit into the
   // buffer. On success the returned type contains a copy of the provided bytes.
-  [[nodiscard]] static absl::StatusOr<ByteBuffer<N>>
-  CopyFrom(absl::string_view bytes) {
+  [[nodiscard]] static absl::StatusOr<ByteBuffer<N>> TryFromString(
+      absl::string_view bytes) {
     if (bytes.length() > N) {
       return absl::OutOfRangeError(
           absl::StrFormat("Provided bytes of length %d will not fit into a "
@@ -301,7 +375,7 @@
 
   // Helper method to convert the ByteBuffer into a vector. The vector will
   // contain a copy of the bytes and won't share the underlying buffer.
-  [[nodiscard]] std::vector<uint8_t> ToVector() {
+  [[nodiscard]] std::vector<uint8_t> ToVector() const {
     std::vector<uint8_t> result(internal_.bytes,
                                 internal_.bytes + internal_.len);
     return result;
@@ -310,64 +384,71 @@
   // Helper method to convert the ByteBuffer into a std::string. The returned
   // string will contain a copy of the bytes and won't share the underlying
   // buffer.
-  [[nodiscard]] std::string ToString() {
+  [[nodiscard]] std::string ToString() const {
     std::string result;
     result.assign(internal_.bytes, internal_.bytes + internal_.len);
     return result;
   }
+  // Constructor for a fixed length buffer of bytes from its internal struct
+  // data representation consisting of a length and array of unint8_t bytes.
+  [[nodiscard]] explicit ByteBuffer(np_ffi::internal::ByteBuffer<N> internal)
+      : internal_(internal) {}
 
-private:
+ private:
+  friend class V0AdvertisementBuilder;
   friend class V1DataElement;
   friend class Deserializer;
   np_ffi::internal::ByteBuffer<N> internal_;
 };
 
 class RawAdvertisementPayload {
-public:
+ public:
   // Creates a RawAdvertisementPayload from a ByteBuffer.
-  explicit RawAdvertisementPayload(ByteBuffer<255> bytes) : buffer_(bytes) {}
+  explicit constexpr RawAdvertisementPayload(
+      ByteBuffer<MAX_ADV_PAYLOAD_SIZE> bytes)
+      : buffer_(bytes) {}
 
-  ByteBuffer<255> buffer_;
-
-private:
+ private:
+  ByteBuffer<MAX_ADV_PAYLOAD_SIZE> buffer_;
   friend class Deserializer;
 };
 
 // A global static Deserializer, configured by GlobalConfig and used to
 // deserialize advertisement payloads
 class Deserializer {
-public:
+ public:
   // Attempts to deserialize an advertisement with the given service-data
   // payload (presumed to be under the NP service UUID) using credentials pulled
   // from the given credential-book. See np_ffi_deserialize_advertisement in
   // np_cpp_ffi_functions.h for more info
-  [[nodiscard]] static DeserializeAdvertisementResult
-  DeserializeAdvertisement(RawAdvertisementPayload &payload,
-                           const CredentialBook &credential_book);
+  [[nodiscard]] static DeserializeAdvertisementResult DeserializeAdvertisement(
+      const RawAdvertisementPayload &payload,
+      const CredentialBook &credential_book);
 };
 
 // The result type returned from Deserializer::DeserializeAdvertisement(). Can
 // be used to further process the advertisement and inspect its contents
 class DeserializeAdvertisementResult {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  DeserializeAdvertisementResult() = delete;
   DeserializeAdvertisementResult(const DeserializeAdvertisementResult &other) =
       delete;
-  DeserializeAdvertisementResult &
-  operator=(const DeserializeAdvertisementResult &other) = delete;
+  DeserializeAdvertisementResult &operator=(
+      const DeserializeAdvertisementResult &other) = delete;
 
   // Move constructor and move assignment operators
   DeserializeAdvertisementResult(
       DeserializeAdvertisementResult &&other) noexcept;
-  DeserializeAdvertisementResult &
-  operator=(DeserializeAdvertisementResult &&other) noexcept;
+  DeserializeAdvertisementResult &operator=(
+      DeserializeAdvertisementResult &&other) noexcept;
 
   // Frees the underlying resources of the result.
   ~DeserializeAdvertisementResult();
 
   // Returns the DeserializeAdvertisementResultKind of the Result
-  [[nodiscard]] DeserializeAdvertisementResultKind GetKind();
+  [[nodiscard]] DeserializeAdvertisementResultKind GetKind() const;
 
   // Casts a `DeserializeAdvertisementResult` to the `V0` variant, panicking in
   // the case where the passed value is of a different enum variant. This can
@@ -381,7 +462,7 @@
   // is no longer valid.
   [[nodiscard]] DeserializedV1Advertisement IntoV1();
 
-private:
+ private:
   friend class Deserializer;
   explicit DeserializeAdvertisementResult(
       np_ffi::internal::DeserializeAdvertisementResult result)
@@ -393,25 +474,26 @@
 
 // A deserialized V0 advertisement payload
 class DeserializedV0Advertisement {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  DeserializedV0Advertisement() = delete;
   DeserializedV0Advertisement(const DeserializedV0Advertisement &other) =
       delete;
-  DeserializedV0Advertisement &
-  operator=(const DeserializedV0Advertisement &other) = delete;
+  DeserializedV0Advertisement &operator=(
+      const DeserializedV0Advertisement &other) = delete;
 
   // Move constructor and move assignment operators
   DeserializedV0Advertisement(DeserializedV0Advertisement &&other) noexcept;
-  DeserializedV0Advertisement &
-  operator=(DeserializedV0Advertisement &&other) noexcept;
+  DeserializedV0Advertisement &operator=(
+      DeserializedV0Advertisement &&other) noexcept;
 
   // The destructor which will be called when a DeserializedV0Advertisement
   // instance goes out of scope, and will free the underlying resources
   ~DeserializedV0Advertisement();
 
   // Returns the DeserializedV0AdvertisementKind of the advertisement
-  [[nodiscard]] DeserializedV0AdvertisementKind GetKind();
+  [[nodiscard]] DeserializedV0AdvertisementKind GetKind() const;
 
   // Casts a `DeserializedV0Advertisement` to the `Legible` variant, panicking
   // in the case where the passed value is of a different enum variant.
@@ -419,7 +501,7 @@
   // `LegibleDeserializedV0Advertisement`, and this object is no longer valid.
   [[nodiscard]] LegibleDeserializedV0Advertisement IntoLegible();
 
-private:
+ private:
   friend class DeserializeAdvertisementResult;
   explicit DeserializedV0Advertisement(
       np_ffi::internal::DeserializedV0Advertisement v0_advertisement)
@@ -433,19 +515,20 @@
 // either plaintext OR have already been decrypted successfully by a matching
 // credential in the provided CredentialBook
 class LegibleDeserializedV0Advertisement {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  LegibleDeserializedV0Advertisement() = delete;
   LegibleDeserializedV0Advertisement(
       const LegibleDeserializedV0Advertisement &other) = delete;
-  LegibleDeserializedV0Advertisement &
-  operator=(const LegibleDeserializedV0Advertisement &other) = delete;
+  LegibleDeserializedV0Advertisement &operator=(
+      const LegibleDeserializedV0Advertisement &other) = delete;
 
   // Move constructor and move assignment operators
   LegibleDeserializedV0Advertisement(
       LegibleDeserializedV0Advertisement &&other) noexcept;
-  LegibleDeserializedV0Advertisement &
-  operator=(LegibleDeserializedV0Advertisement &&other) noexcept;
+  LegibleDeserializedV0Advertisement &operator=(
+      LegibleDeserializedV0Advertisement &&other) noexcept;
 
   // The destructor which will be called when a this instance goes out of scope,
   // and will free the underlying parent handle.
@@ -453,13 +536,13 @@
 
   // Returns just the kind of identity (public/encrypted)
   // associated with the advertisement
-  [[nodiscard]] DeserializedV0IdentityKind GetIdentityKind();
+  [[nodiscard]] DeserializedV0IdentityKind GetIdentityKind() const;
   // Returns the number of data elements in the advertisement
-  [[nodiscard]] uint8_t GetNumberOfDataElements();
+  [[nodiscard]] uint8_t GetNumberOfDataElements() const;
   // Returns just the data-element payload of the advertisement
   [[nodiscard]] V0Payload IntoPayload();
 
-private:
+ private:
   friend class DeserializedV0Advertisement;
   explicit LegibleDeserializedV0Advertisement(
       np_ffi::internal::LegibleDeserializedV0Advertisement
@@ -473,9 +556,10 @@
 
 // A data element payload of a Deserialized V0 Advertisement.
 class V0Payload {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying parent handle being freed multiple times.
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  V0Payload() = delete;
   V0Payload(const V0Payload &other) = delete;
   V0Payload &operator=(const V0Payload &other) = delete;
 
@@ -488,9 +572,20 @@
 
   // Tries to retrieve the data element at the given index, returns the data
   // element if it exists otherwise returns an Error status code
-  [[nodiscard]] absl::StatusOr<V0DataElement> TryGetDataElement(uint8_t index);
+  [[nodiscard]] absl::StatusOr<V0DataElement> TryGetDataElement(
+      uint8_t index) const;
 
-private:
+  // Decrypts the metadata of the credential which matched with this
+  // advertisement, or returns an error if the metadata key is invalid and
+  // unable to successfully decrypt the metadata.
+  [[nodiscard]] absl::StatusOr<std::vector<uint8_t>> DecryptMetadata() const;
+
+  // Gets the details of the identity data element of this payload or returns an
+  // error if the payload does not have an identity (public advertisement)
+  [[nodiscard]] absl::StatusOr<DeserializedV0IdentityDetails>
+  GetIdentityDetails() const;
+
+ private:
   friend class LegibleDeserializedV0Advertisement;
   explicit V0Payload(np_ffi::internal::V0Payload v0_payload)
       : v0_payload_(v0_payload), moved_(false) {}
@@ -499,40 +594,102 @@
   bool moved_;
 };
 
-// A single deserialized V0 data element
+// A Tx Power [transmission power] between -100dBm and 20dBm
+class TxPower {
+ public:
+  TxPower() = delete;
+
+  // Gets the value of this tx power as a signed byte.
+  [[nodiscard]] int8_t GetAsI8() const;
+
+  // Attempts to construct a tx power with the given value contained
+  // in a signed byte. If the number is not within the representable
+  // range, this method will return an invalid argument error.
+  [[nodiscard]] static absl::StatusOr<TxPower> TryBuildFromI8(int8_t value);
+
+ private:
+  friend class V0DataElement;
+  explicit TxPower(np_ffi::internal::TxPower tx_power) : tx_power_(tx_power) {}
+  np_ffi::internal::TxPower tx_power_;
+};
+
+// A single V0 data element
 class V0DataElement {
-public:
+ public:
   // Yields the V0DataElementKind of the data element
-  [[nodiscard]] V0DataElementKind GetKind();
+  [[nodiscard]] V0DataElementKind GetKind() const;
   // Casts the V0DataElement into the TxPower variant, panicking in the case
   // where the data element is of a different enum variant
-  [[nodiscard]] TxPower AsTxPower();
+  [[nodiscard]] TxPower AsTxPower() const;
   // Casts the V0DataElement into the Actions variant, panicking in the case
   // where the data element is of a different enum variant
-  [[nodiscard]] V0Actions AsActions();
+  [[nodiscard]] V0Actions AsActions() const;
 
-private:
+  // Constructs a Tx Power V0 data element
+  explicit V0DataElement(TxPower tx_power);
+  // Constructs an Actions V0 data element
+  explicit V0DataElement(V0Actions actions);
+
+ private:
+  friend class V0AdvertisementBuilder;
   friend class V0Payload;
   explicit V0DataElement(np_ffi::internal::V0DataElement v0_data_element)
       : v0_data_element_(v0_data_element) {}
   np_ffi::internal::V0DataElement v0_data_element_;
 };
 
+// A Context Sync Sequence Number [0-15]
+class ContextSyncSeqNum {
+ public:
+  ContextSyncSeqNum() = delete;
+
+  // Gets the value of this context-sync sequence number.
+  [[nodiscard]] uint8_t GetAsU8() const;
+
+  // Attempts to construct a context-sync sequence number with the given
+  // value contained in an unsigned byte. If the number may not be
+  // represented in a single nibble, this method will return an
+  // invalid argument error.
+  [[nodiscard]] static absl::StatusOr<ContextSyncSeqNum> TryBuildFromU8(
+      uint8_t value);
+
+ private:
+  friend class V0Actions;
+  explicit ContextSyncSeqNum(np_ffi::internal::ContextSyncSeqNum seq_num)
+      : seq_num_(seq_num) {}
+  np_ffi::internal::ContextSyncSeqNum seq_num_;
+};
+
 // A V0 Actions Data Element
 class V0Actions {
-public:
+ public:
+  V0Actions() = delete;
+
   // Gets the V0 Action bits as represented by a u32 where the last 8 bits are
   // always 0 since V0 actions can only hold up to 24 bits.
-  [[nodiscard]] uint32_t GetAsU32();
+  [[nodiscard]] uint32_t GetAsU32() const;
 
   /// Return whether a boolean action type is present in this data element
-  [[nodiscard]] bool HasAction(BooleanActionType action);
+  [[nodiscard]] bool HasAction(BooleanActionType action) const;
 
-  /// Gets the 4 bit context sync sequence number as a uint8_t from this data
-  /// element
-  [[nodiscard]] uint8_t GetContextSyncSequenceNumber();
+  /// Gets the 4 bit context sync sequence number from this data element
+  [[nodiscard]] ContextSyncSeqNum GetContextSyncSequenceNumber() const;
 
-private:
+  /// Attempts to set the given action bit to the given boolean value.
+  /// This operation may fail with an invalid argument error
+  /// if the requested action bit may not be set given the encoding
+  /// of the containing advertisement.
+  /// In this case, the action bits will be unaltered by this call.
+  absl::Status TrySetAction(BooleanActionType action, bool value);
+
+  /// Sets the context sync sequence number.
+  void SetContextSyncSequenceNumber(ContextSyncSeqNum seq_num);
+
+  // Constructs an all-zeroed V0 actions DE for the given advertisement builder
+  // kind.
+  [[nodiscard]] static V0Actions BuildNewZeroed(AdvertisementBuilderKind kind);
+
+ private:
   friend class V0DataElement;
   explicit V0Actions(np_ffi::internal::V0Actions actions) : actions_(actions) {}
   np_ffi::internal::V0Actions actions_;
@@ -540,32 +697,33 @@
 
 // A deserialized V1 Advertisement payload
 class DeserializedV1Advertisement {
-public:
-  // Don't allow copy constructor or copy assignment, since that would result in
-  // the underlying handle being freed multiple times
+ public:
+  // Don't allow copy constructor, copy-assignment or default constructor, since
+  // this class wraps a handle to externally allocated resources.
+  DeserializedV1Advertisement() = delete;
   DeserializedV1Advertisement(const DeserializedV1Advertisement &other) =
       delete;
-  DeserializedV1Advertisement &
-  operator=(const DeserializedV1Advertisement &other) = delete;
+  DeserializedV1Advertisement &operator=(
+      const DeserializedV1Advertisement &other) = delete;
 
   // Move constructor and move assignment operators
   DeserializedV1Advertisement(DeserializedV1Advertisement &&other) noexcept;
-  DeserializedV1Advertisement &
-  operator=(DeserializedV1Advertisement &&other) noexcept;
+  DeserializedV1Advertisement &operator=(
+      DeserializedV1Advertisement &&other) noexcept;
 
   // Gets the number of legible sections on a deserialized V1 advertisement.
   // This is usable as an iteration bound for the section_index of TryGetSection
-  [[nodiscard]] uint8_t GetNumLegibleSections();
+  [[nodiscard]] uint8_t GetNumLegibleSections() const;
   // Gets the number of sections on a deserialized V1 advertisement which
   // were unable to be decrypted with the credentials that the receiver
   // possesses
-  [[nodiscard]] uint8_t GetNumUndecryptableSections();
+  [[nodiscard]] uint8_t GetNumUndecryptableSections() const;
   // Tries to get the section with the given index in a deserialized V1
   // advertisement. Returns a error code in the result of an invalid index
-  [[nodiscard]] absl::StatusOr<DeserializedV1Section>
-  TryGetSection(uint8_t section_index);
+  [[nodiscard]] absl::StatusOr<DeserializedV1Section> TryGetSection(
+      uint8_t section_index) const;
 
-private:
+ private:
   friend class DeserializeAdvertisementResult;
   explicit DeserializedV1Advertisement(
       np_ffi::internal::DeserializedV1Advertisement v1_advertisement);
@@ -576,15 +734,34 @@
 
 // A Deserialized V1 Section of an advertisement
 class DeserializedV1Section {
-public:
+ public:
   // Returns the number of data elements present in the section
-  [[nodiscard]] uint8_t NumberOfDataElements();
-  // Returns the DeserializedV1IdentityKind of the identity
-  [[nodiscard]] DeserializedV1IdentityKind GetIdentityKind();
-  // Tries to get the data element in the section at the given index
-  [[nodiscard]] absl::StatusOr<V1DataElement> TryGetDataElement(uint8_t index);
+  [[nodiscard]] uint8_t NumberOfDataElements() const;
 
-private:
+  // Returns the DeserializedV1IdentityKind of the identity
+  [[nodiscard]] DeserializedV1IdentityKind GetIdentityKind() const;
+
+  // Tries to get the data element in the section at the given index
+  [[nodiscard]] absl::StatusOr<V1DataElement> TryGetDataElement(
+      uint8_t index) const;
+
+  // Decrypts the metadata of the credential which matched with this section
+  [[nodiscard]] absl::StatusOr<std::vector<uint8_t>> DecryptMetadata() const;
+
+  // Gets the details of the identity data element of this section or returns an
+  // error if the section does not contain an identity (public section)
+  [[nodiscard]] absl::StatusOr<DeserializedV1IdentityDetails>
+  GetIdentityDetails() const;
+
+  // Attempts to derive a 16-byte DE salt for a DE in this section with the
+  // given DE offset. This operation may fail if the passed offset is 255
+  // (causes overflow) or if the section is leveraging a public identity, and
+  // hence, doesn't have an associated salt. The offset should come from a
+  // particular deserialized v1 de via `V1DataElement::GetOffset()`
+  [[nodiscard]] absl::StatusOr<std::array<uint8_t, DERIVED_SALT_SIZE>>
+  DeriveSaltForOffset(uint8_t offset) const;
+
+ private:
   friend class DeserializedV1Advertisement;
   explicit DeserializedV1Section(
       np_ffi::internal::DeserializedV1Section section,
@@ -599,19 +776,81 @@
 
 // A V1 Data Element
 class V1DataElement {
-public:
+ public:
   // Yields the unsigned 32-bit integer V1 DE type code
   [[nodiscard]] uint32_t GetDataElementTypeCode() const;
   // Yields the payload bytes of the data element
-  [[nodiscard]] ByteBuffer<127> GetPayload() const;
+  [[nodiscard]] ByteBuffer<MAX_V1_DE_PAYLOAD_SIZE> GetPayload() const;
+  /// Gets the offset for this V1 data element.
+  [[nodiscard]] uint8_t GetOffset() const;
 
-private:
+ private:
   friend class DeserializedV1Section;
   explicit V1DataElement(np_ffi::internal::V1DataElement v1_data_element)
       : v1_data_element_(v1_data_element) {}
   np_ffi::internal::V1DataElement v1_data_element_;
 };
 
-} //  namespace nearby_protocol
+// A builder for V0 advertisements
+class V0AdvertisementBuilder {
+ public:
+  V0AdvertisementBuilder() = delete;
+  // Don't allow copy constructor or copy assignment, since that would result in
+  // the underlying handle being freed multiple times
+  V0AdvertisementBuilder(const V0AdvertisementBuilder &other) = delete;
+  V0AdvertisementBuilder &operator=(const V0AdvertisementBuilder &other) =
+      delete;
 
-#endif // NEARBY_PRESENCE_NP_CPP_FFI_INCLUDE_NP_PROTOCOL_H_
+  // Move constructor and move assignment operators
+  V0AdvertisementBuilder(V0AdvertisementBuilder &&other) noexcept;
+  V0AdvertisementBuilder &operator=(V0AdvertisementBuilder &&other) noexcept;
+
+  // Frees the underlying resources of the adv builder.
+  ~V0AdvertisementBuilder();
+
+  // Tries to add the given data element to the advertisement builder.
+  // May fail with:
+  //  - An invalid argument code if:
+  //    - The adv builder handle is invalid
+  //    OR
+  //    - The identity type of the adv builder is invalid
+  //    for the data element we're attempting to add.
+  //  - A resource exhausted error if there's no remaining adv space.
+  absl::Status TryAddDE(V0DataElement de);
+
+  // Attempts to serialize the contents of the advertisement
+  // builder to bytes. This operation will always result in the
+  // contents behind the handle for this instance being deallocated.
+  //
+  // This operation may return an out-of-range error in the case
+  // where the advertisement contents are of a size inappropriate
+  // for LDT encryption in an encrypted V0 advertisement.
+  [[nodiscard]] absl::StatusOr<ByteBuffer<24>> TrySerialize();
+
+  // Creates a new V0 advertisement builder for a public advertisement,
+  // or returns a Status code on failure.
+  [[nodiscard]] static absl::StatusOr<V0AdvertisementBuilder> TryCreatePublic();
+
+  // Creates a new V0 advertisement builder for an encrypted advertisement,
+  // or returns a Status code on failure.
+  [[nodiscard]] static absl::StatusOr<V0AdvertisementBuilder>
+  TryCreateEncrypted(V0BroadcastCredential broadcast_cred,
+                     EncryptedIdentityType identity_type,
+                     std::array<uint8_t, 2> salt);
+
+ private:
+  [[nodiscard]] static absl::StatusOr<V0AdvertisementBuilder>
+  CreateV0AdvertisementBuilderResultToInternal(
+      np_ffi::internal::CreateV0AdvertisementBuilderResult result);
+
+  explicit V0AdvertisementBuilder(
+      np_ffi::internal::V0AdvertisementBuilder adv_builder)
+      : adv_builder_(adv_builder), moved_(false) {}
+
+  np_ffi::internal::V0AdvertisementBuilder adv_builder_;
+  bool moved_;
+};
+
+}  //  namespace nearby_protocol
+
+#endif  // NEARBY_PRESENCE_NP_CPP_FFI_INCLUDE_NP_PROTOCOL_H_
diff --git a/nearby/presence/np_cpp_ffi/nearby_protocol.cc b/nearby/presence/np_cpp_ffi/nearby_protocol.cc
index b6730ef..360f7ad 100644
--- a/nearby/presence/np_cpp_ffi/nearby_protocol.cc
+++ b/nearby/presence/np_cpp_ffi/nearby_protocol.cc
@@ -12,29 +12,36 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "include/nearby_protocol.h"
+#include "nearby_protocol.h"
 
+#include <array>
+#include <cstddef>
+#include <cstdint>
+#include <cstdlib>
+#include <iostream>
+#include <memory>
+#include <span>
+#include <utility>
+#include <vector>
+
+#include "absl/status/status.h"
+#include "absl/status/statusor.h"
 #include "np_cpp_ffi_functions.h"
-
-#ifdef __FILE_NAME__
-#define __ASSERT_FILE_NAME __FILE_NAME__
-#else /* __FILE_NAME__ */
-#define __ASSERT_FILE_NAME __FILE__
-#endif /* __FILE_NAME__ */
+#include "np_cpp_ffi_types.h"
 
 namespace nearby_protocol {
 
-static void panic_handler(PanicReason reason);
+void panic_handler(PanicReason reason);
 
 struct PanicHandler {
   void (*handler)(PanicReason);
   bool set_by_client;
 };
 
-static PanicHandler gPanicHandler = PanicHandler{panic_handler, false};
+PanicHandler gPanicHandler = PanicHandler{panic_handler, false};
 
 // C++ layer internal panic handler
-static void panic_handler(PanicReason reason) {
+void panic_handler(PanicReason reason) {
   // Give clients a chance to use their own panic handler, but if they don't
   // terminate the process we will make sure it happens.
   if (gPanicHandler.set_by_client) {
@@ -43,8 +50,8 @@
   std::abort();
 }
 
-static void _assert_panic(bool condition, const char *func, const char *file,
-                          int line) {
+void _assert_panic(bool condition, const char* func, const char* file,
+                   int line) {
   if (!condition) {
     std::cout << "Assert failed: \n function: " << func << "\n file: " << file
               << "\n line: " << line << "\n";
@@ -52,7 +59,7 @@
   }
 }
 
-#define assert_panic(e) _assert_panic(e, __func__, __ASSERT_FILE_NAME, __LINE__)
+#define assert_panic(e) _assert_panic(e, __func__, __FILE__, __LINE__)
 
 bool GlobalConfig::SetPanicHandler(void (*handler)(PanicReason)) {
   if (!gPanicHandler.set_by_client) {
@@ -63,49 +70,57 @@
   return false;
 }
 
-void GlobalConfig::SetNumShards(uint8_t num_shards) {
+void GlobalConfig::SetNumShards(const uint8_t num_shards) {
   np_ffi::internal::np_ffi_global_config_set_num_shards(num_shards);
 }
 
-void GlobalConfig::SetMaxNumCredentialSlabs(uint32_t max_num_credential_slabs) {
+void GlobalConfig::SetMaxNumCredentialSlabs(
+    const uint32_t max_num_credential_slabs) {
   np_ffi::internal::np_ffi_global_config_set_max_num_credential_slabs(
       max_num_credential_slabs);
 }
 
-void GlobalConfig::SetMaxNumCredentialBooks(uint32_t max_num_credential_books) {
+void GlobalConfig::SetMaxNumCredentialBooks(
+    const uint32_t max_num_credential_books) {
   np_ffi::internal::np_ffi_global_config_set_max_num_credential_books(
       max_num_credential_books);
 }
 
 void GlobalConfig::SetMaxNumDeserializedV0Advertisements(
-    uint32_t max_num_deserialized_v0_advertisements) {
+    const uint32_t max_num_deserialized_v0_advertisements) {
   np_ffi::internal::
       np_ffi_global_config_set_max_num_deserialized_v0_advertisements(
           max_num_deserialized_v0_advertisements);
 }
 
 void GlobalConfig::SetMaxNumDeserializedV1Advertisements(
-    uint32_t max_num_deserialized_v1_advertisements) {
+    const uint32_t max_num_deserialized_v1_advertisements) {
   np_ffi::internal::
       np_ffi_global_config_set_max_num_deserialized_v1_advertisements(
           max_num_deserialized_v1_advertisements);
 }
 
+void GlobalConfig::SetMaxNumV0AdvertisementBuilders(
+    uint32_t max_num_v0_advertisement_builders) {
+  np_ffi::internal::np_ffi_global_config_set_max_num_v0_advertisement_builders(
+      max_num_v0_advertisement_builders);
+}
+
 absl::StatusOr<CredentialSlab> CredentialSlab::TryCreate() {
   auto result = np_ffi::internal::np_ffi_create_credential_slab();
   auto kind = np_ffi::internal::np_ffi_CreateCredentialSlabResult_kind(result);
 
   switch (kind) {
-  case CreateCredentialSlabResultKind::Success: {
-    auto slab = CredentialSlab(
-        np_ffi::internal::np_ffi_CreateCredentialSlabResult_into_SUCCESS(
-            result));
-    return slab;
-  }
-  case CreateCredentialSlabResultKind::NoSpaceLeft: {
-    return absl::ResourceExhaustedError(
-        "No space left to create credential slab");
-  }
+    case CreateCredentialSlabResultKind::Success: {
+      auto slab = CredentialSlab(
+          np_ffi::internal::np_ffi_CreateCredentialSlabResult_into_SUCCESS(
+              result));
+      return slab;
+    }
+    case CreateCredentialSlabResultKind::NoSpaceLeft: {
+      return absl::ResourceExhaustedError(
+          "No space left to create credential slab");
+    }
   }
 }
 
@@ -117,13 +132,13 @@
   }
 }
 
-CredentialSlab::CredentialSlab(CredentialSlab &&other) noexcept
+CredentialSlab::CredentialSlab(CredentialSlab&& other) noexcept
     : credential_slab_(other.credential_slab_), moved_(other.moved_) {
   other.credential_slab_ = {};
   other.moved_ = true;
 }
 
-CredentialSlab &CredentialSlab::operator=(CredentialSlab &&other) noexcept {
+CredentialSlab& CredentialSlab::operator=(CredentialSlab&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result = np_ffi::internal::np_ffi_deallocate_credential_slab(
@@ -140,58 +155,64 @@
   return *this;
 }
 
-absl::Status CredentialSlab::AddV0Credential(V0MatchableCredential v0_cred) {
+absl::Status CredentialSlab::AddV0Credential(
+    const V0MatchableCredential v0_cred) {
   assert_panic(!this->moved_);
   auto result = np_ffi::internal::np_ffi_CredentialSlab_add_v0_credential(
       this->credential_slab_, v0_cred.internal_);
   switch (result) {
-  case AddCredentialToSlabResult::Success: {
-    return absl::OkStatus();
-  }
-  case AddCredentialToSlabResult::InvalidHandle: {
-    return absl::InvalidArgumentError(
-        "invalid credential slab handle provided");
-  }
+    case AddV0CredentialToSlabResult::Success: {
+      return absl::OkStatus();
+    }
+    case AddV0CredentialToSlabResult::InvalidHandle: {
+      return absl::InvalidArgumentError(
+          "invalid credential slab handle provided");
+    }
   }
 }
 
-absl::Status CredentialSlab::AddV1Credential(V1MatchableCredential v1_cred) {
+absl::Status CredentialSlab::AddV1Credential(
+    const V1MatchableCredential v1_cred) {
   assert_panic(!this->moved_);
   auto result = np_ffi::internal::np_ffi_CredentialSlab_add_v1_credential(
       this->credential_slab_, v1_cred.internal_);
   switch (result) {
-  case AddCredentialToSlabResult::Success: {
-    return absl::OkStatus();
-  }
-  case AddCredentialToSlabResult::InvalidHandle: {
-    return absl::InvalidArgumentError(
-        "invalid credential slab handle provided");
-  }
+    case AddV1CredentialToSlabResult::Success: {
+      return absl::OkStatus();
+    }
+    case AddV1CredentialToSlabResult::InvalidHandle: {
+      return absl::InvalidArgumentError(
+          "invalid credential slab handle provided");
+    }
+    case AddV1CredentialToSlabResult::InvalidPublicKeyBytes: {
+      return absl::InvalidArgumentError(
+          "Invalid public key bytes in credential");
+    }
   }
 }
 
-absl::StatusOr<CredentialBook>
-CredentialBook::TryCreateFromSlab(CredentialSlab &slab) {
+absl::StatusOr<CredentialBook> CredentialBook::TryCreateFromSlab(
+    CredentialSlab& slab) {
   assert_panic(!slab.moved_);
   auto result = np_ffi::internal::np_ffi_create_credential_book_from_slab(
       slab.credential_slab_);
   auto kind = np_ffi::internal::np_ffi_CreateCredentialBookResult_kind(result);
   switch (kind) {
-  case CreateCredentialBookResultKind::Success: {
-    auto book =
-        np_ffi::internal::np_ffi_CreateCredentialBookResult_into_SUCCESS(
-            result);
-    slab.moved_ = true;
-    return CredentialBook(book);
-  }
-  case CreateCredentialBookResultKind::NoSpaceLeft: {
-    return absl::ResourceExhaustedError(
-        "No space left to create credential book");
-  }
-  case CreateCredentialBookResultKind::InvalidSlabHandle: {
-    return absl::NotFoundError(
-        "The slab referenced by the given handle was not found.");
-  }
+    case CreateCredentialBookResultKind::Success: {
+      auto book =
+          np_ffi::internal::np_ffi_CreateCredentialBookResult_into_SUCCESS(
+              result);
+      slab.moved_ = true;
+      return CredentialBook(book);
+    }
+    case CreateCredentialBookResultKind::NoSpaceLeft: {
+      return absl::ResourceExhaustedError(
+          "No space left to create credential book");
+    }
+    case CreateCredentialBookResultKind::InvalidSlabHandle: {
+      return absl::NotFoundError(
+          "The slab referenced by the given handle was not found.");
+    }
   }
 }
 
@@ -203,13 +224,13 @@
   }
 }
 
-CredentialBook::CredentialBook(CredentialBook &&other) noexcept
+CredentialBook::CredentialBook(CredentialBook&& other) noexcept
     : credential_book_(other.credential_book_), moved_(other.moved_) {
   other.credential_book_ = {};
   other.moved_ = true;
 }
 
-CredentialBook &CredentialBook::operator=(CredentialBook &&other) noexcept {
+CredentialBook& CredentialBook::operator=(CredentialBook&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result = np_ffi::internal::np_ffi_deallocate_credential_book(
@@ -226,16 +247,17 @@
   return *this;
 }
 
-DeserializeAdvertisementResult
-Deserializer::DeserializeAdvertisement(RawAdvertisementPayload &payload,
-                                       const CredentialBook &credential_book) {
+DeserializeAdvertisementResult Deserializer::DeserializeAdvertisement(
+    const RawAdvertisementPayload& payload,
+    const CredentialBook& credential_book) {
   assert_panic(!credential_book.moved_);
   auto result = np_ffi::internal::np_ffi_deserialize_advertisement(
       {payload.buffer_.internal_}, credential_book.credential_book_);
   return DeserializeAdvertisementResult(result);
 }
 
-DeserializeAdvertisementResultKind DeserializeAdvertisementResult::GetKind() {
+DeserializeAdvertisementResultKind DeserializeAdvertisementResult::GetKind()
+    const {
   assert_panic(!this->moved_);
   return np_ffi::internal::np_ffi_DeserializeAdvertisementResult_kind(result_);
 }
@@ -266,14 +288,14 @@
 }
 
 DeserializeAdvertisementResult::DeserializeAdvertisementResult(
-    DeserializeAdvertisementResult &&other) noexcept
+    DeserializeAdvertisementResult&& other) noexcept
     : result_(other.result_), moved_(other.moved_) {
   other.result_ = {};
   other.moved_ = true;
 }
 
-DeserializeAdvertisementResult &DeserializeAdvertisementResult::operator=(
-    DeserializeAdvertisementResult &&other) noexcept {
+DeserializeAdvertisementResult& DeserializeAdvertisementResult::operator=(
+    DeserializeAdvertisementResult&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result =
@@ -292,14 +314,14 @@
 
 // V0 Stuff
 DeserializedV0Advertisement::DeserializedV0Advertisement(
-    DeserializedV0Advertisement &&other) noexcept
+    DeserializedV0Advertisement&& other) noexcept
     : v0_advertisement_(other.v0_advertisement_), moved_(other.moved_) {
   other.v0_advertisement_ = {};
   other.moved_ = true;
 }
 
-DeserializedV0Advertisement &DeserializedV0Advertisement::operator=(
-    DeserializedV0Advertisement &&other) noexcept {
+DeserializedV0Advertisement& DeserializedV0Advertisement::operator=(
+    DeserializedV0Advertisement&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result =
@@ -326,7 +348,7 @@
 }
 
 np_ffi::internal::DeserializedV0AdvertisementKind
-DeserializedV0Advertisement::GetKind() {
+DeserializedV0Advertisement::GetKind() const {
   assert_panic(!this->moved_);
   return np_ffi::internal::np_ffi_DeserializedV0Advertisement_kind(
       v0_advertisement_);
@@ -343,16 +365,16 @@
 }
 
 LegibleDeserializedV0Advertisement::LegibleDeserializedV0Advertisement(
-    LegibleDeserializedV0Advertisement &&other) noexcept
+    LegibleDeserializedV0Advertisement&& other) noexcept
     : legible_v0_advertisement_(other.legible_v0_advertisement_),
       moved_(other.moved_) {
   other.moved_ = true;
   other.legible_v0_advertisement_ = {};
 }
 
-LegibleDeserializedV0Advertisement &
+LegibleDeserializedV0Advertisement&
 LegibleDeserializedV0Advertisement::operator=(
-    LegibleDeserializedV0Advertisement &&other) noexcept {
+    LegibleDeserializedV0Advertisement&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result =
@@ -377,8 +399,8 @@
   }
 }
 
-DeserializedV0IdentityKind
-LegibleDeserializedV0Advertisement::GetIdentityKind() {
+DeserializedV0IdentityKind LegibleDeserializedV0Advertisement::GetIdentityKind()
+    const {
   assert_panic(!this->moved_);
   auto result = np_ffi::internal::
       np_ffi_LegibleDeserializedV0Advertisement_get_identity_kind(
@@ -386,7 +408,7 @@
   return result;
 }
 
-uint8_t LegibleDeserializedV0Advertisement::GetNumberOfDataElements() {
+uint8_t LegibleDeserializedV0Advertisement::GetNumberOfDataElements() const {
   assert_panic(!this->moved_);
   return np_ffi::internal::
       np_ffi_LegibleDeserializedV0Advertisement_get_num_des(
@@ -401,13 +423,13 @@
   return V0Payload(result);
 }
 
-V0Payload::V0Payload(V0Payload &&other) noexcept
+V0Payload::V0Payload(V0Payload&& other) noexcept
     : v0_payload_(other.v0_payload_), moved_(other.moved_) {
   other.v0_payload_ = {};
   other.moved_ = true;
 }
 
-V0Payload &V0Payload::operator=(V0Payload &&other) noexcept {
+V0Payload& V0Payload::operator=(V0Payload&& other) noexcept {
   if (this != &other) {
     if (!this->moved_) {
       auto result =
@@ -431,51 +453,199 @@
   }
 }
 
-absl::StatusOr<V0DataElement> V0Payload::TryGetDataElement(uint8_t index) {
+absl::StatusOr<V0DataElement> V0Payload::TryGetDataElement(
+    const uint8_t index) const {
   assert_panic(!this->moved_);
   auto result = np_ffi::internal::np_ffi_V0Payload_get_de(v0_payload_, index);
   auto kind = np_ffi::internal::np_ffi_GetV0DEResult_kind(result);
   switch (kind) {
-  case GetV0DEResultKind::Success: {
-    auto de = np_ffi_GetV0DEResult_into_SUCCESS(result);
-    return V0DataElement(de);
-  }
-  case GetV0DEResultKind::Error: {
-    return absl::OutOfRangeError("Invalid Data Element index");
-  }
+    case GetV0DEResultKind::Success: {
+      auto de = np_ffi_GetV0DEResult_into_SUCCESS(result);
+      return V0DataElement(de);
+    }
+    case GetV0DEResultKind::Error: {
+      return absl::OutOfRangeError("Invalid Data Element index");
+    }
   }
 }
 
-V0DataElementKind V0DataElement::GetKind() {
+absl::StatusOr<std::vector<uint8_t>> MetadataResultToVec(
+    np_ffi::internal::DecryptMetadataResult decrypt_result) {
+  auto kind =
+      np_ffi::internal::np_ffi_DecryptMetadataResult_kind(decrypt_result);
+  switch (kind) {
+    case np_ffi::internal::DecryptMetadataResultKind::Success: {
+      auto metadata =
+          np_ffi::internal::np_ffi_DecryptMetadataResult_into_SUCCESS(
+              decrypt_result);
+      auto parts_result =
+          np_ffi::internal::np_ffi_DecryptedMetadata_get_metadata_buffer_parts(
+              metadata);
+      // The handle is guaranteed to be valid by the C++ wrapper so this should
+      // never fail
+      assert_panic(np_ffi::internal::np_ffi_GetMetadataBufferPartsResult_kind(
+                       parts_result) ==
+                   np_ffi::internal::GetMetadataBufferPartsResultKind::Success);
+      auto parts =
+          np_ffi::internal::np_ffi_GetMetadataBufferPartsResult_into_SUCCESS(
+              parts_result);
+      std::vector<uint8_t> result(parts.ptr, parts.ptr + parts.len);
+
+      // Now that the contents have been copied into the vec, the underlying
+      // handle can be de-allocated
+      auto deallocate_result =
+          np_ffi::internal::np_ffi_deallocate_DecryptedMetadata(metadata);
+      assert_panic(deallocate_result ==
+                   np_ffi::internal::DeallocateResult::Success);
+      return result;
+    }
+    case np_ffi::internal::DecryptMetadataResultKind::Error: {
+      return absl::InvalidArgumentError("Invalid V0 payload handle");
+    }
+  }
+}
+
+absl::StatusOr<DeserializedV0IdentityDetails> V0Payload::GetIdentityDetails()
+    const {
+  assert_panic(!this->moved_);
+  auto result = np_ffi::internal::np_ffi_V0Payload_get_identity_details(
+      this->v0_payload_);
+  auto kind = np_ffi::internal::np_ffi_GetV0IdentityDetailsResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::GetV0IdentityDetailsResultKind::Error: {
+      return absl::InvalidArgumentError("Invalid handle");
+    }
+    case np_ffi::internal::GetV0IdentityDetailsResultKind::Success: {
+      return np_ffi::internal::np_ffi_GetV0IdentityDetailsResult_into_SUCCESS(
+          result);
+    }
+  }
+}
+
+absl::StatusOr<std::vector<uint8_t>> V0Payload::DecryptMetadata() const {
+  assert_panic(!this->moved_);
+  auto decrypt_result =
+      np_ffi::internal::np_ffi_V0Payload_decrypt_metadata(this->v0_payload_);
+  return MetadataResultToVec(decrypt_result);
+}
+
+V0DataElementKind V0DataElement::GetKind() const {
   return np_ffi::internal::np_ffi_V0DataElement_kind(v0_data_element_);
 }
 
-TxPower V0DataElement::AsTxPower() {
-  return np_ffi::internal::np_ffi_V0DataElement_into_TX_POWER(v0_data_element_);
+TxPower V0DataElement::AsTxPower() const {
+  return TxPower(
+      np_ffi::internal::np_ffi_V0DataElement_into_TX_POWER(v0_data_element_));
 }
 
-V0Actions V0DataElement::AsActions() {
+V0Actions V0DataElement::AsActions() const {
   auto internal =
       np_ffi::internal::np_ffi_V0DataElement_into_ACTIONS(v0_data_element_);
   return V0Actions(internal);
 }
 
-uint32_t V0Actions::GetAsU32() {
+V0DataElement::V0DataElement(TxPower tx_power) {
+  v0_data_element_ =
+      np_ffi::internal::np_ffi_TxPower_into_V0DataElement(tx_power.tx_power_);
+}
+
+V0DataElement::V0DataElement(V0Actions actions) {
+  v0_data_element_ =
+      np_ffi::internal::np_ffi_V0Actions_into_V0DataElement(actions.actions_);
+}
+
+uint32_t V0Actions::GetAsU32() const {
   return np_ffi::internal::np_ffi_V0Actions_as_u32(actions_);
 }
 
-bool V0Actions::HasAction(BooleanActionType action) {
+bool V0Actions::HasAction(BooleanActionType action) const {
   return np_ffi::internal::np_ffi_V0Actions_has_action(actions_, action);
 }
 
-uint8_t V0Actions::GetContextSyncSequenceNumber() {
-  return np_ffi::internal::np_ffi_V0Actions_get_context_sync_sequence_number(
-      actions_);
+ContextSyncSeqNum V0Actions::GetContextSyncSequenceNumber() const {
+  return ContextSyncSeqNum(
+      np_ffi::internal::np_ffi_V0Actions_get_context_sync_sequence_number(
+          actions_));
 }
 
-// This is called after all references to the shared_ptr have gone out of scope
+absl::Status V0Actions::TrySetAction(BooleanActionType action, bool value) {
+  auto result =
+      np_ffi::internal::np_ffi_V0Actions_set_action(actions_, action, value);
+  auto kind = np_ffi::internal::np_ffi_SetV0ActionResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::SetV0ActionResultKind::Success: {
+      actions_ =
+          np_ffi::internal::np_ffi_SetV0ActionResult_into_SUCCESS(result);
+      return absl::OkStatus();
+    }
+    case np_ffi::internal::SetV0ActionResultKind::Error: {
+      actions_ = np_ffi::internal::np_ffi_SetV0ActionResult_into_ERROR(result);
+      return absl::InvalidArgumentError(
+          "The requested action bit may not be set for the requested adv "
+          "encoding");
+    }
+  }
+}
+
+void V0Actions::SetContextSyncSequenceNumber(ContextSyncSeqNum seq_num) {
+  actions_ =
+      np_ffi::internal::np_ffi_V0Actions_set_context_sync_sequence_number(
+          actions_, seq_num.seq_num_);
+}
+
+V0Actions V0Actions::BuildNewZeroed(AdvertisementBuilderKind kind) {
+  auto actions = np_ffi::internal::np_ffi_build_new_zeroed_V0Actions(kind);
+  return V0Actions(actions);
+}
+
+uint8_t ContextSyncSeqNum::GetAsU8() const {
+  return np_ffi::internal::np_ffi_ContextSyncSeqNum_as_unsigned_byte(seq_num_);
+}
+
+absl::StatusOr<ContextSyncSeqNum> ContextSyncSeqNum::TryBuildFromU8(
+    uint8_t value) {
+  auto result =
+      np_ffi::internal::np_ffi_ContextSyncSeqNum_build_from_unsigned_byte(
+          value);
+  auto kind =
+      np_ffi::internal::np_ffi_BuildContextSyncSeqNumResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::BuildContextSyncSeqNumResultKind::Success: {
+      return ContextSyncSeqNum(
+          np_ffi::internal::np_ffi_BuildContextSyncSeqNumResult_into_SUCCESS(
+              result));
+    }
+    case np_ffi::internal::BuildContextSyncSeqNumResultKind::OutOfRange: {
+      return absl::InvalidArgumentError(
+          "Attempted to build a context sync sequence number from a non-nibble "
+          "value.");
+    }
+  }
+}
+
+int8_t TxPower::GetAsI8() const {
+  return np_ffi::internal::np_ffi_TxPower_as_signed_byte(tx_power_);
+}
+
+absl::StatusOr<TxPower> TxPower::TryBuildFromI8(int8_t value) {
+  auto result = np_ffi::internal::np_ffi_TxPower_build_from_signed_byte(value);
+  auto kind = np_ffi::internal::np_ffi_BuildTxPowerResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::BuildTxPowerResultKind::Success: {
+      return TxPower(
+          np_ffi::internal::np_ffi_BuildTxPowerResult_into_SUCCESS(result));
+    }
+    case np_ffi::internal::BuildTxPowerResultKind::OutOfRange: {
+      return absl::InvalidArgumentError(
+          "Could not build a tx power for the requested byte value.");
+    }
+  }
+}
+
+// This is called after all references to the shared_ptr have gone out of
+// scope
 auto DeallocateV1Adv(
-    np_ffi::internal::DeserializedV1Advertisement *v1_advertisement) {
+    np_ffi::internal::DeserializedV1Advertisement* v1_advertisement) {
   auto result =
       np_ffi::internal::np_ffi_deallocate_deserialized_V1_advertisement(
           *v1_advertisement);
@@ -492,11 +662,11 @@
 }
 
 DeserializedV1Advertisement::DeserializedV1Advertisement(
-    DeserializedV1Advertisement &&other) noexcept
+    DeserializedV1Advertisement&& other) noexcept
     : v1_advertisement_(std::move(other.v1_advertisement_)) {}
 
-DeserializedV1Advertisement &DeserializedV1Advertisement::operator=(
-    DeserializedV1Advertisement &&other) noexcept {
+DeserializedV1Advertisement& DeserializedV1Advertisement::operator=(
+    DeserializedV1Advertisement&& other) noexcept {
   if (this != &other) {
     this->v1_advertisement_ = std::move(other.v1_advertisement_);
   }
@@ -504,14 +674,14 @@
 }
 
 // V1 Stuff
-uint8_t DeserializedV1Advertisement::GetNumLegibleSections() {
+uint8_t DeserializedV1Advertisement::GetNumLegibleSections() const {
   assert_panic(this->v1_advertisement_ != nullptr);
   return np_ffi::internal::
       np_ffi_DeserializedV1Advertisement_get_num_legible_sections(
           *v1_advertisement_);
 }
 
-uint8_t DeserializedV1Advertisement::GetNumUndecryptableSections() {
+uint8_t DeserializedV1Advertisement::GetNumUndecryptableSections() const {
   assert_panic(this->v1_advertisement_ != nullptr);
   return np_ffi::internal::
       np_ffi_DeserializedV1Advertisement_get_num_undecryptable_sections(
@@ -519,72 +689,127 @@
 }
 
 absl::StatusOr<DeserializedV1Section>
-DeserializedV1Advertisement::TryGetSection(uint8_t section_index) {
+DeserializedV1Advertisement::TryGetSection(const uint8_t section_index) const {
   assert_panic(this->v1_advertisement_ != nullptr);
   auto result =
       np_ffi::internal::np_ffi_DeserializedV1Advertisement_get_section(
           *v1_advertisement_, section_index);
   auto kind = np_ffi::internal::np_ffi_GetV1SectionResult_kind(result);
   switch (kind) {
-  case np_ffi::internal::GetV1SectionResultKind::Error: {
-    return absl::OutOfRangeError("Invalid section index");
-  }
-  case np_ffi::internal::GetV1SectionResultKind::Success: {
-    auto section =
-        np_ffi::internal::np_ffi_GetV1SectionResult_into_SUCCESS(result);
-    return DeserializedV1Section(section, v1_advertisement_);
-  }
+    case np_ffi::internal::GetV1SectionResultKind::Error: {
+      return absl::OutOfRangeError("Invalid section index");
+    }
+    case np_ffi::internal::GetV1SectionResultKind::Success: {
+      auto section =
+          np_ffi::internal::np_ffi_GetV1SectionResult_into_SUCCESS(result);
+      return DeserializedV1Section(section, v1_advertisement_);
+    }
   }
 }
 
-uint8_t DeserializedV1Section::NumberOfDataElements() {
+uint8_t DeserializedV1Section::NumberOfDataElements() const {
   return np_ffi::internal::np_ffi_DeserializedV1Section_get_num_des(section_);
 }
 
-DeserializedV1IdentityKind DeserializedV1Section::GetIdentityKind() {
+DeserializedV1IdentityKind DeserializedV1Section::GetIdentityKind() const {
   return np_ffi::internal::np_ffi_DeserializedV1Section_get_identity_kind(
       section_);
 }
 
-absl::StatusOr<V1DataElement>
-DeserializedV1Section::TryGetDataElement(uint8_t index) {
+absl::StatusOr<V1DataElement> DeserializedV1Section::TryGetDataElement(
+    const uint8_t index) const {
   auto result =
       np_ffi::internal::np_ffi_DeserializedV1Section_get_de(section_, index);
   auto kind = np_ffi::internal::np_ffi_GetV1DEResult_kind(result);
   switch (kind) {
-  case np_ffi::internal::GetV1DEResultKind::Error: {
-    return absl::OutOfRangeError("Invalid data element index for this section");
+    case np_ffi::internal::GetV1DEResultKind::Error: {
+      return absl::OutOfRangeError(
+          "Invalid data element index for this section");
+    }
+    case np_ffi::internal::GetV1DEResultKind::Success: {
+      return V1DataElement(
+          np_ffi::internal::np_ffi_GetV1DEResult_into_SUCCESS(result));
+    }
   }
-  case np_ffi::internal::GetV1DEResultKind::Success: {
-    return V1DataElement(
-        np_ffi::internal::np_ffi_GetV1DEResult_into_SUCCESS(result));
+}
+
+absl::StatusOr<std::vector<uint8_t>> DeserializedV1Section::DecryptMetadata()
+    const {
+  assert_panic(this->owning_v1_advertisement_ != nullptr);
+  auto decrypt_result =
+      np_ffi::internal::np_ffi_DeserializedV1Section_decrypt_metadata(
+          this->section_);
+  return MetadataResultToVec(decrypt_result);
+}
+
+absl::StatusOr<DeserializedV1IdentityDetails>
+DeserializedV1Section::GetIdentityDetails() const {
+  assert_panic(this->owning_v1_advertisement_ != nullptr);
+  auto result =
+      np_ffi::internal::np_ffi_DeserializedV1Section_get_identity_details(
+          this->section_);
+  auto kind = np_ffi::internal::np_ffi_GetV1IdentityDetailsResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::GetV1IdentityDetailsResultKind::Error: {
+      return absl::InvalidArgumentError("Invalid handle");
+    }
+    case np_ffi::internal::GetV1IdentityDetailsResultKind::Success: {
+      return np_ffi::internal::np_ffi_GetV1IdentityDetailsResult_into_SUCCESS(
+          result);
+    }
   }
+}
+
+absl::StatusOr<std::array<uint8_t, DERIVED_SALT_SIZE>>
+DeserializedV1Section::DeriveSaltForOffset(const uint8_t offset) const {
+  auto result = np_ffi::internal::
+      np_ffi_DeserializedV1Section_derive_16_byte_salt_for_offset(
+          this->section_, offset);
+  auto kind = np_ffi::internal::np_ffi_GetV1DE16ByteSaltResult_kind(result);
+  switch (kind) {
+    case np_ffi::internal::GetV1DE16ByteSaltResultKind::Error: {
+      return absl::InvalidArgumentError("Failed to derive salt for offset");
+    }
+    case np_ffi::internal::GetV1DE16ByteSaltResultKind::Success: {
+      auto buffer =
+          np_ffi::internal::np_ffi_GetV1DE16ByteSaltResult_into_SUCCESS(result);
+      return std::to_array(buffer._0);
+    }
   }
 }
 
 uint32_t V1DataElement::GetDataElementTypeCode() const {
   return np_ffi::internal::np_ffi_V1DEType_to_uint32_t(
-      v1_data_element_.generic._0.de_type);
+      np_ffi::internal::np_ffi_V1DataElement_to_generic(this->v1_data_element_)
+          .de_type);
 }
 
-ByteBuffer<127> V1DataElement::GetPayload() const {
-  return ByteBuffer(v1_data_element_.generic._0.payload);
+ByteBuffer<MAX_V1_DE_PAYLOAD_SIZE> V1DataElement::GetPayload() const {
+  return ByteBuffer(
+      np_ffi::internal::np_ffi_V1DataElement_to_generic(this->v1_data_element_)
+          .payload);
+}
+
+uint8_t V1DataElement::GetOffset() const {
+  return np_ffi::internal::np_ffi_V1DataElement_to_generic(
+             this->v1_data_element_)
+      .offset;
 }
 
 MatchedCredentialData::MatchedCredentialData(
-    uint32_t cred_id, std::span<uint8_t> metadata_bytes) {
+    const uint32_t cred_id, std::span<const uint8_t> metadata_bytes) {
   this->data_ = {cred_id, metadata_bytes.data(), metadata_bytes.size()};
 }
 
 template <typename T, size_t N>
-static void CopyToRawArray(T (&dest)[N], const std::array<T, N> &src) {
+void CopyToRawArray(T (&dest)[N], const std::array<T, N>& src) {
   memcpy(dest, src.data(), sizeof(T) * N);
 }
 
 V0MatchableCredential::V0MatchableCredential(
-    std::array<uint8_t, 32> key_seed,
-    std::array<uint8_t, 32> legacy_metadata_key_hmac,
-    MatchedCredentialData matched_credential_data) {
+    const std::array<uint8_t, 32> key_seed,
+    const std::array<uint8_t, 32> legacy_metadata_key_hmac,
+    const MatchedCredentialData matched_credential_data) {
   np_ffi::internal::V0DiscoveryCredential discovery_cred{};
   CopyToRawArray(discovery_cred.key_seed, key_seed);
   CopyToRawArray(discovery_cred.legacy_metadata_key_hmac,
@@ -593,11 +818,11 @@
 }
 
 V1MatchableCredential::V1MatchableCredential(
-    std::array<uint8_t, 32> key_seed,
-    std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac,
-    std::array<uint8_t, 32> expected_signed_metadata_key_hmac,
-    std::array<uint8_t, 32> pub_key,
-    MatchedCredentialData matched_credential_data) {
+    const std::array<uint8_t, 32> key_seed,
+    const std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac,
+    const std::array<uint8_t, 32> expected_signed_metadata_key_hmac,
+    const std::array<uint8_t, 32> pub_key,
+    const MatchedCredentialData matched_credential_data) {
   np_ffi::internal::V1DiscoveryCredential discovery_cred{};
   CopyToRawArray(discovery_cred.key_seed, key_seed);
   CopyToRawArray(discovery_cred.expected_unsigned_metadata_key_hmac,
@@ -607,4 +832,145 @@
   CopyToRawArray(discovery_cred.pub_key, pub_key);
   this->internal_ = {discovery_cred, matched_credential_data.data_};
 }
-} // namespace nearby_protocol
+
+V0BroadcastCredential::V0BroadcastCredential(
+    std::array<uint8_t, 32> key_seed, std::array<uint8_t, 14> metadata_key) {
+  CopyToRawArray(internal_.key_seed, key_seed);
+  CopyToRawArray(internal_.metadata_key, metadata_key);
+}
+
+V0AdvertisementBuilder::~V0AdvertisementBuilder() {
+  if (!this->moved_) {
+    auto result = np_ffi::internal::np_ffi_deallocate_v0_advertisement_builder(
+        adv_builder_);
+    assert_panic(result == np_ffi::internal::DeallocateResult::Success);
+  }
+}
+
+V0AdvertisementBuilder::V0AdvertisementBuilder(
+    V0AdvertisementBuilder&& other) noexcept
+    : adv_builder_(other.adv_builder_), moved_(other.moved_) {
+  other.adv_builder_ = {};
+  other.moved_ = true;
+}
+
+V0AdvertisementBuilder& V0AdvertisementBuilder::operator=(
+    V0AdvertisementBuilder&& other) noexcept {
+  if (this != &other) {
+    if (!this->moved_) {
+      auto result =
+          np_ffi::internal::np_ffi_deallocate_v0_advertisement_builder(
+              this->adv_builder_);
+      assert_panic(result == np_ffi::internal::DeallocateResult::Success);
+    }
+
+    this->adv_builder_ = other.adv_builder_;
+    this->moved_ = other.moved_;
+
+    other.adv_builder_ = {};
+    other.moved_ = true;
+  }
+  return *this;
+}
+
+absl::Status V0AdvertisementBuilder::TryAddDE(V0DataElement de) {
+  assert_panic(!this->moved_);
+  auto result = np_ffi::internal::np_ffi_V0AdvertisementBuilder_add_de(
+      this->adv_builder_, de.v0_data_element_);
+  switch (result) {
+    case AddV0DEResult::Success: {
+      return absl::OkStatus();
+    }
+    case AddV0DEResult::InvalidAdvertisementBuilderHandle: {
+      return absl::InvalidArgumentError(
+          "invalid v0 advertisement builder handle provided");
+    }
+    case AddV0DEResult::InsufficientAdvertisementSpace: {
+      return absl::ResourceExhaustedError(
+          "insufficient advertisement space to add DE");
+    }
+    case AddV0DEResult::InvalidIdentityTypeForDataElement: {
+      return absl::InvalidArgumentError(
+          "the DE may not be added to this advertisement builder due to an "
+          "identity type mismatch");
+    }
+  }
+}
+
+[[nodiscard]] absl::StatusOr<ByteBuffer<24>>
+V0AdvertisementBuilder::TrySerialize() {
+  assert_panic(!this->moved_);
+  auto result =
+      np_ffi::internal::np_ffi_V0AdvertisementBuilder_into_advertisement(
+          this->adv_builder_);
+  auto kind =
+      np_ffi::internal::np_ffi_SerializeV0AdvertisementResult_kind(result);
+  // Regardless of what happens, we've invalidated the original adv builder.
+  this->moved_ = true;
+
+  switch (kind) {
+    case SerializeV0AdvertisementResultKind::Success: {
+      auto bytes =
+          np_ffi::internal::np_ffi_SerializeV0AdvertisementResult_into_SUCCESS(
+              result);
+      return ByteBuffer(bytes);
+    }
+    case SerializeV0AdvertisementResultKind::LdtError: {
+      return absl::OutOfRangeError(
+          "The advertisement contents were not of a proper size for LDT "
+          "encryption");
+    }
+    case SerializeV0AdvertisementResultKind::
+        InvalidAdvertisementBuilderHandle: {
+      return absl::InvalidArgumentError(
+          "The advertisement builder handle was invalid");
+    }
+  }
+}
+
+[[nodiscard]] absl::StatusOr<V0AdvertisementBuilder>
+V0AdvertisementBuilder::CreateV0AdvertisementBuilderResultToInternal(
+    np_ffi::internal::CreateV0AdvertisementBuilderResult result) {
+  auto kind =
+      np_ffi::internal::np_ffi_CreateV0AdvertisementBuilderResult_kind(result);
+  switch (kind) {
+    case CreateV0AdvertisementBuilderResultKind::Success: {
+      auto adv_builder = np_ffi::internal::
+          np_ffi_CreateV0AdvertisementBuilderResult_into_SUCCESS(result);
+      return V0AdvertisementBuilder(adv_builder);
+    }
+    case CreateV0AdvertisementBuilderResultKind::NoSpaceLeft: {
+      return absl::ResourceExhaustedError(
+          "No space left to create v0 advertisement builder");
+    }
+  }
+}
+
+[[nodiscard]] absl::StatusOr<V0AdvertisementBuilder>
+V0AdvertisementBuilder::TryCreatePublic() {
+  auto result =
+      np_ffi::internal::np_ffi_create_v0_public_advertisement_builder();
+  return V0AdvertisementBuilder::CreateV0AdvertisementBuilderResultToInternal(
+      result);
+}
+
+template <uintptr_t N>
+[[nodiscard]] np_ffi::internal::FixedSizeArray<N> ToFFIArray(
+    std::array<uint8_t, N> value) {
+  np_ffi::internal::FixedSizeArray<N> result;
+  std::copy(std::begin(value), std::end(value), result._0);
+  return result;
+}
+
+[[nodiscard]] absl::StatusOr<V0AdvertisementBuilder>
+V0AdvertisementBuilder::TryCreateEncrypted(V0BroadcastCredential broadcast_cred,
+                                           EncryptedIdentityType identity_type,
+                                           std::array<uint8_t, 2> salt) {
+  auto result =
+      np_ffi::internal::np_ffi_create_v0_encrypted_advertisement_builder(
+          broadcast_cred.internal_, identity_type, ToFFIArray(salt));
+  return V0AdvertisementBuilder::CreateV0AdvertisementBuilderResultToInternal(
+      result);
+}
+
+}  // namespace nearby_protocol
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/sample/main.cc b/nearby/presence/np_cpp_ffi/sample/main.cc
index 1d273da..eb0cae0 100644
--- a/nearby/presence/np_cpp_ffi/sample/main.cc
+++ b/nearby/presence/np_cpp_ffi/sample/main.cc
@@ -12,12 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
-
 #include <bitset>
 #include <iostream>
 
 #include "absl/strings/escaping.h"
+#include "nearby_protocol.h"
 
 static void SamplePanicHandler(nearby_protocol::PanicReason reason);
 
@@ -54,19 +53,21 @@
   }
 
   // Create an empty credential book from the empty slab, and verify success.
-  auto cred_book_result = nearby_protocol::CredentialBook::TryCreateFromSlab(cred_slab_result.value());
+  auto cred_book_result = nearby_protocol::CredentialBook::TryCreateFromSlab(
+      cred_slab_result.value());
   if (!cred_book_result.ok()) {
     std::cout << cred_book_result.status().ToString();
     return -1;
   }
 
-  auto v0_byte_string = "00"      // Adv Header
-                        "03"      // Public DE header
-                        "1503"    // Length 1 Tx Power DE with value 3
-                        "260046"; // Length 2 Actions
+  auto v0_byte_string =
+      "00"       // Adv Header
+      "03"       // Public DE header
+      "1503"     // Length 1 Tx Power DE with value 3
+      "260046";  // Length 2 Actions
 
   auto v0_bytes = absl::HexStringToBytes(v0_byte_string);
-  auto v0_buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(v0_bytes);
+  auto v0_buffer = nearby_protocol::ByteBuffer<255>::TryFromString(v0_bytes);
   nearby_protocol::RawAdvertisementPayload v0_payload(v0_buffer.value());
 
   // Try to deserialize a V0 payload
@@ -78,13 +79,14 @@
   std::cout << "\n========= Example V1 Adv ==========\n";
   std::cout << "Hex bytes: 20040326004603031505\n\n";
 
-  auto v1_byte_string = "20"     // V1 Advertisement header
-                        "04"     // Section Header
-                        "03"     // Public Identity DE header
-                        "260046";// Length 2 Actions DE
+  auto v1_byte_string =
+      "20"       // V1 Advertisement header
+      "04"       // Section Header
+      "03"       // Public Identity DE header
+      "260046";  // Length 2 Actions DE
 
   auto v1_bytes = absl::HexStringToBytes(v1_byte_string);
-  auto v1_buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(v1_bytes);
+  auto v1_buffer = nearby_protocol::ByteBuffer<255>::TryFromString(v1_bytes);
   nearby_protocol::RawAdvertisementPayload v1_payload(v1_buffer.value());
 
   // Try to deserialize a V1 payload
@@ -100,7 +102,7 @@
                  "(see above examples): ";
     std::cin >> user_input;
     auto bytes = absl::HexStringToBytes(user_input);
-    auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+    auto buffer = nearby_protocol::ByteBuffer<255>::TryFromString(bytes);
     if (!buffer.ok()) {
       std::cout << "Too many bytes provided, must fit into a max length 255 "
                    "byte BLE advertisement\n";
@@ -129,18 +131,18 @@
 static void SamplePanicHandler(nearby_protocol::PanicReason reason) {
   std::cout << "Panicking! Reason: ";
   switch (reason) {
-  case nearby_protocol::PanicReason::EnumCastFailed: {
-    std::cout << "EnumCastFailed \n";
-    break;
-  }
-  case nearby_protocol::PanicReason::AssertFailed: {
-    std::cout << "AssertFailed \n";
-    break;
-  }
-  case nearby_protocol::PanicReason::InvalidActionBits: {
-    std::cout << "InvalidActionBits \n";
-    break;
-  }
+    case nearby_protocol::PanicReason::EnumCastFailed: {
+      std::cout << "EnumCastFailed \n";
+      break;
+    }
+    case nearby_protocol::PanicReason::AssertFailed: {
+      std::cout << "AssertFailed \n";
+      break;
+    }
+    case nearby_protocol::PanicReason::InvalidStackDataStructure: {
+      std::cout << "InvalidStackDataStructure \n";
+      break;
+    }
   }
   std::abort();
 }
@@ -148,29 +150,30 @@
 void HandleAdvertisementResult(
     nearby_protocol::DeserializeAdvertisementResult result) {
   switch (result.GetKind()) {
-  case nearby_protocol::DeserializeAdvertisementResultKind::Error:
-    std::cout << "Error in deserializing advertisement!\n";
-    break;
-  case nearby_protocol::DeserializeAdvertisementResultKind::V0:
-    std::cout << "Successfully deserialized a V0 advertisement!\n";
-    HandleV0Adv(result.IntoV0());
-    break;
-  case nearby_protocol::DeserializeAdvertisementResultKind::V1:
-    std::cout << "Successfully deserialized a V1 advertisement\n";
-    HandleV1Adv(result.IntoV1());
-    break;
+    case nearby_protocol::DeserializeAdvertisementResultKind::Error:
+      std::cout << "Error in deserializing advertisement!\n";
+      break;
+    case nearby_protocol::DeserializeAdvertisementResultKind::V0:
+      std::cout << "Successfully deserialized a V0 advertisement!\n";
+      HandleV0Adv(result.IntoV0());
+      break;
+    case nearby_protocol::DeserializeAdvertisementResultKind::V1:
+      std::cout << "Successfully deserialized a V1 advertisement\n";
+      HandleV1Adv(result.IntoV1());
+      break;
   }
 }
 
 void HandleV0Adv(nearby_protocol::DeserializedV0Advertisement result) {
   switch (result.GetKind()) {
-  case nearby_protocol::DeserializedV0AdvertisementKind::Legible:
-    std::cout << "\tThe Advertisement is plaintext \n";
-    HandleLegibleV0Adv(result.IntoLegible());
-    break;
-  case nearby_protocol::DeserializedV0AdvertisementKind::NoMatchingCredentials:
-    std::cout << "\tNo matching credentials found for this adv\n";
-    return;
+    case nearby_protocol::DeserializedV0AdvertisementKind::Legible:
+      std::cout << "\tThe Advertisement is plaintext \n";
+      HandleLegibleV0Adv(result.IntoLegible());
+      break;
+    case nearby_protocol::DeserializedV0AdvertisementKind::
+        NoMatchingCredentials:
+      std::cout << "\tNo matching credentials found for this adv\n";
+      return;
   }
 }
 
@@ -192,34 +195,35 @@
   }
 }
 
-void HandleV0IdentityKind(nearby_protocol::DeserializedV0IdentityKind identity) {
+void HandleV0IdentityKind(
+    nearby_protocol::DeserializedV0IdentityKind identity) {
   switch (identity) {
-  case np_ffi::internal::DeserializedV0IdentityKind::Plaintext: {
-    std::cout << "\t\tIdentity is Plaintext\n";
-    break;
-  }
-  case np_ffi::internal::DeserializedV0IdentityKind::Decrypted: {
-    std::cout << "\t\tIdentity is Encrypted\n";
-    break;
-  }
+    case np_ffi::internal::DeserializedV0IdentityKind::Plaintext: {
+      std::cout << "\t\tIdentity is Plaintext\n";
+      break;
+    }
+    case np_ffi::internal::DeserializedV0IdentityKind::Decrypted: {
+      std::cout << "\t\tIdentity is Encrypted\n";
+      break;
+    }
   }
 }
 
 void HandleDataElement(nearby_protocol::V0DataElement de) {
   switch (de.GetKind()) {
-  case nearby_protocol::V0DataElementKind::TxPower: {
-    std::cout << "\t\t\tDE Type is TxPower\n";
-    auto tx_power = de.AsTxPower();
-    std::cout << "\t\t\tpower: " << int(tx_power.tx_power) << "\n";
-    return;
-  }
-  case nearby_protocol::V0DataElementKind::Actions: {
-    std::cout << "\t\t\tDE Type is Actions\n";
-    auto actions = de.AsActions();
-    std::cout << "\t\t\tactions: " << std::bitset<32>(actions.GetAsU32())
-              << "\n";
-    return;
-  }
+    case nearby_protocol::V0DataElementKind::TxPower: {
+      std::cout << "\t\t\tDE Type is TxPower\n";
+      auto tx_power = de.AsTxPower();
+      std::cout << "\t\t\tpower: " << int(tx_power.GetAsI8()) << "\n";
+      return;
+    }
+    case nearby_protocol::V0DataElementKind::Actions: {
+      std::cout << "\t\t\tDE Type is Actions\n";
+      auto actions = de.AsActions();
+      std::cout << "\t\t\tactions: " << std::bitset<32>(actions.GetAsU32())
+                << "\n";
+      return;
+    }
   }
 }
 
@@ -245,14 +249,14 @@
 
 void HandleV1Section(nearby_protocol::DeserializedV1Section section) {
   switch (section.GetIdentityKind()) {
-  case np_ffi::internal::DeserializedV1IdentityKind::Plaintext: {
-    std::cout << "\t\tIdentity is Plaintext\n";
-    break;
-  }
-  case np_ffi::internal::DeserializedV1IdentityKind::Decrypted: {
-    std::cout << "\t\tIdentity is Encrypted\n";
-    break;
-  }
+    case np_ffi::internal::DeserializedV1IdentityKind::Plaintext: {
+      std::cout << "\t\tIdentity is Plaintext\n";
+      break;
+    }
+    case np_ffi::internal::DeserializedV1IdentityKind::Decrypted: {
+      std::cout << "\t\tIdentity is Encrypted\n";
+      break;
+    }
   }
 
   auto num_des = section.NumberOfDataElements();
diff --git a/nearby/presence/np_cpp_ffi/shared/shared_test_util.cc b/nearby/presence/np_cpp_ffi/shared/shared_test_util.cc
index 67ca828..8f172c1 100644
--- a/nearby/presence/np_cpp_ffi/shared/shared_test_util.cc
+++ b/nearby/presence/np_cpp_ffi/shared/shared_test_util.cc
@@ -12,22 +12,23 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
+#include "shared_test_util.h"
 
 #include <cstdlib>
-#include <cstddef> // IWYU pragma: keep
+
+#include "nearby_protocol.h"
 
 std::string PanicReasonToString(nearby_protocol::PanicReason reason) {
   switch (reason) {
-  case nearby_protocol::PanicReason::EnumCastFailed: {
-    return "EnumCastFailed";
-  }
-  case nearby_protocol::PanicReason::AssertFailed: {
-    return "AssertFailed";
-  }
-  case nearby_protocol::PanicReason::InvalidActionBits: {
-    return "InvalidActionBits";
-  }
+    case nearby_protocol::PanicReason::EnumCastFailed: {
+      return "EnumCastFailed";
+    }
+    case nearby_protocol::PanicReason::AssertFailed: {
+      return "AssertFailed";
+    }
+    case nearby_protocol::PanicReason::InvalidStackDataStructure: {
+      return "InvalidStackDataStructure";
+    }
   }
 }
 
@@ -37,17 +38,37 @@
 }
 
 std::string generate_hex_string(const size_t length) {
-  char *str = new char[length];
+  std::string result;
+  result.reserve(length);
 
   // hexadecimal characters
   char hex_characters[] = {'0', '1', '2', '3', '4', '5', '6', '7',
                            '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
-  size_t i;
-  for (i = 0; i < length; i++) {
-    str[i] = hex_characters[rand() % 16]; // NOLINT(cert-msc50-cpp)
+
+  for (size_t i = 0; i < length; i++) {
+    result.push_back(hex_characters[rand() % 16]);  // NOLINT(cert-msc50-cpp)
   }
-  str[length] = 0;
-  std::string result(str, length);
-  delete[] str;
+
   return result;
-}
\ No newline at end of file
+}
+
+nearby_protocol::V0MatchableCredential GenerateRandomCredentialV0() {
+  auto key_seed = create_random_array<32>();
+  auto legacy_metadata_key_hmac = create_random_array<32>();
+  auto encrypted_metadata_bytes = create_random_array<200>();
+  nearby_protocol::MatchedCredentialData matched_cred(rand(),
+                                                      encrypted_metadata_bytes);
+  return {key_seed, legacy_metadata_key_hmac, matched_cred};
+}
+
+nearby_protocol::V1MatchableCredential GenerateRandomCredentialV1() {
+  auto key_seed = create_random_array<32>();
+  auto expected_unsigned_metadata_key_hmac = create_random_array<32>();
+  auto expected_signed_metadata_key_hmac = create_random_array<32>();
+  auto pub_key = create_random_array<32>();
+  auto encrypted_metadata_bytes = create_random_array<200>();
+  nearby_protocol::MatchedCredentialData matched_cred(rand(),
+                                                      encrypted_metadata_bytes);
+  return {key_seed, expected_unsigned_metadata_key_hmac,
+          expected_signed_metadata_key_hmac, pub_key, matched_cred};
+}
diff --git a/nearby/presence/np_cpp_ffi/shared/shared_test_util.h b/nearby/presence/np_cpp_ffi/shared/shared_test_util.h
index 22d1bb3..da57b63 100644
--- a/nearby/presence/np_cpp_ffi/shared/shared_test_util.h
+++ b/nearby/presence/np_cpp_ffi/shared/shared_test_util.h
@@ -17,28 +17,131 @@
 
 #include "nearby_protocol.h"
 
-inline nearby_protocol::RawAdvertisementPayload
-    V0AdvEmpty(nearby_protocol::ByteBuffer<255>({2, {0x00, 0x03}}));
+// Plaintext advertisement bytes
+constexpr std::array<uint8_t, 2> V0AdvEmptyBytes{0x00, 0x03};
+constexpr std::array<uint8_t, 2> V1AdvEmptyBytes{0x00, 0x20};
+constexpr std::array<uint8_t, 4> V0AdvPlaintextBytes{0x00, 0x03, 0x15, 0x03};
+constexpr std::array<uint8_t, 7> V0AdvPlaintextMultiDeBytes{
+    0x00, 0x03, 0x15, 0x05, 0x26, 0x00, 0x46,
+};
+constexpr std::array<uint8_t, 5> V1AdvPlaintextBytes{0x20, 0x03, 0x03, 0x15,
+                                                     0x03};
 
-inline nearby_protocol::RawAdvertisementPayload
-    V0AdvSimple(nearby_protocol::ByteBuffer<255>({
-        4,
-        {0x00,       // Adv Header
-         0x03,       // Public DE header
-         0x15, 0x03} // Length 1 Tx Power DE with value 3
-    }));
+// V0 encrypted advertisement data - ripped out of np_adv/tests/examples_v0.rs
+constexpr std::array<uint8_t, 20> V0AdvEncryptedBytes{
+    0x00, 0x21, 0x22, 0x22, 0x85, 0xBF, 0xA8, 0x83, 0x58, 0x7C,
+    0x50, 0xCF, 0x98, 0x38, 0xA7, 0x8A, 0xC0, 0x1C, 0x96, 0xF9,
+};
+inline std::vector<uint8_t> V0AdvEncryptedMetadata = {
+    0x26, 0xC5, 0xEA, 0xD4, 0xED, 0x58, 0xF8, 0xFC, 0xE8, 0xF4, 0xAB, 0x0C,
+    0x93, 0x2B, 0x75, 0xAA, 0x74, 0x39, 0x67, 0xDB, 0x1E, 0xF2, 0x33, 0xB5,
+    0x43, 0xCC, 0x94, 0xAA, 0xA3, 0xBB, 0xB9, 0x4C, 0xBF, 0x57, 0x77, 0xD0,
+    0x43, 0x0C, 0x7F, 0xF7, 0x36, 0x03, 0x29, 0xE0, 0x57, 0xBA, 0x97, 0x7F,
+    0xF2, 0xD1, 0x51, 0xDB, 0xC9, 0x01, 0x47, 0xE7, 0x48, 0x36,
+};
+inline std::string ExpectedV0DecryptedMetadata(
+    R"({"name":"Alice","email":"alice@gmail.com"})");
+constexpr std::array<uint8_t, 32> V0AdvKeySeed = {
+    0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+    0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+    0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+};
+constexpr std::array<uint8_t, 32> V0AdvLegacyMetadataKeyHmac = {
+    0x88, 0x33, 0xDE, 0xD5, 0x4D, 0x00, 0x92, 0xE8, 0x80, 0x70, 0xD5,
+    0x1F, 0x18, 0xEC, 0x22, 0x45, 0x75, 0x7C, 0x24, 0xDF, 0xE3, 0x8C,
+    0xB2, 0xDE, 0x77, 0xB6, 0x78, 0x85, 0xFC, 0xA5, 0x67, 0x4D,
+};
 
-inline nearby_protocol::RawAdvertisementPayload
-    V1AdvSimple(nearby_protocol::ByteBuffer<255>(
-        {5,
-         {
-             0x20,      // V1 Advertisement header
-             0x03,      // Section Header
-             0x03,      // Public Identity DE header
-             0x15, 0x03 // Length 1 Tx Power DE with value 3
-         }}));
+// V1 encrypted advertisement data - ripped out of np_adv/tests/examples_v1.rs
+constexpr std::array<uint8_t, 105> V1AdvEncryptedBytes{
+    0x20, 0x67, 0x91, 0x10, 0x08, 0xAD, 0x69, 0x46, 0x04, 0x5D, 0xAE, 0x6D,
+    0xB7, 0xF7, 0x5C, 0xD3, 0xB8, 0xAC, 0xF0, 0xBF, 0x75, 0x90, 0x01, 0xBE,
+    0x73, 0x33, 0xA4, 0x76, 0x84, 0x4A, 0x09, 0x0F, 0x2B, 0x99, 0x47, 0xDF,
+    0x8B, 0x46, 0xCA, 0x16, 0xCE, 0x13, 0xB5, 0x6E, 0x53, 0xAE, 0x28, 0x56,
+    0x44, 0x0E, 0xA6, 0x8D, 0xEB, 0xA1, 0x11, 0xAF, 0x4E, 0x1B, 0xE0, 0x8E,
+    0xF5, 0xBA, 0x90, 0x4F, 0x2E, 0x94, 0xFC, 0xDE, 0xA6, 0x7F, 0x5D, 0xC8,
+    0x37, 0xB7, 0xEF, 0xCA, 0xAC, 0x8B, 0x9F, 0x1B, 0xD4, 0xC6, 0x11, 0x85,
+    0xD3, 0x67, 0x39, 0x32, 0xD1, 0x82, 0xCA, 0x4E, 0xB9, 0x46, 0x03, 0x83,
+    0x68, 0x56, 0x0B, 0xCC, 0xFD, 0x7A, 0x2A, 0xBE, 0x07,
+};
+constexpr std::array<uint8_t, 32> V1AdvKeySeed = {
+    0x31, 0x43, 0x63, 0x1E, 0xCA, 0xE8, 0x97, 0x4B, 0x96, 0x50, 0xCC,
+    0x1C, 0x48, 0x25, 0x0E, 0x81, 0x58, 0x06, 0x81, 0x51, 0xF9, 0xEB,
+    0x25, 0x23, 0x03, 0xD4, 0x97, 0x6D, 0x95, 0x19, 0x91, 0x39,
+};
+constexpr std::array<uint8_t, 32> V1AdvExpectedUnsignedMetadataKeyHmac = {0};
+constexpr std::array<uint8_t, 32> V1AdvExpectedSignedMetadataKeyHmac = {
+    0x1C, 0xBC, 0xEB, 0xDC, 0x17, 0xB5, 0x91, 0xE5, 0x07, 0x9D, 0x70,
+    0xC1, 0xE8, 0x4B, 0xCC, 0xDB, 0x4B, 0x0F, 0x76, 0x83, 0x59, 0x62,
+    0x0A, 0x2D, 0x55, 0x0B, 0x3B, 0x36, 0xA4, 0x92, 0x8B, 0x13,
+};
+constexpr std::array<uint8_t, 32> V1AdvPublicKey = {
+    0x6D, 0x0D, 0xB6, 0x09, 0x10, 0xB1, 0x4E, 0xC4, 0x7E, 0x10, 0x16,
+    0x14, 0x9C, 0x9F, 0xF2, 0x14, 0x0F, 0xEC, 0x53, 0x76, 0xE3, 0x07,
+    0xD9, 0xD3, 0x9E, 0xAE, 0xE7, 0x45, 0x2C, 0x03, 0xEC, 0x6D,
+};
+inline std::vector<uint8_t> V1AdvEncryptedMetadata = {
+    0x09, 0xB8, 0xC6, 0x6B, 0x71, 0x43, 0x55, 0x4C, 0xB9, 0x9D, 0xBF,
+    0xE4, 0xAF, 0x3E, 0xA2, 0x56, 0x0E, 0x6C, 0xBC, 0xDC, 0x3F, 0x3F,
+    0x0D, 0x28, 0xD4, 0x50, 0xA9, 0xEA, 0xC3, 0x60, 0xB0, 0x81, 0x31,
+    0xE2, 0x67, 0xB5, 0xC8, 0x15, 0x0C, 0xCA, 0x0B, 0x9B, 0x2C, 0x80,
+    0xC1, 0xB1, 0xF6, 0x5F, 0xE1, 0x51, 0xF9, 0xE2, 0x23, 0x56, 0xD4,
+    0x0B, 0x89, 0xA7, 0xF3, 0x4D, 0xE8, 0x79, 0x26, 0x44, 0x7E, 0x62,
+    0xDE, 0x53, 0x13, 0x15, 0x3D, 0xFC, 0x04, 0x2E, 0x2D, 0x08, 0x43,
+    0x2E, 0xE1, 0x96, 0xE8, 0x0F, 0xD0, 0xFC, 0xDE, 0x03, 0x86, 0x23,
+    0xB6, 0x98, 0x85, 0x27, 0x67, 0xD8, 0x1D, 0xC3, 0xE2, 0xE0, 0xA4,
+    0x32, 0x1A, 0x5F, 0x51, 0x0B, 0xA8, 0xD8, 0xA7, 0x23, 0xA4, 0x57,
+};
+inline std::string ExpectedV1DecryptedMetadata(
+    "{\"uuid\":\"378845e1-2616-420d-86f5-674177a7504d\","
+    "\"display_name\":\"Alice\",\"location\":\"Wonderland\"}");
+
+// Data suitable for use directly through the C API (bypassing the C++ wrapper)
+constexpr np_ffi::internal::RawAdvertisementPayload V0AdvMultiDeInternals{
+    {7, {0x00, 0x03, 0x15, 0x05, 0x26, 0x00, 0x46}}};
+
+// Wrapper types directly usable by C++ API
+constexpr nearby_protocol::ByteBuffer<255> V0AdvEmptyBuffer(V0AdvEmptyBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V0AdvEmpty(V0AdvEmptyBuffer);
+
+constexpr nearby_protocol::ByteBuffer<255> V0AdvPlaintextBuffer(
+    V0AdvPlaintextBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V0AdvPlaintext(
+    V0AdvPlaintextBuffer);
+
+constexpr nearby_protocol::ByteBuffer<255> V0AdvPlaintextMultiDeBuffer(
+    V0AdvPlaintextMultiDeBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V0AdvPlaintextMultiDe(
+    V0AdvPlaintextMultiDeBuffer);
+
+constexpr nearby_protocol::ByteBuffer<255> V1AdvPlaintextBuffer(
+    V1AdvPlaintextBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V1AdvPlaintext(
+    V1AdvPlaintextBuffer);
+
+constexpr nearby_protocol::ByteBuffer<255> V0AdvEncryptedBuffer(
+    V0AdvEncryptedBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V0AdvEncryptedPayload(
+    V0AdvEncryptedBuffer);
+
+constexpr nearby_protocol::ByteBuffer<255> V1AdvEncryptedBuffer(
+    V1AdvEncryptedBytes);
+constexpr nearby_protocol::RawAdvertisementPayload V1AdvEncrypted(
+    V1AdvEncryptedBuffer);
+
 void test_panic_handler(nearby_protocol::PanicReason reason);
 
+nearby_protocol::V0MatchableCredential GenerateRandomCredentialV0();
+
+nearby_protocol::V1MatchableCredential GenerateRandomCredentialV1();
+
+template <uint32_t N>
+std::array<uint8_t, N> create_random_array() {
+  std::array<uint8_t, N> array{};
+  std::generate(array.begin(), array.end(), []() { return rand(); });
+  return array;
+}
+
 std::string generate_hex_string(size_t length);
 
-#endif // NEARBY_PRESENCE_NP_CPP_FFI_TESTS_SHARED_TEST_UTILS_H_
+#endif  // NEARBY_PRESENCE_NP_CPP_FFI_TESTS_SHARED_TEST_UTILS_H_
diff --git a/nearby/presence/np_cpp_ffi/tests/CMakeLists.txt b/nearby/presence/np_cpp_ffi/tests/CMakeLists.txt
index 23d02a4..80fdee0 100644
--- a/nearby/presence/np_cpp_ffi/tests/CMakeLists.txt
+++ b/nearby/presence/np_cpp_ffi/tests/CMakeLists.txt
@@ -14,14 +14,18 @@
 
 add_executable(
         np_ffi_tests
-        deserialize_result_tests.cc
-        deserialize_v0_tests.cc
-        deserialize_v1_tests.cc
-        credential_slab_tests.cc
-        credential_book_tests.cc
         byte_buffer_tests.cc
+        credential_book_tests.cc
+        credential_slab_tests.cc
+        deserialize_result_tests.cc
         np_cpp_test.h
         np_cpp_test.cc
+	v0_encrypted_deserialization_tests.cc
+	v0_encrypted_serialization_tests.cc
+	v0_unencrypted_deserialization_tests.cc
+	v0_unencrypted_serialization_tests.cc
+	v1_encrypted_deserialization_tests.cc
+	v1_unencrypted_deserialization_tests.cc
 )
 
 target_link_libraries(
diff --git a/nearby/presence/np_cpp_ffi/tests/byte_buffer_tests.cc b/nearby/presence/np_cpp_ffi/tests/byte_buffer_tests.cc
index 7e1a048..f76f396 100644
--- a/nearby/presence/np_cpp_ffi/tests/byte_buffer_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/byte_buffer_tests.cc
@@ -12,64 +12,116 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+#include <array>
+#include <cassert>
+#include <cstdint>
+#include <string>
+#include <vector>
+
+#include "absl/strings/escaping.h"
+#include "gtest/gtest.h"
 #include "nearby_protocol.h"
 #include "np_cpp_test.h"
 #include "shared_test_util.h"
 
-#include "absl/strings/escaping.h"
-#include "gtest/gtest.h"
-
+// NOLINTBEGIN(readability-magic-numbers)
 TEST_F(NpCppTest, ByteBufferMaxLength) {
   // Each hex byte takes up 2 characters so length 510 string = 255 bytes of hex
   auto str_bytes = generate_hex_string(510);
   auto bytes = absl::HexStringToBytes(str_bytes);
-  auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromString(bytes);
   ASSERT_TRUE(buffer.ok());
   auto string = buffer.value().ToString();
   ASSERT_EQ(bytes, string);
 }
 
+TEST_F(NpCppTest, ByteBufferArrayConstructor) {
+  const std::array<uint8_t, 3> data{1, 2, 3};
+  const nearby_protocol::ByteBuffer<nearby_protocol::MAX_ADV_PAYLOAD_SIZE>
+      buffer(data);
+  const std::vector<uint8_t> expected{1, 2, 3};
+  ASSERT_EQ(expected, buffer.ToVector());
+}
+
+TEST_F(NpCppTest, ByteBufferTryFromSpan) {
+  std::vector<uint8_t> data{1, 2, 3};
+  auto buffer = nearby_protocol::ByteBuffer<3>::TryFromSpan(data);
+  assert(buffer.ok());
+  ASSERT_EQ(data, buffer->ToVector());
+}
+
+TEST_F(NpCppTest, ByteBufferTryFromSpanBufferNotFull) {
+  std::vector<uint8_t> data{1, 2, 3};
+  auto buffer = nearby_protocol::ByteBuffer<100>::TryFromSpan(data);
+  assert(buffer.ok());
+  ASSERT_EQ(data, buffer->ToVector());
+}
+
+TEST_F(NpCppTest, ByteBufferTryFromSpanInvalidLength) {
+  std::vector<uint8_t> data{1, 2, 3};
+  auto buffer = nearby_protocol::ByteBuffer<2>::TryFromSpan(data);
+  ASSERT_FALSE(buffer.ok());
+}
+
+TEST_F(NpCppTest, ByteBufferTryFromSpanArray) {
+  const std::array<uint8_t, 3> data{1, 2, 3};
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromSpan(data);
+  const std::vector<uint8_t> expected{1, 2, 3};
+  ASSERT_EQ(expected, buffer->ToVector());
+}
+
+TEST_F(NpCppTest, ByteBufferTryFromSpanArrayInvalid) {
+  std::array<uint8_t, 3> data{1, 2, 3};
+  auto buffer = nearby_protocol::ByteBuffer<2>::TryFromSpan(data);
+  ASSERT_FALSE(buffer.ok());
+}
+
 TEST_F(NpCppTest, ByteBufferInvalidLength) {
   // 256 bytes should fail
   auto str_bytes = generate_hex_string(512);
   auto bytes = absl::HexStringToBytes(str_bytes);
-  auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromString(bytes);
   ASSERT_FALSE(buffer.ok());
 }
 
 TEST_F(NpCppTest, ByteBufferRoundTrip) {
   auto bytes = absl::HexStringToBytes("2003031503");
-  auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromString(bytes);
   auto string = buffer.value().ToString();
   ASSERT_EQ(bytes, string);
 }
 
 TEST_F(NpCppTest, ByteBufferPayloadWrongSize) {
   auto bytes = absl::HexStringToBytes("1111111111111111111111");
-  auto buffer = nearby_protocol::ByteBuffer<10>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<10>::TryFromString(bytes);
   ASSERT_FALSE(buffer.ok());
 }
 
 TEST_F(NpCppTest, ByteBufferEmptyString) {
   auto bytes = absl::HexStringToBytes("");
-  auto buffer = nearby_protocol::ByteBuffer<10>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<10>::TryFromString(bytes);
   ASSERT_TRUE(buffer.ok());
 }
 
 TEST_F(NpCppTest, ByteBufferToVector) {
   auto bytes = absl::HexStringToBytes("1234567890");
-  auto buffer = nearby_protocol::ByteBuffer<100>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<100>::TryFromString(bytes);
   auto vec = buffer.value().ToVector();
-  std::vector<uint8_t> expected{0x12, 0x34, 0x56, 0x78, 0x90};
+  const std::vector<uint8_t> expected{0x12, 0x34, 0x56, 0x78, 0x90};
   ASSERT_EQ(vec, expected);
 }
 
 TEST_F(NpCppTest, ByteBufferEndToEndPayloadAsString) {
-  std::string bytes = absl::HexStringToBytes("2003031503");
-  auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+  const std::string bytes = absl::HexStringToBytes("2003031503");
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromString(bytes);
   ASSERT_TRUE(buffer.ok());
 
-  nearby_protocol::RawAdvertisementPayload adv(buffer.value());
+  const nearby_protocol::RawAdvertisementPayload adv(buffer.value());
 
   auto credential_slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto credential_book =
@@ -86,3 +138,4 @@
                  .ToString();
   ASSERT_EQ(str, absl::HexStringToBytes("03"));
 }
+// NOLINTEND(readability-magic-numbers)
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/tests/credential_book_tests.cc b/nearby/presence/np_cpp_ffi/tests/credential_book_tests.cc
index af8fc0d..32aa173 100644
--- a/nearby/presence/np_cpp_ffi/tests/credential_book_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/credential_book_tests.cc
@@ -12,26 +12,32 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
-#include "shared_test_util.h"
-#include "np_cpp_test.h"
+#include <utility>
 
+#include "absl/status/status.h"
 #include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
 
 TEST_F(NpCppTest, TestSetMaxCredBooks) {
   auto slab1_result = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(slab1_result.ok());
-  auto book1_result = nearby_protocol::CredentialBook::TryCreateFromSlab(slab1_result.value());
+  auto book1_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(slab1_result.value());
   ASSERT_TRUE(book1_result.ok());
 
   auto slab2_result = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(slab2_result.ok());
-  auto book2_result = nearby_protocol::CredentialBook::TryCreateFromSlab(slab2_result.value());
+  auto book2_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(slab2_result.value());
   ASSERT_TRUE(book2_result.ok());
 
   auto slab3_result = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(slab3_result.ok());
-  auto book3_result = nearby_protocol::CredentialBook::TryCreateFromSlab(slab3_result.value());
+  auto book3_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(slab3_result.value());
 
   ASSERT_FALSE(book3_result.ok());
   ASSERT_TRUE(absl::IsResourceExhausted(book3_result.status()));
@@ -41,31 +47,32 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto deserialize_result =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvSimple,
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvPlaintext,
                                                               book);
   ASSERT_EQ(deserialize_result.GetKind(),
-            np_ffi::internal::DeserializeAdvertisementResultKind::V0);
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
 
   // Move the credential book into a new object. Using the new object should
   // still result in success
-  nearby_protocol::CredentialBook next_book(std::move(book));
+  const nearby_protocol::CredentialBook next_book(std::move(book));
   auto deserialize_result_moved =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvSimple,
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvPlaintext,
                                                               next_book);
   ASSERT_EQ(deserialize_result_moved.GetKind(),
-            np_ffi::internal::DeserializeAdvertisementResultKind::V0);
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
 
   // The old object should now lead to use after moved assert failure
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   nearby_protocol::Deserializer::DeserializeAdvertisement(
-                       V0AdvSimple, book), // NOLINT(bugprone-use-after-move)
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          nearby_protocol::Deserializer::DeserializeAdvertisement(
+              V0AdvPlaintext, book),  // NOLINT(bugprone-use-after-move)
+      "");
 
   // moving again should still lead to a use after moved assert failure
-  nearby_protocol::CredentialBook another_moved_book(std::move(book));
+  const nearby_protocol::CredentialBook another_moved_book(std::move(book));
   ASSERT_DEATH([[maybe_unused]] auto failure =
                    nearby_protocol::Deserializer::DeserializeAdvertisement(
-                       V0AdvSimple, another_moved_book),
+                       V0AdvPlaintext, another_moved_book),
                "");
 }
 
@@ -73,33 +80,35 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto deserialize_result =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvSimple,
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvPlaintext,
                                                               book);
   ASSERT_EQ(deserialize_result.GetKind(),
-            np_ffi::internal::DeserializeAdvertisementResultKind::V0);
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
 
   // create a second empty credential book
   auto other_slab = nearby_protocol::CredentialSlab::TryCreate().value();
-  auto other_book = nearby_protocol::CredentialBook::TryCreateFromSlab(other_slab).value();
+  auto other_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(other_slab).value();
   other_book = std::move(book);
 
   // new credential book should still be successful
   auto deserialize_result_other =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvSimple,
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvPlaintext,
                                                               other_book);
   ASSERT_EQ(deserialize_result_other.GetKind(),
-            np_ffi::internal::DeserializeAdvertisementResultKind::V0);
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
 
   // The old object should now lead to use after moved assert failure
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   nearby_protocol::Deserializer::DeserializeAdvertisement(
-                       V0AdvSimple, book), // NOLINT(bugprone-use-after-move)
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          nearby_protocol::Deserializer::DeserializeAdvertisement(
+              V0AdvPlaintext, book),  // NOLINT(bugprone-use-after-move)
+      "");
 
   // moving again should still lead to a use after moved assert failure
   auto another_moved_book = std::move(book);
   ASSERT_DEATH([[maybe_unused]] auto failure =
                    nearby_protocol::Deserializer::DeserializeAdvertisement(
-                       V0AdvSimple, another_moved_book),
+                       V0AdvPlaintext, another_moved_book),
                "");
 }
diff --git a/nearby/presence/np_cpp_ffi/tests/credential_slab_tests.cc b/nearby/presence/np_cpp_ffi/tests/credential_slab_tests.cc
index b99ab5e..719323f 100644
--- a/nearby/presence/np_cpp_ffi/tests/credential_slab_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/credential_slab_tests.cc
@@ -12,12 +12,17 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+#include <array>
+#include <cstdint>
+#include <span>
+#include <utility>
+
+#include "absl/status/status.h"
+#include "gtest/gtest.h"
 #include "nearby_protocol.h"
 #include "np_cpp_test.h"
-#include "shared_test_util.h"
 
-#include "gtest/gtest.h"
-
+// NOLINTBEGIN(readability-magic-numbers)
 TEST_F(NpCppTest, TestSetMaxCredSlabs) {
   auto slab1_result = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(slab1_result.ok());
@@ -50,7 +55,7 @@
   // result in an assert failure.
   ASSERT_DEATH([[maybe_unused]] auto failure =
                    nearby_protocol::CredentialBook::TryCreateFromSlab(
-                       slab), // NOLINT(bugprone-use-after-move)
+                       slab),  // NOLINT(bugprone-use-after-move)
                "");
   ASSERT_DEATH(
       [[maybe_unused]] auto failure =
@@ -99,14 +104,14 @@
   // The old object should now lead to use after moved assert failure
   ASSERT_DEATH([[maybe_unused]] auto failure =
                    nearby_protocol::CredentialBook::TryCreateFromSlab(
-                       slab_result.value()), // NOLINT(bugprone-use-after-move)
+                       slab_result.value()),  // NOLINT(bugprone-use-after-move)
                "");
 
   // moving again should still lead to a use after moved assert failure
   auto another_moved_book = std::move(slab_result.value());
   ASSERT_DEATH([[maybe_unused]] auto failure =
                    nearby_protocol::CredentialBook::TryCreateFromSlab(
-                       another_moved_book), // NOLINT(bugprone-use-after-move)
+                       another_moved_book),  // NOLINT(bugprone-use-after-move)
                "");
 }
 
@@ -115,13 +120,13 @@
   ASSERT_TRUE(slab_result.ok());
 
   uint8_t metadata[] = {1, 2, 3};
-  std::span<uint8_t> metadata_span(metadata);
+  const std::span<uint8_t> metadata_span(metadata);
 
-  nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
-  std::array<uint8_t, 32> key_seed {1, 2, 3};
-  std::array<uint8_t, 32> legacy_metadata_key_hmac {1, 2, 3};
+  const nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
+  const std::array<uint8_t, 32> key_seed{1, 2, 3};
+  const std::array<uint8_t, 32> legacy_metadata_key_hmac{1, 2, 3};
 
-  nearby_protocol::V0MatchableCredential v0_cred(
+  const nearby_protocol::V0MatchableCredential v0_cred(
       key_seed, legacy_metadata_key_hmac, match_data);
   auto add_result = slab_result.value().AddV0Credential(v0_cred);
   ASSERT_EQ(add_result, absl::OkStatus());
@@ -137,11 +142,11 @@
   ASSERT_TRUE(maybe_book.ok());
 
   uint8_t metadata[] = {1, 2, 3};
-  std::span<uint8_t> metadata_span(metadata);
-  nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
-  std::array<uint8_t, 32> key_seed {1, 2, 3};
-  std::array<uint8_t, 32> legacy_metadata_key_hmac {1, 2, 3};
-  nearby_protocol::V0MatchableCredential v0_cred(
+  const std::span<uint8_t> metadata_span(metadata);
+  const nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
+  const std::array<uint8_t, 32> key_seed{1, 2, 3};
+  const std::array<uint8_t, 32> legacy_metadata_key_hmac{1, 2, 3};
+  const nearby_protocol::V0MatchableCredential v0_cred(
       key_seed, legacy_metadata_key_hmac, match_data);
 
   ASSERT_DEATH([[maybe_unused]] auto add_result =
@@ -154,13 +159,13 @@
   ASSERT_TRUE(slab_result.ok());
 
   uint8_t metadata[] = {1, 2, 3};
-  std::span<uint8_t> metadata_span(metadata);
-  nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
-  std::array<uint8_t, 32> key_seed {1, 2, 3};
-  std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac {1, 2, 3};
-  std::array<uint8_t, 32> expected_signed_metadata_key_hmac {1, 2, 3};
-  std::array<uint8_t, 32> pub_key {1, 2, 3};
-  nearby_protocol::V1MatchableCredential v1_cred(
+  const std::span<uint8_t> metadata_span(metadata);
+  const nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
+  const std::array<uint8_t, 32> key_seed{1, 2, 3};
+  const std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac{1, 2, 3};
+  const std::array<uint8_t, 32> expected_signed_metadata_key_hmac{1, 2, 3};
+  const std::array<uint8_t, 32> pub_key{1, 2, 3};
+  const nearby_protocol::V1MatchableCredential v1_cred(
       key_seed, expected_unsigned_metadata_key_hmac,
       expected_signed_metadata_key_hmac, pub_key, match_data);
 
@@ -178,13 +183,13 @@
   ASSERT_TRUE(maybe_book.ok());
 
   uint8_t metadata[] = {1, 2, 3};
-  std::span<uint8_t> metadata_span(metadata);
-  nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
-  std::array<uint8_t, 32> key_seed {1, 2, 3};
-  std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac {1, 2, 3};
-  std::array<uint8_t, 32> expected_signed_metadata_key_hmac {1, 2, 3};
-  std::array<uint8_t, 32> pub_key {1, 2, 3};
-  nearby_protocol::V1MatchableCredential v1_cred(
+  const std::span<uint8_t> metadata_span(metadata);
+  const nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
+  const std::array<uint8_t, 32> key_seed{1, 2, 3};
+  const std::array<uint8_t, 32> expected_unsigned_metadata_key_hmac{1, 2, 3};
+  const std::array<uint8_t, 32> expected_signed_metadata_key_hmac{1, 2, 3};
+  const std::array<uint8_t, 32> pub_key{1, 2, 3};
+  const nearby_protocol::V1MatchableCredential v1_cred(
       key_seed, expected_unsigned_metadata_key_hmac,
       expected_signed_metadata_key_hmac, pub_key, match_data);
 
@@ -192,3 +197,37 @@
                    slab_result.value().AddV1Credential(v1_cred);
                , "");
 }
+
+// make sure the book can be populated with many credentials
+TEST_F(NpCppTest, TestAddManyCredentials) {
+  auto slab_result = nearby_protocol::CredentialSlab::TryCreate();
+  ASSERT_TRUE(slab_result.ok());
+
+  // Should be able to load the slab up with many credentials
+  for (int i = 0; i < 500; i++) {
+    uint8_t metadata[] = {1, 2, 3};
+    const std::span<uint8_t> metadata_span(metadata);
+    const nearby_protocol::MatchedCredentialData match_data(111, metadata_span);
+    const std::array<uint8_t, 32> key_seed{1, 2, 3};
+    const std::array<uint8_t, 32> legacy_metadata_key_hmac{1, 2, 3};
+    const nearby_protocol::V0MatchableCredential v0_cred(
+        key_seed, legacy_metadata_key_hmac, match_data);
+    auto add_result = slab_result->AddV0Credential(v0_cred);
+    ASSERT_EQ(add_result, absl::OkStatus());
+
+    const std::array<uint8_t, 32> v1_key_seed{1, 2, 3};
+    const std::array<uint8_t, 32> v1_expected_unsigned_metadata_key_hmac{1, 2,
+                                                                         3};
+    const std::array<uint8_t, 32> v1_expected_signed_metadata_key_hmac{1, 2, 3};
+    const std::array<uint8_t, 32> v1_pub_key{1, 2, 3};
+    const nearby_protocol::V1MatchableCredential v1_cred(
+        v1_key_seed, v1_expected_unsigned_metadata_key_hmac,
+        v1_expected_signed_metadata_key_hmac, v1_pub_key, match_data);
+
+    auto add_v1_result = slab_result->AddV1Credential(v1_cred);
+    ASSERT_EQ(add_v1_result, absl::OkStatus());
+  }
+  ASSERT_TRUE(
+      nearby_protocol::CredentialBook::TryCreateFromSlab(*slab_result).ok());
+}
+// NOLINTEND(readability-magic-numbers)
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/tests/deserialize_result_tests.cc b/nearby/presence/np_cpp_ffi/tests/deserialize_result_tests.cc
index 0469933..37ef27a 100644
--- a/nearby/presence/np_cpp_ffi/tests/deserialize_result_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/deserialize_result_tests.cc
@@ -12,18 +12,22 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
-#include "shared_test_util.h"
-#include "np_cpp_test.h"
+#include <array>
+#include <cstdint>
+#include <utility>
 
 #include "absl/strings/escaping.h"
 #include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
 
 TEST_F(NpCppTest, TestResultMoveConstructor) {
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
@@ -39,7 +43,7 @@
   // trying to use the moved object should result in a use after free which
   // triggers an abort
   ASSERT_DEATH([[maybe_unused]] auto failure =
-                   result.IntoV0(), // NOLINT(bugprone-use-after-move
+                   result.IntoV0(),  // NOLINT(bugprone-use-after-move)
                "");
   ASSERT_DEATH([[maybe_unused]] auto failure = result.GetKind(), "");
 
@@ -53,15 +57,18 @@
 
 TEST_F(NpCppTest, DeserializeFromStringView) {
   auto bytes = absl::HexStringToBytes("00031503");
-  auto buffer = nearby_protocol::ByteBuffer<255>::CopyFrom(bytes);
+  auto buffer = nearby_protocol::ByteBuffer<
+      nearby_protocol::MAX_ADV_PAYLOAD_SIZE>::TryFromString(bytes);
   ASSERT_TRUE(buffer.ok());
 
-  nearby_protocol::RawAdvertisementPayload adv(buffer.value());
+  const nearby_protocol::RawAdvertisementPayload adv(buffer.value());
 
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
@@ -76,8 +83,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
@@ -89,20 +95,20 @@
 
   ASSERT_EQ(de.GetKind(), nearby_protocol::V0DataElementKind::TxPower);
   auto tx_power = de.AsTxPower();
-  ASSERT_EQ(tx_power.tx_power, 3);
+  ASSERT_EQ(tx_power.GetAsI8(), 3);
 }
 
 TEST_F(NpCppTest, TestResultMoveAssignment) {
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
   // create a second result
   auto another_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(another_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
@@ -116,7 +122,7 @@
   // original result should now be invalid, using it will trigger a use after
   // free abort.
   ASSERT_DEATH([[maybe_unused]] auto failure =
-                   result.IntoV0(), // NOLINT(bugprone-use-after-move)
+                   result.IntoV0(),  // NOLINT(bugprone-use-after-move)
                "");
   ASSERT_DEATH([[maybe_unused]] auto failure = result.GetKind(), "");
 
@@ -128,13 +134,16 @@
 
 TEST_F(NpCppTest, TestInvalidPayloadHeader) {
   // An invalid header result should result in error
-  nearby_protocol::RawAdvertisementPayload InvalidHeaderPayload(
-      nearby_protocol::ByteBuffer<255>({1, {0xFF}}));
+  const std::array<uint8_t, 1> InvalidHeaderPayloadBytes{0xFF};
+  const nearby_protocol::RawAdvertisementPayload InvalidHeaderPayload(
+      (nearby_protocol::ByteBuffer<255>(InvalidHeaderPayloadBytes)));
 
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
@@ -144,27 +153,29 @@
   // Errors cannot be casted into further types
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::Error);
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV0(); },
-               "");
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV1(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV0(); }, "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV1(); }, "");
 }
 
 TEST_F(NpCppTest, TestInvalidV0Cast) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V1AdvSimple, maybe_credential_book.value());
+          V1AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V1);
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV0(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV0(); }, "");
 }
 
 TEST_F(NpCppTest, TestInvalidV1Cast) {
@@ -172,30 +183,33 @@
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
-
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV1(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV1(); }, "");
 }
 
 TEST_F(NpCppTest, V0UseResultTwice) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
@@ -203,20 +217,22 @@
   auto v0_adv = deserialize_result.IntoV0();
   // Calling intoV0 for a second time is a programmer error and will result
   // in a crash.
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV0(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV0(); }, "");
 }
 
 TEST_F(NpCppTest, V1UseResultTwice) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V1AdvSimple, maybe_credential_book.value());
+          V1AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
 
@@ -224,20 +240,22 @@
   auto v1_adv = deserialize_result.IntoV1();
   // Calling intoV0 for a second time is a programmer error and will result
   // in a crash.
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV1(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV1(); }, "");
 }
 
 TEST_F(NpCppTest, IntoV0AfterOutOfScope) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
@@ -246,20 +264,22 @@
 
   // Calling intoV0 for a second time is a programmer error and will result
   // in a crash.
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV0(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV0(); }, "");
 }
 
 TEST_F(NpCppTest, IntoV1AfterOutOfScope) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V1AdvSimple, maybe_credential_book.value());
+          V1AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
 
@@ -268,20 +288,22 @@
 
   // Calling intoV0 for a second time is a programmer error and will result
   // in a crash.
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV1(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV1(); }, "");
 }
 
 TEST_F(NpCppTest, V0ResultKindAfterOutOfScope) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
@@ -298,12 +320,14 @@
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
 
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V1AdvSimple, maybe_credential_book.value());
+          V1AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
 
diff --git a/nearby/presence/np_cpp_ffi/tests/np_cpp_test.h b/nearby/presence/np_cpp_ffi/tests/np_cpp_test.h
index 03eb03a..6cbf8c9 100644
--- a/nearby/presence/np_cpp_ffi/tests/np_cpp_test.h
+++ b/nearby/presence/np_cpp_ffi/tests/np_cpp_test.h
@@ -15,13 +15,12 @@
 #ifndef NEARBY_PRESENCE_NP_CPP_FFI_TESTS_NP_CPP_TEST_H_
 #define NEARBY_PRESENCE_NP_CPP_FFI_TESTS_NP_CPP_TEST_H_
 
+#include "gtest/gtest.h"
 #include "nearby_protocol.h"
 #include "shared_test_util.h"
 
-#include <gtest/gtest.h>
-
 class NpCppTest : public testing::Test {
-protected:
+ protected:
   static void SetUpTestSuite() {
     if (!panic_handler_set) {
       ASSERT_TRUE(
@@ -31,6 +30,7 @@
       nearby_protocol::GlobalConfig::SetMaxNumDeserializedV1Advertisements(2);
       nearby_protocol::GlobalConfig::SetMaxNumCredentialSlabs(3);
       nearby_protocol::GlobalConfig::SetMaxNumCredentialBooks(2);
+      nearby_protocol::GlobalConfig::SetMaxNumV0AdvertisementBuilders(2);
     } else {
       ASSERT_FALSE(
           nearby_protocol::GlobalConfig::SetPanicHandler(test_panic_handler));
@@ -39,4 +39,4 @@
   static bool panic_handler_set;
 };
 
-#endif // NEARBY_PRESENCE_NP_CPP_FFI_TESTS_NP_CPP_TEST_H_
+#endif  // NEARBY_PRESENCE_NP_CPP_FFI_TESTS_NP_CPP_TEST_H_
diff --git a/nearby/presence/np_cpp_ffi/tests/v0_encrypted_deserialization_tests.cc b/nearby/presence/np_cpp_ffi/tests/v0_encrypted_deserialization_tests.cc
new file mode 100644
index 0000000..3d74295
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/tests/v0_encrypted_deserialization_tests.cc
@@ -0,0 +1,192 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <algorithm>
+#include <array>
+#include <cstdint>
+#include <span>
+#include <string>
+
+#include "absl/status/status.h"
+#include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
+
+// NOLINTBEGIN(readability-magic-numbers)
+TEST_F(NpCppTest, V0PrivateIdentityDeserializationSimpleCase) {
+  auto slab_result = nearby_protocol::CredentialSlab::TryCreate();
+  ASSERT_TRUE(slab_result.ok());
+
+  const std::span<uint8_t> metadata_span(V0AdvEncryptedMetadata);
+  const nearby_protocol::MatchedCredentialData match_data(123, metadata_span);
+
+  std::array<uint8_t, 32> key_seed = {};
+  std::fill_n(key_seed.begin(), 32, 0x11);
+
+  const nearby_protocol::V0MatchableCredential v0_cred(
+      key_seed, V0AdvLegacyMetadataKeyHmac, match_data);
+
+  auto add_result = slab_result->AddV0Credential(v0_cred);
+  ASSERT_EQ(add_result, absl::OkStatus());
+
+  auto book_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(*slab_result);
+  ASSERT_TRUE(book_result.ok());
+
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(
+          V0AdvEncryptedPayload, *book_result);
+  ASSERT_EQ(deserialize_result.GetKind(),
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
+
+  auto v0_adv = deserialize_result.IntoV0();
+  auto kind = v0_adv.GetKind();
+  ASSERT_EQ(kind, nearby_protocol::DeserializedV0AdvertisementKind::Legible);
+
+  auto legible_adv = v0_adv.IntoLegible();
+  auto identity_kind = legible_adv.GetIdentityKind();
+  ASSERT_EQ(identity_kind,
+            nearby_protocol::DeserializedV0IdentityKind::Decrypted);
+  ASSERT_EQ(legible_adv.GetNumberOfDataElements(), 1);
+
+  auto payload = legible_adv.IntoPayload();
+  auto de = payload.TryGetDataElement(0);
+  ASSERT_TRUE(de.ok());
+
+  auto metadata = payload.DecryptMetadata();
+  ASSERT_TRUE(metadata.ok());
+  ASSERT_EQ(ExpectedV0DecryptedMetadata,
+            std::string(metadata->begin(), metadata->end()));
+
+  auto identity_details = payload.GetIdentityDetails();
+  ASSERT_TRUE(identity_details.ok());
+  ASSERT_EQ(identity_details->cred_id, 123);
+  ASSERT_EQ(identity_details->identity_type,
+            nearby_protocol::EncryptedIdentityType::Private);
+
+  auto de_type = de->GetKind();
+  ASSERT_EQ(de_type, nearby_protocol::V0DataElementKind::TxPower);
+
+  auto tx_power_de = de->AsTxPower();
+  ASSERT_EQ(tx_power_de.GetAsI8(), 3);
+}
+
+nearby_protocol::CredentialBook CreateEmptyCredBook() {
+  auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
+  auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
+  return book;
+}
+
+TEST_F(NpCppTest, V0PrivateIdentityEmptyBook) {
+  auto book = CreateEmptyCredBook();
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(
+          V0AdvEncryptedPayload, book);
+  ASSERT_EQ(deserialize_result.GetKind(),
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
+
+  auto v0_adv = deserialize_result.IntoV0();
+  ASSERT_EQ(
+      v0_adv.GetKind(),
+      nearby_protocol::DeserializedV0AdvertisementKind::NoMatchingCredentials);
+
+  // Should not be able to actually access contents
+  ASSERT_DEATH([[maybe_unused]] auto failure = v0_adv.IntoLegible(), "");
+}
+
+TEST_F(NpCppTest, V0PrivateIdentityNoMatchingCreds) {
+  auto slab_result = nearby_protocol::CredentialSlab::TryCreate();
+  ASSERT_TRUE(slab_result.ok());
+
+  uint8_t metadata[] = {0};
+  const std::span<uint8_t> metadata_span(metadata);
+  const nearby_protocol::MatchedCredentialData match_data(123, metadata_span);
+
+  // A randomly picked key seed, does NOT match what was used for the canned adv
+  std::array<uint8_t, 32> key_seed = {};
+  std::fill_n(key_seed.begin(), 31, 0x11);
+
+  const nearby_protocol::V0MatchableCredential v0_cred(
+      key_seed, V0AdvLegacyMetadataKeyHmac, match_data);
+
+  auto add_result = slab_result->AddV0Credential(v0_cred);
+  ASSERT_EQ(add_result, absl::OkStatus());
+
+  auto book_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(*slab_result);
+  ASSERT_TRUE(book_result.ok());
+
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(
+          V0AdvEncryptedPayload, *book_result);
+  ASSERT_EQ(deserialize_result.GetKind(),
+            nearby_protocol::DeserializeAdvertisementResultKind::V0);
+
+  auto v0_adv = deserialize_result.IntoV0();
+  ASSERT_EQ(
+      v0_adv.GetKind(),
+      nearby_protocol::DeserializedV0AdvertisementKind::NoMatchingCredentials);
+
+  // Should not be able to actually access contents
+  ASSERT_DEATH([[maybe_unused]] auto failure = v0_adv.IntoLegible(), "");
+}
+
+// Make sure the correct credential is matched out of multiple provided
+TEST_F(NpCppTest, V0PrivateIdentityMultipleCredentials) {
+  auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
+  const std::span<uint8_t> metadata_span(V0AdvEncryptedMetadata);
+  std::array<uint8_t, 32> key_seed = {};
+  // Non matching credential
+  const nearby_protocol::MatchedCredentialData match_data(123, metadata_span);
+  std::fill_n(key_seed.begin(), 32, 0x12);
+  const nearby_protocol::V0MatchableCredential v0_cred(
+      key_seed, V0AdvLegacyMetadataKeyHmac, match_data);
+  ASSERT_TRUE(slab.AddV0Credential(v0_cred).ok());
+
+  // Matching credential
+  const nearby_protocol::MatchedCredentialData match_data2(456, metadata_span);
+  std::fill_n(key_seed.begin(), 32, 0x11);
+  const nearby_protocol::V0MatchableCredential v0_cred2(
+      key_seed, V0AdvLegacyMetadataKeyHmac, match_data2);
+  ASSERT_TRUE(slab.AddV0Credential(v0_cred2).ok());
+
+  // Non matching credential
+  const nearby_protocol::MatchedCredentialData match_data3(789, metadata_span);
+  std::fill_n(key_seed.begin(), 32, 0x13);
+  const nearby_protocol::V0MatchableCredential v0_cred3(
+      key_seed, V0AdvLegacyMetadataKeyHmac, match_data3);
+  ASSERT_TRUE(slab.AddV0Credential(v0_cred3).ok());
+
+  auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
+  auto legible_adv = nearby_protocol::Deserializer::DeserializeAdvertisement(
+                         V0AdvEncryptedPayload, book)
+                         .IntoV0()
+                         .IntoLegible();
+  ASSERT_EQ(legible_adv.GetIdentityKind(),
+            nearby_protocol::DeserializedV0IdentityKind::Decrypted);
+  ASSERT_EQ(legible_adv.GetNumberOfDataElements(), 1);
+
+  auto payload = legible_adv.IntoPayload();
+  ASSERT_TRUE(payload.TryGetDataElement(0).ok());
+
+  // Make sure the correct credential matches
+  auto identity_details = payload.GetIdentityDetails();
+  ASSERT_TRUE(identity_details.ok());
+  ASSERT_EQ(identity_details->cred_id, 456);
+  ASSERT_EQ(identity_details->identity_type,
+            nearby_protocol::EncryptedIdentityType::Private);
+}
+// NOLINTEND(readability-magic-numbers)
diff --git a/nearby/presence/np_cpp_ffi/tests/v0_encrypted_serialization_tests.cc b/nearby/presence/np_cpp_ffi/tests/v0_encrypted_serialization_tests.cc
new file mode 100644
index 0000000..ebc82a4
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/tests/v0_encrypted_serialization_tests.cc
@@ -0,0 +1,62 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <algorithm>
+#include <array>
+#include <cstdint>
+
+#include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
+
+// NOLINTBEGIN(readability-magic-numbers)
+
+// Corresponds to V0PrivateIdentityDeserializationSimpleCase,
+// which in turn corresponds to np_adv's examples_v0
+TEST_F(NpCppTest, V0PrivateIdentitySerializationSimpleCase) {
+  std::array<uint8_t, 32> key_seed = {};
+  std::fill_n(key_seed.begin(), 32, 0x11);
+
+  std::array<uint8_t, 14> metadata_key = {};
+  std::fill_n(metadata_key.begin(), 14, 0x33);
+
+  auto broadcast_cred =
+      nearby_protocol::V0BroadcastCredential(key_seed, metadata_key);
+
+  std::array<uint8_t, 2> salt = {};
+  std::fill_n(salt.begin(), 2, 0x22);
+
+  auto identity_type = nearby_protocol::EncryptedIdentityType::Private;
+
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreateEncrypted(
+          broadcast_cred, identity_type, salt)
+          .value();
+
+  auto tx_power = nearby_protocol::TxPower::TryBuildFromI8(3).value();
+  auto de = nearby_protocol::V0DataElement(tx_power);
+
+  ASSERT_TRUE(adv_builder.TryAddDE(de).ok());
+
+  auto serialized_bytes = adv_builder.TrySerialize().value();
+  auto actual = serialized_bytes.ToVector();
+
+  auto expected = V0AdvEncryptedBuffer.ToVector();
+
+  ASSERT_EQ(actual, expected);
+}
+
+// NOLINTEND(readability-magic-numbers)
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/tests/deserialize_v0_tests.cc b/nearby/presence/np_cpp_ffi/tests/v0_unencrypted_deserialization_tests.cc
similarity index 79%
rename from nearby/presence/np_cpp_ffi/tests/deserialize_v0_tests.cc
rename to nearby/presence/np_cpp_ffi/tests/v0_unencrypted_deserialization_tests.cc
index 3ed2d79..4760009 100644
--- a/nearby/presence/np_cpp_ffi/tests/deserialize_v0_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/v0_unencrypted_deserialization_tests.cc
@@ -12,40 +12,40 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
-#include "shared_test_util.h"
-#include "np_cpp_test.h"
+#include <array>
+#include <cstdint>
+#include <utility>
+
+#include "absl/status/status.h"
 #include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
 
 TEST_F(NpCppTest, InvalidCast) {
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto deserialize_result =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvSimple, book);
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V0AdvPlaintext,
+                                                              book);
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 
   // Now try to cast the result into the wrong type and verify the process
   // aborts
-  ASSERT_DEATH({ [[maybe_unused]] auto failure = deserialize_result.IntoV1(); },
-               "");
+  ASSERT_DEATH(
+      { [[maybe_unused]] auto failure = deserialize_result.IntoV1(); }, "");
 }
 
-TEST_F(NpCppTest, V0SingleDataElementTxPower) {
-  nearby_protocol::RawAdvertisementPayload adv(
-      nearby_protocol::ByteBuffer<255>({
-          4,
-          {0x00,       // Adv Header
-           0x03,       // Public DE header
-           0x15, 0x03} // Length 1 Tx Power DE with value 3
-      }));
-
+TEST_F(NpCppTest, V0DeserializeSingleDataElementTxPower) {
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab);
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(slab);
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          adv, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
@@ -55,8 +55,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
@@ -68,21 +67,20 @@
 
   ASSERT_EQ(de.GetKind(), nearby_protocol::V0DataElementKind::TxPower);
   auto tx_power = de.AsTxPower();
-  ASSERT_EQ(tx_power.tx_power, 3);
+  ASSERT_EQ(tx_power.GetAsI8(), 3);
 }
 
 TEST_F(NpCppTest, V0LengthOneActionsDataElement) {
-  nearby_protocol::RawAdvertisementPayload adv(
-      nearby_protocol::ByteBuffer<255>({
-          4,
-          {0x00,       // Adv Header
-           0x03,       // Public DE header
-           0x16, 0x00} // Length 1 Actions DE
-      }));
+  const std::array<uint8_t, 4> V0AdvPlaintextLengthOneActions{0x00, 0x03, 0x16,
+                                                              0x00};
+  const nearby_protocol::RawAdvertisementPayload adv(
+      (nearby_protocol::ByteBuffer<255>(V0AdvPlaintextLengthOneActions)));
 
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
@@ -96,8 +94,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
@@ -113,17 +110,16 @@
 }
 
 TEST_F(NpCppTest, V0LengthTwoActionsDataElement) {
-  nearby_protocol::RawAdvertisementPayload adv(
-      nearby_protocol::ByteBuffer<255>({
-          5,
-          {0x00,             // Adv Header
-           0x03,             // Public DE header
-           0x26, 0xD0, 0x46} // Length 2 Actions DE
-      }));
+  const std::array<uint8_t, 5> V0AdvPlaintextLengthTwoActions{0x00, 0x03, 0x26,
+                                                              0xD0, 0x46};
+  const nearby_protocol::RawAdvertisementPayload adv(
+      (nearby_protocol::ByteBuffer<255>(V0AdvPlaintextLengthTwoActions)));
 
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
@@ -137,8 +133,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
@@ -166,26 +161,19 @@
   ASSERT_FALSE(
       actions.HasAction(nearby_protocol::BooleanActionType::PresenceManager));
 
-  ASSERT_EQ(actions.GetContextSyncSequenceNumber(), 0xD);
+  ASSERT_EQ(actions.GetContextSyncSequenceNumber().GetAsU8(), 0xD);
 }
 
 TEST_F(NpCppTest, V0MultipleDataElements) {
-  nearby_protocol::RawAdvertisementPayload adv(nearby_protocol::ByteBuffer<255>(
-      {7,
-       {
-           0x00,             // Adv Header
-           0x03,             // Public DE header
-           0x15, 0x05,       // Tx Power value 5
-           0x26, 0x00, 0x46, // Length 2 Actions
-       }}));
-
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          adv, maybe_credential_book.value());
+          V0AdvPlaintextMultiDe, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
@@ -195,8 +183,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 2);
@@ -208,7 +195,7 @@
 
   ASSERT_EQ(first_de.GetKind(), nearby_protocol::V0DataElementKind::TxPower);
   auto power = first_de.AsTxPower();
-  ASSERT_EQ(power.tx_power, 5);
+  ASSERT_EQ(power.GetAsI8(), 5);
 
   auto second_de_result = payload.TryGetDataElement(1);
   ASSERT_TRUE(second_de_result.ok());
@@ -217,13 +204,15 @@
   ASSERT_EQ(second_de.GetKind(), nearby_protocol::V0DataElementKind::Actions);
   auto actions = second_de.AsActions();
   ASSERT_EQ(actions.GetAsU32(), (uint32_t)0x00460000);
-  ASSERT_EQ(actions.GetContextSyncSequenceNumber(), (uint8_t)0);
+  ASSERT_EQ(actions.GetContextSyncSequenceNumber().GetAsU8(), (uint8_t)0);
 }
 
 TEST_F(NpCppTest, V0EmptyPayload) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
@@ -237,20 +226,20 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto adv = result.IntoV0();
 
   // Now move the adv into a new value, and make sure its still valid
-  nearby_protocol::DeserializedV0Advertisement moved_adv(std::move(adv));
+  const nearby_protocol::DeserializedV0Advertisement moved_adv(std::move(adv));
   ASSERT_EQ(moved_adv.GetKind(),
             np_ffi::internal::DeserializedV0AdvertisementKind::Legible);
 
   // trying to use the moved object should result in a use after free which
   // triggers an abort
   ASSERT_DEATH([[maybe_unused]] auto failure =
-                   adv.IntoLegible(), // NOLINT(bugprone-use-after-move
+                   adv.IntoLegible(),  // NOLINT(bugprone-use-after-move)
                "");
   ASSERT_DEATH([[maybe_unused]] auto failure = adv.GetKind(), "");
 
@@ -265,14 +254,14 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto adv = result.IntoV0();
 
   // create a second result
   auto another_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(another_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto adv2 = another_result.IntoV0();
@@ -285,7 +274,7 @@
   // original result should now be invalid, using it will trigger a use after
   // free abort.
   ASSERT_DEATH([[maybe_unused]] auto failure =
-                   adv.IntoLegible(), // NOLINT(bugprone-use-after-move)
+                   adv.IntoLegible(),  // NOLINT(bugprone-use-after-move)
                "");
   ASSERT_DEATH([[maybe_unused]] auto failure = adv.GetKind(), "");
 
@@ -295,17 +284,18 @@
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.GetKind(), "");
 }
 
-static nearby_protocol::DeserializeAdvertisementResult
-CreateAdv(nearby_protocol::CredentialBook &book) {
+nearby_protocol::DeserializeAdvertisementResult CreateAdv(
+    nearby_protocol::CredentialBook &book) {
   auto adv = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   return adv;
 }
 
 TEST_F(NpCppTest, V0AdvDestructor) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto book_result = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto book_result = nearby_protocol::CredentialBook::TryCreateFromSlab(
+      maybe_credential_slab.value());
   ASSERT_TRUE(book_result.ok());
   {
     auto deserialize_result = CreateAdv(book_result.value());
@@ -320,7 +310,7 @@
     // Going over max amount should result in error
     auto deserialize_result3 =
         nearby_protocol::Deserializer::DeserializeAdvertisement(
-            V0AdvSimple, book_result.value());
+            V0AdvPlaintext, book_result.value());
     ASSERT_EQ(deserialize_result3.GetKind(),
               np_ffi::internal::DeserializeAdvertisementResultKind::Error);
 
@@ -333,7 +323,7 @@
   // will create room for one more to be created.
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, book_result.value());
+          V0AdvPlaintext, book_result.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
 }
@@ -341,11 +331,13 @@
 TEST_F(NpCppTest, V0AdvUseAfterMove) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
@@ -364,22 +356,24 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto legible = result.IntoV0().IntoLegible();
 
   // Now move the adv into a new value, and make sure its still valid
-  nearby_protocol::LegibleDeserializedV0Advertisement moved(std::move(legible));
+  const nearby_protocol::LegibleDeserializedV0Advertisement moved(
+      std::move(legible));
   ASSERT_EQ(moved.GetNumberOfDataElements(), 1);
   ASSERT_EQ(moved.GetIdentityKind(),
             np_ffi::internal::DeserializedV0IdentityKind::Plaintext);
 
   // trying to use the moved object should result in a use after free which
   // triggers an abort
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   legible.GetIdentityKind(), // NOLINT(bugprone-use-after-move
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          legible.GetIdentityKind(),  // NOLINT(bugprone-use-after-move)
+      "");
   ASSERT_DEATH(
       [[maybe_unused]] auto failure = legible.GetNumberOfDataElements(), "");
   ASSERT_DEATH([[maybe_unused]] auto failure = legible.IntoPayload(), "");
@@ -388,10 +382,11 @@
   // abort
   nearby_protocol::LegibleDeserializedV0Advertisement moved_again(
       std::move(legible));
-  ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.GetIdentityKind(), "");
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   moved_again.GetNumberOfDataElements(),
+  ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.GetIdentityKind(),
                "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure = moved_again.GetNumberOfDataElements(),
+      "");
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.IntoPayload(), "");
 }
 
@@ -399,14 +394,14 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto legible = result.IntoV0().IntoLegible();
 
   // create a second result
   auto another_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(another_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto legible2 = another_result.IntoV0().IntoLegible();
@@ -418,9 +413,10 @@
 
   // original result should now be invalid, using it will trigger a use after
   // free abort.
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   legible.GetIdentityKind(), // NOLINT(bugprone-use-after-move)
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          legible.GetIdentityKind(),  // NOLINT(bugprone-use-after-move)
+      "");
   ASSERT_DEATH(
       [[maybe_unused]] auto failure = legible.GetNumberOfDataElements(), "");
   ASSERT_DEATH([[maybe_unused]] auto failure = legible.IntoPayload(), "");
@@ -428,16 +424,17 @@
   // moving again should still lead to an error
   auto moved_again = std::move(legible);
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.IntoPayload(), "");
-  ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.GetIdentityKind(), "");
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   moved_again.GetNumberOfDataElements(),
+  ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.GetIdentityKind(),
                "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure = moved_again.GetNumberOfDataElements(),
+      "");
 }
 
-nearby_protocol::LegibleDeserializedV0Advertisement
-CreateLegibleAdv(nearby_protocol::CredentialBook &book) {
+nearby_protocol::LegibleDeserializedV0Advertisement CreateLegibleAdv(
+    nearby_protocol::CredentialBook &book) {
   auto adv = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   auto v0_adv = adv.IntoV0();
   return v0_adv.IntoLegible();
 }
@@ -456,10 +453,11 @@
 
   // now that the legible adv has moved into the payload it should no longer be
   // valid
-  ASSERT_DEATH([[maybe_unused]] auto failure = legible_adv.GetIdentityKind(), "");
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   legible_adv.GetNumberOfDataElements(),
+  ASSERT_DEATH([[maybe_unused]] auto failure = legible_adv.GetIdentityKind(),
                "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure = legible_adv.GetNumberOfDataElements(),
+      "");
   ASSERT_DEATH([[maybe_unused]] auto failure = legible_adv.IntoPayload(), "");
 }
 
@@ -480,20 +478,20 @@
 
     // allocation slots should be full
     ASSERT_EQ(nearby_protocol::Deserializer::DeserializeAdvertisement(
-                  V0AdvSimple, book)
+                  V0AdvPlaintext, book)
                   .GetKind(),
               nearby_protocol::DeserializeAdvertisementResultKind::Error);
   }
 
   // Verify the handle was de-allocated when legible adv went out of scope
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
 }
 
-nearby_protocol::V0Payload
-CreatePayload(nearby_protocol::CredentialBook &book) {
+nearby_protocol::V0Payload CreatePayload(
+    nearby_protocol::CredentialBook &book) {
   auto legible_adv = CreateLegibleAdv(book);
   return legible_adv.IntoPayload();
 }
@@ -511,7 +509,7 @@
 
     // allocation slots should be full
     ASSERT_EQ(nearby_protocol::Deserializer::DeserializeAdvertisement(
-                  V0AdvSimple, book)
+                  V0AdvPlaintext, book)
                   .GetKind(),
               nearby_protocol::DeserializeAdvertisementResultKind::Error);
   }
@@ -519,7 +517,7 @@
   // Now that the payload is out of scope its destructor should have been called
   // freeing the parent handle
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
 }
@@ -528,25 +526,27 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto payload = result.IntoV0().IntoLegible().IntoPayload();
 
   // Now move the adv into a new value, and make sure its still valid
-  nearby_protocol::V0Payload moved(std::move(payload));
+  const nearby_protocol::V0Payload moved(std::move(payload));
   ASSERT_TRUE(moved.TryGetDataElement(0).ok());
   ASSERT_TRUE(absl::IsOutOfRange(moved.TryGetDataElement(1).status()));
 
   // trying to use the moved object should result in a use after free which
   // triggers an abort
-  ASSERT_DEATH([[maybe_unused]] auto failure = payload.TryGetDataElement(
-                   0), // NOLINT(bugprone-use-after-move
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          payload.TryGetDataElement(  // NOLINT(bugprone-use-after-move)
+              0),
+      "");
 
   // moving again should still preserve the moved state and also lead to an
   // abort
-  nearby_protocol::V0Payload moved_again(std::move(payload));
+  const nearby_protocol::V0Payload moved_again(std::move(payload));
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.TryGetDataElement(0),
                "");
 }
@@ -555,14 +555,14 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto payload = result.IntoV0().IntoLegible().IntoPayload();
 
   // create a second result
   auto another_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V0AdvSimple, book);
+      V0AdvPlaintext, book);
   ASSERT_EQ(another_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V0);
   auto payload2 = another_result.IntoV0().IntoLegible().IntoPayload();
@@ -573,9 +573,11 @@
 
   // original result should now be invalid, using it will trigger a use after
   // free abort.
-  ASSERT_DEATH([[maybe_unused]] auto failure = payload.TryGetDataElement(
-                   0), // NOLINT(bugprone-use-after-move)
-               "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure =
+          payload.TryGetDataElement(  // NOLINT(bugprone-use-after-move)
+              0),
+      "");
 
   // moving again should still lead to an error
   auto moved_again = std::move(payload);
@@ -586,11 +588,13 @@
 TEST_F(NpCppTest, InvalidDataElementCast) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
@@ -599,8 +603,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
@@ -617,11 +620,13 @@
 TEST_F(NpCppTest, InvalidDataElementIndex) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V0AdvSimple, maybe_credential_book.value());
+          V0AdvPlaintext, maybe_credential_book.value());
 
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V0);
@@ -631,8 +636,7 @@
             nearby_protocol::DeserializedV0AdvertisementKind::Legible);
   auto legible_adv = v0_adv.IntoLegible();
   auto identity = legible_adv.GetIdentityKind();
-  ASSERT_EQ(identity,
-            nearby_protocol::DeserializedV0IdentityKind::Plaintext);
+  ASSERT_EQ(identity, nearby_protocol::DeserializedV0IdentityKind::Plaintext);
 
   auto num_des = legible_adv.GetNumberOfDataElements();
   ASSERT_EQ(num_des, 1);
diff --git a/nearby/presence/np_cpp_ffi/tests/v0_unencrypted_serialization_tests.cc b/nearby/presence/np_cpp_ffi/tests/v0_unencrypted_serialization_tests.cc
new file mode 100644
index 0000000..0ce4d24
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/tests/v0_unencrypted_serialization_tests.cc
@@ -0,0 +1,242 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <cstdint>
+#include <utility>
+#include <vector>
+
+#include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+
+// NOLINTBEGIN(readability-magic-numbers)
+
+TEST_F(NpCppTest, TxPowerMustBeInRange) {
+  auto out_of_range_result = nearby_protocol::TxPower::TryBuildFromI8(100);
+  ASSERT_FALSE(out_of_range_result.ok());
+}
+
+TEST_F(NpCppTest, ContextSyncSeqNumMustBeInRange) {
+  // Check that out-of-range fails
+  auto out_of_range_result =
+      nearby_protocol::ContextSyncSeqNum::TryBuildFromU8(17);
+  ASSERT_FALSE(out_of_range_result.ok());
+
+  // Check that if it's in range, we can get a context sync seq num and set it
+  // appropriately within an actions field.
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+  auto seq_num = nearby_protocol::ContextSyncSeqNum::TryBuildFromU8(15).value();
+  actions.SetContextSyncSequenceNumber(seq_num);
+  ASSERT_EQ(actions.GetContextSyncSequenceNumber().GetAsU8(),
+            seq_num.GetAsU8());
+}
+
+TEST_F(NpCppTest, V0UnencryptedActionFlavorMustMatch) {
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+
+  // Try to set an encrypted-only action.
+  auto mismatch_result = actions.TrySetAction(
+      nearby_protocol::BooleanActionType::InstantTethering, true);
+  ASSERT_FALSE(mismatch_result.ok());
+  // Verify that nothing changed about the actions.
+  ASSERT_EQ(actions.GetAsU32(), 0);
+
+  // Try again, but with a plaintext-compatible action.
+  auto success_result = actions.TrySetAction(
+      nearby_protocol::BooleanActionType::NearbyShare, true);
+  ASSERT_TRUE(success_result.ok());
+  ASSERT_TRUE(
+      actions.HasAction(nearby_protocol::BooleanActionType::NearbyShare));
+}
+
+// Corresponds to V0DeserializeSingleDataElementTxPower
+TEST_F(NpCppTest, V0SerializeSingleDataElementTxPower) {
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+
+  auto tx_power = nearby_protocol::TxPower::TryBuildFromI8(3).value();
+  auto de = nearby_protocol::V0DataElement(tx_power);
+
+  auto add_de_result = adv_builder.TryAddDE(de);
+  ASSERT_TRUE(add_de_result.ok());
+
+  auto serialized_bytes = adv_builder.TrySerialize().value();
+  auto actual = serialized_bytes.ToVector();
+
+  const std::vector<uint8_t> expected{
+      0x00,       // Adv Header
+      0x03,       // Public DE header
+      0x15, 0x03  // Length 1 Tx Power DE with value 3
+  };
+  ASSERT_EQ(actual, expected);
+}
+
+// Corresponds to V0DeserializeLengthOneActionsDataElement
+TEST_F(NpCppTest, V0SerializeLengthOneActionsDataElement) {
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+  auto de = nearby_protocol::V0DataElement(actions);
+
+  auto add_de_result = adv_builder.TryAddDE(de);
+  ASSERT_TRUE(add_de_result.ok());
+
+  auto serialized_bytes = adv_builder.TrySerialize().value();
+  auto actual = serialized_bytes.ToVector();
+
+  const std::vector<uint8_t> expected{
+      0x00,       // Adv Header
+      0x03,       // Public DE header
+      0x16, 0x00  // Length 1 Actions DE
+  };
+
+  ASSERT_EQ(actual, expected);
+}
+
+// Corresponds to V0DeserializeLengthTwoActionsDataElement
+TEST_F(NpCppTest, V0SerializeLengthTwoActionsDataElement) {
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+
+  ASSERT_TRUE(
+      actions
+          .TrySetAction(nearby_protocol::BooleanActionType::NearbyShare, true)
+          .ok());
+  ASSERT_TRUE(
+      actions.TrySetAction(nearby_protocol::BooleanActionType::Finder, true)
+          .ok());
+  ASSERT_TRUE(
+      actions
+          .TrySetAction(nearby_protocol::BooleanActionType::FastPairSass, true)
+          .ok());
+  auto seq_num =
+      nearby_protocol::ContextSyncSeqNum::TryBuildFromU8(0xD).value();
+  actions.SetContextSyncSequenceNumber(seq_num);
+
+  auto de = nearby_protocol::V0DataElement(actions);
+
+  auto add_de_result = adv_builder.TryAddDE(de);
+  ASSERT_TRUE(add_de_result.ok());
+
+  auto serialized_bytes = adv_builder.TrySerialize().value();
+  auto actual = serialized_bytes.ToVector();
+
+  const std::vector<uint8_t> expected{
+      0x00,             // Adv Header
+      0x03,             // Public DE header
+      0x26, 0xD0, 0x46  // Length 2 Actions DE
+  };
+
+  ASSERT_EQ(actual, expected);
+}
+// Corresponds to V0DeserializeMultipleDataElements
+TEST_F(NpCppTest, V0SerializeMultipleDataElements) {
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+
+  auto tx_power = nearby_protocol::TxPower::TryBuildFromI8(5).value();
+  auto tx_power_de = nearby_protocol::V0DataElement(tx_power);
+  auto add_tx_power_de_result = adv_builder.TryAddDE(tx_power_de);
+  ASSERT_TRUE(add_tx_power_de_result.ok());
+
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+
+  ASSERT_TRUE(
+      actions
+          .TrySetAction(nearby_protocol::BooleanActionType::NearbyShare, true)
+          .ok());
+  ASSERT_TRUE(
+      actions.TrySetAction(nearby_protocol::BooleanActionType::Finder, true)
+          .ok());
+  ASSERT_TRUE(
+      actions
+          .TrySetAction(nearby_protocol::BooleanActionType::FastPairSass, true)
+          .ok());
+
+  auto actions_de = nearby_protocol::V0DataElement(actions);
+
+  auto add_actions_de_result = adv_builder.TryAddDE(actions_de);
+  ASSERT_TRUE(add_actions_de_result.ok());
+
+  auto serialized_bytes = adv_builder.TrySerialize().value();
+  auto actual = serialized_bytes.ToVector();
+
+  const std::vector<uint8_t> expected{
+      0x00,              // Adv Header
+      0x03,              // Public DE header
+      0x15, 0x05,        // Tx Power value 5
+      0x26, 0x00, 0x46,  // Length 2 Actions
+  };
+
+  ASSERT_EQ(actual, expected);
+}
+
+// TODO: Reinstate this test.
+// TEST_F(NpCppTest, V0SerializeEmptyPayload) {
+//  auto adv_builder =
+//  nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value(); auto
+//  serialize_result = adv_builder.TrySerialize();
+//  ASSERT_FALSE(serialize_result.ok());
+//}
+
+TEST_F(NpCppTest, TestV0AdvBuilderMoveConstructor) {
+  auto adv_builder =
+      nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+  // Move it, and ensure it's still valid.
+  nearby_protocol::V0AdvertisementBuilder moved_adv_builder(
+      std::move(adv_builder));
+
+  auto actions = nearby_protocol::V0Actions::BuildNewZeroed(
+      nearby_protocol::AdvertisementBuilderKind::Public);
+  auto actions_de = nearby_protocol::V0DataElement(actions);
+  ASSERT_TRUE(moved_adv_builder.TryAddDE(actions_de).ok());
+
+  // Trying to use the moved-out-of-object should trigger an abort
+  ASSERT_DEATH([[maybe_unused]] auto failure =
+                   adv_builder.TryAddDE(  // NOLINT(bugprone-use-after-move)
+                       actions_de),
+               "");
+
+  // Moving again should still preserve the moved state and lead to an abort
+  nearby_protocol::V0AdvertisementBuilder moved_again(std::move(adv_builder));
+  ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.TryAddDE(
+                   actions_de)  // NOLINT(bugprone-use-after-move)
+               ,
+               "");
+}
+
+TEST_F(NpCppTest, TestV0AdvBuilderDestructor) {
+  {
+    // Get us up to the limit on the number of adv builders
+    auto adv_builder_one =
+        nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+    auto adv_builder_two =
+        nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().value();
+    // Assert that we're at the limit
+    ASSERT_FALSE(
+        nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().ok());
+    // Destructors should run.
+  }
+  // The space from the adv builders should've been reclaimed now.
+  ASSERT_TRUE(nearby_protocol::V0AdvertisementBuilder::TryCreatePublic().ok());
+}
+
+// NOLINTEND(readability-magic-numbers)
diff --git a/nearby/presence/np_cpp_ffi/tests/v1_encrypted_deserialization_tests.cc b/nearby/presence/np_cpp_ffi/tests/v1_encrypted_deserialization_tests.cc
new file mode 100644
index 0000000..825b36c
--- /dev/null
+++ b/nearby/presence/np_cpp_ffi/tests/v1_encrypted_deserialization_tests.cc
@@ -0,0 +1,86 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include <array>
+#include <cstdint>
+#include <span>
+#include <string>
+#include <vector>
+
+#include "absl/status/status.h"
+#include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
+
+TEST_F(NpCppTest, V1PrivateIdentitySimpleCase) {
+  auto slab_result = nearby_protocol::CredentialSlab::TryCreate();
+  ASSERT_TRUE(slab_result.ok());
+
+  const std::span<uint8_t> metadata_span(V1AdvEncryptedMetadata);
+  const nearby_protocol::MatchedCredentialData match_data(123, metadata_span);
+
+  const nearby_protocol::V1MatchableCredential v1_cred(
+      V1AdvKeySeed, V1AdvExpectedUnsignedMetadataKeyHmac,
+      V1AdvExpectedSignedMetadataKeyHmac, V1AdvPublicKey, match_data);
+
+  auto add_result = slab_result->AddV1Credential(v1_cred);
+  ASSERT_EQ(add_result, absl::OkStatus());
+
+  auto book_result =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(*slab_result);
+  ASSERT_TRUE(book_result.ok());
+
+  auto deserialize_result =
+      nearby_protocol::Deserializer::DeserializeAdvertisement(V1AdvEncrypted,
+                                                              *book_result);
+  ASSERT_EQ(deserialize_result.GetKind(),
+            nearby_protocol::DeserializeAdvertisementResultKind::V1);
+
+  auto v1_adv = deserialize_result.IntoV1();
+  ASSERT_EQ(v1_adv.GetNumUndecryptableSections(), 0);
+  ASSERT_EQ(v1_adv.GetNumLegibleSections(), 1);
+
+  auto section = v1_adv.TryGetSection(0);
+  ASSERT_TRUE(section.ok());
+  ASSERT_EQ(section->GetIdentityKind(),
+            nearby_protocol::DeserializedV1IdentityKind::Decrypted);
+  ASSERT_EQ(section->NumberOfDataElements(), 1);
+
+  auto metadata = section->DecryptMetadata();
+  ASSERT_TRUE(metadata.ok());
+  ASSERT_EQ(ExpectedV1DecryptedMetadata,
+            std::string(metadata->begin(), metadata->end()));
+
+  auto identity_details = section->GetIdentityDetails();
+  ASSERT_TRUE(identity_details.ok());
+  ASSERT_EQ(identity_details->cred_id, 123);
+  ASSERT_EQ(identity_details->verification_mode,
+            nearby_protocol::V1VerificationMode::Signature);
+  ASSERT_EQ(identity_details->identity_type,
+            nearby_protocol::EncryptedIdentityType::Private);
+
+  auto de = section->TryGetDataElement(0);
+  ASSERT_TRUE(de.ok());
+  ASSERT_EQ(de->GetDataElementTypeCode(), 5);
+  ASSERT_EQ(de->GetPayload().ToVector(), std::vector<uint8_t>{7});
+
+  auto offset = de->GetOffset();
+  auto derived_salt = section->DeriveSaltForOffset(offset);
+  ASSERT_TRUE(derived_salt.ok());
+  const std::array<uint8_t, 16> expected = {
+      94, 154, 245, 152, 164, 22, 131, 157, 8, 79, 28, 77, 236, 57, 17, 97};
+  ASSERT_EQ(*derived_salt, expected);
+}
\ No newline at end of file
diff --git a/nearby/presence/np_cpp_ffi/tests/deserialize_v1_tests.cc b/nearby/presence/np_cpp_ffi/tests/v1_unencrypted_deserialization_tests.cc
similarity index 83%
rename from nearby/presence/np_cpp_ffi/tests/deserialize_v1_tests.cc
rename to nearby/presence/np_cpp_ffi/tests/v1_unencrypted_deserialization_tests.cc
index aa32f7b..f7e233b 100644
--- a/nearby/presence/np_cpp_ffi/tests/deserialize_v1_tests.cc
+++ b/nearby/presence/np_cpp_ffi/tests/v1_unencrypted_deserialization_tests.cc
@@ -12,21 +12,28 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "nearby_protocol.h"
-#include "shared_test_util.h"
-#include "np_cpp_test.h"
+#include <cstdint>
+#include <utility>
+#include <vector>
 
+#include "absl/status/status.h"
 #include "gtest/gtest.h"
+#include "nearby_protocol.h"
+#include "np_cpp_ffi_types.h"
+#include "np_cpp_test.h"
+#include "shared_test_util.h"
 
 TEST_F(NpCppTest, V1SimpleTestCase) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   auto deserialize_result =
       nearby_protocol::Deserializer::DeserializeAdvertisement(
-          V1AdvSimple, maybe_credential_book.value());
+          V1AdvPlaintext, maybe_credential_book.value());
   ASSERT_EQ(deserialize_result.GetKind(),
             nearby_protocol::DeserializeAdvertisementResultKind::V1);
 
@@ -54,7 +61,7 @@
 
   auto payload = de.value().GetPayload();
   auto vec = payload.ToVector();
-  std::vector<uint8_t> expected{3};
+  const std::vector<uint8_t> expected{3};
   ASSERT_EQ(vec, expected);
 }
 
@@ -62,20 +69,20 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V1AdvSimple, book);
+      V1AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
   auto adv = result.IntoV1();
 
   // Now move the adv into a new value, and make sure its still valid
-  nearby_protocol::DeserializedV1Advertisement moved_adv(std::move(adv));
+  const nearby_protocol::DeserializedV1Advertisement moved_adv(std::move(adv));
   ASSERT_EQ(moved_adv.GetNumLegibleSections(), 1);
 
   // trying to use the moved object should result in a use after free which
   // triggers an abort
   ASSERT_DEATH(
       [[maybe_unused]] auto failure =
-          adv.GetNumLegibleSections(), // NOLINT(bugprone-use-after-move
+          adv.GetNumLegibleSections(),  // NOLINT(bugprone-use-after-move)
       "");
   ASSERT_DEATH(
       [[maybe_unused]] auto failure = adv.GetNumUndecryptableSections(), "");
@@ -83,14 +90,13 @@
 
   // moving again should still preserve the moved state and also lead to an
   // abort
-  nearby_protocol::DeserializedV1Advertisement moved_again(std::move(adv));
+  const nearby_protocol::DeserializedV1Advertisement moved_again(
+      std::move(adv));
   ASSERT_DEATH(
-      [[maybe_unused]] auto failure =
-          moved_again.GetNumLegibleSections(), // NOLINT(bugprone-use-after-move
+      [[maybe_unused]] auto failure = moved_again.GetNumLegibleSections(), "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure = moved_again.GetNumUndecryptableSections(),
       "");
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   moved_again.GetNumUndecryptableSections(),
-               "");
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.TryGetSection(0),
                "");
 }
@@ -99,14 +105,14 @@
   auto slab = nearby_protocol::CredentialSlab::TryCreate().value();
   auto book = nearby_protocol::CredentialBook::TryCreateFromSlab(slab).value();
   auto result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V1AdvSimple, book);
+      V1AdvPlaintext, book);
   ASSERT_EQ(result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
   auto adv = result.IntoV1();
 
   // create a second result
   auto another_result = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V1AdvSimple, book);
+      V1AdvPlaintext, book);
   ASSERT_EQ(another_result.GetKind(),
             np_ffi::internal::DeserializeAdvertisementResultKind::V1);
   auto adv2 = another_result.IntoV1();
@@ -119,7 +125,7 @@
   // free abort.
   ASSERT_DEATH(
       [[maybe_unused]] auto failure =
-          adv.GetNumLegibleSections(), // NOLINT(bugprone-use-after-move
+          adv.GetNumLegibleSections(),  // NOLINT(bugprone-use-after-move)
       "");
   ASSERT_DEATH(
       [[maybe_unused]] auto failure = adv.GetNumUndecryptableSections(), "");
@@ -128,30 +134,28 @@
   // moving again should still lead to an error
   auto moved_again = std::move(adv);
   ASSERT_DEATH(
-      [[maybe_unused]] auto failure =
-          moved_again.GetNumLegibleSections(), // NOLINT(bugprone-use-after-move
+      [[maybe_unused]] auto failure = moved_again.GetNumLegibleSections(), "");
+  ASSERT_DEATH(
+      [[maybe_unused]] auto failure = moved_again.GetNumUndecryptableSections(),
       "");
-  ASSERT_DEATH([[maybe_unused]] auto failure =
-                   moved_again.GetNumUndecryptableSections(),
-               "");
   ASSERT_DEATH([[maybe_unused]] auto failure = moved_again.TryGetSection(0),
                "");
 }
 
-nearby_protocol::DeserializedV1Section
-GetSection(nearby_protocol::CredentialBook &book) {
+nearby_protocol::DeserializedV1Section GetSection(
+    nearby_protocol::CredentialBook &book) {
   // Create the adv in this scope, so its de-allocated at the end of this call.
   // The section should still be valid
-  auto v1_adv =
-      nearby_protocol::Deserializer::DeserializeAdvertisement(V1AdvSimple, book)
-          .IntoV1();
+  auto v1_adv = nearby_protocol::Deserializer::DeserializeAdvertisement(
+                    V1AdvPlaintext, book)
+                    .IntoV1();
   auto section = v1_adv.TryGetSection(0);
   return section.value();
 }
 
 bool TryDeserializeNewV1Adv(nearby_protocol::CredentialBook &book) {
   auto adv = nearby_protocol::Deserializer::DeserializeAdvertisement(
-      V1AdvSimple, book);
+      V1AdvPlaintext, book);
   return adv.GetKind() ==
          np_ffi::internal::DeserializeAdvertisementResultKind::V1;
 }
@@ -159,7 +163,9 @@
 TEST_F(NpCppTest, TestSectionOwnership) {
   auto maybe_credential_slab = nearby_protocol::CredentialSlab::TryCreate();
   ASSERT_TRUE(maybe_credential_slab.ok());
-  auto maybe_credential_book = nearby_protocol::CredentialBook::TryCreateFromSlab(maybe_credential_slab.value());
+  auto maybe_credential_book =
+      nearby_protocol::CredentialBook::TryCreateFromSlab(
+          maybe_credential_slab.value());
   ASSERT_TRUE(maybe_credential_book.ok());
 
   {
diff --git a/nearby/presence/np_ffi_core/Cargo.toml b/nearby/presence/np_ffi_core/Cargo.toml
index 0c14d1c..a6b21b0 100644
--- a/nearby/presence/np_ffi_core/Cargo.toml
+++ b/nearby/presence/np_ffi_core/Cargo.toml
@@ -11,6 +11,7 @@
 array_view.workspace = true
 ldt_np_adv.workspace = true
 np_adv = { workspace = true, features = ["alloc"] }
+np_adv_dynamic.workspace = true
 np_hkdf.workspace = true
 handle_map.workspace = true
 crypto_provider.workspace = true
@@ -21,5 +22,4 @@
 [features]
 default = ["rustcrypto"]
 rustcrypto = ["crypto_provider_default/rustcrypto", "crypto_provider_default/std"]
-opensslbssl = ["crypto_provider_default/opensslbssl"]
 boringssl = ["crypto_provider_default/boringssl"]
diff --git a/nearby/presence/np_ffi_core/src/common.rs b/nearby/presence/np_ffi_core/src/common.rs
index 6333db5..e90a072 100644
--- a/nearby/presence/np_ffi_core/src/common.rs
+++ b/nearby/presence/np_ffi_core/src/common.rs
@@ -15,12 +15,14 @@
 //! in order to define the interfaces in this crate's various modules.
 
 use array_view::ArrayView;
+use crypto_provider::{CryptoProvider, CryptoRng};
+use crypto_provider_default::CryptoProviderImpl;
 use handle_map::HandleNotPresentError;
-use lock_adapter::std::RwLock;
+use lock_adapter::std::{RwLock, RwLockWriteGuard};
 use lock_adapter::RwLock as _;
 use std::string::String;
 
-const DEFAULT_MAX_HANDLES: u32 = u32::MAX - 1;
+pub(crate) const DEFAULT_MAX_HANDLES: u32 = u32::MAX - 1;
 
 /// Configuration for top-level constants to be used
 /// by the rest of the FFI which are independent of
@@ -61,6 +63,18 @@
     /// value will be set to `u32::MAX - 1`, which is the upper-bound
     /// on this value.
     max_num_deserialized_v1_advertisements: u32,
+
+    /// The maximum number of v0 advertisement builders
+    /// which may be active at any one time. By default, this
+    /// value will be set to `u32::MAX - 1`, which is the upper-bound
+    /// on this value.
+    max_num_v0_advertisement_builders: u32,
+
+    /// The maximum number of v1 advertisement builders
+    /// which may be active at any one time. By default, this
+    /// value will be set to `u32::MAX - 1`, which is the upper-bound
+    /// on this value.
+    max_num_v1_advertisement_builders: u32,
 }
 
 impl Default for CommonConfig {
@@ -77,6 +91,8 @@
             max_num_credential_books: DEFAULT_MAX_HANDLES,
             max_num_deserialized_v0_advertisements: DEFAULT_MAX_HANDLES,
             max_num_deserialized_v1_advertisements: DEFAULT_MAX_HANDLES,
+            max_num_v0_advertisement_builders: DEFAULT_MAX_HANDLES,
+            max_num_v1_advertisement_builders: DEFAULT_MAX_HANDLES,
         }
     }
     #[cfg(feature = "std")]
@@ -110,6 +126,12 @@
     pub(crate) fn max_num_deserialized_v1_advertisements(&self) -> u32 {
         self.max_num_deserialized_v1_advertisements
     }
+    pub(crate) fn max_num_v0_advertisement_builders(&self) -> u32 {
+        self.max_num_v0_advertisement_builders
+    }
+    pub(crate) fn max_num_v1_advertisement_builders(&self) -> u32 {
+        self.max_num_v1_advertisement_builders
+    }
     pub(crate) fn set_num_shards(&mut self, num_shards: u8) {
         self.num_shards = num_shards
     }
@@ -139,7 +161,7 @@
             DEFAULT_MAX_HANDLES.min(max_num_deserialized_v0_advertisements)
     }
 
-    /// Sets the maximum number of active handles to deserialized v0
+    /// Sets the maximum number of active handles to deserialized v1
     /// advertisements which may be active at any one time.
     /// Max value: `u32::MAX - 1`.
     pub fn set_max_num_deserialized_v1_advertisements(
@@ -149,6 +171,26 @@
         self.max_num_deserialized_v1_advertisements =
             DEFAULT_MAX_HANDLES.min(max_num_deserialized_v1_advertisements)
     }
+    /// Sets the maximum number of active handles to v0 advertisement
+    /// builders which may be active at any one time.
+    /// Max value: `u32::MAX - 1`.
+    pub fn set_max_num_v0_advertisement_builders(
+        &mut self,
+        max_num_v0_advertisement_builders: u32,
+    ) {
+        self.max_num_v0_advertisement_builders =
+            DEFAULT_MAX_HANDLES.min(max_num_v0_advertisement_builders)
+    }
+    /// Sets the maximum number of active handles to v1 advertisement
+    /// builders which may be active at any one time.
+    /// Max value: `u32::MAX - 1`.
+    pub fn set_max_num_v1_advertisement_builders(
+        &mut self,
+        max_num_v1_advertisement_builders: u32,
+    ) {
+        self.max_num_v1_advertisement_builders =
+            DEFAULT_MAX_HANDLES.min(max_num_v1_advertisement_builders)
+    }
 }
 
 static COMMON_CONFIG: RwLock<CommonConfig> = RwLock::new(CommonConfig::new());
@@ -168,6 +210,12 @@
 pub(crate) fn global_max_num_deserialized_v1_advertisements() -> u32 {
     COMMON_CONFIG.read().max_num_deserialized_v1_advertisements()
 }
+pub(crate) fn global_max_num_v0_advertisement_builders() -> u32 {
+    COMMON_CONFIG.read().max_num_v0_advertisement_builders()
+}
+pub(crate) fn global_max_num_v1_advertisement_builders() -> u32 {
+    COMMON_CONFIG.read().max_num_v1_advertisement_builders()
+}
 
 /// Sets an override to the number of shards to employ in the NP FFI's
 /// internal handle-maps, which places an upper bound on the number
@@ -241,6 +289,31 @@
     config.set_max_num_deserialized_v1_advertisements(max_num_deserialized_v1_advertisements);
 }
 
+/// Sets the maximum number of active handles to v0 advertisement
+/// builders which may be active at any one time.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a v0 advertisement builder.
+pub fn global_config_set_max_num_v0_advertisement_builders(max_num_v0_advertisement_builders: u32) {
+    let mut config = COMMON_CONFIG.write();
+    config.set_max_num_v0_advertisement_builders(max_num_v0_advertisement_builders);
+}
+
+/// Sets the maximum number of active handles to v1 advertisement
+/// builders which may be active at any one time.
+/// Max value: `u32::MAX - 1`.
+///
+/// Setting this value will have no effect if the handle-maps for the
+/// API have already begun being used by the client code, and any
+/// values set will take effect upon the first usage of any API
+/// call which references or returns a v1 advertisement builder.
+pub fn global_config_set_max_num_v1_advertisement_builders(max_num_v1_advertisement_builders: u32) {
+    let mut config = COMMON_CONFIG.write();
+    config.set_max_num_v1_advertisement_builders(max_num_v1_advertisement_builders);
+}
 // API surfaces:
 
 /// A result-type enum which tells the caller whether/not a deallocation
@@ -271,8 +344,12 @@
 
 impl RawAdvertisementPayload {
     /// Yields a slice of the bytes in this raw advertisement payload.
+    #[allow(clippy::unwrap_used)]
     pub fn as_slice(&self) -> &[u8] {
-        self.bytes.as_slice()
+        // The unwrapping here will never trigger a panic,
+        // because the byte-buffer is 255 bytes, the byte-length
+        // of which is the maximum value storable in a u8.
+        self.bytes.as_slice().unwrap()
     }
 }
 
@@ -289,6 +366,27 @@
     bytes: [u8; N],
 }
 
+/// A FFI safe wrapper of a fixed size array
+#[derive(Clone)]
+#[repr(C)]
+pub struct FixedSizeArray<const N: usize>([u8; N]);
+
+impl<const N: usize> FixedSizeArray<N> {
+    /// Constructs a byte-buffer from a Rust-side-derived owned array
+    pub(crate) fn from_array(bytes: [u8; N]) -> Self {
+        Self(bytes)
+    }
+    /// Yields a slice of the bytes
+    pub fn as_slice(&self) -> &[u8] {
+        self.0.as_slice()
+    }
+    /// De-structures this FFI-compatible fixed-size array
+    /// into a bare Rust fixed size array.
+    pub fn into_array(self) -> [u8; N] {
+        self.0
+    }
+}
+
 impl<const N: usize> ByteBuffer<N> {
     /// Constructs a byte-buffer from a Rust-side-derived
     /// ArrayView, which is assumed to be trusted to be
@@ -300,11 +398,39 @@
         Self { len, bytes }
     }
     /// Yields a slice of the first `self.len` bytes of `self.bytes`.
-    pub fn as_slice(&self) -> &[u8] {
-        &self.bytes[..(self.len as usize)]
+    pub fn as_slice(&self) -> Option<&[u8]> {
+        if self.len as usize <= N {
+            Some(&self.bytes[..(self.len as usize)])
+        } else {
+            None
+        }
     }
 }
 
+pub(crate) type CryptoRngImpl = <CryptoProviderImpl as CryptoProvider>::CryptoRng;
+
+pub(crate) struct LazyInitCryptoRng {
+    maybe_rng: Option<CryptoRngImpl>,
+}
+
+impl LazyInitCryptoRng {
+    const fn new() -> Self {
+        Self { maybe_rng: None }
+    }
+    pub(crate) fn get_rng(&mut self) -> &mut CryptoRngImpl {
+        self.maybe_rng.get_or_insert_with(CryptoRngImpl::new)
+    }
+}
+
+/// Shared, lazily-initialized cryptographically-secure
+/// RNG for all operations in the FFI core.
+static CRYPTO_RNG: RwLock<LazyInitCryptoRng> = RwLock::new(LazyInitCryptoRng::new());
+
+/// Gets a write guard to the (lazily-init) library-global crypto rng.
+pub(crate) fn get_global_crypto_rng() -> RwLockWriteGuard<'static, LazyInitCryptoRng> {
+    CRYPTO_RNG.write()
+}
+
 /// The DE type for an encrypted identity
 #[derive(Clone, Copy)]
 #[repr(u8)]
@@ -320,6 +446,17 @@
     Provisioned = 4,
 }
 
+impl From<EncryptedIdentityType> for np_adv::de_type::EncryptedIdentityDataElementType {
+    fn from(val: EncryptedIdentityType) -> np_adv::de_type::EncryptedIdentityDataElementType {
+        use np_adv::de_type::EncryptedIdentityDataElementType;
+        match val {
+            EncryptedIdentityType::Private => EncryptedIdentityDataElementType::Private,
+            EncryptedIdentityType::Trusted => EncryptedIdentityDataElementType::Trusted,
+            EncryptedIdentityType::Provisioned => EncryptedIdentityDataElementType::Provisioned,
+        }
+    }
+}
+
 impl From<np_adv::de_type::EncryptedIdentityDataElementType> for EncryptedIdentityType {
     fn from(value: np_adv::de_type::EncryptedIdentityDataElementType) -> Self {
         use np_adv::de_type::EncryptedIdentityDataElementType;
@@ -331,6 +468,16 @@
     }
 }
 
+/// Error returned if the bit representation of a supposedly-Rust-constructed
+/// -and-validated type actually doesn't correspond to the format of the
+/// data structure expected on the Rust side of the boundary, and performing
+/// further operations on the structure would yield unintended behavior.
+/// If this kind of error is being raised, the foreign lang code must
+/// be messing with stack-allocated data structures for this library
+/// in an entirely unexpected way.
+#[derive(Debug)]
+pub struct InvalidStackDataStructure;
+
 /// Error raised when attempting to cast an enum to
 /// one of its variants, but the value is actually
 /// of a different variant than the requested one.
diff --git a/nearby/presence/np_ffi_core/src/credentials.rs b/nearby/presence/np_ffi_core/src/credentials.rs
index 0972d45..dad61ee 100644
--- a/nearby/presence/np_ffi_core/src/credentials.rs
+++ b/nearby/presence/np_ffi_core/src/credentials.rs
@@ -15,6 +15,7 @@
 
 use crate::common::*;
 use crate::utils::{FfiEnum, LocksLongerThan};
+use crypto_provider::ed25519::InvalidPublicKeyBytes;
 use crypto_provider_default::CryptoProviderImpl;
 use handle_map::{
     declare_handle_map, HandleLike, HandleMapDimensions, HandleMapFullError,
@@ -71,8 +72,10 @@
             pub_key,
         }
     }
-    fn into_internal(self) -> np_adv::credential::v1::V1DiscoveryCredential {
-        np_adv::credential::v1::V1DiscoveryCredential::new(
+    fn into_internal(
+        self,
+    ) -> Result<np_adv::credential::v1::V1DiscoveryCredential, InvalidPublicKeyBytes> {
+        np_adv::credential::v1::V1DiscoveryCredential::new::<CryptoProviderImpl>(
             self.key_seed,
             self.expected_unsigned_metadata_key_hmac,
             self.expected_signed_metadata_key_hmac,
@@ -164,11 +167,12 @@
         &mut self,
         discovery_credential: V1DiscoveryCredential,
         match_data: MatchedCredential,
-    ) {
-        let discovery_credential = discovery_credential.into_internal();
-        let matchable_credential =
-            np_adv::credential::MatchableCredential { discovery_credential, match_data };
-        self.v1_creds.push(matchable_credential);
+    ) -> Result<(), InvalidPublicKeyBytes> {
+        discovery_credential.into_internal().map(|discovery_credential| {
+            let matchable_credential =
+                np_adv::credential::MatchableCredential { discovery_credential, match_data };
+            self.v1_creds.push(matchable_credential);
+        })
     }
 }
 
@@ -200,22 +204,33 @@
     }
 }
 
-/// Result type for trying to add a credential to a credential-slab.
+/// Result type for trying to add a V1 credential to a credential-slab.
 #[repr(u8)]
-pub enum AddCredentialToSlabResult {
+pub enum AddV1CredentialToSlabResult {
+    /// We succeeded in adding the credential to the slab.
+    Success = 0,
+    /// The handle to the slab was actually invalid.
+    InvalidHandle = 1,
+    /// The provided public key bytes do not actually represent a valid "edwards y" format
+    /// or that said compressed point is not actually a point on the curve.
+    InvalidPublicKeyBytes = 2,
+}
+
+/// Result type for trying to add a V0 credential to a credential-slab.
+#[repr(u8)]
+pub enum AddV0CredentialToSlabResult {
     /// We succeeded in adding the credential to the slab.
     Success = 0,
     /// The handle to the slab was actually invalid.
     InvalidHandle = 1,
 }
 
-declare_handle_map! {
-    mod credential_slab {
-        #[dimensions = super::get_credential_slab_handle_map_dimensions()]
-        type CredentialSlab: HandleLike<Object = super::CredentialSlabInternals>;
-    }
+/// A `#[repr(C)]` handle to a value of type `CredentialSlabInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+pub struct CredentialSlab {
+    handle_id: u64,
 }
-use credential_slab::CredentialSlab;
 
 fn get_credential_slab_handle_map_dimensions() -> HandleMapDimensions {
     HandleMapDimensions {
@@ -224,6 +239,13 @@
     }
 }
 
+declare_handle_map!(
+    credential_slab,
+    super::get_credential_slab_handle_map_dimensions(),
+    super::CredentialSlab,
+    super::CredentialSlabInternals
+);
+
 impl CredentialSlab {
     /// Adds the given V0 discovery credential with some associated
     /// match-data to this credential slab.
@@ -231,13 +253,13 @@
         &self,
         discovery_credential: V0DiscoveryCredential,
         match_data: MatchedCredential,
-    ) -> AddCredentialToSlabResult {
+    ) -> AddV0CredentialToSlabResult {
         match self.get_mut() {
             Ok(mut write_guard) => {
                 write_guard.add_v0(discovery_credential, match_data);
-                AddCredentialToSlabResult::Success
+                AddV0CredentialToSlabResult::Success
             }
-            Err(_) => AddCredentialToSlabResult::InvalidHandle,
+            Err(_) => AddV0CredentialToSlabResult::InvalidHandle,
         }
     }
     /// Adds the given V1 discovery credential with some associated
@@ -246,13 +268,13 @@
         &self,
         discovery_credential: V1DiscoveryCredential,
         match_data: MatchedCredential,
-    ) -> AddCredentialToSlabResult {
+    ) -> AddV1CredentialToSlabResult {
         match self.get_mut() {
-            Ok(mut write_guard) => {
-                write_guard.add_v1(discovery_credential, match_data);
-                AddCredentialToSlabResult::Success
-            }
-            Err(_) => AddCredentialToSlabResult::InvalidHandle,
+            Ok(mut write_guard) => match write_guard.add_v1(discovery_credential, match_data) {
+                Ok(_) => AddV1CredentialToSlabResult::Success,
+                Err(_) => AddV1CredentialToSlabResult::InvalidPublicKeyBytes,
+            },
+            Err(_) => AddV1CredentialToSlabResult::InvalidHandle,
         }
     }
 }
@@ -298,13 +320,19 @@
     }
 }
 
-declare_handle_map! {
-    mod credential_book {
-        #[dimensions = super::get_credential_book_handle_map_dimensions()]
-        type CredentialBook: HandleLike<Object = super::CredentialBookInternals>;
-    }
+/// A `#[repr(C)]` handle to a value of type `CredentialBookInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+pub struct CredentialBook {
+    handle_id: u64,
 }
-pub use credential_book::CredentialBook;
+
+declare_handle_map!(
+    credential_book,
+    super::get_credential_book_handle_map_dimensions(),
+    super::CredentialBook,
+    super::CredentialBookInternals
+);
 
 /// Discriminant for `CreateCredentialBookResult`
 #[repr(u8)]
@@ -380,3 +408,66 @@
 pub fn deallocate_credential_slab(credential_slab: CredentialSlab) -> DeallocateResult {
     credential_slab.deallocate().map(|_| ()).into()
 }
+
+/// Cryptographic information about a particular V0 broadcast credential
+/// necessary to LDT-encrypt V0 advertisements.
+#[repr(C)]
+pub struct V0BroadcastCredential {
+    key_seed: [u8; 32],
+    metadata_key: [u8; 14],
+}
+
+impl V0BroadcastCredential {
+    /// Constructs a new `V0BroadcastCredential` from the given
+    /// key-seed and 14-byte metadata key.
+    ///
+    /// Safety: Since this representation requires transmission
+    /// of the raw bytes of sensitive cryptographic info over FFI,
+    /// foreign-lang code around how this information is maintained
+    /// deserves close scrutiny.
+    pub fn new(key_seed: [u8; 32], metadata_key: [u8; 14]) -> Self {
+        Self { key_seed, metadata_key }
+    }
+    pub(crate) fn into_internal(
+        self,
+    ) -> np_adv::credential::SimpleBroadcastCryptoMaterial<np_adv::credential::v0::V0> {
+        np_adv::credential::SimpleBroadcastCryptoMaterial::new(
+            self.key_seed,
+            np_adv::legacy::ShortMetadataKey(self.metadata_key),
+        )
+    }
+}
+
+/// Cryptographic information about a particular V1 broadcast credential
+/// necessary to encrypt V1 MIC-verified and signature-verified sections.
+#[repr(C)]
+pub struct V1BroadcastCredential {
+    key_seed: [u8; 32],
+    metadata_key: [u8; 16],
+    private_key: [u8; 32],
+}
+
+impl V1BroadcastCredential {
+    /// Constructs a new `V1BroadcastCredential` from the given
+    /// key-seed, 16-byte metadata key, and the raw bytes
+    /// of the ed25519 private key.
+    ///
+    /// Safety: Since this representation requires transmission
+    /// of the raw bytes of an ed25519 private key (and other
+    /// sensitive cryptographic info) over FFI, foreign-lang
+    /// code around how this information is maintained
+    /// deserves close scrutiny.
+    pub const fn new(key_seed: [u8; 32], metadata_key: [u8; 16], private_key: [u8; 32]) -> Self {
+        Self { key_seed, metadata_key, private_key }
+    }
+    pub(crate) fn into_internal(
+        self,
+    ) -> np_adv::credential::v1::SimpleSignedBroadcastCryptoMaterial {
+        let permit = crypto_provider::ed25519::RawPrivateKeyPermit::default();
+        np_adv::credential::v1::SimpleSignedBroadcastCryptoMaterial::new(
+            self.key_seed,
+            np_adv::MetadataKey(self.metadata_key),
+            crypto_provider::ed25519::PrivateKey::from_raw_private_key(self.private_key, &permit),
+        )
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/deserialize/mod.rs b/nearby/presence/np_ffi_core/src/deserialize.rs
similarity index 61%
rename from nearby/presence/np_ffi_core/src/deserialize/mod.rs
rename to nearby/presence/np_ffi_core/src/deserialize.rs
index 44510f6..09df8a4 100644
--- a/nearby/presence/np_ffi_core/src/deserialize/mod.rs
+++ b/nearby/presence/np_ffi_core/src/deserialize.rs
@@ -14,12 +14,14 @@
 //! Core NP Rust FFI structures and methods for advertisement deserialization.
 
 use crate::common::*;
-use crate::credentials::credential_book::CredentialBook;
+use crate::credentials::CredentialBook;
 use crate::deserialize::v0::*;
 use crate::deserialize::v1::*;
 use crate::utils::FfiEnum;
 use crypto_provider_default::CryptoProviderImpl;
-use handle_map::{HandleLike, HandleMapFullError, HandleNotPresentError};
+use handle_map::{
+    declare_handle_map, HandleLike, HandleMapDimensions, HandleMapFullError, HandleNotPresentError,
+};
 use np_adv::deserialization_arena;
 
 pub mod v0;
@@ -154,8 +156,8 @@
     deserialize_advertisement_from_slice(adv_payload.as_slice(), credential_book)
 }
 
-/// Errors returned from [`crate::deserialize::v0::v0_payload::V0Payload#decrypt_metadata`].
-pub enum DecryptMetadataError {
+/// Errors returned from attempting to decrypt metadata
+pub(crate) enum DecryptMetadataError {
     /// The advertisement payload handle was either deallocated
     /// or corresponds to a public advertisement, and so we
     /// don't have any metadata to decrypt.
@@ -163,3 +165,128 @@
     /// Decryption of the raw metadata bytes failed.
     DecryptionFailed,
 }
+
+/// The result of decrypting metadata from either a V0Payload or DeserializedV1Section
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum DecryptMetadataResult {
+    Success(DecryptedMetadata),
+    Error,
+}
+
+/// Discriminant for `DecryptMetadataResult`.
+#[repr(u8)]
+pub enum DecryptMetadataResultKind {
+    /// The attempt to decrypt the metadata of the associated credential succeeded
+    /// The associated payload may be obtained via
+    /// `DecryptMetadataResult#into_success`.
+    Success,
+    /// The attempt to decrypt the metadata failed, either the payload had no matching identity
+    /// ie it was a public advertisement OR the decrypt attempt itself was unsuccessful
+    Error,
+}
+
+impl FfiEnum for DecryptMetadataResult {
+    type Kind = DecryptMetadataResultKind;
+
+    fn kind(&self) -> Self::Kind {
+        match self {
+            DecryptMetadataResult::Success(_) => DecryptMetadataResultKind::Success,
+            DecryptMetadataResult::Error => DecryptMetadataResultKind::Error,
+        }
+    }
+}
+
+impl DecryptMetadataResult {
+    declare_enum_cast! {into_success, Success, DecryptedMetadata}
+}
+
+/// Internals of decrypted metadata
+pub struct DecryptedMetadataInternals {
+    decrypted_bytes: Box<[u8]>,
+}
+
+/// A `#[repr(C)]` handle to a value of type `DecryptedMetadataInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+pub struct DecryptedMetadata {
+    handle_id: u64,
+}
+
+declare_handle_map!(
+    decrypted_metadata,
+    super::get_decrypted_metadata_handle_map_dimensions(),
+    super::DecryptedMetadata,
+    super::DecryptedMetadataInternals
+);
+
+fn get_decrypted_metadata_handle_map_dimensions() -> HandleMapDimensions {
+    HandleMapDimensions { num_shards: global_num_shards(), max_active_handles: DEFAULT_MAX_HANDLES }
+}
+
+/// The pointer and length of the decrypted metadata byte buffer
+#[repr(C)]
+pub struct MetadataBufferParts {
+    ptr: *const u8,
+    len: usize,
+}
+
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum GetMetadataBufferPartsResult {
+    Success(MetadataBufferParts),
+    Error,
+}
+
+impl GetMetadataBufferPartsResult {
+    declare_enum_cast! {into_success, Success, MetadataBufferParts}
+}
+
+#[repr(u8)]
+#[allow(missing_docs)]
+pub enum GetMetadataBufferPartsResultKind {
+    Success = 0,
+    Error = 1,
+}
+
+impl FfiEnum for GetMetadataBufferPartsResult {
+    type Kind = GetMetadataBufferPartsResultKind;
+
+    fn kind(&self) -> Self::Kind {
+        match self {
+            GetMetadataBufferPartsResult::Success(_) => GetMetadataBufferPartsResultKind::Success,
+            GetMetadataBufferPartsResult::Error => GetMetadataBufferPartsResultKind::Error,
+        }
+    }
+}
+
+fn allocate_decrypted_metadata_handle(metadata: Vec<u8>) -> DecryptMetadataResult {
+    let allocate_result = DecryptedMetadata::allocate(move || DecryptedMetadataInternals {
+        decrypted_bytes: metadata.into_boxed_slice(),
+    });
+    match allocate_result {
+        Ok(decrypted) => DecryptMetadataResult::Success(decrypted),
+        Err(_) => DecryptMetadataResult::Error,
+    }
+}
+
+impl DecryptedMetadata {
+    /// Gets the raw parts, pointer + length representation of the metadata byte buffer
+    pub fn get_metadata_buffer_parts(&self) -> GetMetadataBufferPartsResult {
+        match self.get() {
+            Ok(metadata_internals) => {
+                let result = MetadataBufferParts {
+                    ptr: metadata_internals.decrypted_bytes.as_ptr(),
+                    len: metadata_internals.decrypted_bytes.len(),
+                };
+                GetMetadataBufferPartsResult::Success(result)
+            }
+            Err(_) => GetMetadataBufferPartsResult::Error,
+        }
+    }
+
+    /// Frees the underlying decrypted metadata buffer
+    pub fn deallocate_metadata(&self) -> DeallocateResult {
+        self.deallocate().map(|_| ()).into()
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/deserialize/v0.rs b/nearby/presence/np_ffi_core/src/deserialize/v0.rs
index a07b9d8..c4f117f 100644
--- a/nearby/presence/np_ffi_core/src/deserialize/v0.rs
+++ b/nearby/presence/np_ffi_core/src/deserialize/v0.rs
@@ -14,14 +14,15 @@
 //! Core NP Rust FFI structures and methods for v0 advertisement deserialization.
 
 use crate::common::*;
-use crate::credentials::credential_book::CredentialBook;
+use crate::credentials::CredentialBook;
 use crate::credentials::MatchedCredential;
-use crate::deserialize::DecryptMetadataError;
+use crate::deserialize::{
+    allocate_decrypted_metadata_handle, DecryptMetadataError, DecryptMetadataResult,
+};
 use crate::utils::{FfiEnum, LocksLongerThan};
+use crate::v0::V0DataElement;
 use crypto_provider_default::CryptoProviderImpl;
 use handle_map::{declare_handle_map, HandleLike, HandleMapDimensions, HandleMapFullError};
-use np_adv::legacy::actions::ActionsDataElement;
-use np_adv::legacy::{data_elements as np_adv_de, Ciphertext, PacketFlavorEnum, Plaintext};
 use np_adv::HasIdentityMatch;
 use std::vec::Vec;
 
@@ -348,13 +349,19 @@
     }
 }
 
-declare_handle_map! {
-    mod v0_payload {
-        #[dimensions = super::get_v0_payload_handle_map_dimensions()]
-        type V0Payload: HandleLike<Object = super::V0PayloadInternals>;
-    }
+/// A `#[repr(C)]` handle to a value of type `V0PayloadInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+pub struct V0Payload {
+    handle_id: u64,
 }
-use v0_payload::V0Payload;
+
+declare_handle_map!(
+    v0_payload,
+    super::get_v0_payload_handle_map_dimensions(),
+    super::V0Payload,
+    super::V0PayloadInternals
+);
 
 use super::DeserializeAdvertisementError;
 
@@ -399,7 +406,7 @@
     }
 
     /// Gets the identity details for this V0 payload,
-    /// if this payload was associted with an identity
+    /// if this payload was associated with an identity
     /// (i.e: non-public advertisements).
     pub fn get_identity_details(&self) -> GetV0IdentityDetailsResult {
         match self.get() {
@@ -410,17 +417,13 @@
 
     /// Attempts to decrypt the metadata for the matched
     /// credential for this V0 payload (if any)
-    ///
-    /// Note that while this method is publicly exposed
-    /// from `np_ffi_core`, since it involves the (FFI-layer-unexpressed)
-    /// type `Vec<u8>`, a direct wrapper will not suffice,
-    /// and instead a language-specific binding will need to
-    /// be generated for this method which respects the
-    /// expected memory-management semantics of the target language.
-    pub fn decrypt_metadata(&self) -> Result<Vec<u8>, DecryptMetadataError> {
+    pub fn decrypt_metadata(&self) -> DecryptMetadataResult {
         match self.get() {
-            Ok(read_guard) => read_guard.decrypt_metadata(),
-            Err(_) => Err(DecryptMetadataError::EncryptedMetadataNotAvailable),
+            Ok(read_guard) => match read_guard.decrypt_metadata() {
+                Ok(decrypted_metadata) => allocate_decrypted_metadata_handle(decrypted_metadata),
+                Err(_) => DecryptMetadataResult::Error,
+            },
+            Err(_) => DecryptMetadataResult::Error,
         }
     }
 
@@ -466,208 +469,3 @@
 impl GetV0DEResult {
     declare_enum_cast! {into_success, Success, V0DataElement}
 }
-
-/// Discriminant for `V0DataElement`.
-#[repr(u8)]
-pub enum V0DataElementKind {
-    /// A transmission Power (Tx Power) data-element.
-    /// The associated payload may be obtained via
-    /// `V0DataElement#into_tx_power`.
-    TxPower = 0,
-    /// The Actions data-element.
-    /// The associated payload may be obtained via
-    /// `V0DataElement#into_actions`.
-    Actions = 1,
-}
-
-/// Representation of a V0 data element.
-#[repr(C)]
-#[allow(missing_docs)]
-#[derive(Clone)]
-pub enum V0DataElement {
-    TxPower(TxPower),
-    Actions(V0Actions),
-}
-
-impl<F: np_adv::legacy::PacketFlavor> From<np_adv::legacy::deserialize::PlainDataElement<F>>
-    for V0DataElement
-{
-    fn from(de: np_adv::legacy::deserialize::PlainDataElement<F>) -> Self {
-        use np_adv::legacy::deserialize::PlainDataElement;
-        match de {
-            PlainDataElement::Actions(x) => V0DataElement::Actions(x.into()),
-            PlainDataElement::TxPower(x) => V0DataElement::TxPower(x.into()),
-        }
-    }
-}
-
-impl FfiEnum for V0DataElement {
-    type Kind = V0DataElementKind;
-    fn kind(&self) -> Self::Kind {
-        match self {
-            V0DataElement::Actions(_) => V0DataElementKind::Actions,
-            V0DataElement::TxPower(_) => V0DataElementKind::TxPower,
-        }
-    }
-}
-
-impl V0DataElement {
-    declare_enum_cast! {into_tx_power, TxPower, TxPower}
-    declare_enum_cast! {into_actions, Actions, V0Actions}
-}
-
-/// Representation of a transmission power,
-/// as used for the Tx Power DE in V0 and V1.
-#[derive(Clone)]
-#[repr(C)]
-pub struct TxPower {
-    tx_power: i8,
-}
-
-impl TxPower {
-    /// Yields this Tx Power value as an i8.
-    pub fn as_i8(&self) -> i8 {
-        self.tx_power
-    }
-}
-
-impl From<np_adv_de::TxPowerDataElement> for TxPower {
-    fn from(de: np_adv_de::TxPowerDataElement) -> Self {
-        Self { tx_power: de.tx_power_value() }
-    }
-}
-
-/// Representation of the Actions DE in V0.
-#[derive(Clone)]
-#[repr(C)]
-pub enum V0Actions {
-    /// A set of action bits which were present in a plaintext identity advertisement
-    Plaintext(V0ActionBits),
-    /// A set of action bits which were present in a encrypted identity advertisement
-    Encrypted(V0ActionBits),
-}
-
-impl<F: np_adv::legacy::PacketFlavor> From<np_adv::legacy::actions::ActionsDataElement<F>>
-    for V0Actions
-{
-    fn from(value: ActionsDataElement<F>) -> Self {
-        match F::ENUM_VARIANT {
-            PacketFlavorEnum::Plaintext => {
-                Self::Plaintext(V0ActionBits { bitfield: value.action.as_u32() })
-            }
-            PacketFlavorEnum::Ciphertext => {
-                Self::Encrypted(V0ActionBits { bitfield: value.action.as_u32() })
-            }
-        }
-    }
-}
-
-#[repr(C)]
-#[derive(Clone)]
-/// The bitfield data of a VOActions data element
-pub struct V0ActionBits {
-    bitfield: u32,
-}
-
-#[allow(missing_docs)]
-#[repr(u8)]
-/// The possible boolean action types which can be present in an Actions data element
-pub enum BooleanActionType {
-    ActiveUnlock = 8,
-    NearbyShare = 9,
-    InstantTethering = 10,
-    PhoneHub = 11,
-    PresenceManager = 12,
-    Finder = 13,
-    FastPairSass = 14,
-}
-
-impl From<&BooleanActionType> for np_adv::legacy::actions::ActionType {
-    fn from(value: &BooleanActionType) -> Self {
-        match value {
-            BooleanActionType::ActiveUnlock => np_adv::legacy::actions::ActionType::ActiveUnlock,
-            BooleanActionType::NearbyShare => np_adv::legacy::actions::ActionType::NearbyShare,
-            BooleanActionType::InstantTethering => {
-                np_adv::legacy::actions::ActionType::InstantTethering
-            }
-            BooleanActionType::PhoneHub => np_adv::legacy::actions::ActionType::PhoneHub,
-            BooleanActionType::Finder => np_adv::legacy::actions::ActionType::Finder,
-            BooleanActionType::FastPairSass => np_adv::legacy::actions::ActionType::FastPairSass,
-            BooleanActionType::PresenceManager => {
-                np_adv::legacy::actions::ActionType::PresenceManager
-            }
-        }
-    }
-}
-
-/// Error returned if action bits inside of a V0Actions struct are invalid. If the struct was
-/// created by the np_adv deserializer, the bits will always be valid, they are only invalid if a
-/// user reaches in and changes them to something invalid.
-#[derive(Debug)]
-pub struct InvalidActionBits;
-
-impl V0Actions {
-    /// Gets the V0 Action bits as represented by a u32 where the last 8 bits are
-    /// always 0 since V0 actions can only hold up to 24 bits.
-    pub fn as_u32(&self) -> u32 {
-        match self {
-            V0Actions::Plaintext(bits) => bits.bitfield,
-            V0Actions::Encrypted(bits) => bits.bitfield,
-        }
-    }
-
-    /// Return whether a boolean action type is set in this data element
-    #[allow(clippy::expect_used)]
-    pub fn has_action(&self, action_type: &BooleanActionType) -> Result<bool, InvalidActionBits> {
-        match self {
-            V0Actions::Plaintext(action_bits) => {
-                let bits = np_adv::legacy::actions::ActionBits::<Plaintext>::try_from(
-                    action_bits.bitfield,
-                )
-                .map_err(|_| InvalidActionBits)?;
-
-                let actions_de = np_adv::legacy::actions::ActionsDataElement::from(bits);
-                Ok(actions_de
-                    .action
-                    .has_action(&action_type.into())
-                    .expect("BooleanActionType only has one bit"))
-            }
-            V0Actions::Encrypted(action_bits) => {
-                let bits = np_adv::legacy::actions::ActionBits::<Ciphertext>::try_from(
-                    action_bits.bitfield,
-                )
-                .map_err(|_| InvalidActionBits)?;
-
-                let actions_de = np_adv::legacy::actions::ActionsDataElement::from(bits);
-                Ok(actions_de
-                    .action
-                    .has_action(&action_type.into())
-                    .expect("BooleanActionType only has one bit"))
-            }
-        }
-    }
-
-    /// Return the context sequence number from this data element
-    #[allow(clippy::expect_used)]
-    pub fn get_context_sync_seq_num(&self) -> Result<u8, InvalidActionBits> {
-        match self {
-            V0Actions::Plaintext(action_bits) => {
-                let bits = np_adv::legacy::actions::ActionBits::<Plaintext>::try_from(
-                    action_bits.bitfield,
-                )
-                .map_err(|_| InvalidActionBits)?;
-
-                let actions_de = np_adv::legacy::actions::ActionsDataElement::from(bits);
-                Ok(actions_de.action.context_sync_seq_num().as_u8())
-            }
-            V0Actions::Encrypted(action_bits) => {
-                let bits = np_adv::legacy::actions::ActionBits::<Ciphertext>::try_from(
-                    action_bits.bitfield,
-                )
-                .map_err(|_| InvalidActionBits)?;
-                let actions_de = np_adv::legacy::actions::ActionsDataElement::from(bits);
-                Ok(actions_de.action.context_sync_seq_num().as_u8())
-            }
-        }
-    }
-}
diff --git a/nearby/presence/np_ffi_core/src/deserialize/v1.rs b/nearby/presence/np_ffi_core/src/deserialize/v1.rs
index 4684f55..3bc056d 100644
--- a/nearby/presence/np_ffi_core/src/deserialize/v1.rs
+++ b/nearby/presence/np_ffi_core/src/deserialize/v1.rs
@@ -15,14 +15,14 @@
 
 use super::DeserializeAdvertisementError;
 use crate::common::*;
-use crate::credentials::credential_book::CredentialBook;
+use crate::credentials::CredentialBook;
 use crate::credentials::MatchedCredential;
-use crate::deserialize::DecryptMetadataError;
+use crate::deserialize::{allocate_decrypted_metadata_handle, DecryptMetadataResult};
 use crate::utils::*;
+use crate::v1::V1VerificationMode;
 use array_view::ArrayView;
 use crypto_provider_default::CryptoProviderImpl;
 use handle_map::{declare_handle_map, HandleLike, HandleMapDimensions};
-use legible_v1_sections::LegibleV1Sections;
 use np_adv::extended::deserialize::DataElementParseError;
 use np_adv::HasIdentityMatch;
 use std::vec::Vec;
@@ -150,13 +150,20 @@
     }
 }
 
-declare_handle_map! {
-    mod legible_v1_sections {
-        #[dimensions = super::get_legible_v1_sections_handle_map_dimensions()]
-        type LegibleV1Sections: HandleLike<Object = super::LegibleV1SectionsInternals>;
-    }
+/// A `#[repr(C)]` handle to a value of type `LegibleV1SectionsInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+struct LegibleV1Sections {
+    handle_id: u64,
 }
 
+declare_handle_map!(
+    legible_v1_sections,
+    super::get_legible_v1_sections_handle_map_dimensions(),
+    super::LegibleV1Sections,
+    super::LegibleV1SectionsInternals
+);
+
 impl LocksLongerThan<LegibleV1Sections> for CredentialBook {}
 
 impl LegibleV1Sections {
@@ -229,12 +236,15 @@
 
 /// The result of attempting to get a derived 16-byte salt
 /// for a given DE within a section.
-#[derive(Copy, Clone)]
 #[repr(C)]
 #[allow(missing_docs)]
 pub enum GetV1DE16ByteSaltResult {
     Error,
-    Success([u8; 16]),
+    Success(FixedSizeArray<16>),
+}
+
+impl GetV1DE16ByteSaltResult {
+    declare_enum_cast! {into_success, Success, FixedSizeArray<16>}
 }
 
 impl FfiEnum for GetV1DE16ByteSaltResult {
@@ -258,6 +268,7 @@
     fn num_des(&self) -> u8 {
         self.des.len() as u8
     }
+
     /// Gets the enum tag of the identity used for this section.
     fn identity_kind(&self) -> DeserializedV1IdentityKind {
         if self.identity.is_some() {
@@ -266,6 +277,7 @@
             DeserializedV1IdentityKind::Plaintext
         }
     }
+
     /// Attempts to get the DE with the given index in this section.
     fn get_de(&self, index: u8) -> GetV1DEResult {
         match self.des.get(index as usize) {
@@ -273,6 +285,7 @@
             None => GetV1DEResult::Error,
         }
     }
+
     /// Attempts to get the directly-transmissible details about
     /// the deserialized V1 identity for this section. Does
     /// not include decrypted metadata bytes nor the section salt.
@@ -282,16 +295,19 @@
             None => GetV1IdentityDetailsResult::Error,
         }
     }
+
     /// Attempts to decrypt the metadata for the matched
     /// credential for this V1 section (if any).
-    pub(crate) fn decrypt_metadata(&self) -> Result<Vec<u8>, DecryptMetadataError> {
+    pub(crate) fn decrypt_metadata(&self) -> DecryptMetadataResult {
         match &self.identity {
-            None => Err(DecryptMetadataError::EncryptedMetadataNotAvailable),
-            Some(identity) => {
-                identity.decrypt_metadata().ok_or(DecryptMetadataError::DecryptionFailed)
-            }
+            None => DecryptMetadataResult::Error,
+            Some(identity) => match identity.decrypt_metadata() {
+                None => DecryptMetadataResult::Error,
+                Some(metadata) => allocate_decrypted_metadata_handle(metadata),
+            },
         }
     }
+
     /// Attempts to derive a 16-byte DE salt for a DE in this section
     /// with the given DE offset. This operation may fail if the
     /// passed offset is 255 (causes overflow) or if the section
@@ -411,32 +427,13 @@
     }
     /// For a given data-element offset, derives a 16-byte DE salt
     /// for a DE in that position within this section.
-    pub(crate) fn derive_16_byte_salt_for_offset(&self, de_offset: u8) -> Option<[u8; 16]> {
+    pub(crate) fn derive_16_byte_salt_for_offset(
+        &self,
+        de_offset: u8,
+    ) -> Option<FixedSizeArray<16>> {
         let section_salt = np_hkdf::v1_salt::V1Salt::<CryptoProviderImpl>::from(self.salt);
         let de_offset = np_hkdf::v1_salt::DataElementOffset::from(de_offset);
-        section_salt.derive::<16>(Some(de_offset))
-    }
-}
-
-/// Information about the verification scheme used
-/// for verifying the integrity of the contents
-/// of a decrypted section.
-#[derive(Clone, Copy)]
-#[repr(u8)]
-pub enum V1VerificationMode {
-    /// Message integrity code verification.
-    Mic = 0,
-    /// Signature verification.
-    Signature = 1,
-}
-
-impl From<np_adv::extended::deserialize::VerificationMode> for V1VerificationMode {
-    fn from(verification_mode: np_adv::extended::deserialize::VerificationMode) -> Self {
-        use np_adv::extended::deserialize::VerificationMode;
-        match verification_mode {
-            VerificationMode::Mic => Self::Mic,
-            VerificationMode::Signature => Self::Signature,
-        }
+        section_salt.derive::<16>(Some(de_offset)).map(FixedSizeArray::from_array)
     }
 }
 
@@ -550,23 +547,6 @@
         self.identity_tag
     }
 
-    fn apply_to_section_internals<R>(
-        &self,
-        func: impl FnOnce(&DeserializedV1SectionInternals) -> R,
-        lookup_failure_result: R,
-    ) -> R {
-        // TODO: Once the `FromResidual` trait is stabilized, this can be simplified.
-        match self.legible_sections_handle.get() {
-            Ok(legible_sections_read_guard) => {
-                match legible_sections_read_guard.get_section_internals(self.legible_section_index)
-                {
-                    Some(section_ref) => func(section_ref),
-                    None => lookup_failure_result,
-                }
-            }
-            Err(_) => lookup_failure_result,
-        }
-    }
     /// Gets the DE with the given index in this section.
     pub fn get_de(&self, de_index: u8) -> GetV1DEResult {
         self.apply_to_section_internals(
@@ -587,10 +567,10 @@
     /// Attempts to decrypt the metadata for the matched
     /// credential for the V1 section referenced by
     /// this handle (if any).
-    pub fn decrypt_metadata(&self) -> Result<Vec<u8>, DecryptMetadataError> {
+    pub fn decrypt_metadata(&self) -> DecryptMetadataResult {
         self.apply_to_section_internals(
             DeserializedV1SectionInternals::decrypt_metadata,
-            Err(DecryptMetadataError::EncryptedMetadataNotAvailable),
+            DecryptMetadataResult::Error,
         )
     }
     /// Attempts to derive a 16-byte DE salt for a DE in this section
@@ -604,6 +584,24 @@
             GetV1DE16ByteSaltResult::Error,
         )
     }
+
+    fn apply_to_section_internals<R>(
+        &self,
+        func: impl FnOnce(&DeserializedV1SectionInternals) -> R,
+        lookup_failure_result: R,
+    ) -> R {
+        // TODO: Once the `FromResidual` trait is stabilized, this can be simplified.
+        match self.legible_sections_handle.get() {
+            Ok(legible_sections_read_guard) => {
+                match legible_sections_read_guard.get_section_internals(self.legible_section_index)
+                {
+                    Some(section_ref) => func(section_ref),
+                    None => lookup_failure_result,
+                }
+            }
+            Err(_) => lookup_failure_result,
+        }
+    }
 }
 
 /// Discriminant for the `GetV1DEResult` enum.
diff --git a/nearby/presence/np_ffi_core/src/lib.rs b/nearby/presence/np_ffi_core/src/lib.rs
index 0c25168..2c03ea5 100644
--- a/nearby/presence/np_ffi_core/src/lib.rs
+++ b/nearby/presence/np_ffi_core/src/lib.rs
@@ -22,3 +22,6 @@
 pub mod common;
 pub mod credentials;
 pub mod deserialize;
+pub mod serialize;
+pub mod v0;
+pub mod v1;
diff --git a/nearby/presence/np_ffi_core/src/serialize.rs b/nearby/presence/np_ffi_core/src/serialize.rs
new file mode 100644
index 0000000..0aade0a
--- /dev/null
+++ b/nearby/presence/np_ffi_core/src/serialize.rs
@@ -0,0 +1,39 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//! Core NP Rust FFI structures and methods for advertisement serialization.
+
+pub mod v0;
+pub mod v1;
+
+/// Enum common to V0 and V1 serialization expressing
+/// what kind of advertisement builder (public/encrypted)
+/// is in use.
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum AdvertisementBuilderKind {
+    /// The builder is for a public advertisement.
+    Public = 0,
+    /// The builder is for an encrypted advertisement.
+    Encrypted = 1,
+}
+
+impl AdvertisementBuilderKind {
+    pub(crate) fn as_internal_v1(&self) -> np_adv::extended::serialize::AdvertisementType {
+        use np_adv::extended::serialize::AdvertisementType;
+        match self {
+            Self::Public => AdvertisementType::Plaintext,
+            Self::Encrypted => AdvertisementType::Encrypted,
+        }
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/serialize/v0.rs b/nearby/presence/np_ffi_core/src/serialize/v0.rs
new file mode 100644
index 0000000..2d6b413
--- /dev/null
+++ b/nearby/presence/np_ffi_core/src/serialize/v0.rs
@@ -0,0 +1,286 @@
+// Copyright 2023 Google LLC
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust FFI structures and methods for V0 advertisement serialization.
+
+use crate::common::*;
+use crate::credentials::V0BroadcastCredential;
+use crate::serialize::AdvertisementBuilderKind;
+use crate::utils::FfiEnum;
+use crate::v0::V0DataElement;
+use crypto_provider_default::CryptoProviderImpl;
+use handle_map::{declare_handle_map, HandleLike, HandleMapDimensions, HandleMapFullError};
+use np_adv;
+use np_adv_dynamic;
+
+/// A handle to a builder for V0 advertisements.
+#[derive(Clone, Copy)]
+#[repr(C)]
+pub struct V0AdvertisementBuilder {
+    kind: AdvertisementBuilderKind,
+    handle: V0AdvertisementBuilderHandle,
+}
+
+impl V0AdvertisementBuilder {
+    /// Attempts to add the given data element to the V0
+    /// advertisement builder behind this handle.
+    pub fn add_de(&self, de: V0DataElement) -> Result<AddV0DEResult, InvalidStackDataStructure> {
+        match self.handle.get_mut() {
+            Ok(mut adv_builder_write_guard) => adv_builder_write_guard.add_de(de),
+            Err(_) => Ok(AddV0DEResult::InvalidAdvertisementBuilderHandle),
+        }
+    }
+    /// Attempts to serialize the contents of the advertisement builder
+    /// behind this handle to bytes. Assuming that the handle is valid,
+    /// this operation will always result in the contents behind the
+    /// advertisement builder handle being deallocated.
+    pub fn into_advertisement(self) -> SerializeV0AdvertisementResult {
+        match self.handle.deallocate() {
+            Ok(adv_builder) => adv_builder.into_advertisement(),
+            Err(_) => SerializeV0AdvertisementResult::InvalidAdvertisementBuilderHandle,
+        }
+    }
+    /// Attempts to deallocate the V0 advertisement builder
+    /// behind this handle.
+    pub fn deallocate(self) -> DeallocateResult {
+        self.handle.deallocate().map(|_| ()).into()
+    }
+}
+
+/// Discriminant for `CreateV0AdvertisementBuilderResult`
+#[derive(Copy, Clone)]
+#[repr(u8)]
+pub enum CreateV0AdvertisementBuilderResultKind {
+    /// The attempt to create a new advertisement builder
+    /// failed since there are no more available
+    /// slots for V0 advertisement builders in their handle-map.
+    NoSpaceLeft = 0,
+    /// The attempt succeeded. The wrapped advertisement builder
+    /// may be obtained via
+    /// `CreateV0AdvertisementBuilderResult#into_success`.
+    Success = 1,
+}
+
+/// The result of attempting to create a new V0 advertisement builder.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum CreateV0AdvertisementBuilderResult {
+    NoSpaceLeft,
+    Success(V0AdvertisementBuilder),
+}
+
+impl From<Result<V0AdvertisementBuilder, HandleMapFullError>>
+    for CreateV0AdvertisementBuilderResult
+{
+    fn from(result: Result<V0AdvertisementBuilder, HandleMapFullError>) -> Self {
+        match result {
+            Ok(builder) => CreateV0AdvertisementBuilderResult::Success(builder),
+            Err(_) => CreateV0AdvertisementBuilderResult::NoSpaceLeft,
+        }
+    }
+}
+
+impl FfiEnum for CreateV0AdvertisementBuilderResult {
+    type Kind = CreateV0AdvertisementBuilderResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            CreateV0AdvertisementBuilderResult::NoSpaceLeft => {
+                CreateV0AdvertisementBuilderResultKind::NoSpaceLeft
+            }
+            CreateV0AdvertisementBuilderResult::Success(_) => {
+                CreateV0AdvertisementBuilderResultKind::Success
+            }
+        }
+    }
+}
+
+impl CreateV0AdvertisementBuilderResult {
+    declare_enum_cast! {into_success, Success, V0AdvertisementBuilder }
+}
+
+/// Creates a new V0 advertisement builder for a public advertisement.
+pub fn create_v0_public_advertisement_builder() -> CreateV0AdvertisementBuilderResult {
+    V0AdvertisementBuilderHandle::allocate(V0AdvertisementBuilderInternals::new_public)
+        .map(|handle| V0AdvertisementBuilder { kind: AdvertisementBuilderKind::Public, handle })
+        .into()
+}
+
+/// Creates a new V0 advertisement builder for an encrypted advertisement.
+pub fn create_v0_encrypted_advertisement_builder(
+    broadcast_cred: V0BroadcastCredential,
+    identity_type: EncryptedIdentityType,
+    salt: FixedSizeArray<2>,
+) -> CreateV0AdvertisementBuilderResult {
+    V0AdvertisementBuilderHandle::allocate(move || {
+        V0AdvertisementBuilderInternals::new_ldt(broadcast_cred, identity_type, salt.into_array())
+    })
+    .map(|handle| V0AdvertisementBuilder { kind: AdvertisementBuilderKind::Encrypted, handle })
+    .into()
+}
+
+impl V0AdvertisementBuilder {
+    /// Gets the kind of advertisement builder (public/encrypted)
+    pub fn kind(&self) -> AdvertisementBuilderKind {
+        self.kind
+    }
+}
+
+/// Discriminant for `SerializeV0AdvertisementResult`.
+#[repr(u8)]
+pub enum SerializeV0AdvertisementResultKind {
+    /// Serializing the advertisement to bytes was successful.
+    Success = 0,
+    /// Serializing the advertisement to bytes failed
+    /// because the data in the advertisement wasn't
+    /// of an appropriate size for LDT encryption
+    /// to succeed.
+    LdtError = 1,
+    /// The advertisement builder handle was invalid.
+    InvalidAdvertisementBuilderHandle = 2,
+}
+
+/// The result of attempting to serialize the contents
+/// of a V0 advertisement builder to raw bytes.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum SerializeV0AdvertisementResult {
+    Success(ByteBuffer<24>),
+    LdtError,
+    InvalidAdvertisementBuilderHandle,
+}
+
+impl SerializeV0AdvertisementResult {
+    declare_enum_cast! { into_success, Success, ByteBuffer<24> }
+}
+
+impl FfiEnum for SerializeV0AdvertisementResult {
+    type Kind = SerializeV0AdvertisementResultKind;
+    fn kind(&self) -> SerializeV0AdvertisementResultKind {
+        match self {
+            Self::Success(_) => SerializeV0AdvertisementResultKind::Success,
+            Self::LdtError => SerializeV0AdvertisementResultKind::LdtError,
+            Self::InvalidAdvertisementBuilderHandle => {
+                SerializeV0AdvertisementResultKind::InvalidAdvertisementBuilderHandle
+            }
+        }
+    }
+}
+
+/// Internal Rust-side implementation of a V0 advertisement builder.
+pub struct V0AdvertisementBuilderInternals {
+    adv_builder: np_adv_dynamic::legacy::BoxedAdvBuilder<CryptoProviderImpl>,
+}
+
+impl V0AdvertisementBuilderInternals {
+    pub(crate) fn new_public() -> Self {
+        Self::new(np_adv::PublicIdentity.into())
+    }
+    pub(crate) fn new_ldt(
+        broadcast_cred: V0BroadcastCredential,
+        identity_type: EncryptedIdentityType,
+        salt: [u8; 2],
+    ) -> Self {
+        // TODO: What do about salts? Need to prevent re-use fo the same salt,
+        // but have no current rich representation of used salts...
+        let salt = ldt_np_adv::LegacySalt::from(salt);
+        let identity_type = identity_type.into();
+        let internal_broadcast_cred = broadcast_cred.into_internal();
+        let identity = np_adv::legacy::serialize::LdtIdentity::new(
+            identity_type,
+            salt,
+            &internal_broadcast_cred,
+        );
+        Self::new(identity.into())
+    }
+    fn new(identity: np_adv_dynamic::legacy::BoxedIdentity<CryptoProviderImpl>) -> Self {
+        let adv_builder =
+            np_adv_dynamic::legacy::BoxedAdvBuilder::<CryptoProviderImpl>::new(identity);
+        Self { adv_builder }
+    }
+    fn add_de(&mut self, de: V0DataElement) -> Result<AddV0DEResult, InvalidStackDataStructure> {
+        let to_boxed = np_adv_dynamic::legacy::ToBoxedDataElementBundle::try_from(de)?;
+        use np_adv::legacy::serialize::AddDataElementError;
+        use np_adv_dynamic::legacy::BoxedAddDataElementError;
+        match self.adv_builder.add_data_element(to_boxed) {
+            Ok(_) => Ok(AddV0DEResult::Success),
+            Err(BoxedAddDataElementError::FlavorMismatchError) => {
+                Ok(AddV0DEResult::InvalidIdentityTypeForDataElement)
+            }
+            Err(BoxedAddDataElementError::UnderlyingError(
+                AddDataElementError::InsufficientAdvSpace,
+            )) => Ok(AddV0DEResult::InsufficientAdvertisementSpace),
+        }
+    }
+    fn into_advertisement(self) -> SerializeV0AdvertisementResult {
+        match self.adv_builder.into_advertisement() {
+            Ok(serialized_bytes) => {
+                let byte_buffer = ByteBuffer::from_array_view(serialized_bytes);
+                SerializeV0AdvertisementResult::Success(byte_buffer)
+            }
+            Err(np_adv_dynamic::legacy::BoxedAdvConstructionError::Ldt(_)) => {
+                SerializeV0AdvertisementResult::LdtError
+            }
+        }
+    }
+}
+
+fn get_v0_advertisement_builder_handle_map_dimensions() -> HandleMapDimensions {
+    HandleMapDimensions {
+        num_shards: global_num_shards(),
+        max_active_handles: global_max_num_v0_advertisement_builders(),
+    }
+}
+
+/// A `#[repr(C)]` handle to a value of type `V0AdvertisementBuilderInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+struct V0AdvertisementBuilderHandle {
+    handle_id: u64,
+}
+
+declare_handle_map!(
+    advertisement_builder,
+    super::get_v0_advertisement_builder_handle_map_dimensions(),
+    super::V0AdvertisementBuilderHandle,
+    super::V0AdvertisementBuilderInternals
+);
+
+/// Result code for the operation of adding a DE to a V0
+/// advertisement builder.
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum AddV0DEResult {
+    /// The DE was successfully added to the advertisement builder
+    /// behind the given handle.
+    Success = 0,
+    /// The handle for the advertisement builder was invalid.
+    InvalidAdvertisementBuilderHandle = 1,
+    /// There was not enough available space left in the advertisement
+    /// to append the given data element.
+    InsufficientAdvertisementSpace = 2,
+    /// The passed data element is not broadcastable under the
+    /// identity type of the advertisement (public/private).
+    InvalidIdentityTypeForDataElement = 3,
+}
+
+impl From<np_adv_dynamic::legacy::BoxedAddDataElementError> for AddV0DEResult {
+    fn from(err: np_adv_dynamic::legacy::BoxedAddDataElementError) -> Self {
+        use np_adv_dynamic::legacy::BoxedAddDataElementError;
+        match err {
+            BoxedAddDataElementError::UnderlyingError(_) => Self::InsufficientAdvertisementSpace,
+            BoxedAddDataElementError::FlavorMismatchError => {
+                Self::InvalidIdentityTypeForDataElement
+            }
+        }
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/serialize/v1.rs b/nearby/presence/np_ffi_core/src/serialize/v1.rs
new file mode 100644
index 0000000..d48a725
--- /dev/null
+++ b/nearby/presence/np_ffi_core/src/serialize/v1.rs
@@ -0,0 +1,700 @@
+// Copyright 2023 Google LLC
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! NP Rust FFI structures and methods for V1 advertisement serialization.
+
+use crate::common::*;
+use crate::credentials::V1BroadcastCredential;
+use crate::serialize::AdvertisementBuilderKind;
+use crate::utils::FfiEnum;
+use crate::v1::V1VerificationMode;
+use crypto_provider_default::CryptoProviderImpl;
+use handle_map::{declare_handle_map, HandleLike, HandleMapDimensions, HandleMapFullError};
+use np_adv;
+use np_adv_dynamic;
+
+/// A handle to a builder for V1 advertisements.
+#[derive(Clone, Copy)]
+#[repr(C)]
+pub struct V1AdvertisementBuilder {
+    kind: AdvertisementBuilderKind,
+    handle: V1AdvertisementBuilderHandle,
+}
+
+impl V1AdvertisementBuilder {
+    /// Attempts to create a builder for a new public section within
+    /// this advertisement, returning a handle to the newly-created
+    /// section builder if successful.
+    ///
+    /// This method may fail if there is another currently-active
+    /// section builder for the same advertisement builder, if the
+    /// kind of section being added does not match the advertisement
+    /// type (public/encrypted), or if the section would not manage
+    /// to fit within the enclosing advertisement.
+    pub fn public_section_builder(&self) -> CreateV1SectionBuilderResult {
+        self.section_builder_internals(|internals| internals.public_section_builder())
+    }
+    /// Attempts to create a builder for a new encrypted section within
+    /// this advertisement, returning a handle to the newly-created
+    /// section builder if successful.
+    ///
+    /// The identity details for the new section builder may be specified
+    /// via providing the broadcast credential data, the kind of encrypted
+    /// identity being broadcast (private/trusted/provisioned), and the
+    /// verification mode (MIC/Signature) to be used for the encrypted section.
+    ///
+    /// This method may fail if there is another currently-active
+    /// section builder for the same advertisement builder, if the
+    /// kind of section being added does not match the advertisement
+    /// type (public/encrypted), or if the section would not manage
+    /// to fit within the enclosing advertisement.
+    pub fn encrypted_section_builder(
+        &self,
+        broadcast_cred: V1BroadcastCredential,
+        identity_type: EncryptedIdentityType,
+        verification_mode: V1VerificationMode,
+    ) -> CreateV1SectionBuilderResult {
+        self.section_builder_internals(move |internals| {
+            internals.encrypted_section_builder(broadcast_cred, identity_type, verification_mode)
+        })
+    }
+
+    /// Attempts to serialize the contents of the advertisement builder
+    /// behind this handle to bytes. Assuming that the handle is valid,
+    /// this operation will always result in the contents behind the
+    /// advertisement builder handle being deallocated.
+    pub fn into_advertisement(self) -> SerializeV1AdvertisementResult {
+        match self.handle.deallocate() {
+            Ok(adv_builder) => adv_builder.into_advertisement(),
+            Err(_) => SerializeV1AdvertisementResult::InvalidAdvertisementBuilderHandle,
+        }
+    }
+
+    fn section_builder_internals(
+        &self,
+        builder_supplier: impl FnOnce(
+            &mut V1AdvertisementBuilderInternals,
+        ) -> Result<usize, SectionBuilderError>,
+    ) -> CreateV1SectionBuilderResult {
+        match self.handle.get_mut() {
+            Ok(mut adv_builder_write_guard) => {
+                match builder_supplier(&mut adv_builder_write_guard) {
+                    Ok(section_index) => CreateV1SectionBuilderResult::Success(V1SectionBuilder {
+                        adv_builder: *self,
+                        section_index: section_index as u8,
+                    }),
+                    Err(e) => e.into(),
+                }
+            }
+            Err(_) => CreateV1SectionBuilderResult::InvalidAdvertisementBuilderHandle,
+        }
+    }
+}
+
+/// Discriminant for `CreateV1AdvertisementBuilderResult`
+#[derive(Copy, Clone)]
+#[repr(u8)]
+pub enum CreateV1AdvertisementBuilderResultKind {
+    /// The attempt to create a new advertisement builder
+    /// failed since there are no more available
+    /// slots for V1 advertisement builders in their handle-map.
+    NoSpaceLeft = 0,
+    /// The attempt succeeded. The wrapped advertisement builder
+    /// may be obtained via
+    /// `CreateV1AdvertisementBuilderResult#into_success`.
+    Success = 1,
+}
+
+/// The result of attempting to create a new V1 advertisement builder.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum CreateV1AdvertisementBuilderResult {
+    NoSpaceLeft,
+    Success(V1AdvertisementBuilder),
+}
+
+impl From<Result<V1AdvertisementBuilder, HandleMapFullError>>
+    for CreateV1AdvertisementBuilderResult
+{
+    fn from(result: Result<V1AdvertisementBuilder, HandleMapFullError>) -> Self {
+        match result {
+            Ok(builder) => CreateV1AdvertisementBuilderResult::Success(builder),
+            Err(_) => CreateV1AdvertisementBuilderResult::NoSpaceLeft,
+        }
+    }
+}
+
+impl FfiEnum for CreateV1AdvertisementBuilderResult {
+    type Kind = CreateV1AdvertisementBuilderResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            CreateV1AdvertisementBuilderResult::NoSpaceLeft => {
+                CreateV1AdvertisementBuilderResultKind::NoSpaceLeft
+            }
+            CreateV1AdvertisementBuilderResult::Success(_) => {
+                CreateV1AdvertisementBuilderResultKind::Success
+            }
+        }
+    }
+}
+
+impl CreateV1AdvertisementBuilderResult {
+    declare_enum_cast! {into_success, Success, V1AdvertisementBuilder }
+}
+
+/// Creates a new V1 advertisement builder for the given advertisement
+/// kind (public/encrypted).
+pub fn create_v1_advertisement_builder(
+    kind: AdvertisementBuilderKind,
+) -> CreateV1AdvertisementBuilderResult {
+    V1AdvertisementBuilderHandle::allocate(move || V1AdvertisementBuilderInternals::new(kind))
+        .map(|handle| V1AdvertisementBuilder { kind, handle })
+        .into()
+}
+
+impl V1AdvertisementBuilder {
+    /// Gets the kind of advertisement builder (public/encrypted)
+    pub fn kind(&self) -> AdvertisementBuilderKind {
+        self.kind
+    }
+}
+
+pub(crate) enum V1AdvertisementBuilderState {
+    /// Internal state for when we have an active advertisement
+    /// builder, but no currently-active section builder.
+    Advertisement(np_adv_dynamic::extended::BoxedAdvBuilder),
+    /// Internal state for when we have both an active advertisement
+    /// builder and an active section builder.
+    Section(
+        np_adv_dynamic::extended::BoxedSectionBuilder<
+            np_adv::extended::serialize::AdvBuilder,
+            CryptoProviderImpl,
+        >,
+    ),
+}
+
+/// Internal version of errors which may be raised when
+/// attempting to derive a new section builder from an
+/// advertisement builder.
+#[derive(Debug, Eq, PartialEq)]
+pub(crate) enum SectionBuilderError {
+    /// We're currently in the middle of building a section.
+    UnclosedActiveSection,
+    /// We're attempting to build a section with an identity
+    /// kind (public/encrypted) which doesn't match the kind
+    /// for the entire advertisement.
+    IdentityKindMismatch,
+    /// There isn't enough space for a new section, either
+    /// because the maximum section count has been exceeded
+    /// or because the advertisement is almost full, and
+    /// the minimum size of a section wouldn't fit.
+    NoSpaceLeft,
+}
+
+impl From<np_adv_dynamic::extended::BoxedAddSectionError> for SectionBuilderError {
+    fn from(err: np_adv_dynamic::extended::BoxedAddSectionError) -> Self {
+        use np_adv::extended::serialize::AddSectionError;
+        use np_adv_dynamic::extended::BoxedAddSectionError;
+        match err {
+            BoxedAddSectionError::IdentityRequiresSaltError
+            | BoxedAddSectionError::Underlying(AddSectionError::IncompatibleSectionType) => {
+                SectionBuilderError::IdentityKindMismatch
+            }
+            BoxedAddSectionError::Underlying(AddSectionError::InsufficientAdvSpace)
+            | BoxedAddSectionError::Underlying(AddSectionError::MaxSectionCountExceeded) => {
+                SectionBuilderError::NoSpaceLeft
+            }
+        }
+    }
+}
+
+/// Discriminant for `SerializeV1AdvertisementResult`.
+#[repr(u8)]
+pub enum SerializeV1AdvertisementResultKind {
+    /// Serializing the advertisement to bytes was successful.
+    Success = 0,
+    /// The state of the advertisement builder was invalid
+    /// for the builder to be closed for serialization, likely
+    /// because there was an unclosed section builder.
+    InvalidBuilderState = 1,
+    /// The advertisement builder handle was invalid.
+    InvalidAdvertisementBuilderHandle = 2,
+}
+
+/// The result of attempting to serialize the contents
+/// of a V1 advertisement builder to raw bytes.
+#[repr(C)]
+#[allow(missing_docs, clippy::large_enum_variant)]
+pub enum SerializeV1AdvertisementResult {
+    Success(ByteBuffer<250>),
+    InvalidBuilderState,
+    InvalidAdvertisementBuilderHandle,
+}
+
+impl SerializeV1AdvertisementResult {
+    declare_enum_cast! { into_success, Success, ByteBuffer<250> }
+}
+
+impl FfiEnum for SerializeV1AdvertisementResult {
+    type Kind = SerializeV1AdvertisementResultKind;
+    fn kind(&self) -> SerializeV1AdvertisementResultKind {
+        match self {
+            Self::Success(_) => SerializeV1AdvertisementResultKind::Success,
+            Self::InvalidBuilderState => SerializeV1AdvertisementResultKind::InvalidBuilderState,
+            Self::InvalidAdvertisementBuilderHandle => {
+                SerializeV1AdvertisementResultKind::InvalidAdvertisementBuilderHandle
+            }
+        }
+    }
+}
+
+/// Internal, Rust-side implementation of a V1 advertisement builder.
+pub struct V1AdvertisementBuilderInternals {
+    // Note: This is actually always populated from an external
+    // perspective in the absence of panics. We only need
+    // the `Option` in order to be able to take ownership
+    // and perform a state transition when needed.
+    state: Option<V1AdvertisementBuilderState>,
+}
+
+impl V1AdvertisementBuilderInternals {
+    pub(crate) fn new(kind: AdvertisementBuilderKind) -> Self {
+        let adv_type = kind.as_internal_v1();
+        let builder = np_adv::extended::serialize::AdvBuilder::new(adv_type);
+        let builder = builder.into();
+        let state = Some(V1AdvertisementBuilderState::Advertisement(builder));
+        Self { state }
+    }
+    /// Internals of section_builder-type routines. Upon success, yields the index
+    /// of the newly-added section builder.
+    pub(crate) fn section_builder_internal(
+        &mut self,
+        identity: np_adv_dynamic::extended::BoxedIdentity<CryptoProviderImpl>,
+    ) -> Result<usize, SectionBuilderError> {
+        let state = self.state.take();
+        match state {
+            Some(V1AdvertisementBuilderState::Advertisement(adv_builder)) => {
+                match adv_builder.into_section_builder::<CryptoProviderImpl>(identity) {
+                    Ok(section_builder) => {
+                        let section_index = section_builder.section_index();
+                        self.state = Some(V1AdvertisementBuilderState::Section(section_builder));
+                        Ok(section_index)
+                    }
+                    Err((adv_builder, err)) => {
+                        self.state = Some(V1AdvertisementBuilderState::Advertisement(adv_builder));
+                        Err(err.into())
+                    }
+                }
+            }
+            x => {
+                // Note: Technically, this case also would leave the `None` state
+                // if we ever entered into it, but we never transition to that
+                // state during normal operation.
+                self.state = x;
+                Err(SectionBuilderError::UnclosedActiveSection)
+            }
+        }
+    }
+
+    pub(crate) fn public_section_builder(&mut self) -> Result<usize, SectionBuilderError> {
+        let identity = np_adv_dynamic::extended::BoxedIdentity::PublicIdentity;
+        self.section_builder_internal(identity)
+    }
+    pub(crate) fn encrypted_section_builder(
+        &mut self,
+        broadcast_cred: V1BroadcastCredential,
+        identity_type: EncryptedIdentityType,
+        verification_mode: V1VerificationMode,
+    ) -> Result<usize, SectionBuilderError> {
+        let mut rng = get_global_crypto_rng();
+        let rng = rng.get_rng();
+        let identity_type = identity_type.into();
+        let internal_broadcast_cred = broadcast_cred.into_internal();
+        let identity = match verification_mode {
+            V1VerificationMode::Mic => {
+                let encoder = np_adv::extended::serialize::MicEncryptedSectionEncoder::<
+                    CryptoProviderImpl,
+                >::new_random_salt(
+                    rng, identity_type, &internal_broadcast_cred
+                );
+                np_adv_dynamic::extended::BoxedIdentity::MicEncrypted(encoder)
+            }
+            V1VerificationMode::Signature => {
+                let encoder = np_adv::extended::serialize::SignedEncryptedSectionEncoder::<
+                    CryptoProviderImpl,
+                >::new_random_salt(
+                    rng, identity_type, &internal_broadcast_cred
+                );
+                np_adv_dynamic::extended::BoxedIdentity::SignedEncrypted(encoder)
+            }
+        };
+        self.section_builder_internal(identity)
+    }
+    fn into_advertisement(self) -> SerializeV1AdvertisementResult {
+        match self.state {
+            Some(V1AdvertisementBuilderState::Advertisement(adv_builder)) => {
+                let array_view = adv_builder.into_advertisement().into_array_view();
+                SerializeV1AdvertisementResult::Success(ByteBuffer::from_array_view(array_view))
+            }
+            _ => SerializeV1AdvertisementResult::InvalidBuilderState,
+        }
+    }
+}
+
+fn get_v1_advertisement_builder_handle_map_dimensions() -> HandleMapDimensions {
+    HandleMapDimensions {
+        num_shards: global_num_shards(),
+        max_active_handles: global_max_num_v1_advertisement_builders(),
+    }
+}
+
+/// A `#[repr(C)]` handle to a value of type `V1AdvertisementBuilderInternals`
+#[repr(C)]
+#[derive(Clone, Copy, PartialEq, Eq)]
+struct V1AdvertisementBuilderHandle {
+    handle_id: u64,
+}
+
+declare_handle_map!(
+    advertisement_builder,
+    super::get_v1_advertisement_builder_handle_map_dimensions(),
+    super::V1AdvertisementBuilderHandle,
+    super::V1AdvertisementBuilderInternals
+);
+
+/// Discriminant for `CreateV1SectionBuilderResult`
+#[derive(Copy, Clone)]
+#[repr(u8)]
+pub enum CreateV1SectionBuilderResultKind {
+    /// The attempt to create a new section builder succeeded.
+    Success = 0,
+    /// We're currently in the middle of building a section.
+    UnclosedActiveSection = 1,
+    /// The advertisement builder handle was invalid.
+    InvalidAdvertisementBuilderHandle = 2,
+    /// We're attempting to build a section with an identity
+    /// kind (public/encrypted) which doesn't match the kind
+    /// for the entire advertisement.
+    IdentityKindMismatch = 3,
+    /// There isn't enough space for a new section, either
+    /// because the maximum section count has been exceeded
+    /// or because the advertisement is almost full, and
+    /// the minimum size of a section wouldn't fit.
+    NoSpaceLeft = 4,
+}
+
+/// The result of attempting to create a new V1 section builder.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum CreateV1SectionBuilderResult {
+    Success(V1SectionBuilder),
+    UnclosedActiveSection,
+    InvalidAdvertisementBuilderHandle,
+    IdentityKindMismatch,
+    NoSpaceLeft,
+}
+
+impl FfiEnum for CreateV1SectionBuilderResult {
+    type Kind = CreateV1SectionBuilderResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            Self::Success(_) => CreateV1SectionBuilderResultKind::Success,
+            Self::UnclosedActiveSection => CreateV1SectionBuilderResultKind::UnclosedActiveSection,
+            Self::InvalidAdvertisementBuilderHandle => {
+                CreateV1SectionBuilderResultKind::InvalidAdvertisementBuilderHandle
+            }
+            Self::IdentityKindMismatch => CreateV1SectionBuilderResultKind::IdentityKindMismatch,
+            Self::NoSpaceLeft => CreateV1SectionBuilderResultKind::NoSpaceLeft,
+        }
+    }
+}
+
+impl CreateV1SectionBuilderResult {
+    declare_enum_cast! {into_success, Success, V1SectionBuilder}
+}
+
+impl From<SectionBuilderError> for CreateV1SectionBuilderResult {
+    fn from(err: SectionBuilderError) -> Self {
+        match err {
+            SectionBuilderError::UnclosedActiveSection => Self::UnclosedActiveSection,
+            SectionBuilderError::IdentityKindMismatch => Self::IdentityKindMismatch,
+            SectionBuilderError::NoSpaceLeft => Self::NoSpaceLeft,
+        }
+    }
+}
+
+/// Result code for [`V1SectionBuilder#add_to_advertisement`].
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum AddV1SectionToAdvertisementResult {
+    /// The section referenced by the given handle
+    /// couldn't be added to the containing advertisement,
+    /// possibly because the handle is invalid or the section
+    /// has already been added to the containing section.
+    Error = 0,
+    /// The section referenced by the given handle
+    /// was successfully added to the containing advertisement.
+    /// After obtaining this result code, the section
+    /// handle will no longer be valid.
+    Success = 1,
+}
+
+/// Result code for operations adding DEs to a section builder.
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum AddV1DEResult {
+    /// The DE was successfully added to the section builder
+    /// behind the given handle.
+    Success = 0,
+    /// The handle for the section builder was invalid.
+    InvalidSectionHandle = 1,
+    /// There was no more space left in the advertisement
+    /// to fit the DE in the containing section.
+    InsufficientSectionSpace = 2,
+    /// The data element itself had invalid characteristics,
+    /// most likely a length above 127.
+    InvalidDataElement = 3,
+}
+
+/// Discriminant for `NextV1DE16ByteSaltResult`.
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum NextV1DE16ByteSaltResultKind {
+    /// We couldn't return a 16-byte DE salt, possibly
+    /// because the handle to the section builder
+    /// was invalid, or possibly because the section
+    /// builder was for a public section.
+    Error = 0,
+    /// A 16-byte DE salt was returned successfully.
+    Success = 1,
+}
+
+/// The result of attempting to get the derived V1 DE
+/// 16-byte salt for the next-added DE to the section
+/// builder behind the given handle.
+#[derive(Clone)]
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum NextV1DE16ByteSaltResult {
+    Error,
+    Success(FixedSizeArray<16>),
+}
+
+impl FfiEnum for NextV1DE16ByteSaltResult {
+    type Kind = NextV1DE16ByteSaltResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            Self::Error => NextV1DE16ByteSaltResultKind::Error,
+            Self::Success(_) => NextV1DE16ByteSaltResultKind::Success,
+        }
+    }
+}
+
+impl NextV1DE16ByteSaltResult {
+    declare_enum_cast! {into_success, Success, FixedSizeArray<16> }
+}
+
+impl From<Option<np_adv::extended::serialize::DeSalt<CryptoProviderImpl>>>
+    for NextV1DE16ByteSaltResult
+{
+    fn from(maybe_salt: Option<np_adv::extended::serialize::DeSalt<CryptoProviderImpl>>) -> Self {
+        match maybe_salt.and_then(|salt| salt.derive::<16>()) {
+            Some(salt) => NextV1DE16ByteSaltResult::Success(FixedSizeArray::from_array(salt)),
+            None => NextV1DE16ByteSaltResult::Error,
+        }
+    }
+}
+
+/// A handle to a builder for V1 sections.
+#[derive(Clone, Copy)]
+#[repr(C)]
+pub struct V1SectionBuilder {
+    adv_builder: V1AdvertisementBuilder,
+    section_index: u8,
+}
+
+impl V1SectionBuilder {
+    /// Attempts to add the section constructed behind this handle
+    /// to a section builder to the containing advertisement it
+    /// originated from.
+    pub fn add_to_advertisement(self) -> AddV1SectionToAdvertisementResult {
+        match self.adv_builder.handle.get_mut() {
+            Ok(mut adv_builder) => {
+                let state = adv_builder.state.take();
+                match state {
+                    Some(V1AdvertisementBuilderState::Section(section_builder)) => {
+                        // Make sure the index of the section we're trying to close
+                        // matches the index of the section currently under construction.
+                        let actual_section_index = section_builder.section_index() as u8;
+                        if self.section_index == actual_section_index {
+                            let updated_adv_builder = section_builder.add_to_advertisement();
+                            adv_builder.state = Some(V1AdvertisementBuilderState::Advertisement(
+                                updated_adv_builder,
+                            ));
+                            AddV1SectionToAdvertisementResult::Success
+                        } else {
+                            adv_builder.state =
+                                Some(V1AdvertisementBuilderState::Section(section_builder));
+                            AddV1SectionToAdvertisementResult::Error
+                        }
+                    }
+                    x => {
+                        adv_builder.state = x;
+                        AddV1SectionToAdvertisementResult::Error
+                    }
+                }
+            }
+            Err(_) => AddV1SectionToAdvertisementResult::Error,
+        }
+    }
+
+    /// Attempts to get the derived 16-byte V1 DE salt for the next
+    /// DE to be added to this section builder. May fail if this
+    /// section builder handle is invalid, or if the section
+    /// is a public section.
+    pub fn next_de_salt(&self) -> NextV1DE16ByteSaltResult {
+        self.try_apply_to_internals(
+            |section_builder| section_builder.next_de_salt().into(),
+            NextV1DE16ByteSaltResult::Error,
+        )
+    }
+
+    /// Attempts to add the given DE to the section builder behind
+    /// this handle. The passed DE may have a payload of up to 127
+    /// bytes, the maximum for a V1 DE.
+    pub fn add_127_byte_buffer_de(&self, de: V1DE127ByteBuffer) -> AddV1DEResult {
+        match de.into_internal() {
+            Some(generic_de) => self
+                .add_de_internals(np_adv_dynamic::extended::BoxedWriteDataElement::new(generic_de)),
+            None => AddV1DEResult::InvalidDataElement,
+        }
+    }
+
+    fn add_de_internals(
+        &self,
+        de: np_adv_dynamic::extended::BoxedWriteDataElement,
+    ) -> AddV1DEResult {
+        self.try_apply_to_internals(
+            move |section_builder| match section_builder.add_de(move |_| de) {
+                Ok(_) => AddV1DEResult::Success,
+                Err(_) => AddV1DEResult::InsufficientSectionSpace,
+            },
+            AddV1DEResult::InvalidSectionHandle,
+        )
+    }
+
+    fn try_apply_to_internals<R>(
+        &self,
+        func: impl FnOnce(
+            &mut np_adv_dynamic::extended::BoxedSectionBuilder<
+                np_adv::extended::serialize::AdvBuilder,
+                CryptoProviderImpl,
+            >,
+        ) -> R,
+        invalid_handle_error: R,
+    ) -> R {
+        match self.adv_builder.handle.get_mut() {
+            Ok(mut adv_builder) => {
+                match adv_builder.state.as_mut() {
+                    Some(V1AdvertisementBuilderState::Section(ref mut section_builder)) => {
+                        // Check to make sure that the section index matches, otherwise
+                        // we have an invalid handle.
+                        let current_section_index = section_builder.section_index() as u8;
+                        if current_section_index == self.section_index {
+                            func(section_builder)
+                        } else {
+                            invalid_handle_error
+                        }
+                    }
+                    Some(V1AdvertisementBuilderState::Advertisement(_)) => invalid_handle_error,
+                    None => invalid_handle_error,
+                }
+            }
+            Err(_) => invalid_handle_error,
+        }
+    }
+}
+
+/// Represents the contents of a V1 DE whose payload
+/// is stored in a buffer which may contain up to 127 bytes,
+/// which is the maximum for any V1 DE.
+///
+/// This representation is stable, and so you may directly
+/// reference this struct's fields if you wish.
+#[repr(C)]
+//TODO: Partial unification with `deserialize::v1::GenericV1DataElement`?
+pub struct V1DE127ByteBuffer {
+    /// The DE type code of this generic data-element.
+    pub de_type: u32,
+    /// The raw data-element byte payload, up to
+    /// 127 bytes in length.
+    pub payload: ByteBuffer<127>,
+}
+
+impl V1DE127ByteBuffer {
+    /// Attempts to convert this FFI-friendly DE with a byte-buffer size of 127
+    /// to the internal representation of a generic DE. May fail in the case
+    /// where the underlying payload byte-buffer has an invalid length above 127.
+    fn into_internal(self) -> Option<np_adv::extended::data_elements::GenericDataElement> {
+        let de_type = np_adv::extended::de_type::DeType::from(self.de_type);
+        self.payload.as_slice().and_then(move |payload_slice| {
+            np_adv::extended::data_elements::GenericDataElement::try_from(de_type, payload_slice)
+                .ok()
+        })
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    const EMPTY_BROADCAST_CRED: V1BroadcastCredential =
+        V1BroadcastCredential::new([0; 32], [0; 16], [0; 32]);
+
+    fn state_is_advertisement_building(adv_builder_state: &V1AdvertisementBuilderState) -> bool {
+        matches!(adv_builder_state, V1AdvertisementBuilderState::Advertisement(_))
+    }
+
+    #[allow(clippy::expect_used)]
+    #[test]
+    fn test_build_section_fails_with_outstanding_section() {
+        let mut adv_builder =
+            V1AdvertisementBuilderInternals::new(AdvertisementBuilderKind::Encrypted);
+
+        let adv_builder_state =
+            adv_builder.state.as_ref().expect("Adv builder state should be present.");
+        assert!(state_is_advertisement_building(adv_builder_state));
+        let section_index = adv_builder
+            .encrypted_section_builder(
+                EMPTY_BROADCAST_CRED,
+                EncryptedIdentityType::Private,
+                V1VerificationMode::Mic,
+            )
+            .expect("Should be able to build the first section.");
+        assert_eq!(section_index, 0);
+
+        assert!(adv_builder.state.is_some());
+        let adv_builder_state =
+            adv_builder.state.as_ref().expect("Adv builder state should be present.");
+        assert!(!state_is_advertisement_building(adv_builder_state));
+
+        let double_build_error = adv_builder
+            .encrypted_section_builder(
+                EMPTY_BROADCAST_CRED,
+                EncryptedIdentityType::Private,
+                V1VerificationMode::Mic,
+            )
+            .expect_err("Shouldn't be able to start a new section builder with an unclosed one.");
+        assert_eq!(double_build_error, SectionBuilderError::UnclosedActiveSection);
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/utils.rs b/nearby/presence/np_ffi_core/src/utils.rs
index e547a89..b1495b9 100644
--- a/nearby/presence/np_ffi_core/src/utils.rs
+++ b/nearby/presence/np_ffi_core/src/utils.rs
@@ -37,6 +37,7 @@
 ///
 /// If the enclosing enum turns out to not be the requested
 /// variant, the generated method will return `None`.
+#[macro_export]
 macro_rules! declare_enum_cast {
     ($projection_method_name:ident, $variant_enum_name:ident, $variant_type_name:ty) => {
         #[doc = concat!("Attempts to cast `self` to the `", stringify!($variant_enum_name),
diff --git a/nearby/presence/np_ffi_core/src/v0.rs b/nearby/presence/np_ffi_core/src/v0.rs
new file mode 100644
index 0000000..89a427c
--- /dev/null
+++ b/nearby/presence/np_ffi_core/src/v0.rs
@@ -0,0 +1,461 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Common externally-acessible V0 constructs for both of the
+//! serialization+deserialization flows.
+
+use crate::common::InvalidStackDataStructure;
+use crate::serialize::AdvertisementBuilderKind;
+use crate::utils::FfiEnum;
+use np_adv::legacy::actions::ActionsDataElement;
+use np_adv::legacy::{data_elements as np_adv_de, Ciphertext, PacketFlavorEnum, Plaintext};
+
+/// Discriminant for `V0DataElement`.
+#[repr(u8)]
+pub enum V0DataElementKind {
+    /// A transmission Power (Tx Power) data-element.
+    /// The associated payload may be obtained via
+    /// `V0DataElement#into_tx_power`.
+    TxPower = 0,
+    /// The Actions data-element.
+    /// The associated payload may be obtained via
+    /// `V0DataElement#into_actions`.
+    Actions = 1,
+}
+
+/// Representation of a V0 data element.
+#[repr(C)]
+#[allow(missing_docs)]
+#[derive(Clone)]
+pub enum V0DataElement {
+    TxPower(TxPower),
+    Actions(V0Actions),
+}
+
+impl TryFrom<V0DataElement> for np_adv_dynamic::legacy::ToBoxedDataElementBundle {
+    type Error = InvalidStackDataStructure;
+    fn try_from(de: V0DataElement) -> Result<Self, InvalidStackDataStructure> {
+        match de {
+            V0DataElement::TxPower(x) => x.try_into(),
+            V0DataElement::Actions(x) => x.try_into(),
+        }
+    }
+}
+
+impl<F: np_adv::legacy::PacketFlavor> From<np_adv::legacy::deserialize::PlainDataElement<F>>
+    for V0DataElement
+{
+    fn from(de: np_adv::legacy::deserialize::PlainDataElement<F>) -> Self {
+        use np_adv::legacy::deserialize::PlainDataElement;
+        match de {
+            PlainDataElement::Actions(x) => V0DataElement::Actions(x.into()),
+            PlainDataElement::TxPower(x) => V0DataElement::TxPower(x.into()),
+        }
+    }
+}
+
+impl FfiEnum for V0DataElement {
+    type Kind = V0DataElementKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            V0DataElement::Actions(_) => V0DataElementKind::Actions,
+            V0DataElement::TxPower(_) => V0DataElementKind::TxPower,
+        }
+    }
+}
+
+impl V0DataElement {
+    declare_enum_cast! {into_tx_power, TxPower, TxPower}
+    declare_enum_cast! {into_actions, Actions, V0Actions}
+}
+
+/// Discriminant for `BuildTxPowerResult`.
+#[repr(u8)]
+#[derive(Clone, Copy)]
+pub enum BuildTxPowerResultKind {
+    /// The transmission power was outside the
+    /// allowed -100dBm to 20dBm range.
+    OutOfRange = 0,
+    /// The transmission power was in range,
+    /// and so a `TxPower` struct was constructed.
+    Success = 1,
+}
+
+/// Result type for attempting to construct a
+/// Tx Power from a signed byte.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum BuildTxPowerResult {
+    OutOfRange,
+    Success(TxPower),
+}
+
+impl FfiEnum for BuildTxPowerResult {
+    type Kind = BuildTxPowerResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            Self::OutOfRange => BuildTxPowerResultKind::OutOfRange,
+            Self::Success(_) => BuildTxPowerResultKind::Success,
+        }
+    }
+}
+
+impl BuildTxPowerResult {
+    declare_enum_cast! {into_success, Success, TxPower}
+}
+
+/// Representation of a transmission power,
+/// as used for the Tx Power DE in V0 and V1.
+#[derive(Clone)]
+#[repr(C)]
+pub struct TxPower {
+    tx_power: i8,
+}
+
+impl TxPower {
+    /// Attempts to construct a new TxPower from
+    /// the given signed-byte value.
+    pub fn build_from_signed_byte(tx_power: i8) -> BuildTxPowerResult {
+        match np_adv::shared_data::TxPower::try_from(tx_power) {
+            Ok(_) => BuildTxPowerResult::Success(Self { tx_power }),
+            Err(_) => BuildTxPowerResult::OutOfRange,
+        }
+    }
+    /// Yields this Tx Power value as an i8.
+    pub fn as_i8(&self) -> i8 {
+        self.tx_power
+    }
+}
+
+impl From<np_adv_de::TxPowerDataElement> for TxPower {
+    fn from(de: np_adv_de::TxPowerDataElement) -> Self {
+        Self { tx_power: de.tx_power_value() }
+    }
+}
+
+impl TryFrom<TxPower> for np_adv_dynamic::legacy::ToBoxedDataElementBundle {
+    type Error = InvalidStackDataStructure;
+    fn try_from(value: TxPower) -> Result<Self, InvalidStackDataStructure> {
+        np_adv::shared_data::TxPower::try_from(value.as_i8())
+            .map_err(|_| InvalidStackDataStructure)
+            .map(|x| x.into())
+    }
+}
+
+/// Discriminant for `BuildContextSyncSeqNumResult`.
+#[repr(u8)]
+#[derive(Clone, Copy)]
+pub enum BuildContextSyncSeqNumResultKind {
+    /// The sequence number was outside the allowed
+    /// 0-15 single-nibble range.
+    OutOfRange = 0,
+    /// The sequence number was in range,
+    /// and so a `ContextSyncSeqNum` was constructed.
+    Success = 1,
+}
+
+/// Result type for attempting to construct a
+/// ContextSyncSeqNum from an unsigned byte.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum BuildContextSyncSeqNumResult {
+    OutOfRange,
+    Success(ContextSyncSeqNum),
+}
+
+impl FfiEnum for BuildContextSyncSeqNumResult {
+    type Kind = BuildContextSyncSeqNumResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            Self::OutOfRange => BuildContextSyncSeqNumResultKind::OutOfRange,
+            Self::Success(_) => BuildContextSyncSeqNumResultKind::Success,
+        }
+    }
+}
+
+impl BuildContextSyncSeqNumResult {
+    declare_enum_cast! {into_success, Success, ContextSyncSeqNum}
+}
+/// Representation of a context-sync sequence number.
+#[derive(Clone, Copy)]
+#[repr(C)]
+pub struct ContextSyncSeqNum {
+    value: u8,
+}
+
+impl ContextSyncSeqNum {
+    /// Attempts to build a new context sync sequence number
+    /// from the given unsigned byte.
+    pub fn build_from_unsigned_byte(value: u8) -> BuildContextSyncSeqNumResult {
+        match np_adv::shared_data::ContextSyncSeqNum::try_from(value) {
+            Ok(_) => BuildContextSyncSeqNumResult::Success(Self { value }),
+            Err(_) => BuildContextSyncSeqNumResult::OutOfRange,
+        }
+    }
+    /// Yields this context sync sequence number
+    /// as a u8.
+    pub fn as_u8(&self) -> u8 {
+        self.value
+    }
+}
+
+impl From<np_adv::shared_data::ContextSyncSeqNum> for ContextSyncSeqNum {
+    fn from(value: np_adv::shared_data::ContextSyncSeqNum) -> Self {
+        let value = value.as_u8();
+        Self { value }
+    }
+}
+
+impl TryFrom<ContextSyncSeqNum> for np_adv_dynamic::legacy::ToBoxedActionElement {
+    type Error = InvalidStackDataStructure;
+    fn try_from(value: ContextSyncSeqNum) -> Result<Self, Self::Error> {
+        let value = value.as_u8();
+        np_adv::shared_data::ContextSyncSeqNum::try_from(value)
+            .map(np_adv_dynamic::legacy::ToBoxedActionElement::ContextSyncSeqNum)
+            .map_err(|_| InvalidStackDataStructure)
+    }
+}
+
+/// Representation of the Actions DE in V0.
+#[derive(Clone, Copy)]
+#[repr(C)]
+pub enum V0Actions {
+    /// A set of action bits which were present in a plaintext identity advertisement
+    Plaintext(V0ActionBits),
+    /// A set of action bits which were present in a encrypted identity advertisement
+    Encrypted(V0ActionBits),
+}
+
+impl TryFrom<V0Actions> for np_adv_dynamic::legacy::ToBoxedDataElementBundle {
+    type Error = InvalidStackDataStructure;
+    fn try_from(value: V0Actions) -> Result<Self, InvalidStackDataStructure> {
+        let boxed_action_bits = np_adv_dynamic::legacy::BoxedActionBits::try_from(value)?;
+        Ok(boxed_action_bits.into())
+    }
+}
+
+impl<F: np_adv::legacy::PacketFlavor> From<np_adv::legacy::actions::ActionsDataElement<F>>
+    for V0Actions
+{
+    fn from(value: ActionsDataElement<F>) -> Self {
+        match F::ENUM_VARIANT {
+            PacketFlavorEnum::Plaintext => {
+                Self::Plaintext(V0ActionBits { bitfield: value.action.as_u32() })
+            }
+            PacketFlavorEnum::Ciphertext => {
+                Self::Encrypted(V0ActionBits { bitfield: value.action.as_u32() })
+            }
+        }
+    }
+}
+
+#[repr(C)]
+#[derive(Clone, Copy)]
+/// The bitfield data of a VOActions data element
+pub struct V0ActionBits {
+    bitfield: u32,
+}
+
+#[derive(Clone, Copy)]
+#[allow(missing_docs)]
+#[repr(u8)]
+/// The possible boolean action types which can be present in an Actions data element
+pub enum BooleanActionType {
+    ActiveUnlock = 8,
+    NearbyShare = 9,
+    InstantTethering = 10,
+    PhoneHub = 11,
+    PresenceManager = 12,
+    Finder = 13,
+    FastPairSass = 14,
+}
+
+impl BooleanActionType {
+    pub(crate) fn as_boxed_action_element(
+        &self,
+        value: bool,
+    ) -> np_adv_dynamic::legacy::ToBoxedActionElement {
+        use np_adv_dynamic::legacy::ToBoxedActionElement;
+        match self {
+            Self::ActiveUnlock => ToBoxedActionElement::ActiveUnlock(value),
+            Self::NearbyShare => ToBoxedActionElement::NearbyShare(value),
+            Self::InstantTethering => ToBoxedActionElement::InstantTethering(value),
+            Self::PhoneHub => ToBoxedActionElement::PhoneHub(value),
+            Self::PresenceManager => ToBoxedActionElement::PresenceManager(value),
+            Self::Finder => ToBoxedActionElement::Finder(value),
+            Self::FastPairSass => ToBoxedActionElement::FastPairSass(value),
+        }
+    }
+}
+
+impl From<BooleanActionType> for np_adv::legacy::actions::ActionType {
+    fn from(value: BooleanActionType) -> Self {
+        match value {
+            BooleanActionType::ActiveUnlock => np_adv::legacy::actions::ActionType::ActiveUnlock,
+            BooleanActionType::NearbyShare => np_adv::legacy::actions::ActionType::NearbyShare,
+            BooleanActionType::InstantTethering => {
+                np_adv::legacy::actions::ActionType::InstantTethering
+            }
+            BooleanActionType::PhoneHub => np_adv::legacy::actions::ActionType::PhoneHub,
+            BooleanActionType::Finder => np_adv::legacy::actions::ActionType::Finder,
+            BooleanActionType::FastPairSass => np_adv::legacy::actions::ActionType::FastPairSass,
+            BooleanActionType::PresenceManager => {
+                np_adv::legacy::actions::ActionType::PresenceManager
+            }
+        }
+    }
+}
+
+impl From<np_adv_dynamic::legacy::BoxedActionBits> for V0Actions {
+    fn from(bits: np_adv_dynamic::legacy::BoxedActionBits) -> Self {
+        use np_adv_dynamic::legacy::BoxedActionBits;
+        match bits {
+            BoxedActionBits::Plaintext(x) => Self::Plaintext(V0ActionBits { bitfield: x.as_u32() }),
+            BoxedActionBits::Ciphertext(x) => {
+                Self::Encrypted(V0ActionBits { bitfield: x.as_u32() })
+            }
+        }
+    }
+}
+
+impl TryFrom<V0Actions> for np_adv_dynamic::legacy::BoxedActionBits {
+    type Error = InvalidStackDataStructure;
+    fn try_from(actions: V0Actions) -> Result<Self, InvalidStackDataStructure> {
+        match actions {
+            V0Actions::Plaintext(action_bits) => {
+                let bits = np_adv::legacy::actions::ActionBits::<Plaintext>::try_from(
+                    action_bits.bitfield,
+                )
+                .map_err(|_| InvalidStackDataStructure)?;
+                Ok(bits.into())
+            }
+            V0Actions::Encrypted(action_bits) => {
+                let bits = np_adv::legacy::actions::ActionBits::<Ciphertext>::try_from(
+                    action_bits.bitfield,
+                )
+                .map_err(|_| InvalidStackDataStructure)?;
+                Ok(bits.into())
+            }
+        }
+    }
+}
+
+/// Discriminant for `SetV0ActionResult`.
+#[repr(u8)]
+pub enum SetV0ActionResultKind {
+    /// The attempt to set the action bit failed. The
+    /// action bits were yielded back to the caller,
+    /// unmodified.
+    Error = 0,
+    /// The attempt to set the action bit succeeded.
+    /// The updated action bits were yielded back to the caller.
+    Success = 1,
+}
+
+/// The result of attempting to set a particular action
+/// bit on some `V0Actions`.
+#[repr(C)]
+#[allow(missing_docs)]
+pub enum SetV0ActionResult {
+    Success(V0Actions),
+    Error(V0Actions),
+}
+
+impl FfiEnum for SetV0ActionResult {
+    type Kind = SetV0ActionResultKind;
+    fn kind(&self) -> Self::Kind {
+        match self {
+            Self::Success(_) => SetV0ActionResultKind::Success,
+            Self::Error(_) => SetV0ActionResultKind::Error,
+        }
+    }
+}
+
+impl SetV0ActionResult {
+    declare_enum_cast! { into_success, Success, V0Actions }
+    declare_enum_cast! { into_error, Error, V0Actions }
+}
+
+impl V0Actions {
+    /// Constructs a new V0 actions DE with no declared boolean
+    /// actions and a zeroed context sync sequence number,
+    /// where the DE is intended for the given advertisement
+    /// kind (plaintext/encrypted).
+    pub fn new_zeroed(kind: AdvertisementBuilderKind) -> Self {
+        match kind {
+            AdvertisementBuilderKind::Public => Self::Plaintext(V0ActionBits { bitfield: 0 }),
+            AdvertisementBuilderKind::Encrypted => Self::Encrypted(V0ActionBits { bitfield: 0 }),
+        }
+    }
+
+    /// Gets the V0 Action bits as represented by a u32 where the last 8 bits are
+    /// always 0 since V0 actions can only hold up to 24 bits.
+    pub fn as_u32(&self) -> u32 {
+        match self {
+            V0Actions::Plaintext(bits) => bits.bitfield,
+            V0Actions::Encrypted(bits) => bits.bitfield,
+        }
+    }
+
+    /// Return whether a boolean action type is set in this data element
+    #[allow(clippy::expect_used)]
+    pub fn has_action(
+        &self,
+        action_type: BooleanActionType,
+    ) -> Result<bool, InvalidStackDataStructure> {
+        let boxed_action_bits = np_adv_dynamic::legacy::BoxedActionBits::try_from(*self)?;
+        let action_type = action_type.into();
+        Ok(boxed_action_bits.has_action(&action_type).expect("BooleanActionType only has one bit"))
+    }
+
+    /// Attempts to set the given action bit to the given boolean value.
+    /// This operation may fail if the requested action bit may not be
+    /// set for the kind of containing advertisement (public/encrypted)
+    /// that this action DE is intended to belong to. In this case,
+    /// the original action bits will be yielded back to the caller,
+    /// unaltered.
+    pub fn set_action(
+        self,
+        action_type: BooleanActionType,
+        value: bool,
+    ) -> Result<SetV0ActionResult, InvalidStackDataStructure> {
+        let mut boxed_action_bits = np_adv_dynamic::legacy::BoxedActionBits::try_from(self)?;
+        let boxed_action_element = action_type.as_boxed_action_element(value);
+        match boxed_action_bits.set_action(boxed_action_element) {
+            Ok(()) => Ok(SetV0ActionResult::Success(boxed_action_bits.into())),
+            Err(_) => Ok(SetV0ActionResult::Error(self)),
+        }
+    }
+
+    /// Sets the context sequence number for this data element.
+    #[allow(clippy::expect_used)]
+    pub fn set_context_sync_seq_num(
+        self,
+        value: ContextSyncSeqNum,
+    ) -> Result<Self, InvalidStackDataStructure> {
+        let mut boxed_action_bits = np_adv_dynamic::legacy::BoxedActionBits::try_from(self)?;
+        let boxed_action_element = np_adv_dynamic::legacy::ToBoxedActionElement::try_from(value)?;
+        boxed_action_bits
+            .set_action(boxed_action_element)
+            .expect("Context sync sequence number always may be present");
+        Ok(boxed_action_bits.into())
+    }
+
+    /// Return the context sequence number from this data element
+    #[allow(clippy::expect_used)]
+    pub fn get_context_sync_seq_num(&self) -> Result<ContextSyncSeqNum, InvalidStackDataStructure> {
+        let boxed_action_bits = np_adv_dynamic::legacy::BoxedActionBits::try_from(*self)?;
+        Ok(boxed_action_bits.get_context_sync_seq_num().into())
+    }
+}
diff --git a/nearby/presence/np_ffi_core/src/v1.rs b/nearby/presence/np_ffi_core/src/v1.rs
new file mode 100644
index 0000000..c7b564d
--- /dev/null
+++ b/nearby/presence/np_ffi_core/src/v1.rs
@@ -0,0 +1,38 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Common externally-acessible V1 constructs for both of the
+//! serialization+deserialization flows.
+
+/// Information about the verification scheme used
+/// for verifying the integrity of the contents
+/// of a decrypted section.
+#[derive(Clone, Copy)]
+#[repr(u8)]
+pub enum V1VerificationMode {
+    /// Message integrity code verification.
+    Mic = 0,
+    /// Signature verification.
+    Signature = 1,
+}
+
+impl From<np_adv::extended::deserialize::VerificationMode> for V1VerificationMode {
+    fn from(verification_mode: np_adv::extended::deserialize::VerificationMode) -> Self {
+        use np_adv::extended::deserialize::VerificationMode;
+        match verification_mode {
+            VerificationMode::Mic => Self::Mic,
+            VerificationMode::Signature => Self::Signature,
+        }
+    }
+}
diff --git a/nearby/presence/xts_aes/fuzz/Cargo.lock b/nearby/presence/xts_aes/fuzz/Cargo.lock
index 1844bd3..52831cd 100644
--- a/nearby/presence/xts_aes/fuzz/Cargo.lock
+++ b/nearby/presence/xts_aes/fuzz/Cargo.lock
@@ -55,9 +55,9 @@
 
 [[package]]
 name = "arbitrary"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d098ff73c1ca148721f37baad5ea6a465a13f9573aba8641fbbbae8164a54e"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
 dependencies = [
  "derive_arbitrary",
 ]
@@ -92,9 +92,9 @@
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "cbc"
@@ -107,11 +107,12 @@
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -132,24 +133,24 @@
 
 [[package]]
 name = "const-oid"
-version = "0.9.4"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crypto-bigint"
-version = "0.5.2"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 dependencies = [
  "generic-array",
  "rand_core",
@@ -211,9 +212,9 @@
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2"
+checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -227,9 +228,9 @@
 
 [[package]]
 name = "curve25519-dalek-derive"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -238,9 +239,9 @@
 
 [[package]]
 name = "der"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
 dependencies = [
  "const-oid",
  "zeroize",
@@ -248,9 +249,9 @@
 
 [[package]]
 name = "derive_arbitrary"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -270,30 +271,31 @@
 
 [[package]]
 name = "ed25519"
-version = "2.2.1"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
 dependencies = [
  "signature",
 ]
 
 [[package]]
 name = "ed25519-dalek"
-version = "2.0.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980"
+checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871"
 dependencies = [
  "curve25519-dalek",
  "ed25519",
  "rand_core",
  "sha2",
+ "subtle",
 ]
 
 [[package]]
 name = "elliptic-curve"
-version = "0.13.5"
+version = "0.13.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
@@ -320,9 +322,9 @@
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
 
 [[package]]
 name = "generic-array"
@@ -337,9 +339,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -369,9 +371,9 @@
 
 [[package]]
 name = "hkdf"
-version = "0.12.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 dependencies = [
  "hmac",
 ]
@@ -397,9 +399,9 @@
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
@@ -413,15 +415,15 @@
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libfuzzer-sys"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb09950ae85a0a94b27676cccf37da5ff13f27076aa1adbc6545dd0d0e1bd4e"
+checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
 dependencies = [
  "arbitrary",
  "cc",
@@ -430,9 +432,9 @@
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "opaque-debug"
@@ -452,9 +454,9 @@
 
 [[package]]
 name = "platforms"
-version = "3.0.2"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630"
+checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
 
 [[package]]
 name = "polyval"
@@ -476,27 +478,27 @@
 
 [[package]]
 name = "primeorder"
-version = "0.13.2"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
 dependencies = [
  "elliptic-curve",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.31"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -553,15 +555,15 @@
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -570,9 +572,9 @@
 
 [[package]]
 name = "signature"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 
 [[package]]
 name = "subtle"
@@ -582,9 +584,9 @@
 
 [[package]]
 name = "syn"
-version = "2.0.26"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -599,15 +601,15 @@
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "universal-hash"
@@ -633,9 +635,9 @@
 
 [[package]]
 name = "x25519-dalek"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
+checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
 dependencies = [
  "curve25519-dalek",
  "rand_core",
@@ -664,6 +666,6 @@
 
 [[package]]
 name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/nearby/rustfmt.toml b/nearby/rustfmt.toml
index 10c1698..d45a5bf 100644
--- a/nearby/rustfmt.toml
+++ b/nearby/rustfmt.toml
@@ -1,3 +1,3 @@
 edition = "2021"
 newline_style = "Unix"
-use_small_heuristics = "Max"
+use_small_heuristics = "Max"
\ No newline at end of file
diff --git a/nearby/scripts/openssl-patches/0001-Apply-android-patches.patch b/nearby/scripts/openssl-patches/0001-Apply-android-patches.patch
deleted file mode 100644
index 0ee52b1..0000000
--- a/nearby/scripts/openssl-patches/0001-Apply-android-patches.patch
+++ /dev/null
@@ -1,1017 +0,0 @@
-From 5c9103f02cb56f0f04444b16dd67eeaa05429d47 Mon Sep 17 00:00:00 2001
-From: Nabil Wadih <nwadih@google.com>
-Date: Thu, 24 Aug 2023 15:51:26 -0700
-Subject: [PATCH] Apply android patches
-
----
- openssl/.cargo/config.toml |   2 +
- openssl/src/asn1.rs        |   2 +-
- openssl/src/bio.rs         |   6 +-
- openssl/src/bn.rs          |   2 +-
- openssl/src/cipher.rs      |   4 +
- openssl/src/dh.rs          |   2 +-
- openssl/src/dsa.rs         |   5 +-
- openssl/src/ec.rs          |  20 ++++
- openssl/src/ecdsa.rs       |   2 +-
- openssl/src/encrypt.rs     |   4 +-
- openssl/src/hash.rs        |   2 +-
- openssl/src/hkdf.rs        |  89 +++++++++++++++
- openssl/src/hmac.rs        | 217 +++++++++++++++++++++++++++++++++++++
- openssl/src/lib.rs         |  12 ++
- openssl/src/md_ctx.rs      |   2 +-
- openssl/src/pkey.rs        |  22 ++--
- openssl/src/pkey_ctx.rs    |  21 +++-
- openssl/src/rsa.rs         |   2 +-
- openssl/src/sign.rs        |  10 +-
- openssl/src/symm.rs        |   7 +-
- openssl/src/x509/mod.rs    |  52 +++++++--
- 21 files changed, 439 insertions(+), 46 deletions(-)
- create mode 100644 openssl/.cargo/config.toml
- create mode 100644 openssl/src/hkdf.rs
- create mode 100644 openssl/src/hmac.rs
-
-diff --git a/openssl/.cargo/config.toml b/openssl/.cargo/config.toml
-new file mode 100644
-index 00000000..e2b197d8
---- /dev/null
-+++ b/openssl/.cargo/config.toml
-@@ -0,0 +1,2 @@
-+[patch.crates-io]
-+bssl-ffi = { package = "bssl-sys", version = "0.1.0", path = "../../../boringssl/build/rust", optional=true }
-diff --git a/openssl/src/asn1.rs b/openssl/src/asn1.rs
-index b02f9ac4..939a1732 100644
---- a/openssl/src/asn1.rs
-+++ b/openssl/src/asn1.rs
-@@ -651,7 +651,7 @@ impl fmt::Debug for Asn1ObjectRef {
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl273))] {
-+    if #[cfg(any(ossl110, libressl273, boringssl))] {
-         use ffi::ASN1_STRING_get0_data;
-     } else {
-         #[allow(bad_style)]
-diff --git a/openssl/src/bio.rs b/openssl/src/bio.rs
-index 6a72552a..03242188 100644
---- a/openssl/src/bio.rs
-+++ b/openssl/src/bio.rs
-@@ -4,7 +4,7 @@ use std::marker::PhantomData;
- use std::ptr;
- use std::slice;
- 
--use crate::cvt_p;
-+use crate::{cvt_p, SignedLenType};
- use crate::error::ErrorStack;
- 
- pub struct MemBioSlice<'a>(*mut ffi::BIO, PhantomData<&'a [u8]>);
-@@ -25,7 +25,7 @@ impl<'a> MemBioSlice<'a> {
-         let bio = unsafe {
-             cvt_p(BIO_new_mem_buf(
-                 buf.as_ptr() as *const _,
--                buf.len() as c_int,
-+                buf.len() as SignedLenType,
-             ))?
-         };
- 
-@@ -78,7 +78,7 @@ cfg_if! {
-         use ffi::BIO_new_mem_buf;
-     } else {
-         #[allow(bad_style)]
--        unsafe fn BIO_new_mem_buf(buf: *const ::libc::c_void, len: ::libc::c_int) -> *mut ffi::BIO {
-+        unsafe fn BIO_new_mem_buf(buf: *const ::libc::c_void, len: SignedLenType) -> *mut ffi::BIO {
-             ffi::BIO_new_mem_buf(buf as *mut _, len)
-         }
-     }
-diff --git a/openssl/src/bn.rs b/openssl/src/bn.rs
-index 1cd00dd4..dbd7ae94 100644
---- a/openssl/src/bn.rs
-+++ b/openssl/src/bn.rs
-@@ -814,7 +814,7 @@ impl BigNumRef {
-     /// assert_eq!(&bn_vec, &[0, 0, 0x45, 0x43]);
-     /// ```
-     #[corresponds(BN_bn2binpad)]
--    #[cfg(ossl110)]
-+    #[cfg(any(boringssl, ossl110))]
-     pub fn to_vec_padded(&self, pad_to: i32) -> Result<Vec<u8>, ErrorStack> {
-         let mut v = Vec::with_capacity(pad_to as usize);
-         unsafe {
-diff --git a/openssl/src/cipher.rs b/openssl/src/cipher.rs
-index ab5f49d2..84a82654 100644
---- a/openssl/src/cipher.rs
-+++ b/openssl/src/cipher.rs
-@@ -208,6 +208,7 @@ impl Cipher {
-         unsafe { CipherRef::from_ptr(ffi::EVP_aes_192_cfb1() as *mut _) }
-     }
- 
-+    #[cfg(not(boringssl))]
-     pub fn aes_192_cfb128() -> &'static CipherRef {
-         unsafe { CipherRef::from_ptr(ffi::EVP_aes_192_cfb128() as *mut _) }
-     }
-@@ -253,6 +254,7 @@ impl Cipher {
-         unsafe { CipherRef::from_ptr(ffi::EVP_aes_256_cfb1() as *mut _) }
-     }
- 
-+    #[cfg(not(boringssl))]
-     pub fn aes_256_cfb128() -> &'static CipherRef {
-         unsafe { CipherRef::from_ptr(ffi::EVP_aes_256_cfb128() as *mut _) }
-     }
-@@ -282,11 +284,13 @@ impl Cipher {
-     }
- 
-     #[cfg(not(osslconf = "OPENSSL_NO_BF"))]
-+    #[cfg(not(boringssl))]
-     pub fn bf_cbc() -> &'static CipherRef {
-         unsafe { CipherRef::from_ptr(ffi::EVP_bf_cbc() as *mut _) }
-     }
- 
-     #[cfg(not(osslconf = "OPENSSL_NO_BF"))]
-+    #[cfg(not(boringssl))]
-     pub fn bf_ecb() -> &'static CipherRef {
-         unsafe { CipherRef::from_ptr(ffi::EVP_bf_ecb() as *mut _) }
-     }
-diff --git a/openssl/src/dh.rs b/openssl/src/dh.rs
-index 12170b99..e781543e 100644
---- a/openssl/src/dh.rs
-+++ b/openssl/src/dh.rs
-@@ -239,7 +239,7 @@ where
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl270))] {
-+    if #[cfg(any(ossl110, libressl270, boringssl))] {
-         use ffi::{DH_set0_pqg, DH_get0_pqg, DH_get0_key, DH_set0_key};
-     } else {
-         #[allow(bad_style)]
-diff --git a/openssl/src/dsa.rs b/openssl/src/dsa.rs
-index 5f59ba8a..0aceeb55 100644
---- a/openssl/src/dsa.rs
-+++ b/openssl/src/dsa.rs
-@@ -7,6 +7,7 @@
- 
- use cfg_if::cfg_if;
- use foreign_types::{ForeignType, ForeignTypeRef};
-+#[cfg(not(boringssl))]
- use libc::c_int;
- use std::fmt;
- use std::mem;
-@@ -283,7 +284,7 @@ impl<T> fmt::Debug for Dsa<T> {
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl273))] {
-+    if #[cfg(any(ossl110, libressl273, boringssl))] {
-         use ffi::{DSA_get0_key, DSA_get0_pqg, DSA_set0_key, DSA_set0_pqg};
-     } else {
-         #[allow(bad_style)]
-@@ -462,7 +463,7 @@ impl DsaSigRef {
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl273))] {
-+    if #[cfg(any(ossl110, libressl273, boringssl))] {
-         use ffi::{DSA_SIG_set0, DSA_SIG_get0};
-     } else {
-         #[allow(bad_style)]
-diff --git a/openssl/src/ec.rs b/openssl/src/ec.rs
-index 24b38322..20785428 100644
---- a/openssl/src/ec.rs
-+++ b/openssl/src/ec.rs
-@@ -954,6 +954,26 @@ impl EcKey<Private> {
-         EcKey<Private>,
-         ffi::d2i_ECPrivateKey
-     }
-+
-+    /// Decodes a DER-encoded elliptic curve private key structure for the specified curve.
-+    #[corresponds(EC_KEY_parse_private_key)]
-+    #[cfg(boringssl)]
-+    pub fn private_key_from_der_for_group(
-+        der: &[u8],
-+        group: &EcGroupRef,
-+    ) -> Result<EcKey<Private>, ErrorStack> {
-+        unsafe {
-+            let mut cbs = ffi::CBS {
-+                data: der.as_ptr(),
-+                len: der.len(),
-+            };
-+            cvt_p(ffi::EC_KEY_parse_private_key(
-+                &mut cbs as *mut ffi::CBS,
-+                group.as_ptr(),
-+            ))
-+            .map(|p| EcKey::from_ptr(p))
-+        }
-+    }
- }
- 
- impl<T> Clone for EcKey<T> {
-diff --git a/openssl/src/ecdsa.rs b/openssl/src/ecdsa.rs
-index 0a960e7b..f3b27b39 100644
---- a/openssl/src/ecdsa.rs
-+++ b/openssl/src/ecdsa.rs
-@@ -110,7 +110,7 @@ impl EcdsaSigRef {
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl273))] {
-+    if #[cfg(any(ossl110, libressl273, boringssl))] {
-         use ffi::{ECDSA_SIG_set0, ECDSA_SIG_get0};
-     } else {
-         #[allow(bad_style)]
-diff --git a/openssl/src/encrypt.rs b/openssl/src/encrypt.rs
-index 3cb10fcc..34a9eb8b 100644
---- a/openssl/src/encrypt.rs
-+++ b/openssl/src/encrypt.rs
-@@ -148,7 +148,7 @@ impl<'a> Encrypter<'a> {
-     /// This corresponds to [`EVP_PKEY_CTX_set_rsa_oaep_md`].
-     ///
-     /// [`EVP_PKEY_CTX_set_rsa_oaep_md`]: https://www.openssl.org/docs/manmaster/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html
--    #[cfg(any(ossl102, libressl310))]
-+    #[cfg(any(ossl102, libressl310, boringssl))]
-     pub fn set_rsa_oaep_md(&mut self, md: MessageDigest) -> Result<(), ErrorStack> {
-         unsafe {
-             cvt(ffi::EVP_PKEY_CTX_set_rsa_oaep_md(
-@@ -352,7 +352,7 @@ impl<'a> Decrypter<'a> {
-     /// This corresponds to [`EVP_PKEY_CTX_set_rsa_oaep_md`].
-     ///
-     /// [`EVP_PKEY_CTX_set_rsa_oaep_md`]: https://www.openssl.org/docs/manmaster/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html
--    #[cfg(any(ossl102, libressl310))]
-+    #[cfg(any(ossl102, libressl310, boringssl))]
-     pub fn set_rsa_oaep_md(&mut self, md: MessageDigest) -> Result<(), ErrorStack> {
-         unsafe {
-             cvt(ffi::EVP_PKEY_CTX_set_rsa_oaep_md(
-diff --git a/openssl/src/hash.rs b/openssl/src/hash.rs
-index 8e27505a..7f6fa89e 100644
---- a/openssl/src/hash.rs
-+++ b/openssl/src/hash.rs
-@@ -43,7 +43,7 @@ use crate::nid::Nid;
- use crate::{cvt, cvt_p};
- 
- cfg_if! {
--    if #[cfg(ossl110)] {
-+    if #[cfg(any(ossl110, boringssl))] {
-         use ffi::{EVP_MD_CTX_free, EVP_MD_CTX_new};
-     } else {
-         use ffi::{EVP_MD_CTX_create as EVP_MD_CTX_new, EVP_MD_CTX_destroy as EVP_MD_CTX_free};
-diff --git a/openssl/src/hkdf.rs b/openssl/src/hkdf.rs
-new file mode 100644
-index 00000000..cc7e5b3a
---- /dev/null
-+++ b/openssl/src/hkdf.rs
-@@ -0,0 +1,89 @@
-+use crate::cvt;
-+use crate::error::ErrorStack;
-+use crate::md::MdRef;
-+use foreign_types::ForeignTypeRef;
-+use openssl_macros::corresponds;
-+
-+/// Computes HKDF (as specified by RFC 5869).
-+///
-+/// HKDF is an Extract-and-Expand algorithm. It does not do any key stretching,
-+/// and as such, is not suited to be used alone to generate a key from a
-+/// password.
-+#[corresponds(HKDF)]
-+#[inline]
-+pub fn hkdf(
-+    out_key: &mut [u8],
-+    md: &MdRef,
-+    secret: &[u8],
-+    salt: &[u8],
-+    info: &[u8],
-+) -> Result<(), ErrorStack> {
-+    unsafe {
-+        cvt(ffi::HKDF(
-+            out_key.as_mut_ptr(),
-+            out_key.len(),
-+            md.as_ptr(),
-+            secret.as_ptr(),
-+            secret.len(),
-+            salt.as_ptr(),
-+            salt.len(),
-+            info.as_ptr(),
-+            info.len(),
-+        ))?;
-+    }
-+
-+    Ok(())
-+}
-+
-+/// Computes a HKDF PRK (as specified by RFC 5869).
-+///
-+/// WARNING: This function orders the inputs differently from RFC 5869
-+/// specification. Double-check which parameter is the secret/IKM and which is
-+/// the salt when using.
-+#[corresponds(HKDF_extract)]
-+#[inline]
-+pub fn hkdf_extract<'a>(
-+    out_key: &'a mut [u8],
-+    md: &MdRef,
-+    secret: &[u8],
-+    salt: &[u8],
-+) -> Result<&'a [u8], ErrorStack> {
-+    let mut out_len = out_key.len();
-+    unsafe {
-+        cvt(ffi::HKDF_extract(
-+            out_key.as_mut_ptr(),
-+            &mut out_len,
-+            md.as_ptr(),
-+            secret.as_ptr(),
-+            secret.len(),
-+            salt.as_ptr(),
-+            salt.len(),
-+        ))?;
-+    }
-+
-+    Ok(&out_key[..out_len])
-+}
-+
-+/// Computes a HKDF OKM (as specified by RFC 5869).
-+#[corresponds(HKDF_expand)]
-+#[inline]
-+pub fn hkdf_expand(
-+    out_key: &mut [u8],
-+    md: &MdRef,
-+    prk: &[u8],
-+    info: &[u8],
-+) -> Result<(), ErrorStack> {
-+    unsafe {
-+        cvt(ffi::HKDF_expand(
-+            out_key.as_mut_ptr(),
-+            out_key.len(),
-+            md.as_ptr(),
-+            prk.as_ptr(),
-+            prk.len(),
-+            info.as_ptr(),
-+            info.len(),
-+        ))?;
-+    }
-+
-+    Ok(())
-+}
-diff --git a/openssl/src/hmac.rs b/openssl/src/hmac.rs
-new file mode 100644
-index 00000000..465781e2
---- /dev/null
-+++ b/openssl/src/hmac.rs
-@@ -0,0 +1,217 @@
-+use crate::error::ErrorStack;
-+use crate::md::MdRef;
-+use crate::{cvt, cvt_p};
-+use ffi::HMAC_CTX;
-+use foreign_types::ForeignTypeRef;
-+use libc::{c_uint, c_void};
-+use openssl_macros::corresponds;
-+use std::convert::TryFrom;
-+use std::ptr;
-+
-+/// Computes the HMAC as a one-shot operation.
-+///
-+/// Calculates the HMAC of data, using the given |key|
-+/// and hash function |md|, and returns the result re-using the space from
-+/// buffer |out|. On entry, |out| must contain at least |EVP_MD_size| bytes
-+/// of space. The actual length of the result is used to resize the returned
-+/// slice. An output size of |EVP_MAX_MD_SIZE| will always be large enough.
-+/// It returns a resized |out| or ErrorStack on error.
-+#[corresponds(HMAC)]
-+#[inline]
-+pub fn hmac<'a>(
-+    md: &MdRef,
-+    key: &[u8],
-+    data: &[u8],
-+    out: &'a mut [u8],
-+) -> Result<&'a [u8], ErrorStack> {
-+    assert!(out.len() >= md.size());
-+    let mut out_len = c_uint::try_from(out.len()).unwrap();
-+    unsafe {
-+        cvt_p(ffi::HMAC(
-+            md.as_ptr(),
-+            key.as_ptr() as *const c_void,
-+            key.len(),
-+            data.as_ptr(),
-+            data.len(),
-+            out.as_mut_ptr(),
-+            &mut out_len,
-+        ))?;
-+    }
-+    Ok(&out[..out_len as usize])
-+}
-+
-+/// A context object used to perform HMAC operations.
-+///
-+/// HMAC is a MAC (message authentication code), i.e. a keyed hash function used for message
-+/// authentication, which is based on a hash function.
-+///
-+/// Note: Only available in boringssl. For openssl, use `PKey::hmac` instead.
-+#[cfg(boringssl)]
-+pub struct HmacCtx {
-+    ctx: *mut HMAC_CTX,
-+    output_size: usize,
-+}
-+
-+#[cfg(boringssl)]
-+impl HmacCtx {
-+    /// Creates a new [HmacCtx] to use the hash function `md` and key `key`.
-+    #[corresponds(HMAC_Init_ex)]
-+    pub fn new(key: &[u8], md: &MdRef) -> Result<Self, ErrorStack> {
-+        unsafe {
-+            // Safety: If an error occurred, the resulting null from HMAC_CTX_new is converted into
-+            // ErrorStack in the returned result by `cvt_p`.
-+            let ctx = cvt_p(ffi::HMAC_CTX_new())?;
-+            // Safety:
-+            // - HMAC_Init_ex must be called with a context previously created with HMAC_CTX_new,
-+            //   which is the line above.
-+            // - HMAC_Init_ex may return an error if key is null but the md is different from
-+            //   before. This is avoided here since key is guaranteed to be non-null.
-+            cvt(ffi::HMAC_Init_ex(
-+                ctx,
-+                key.as_ptr() as *const c_void,
-+                key.len(),
-+                md.as_ptr(),
-+                ptr::null_mut(),
-+            ))?;
-+            Ok(Self {
-+                ctx,
-+                output_size: md.size(),
-+            })
-+        }
-+    }
-+
-+    /// `update` can be called repeatedly with chunks of the message `data` to be authenticated.
-+    #[corresponds(HMAC_Update)]
-+    pub fn update(&mut self, data: &[u8]) -> Result<(), ErrorStack> {
-+        unsafe {
-+            // Safety: HMAC_Update returns 0 on error, and that is converted into ErrorStack in the
-+            // returned result by `cvt`.
-+            cvt(ffi::HMAC_Update(self.ctx, data.as_ptr(), data.len())).map(|_| ())
-+        }
-+    }
-+
-+    /// Finishes the HMAC process, and places the message authentication code in `output`.
-+    /// The number of bytes written to `output` is returned.
-+    ///
-+    /// # Panics
-+    ///
-+    /// Panics if the `output` is smaller than the required size. The output size is indicated by
-+    /// `md.size()` for the `Md` instance passed in [new]. An output size of |EVP_MAX_MD_SIZE| will
-+    /// always be large enough.
-+    #[corresponds(HMAC_Final)]
-+    pub fn finalize(&mut self, output: &mut [u8]) -> Result<usize, ErrorStack> {
-+        assert!(output.len() >= self.output_size);
-+        unsafe {
-+            // Safety: The length assertion above makes sure that `HMAC_Final` will not write longer
-+            // than the length of `output`.
-+            let mut size: c_uint = 0;
-+            cvt(ffi::HMAC_Final(
-+                self.ctx,
-+                output.as_mut_ptr(),
-+                &mut size as *mut c_uint,
-+            ))
-+            .map(|_| size as usize)
-+        }
-+    }
-+}
-+
-+impl Drop for HmacCtx {
-+    #[corresponds(HMAC_CTX_free)]
-+    fn drop(&mut self) {
-+        unsafe {
-+            ffi::HMAC_CTX_free(self.ctx);
-+        }
-+    }
-+}
-+
-+#[cfg(test)]
-+mod tests {
-+    use super::*;
-+    use crate::md::Md;
-+
-+    const SHA_256_DIGEST_SIZE: usize = 32;
-+
-+    #[test]
-+    fn hmac_sha256_test() {
-+        let expected_hmac = [
-+            0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0xb,
-+            0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x0, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9, 0x37, 0x6c,
-+            0x2e, 0x32, 0xcf, 0xf7,
-+        ];
-+        let mut out: [u8; SHA_256_DIGEST_SIZE] = [0; SHA_256_DIGEST_SIZE];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let data = b"Hi There";
-+        let hmac_result =
-+            hmac(Md::sha256(), &key, data, &mut out).expect("Couldn't calculate sha256 hmac");
-+        assert_eq!(&hmac_result, &expected_hmac);
-+    }
-+
-+    #[test]
-+    #[should_panic]
-+    fn hmac_sha256_output_too_short() {
-+        let mut out = vec![0_u8; 1];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let data = b"Hi There";
-+        hmac(Md::sha256(), &key, data, &mut out).expect("Couldn't calculate sha256 hmac");
-+    }
-+
-+    #[test]
-+    fn hmac_sha256_test_big_buffer() {
-+        let expected_hmac = [
-+            0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0xb,
-+            0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x0, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9, 0x37, 0x6c,
-+            0x2e, 0x32, 0xcf, 0xf7,
-+        ];
-+        let mut out: [u8; 100] = [0; 100];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let data = b"Hi There";
-+        let hmac_result =
-+            hmac(Md::sha256(), &key, data, &mut out).expect("Couldn't calculate sha256 hmac");
-+        assert_eq!(hmac_result.len(), SHA_256_DIGEST_SIZE);
-+        assert_eq!(&hmac_result, &expected_hmac);
-+    }
-+
-+    #[test]
-+    fn hmac_sha256_update_test() {
-+        let expected_hmac = [
-+            0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0xb,
-+            0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x0, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9, 0x37, 0x6c,
-+            0x2e, 0x32, 0xcf, 0xf7,
-+        ];
-+        let mut out: [u8; SHA_256_DIGEST_SIZE] = [0; SHA_256_DIGEST_SIZE];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let data = b"Hi There";
-+        let mut hmac_ctx = HmacCtx::new(&key, Md::sha256()).unwrap();
-+        hmac_ctx.update(data).unwrap();
-+        let size = hmac_ctx.finalize(&mut out).unwrap();
-+        assert_eq!(&out, &expected_hmac);
-+        assert_eq!(size, SHA_256_DIGEST_SIZE);
-+    }
-+
-+    #[test]
-+    fn hmac_sha256_update_chunks_test() {
-+        let expected_hmac = [
-+            0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf, 0xb,
-+            0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x0, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9, 0x37, 0x6c,
-+            0x2e, 0x32, 0xcf, 0xf7,
-+        ];
-+        let mut out: [u8; SHA_256_DIGEST_SIZE] = [0; SHA_256_DIGEST_SIZE];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let mut hmac_ctx = HmacCtx::new(&key, Md::sha256()).unwrap();
-+        hmac_ctx.update(b"Hi").unwrap();
-+        hmac_ctx.update(b" There").unwrap();
-+        let size = hmac_ctx.finalize(&mut out).unwrap();
-+        assert_eq!(&out, &expected_hmac);
-+        assert_eq!(size, SHA_256_DIGEST_SIZE);
-+    }
-+
-+    #[test]
-+    #[should_panic]
-+    fn hmac_sha256_update_output_too_short() {
-+        let mut out = vec![0_u8; 1];
-+        let key: [u8; 20] = [0x0b; 20];
-+        let mut hmac_ctx = HmacCtx::new(&key, Md::sha256()).unwrap();
-+        hmac_ctx.update(b"Hi There").unwrap();
-+        hmac_ctx.finalize(&mut out).unwrap();
-+    }
-+}
-diff --git a/openssl/src/lib.rs b/openssl/src/lib.rs
-index 891651ec..e8d07d8a 100644
---- a/openssl/src/lib.rs
-+++ b/openssl/src/lib.rs
-@@ -120,6 +120,9 @@
- #![doc(html_root_url = "https://docs.rs/openssl/0.10")]
- #![warn(rust_2018_idioms)]
- 
-+#[cfg(all(soong, boringssl))]
-+extern crate bssl_ffi as ffi;
-+
- #[doc(inline)]
- pub use ffi::init;
- 
-@@ -155,6 +158,10 @@ pub mod ex_data;
- #[cfg(not(any(libressl, ossl300)))]
- pub mod fips;
- pub mod hash;
-+#[cfg(boringssl)]
-+pub mod hkdf;
-+#[cfg(boringssl)]
-+pub mod hmac;
- #[cfg(ossl300)]
- pub mod lib_ctx;
- pub mod md;
-@@ -189,6 +196,11 @@ type LenType = libc::size_t;
- #[cfg(not(boringssl))]
- type LenType = libc::c_int;
- 
-+#[cfg(boringssl)]
-+type SignedLenType = libc::ssize_t;
-+#[cfg(not(boringssl))]
-+type SignedLenType = libc::c_int;
-+
- #[inline]
- fn cvt_p<T>(r: *mut T) -> Result<*mut T, ErrorStack> {
-     if r.is_null() {
-diff --git a/openssl/src/md_ctx.rs b/openssl/src/md_ctx.rs
-index c4d3f06b..156f3c2f 100644
---- a/openssl/src/md_ctx.rs
-+++ b/openssl/src/md_ctx.rs
-@@ -93,7 +93,7 @@ use std::convert::TryFrom;
- use std::ptr;
- 
- cfg_if! {
--    if #[cfg(ossl110)] {
-+    if #[cfg(any(ossl110, boringssl))] {
-         use ffi::{EVP_MD_CTX_free, EVP_MD_CTX_new};
-     } else {
-         use ffi::{EVP_MD_CTX_create as EVP_MD_CTX_new, EVP_MD_CTX_destroy as EVP_MD_CTX_free};
-diff --git a/openssl/src/pkey.rs b/openssl/src/pkey.rs
-index 2039e7e9..21ba7118 100644
---- a/openssl/src/pkey.rs
-+++ b/openssl/src/pkey.rs
-@@ -47,7 +47,7 @@ use crate::dh::Dh;
- use crate::dsa::Dsa;
- use crate::ec::EcKey;
- use crate::error::ErrorStack;
--#[cfg(ossl110)]
-+#[cfg(any(boringssl, ossl110))]
- use crate::pkey_ctx::PkeyCtx;
- use crate::rsa::Rsa;
- use crate::symm::Cipher;
-@@ -86,14 +86,14 @@ impl Id {
-     pub const DH: Id = Id(ffi::EVP_PKEY_DH);
-     pub const EC: Id = Id(ffi::EVP_PKEY_EC);
- 
--    #[cfg(ossl110)]
-+    #[cfg(any(boringssl, ossl110))]
-     pub const HKDF: Id = Id(ffi::EVP_PKEY_HKDF);
- 
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub const ED25519: Id = Id(ffi::EVP_PKEY_ED25519);
-     #[cfg(ossl111)]
-     pub const ED448: Id = Id(ffi::EVP_PKEY_ED448);
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub const X25519: Id = Id(ffi::EVP_PKEY_X25519);
-     #[cfg(ossl111)]
-     pub const X448: Id = Id(ffi::EVP_PKEY_X448);
-@@ -252,7 +252,7 @@ where
-     /// This function only works for algorithms that support raw public keys.
-     /// Currently this is: [`Id::X25519`], [`Id::ED25519`], [`Id::X448`] or [`Id::ED448`].
-     #[corresponds(EVP_PKEY_get_raw_public_key)]
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn raw_public_key(&self) -> Result<Vec<u8>, ErrorStack> {
-         unsafe {
-             let mut len = 0;
-@@ -303,7 +303,7 @@ where
-     /// This function only works for algorithms that support raw private keys.
-     /// Currently this is: [`Id::HMAC`], [`Id::X25519`], [`Id::ED25519`], [`Id::X448`] or [`Id::ED448`].
-     #[corresponds(EVP_PKEY_get_raw_private_key)]
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn raw_private_key(&self) -> Result<Vec<u8>, ErrorStack> {
-         unsafe {
-             let mut len = 0;
-@@ -484,7 +484,7 @@ impl PKey<Private> {
-         ctx.keygen()
-     }
- 
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     fn generate_eddsa(id: Id) -> Result<PKey<Private>, ErrorStack> {
-         let mut ctx = PkeyCtx::new_id(id)?;
-         ctx.keygen_init()?;
-@@ -514,7 +514,7 @@ impl PKey<Private> {
-     /// assert_eq!(secret.len(), 32);
-     /// # Ok(()) }
-     /// ```
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn generate_x25519() -> Result<PKey<Private>, ErrorStack> {
-         PKey::generate_eddsa(Id::X25519)
-     }
-@@ -568,7 +568,7 @@ impl PKey<Private> {
-     /// assert_eq!(signature.len(), 64);
-     /// # Ok(()) }
-     /// ```
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn generate_ed25519() -> Result<PKey<Private>, ErrorStack> {
-         PKey::generate_eddsa(Id::ED25519)
-     }
-@@ -718,7 +718,7 @@ impl PKey<Private> {
-     ///
-     /// Algorithm types that support raw private keys are HMAC, X25519, ED25519, X448 or ED448
-     #[corresponds(EVP_PKEY_new_raw_private_key)]
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn private_key_from_raw_bytes(
-         bytes: &[u8],
-         key_type: Id,
-@@ -759,7 +759,7 @@ impl PKey<Public> {
-     ///
-     /// Algorithm types that support raw public keys are X25519, ED25519, X448 or ED448
-     #[corresponds(EVP_PKEY_new_raw_public_key)]
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn public_key_from_raw_bytes(
-         bytes: &[u8],
-         key_type: Id,
-diff --git a/openssl/src/pkey_ctx.rs b/openssl/src/pkey_ctx.rs
-index f79372fb..3d4203fa 100644
---- a/openssl/src/pkey_ctx.rs
-+++ b/openssl/src/pkey_ctx.rs
-@@ -470,7 +470,7 @@ impl<T> PkeyCtxRef<T> {
-     ///
-     /// Requires OpenSSL 1.1.0 or newer.
-     #[corresponds(EVP_PKEY_CTX_set_hkdf_md)]
--    #[cfg(ossl110)]
-+    #[cfg(any(ossl110, boringssl))]
-     #[inline]
-     pub fn set_hkdf_md(&mut self, digest: &MdRef) -> Result<(), ErrorStack> {
-         unsafe {
-@@ -503,10 +503,13 @@ impl<T> PkeyCtxRef<T> {
-     ///
-     /// Requires OpenSSL 1.1.0 or newer.
-     #[corresponds(EVP_PKEY_CTX_set1_hkdf_key)]
--    #[cfg(ossl110)]
-+    #[cfg(any(ossl110, boringssl))]
-     #[inline]
-     pub fn set_hkdf_key(&mut self, key: &[u8]) -> Result<(), ErrorStack> {
-+        #[cfg(not(boringssl))]
-         let len = c_int::try_from(key.len()).unwrap();
-+        #[cfg(boringssl)]
-+        let len = key.len();
- 
-         unsafe {
-             cvt(ffi::EVP_PKEY_CTX_set1_hkdf_key(
-@@ -523,10 +526,13 @@ impl<T> PkeyCtxRef<T> {
-     ///
-     /// Requires OpenSSL 1.1.0 or newer.
-     #[corresponds(EVP_PKEY_CTX_set1_hkdf_salt)]
--    #[cfg(ossl110)]
-+    #[cfg(any(ossl110, boringssl))]
-     #[inline]
-     pub fn set_hkdf_salt(&mut self, salt: &[u8]) -> Result<(), ErrorStack> {
-+        #[cfg(not(boringssl))]
-         let len = c_int::try_from(salt.len()).unwrap();
-+        #[cfg(boringssl)]
-+        let len = salt.len();
- 
-         unsafe {
-             cvt(ffi::EVP_PKEY_CTX_set1_hkdf_salt(
-@@ -543,10 +549,13 @@ impl<T> PkeyCtxRef<T> {
-     ///
-     /// Requires OpenSSL 1.1.0 or newer.
-     #[corresponds(EVP_PKEY_CTX_add1_hkdf_info)]
--    #[cfg(ossl110)]
-+    #[cfg(any(ossl110, boringssl))]
-     #[inline]
-     pub fn add_hkdf_info(&mut self, info: &[u8]) -> Result<(), ErrorStack> {
-+        #[cfg(not(boringssl))]
-         let len = c_int::try_from(info.len()).unwrap();
-+        #[cfg(boringssl)]
-+        let len = info.len();
- 
-         unsafe {
-             cvt(ffi::EVP_PKEY_CTX_add1_hkdf_info(
-@@ -604,7 +613,7 @@ mod test {
-     #[cfg(not(boringssl))]
-     use crate::cipher::Cipher;
-     use crate::ec::{EcGroup, EcKey};
--    #[cfg(any(ossl102, libressl310))]
-+    #[cfg(any(ossl102, libressl310, boringssl))]
-     use crate::md::Md;
-     use crate::nid::Nid;
-     use crate::pkey::PKey;
-@@ -689,7 +698,7 @@ mod test {
-     }
- 
-     #[test]
--    #[cfg(ossl110)]
-+    #[cfg(any(ossl110, boringssl))]
-     fn hkdf() {
-         let mut ctx = PkeyCtx::new_id(Id::HKDF).unwrap();
-         ctx.derive_init().unwrap();
-diff --git a/openssl/src/rsa.rs b/openssl/src/rsa.rs
-index 68cf64b0..f155b12d 100644
---- a/openssl/src/rsa.rs
-+++ b/openssl/src/rsa.rs
-@@ -581,7 +581,7 @@ impl<T> fmt::Debug for Rsa<T> {
- }
- 
- cfg_if! {
--    if #[cfg(any(ossl110, libressl273))] {
-+    if #[cfg(any(ossl110, libressl273, boringssl))] {
-         use ffi::{
-             RSA_get0_key, RSA_get0_factors, RSA_get0_crt_params, RSA_set0_key, RSA_set0_factors,
-             RSA_set0_crt_params,
-diff --git a/openssl/src/sign.rs b/openssl/src/sign.rs
-index b675825e..e5e80608 100644
---- a/openssl/src/sign.rs
-+++ b/openssl/src/sign.rs
-@@ -290,7 +290,7 @@ impl<'a> Signer<'a> {
-         self.len_intern()
-     }
- 
--    #[cfg(not(ossl111))]
-+    #[cfg(not(any(boringssl, ossl111)))]
-     fn len_intern(&self) -> Result<usize, ErrorStack> {
-         unsafe {
-             let mut len = 0;
-@@ -303,7 +303,7 @@ impl<'a> Signer<'a> {
-         }
-     }
- 
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     fn len_intern(&self) -> Result<usize, ErrorStack> {
-         unsafe {
-             let mut len = 0;
-@@ -360,7 +360,7 @@ impl<'a> Signer<'a> {
-     /// OpenSSL documentation at [`EVP_DigestSign`].
-     ///
-     /// [`EVP_DigestSign`]: https://www.openssl.org/docs/man1.1.1/man3/EVP_DigestSign.html
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn sign_oneshot(
-         &mut self,
-         sig_buf: &mut [u8],
-@@ -382,7 +382,7 @@ impl<'a> Signer<'a> {
-     /// Returns the signature.
-     ///
-     /// This is a simple convenience wrapper over `len` and `sign_oneshot`.
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn sign_oneshot_to_vec(&mut self, data_buf: &[u8]) -> Result<Vec<u8>, ErrorStack> {
-         let mut sig_buf = vec![0; self.len()?];
-         let len = self.sign_oneshot(&mut sig_buf, data_buf)?;
-@@ -596,7 +596,7 @@ impl<'a> Verifier<'a> {
-     /// OpenSSL documentation at [`EVP_DigestVerify`].
-     ///
-     /// [`EVP_DigestVerify`]: https://www.openssl.org/docs/man1.1.1/man3/EVP_DigestVerify.html
--    #[cfg(ossl111)]
-+    #[cfg(any(boringssl, ossl111))]
-     pub fn verify_oneshot(&mut self, signature: &[u8], buf: &[u8]) -> Result<bool, ErrorStack> {
-         unsafe {
-             let r = ffi::EVP_DigestVerify(
-diff --git a/openssl/src/symm.rs b/openssl/src/symm.rs
-index c75bbc0c..beff5fc2 100644
---- a/openssl/src/symm.rs
-+++ b/openssl/src/symm.rs
-@@ -119,6 +119,7 @@ impl Cipher {
-         unsafe { Cipher(ffi::EVP_aes_128_cfb1()) }
-     }
- 
-+    #[cfg(not(boringssl))]
-     pub fn aes_128_cfb128() -> Cipher {
-         unsafe { Cipher(ffi::EVP_aes_128_cfb128()) }
-     }
-@@ -164,6 +165,7 @@ impl Cipher {
-         unsafe { Cipher(ffi::EVP_aes_192_cfb1()) }
-     }
- 
-+    #[cfg(not(boringssl))]
-     pub fn aes_192_cfb128() -> Cipher {
-         unsafe { Cipher(ffi::EVP_aes_192_cfb128()) }
-     }
-@@ -214,6 +216,7 @@ impl Cipher {
-         unsafe { Cipher(ffi::EVP_aes_256_cfb1()) }
-     }
- 
-+    #[cfg(not(boringssl))]
-     pub fn aes_256_cfb128() -> Cipher {
-         unsafe { Cipher(ffi::EVP_aes_256_cfb128()) }
-     }
-@@ -242,12 +245,12 @@ impl Cipher {
-         unsafe { Cipher(ffi::EVP_aes_256_ocb()) }
-     }
- 
--    #[cfg(not(osslconf = "OPENSSL_NO_BF"))]
-+    #[cfg(not(any(boringssl, osslconf = "OPENSSL_NO_BF")))]
-     pub fn bf_cbc() -> Cipher {
-         unsafe { Cipher(ffi::EVP_bf_cbc()) }
-     }
- 
--    #[cfg(not(osslconf = "OPENSSL_NO_BF"))]
-+    #[cfg(not(any(boringssl, osslconf = "OPENSSL_NO_BF")))]
-     pub fn bf_ecb() -> Cipher {
-         unsafe { Cipher(ffi::EVP_bf_ecb()) }
-     }
-diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs
-index edd54aa8..a03a8aa6 100644
---- a/openssl/src/x509/mod.rs
-+++ b/openssl/src/x509/mod.rs
-@@ -353,6 +353,19 @@ impl X509Builder {
-         unsafe { cvt(ffi::X509_sign(self.0.as_ptr(), key.as_ptr(), hash.as_ptr())).map(|_| ()) }
-     }
- 
-+    /// Signs the certificate with a private key but without a digest.
-+    ///
-+    /// This is the only way to sign with Ed25519 keys as BoringSSL doesn't support the null
-+    /// message digest.
-+    #[cfg(boringssl)]
-+    #[corresponds(X509_sign)]
-+    pub fn sign_without_digest<T>(&mut self, key: &PKeyRef<T>) -> Result<(), ErrorStack>
-+    where
-+        T: HasPrivate,
-+    {
-+        unsafe { cvt(ffi::X509_sign(self.0.as_ptr(), key.as_ptr(), ptr::null())).map(|_| ()) }
-+    }
-+
-     /// Consumes the builder, returning the certificate.
-     pub fn build(self) -> X509 {
-         self.0
-@@ -880,13 +893,13 @@ impl X509NameBuilder {
-     pub fn append_entry_by_text(&mut self, field: &str, value: &str) -> Result<(), ErrorStack> {
-         unsafe {
-             let field = CString::new(field).unwrap();
--            assert!(value.len() <= c_int::max_value() as usize);
-+            assert!(value.len() <= isize::max_value() as usize);
-             cvt(ffi::X509_NAME_add_entry_by_txt(
-                 self.0.as_ptr(),
-                 field.as_ptr() as *mut _,
-                 ffi::MBSTRING_UTF8,
-                 value.as_ptr(),
--                value.len() as c_int,
-+                value.len() as isize,
-                 -1,
-                 0,
-             ))
-@@ -907,13 +920,13 @@ impl X509NameBuilder {
-     ) -> Result<(), ErrorStack> {
-         unsafe {
-             let field = CString::new(field).unwrap();
--            assert!(value.len() <= c_int::max_value() as usize);
-+            assert!(value.len() <= isize::max_value() as usize);
-             cvt(ffi::X509_NAME_add_entry_by_txt(
-                 self.0.as_ptr(),
-                 field.as_ptr() as *mut _,
-                 ty.as_raw(),
-                 value.as_ptr(),
--                value.len() as c_int,
-+                value.len() as isize,
-                 -1,
-                 0,
-             ))
-@@ -928,13 +941,13 @@ impl X509NameBuilder {
-     /// [`X509_NAME_add_entry_by_NID`]: https://www.openssl.org/docs/man1.1.0/crypto/X509_NAME_add_entry_by_NID.html
-     pub fn append_entry_by_nid(&mut self, field: Nid, value: &str) -> Result<(), ErrorStack> {
-         unsafe {
--            assert!(value.len() <= c_int::max_value() as usize);
-+            assert!(value.len() <= isize::max_value() as usize);
-             cvt(ffi::X509_NAME_add_entry_by_NID(
-                 self.0.as_ptr(),
-                 field.as_raw(),
-                 ffi::MBSTRING_UTF8,
-                 value.as_ptr() as *mut _,
--                value.len() as c_int,
-+                value.len() as isize,
-                 -1,
-                 0,
-             ))
-@@ -954,13 +967,13 @@ impl X509NameBuilder {
-         ty: Asn1Type,
-     ) -> Result<(), ErrorStack> {
-         unsafe {
--            assert!(value.len() <= c_int::max_value() as usize);
-+            assert!(value.len() <= isize::max_value() as usize);
-             cvt(ffi::X509_NAME_add_entry_by_NID(
-                 self.0.as_ptr(),
-                 field.as_raw(),
-                 ty.as_raw(),
-                 value.as_ptr() as *mut _,
--                value.len() as c_int,
-+                value.len() as isize,
-                 -1,
-                 0,
-             ))
-@@ -1260,6 +1273,29 @@ impl X509ReqBuilder {
-         }
-     }
- 
-+    /// Sign the request using a private key without a digest.
-+    ///
-+    /// This is the only way to sign with Ed25519 keys as BoringSSL doesn't support the null
-+    /// message digest.
-+    ///
-+    /// This corresponds to [`X509_REQ_sign`].
-+    ///
-+    /// [`X509_REQ_sign`]: https://www.openssl.org/docs/man1.1.0/crypto/X509_REQ_sign.html
-+    #[cfg(boringssl)]
-+    pub fn sign_without_digest<T>(&mut self, key: &PKeyRef<T>) -> Result<(), ErrorStack>
-+    where
-+        T: HasPrivate,
-+    {
-+        unsafe {
-+            cvt(ffi::X509_REQ_sign(
-+                self.0.as_ptr(),
-+                key.as_ptr(),
-+                ptr::null(),
-+            ))
-+            .map(|_| ())
-+        }
-+    }
-+
-     /// Returns the `X509Req`.
-     pub fn build(self) -> X509Req {
-         self.0
--- 
-2.42.0.rc2.253.gd59a3bf2b4-goog
-
diff --git a/nearby/scripts/openssl-patches/README.md b/nearby/scripts/openssl-patches/README.md
deleted file mode 100644
index ab1fcea..0000000
--- a/nearby/scripts/openssl-patches/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-This directory contains patch files for `rust-openssl` for it to build successfully with
-`--features=unstable_boringssl`.
-
-After running `prepare-rust-openssl`, the `rust-openssl` git repo is cloned to
-`beto-rust/boringssl-build/rust-openssl/openssl`, and the patches in this directory will be applied.
-
-If you make further changes, or update the "base commit" in `prepare-rust-openssl`, you can
-regenerate the patch files by following these steps:
-
-1. Run `cargo run -- prepare-rust-openssl`
-2. `cd boringssl-build/rust-openssl/` and make the necessary changes
-3. Commit the changes
-4. `git format-patch BASE_COMMIT`. (Note: `BASE_COMMIT` is set by `prepare-rust-openssl`)
-5. The patch files will be generated in the current working directory. Move them here in
-   `nearby/scripts/openssl-patches`.
-
-### Regenerate patches based on AOSP changes
-
-In the "make the necessary changes" part in Step 2 above, follow these steps:
-
-1. Download the patch files in https://googleplex-android.googlesource.com/platform/external/rust/crates/openssl/+/master/patches
-2. `cd` into the openssl directory since the AOSP project starts at that root:
-   ```sh
-   $ cd openssl
-   ```
-3. Reset your branch to `BASE_COMMIT` to ensure the AOSP patches apply cleanly.
-   ```sh
-   $ git co BASE_COMMIT
-   $ git co -b create-patch
-   ```
-4. Apply the patches from AOSP
-   ```sh
-   for i in /path/to/android/external/rust/crates/openssl/patches/*; do patch -p1 < $i; done
-   ```
-5. Remove unneeded files (like `.orig`). Commit the changes.
-6. Patches locally in `scripts/openssl-patches` but not in AOSP are lost in this process. Reapply
-   the appropriate ones at this point, using `git apply` or `git am`.
-7. Continue with `git format-patch` described in step 4 in the previous section.
diff --git a/nearby/src/crypto_ffi.rs b/nearby/src/crypto_ffi.rs
index 20d1d5d..42ac5ab 100644
--- a/nearby/src/crypto_ffi.rs
+++ b/nearby/src/crypto_ffi.rs
@@ -14,18 +14,13 @@
 
 use anyhow::anyhow;
 use cmd_runner::{run_cmd_shell, run_cmd_shell_with_color, YellowStderr};
-use owo_colors::OwoColorize as _;
 use semver::{Version, VersionReq};
-use std::{
-    env, fs,
-    path::{Path, PathBuf},
-};
+use std::{env, fs, path::Path};
 
 use crate::CargoOptions;
 
 pub fn boringssl_check_everything(root: &Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
     check_boringssl(root, cargo_options)?;
-    check_openssl(root, cargo_options)?;
     Ok(())
 }
 
@@ -90,83 +85,6 @@
     Ok(())
 }
 
-pub fn prepare_patched_rust_openssl(root: &Path) -> anyhow::Result<()> {
-    let mut vendor_dir =
-        root.parent().ok_or_else(|| anyhow!("project root dir no parent dir"))?.to_path_buf();
-    vendor_dir.push("boringssl-build");
-    fs::create_dir_all(&vendor_dir)?;
-
-    let repo_dir = clone_repo_if_needed(
-        &vendor_dir,
-        "rust-openssl",
-        "https://github.com/sfackler/rust-openssl.git",
-    )?;
-
-    run_cmd_shell_with_color::<YellowStderr>(
-        &repo_dir,
-        "git checkout 7df56869c5e1e32369091ab106750d644d3aa0c4",
-    )?;
-    run_cmd_shell_with_color::<YellowStderr>(&repo_dir, "git branch -f BASE_COMMIT")?;
-    run_cmd_shell_with_color::<YellowStderr>(
-        &repo_dir,
-        format!(
-            "git am {}/scripts/openssl-patches/*.patch",
-            root.to_str().ok_or_else(|| anyhow!("root dir is not UTF-8"))?
-        ),
-    )?;
-
-    println!("{}", "Preparation complete. The required repositories are downloaded to `beto-rust/boringssl-build`. If
-you need to go back to a clean state, you can remove that directory and rerun this script.
-
-You can now build and test with boringssl using the following command
-  `cargo --config .cargo/config-boringssl.toml test -p crypto_provider* --features=boringssl,std`
-".cyan());
-
-    Ok(())
-}
-
-pub fn check_openssl(root: &Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
-    log::info!("Checking rust openssl");
-    prepare_patched_rust_openssl(root)?;
-    let locked_arg = if cargo_options.locked { "--locked" } else { "" };
-
-    // test the openssl crate with the boringssl feature
-    run_cmd_shell(
-        root,
-        format!(
-            concat!(
-                "cargo --config .cargo/config-boringssl.toml test {locked_arg} -p crypto_provider_openssl ",
-                "--features=boringssl -- --color=always"
-            ),
-            locked_arg=locked_arg
-        ),
-    )?;
-
-    Ok(())
-}
-
-/// If the repo dir doesn't exist, or errors when running `git fetch -a`, re-clone it.
-///
-/// Returns the repo dir
-fn clone_repo_if_needed(
-    dir: &Path,
-    repo_subdir_name: &str,
-    repo_url: &str,
-) -> anyhow::Result<PathBuf> {
-    let mut repo_dir = dir.to_path_buf();
-    repo_dir.push(repo_subdir_name);
-
-    if run_cmd_shell_with_color::<YellowStderr>(&repo_dir, "git fetch -a").is_err() {
-        // delete it and start over
-        if repo_dir.exists() {
-            fs::remove_dir_all(&repo_dir)?;
-        }
-        run_cmd_shell_with_color::<YellowStderr>(dir, format!("git clone {}", repo_url))?;
-    }
-
-    Ok(repo_dir)
-}
-
 fn get_bindgen_version() -> anyhow::Result<Version> {
     let bindgen_version_output = run_cmd_shell(&env::current_dir().unwrap(), "bindgen --version")?;
 
diff --git a/nearby/src/ffi.rs b/nearby/src/ffi.rs
index 01fe58a..68e6e8c 100644
--- a/nearby/src/ffi.rs
+++ b/nearby/src/ffi.rs
@@ -18,63 +18,15 @@
 
 // wrapper for checking all ffi related things
 pub fn check_everything(root: &path::Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
-    check_np_ffi_rust(root, cargo_options)?;
-    check_ldt_ffi_rust(root)?;
-    check_ldt_cmake(root, cargo_options)?;
     check_np_ffi_cmake(root, cargo_options)?;
-
-    Ok(())
-}
-
-pub fn check_np_ffi_rust(root: &path::Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
-    log::info!("Checking np_c_ffi cargo build");
-    let ffi_dir = root.join("presence/np_c_ffi");
-    let locked_arg = if cargo_options.locked { "--locked" } else { "" };
-    for cargo_cmd in [
-        "fmt --check",
-        // Default build, RustCrypto
-        format!("check {locked_arg} --quiet").as_str(),
-        // Build with BoringSSL for crypto
-        format!("check {locked_arg} --no-default-features --features=boringssl").as_str(),
-        "clippy",
-        "deny check",
-        "doc --quiet --no-deps",
-    ] {
-        run_cmd_shell(&ffi_dir, format!("cargo {}", cargo_cmd))?;
-    }
-    Ok(())
-}
-
-pub fn check_ldt_ffi_rust(root: &path::Path) -> anyhow::Result<()> {
-    log::info!("Checking LFT ffi cargo build");
-    let ffi_dir = root.to_path_buf().join("presence/ldt_np_adv_ffi");
-
-    for cargo_cmd in [
-        "fmt --check",
-        // Default build, RustCrypto + no_std
-        "check --quiet",
-        // Turn on std, still using RustCrypto
-        "check --quiet --features=std",
-        // Turn off default features and try to build with std",
-        "check --quiet --no-default-features --features=std",
-        // Turn off RustCrypto and use boringssl
-        "check --quiet --no-default-features --features=boringssl",
-        "doc --quiet --no-deps",
-        "clippy --release",
-        "clippy --features=std",
-        "clippy --no-default-features --features=openssl",
-        "clippy --no-default-features --features=std",
-        "deny check",
-    ] {
-        run_cmd_shell(&ffi_dir, format!("cargo {}", cargo_cmd))?;
-    }
+    check_ldt_cmake(root, cargo_options)?;
 
     Ok(())
 }
 
 pub fn check_np_ffi_cmake(root: &path::Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
     log::info!("Checking CMake build and tests for np ffi c/c++ code");
-    let build_dir = root.to_path_buf().join("presence/cmake-build");
+    let build_dir = root.join("presence/cmake-build");
     fs::create_dir_all(&build_dir)?;
 
     let locked_arg = if cargo_options.locked { "--locked" } else { "" };
@@ -91,7 +43,7 @@
     run_cmd_shell_with_color::<YellowStderr>(&build_dir, "cmake --build . --target np_ffi_bench")?;
 
     // Run tests with different crypto backends
-    let tests_dir = build_dir.to_path_buf().join("np_cpp_ffi/tests");
+    let tests_dir = build_dir.join("np_cpp_ffi/tests");
     for build_config in [
         // test with default build settings (rustcrypto)
         format!("build {locked_arg} --quiet --release"),
@@ -115,7 +67,7 @@
 
 pub fn check_ldt_cmake(root: &path::Path, cargo_options: &CargoOptions) -> anyhow::Result<()> {
     log::info!("Checking CMake build and tests for ldt c/c++ code");
-    let build_dir = root.to_path_buf().join("presence/cmake-build");
+    let build_dir = root.join("presence/cmake-build");
     fs::create_dir_all(&build_dir)?;
 
     let locked_arg = if cargo_options.locked { "--locked" } else { "" };
@@ -126,8 +78,6 @@
     )?;
 
     // verify sample and benchmarks build
-    let ldt_ffi_crate_dir = root.to_path_buf().join("presence/ldt_np_adv_ffi");
-    run_cmd_shell(&ldt_ffi_crate_dir, format!("cargo build {locked_arg} --release"))?;
     run_cmd_shell_with_color::<YellowStderr>(&build_dir, "cmake --build . --target ldt_c_sample")?;
     run_cmd_shell_with_color::<YellowStderr>(
         &build_dir,
@@ -136,23 +86,18 @@
 
     // Run the LDT ffi unit tests. These are rebuilt and tested against all of the different
     // Cargo build configurations based on the feature flags.
-    let ldt_tests_dir = build_dir.to_path_buf().join("ldt_np_c_sample/tests");
+    let ldt_tests_dir = build_dir.join("ldt_np_adv_ffi/c/tests");
     for build_config in [
         // test with default build settings (rustcrypto, no_std)
         format!("build {locked_arg} --quiet --release"),
-        // test with std and default features
-        format!("build {locked_arg} --quiet --features std --release"),
         // test with boringssl crypto feature flag
         format!("build {locked_arg} --quiet --no-default-features --features boringssl --release"),
         // test without defaults and std feature flag
         format!("build {locked_arg} --quiet --no-default-features --features std --release"),
     ] {
-        run_cmd_shell(&ldt_ffi_crate_dir, format!("cargo {}", build_config))?;
+        run_cmd_shell(root, format!("cargo {} -p ldt_np_adv_ffi", build_config))?;
         // Force detection of updated `ldt_np_adv_ffi` static lib
-        let _ = run_cmd_shell_with_color::<YellowStderr>(
-            &build_dir,
-            "rm ldt_np_c_sample/tests/ldt_ffi_tests",
-        );
+        let _ = run_cmd_shell_with_color::<YellowStderr>(&ldt_tests_dir, "rm ldt_ffi_tests");
         run_cmd_shell_with_color::<YellowStderr>(
             &build_dir,
             "cmake --build . --target ldt_ffi_tests",
diff --git a/nearby/src/fuzzers.rs b/nearby/src/fuzzers.rs
index 192d59c..aba01b3 100644
--- a/nearby/src/fuzzers.rs
+++ b/nearby/src/fuzzers.rs
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-use cmd_runner::{run_cmd_shell_with_color, YellowStderr};
+use cmd_runner::{run_cmd_shell, run_cmd_shell_with_color, YellowStderr};
 use std::{fs, path};
 
 pub(crate) fn run_rust_fuzzers(root: &path::Path) -> anyhow::Result<()> {
@@ -52,7 +52,7 @@
     run_cmd_shell_with_color::<YellowStderr>(
         &root.join("crypto/crypto_provider_test"),
         concat!(
-            "cargo +nightly fuzz run fuzz_p256 --features=openssl --no-default-features ",
+            "cargo +nightly fuzz run fuzz_p256 --features=boringssl --no-default-features ",
             "-- -runs=10000 -max_total_time=60"
         ),
     )?;
@@ -60,22 +60,25 @@
     Ok(())
 }
 
-pub(crate) fn build_ffi_fuzzers(root: &path::Path) -> anyhow::Result<()> {
-    log::info!("Building ffi fuzzers");
-    // TODO currently broken because the FFI stuff hasn't necessarily been built yet
-    let mut build_dir = root.to_path_buf();
-    build_dir.push("presence/ldt_np_adv_ffi_fuzz/cmake-build");
+// Runs the fuzztest fuzzers as short lived unit tests, compatible with gtest
+pub(crate) fn build_fuzztest_uts(root: &path::Path) -> anyhow::Result<()> {
+    log::info!("Checking fuzztest targets in unit test mode");
 
-    if build_dir.exists() {
-        fs::remove_dir_all(&build_dir)?;
-    }
+    // first build the rust static libs to link against
+    let np_ffi_crate_dir = root.join("presence/np_c_ffi");
+    run_cmd_shell(&np_ffi_crate_dir, "cargo build --release")?;
+    let build_dir = root.join("presence/cmake-build");
     fs::create_dir_all(&build_dir)?;
-    run_cmd_shell_with_color::<YellowStderr>(
-        &build_dir,
-        "cmake -G Ninja ../.. -DENABLE_FUZZ=true",
-    )?;
-    run_cmd_shell_with_color::<YellowStderr>(&build_dir, "cmake --build .")?;
-    fs::remove_dir_all(&build_dir)?;
+    run_cmd_shell_with_color::<YellowStderr>(&build_dir, "cmake -G Ninja -DENABLE_FUZZ=true ..")?;
 
+    for target in ["deserialization_fuzzer", "ldt_fuzzer"] {
+        run_cmd_shell_with_color::<YellowStderr>(
+            &build_dir,
+            format!("cmake --build . --target {}", target),
+        )?;
+    }
+
+    run_cmd_shell_with_color::<YellowStderr>(&build_dir.join("np_cpp_ffi/fuzz/"), "ctest")?;
+    run_cmd_shell_with_color::<YellowStderr>(&build_dir.join("ldt_np_adv_ffi/c/fuzz/"), "ctest")?;
     Ok(())
 }
diff --git a/nearby/src/jni.rs b/nearby/src/jni.rs
index 22a1da2..0b000fb 100644
--- a/nearby/src/jni.rs
+++ b/nearby/src/jni.rs
@@ -17,9 +17,7 @@
 
 // This has to happen after both boringssl has been built and prepare rust openssl patches has been run.
 pub fn check_ldt_jni(root: &path::Path) -> anyhow::Result<()> {
-    for feature in ["opensslbssl", "boringssl"] {
-        run_cmd_shell(root, format!("cargo --config .cargo/config-boringssl.toml build -p ldt_np_jni --no-default-features --features={}", feature))?;
-    }
+    run_cmd_shell(root, "cargo build -p ldt_np_jni --no-default-features --features=boringssl")?;
     Ok(())
 }
 
@@ -28,3 +26,10 @@
     run_cmd_shell(&kotlin_lib_path, "./gradlew :test")?;
     Ok(())
 }
+
+pub fn run_ukey2_jni_tests(root: &path::Path) -> anyhow::Result<()> {
+    run_cmd_shell(root, "cargo build -p ukey2_jni")?;
+    let ukey2_jni_path = root.to_path_buf().join("connections/ukey2/ukey2_jni/java");
+    run_cmd_shell(&ukey2_jni_path, "./gradlew :test")?;
+    Ok(())
+}
diff --git a/nearby/src/main.rs b/nearby/src/main.rs
index 3d698e2..f4843be 100644
--- a/nearby/src/main.rs
+++ b/nearby/src/main.rs
@@ -15,9 +15,9 @@
 extern crate core;
 
 use clap::Parser as _;
-use cmd_runner::run_cmd_shell;
+use cmd_runner::{run_cmd, run_cmd_shell, YellowStderr};
 use env_logger::Env;
-use std::{env, path};
+use std::{env, ffi::OsString, path};
 
 mod crypto_ffi;
 mod ffi;
@@ -46,16 +46,13 @@
         }
         Subcommand::BuildBoringssl => crypto_ffi::build_boringssl(&root_dir)?,
         Subcommand::CheckBoringssl(ref options) => crypto_ffi::check_boringssl(&root_dir, options)?,
-        Subcommand::PrepareRustOpenssl => crypto_ffi::prepare_patched_rust_openssl(&root_dir)?,
-        Subcommand::CheckOpenssl(ref options) => crypto_ffi::check_openssl(&root_dir, options)?,
         Subcommand::RunRustFuzzers => fuzzers::run_rust_fuzzers(&root_dir)?,
-        Subcommand::BuildFfiFuzzers => fuzzers::build_ffi_fuzzers(&root_dir)?,
+        Subcommand::CheckFuzztest => fuzzers::build_fuzztest_uts(&root_dir)?,
         Subcommand::CheckLicenseHeaders => license::check_license_headers(&root_dir)?,
         Subcommand::AddLicenseHeaders => license::add_license_headers(&root_dir)?,
-        Subcommand::CheckLdtFfi => ffi::check_ldt_ffi_rust(&root_dir)?,
         Subcommand::CheckUkey2Ffi(ref options) => ukey2::check_ukey2_ffi(&root_dir, options)?,
+        Subcommand::RunUkey2JniTests => jni::run_ukey2_jni_tests(&root_dir)?,
         Subcommand::CheckLdtJni => jni::check_ldt_jni(&root_dir)?,
-        Subcommand::CheckNpFfi(ref options) => ffi::check_np_ffi_rust(&root_dir, options)?,
         Subcommand::CheckLdtCmake(ref options) => ffi::check_ldt_cmake(&root_dir, options)?,
         Subcommand::CheckNpFfiCmake(ref options) => ffi::check_np_ffi_cmake(&root_dir, options)?,
         Subcommand::RunKotlinTests => jni::run_kotlin_tests(&root_dir)?,
@@ -64,28 +61,68 @@
     Ok(())
 }
 
+fn check_format(root: &path::Path, options: &CheckOptions) -> anyhow::Result<()> {
+    // Rust format
+    {
+        let fmt_command = if options.reformat { "cargo fmt" } else { "cargo fmt --check" };
+        run_cmd_shell(root, fmt_command)?;
+    }
+
+    // Java format. This uses the jar downloaded as part of the CI script or the local
+    // `google-java-format` executable. The jar file path can be overridden with the
+    // `GOOGLE_JAVA_FORMAT_ALL_DEPS_JAR` environment variable. See
+    // <go/google-java-format#installation> for setup instructions for your dev environment if
+    // needed.
+    {
+        let jar_path = std::env::var("GOOGLE_JAVA_FORMAT_ALL_DEPS_JAR").unwrap_or_else(|_| {
+            "/opt/google-java-format/google-java-format-all-deps.jar".to_owned()
+        });
+
+        let mut fmt_command: Vec<OsString> = Vec::new();
+
+        if path::PathBuf::from(&jar_path).exists() {
+            fmt_command.extend(["java".into(), "-jar".into(), jar_path.into()]);
+        } else {
+            fmt_command.push("google-java-format".into());
+        }
+
+        if options.reformat {
+            fmt_command.push("-i".into());
+        } else {
+            fmt_command.extend(["--set-exit-if-changed".into(), "--dry-run".into()]);
+        }
+
+        let java_files: Vec<_> =
+            glob::glob("./**/*.java").unwrap().filter_map(Result::ok).collect();
+
+        for file_set in java_files.chunks(100) {
+            let mut args = fmt_command[1..].to_vec();
+            args.extend(file_set.iter().map(OsString::from));
+
+            run_cmd::<YellowStderr, _, _, _>(root, &fmt_command[0], args)?;
+        }
+    }
+
+    Ok(())
+}
+
 pub fn check_workspace(root: &path::Path, options: &CheckOptions) -> anyhow::Result<()> {
     log::info!("Running cargo checks on workspace");
 
-    let fmt_command = if options.reformat { "cargo fmt" } else { "cargo fmt --check" };
+    // ensure formatting is correct (Check for it first because it is fast compared to running tests)
+    check_format(root, options)?;
 
     for cargo_cmd in [
-        // ensure formatting is correct (Check for it first because it is fast compared to running tests)
-        fmt_command,
         // make sure everything compiles
         "cargo check --workspace --all-targets --quiet",
         // run all the tests
-        //TODO: re-enable the openssl tests, this was potentially failing due to UB code in the
-        // upstream rust-openssl crate's handling of empty slices. This repros consistently when
-        // using the rust-openssl crate backed by openssl-sys on Ubuntu 20.04.
-        "cargo test --workspace --quiet --exclude crypto_provider_openssl -- --color=always",
+        "cargo test --workspace --quiet -- --color=always",
         // Test ukey2 builds with different crypto providers
         "cargo test -p ukey2_connections -p ukey2_rs --no-default-features --features test_rustcrypto",
-        "cargo test -p ukey2_connections -p ukey2_rs --no-default-features --features test_openssl",
         // ensure the docs are valid (cross-references to other code, etc)
         concat!(
-            "RUSTDOCFLAGS='--deny warnings -Z unstable-options --enable-index-page --generate-link-to-definition' ",
-            "cargo +nightly doc --quiet --workspace --no-deps --document-private-items ",
+            "RUSTDOCFLAGS='--deny warnings' ",
+            "cargo doc --quiet --workspace --no-deps --document-private-items ",
             "--target-dir target/dist_docs",
         ),
         "cargo clippy --all-targets --workspace -- --deny warnings",
@@ -102,20 +139,19 @@
     license::check_license_headers(root)?;
     check_workspace(root, check_options)?;
     crypto_ffi::check_boringssl(root, &check_options.cargo_options)?;
-    crypto_ffi::check_openssl(root, &check_options.cargo_options)?;
     ffi::check_everything(root, &check_options.cargo_options)?;
     jni::check_ldt_jni(root)?;
     jni::run_kotlin_tests(root)?;
+    jni::run_ukey2_jni_tests(root)?;
     ukey2::check_ukey2_ffi(root, &check_options.cargo_options)?;
     fuzzers::run_rust_fuzzers(root)?;
-    fuzzers::build_ffi_fuzzers(root)?;
+    fuzzers::build_fuzztest_uts(root)?;
 
     Ok(())
 }
 
 pub fn clean_everything(root: &path::Path) -> anyhow::Result<()> {
     run_cmd_shell(root, "cargo clean")?;
-    run_cmd_shell(&root.join("presence/ldt_np_adv_ffi"), "cargo clean")?;
     run_cmd_shell(&root.join("presence/np_c_ffi"), "cargo clean")?;
     run_cmd_shell(&root.join("crypto/crypto_provider_boringssl"), "cargo clean")?;
     run_cmd_shell(&root.join("connections/ukey2/ukey2_c_ffi"), "cargo clean")?;
@@ -140,29 +176,19 @@
     CleanEverything,
     /// Checks everything included in the top level workspace
     CheckWorkspace(CheckOptions),
-    /// Checks everything related to the boringssl version (equivalent of running check-boringssl
-    /// + check-openssl)
+    /// Checks everything related to the boringssl version
     BoringsslCheckEverything(CargoOptions),
     /// Clones boringssl and uses bindgen to generate the rust crate
     BuildBoringssl,
     /// Run crypto provider tests using boringssl backend
     CheckBoringssl(CargoOptions),
-    /// Applies AOSP specific patches to the 3p `openssl` crate so that it can use a boringssl
-    /// backend
-    PrepareRustOpenssl,
-    /// Run crypto provider tests using openssl crate with boringssl backend
-    CheckOpenssl(CargoOptions),
     /// Build and run pure Rust fuzzers for 10000 runs
     RunRustFuzzers,
-    /// Build FFI fuzzers
-    BuildFfiFuzzers,
+    /// Builds and runs fuzztest property based unit tests
+    CheckFuzztest,
     /// Builds and runs tests for all C/C++ projects. This is a combination of CheckNpFfi,
     /// CheckLdtFfi, and CheckCmakeBuildAndTests
     FfiCheckEverything(CargoOptions),
-    /// Builds the crate checks the cbindgen generation of C/C++ bindings
-    CheckNpFfi(CargoOptions),
-    /// Builds ldt_np_adv_ffi crate with all possible different sets of feature flags
-    CheckLdtFfi,
     /// Checks the CMake build and runs all of the C/C++ tests
     CheckLdtCmake(CargoOptions),
     /// Checks the CMake build and runs all of the C/C++ tests
@@ -173,10 +199,12 @@
     AddLicenseHeaders,
     /// Builds and runs tests for the UKEY2 FFI
     CheckUkey2Ffi(CargoOptions),
-    /// Checks the build of ldt_jni wrapper with non default features, ie rust-openssl, and boringssl
+    /// Checks the build of ldt_jni wrapper with non default features, ie boringssl
     CheckLdtJni,
     /// Runs the kotlin tests of the LDT Jni API
     RunKotlinTests,
+    /// Checks the build of the ukey2_jni wrapper and runs tests
+    RunUkey2JniTests,
 }
 
 #[derive(clap::Args, Debug, Clone, Default)]
diff --git a/nearby/src/ukey2.rs b/nearby/src/ukey2.rs
index e548ab0..5e711a1 100644
--- a/nearby/src/ukey2.rs
+++ b/nearby/src/ukey2.rs
@@ -28,22 +28,18 @@
 
     // Default build, RustCrypto
     run_cmd_shell(&ffi_dir, format!("cargo build {locked_arg} --quiet --release --lib"))?;
-    // OpenSSL
+    // BoringSSL
     run_cmd_shell(
         &ffi_dir,
-        format!("cargo build {locked_arg} --quiet --no-default-features --features=openssl"),
+        format!("cargo build {locked_arg} --quiet --no-default-features --features=boringssl"),
     )?;
+    run_cmd_shell(&ffi_dir, "cargo clippy --no-default-features --features=boringssl")?;
 
-    run_cmd_shell(&ffi_dir, "cargo doc --quiet --no-deps")?;
-    run_cmd_shell(&ffi_dir, "cargo clippy --no-default-features --features=openssl")?;
-
-    run_cmd_shell(&ffi_dir, "cargo deny check")?;
-
+    // now run cmake build
     let ffi_build_dir = ffi_dir.join("cpp/build");
     fs::create_dir_all(&ffi_build_dir)?;
     run_cmd_shell_with_color::<YellowStderr>(&ffi_build_dir, "cmake ..")?;
     run_cmd_shell_with_color::<YellowStderr>(&ffi_build_dir, "cmake --build .")?;
     run_cmd_shell_with_color::<YellowStderr>(&ffi_build_dir, "ctest")?;
-
     Ok(())
 }
diff --git a/nearby/util/handle_map/src/declare_handle_map.rs b/nearby/util/handle_map/src/declare_handle_map.rs
index c19a012..688ec18 100644
--- a/nearby/util/handle_map/src/declare_handle_map.rs
+++ b/nearby/util/handle_map/src/declare_handle_map.rs
@@ -16,17 +16,18 @@
 
 #[macro_export]
 /// ```ignore
-/// declare_handle_map! {
-///     mod $handle_module_name {
-///         #[dimensions = $map_dimension_provider]
-///         type $handle_type_name: HandleLike<Object = $wrapped_type>;
-///     }
-/// }
+/// declare_handle_map! (
+///     $handle_module_name,
+///     $map_dimension_provider,
+///     $handle_type_name,
+///     $wrapped_type,
+/// )
 /// ```
 ///
-/// Declares a new public module with name `handle_module_name` which includes a new type
-/// `handle_type_name` which is `#[repr(C)]` and represents FFI-accessible handles
-/// to values of type `wrapped_type`.
+/// Declares a new public module with name `handle_module_name` which implements handle functionality
+/// for the given struct `handle_type_name` which is `#[repr(C)]` and represents FFI-accessible
+/// handles to values of type `wrapped_type`. `handle_type_name` expects a struct with a single u64
+/// field `handle_id`.
 ///
 /// Internal to the generated module, a new static `SingletonHandleMap` is created, where the
 /// maximum number of active handles and the number of shards are given by
@@ -54,14 +55,16 @@
 ///     }
 ///  }
 ///
-///  declare_handle_map! {
-///     mod string_handle {
-///         #[dimensions = super::get_string_handle_map_dimensions()]
-///         type StringHandle: HandleLike<Object = String>;
-///     }
+///  struct StringHandle {
+///     handle_id: u64
 ///  }
 ///
-///  use string_handle::StringHandle;
+///  declare_handle_map!(
+///     string_handle,
+///     super::get_string_handle_map_dimensions(),
+///     super::StringHandle,
+///     String
+///  );
 ///
 ///  fn main() {
 ///         // Note: this method could panic if there are
@@ -90,10 +93,10 @@
 /// ```
 macro_rules! declare_handle_map {
     (
-        mod $handle_module_name:ident {
-            #[dimensions = $map_dimension_provider:expr]
-            type $handle_type_name:ident: HandleLike<Object = $wrapped_type:ty>;
-        }
+        $handle_module_name:ident,
+        $map_dimension_provider:expr,
+        $handle_type_name:ty,
+        $wrapped_type:ty
      ) => {
         #[doc = ::core::concat!(
                     "Macro-generated (via `handle_map::declare_handle_map!`) module which",
@@ -102,7 +105,6 @@
                     " which references values of type `", ::core::stringify!($wrapped_type), "`."
                 )]
         pub mod $handle_module_name {
-
             lazy_static! {
                 static ref GLOBAL_HANDLE_MAP: $crate::HandleMap<$wrapped_type> =
                 $crate::HandleMap::with_dimensions($map_dimension_provider);
@@ -112,11 +114,6 @@
                         "A `#[repr(C)]` handle to a value of type `",
                         ::core::stringify!($wrapped_type), "`."
                     )]
-            #[repr(C)]
-            #[derive(Clone, Copy, PartialEq, Eq)]
-            pub struct $handle_type_name {
-                handle_id: u64,
-            }
 
             impl $handle_type_name {
                 /// Cast the given raw Handle to this HandleLike
diff --git a/nearby/util/pourover/Cargo.toml b/nearby/util/pourover/Cargo.toml
new file mode 100644
index 0000000..ce6fefa
--- /dev/null
+++ b/nearby/util/pourover/Cargo.toml
@@ -0,0 +1,13 @@
+[package]
+name = "pourover"
+version.workspace = true
+edition.workspace = true
+publish.workspace = true
+
+[dependencies]
+jni.workspace = true
+pourover_macro.workspace = true
+
+[dev-dependencies]
+# Enable JVM creation for `tests/desc_integration.rs`
+jni = { workspace = true, features = ["invocation"] }
diff --git a/nearby/util/pourover/src/conversions.rs b/nearby/util/pourover/src/conversions.rs
new file mode 100644
index 0000000..69a00a2
--- /dev/null
+++ b/nearby/util/pourover/src/conversions.rs
@@ -0,0 +1,88 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Helper traits to convert byte signedness for Java interop
+
+/// A helper trait to bitcast data to its signed representation
+pub trait ToSigned {
+    /// The signed version of this type.
+    type Signed;
+
+    /// Bitcast to signed
+    fn to_signed(self) -> Self::Signed;
+}
+
+impl<'a> ToSigned for &'a [u8] {
+    type Signed = &'a [i8];
+
+    fn to_signed(self) -> Self::Signed {
+        let len = self.len();
+        // Safety:
+        // u8 and i8 have the same layout and the lifetime is maintained
+        unsafe { core::slice::from_raw_parts(self.as_ptr() as *const i8, len) }
+    }
+}
+
+/// A helper trait to bitcast data to its unsigned representation
+pub trait ToUnsigned {
+    /// The unsigned version of this type.
+    type Unsigned;
+
+    /// Bitcast to unsigned
+    fn to_unsigned(self) -> Self::Unsigned;
+}
+
+impl<'a> ToUnsigned for &'a [i8] {
+    type Unsigned = &'a [u8];
+
+    fn to_unsigned(self) -> Self::Unsigned {
+        let len = self.len();
+        // Safety:
+        // u8 and i8 have the same layout and the lifetime is maintained
+        unsafe { core::slice::from_raw_parts(self.as_ptr() as *const u8, len) }
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    #[test]
+    fn test_to_signed() {
+        let input: &[u8] = &[1, 2, 3, 0, 0xff, 0xfe];
+        let expected: &[i8] = &[1, 2, 3, 0, -1, -2];
+
+        assert_eq!(expected, input.to_signed());
+    }
+
+    #[test]
+    fn test_to_unsigned() {
+        let input: &[i8] = &[1, 2, 3, 0, -1, -2];
+        let expected: &[u8] = &[1, 2, 3, 0, 0xff, 0xfe];
+
+        assert_eq!(expected, input.to_unsigned());
+    }
+
+    #[test]
+    fn test_roundtrip_unsigned() {
+        let case: &[u8] = &[1, 2, 3, 0, 0xff, 0xfe];
+        assert_eq!(case, case.to_signed().to_unsigned());
+    }
+
+    #[test]
+    fn test_roundtrip_signed() {
+        let case: &[i8] = &[1, 2, 3, 0, -1, -2];
+        assert_eq!(case, case.to_unsigned().to_signed());
+    }
+}
diff --git a/nearby/util/pourover/src/desc.rs b/nearby/util/pourover/src/desc.rs
new file mode 100644
index 0000000..507d3de
--- /dev/null
+++ b/nearby/util/pourover/src/desc.rs
@@ -0,0 +1,381 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Cacheable descriptors. These `jni` crate compatible descriptors will cache their value on first
+//! lookup. They are meant to be combined with static variables in order to globally cache their
+//! associated id values.
+//!
+//! ### Example
+//!
+//! ```java
+//! package com.example;
+//!
+//! public class MyClass {
+//!     public int foo;
+//!     public int getBar() { /* ... */ }
+//! }
+//! ```
+//!
+//! ```rust
+//! use pourover::desc::*;
+//!
+//! static MY_CLASS_DESC: ClassDesc = ClassDesc::new("com/example/MyClass");
+//! static MY_CLASS_FOO_FIELD: FieldDesc = MY_CLASS_DESC.field("foo", "I");
+//! static MY_CLASS_GET_BAR_METHOD: MethodDesc = MY_CLASS_DESC.method("getBar", "I()");
+//! ```
+
+use core::convert::AsRef;
+use jni::{
+    descriptors::Desc,
+    objects::{GlobalRef, JClass, JFieldID, JMethodID, JObject, JStaticFieldID, JStaticMethodID},
+    JNIEnv,
+};
+use std::sync::{LockResult, RwLock, RwLockReadGuard};
+
+/// JNI descriptor that caches a Java class.
+pub struct ClassDesc {
+    /// The JNI descriptor for this class.
+    descriptor: &'static str,
+    /// The cached class
+    ///
+    /// The implementation assumes that `None` is only written to the lock when `&mut self` is
+    /// held. Only `Some` is valid to write to this lock while `&self` is held.
+    cls: RwLock<Option<GlobalRef>>,
+}
+
+impl ClassDesc {
+    /// Create a new descriptor with the given JNI descriptor string.
+    pub const fn new(descriptor: &'static str) -> Self {
+        Self { descriptor, cls: RwLock::new(None) }
+    }
+
+    /// Create a new descriptor for a field member of this class.
+    pub const fn field<'cls>(&'cls self, name: &'static str, sig: &'static str) -> FieldDesc<'cls> {
+        FieldDesc::new(self, name, sig)
+    }
+
+    /// Create a new descriptor for a static field member of this class.
+    pub const fn static_field<'cls>(
+        &'cls self,
+        name: &'static str,
+        sig: &'static str,
+    ) -> StaticFieldDesc<'cls> {
+        StaticFieldDesc::new(self, name, sig)
+    }
+
+    /// Create a new descriptor for a method member of this class.
+    pub const fn method<'cls>(
+        &'cls self,
+        name: &'static str,
+        sig: &'static str,
+    ) -> MethodDesc<'cls> {
+        MethodDesc::new(self, name, sig)
+    }
+
+    /// Create a new descriptor for a constructor for this class.
+    pub const fn constructor<'cls>(&'cls self, sig: &'static str) -> MethodDesc<'cls> {
+        MethodDesc::new(self, "<init>", sig)
+    }
+
+    /// Create a new descriptor for a static method member of this class.
+    pub const fn static_method<'cls>(
+        &'cls self,
+        name: &'static str,
+        sig: &'static str,
+    ) -> StaticMethodDesc<'cls> {
+        StaticMethodDesc::new(self, name, sig)
+    }
+
+    /// Free the cached GlobalRef to the class object. This will happen automatically on drop, but
+    /// this method is provided to allow the value to be dropped early. This can be used to perform
+    /// cleanup on a thread that is already attached to the JVM.
+    pub fn free(&mut self) {
+        // Get a mutable reference ignoring poison state
+        let mut guard = self.cls.write().ignore_poison();
+        let global = guard.take();
+        // Drop the guard before global in case it panics. We don't want to poison the lock.
+        core::mem::drop(guard);
+        // Drop the GlobalRef value to cleanup
+        core::mem::drop(global);
+    }
+
+    fn get_cached(&self) -> Option<CachedClass<'_>> {
+        CachedClass::from_lock(&self.cls)
+    }
+}
+
+/// Wrapper to allow RwLock references to be returned from Desc. Use the `AsRef` impl to get the
+/// associated `JClass` reference. The inner `Option` must always be `Some`. This is enfocred by
+/// the `from_lock` constructor.
+pub struct CachedClass<'lock>(RwLockReadGuard<'lock, Option<GlobalRef>>);
+
+impl<'lock> CachedClass<'lock> {
+    /// Read from the given lock and create a `CachedClass` instance if the lock contains a cached
+    /// class value. The given lock must have valid data even if it is poisoned.
+    fn from_lock(lock: &'lock RwLock<Option<GlobalRef>>) -> Option<CachedClass<'lock>> {
+        let guard = lock.read().ignore_poison();
+
+        // Validate that there is a GlobalRef value already, otherwise avoid constructing `Self`.
+        if guard.is_some() {
+            Some(Self(guard))
+        } else {
+            None
+        }
+    }
+}
+
+// Implement AsRef so that we can use this type as `Desc::Output` in [`ClassDesc`].
+impl<'lock> AsRef<JClass<'static>> for CachedClass<'lock> {
+    fn as_ref(&self) -> &JClass<'static> {
+        // `unwrap` is valid since we checked for `Some` in the constructor.
+        let global = self.0.as_ref().unwrap();
+        // No direct conversion to JClass, so let's go through JObject first.
+        let obj: &JObject<'static> = global.as_ref();
+        // This assumes our object is a class object.
+        let cls: &JClass<'static> = From::from(obj);
+        cls
+    }
+}
+
+/// # Safety
+///
+/// This returns the correct class instance via `JNIEnv::find_class`. The cached class is held in a
+/// [`GlobalRef`] so that it cannot be unloaded.
+unsafe impl<'a, 'local> Desc<'local, JClass<'static>> for &'a ClassDesc {
+    type Output = CachedClass<'a>;
+
+    fn lookup(self, env: &mut JNIEnv<'local>) -> jni::errors::Result<Self::Output> {
+        // Check the cache
+        if let Some(cls) = self.get_cached() {
+            return Ok(cls);
+        }
+
+        {
+            // Ignoring poison is fine because we only write fully-constructed values.
+            let mut guard = self.cls.write().ignore_poison();
+
+            // Multiple threads could have hit this block at the same time. Only allocate the
+            // `GlobalRef` if it was not already allocated.
+            if guard.is_none() {
+                let cls = env.find_class(self.descriptor)?;
+                let global = env.new_global_ref(cls)?;
+
+                // Only directly assign valid values. That way poison state can't have broken
+                // invariants. If the above panicked then it will poison without changing the
+                // lock's data, and everything will still be fine albeit with a sprinkle of
+                // possibly-leaked memory.
+                *guard = Some(global);
+            }
+        }
+
+        // Safe to unwrap since we just set `self.cls` to `Some`. `ClassDesc::free` can't be called
+        // before this point because it takes a mutable reference to `*self`.
+        Ok(self.get_cached().unwrap())
+    }
+}
+
+/// A descriptor for a class member. `Id` is expected to implement the [`MemberId`] trait.
+///
+/// See [`FieldDesc`], [`StaticFieldDesc`], [`MethodDesc`], and [`StaticMethodDesc`] aliases.
+pub struct MemberDesc<'cls, Id> {
+    cls: &'cls ClassDesc,
+    name: &'static str,
+    sig: &'static str,
+    id: RwLock<Option<Id>>,
+}
+
+/// Descriptor for a field.
+pub type FieldDesc<'cls> = MemberDesc<'cls, JFieldID>;
+/// Descriptor for a static field.
+pub type StaticFieldDesc<'cls> = MemberDesc<'cls, JStaticFieldID>;
+/// Descriptor for a method.
+pub type MethodDesc<'cls> = MemberDesc<'cls, JMethodID>;
+/// Descriptor for a static method.
+pub type StaticMethodDesc<'cls> = MemberDesc<'cls, JStaticMethodID>;
+
+impl<'cls, Id: MemberId> MemberDesc<'cls, Id> {
+    /// Create a new descriptor for a member of the given class with the given name and signature.
+    ///
+    /// Please use the helpers on [`ClassDesc`] instead of directly calling this method.
+    pub const fn new(cls: &'cls ClassDesc, name: &'static str, sig: &'static str) -> Self {
+        Self { cls, name, sig, id: RwLock::new(None) }
+    }
+
+    /// Get the class descriptor that this member is associated to.
+    pub const fn cls(&self) -> &'cls ClassDesc {
+        self.cls
+    }
+}
+
+/// # Safety
+///
+/// This returns the correct id. It is the same id obtained from the JNI. This id can be a pointer
+/// in some JVM implementations. See trait [`MemberId`].
+unsafe impl<'cls, 'local, Id: MemberId> Desc<'local, Id> for &MemberDesc<'cls, Id> {
+    type Output = Id;
+
+    fn lookup(self, env: &mut JNIEnv<'local>) -> jni::errors::Result<Self::Output> {
+        // Check the cache.
+        if let Some(id) = *self.id.read().ignore_poison() {
+            return Ok(id);
+        }
+
+        {
+            // Ignoring poison is fine because we only write valid values.
+            let mut guard = self.id.write().ignore_poison();
+
+            // Multiple threads could have hit this block at the same time. Only lookup the id if
+            // the lookup was not already performed.
+            if guard.is_none() {
+                let id = Id::lookup(env, self)?;
+
+                // Only directly assign valid values. That way poison state can't have broken
+                // invariants. If the above panicked then it will poison without changing the
+                // lock's data and everything will still be fine.
+                *guard = Some(id);
+
+                Ok(id)
+            } else {
+                // Can unwrap since we just checked for `None`.
+                Ok(*guard.as_ref().unwrap())
+            }
+        }
+    }
+}
+
+/// Helper trait that calls into `jni` to lookup the id values. This is specialized on the id's
+/// type to call the correct lookup function.
+///
+/// # Safety
+///
+/// Implementers must be an ID returned from the JNI. `lookup` must be implemented such that the
+/// returned ID matches the JNI descriptor given. All values must be sourced from the JNI APIs.
+/// See [`::jni::descriptors::Desc`].
+pub unsafe trait MemberId: Sized + Copy + AsRef<Self> {
+    /// Lookup the id of the given descriptor via the given environment.
+    fn lookup(env: &mut JNIEnv, desc: &MemberDesc<Self>) -> jni::errors::Result<Self>;
+}
+
+/// # Safety
+///
+/// This fetches the matching ID from the JNI APIs.
+unsafe impl MemberId for JFieldID {
+    fn lookup(env: &mut JNIEnv, desc: &MemberDesc<Self>) -> jni::errors::Result<Self> {
+        env.get_field_id(desc.cls(), desc.name, desc.sig)
+    }
+}
+
+/// # Safety
+///
+/// This fetches the matching ID from the JNI APIs.
+unsafe impl MemberId for JStaticFieldID {
+    fn lookup(env: &mut JNIEnv, desc: &MemberDesc<Self>) -> jni::errors::Result<Self> {
+        env.get_static_field_id(desc.cls(), desc.name, desc.sig)
+    }
+}
+
+/// # Safety
+///
+/// This fetches the matching ID from the JNI APIs.
+unsafe impl MemberId for JMethodID {
+    fn lookup(env: &mut JNIEnv, desc: &MemberDesc<Self>) -> jni::errors::Result<Self> {
+        env.get_method_id(desc.cls(), desc.name, desc.sig)
+    }
+}
+
+/// # Safety
+///
+/// This fetches the matching ID from the JNI APIs.
+unsafe impl MemberId for JStaticMethodID {
+    fn lookup(env: &mut JNIEnv, desc: &MemberDesc<Self>) -> jni::errors::Result<Self> {
+        env.get_static_method_id(desc.cls(), desc.name, desc.sig)
+    }
+}
+
+/// Internal helper to ignore the poison state of `LockResult`.
+///
+/// The poison state occurs when a panic occurs during the lock's critical section. This means that
+/// the invariants of the locked data that were protected by the lock may be broken. When this
+/// trait is used below, it is used in scenarios where the locked data does not have invariants
+/// that can be broken in this way. In these cases, the possibly-poisoned lock is being used purely
+/// for synchronization, so the poison state may be ignored.
+trait IgnoreLockPoison {
+    type Guard;
+
+    /// Extract the inner `Guard` of this `LockResult`. This ignores whether the lock state is
+    /// poisoned or not.
+    fn ignore_poison(self) -> Self::Guard;
+}
+
+impl<G> IgnoreLockPoison for LockResult<G> {
+    type Guard = G;
+    fn ignore_poison(self) -> Self::Guard {
+        self.unwrap_or_else(|poison| poison.into_inner())
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    const DESC: &str = "com/example/Foo";
+    static FOO: ClassDesc = ClassDesc::new(DESC);
+
+    static FIELD: FieldDesc = FOO.field("foo", "I");
+    static STATIC_FIELD: StaticFieldDesc = FOO.static_field("sfoo", "J");
+    static CONSTRUCTOR: MethodDesc = FOO.constructor("(I)V");
+    static METHOD: MethodDesc = FOO.method("mfoo", "()Z");
+    static STATIC_METHOD: StaticMethodDesc = FOO.static_method("smfoo", "()I");
+
+    #[test]
+    fn class_desc_created_properly() {
+        assert_eq!(DESC, FOO.descriptor);
+        assert!(FOO.cls.read().ignore_poison().is_none());
+    }
+
+    #[test]
+    fn field_desc_created_properly() {
+        assert!(std::ptr::eq(&FOO, FIELD.cls()));
+        assert_eq!("foo", FIELD.name);
+        assert_eq!("I", FIELD.sig);
+    }
+
+    #[test]
+    fn static_field_desc_created_properly() {
+        assert!(std::ptr::eq(&FOO, STATIC_FIELD.cls()));
+        assert_eq!("sfoo", STATIC_FIELD.name);
+        assert_eq!("J", STATIC_FIELD.sig);
+    }
+
+    #[test]
+    fn constructor_desc_created_properly() {
+        assert!(std::ptr::eq(&FOO, CONSTRUCTOR.cls()));
+        assert_eq!("<init>", CONSTRUCTOR.name);
+        assert_eq!("(I)V", CONSTRUCTOR.sig);
+    }
+
+    #[test]
+    fn method_desc_created_properly() {
+        assert!(std::ptr::eq(&FOO, METHOD.cls()));
+        assert_eq!("mfoo", METHOD.name);
+        assert_eq!("()Z", METHOD.sig);
+    }
+
+    #[test]
+    fn static_method_desc_created_properly() {
+        assert!(std::ptr::eq(&FOO, STATIC_METHOD.cls()));
+        assert_eq!("smfoo", STATIC_METHOD.name);
+        assert_eq!("()I", STATIC_METHOD.sig);
+    }
+}
diff --git a/nearby/connections/connections_adv/connections_adv/src/lib.rs b/nearby/util/pourover/src/lib.rs
similarity index 67%
rename from nearby/connections/connections_adv/connections_adv/src/lib.rs
rename to nearby/util/pourover/src/lib.rs
index 4cfcdfa..51495de 100644
--- a/nearby/connections/connections_adv/connections_adv/src/lib.rs
+++ b/nearby/util/pourover/src/lib.rs
@@ -12,20 +12,15 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Placeholder crate for connections advertisements
+//! Utilties for JNI interactions.
 
-/// placeholder
-pub fn add(left: usize, right: usize) -> usize {
-    left + right
-}
+// Enforce documentation
+#![deny(missing_docs)]
+#![deny(unsafe_op_in_unsafe_fn)]
 
-#[cfg(test)]
-mod tests {
-    use super::*;
+pub use pourover_macro::jni_method;
 
-    #[test]
-    fn it_works() {
-        let result = add(2, 2);
-        assert_eq!(result, 4);
-    }
-}
+pub mod desc;
+
+mod conversions;
+pub use conversions::{ToSigned, ToUnsigned};
diff --git a/nearby/util/pourover/tests/Foo.java b/nearby/util/pourover/tests/Foo.java
new file mode 100644
index 0000000..0907964
--- /dev/null
+++ b/nearby/util/pourover/tests/Foo.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example;
+
+/** Test class for integration tests. See {@code common/foo_class.rs} for how to compile and use. */
+public final class Foo {
+
+  public static long sfoo = 321;
+
+  public int foo;
+
+  public static int smfoo() {
+    return 3;
+  }
+
+  public Foo(int f) {
+    this.foo = f;
+  }
+
+  public boolean mfoo() {
+    return true;
+  }
+
+  public native int nativeReturnsInt(int n);
+
+  public native String nativeReturnsObject(int n);
+}
diff --git a/nearby/util/pourover/tests/common/foo_class.rs b/nearby/util/pourover/tests/common/foo_class.rs
new file mode 100644
index 0000000..65971d7
--- /dev/null
+++ b/nearby/util/pourover/tests/common/foo_class.rs
@@ -0,0 +1,89 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Java integration for the `Foo.java` test class.
+//!
+//! There are pourover descriptors for each member of `Foo`. Keep these in sync with changes to
+//! `Foo.java`.
+//!
+//! Compilation is done at runtime. There isn't a way to create a build.rs for an integration test.
+//! use [`compile_foo`] to get the class bytes and load the class using
+//! [`jni::JNIEnv::define_class`].
+
+use pourover::desc::*;
+use std::error::Error;
+use std::process::Command;
+
+pub const CLASS_DESC: &str = "com/example/Foo";
+pub static FOO: ClassDesc = ClassDesc::new(CLASS_DESC);
+
+pub static FIELD: FieldDesc = FOO.field("foo", "I");
+pub static STATIC_FIELD: StaticFieldDesc = FOO.static_field("sfoo", "J");
+pub static CONSTRUCTOR: MethodDesc = FOO.constructor("(I)V");
+pub static METHOD: MethodDesc = FOO.method("mfoo", "()Z");
+pub static STATIC_METHOD: StaticMethodDesc = FOO.static_method("smfoo", "()I");
+pub static NATIVE_METHOD: MethodDesc = FOO.method("nativeReturnsInt", "(I)I");
+pub static NATIVE_OBJECT_METHOD: MethodDesc =
+    FOO.method("nativeReturnsObject", "(I)Ljava/lang/String;");
+
+/// Quick test to ensure that Java is available on the system. The version will be logged to
+/// stdout.
+#[test]
+fn has_java() -> Result<(), Box<dyn Error>> {
+    Command::new("java").arg("--version").status()?;
+    Ok(())
+}
+
+/// Compile `Foo.java` and return the class file's bytes.
+#[track_caller]
+pub fn compile_foo() -> Result<Vec<u8>, Box<dyn Error>> {
+    // Avoid concurrent tests colliding on the file system by adding a hash of the call-site to the
+    // temp file path
+    let caller_hash = {
+        use core::hash::{Hash, Hasher};
+        let caller = core::panic::Location::caller();
+        let mut hasher = std::collections::hash_map::DefaultHasher::new();
+        caller.hash(&mut hasher);
+        hasher.finish()
+    };
+
+    // Create a temporary dir to generate class files
+    let mut tmp = std::env::temp_dir();
+    tmp.push(format!("test-java-build-{caller_hash:016x}"));
+
+    if let Err(err) = std::fs::create_dir(&tmp) {
+        println!("error creating {}: {}", tmp.display(), &err);
+    }
+
+    // Compile Foo.java into the temp dir
+    Command::new("javac")
+        .args(["--release", "8"])
+        .arg("-d")
+        .arg(&tmp)
+        .arg("tests/Foo.java")
+        .status()?;
+
+    // Read the class file bytes
+    let class = {
+        let mut class_file = tmp.clone();
+        class_file.push("com/example/Foo.class");
+        std::fs::read(&class_file)?
+    };
+
+    // Clean up the temp dir. If an error occurs before this we will leave the temp dir on the
+    // filesystem. That should work better for debugging than cleaning up in all cases.
+    std::fs::remove_dir_all(&tmp)?;
+
+    Ok(class)
+}
diff --git a/nearby/connections/connections_adv/connections_adv/src/lib.rs b/nearby/util/pourover/tests/common/mod.rs
similarity index 63%
copy from nearby/connections/connections_adv/connections_adv/src/lib.rs
copy to nearby/util/pourover/tests/common/mod.rs
index 4cfcdfa..1dad720 100644
--- a/nearby/connections/connections_adv/connections_adv/src/lib.rs
+++ b/nearby/util/pourover/tests/common/mod.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,20 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Placeholder crate for connections advertisements
+//! Common module for pourover integration tests. This file must use the `mod.rs` name to avoid
+//! being compiled as an integration test.
 
-/// placeholder
-pub fn add(left: usize, right: usize) -> usize {
-    left + right
-}
+// Not every item is used in every test
+#![allow(dead_code)]
 
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn it_works() {
-        let result = add(2, 2);
-        assert_eq!(result, 4);
-    }
-}
+pub mod foo_class;
diff --git a/nearby/util/pourover/tests/desc_integration.rs b/nearby/util/pourover/tests/desc_integration.rs
new file mode 100644
index 0000000..7eec528
--- /dev/null
+++ b/nearby/util/pourover/tests/desc_integration.rs
@@ -0,0 +1,100 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use jni::{
+    descriptors::Desc,
+    objects::JObject,
+    signature::{JavaType, Primitive, ReturnType},
+    JavaVM,
+};
+use std::error::Error;
+
+mod common;
+use common::foo_class::*;
+
+#[test]
+fn jni_access() -> Result<(), Box<dyn Error>> {
+    // Create the environment
+    let vm = JavaVM::new(
+        jni::InitArgsBuilder::new().version(jni::JNIVersion::V8).option("-Xcheck:jni").build()?,
+    )?;
+    let mut env = vm.attach_current_thread()?;
+
+    // Load `Foo.class`
+    {
+        let foo_class = compile_foo()?;
+        let loaded_foo = env.define_class(CLASS_DESC, &JObject::null(), &foo_class)?;
+        let loaded_foo = env.auto_local(loaded_foo);
+
+        let found_foo = FOO.lookup(&mut env)?;
+        assert!(env.is_same_object(&loaded_foo, found_foo.as_ref())?);
+    }
+
+    // Verify we can call the constructor
+    let obj_foo = {
+        let method_id = CONSTRUCTOR.lookup(&mut env)?;
+        let args = &[jni::sys::jvalue { i: 123 }];
+        // Safety: `args` must match the constructor arg count and types.
+        unsafe { env.new_object_unchecked(CONSTRUCTOR.cls(), method_id, args) }?
+    };
+    assert!(env.is_instance_of(&obj_foo, &FOO)?);
+
+    // Verify we can access all of the members
+
+    let field_value =
+        { env.get_field_unchecked(&obj_foo, &FIELD, ReturnType::Primitive(Primitive::Int))?.i()? };
+    assert_eq!(123, field_value);
+
+    let method_value = {
+        let method_id = METHOD.lookup(&mut env)?;
+        let args = &[];
+        // Safety: `args` must match the method arg count and types.
+        unsafe {
+            env.call_method_unchecked(
+                &obj_foo,
+                method_id,
+                ReturnType::Primitive(Primitive::Boolean),
+                args,
+            )
+        }?
+        .z()?
+    };
+    assert!(method_value);
+
+    env.delete_local_ref(obj_foo)?;
+
+    let static_field_value = {
+        env.get_static_field_unchecked(&FOO, &STATIC_FIELD, JavaType::Primitive(Primitive::Long))?
+            .j()?
+    };
+    assert_eq!(321, static_field_value);
+
+    let static_method_value = {
+        let method_id = STATIC_METHOD.lookup(&mut env)?;
+        let args = &[];
+        // Safety: `args` must match the method arg count and types.
+        unsafe {
+            env.call_static_method_unchecked(
+                &FOO,
+                method_id,
+                ReturnType::Primitive(Primitive::Int),
+                args,
+            )
+        }?
+        .i()?
+    };
+    assert_eq!(3, static_method_value);
+
+    Ok(())
+}
diff --git a/nearby/util/pourover/tests/jni_method_integration.rs b/nearby/util/pourover/tests/jni_method_integration.rs
new file mode 100644
index 0000000..73d89d1
--- /dev/null
+++ b/nearby/util/pourover/tests/jni_method_integration.rs
@@ -0,0 +1,156 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use jni::{
+    descriptors::Desc,
+    objects::{JObject, JString},
+    signature::{Primitive, ReturnType},
+    sys::jint,
+    JNIEnv, JavaVM,
+};
+use std::error::Error;
+use std::sync::atomic::{AtomicBool, Ordering};
+
+mod common;
+use common::foo_class::*;
+
+static NATIVE_METHOD_CALLED: AtomicBool = AtomicBool::new(false);
+static TEST_PANIC: AtomicBool = AtomicBool::new(false);
+
+#[pourover::jni_method(
+    package = "com.example",
+    class = "Foo",
+    panic_returns = -1
+)]
+extern "system" fn nativeReturnsInt<'local>(
+    mut env: JNIEnv<'local>,
+    this: JObject<'local>,
+    n: jint,
+) -> jint {
+    NATIVE_METHOD_CALLED.store(true, Ordering::SeqCst);
+
+    let foo_value = env
+        .get_field_unchecked(&this, &FIELD, ReturnType::Primitive(Primitive::Int))
+        .unwrap()
+        .i()
+        .unwrap();
+
+    n * foo_value
+}
+
+#[pourover::jni_method(
+    package = "com.example",
+    class = "Foo",
+    panic_returns = JObject::null().into(),
+)]
+extern "system" fn nativeReturnsObject<'local>(
+    env: JNIEnv<'local>,
+    _this: JObject<'local>,
+    n: jint,
+) -> JString<'local> {
+    if TEST_PANIC.load(Ordering::SeqCst) {
+        panic!("testing panic case");
+    }
+    env.new_string(n.to_string()).unwrap()
+}
+
+#[test]
+fn can_call_native_method() -> Result<(), Box<dyn Error>> {
+    // Create the environment
+    let vm = JavaVM::new(
+        jni::InitArgsBuilder::new().version(jni::JNIVersion::V8).option("-Xcheck:jni").build()?,
+    )?;
+    let mut env = vm.attach_current_thread()?;
+
+    {
+        let foo_class = compile_foo()?;
+        let loaded_foo = env.define_class(CLASS_DESC, &JObject::null(), &foo_class)?;
+        env.delete_local_ref(loaded_foo)?;
+    }
+
+    let obj_foo = {
+        let method_id = CONSTRUCTOR.lookup(&mut env)?;
+        let args = &[jni::sys::jvalue { i: 123 }];
+        // Safety: `args` must match the constructor arg count and types.
+        unsafe { env.new_object_unchecked(CONSTRUCTOR.cls(), method_id, args) }?
+    };
+    let obj_foo = env.auto_local(obj_foo);
+
+    NATIVE_METHOD_CALLED.store(false, Ordering::SeqCst);
+
+    // TODO: It would be better if the JVM was able to find the method on its own,
+    // but, since we are using the invocation API to create the JVM, I haven't found a way to make
+    // it visible to the JVM. Normally the methods are loaded dynamically with
+    // `System.loadLibrary`, but in this case the symbols already exist in the executable, and I'm
+    // unsure why the JVM cannot find them. I have tried compiling with
+    // `-Zexport-executable-symbols` but that wasn't working for me.
+    env.register_native_methods(
+        &FOO,
+        &[
+            jni::NativeMethod {
+                name: "nativeReturnsInt".into(),
+                sig: "(I)I".into(),
+                fn_ptr: crate::nativeReturnsInt as *mut std::ffi::c_void,
+            },
+            jni::NativeMethod {
+                name: "nativeReturnsObject".into(),
+                sig: "(I)Ljava/lang/String;".into(),
+                fn_ptr: crate::nativeReturnsObject as *mut std::ffi::c_void,
+            },
+        ],
+    )?;
+
+    let method_value = {
+        let method_id = NATIVE_METHOD.lookup(&mut env)?;
+        let args = &[jni::sys::jvalue { i: 3 }];
+        // Safety: `args` must match the method arg count and types.
+        unsafe {
+            env.call_method_unchecked(
+                &obj_foo,
+                method_id,
+                ReturnType::Primitive(Primitive::Int),
+                args,
+            )
+        }?
+        .i()?
+    };
+
+    assert_eq!(369, method_value);
+    assert!(NATIVE_METHOD_CALLED.load(Ordering::SeqCst));
+
+    TEST_PANIC.store(false, Ordering::SeqCst);
+    let string_value: JString = {
+        let method_id = NATIVE_OBJECT_METHOD.lookup(&mut env)?;
+        let args = &[jni::sys::jvalue { i: 1234 }];
+        // Safety: `args` must match the method arg count and types.
+        unsafe { env.call_method_unchecked(&obj_foo, method_id, ReturnType::Object, args) }?
+            .l()?
+            .into()
+    };
+    assert_eq!("1234", env.get_string(&string_value)?.to_str()?);
+    env.delete_local_ref(string_value)?;
+
+    TEST_PANIC.store(true, Ordering::SeqCst);
+    let string_value: JString = {
+        let method_id = NATIVE_OBJECT_METHOD.lookup(&mut env)?;
+        let args = &[jni::sys::jvalue { i: 1234 }];
+        // Safety: `args` must match the method arg count and types.
+        unsafe { env.call_method_unchecked(&obj_foo, method_id, ReturnType::Object, args) }?
+            .l()?
+            .into()
+    };
+    assert!(string_value.is_null());
+
+    Ok(())
+}
diff --git a/nearby/util/pourover_macro/Cargo.toml b/nearby/util/pourover_macro/Cargo.toml
new file mode 100644
index 0000000..ac230b1
--- /dev/null
+++ b/nearby/util/pourover_macro/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "pourover_macro"
+version.workspace = true
+edition.workspace = true
+publish.workspace = true
+
+[lib]
+proc-macro = true
+
+[dependencies]
+pourover_macro_core.workspace = true
diff --git a/nearby/util/pourover_macro/src/lib.rs b/nearby/util/pourover_macro/src/lib.rs
new file mode 100644
index 0000000..9f62354
--- /dev/null
+++ b/nearby/util/pourover_macro/src/lib.rs
@@ -0,0 +1,56 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+extern crate proc_macro;
+
+use pourover_macro_core as core;
+use proc_macro::TokenStream;
+
+/// Export a function as a JNI native method. This will attach a `#[export_name = "..."]` attribute that
+/// is formatted with the given parameters.
+///
+/// # Parameters
+/// - `package` (lit str): the Java package for the class being implemented
+/// - `class` (lit str): the Java class being implemented. Use `Foo.Inner` syntax for inner
+/// classes.
+/// - `panic_returns` (expr): the value to return when a panic is encountered. This can not access
+/// local variables. This may only be used with `panic=unwind` and will produce a compile error
+/// otherwise.
+///
+/// When using `panic_returns` function arguments must be [`std::panic::UnwindSafe`]. See
+/// [`std::panic::catch_unwind`] for details. In practice this will not cause issues as JNI
+/// arguments and return values are passed by pointer or value and not by Rust reference.
+///
+/// # Example
+/// ```
+/// # use pourover_macro::jni_method;
+/// # #[allow(non_camel_case_types)] type jint = i32; // avoid jni dep for test
+/// # type JNIEnv<'local> = *mut ();
+/// # type JObject<'local> = *mut ();
+///
+/// #[jni_method(package = "my.package", class = "Foo", panic_returns = -1)]
+/// extern "system" fn getFoo<'local>(
+///     mut env: JNIEnv<'local>,
+///     this: JObject<'local>,
+/// ) -> jint {
+///     // ...
+///     0
+/// }
+/// ```
+///
+/// This function will be exported with `#[export_name = "Java_my_package_Foo_getFoo"]`.
+#[proc_macro_attribute]
+pub fn jni_method(meta: TokenStream, item: TokenStream) -> TokenStream {
+    core::jni_method(meta.into(), item.into()).into()
+}
diff --git a/nearby/util/pourover_macro_core/Cargo.toml b/nearby/util/pourover_macro_core/Cargo.toml
new file mode 100644
index 0000000..04882d1
--- /dev/null
+++ b/nearby/util/pourover_macro_core/Cargo.toml
@@ -0,0 +1,10 @@
+[package]
+name = "pourover_macro_core"
+version.workspace = true
+edition.workspace = true
+publish.workspace = true
+
+[dependencies]
+proc-macro2.workspace = true
+syn.workspace = true
+quote.workspace = true
diff --git a/nearby/util/pourover_macro_core/src/jni_method.rs b/nearby/util/pourover_macro_core/src/jni_method.rs
new file mode 100644
index 0000000..73ca155
--- /dev/null
+++ b/nearby/util/pourover_macro_core/src/jni_method.rs
@@ -0,0 +1,346 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use proc_macro2::TokenStream;
+use quote::ToTokens;
+use syn::{punctuated::Punctuated, spanned::Spanned, ItemFn, LitStr, Token};
+
+mod meta;
+mod meta_arg;
+mod substitutions;
+
+use meta::JniMethodMeta;
+use substitutions::substitute_method_chars;
+
+/// See `pourover_macro::jni_method` for usage.
+pub fn jni_method(meta: TokenStream, item: TokenStream) -> TokenStream {
+    match jni_method_inner(meta, item) {
+        Ok(out) => out.to_token_stream(),
+        Err(err) => err.to_compile_error(),
+    }
+}
+
+fn jni_method_inner(meta: TokenStream, item: TokenStream) -> syn::Result<impl ToTokens> {
+    let meta = syn::parse2::<JniMethodMeta>(meta)?;
+    let mut func = syn::parse2::<ItemFn>(item)?;
+
+    // Check that ABI is set to `extern "system"`
+    if let Some(ref abi @ syn::Abi { name: Some(ref abi_name), .. }) = func.sig.abi {
+        if abi_name.value() != "system" {
+            return Err(syn::Error::new(
+                abi.span(),
+                "JNI methods are required to have the `extern \"system\"` ABI",
+            ));
+        }
+    } else {
+        return Err(syn::Error::new(
+            func.sig.span(),
+            "JNI methods are required to have the `extern \"system\"` ABI",
+        ));
+    }
+
+    let export_attr = {
+        // Format the name of the function as expected by the JNI layer
+        let method_name = func.sig.ident.to_string();
+        if method_name.starts_with("Java_") {
+            return Err(syn::Error::new(
+                func.sig.ident.span(),
+                "The `jni_method` attribute will perform the JNI name formatting",
+            ));
+        }
+        let method_name = substitute_method_chars(&method_name);
+
+        // NOTE: doesn't handle overload suffix
+        let link_name = LitStr::new(
+            &format!("Java_{class}_{method_name}", class = &meta.class_desc),
+            func.sig.ident.span(),
+        );
+
+        syn::parse_quote! { #[export_name = #link_name] }
+    };
+    let allow_attr = syn::parse_quote! { #[allow(non_snake_case)] };
+    func.attrs.extend([export_attr, allow_attr]);
+
+    // Add a panic handler if requested
+    if let Some(panic_returns) = meta.panic_returns {
+        let block = &func.block;
+        let return_type = &func.sig.output;
+        let mut lifetimes = Punctuated::new();
+        for param in func.sig.generics.lifetimes() {
+            lifetimes.push_value(param.clone());
+            lifetimes.push_punct(<Token![,]>::default());
+        }
+
+        let panic_check = quote::quote_spanned! { panic_returns.span() =>
+            #[cfg(not(panic = "unwind"))]
+            ::core::compile_error!("Cannot use `panic_returns` with non-unwinding panic handler");
+        };
+
+        func.block = syn::parse_quote! {
+            {
+                #panic_check
+                match ::std::panic::catch_unwind(move || {
+                    #block
+                }) {
+                    Ok(ret) => ret,
+                    Err(_err) => {
+                        fn __on_panic<#lifetimes>() #return_type { #panic_returns }
+                        __on_panic()
+                    },
+                }
+            }
+        };
+    }
+
+    // Return the modified function
+    Ok(func)
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use proc_macro2::{TokenStream, TokenTree};
+    use quote::quote;
+
+    fn contains_ident(stream: TokenStream, ident: &str) -> bool {
+        /// Iterator that traverses TokenTree:Group structures in preorder.
+        struct FlatStream {
+            streams: Vec<<TokenStream as IntoIterator>::IntoIter>,
+        }
+
+        impl FlatStream {
+            fn new(stream: TokenStream) -> Self {
+                Self { streams: vec![stream.into_iter()] }
+            }
+        }
+
+        impl Iterator for FlatStream {
+            type Item = TokenTree;
+
+            fn next(&mut self) -> Option<TokenTree> {
+                let next = loop {
+                    let stream = self.streams.last_mut()?;
+                    if let Some(next) = stream.next() {
+                        break next;
+                    }
+                    self.streams.pop();
+                };
+
+                if let TokenTree::Group(group) = &next {
+                    self.streams.push(group.stream().into_iter());
+                }
+
+                Some(next)
+            }
+        }
+
+        FlatStream::new(stream)
+            .filter_map(|tree| {
+                let TokenTree::Ident(ident) = tree else { return None };
+                Some(ident.to_string())
+            })
+            .any(|ident_str| ident_str == ident)
+    }
+
+    #[test]
+    fn can_parse() {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+
+        let func = quote! {
+            extern "system" fn nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        let out = jni_method(meta, func);
+
+        assert!(contains_ident(out, "catch_unwind"));
+    }
+
+    fn parse_example_output() -> syn::ItemFn {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+
+        let func = quote! {
+            extern "system" fn nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        syn::parse2(jni_method(meta, func)).expect("Proc macro output should be a function item")
+    }
+
+    #[test]
+    fn check_output_is_itemfn() {
+        let _item_fn = parse_example_output();
+    }
+
+    #[test]
+    fn check_output_export_name() {
+        let out = parse_example_output();
+
+        let export_name = out
+            .attrs
+            .iter()
+            .find_map(|attr| {
+                let syn::Meta::NameValue(nv) = &attr.meta else {
+                    return None;
+                };
+                if !nv.path.is_ident("export_name") {
+                    return None;
+                }
+                let syn::Expr::Lit(syn::ExprLit { lit: syn::Lit::Str(lit_str), .. }) = &nv.value
+                else {
+                    return None;
+                };
+                Some(lit_str.value())
+            })
+            .expect("Failed to find `export_name` attribute");
+        assert_eq!("Java_com_example_Foo_00024Inner_nativeFoo", export_name);
+    }
+
+    #[test]
+    fn check_output_allow_non_snake_case() {
+        let out = parse_example_output();
+
+        let _allow_attr = out
+            .attrs
+            .iter()
+            .find(|attr| {
+                let syn::Meta::List(ml) = &attr.meta else {
+                    return false;
+                };
+                if !ml.path.is_ident("allow") {
+                    return false;
+                }
+                let Ok(value) = syn::parse2::<syn::Path>(ml.tokens.clone()) else {
+                    return false;
+                };
+                value.is_ident("non_snake_case")
+            })
+            .expect("Failed to find `allow(non_snake_case)` attribute");
+    }
+
+    #[test]
+    fn no_panic_returns() {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+        };
+
+        let func = quote! {
+            extern "system" fn nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        let out = jni_method(meta, func);
+        assert!(!contains_ident(out.clone(), "compile_error"));
+        assert!(!contains_ident(out, "catch_unwind"));
+    }
+
+    #[test]
+    fn missing_extern() {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+
+        let func = quote! {
+            fn nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        let Err(err) = jni_method_inner(meta, func) else {
+            panic!("Should fail to generate code");
+        };
+
+        assert!(err
+            .to_string()
+            .contains("JNI methods are required to have the `extern \"system\"` ABI"));
+    }
+
+    #[test]
+    fn wrong_extern() {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+
+        let func = quote! {
+            extern "C" fn nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        let Err(err) = jni_method_inner(meta, func) else {
+            panic!("Should fail to generate code");
+        };
+
+        assert!(err
+            .to_string()
+            .contains("JNI methods are required to have the `extern \"system\"` ABI"));
+    }
+
+    #[test]
+    fn already_mangled() {
+        let meta = quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+
+        let func = quote! {
+            extern "system" fn Java_com_example_Foo_00024Inner_nativeFoo<'local>(
+                mut env: JNIEnv<'local>,
+                this: JObject<'local>
+            ) -> jint {
+                123
+            }
+        };
+
+        let Err(err) = jni_method_inner(meta, func) else {
+            panic!("Should fail to generate code");
+        };
+
+        assert!(err
+            .to_string()
+            .contains("The `jni_method` attribute will perform the JNI name formatting"));
+    }
+}
diff --git a/nearby/util/pourover_macro_core/src/jni_method/meta.rs b/nearby/util/pourover_macro_core/src/jni_method/meta.rs
new file mode 100644
index 0000000..1e07edd
--- /dev/null
+++ b/nearby/util/pourover_macro_core/src/jni_method/meta.rs
@@ -0,0 +1,179 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use syn::{
+    parse::{Parse, ParseStream},
+    Expr, Token,
+};
+
+use super::meta_arg::MetaArg;
+use super::substitutions::{substitute_class_chars, substitute_package_chars};
+
+pub struct JniMethodMeta {
+    /// The class descriptor in [export_name format](https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/design.html#resolving_native_method_names)
+    pub class_desc: String,
+    /// The expression to run when a panic is encountered. The value of this expression will be
+    /// returned by the annotated function.
+    pub panic_returns: Option<Expr>,
+}
+
+impl Parse for JniMethodMeta {
+    fn parse(stream: ParseStream<'_>) -> syn::Result<Self> {
+        let mut package = None;
+        let mut class = None;
+        let mut panic_returns = None;
+
+        type Structure = syn::punctuated::Punctuated<MetaArg, Token![,]>;
+
+        for arg in Structure::parse_terminated(stream)? {
+            match arg {
+                MetaArg::Package { package_token, value, .. } => {
+                    if let Some(_old) = package.replace(value) {
+                        return Err(syn::Error::new(
+                            package_token.span,
+                            "`package` should not be specified twice",
+                        ));
+                    }
+                }
+                MetaArg::Class { class_token, value, .. } => {
+                    if let Some(_old) = class.replace(value) {
+                        return Err(syn::Error::new(
+                            class_token.span,
+                            "`class` should not be specified twice",
+                        ));
+                    }
+                }
+                MetaArg::PanicReturns { panic_returns_token, value, .. } => {
+                    if let Some(_old) = panic_returns.replace(value) {
+                        return Err(syn::Error::new(
+                            panic_returns_token.span,
+                            "`panic_returns` should not be specified twice",
+                        ));
+                    }
+                }
+            }
+        }
+
+        let Some(package) = package else {
+            return Err(syn::Error::new(stream.span(), "`package` is required"));
+        };
+
+        let Some(class) = class else {
+            return Err(syn::Error::new(stream.span(), "`class` is required"));
+        };
+
+        let package = {
+            let package_str = package.value();
+            if package_str.contains('/') {
+                return Err(syn::Error::new(
+                    stream.span(),
+                    "`package` should use '.' as a separator",
+                ));
+            }
+            substitute_package_chars(&package_str)
+        };
+        let class = substitute_class_chars(&class.value());
+        let class_desc = format!("{package}_{class}");
+
+        Ok(Self { class_desc, panic_returns })
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use syn::parse_quote;
+
+    #[test]
+    fn can_parse() {
+        let meta: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+        assert_eq!("com_example_Foo_00024Inner", &meta.class_desc);
+        assert!(meta.panic_returns.is_some());
+    }
+
+    #[test]
+    fn can_parse_missing_panic_returns() {
+        let meta: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+        };
+        assert_eq!("com_example_Foo_00024Inner", &meta.class_desc);
+        assert!(meta.panic_returns.is_none());
+    }
+
+    #[test]
+    #[should_panic]
+    fn double_package() {
+        let _: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+    }
+
+    #[test]
+    #[should_panic]
+    fn package_uses_slashes() {
+        let _: JniMethodMeta = parse_quote! {
+            package = "com/example",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+    }
+
+    #[test]
+    #[should_panic]
+    fn missing_package() {
+        let _: JniMethodMeta = parse_quote! {
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+    }
+
+    #[test]
+    #[should_panic]
+    fn double_class() {
+        let _: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            class = "Foo.Inner",
+            panic_returns = false,
+        };
+    }
+
+    #[test]
+    #[should_panic]
+    fn missing_class() {
+        let _: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            panic_returns = false,
+        };
+    }
+
+    #[test]
+    #[should_panic]
+    fn double_panic_returns() {
+        let _: JniMethodMeta = parse_quote! {
+            package = "com.example",
+            class = "Foo.Inner",
+            panic_returns = false,
+            panic_returns = false,
+        };
+    }
+}
diff --git a/nearby/util/pourover_macro_core/src/jni_method/meta_arg.rs b/nearby/util/pourover_macro_core/src/jni_method/meta_arg.rs
new file mode 100644
index 0000000..aa28aa1
--- /dev/null
+++ b/nearby/util/pourover_macro_core/src/jni_method/meta_arg.rs
@@ -0,0 +1,92 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use syn::{
+    parse::{Parse, ParseStream},
+    Expr, LitStr, Token,
+};
+
+/// Custom keywords
+pub mod kw {
+    syn::custom_keyword!(package);
+    syn::custom_keyword!(class);
+    syn::custom_keyword!(panic_returns);
+}
+
+/// Arguments to the attribute
+pub enum MetaArg {
+    Package { package_token: kw::package, _eq_token: Token![=], value: LitStr },
+    Class { class_token: kw::class, _eq_token: Token![=], value: LitStr },
+    PanicReturns { panic_returns_token: kw::panic_returns, _eq_token: Token![=], value: Expr },
+}
+
+impl Parse for MetaArg {
+    fn parse(stream: ParseStream<'_>) -> syn::Result<Self> {
+        let lookahead = stream.lookahead1();
+        if lookahead.peek(kw::package) {
+            Ok(MetaArg::Package {
+                package_token: stream.parse::<kw::package>()?,
+                _eq_token: stream.parse()?,
+                value: stream.parse()?,
+            })
+        } else if lookahead.peek(kw::class) {
+            Ok(MetaArg::Class {
+                class_token: stream.parse::<kw::class>()?,
+                _eq_token: stream.parse()?,
+                value: stream.parse()?,
+            })
+        } else if lookahead.peek(kw::panic_returns) {
+            Ok(MetaArg::PanicReturns {
+                panic_returns_token: stream.parse::<kw::panic_returns>()?,
+                _eq_token: stream.parse()?,
+                value: stream.parse()?,
+            })
+        } else {
+            Err(lookahead.error())
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use syn::parse_quote;
+
+    #[test]
+    fn parse_meta_arg_package() {
+        let MetaArg::Package { value, .. } = parse_quote!(package = "com.example") else {
+            panic!("failed to parse")
+        };
+
+        assert_eq!("com.example", value.value());
+    }
+
+    #[test]
+    fn parse_meta_arg_class() {
+        let MetaArg::Class { value, .. } = parse_quote!(class = "Foo") else {
+            panic!("failed to parse")
+        };
+
+        assert_eq!("Foo", value.value());
+    }
+
+    #[test]
+    fn parse_meta_arg_panic_returns() {
+        let MetaArg::PanicReturns { value, .. } = parse_quote!(panic_returns = { foo() }) else {
+            panic!("failed to parse")
+        };
+
+        let syn::Expr::Block(_) = value else { panic!("not a block expression") };
+    }
+}
diff --git a/nearby/util/pourover_macro_core/src/jni_method/substitutions.rs b/nearby/util/pourover_macro_core/src/jni_method/substitutions.rs
new file mode 100644
index 0000000..229bb5d
--- /dev/null
+++ b/nearby/util/pourover_macro_core/src/jni_method/substitutions.rs
@@ -0,0 +1,123 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Name substitutions for JNI name mangling. See
+//! <https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/design.html#resolving_native_method_names>
+//! for spec details.
+
+pub fn substitute_method_chars(s: &str) -> String {
+    s.chars()
+        .flat_map(|c| -> CharIter {
+            match c {
+                '$' => "_00024".into(),
+                '_' => "_1".into(),
+                _ => c.into(),
+            }
+        })
+        .collect()
+}
+
+pub fn substitute_package_chars(s: &str) -> String {
+    s.chars()
+        .flat_map(|c| -> CharIter {
+            match c {
+                '.' => "_".into(),
+                '$' => "_00024".into(),
+                '_' => "_1".into(),
+                _ => c.into(),
+            }
+        })
+        .collect()
+}
+
+pub fn substitute_class_chars(s: &str) -> String {
+    s.chars()
+        .flat_map(|c| -> CharIter {
+            match c {
+                // Use dot or dollar for inner classes: `'.' -> '$' -> "_00024"`
+                '.' | '$' => "_00024".into(),
+                '_' => "_1".into(),
+                _ => c.into(),
+            }
+        })
+        .collect()
+}
+
+/// A `char` iterator that can be created from either a `char` or a `&'static str`.
+enum CharIter {
+    One(core::option::IntoIter<char>),
+    Many(core::str::Chars<'static>),
+}
+
+impl Iterator for CharIter {
+    type Item = char;
+    fn next(&mut self) -> Option<char> {
+        match *self {
+            Self::One(ref mut iter) => iter.next(),
+            Self::Many(ref mut iter) => iter.next(),
+        }
+    }
+}
+
+impl From<char> for CharIter {
+    fn from(c: char) -> Self {
+        Self::One(Some(c).into_iter())
+    }
+}
+
+impl From<&'static str> for CharIter {
+    fn from(s: &'static str) -> Self {
+        Self::Many(s.chars())
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_char_iter_one() {
+        let seq = CharIter::from('a').collect::<String>();
+        assert_eq!("a", &seq);
+    }
+
+    #[test]
+    fn test_char_iter_many() {
+        let seq = CharIter::from("asdf").collect::<String>();
+        assert_eq!("asdf", &seq);
+    }
+
+    #[test]
+    fn test_substitute_method_chars() {
+        let mangled = substitute_method_chars("method_with_under$cores");
+        assert_eq!("method_1with_1under_00024cores", &mangled);
+    }
+
+    #[test]
+    fn test_substitute_package_chars() {
+        let mangled = substitute_package_chars("com.weird_name.java");
+        assert_eq!("com_weird_1name_java", &mangled);
+    }
+
+    #[test]
+    fn test_substitute_class_chars() {
+        // Both dot and dollar should work here
+
+        let mangled = substitute_class_chars("Foo.Inner");
+        assert_eq!("Foo_00024Inner", &mangled);
+
+        let mangled = substitute_class_chars("Foo$Inner");
+        assert_eq!("Foo_00024Inner", &mangled);
+    }
+}
diff --git a/nearby/connections/connections_adv/connections_adv/src/lib.rs b/nearby/util/pourover_macro_core/src/lib.rs
similarity index 63%
copy from nearby/connections/connections_adv/connections_adv/src/lib.rs
copy to nearby/util/pourover_macro_core/src/lib.rs
index 4cfcdfa..ae06345 100644
--- a/nearby/connections/connections_adv/connections_adv/src/lib.rs
+++ b/nearby/util/pourover_macro_core/src/lib.rs
@@ -1,4 +1,4 @@
-// Copyright 2023 Google LLC
+// Copyright 2024 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,20 +12,5 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Placeholder crate for connections advertisements
-
-/// placeholder
-pub fn add(left: usize, right: usize) -> usize {
-    left + right
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn it_works() {
-        let result = add(2, 2);
-        assert_eq!(result, 4);
-    }
-}
+mod jni_method;
+pub use jni_method::jni_method;
diff --git a/third_party/abseil-cpp b/third_party/abseil-cpp
new file mode 160000
index 0000000..d87dc03
--- /dev/null
+++ b/third_party/abseil-cpp
@@ -0,0 +1 @@
+Subproject commit d87dc03cee90a0cac2dbf254217b346ca693bb83
diff --git a/third_party/benchmark b/third_party/benchmark
new file mode 160000
index 0000000..3d85343
--- /dev/null
+++ b/third_party/benchmark
@@ -0,0 +1 @@
+Subproject commit 3d85343d65832d05b4dcd6666640e0e38b981c33
diff --git a/third_party/boringssl b/third_party/boringssl
new file mode 160000
index 0000000..ab4037e
--- /dev/null
+++ b/third_party/boringssl
@@ -0,0 +1 @@
+Subproject commit ab4037e3d14b2b1e02c93f76d80a8dd0ce3193fc
diff --git a/third_party/fuzztest b/third_party/fuzztest
new file mode 160000
index 0000000..e6aca36
--- /dev/null
+++ b/third_party/fuzztest
@@ -0,0 +1 @@
+Subproject commit e6aca366a1c71b4a2d0c4d71b2040cc9b87a9ca4
