public inbox for linux-modules@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Only rust/bindings.o build fail on rust-1.91.0
From: Miguel Ojeda @ 2025-11-06 17:54 UTC (permalink / raw)
  To: Sami Tolvanen
  Cc: Haiyue Wang, rust-for-linux, Miguel Ojeda, linux-modules,
	Linux Kbuild mailing list
In-Reply-To: <CABCJKud0G+Xh+Wbtg4SDGvk4Yh5nmt5YgHEPj-H0y8GO5R3Amw@mail.gmail.com>

On Thu, Nov 6, 2025 at 5:07 PM Sami Tolvanen <samitolvanen@google.com> wrote:
>
> I can reproduce the issue. With rustc 1.90, rust/bindings.o has
> debugging information, but with 1.91, it no longer does:
>
> $ dwarfdump rust/bindings.o
> No DWARF information present in rust/bindings.o

Same, reproduced as well.

Bisecting nightlies, it seemed to happen between:

    rustc 1.91.0-nightly (12eb345e5 2025-09-07)
    rustc 1.91.0-nightly (9c27f27ea 2025-09-08)

Cheers,
Miguel

^ permalink raw reply

* [PATCH v7 6/8] pkcs7: Allow the signing algo to calculate the digest itself
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

The ML-DSA public key algorithm really wants to calculate the message
digest itself, rather than having the digest precalculated and fed to it
separately as RSA does[*].  The kernel's PKCS#7 parser, however, is
designed around the latter approach.

  [*] ML-DSA does allow for an "external mu", but CMS doesn't yet have that
  standardised.

Fix this by noting in the public_key_signature struct when the signing
algorithm is going to want this and then, rather than doing the digest of
the authenticatedAttributes ourselves and overwriting the sig->digest with
that, replace sig->digest with a copy of the contents of the
authenticatedAttributes section and adjust the digest length to match.

This will then be fed to the public key algorithm as normal which can do
what it wants with the data.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Lukas Wunner <lukas@wunner.de>
cc: Ignat Korchagin <ignat@cloudflare.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: keyrings@vger.kernel.org
cc: linux-crypto@vger.kernel.org
---
 crypto/asymmetric_keys/pkcs7_parser.c |  4 +--
 crypto/asymmetric_keys/pkcs7_verify.c | 48 ++++++++++++++++++---------
 include/crypto/public_key.h           |  1 +
 3 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index 423d13c47545..3cdbab3b9f50 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -599,8 +599,8 @@ int pkcs7_sig_note_set_of_authattrs(void *context, size_t hdrlen,
 	}
 
 	/* We need to switch the 'CONT 0' to a 'SET OF' when we digest */
-	sinfo->authattrs = value - (hdrlen - 1);
-	sinfo->authattrs_len = vlen + (hdrlen - 1);
+	sinfo->authattrs = value - hdrlen;
+	sinfo->authattrs_len = vlen + hdrlen;
 	return 0;
 }
 
diff --git a/crypto/asymmetric_keys/pkcs7_verify.c b/crypto/asymmetric_keys/pkcs7_verify.c
index 6d6475e3a9bf..0f9f515b784d 100644
--- a/crypto/asymmetric_keys/pkcs7_verify.c
+++ b/crypto/asymmetric_keys/pkcs7_verify.c
@@ -70,8 +70,6 @@ static int pkcs7_digest(struct pkcs7_message *pkcs7,
 	 * digest we just calculated.
 	 */
 	if (sinfo->authattrs) {
-		u8 tag;
-
 		if (!sinfo->msgdigest) {
 			pr_warn("Sig %u: No messageDigest\n", sinfo->index);
 			ret = -EKEYREJECTED;
@@ -97,20 +95,40 @@ static int pkcs7_digest(struct pkcs7_message *pkcs7,
 		 * as the contents of the digest instead.  Note that we need to
 		 * convert the attributes from a CONT.0 into a SET before we
 		 * hash it.
+		 *
+		 * However, for certain algorithms, such as ML-DSA, the digest
+		 * is integrated into the signing algorithm.  In such a case,
+		 * we copy the authattrs, modifying the tag type, and set that
+		 * as the digest.
 		 */
-		memset(sig->digest, 0, sig->digest_size);
-
-		ret = crypto_shash_init(desc);
-		if (ret < 0)
-			goto error;
-		tag = ASN1_CONS_BIT | ASN1_SET;
-		ret = crypto_shash_update(desc, &tag, 1);
-		if (ret < 0)
-			goto error;
-		ret = crypto_shash_finup(desc, sinfo->authattrs,
-					 sinfo->authattrs_len, sig->digest);
-		if (ret < 0)
-			goto error;
+		if (sig->algo_does_hash) {
+			kfree(sig->digest);
+
+			ret = -ENOMEM;
+			sig->digest = kmalloc(umax(sinfo->authattrs_len, sig->digest_size),
+					      GFP_KERNEL);
+			if (!sig->digest)
+				goto error_no_desc;
+
+			sig->digest_size = sinfo->authattrs_len;
+			memcpy(sig->digest, sinfo->authattrs, sinfo->authattrs_len);
+			((u8 *)sig->digest)[0] = ASN1_CONS_BIT | ASN1_SET;
+			ret = 0;
+		} else {
+			u8 tag = ASN1_CONS_BIT | ASN1_SET;
+
+			ret = crypto_shash_init(desc);
+			if (ret < 0)
+				goto error;
+			ret = crypto_shash_update(desc, &tag, 1);
+			if (ret < 0)
+				goto error;
+			ret = crypto_shash_finup(desc, sinfo->authattrs + 1,
+						 sinfo->authattrs_len - 1,
+						 sig->digest);
+			if (ret < 0)
+				goto error;
+		}
 		pr_devel("AADigest = [%*ph]\n", 8, sig->digest);
 	}
 
diff --git a/include/crypto/public_key.h b/include/crypto/public_key.h
index 81098e00c08f..e4ec8003a3a4 100644
--- a/include/crypto/public_key.h
+++ b/include/crypto/public_key.h
@@ -46,6 +46,7 @@ struct public_key_signature {
 	u8 *digest;
 	u32 s_size;		/* Number of bytes in signature */
 	u32 digest_size;	/* Number of bytes in digest */
+	bool algo_does_hash;	/* Public key algo does its own hashing */
 	const char *pkey_algo;
 	const char *hash_algo;
 	const char *encoding;


^ permalink raw reply related

* [PATCH v7 7/8] pkcs7, x509: Add ML-DSA support
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Add support for ML-DSA keys and signatures to the PKCS#7 and X.509
implementations.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Lukas Wunner <lukas@wunner.de>
cc: Ignat Korchagin <ignat@cloudflare.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: keyrings@vger.kernel.org
cc: linux-crypto@vger.kernel.org
---
 crypto/asymmetric_keys/pkcs7_parser.c     | 15 ++++++++++++++
 crypto/asymmetric_keys/public_key.c       |  7 +++++++
 crypto/asymmetric_keys/x509_cert_parser.c | 24 +++++++++++++++++++++++
 include/linux/oid_registry.h              |  5 +++++
 4 files changed, 51 insertions(+)

diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index 3cdbab3b9f50..d7c88b90a4fd 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -297,6 +297,21 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,
 		ctx->sinfo->sig->pkey_algo = "ecrdsa";
 		ctx->sinfo->sig->encoding = "raw";
 		break;
+	case OID_id_ml_dsa_44:
+		ctx->sinfo->sig->pkey_algo = "ml-dsa44";
+		ctx->sinfo->sig->encoding = "raw";
+		ctx->sinfo->sig->algo_does_hash = true;
+		break;
+	case OID_id_ml_dsa_65:
+		ctx->sinfo->sig->pkey_algo = "ml-dsa65";
+		ctx->sinfo->sig->encoding = "raw";
+		ctx->sinfo->sig->algo_does_hash = true;
+		break;
+	case OID_id_ml_dsa_87:
+		ctx->sinfo->sig->pkey_algo = "ml-dsa87";
+		ctx->sinfo->sig->encoding = "raw";
+		ctx->sinfo->sig->algo_does_hash = true;
+		break;
 	default:
 		printk("Unsupported pkey algo: %u\n", ctx->last_oid);
 		return -ENOPKG;
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index e5b177c8e842..96e084668d1b 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -142,6 +142,13 @@ software_key_determine_akcipher(const struct public_key *pkey,
 		if (strcmp(hash_algo, "streebog256") != 0 &&
 		    strcmp(hash_algo, "streebog512") != 0)
 			return -EINVAL;
+	} else if (strcmp(pkey->pkey_algo, "ml-dsa44") == 0 ||
+		   strcmp(pkey->pkey_algo, "ml-dsa65") == 0 ||
+		   strcmp(pkey->pkey_algo, "ml-dsa87") == 0) {
+		if (strcmp(encoding, "raw") != 0)
+			return -EINVAL;
+		if (!hash_algo)
+			return -EINVAL;
 	} else {
 		/* Unknown public key algorithm */
 		return -ENOPKG;
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c b/crypto/asymmetric_keys/x509_cert_parser.c
index 8df3fa60a44f..6a2a77a647a5 100644
--- a/crypto/asymmetric_keys/x509_cert_parser.c
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -257,6 +257,15 @@ int x509_note_sig_algo(void *context, size_t hdrlen, unsigned char tag,
 	case OID_gost2012Signature512:
 		ctx->cert->sig->hash_algo = "streebog512";
 		goto ecrdsa;
+	case OID_id_ml_dsa_44:
+		ctx->cert->sig->pkey_algo = "ml-dsa44";
+		goto ml_dsa;
+	case OID_id_ml_dsa_65:
+		ctx->cert->sig->pkey_algo = "ml-dsa65";
+		goto ml_dsa;
+	case OID_id_ml_dsa_87:
+		ctx->cert->sig->pkey_algo = "ml-dsa87";
+		goto ml_dsa;
 	}
 
 rsa_pkcs1:
@@ -274,6 +283,12 @@ int x509_note_sig_algo(void *context, size_t hdrlen, unsigned char tag,
 	ctx->cert->sig->encoding = "x962";
 	ctx->sig_algo = ctx->last_oid;
 	return 0;
+ml_dsa:
+	ctx->cert->sig->algo_does_hash = true;
+	ctx->cert->sig->hash_algo = ctx->cert->sig->pkey_algo;
+	ctx->cert->sig->encoding = "raw";
+	ctx->sig_algo = ctx->last_oid;
+	return 0;
 }
 
 /*
@@ -524,6 +539,15 @@ int x509_extract_key_data(void *context, size_t hdrlen,
 			return -ENOPKG;
 		}
 		break;
+	case OID_id_ml_dsa_44:
+		ctx->cert->pub->pkey_algo = "ml-dsa44";
+		break;
+	case OID_id_ml_dsa_65:
+		ctx->cert->pub->pkey_algo = "ml-dsa65";
+		break;
+	case OID_id_ml_dsa_87:
+		ctx->cert->pub->pkey_algo = "ml-dsa87";
+		break;
 	default:
 		return -ENOPKG;
 	}
diff --git a/include/linux/oid_registry.h b/include/linux/oid_registry.h
index 6de479ebbe5d..30821a6a4f72 100644
--- a/include/linux/oid_registry.h
+++ b/include/linux/oid_registry.h
@@ -145,6 +145,11 @@ enum OID {
 	OID_id_rsassa_pkcs1_v1_5_with_sha3_384, /* 2.16.840.1.101.3.4.3.15 */
 	OID_id_rsassa_pkcs1_v1_5_with_sha3_512, /* 2.16.840.1.101.3.4.3.16 */
 
+	/* NIST FIPS-204 ML-DSA (Dilithium) */
+	OID_id_ml_dsa_44,			/* 2.16.840.1.101.3.4.3.17 */
+	OID_id_ml_dsa_65,			/* 2.16.840.1.101.3.4.3.18 */
+	OID_id_ml_dsa_87,			/* 2.16.840.1.101.3.4.3.19 */
+
 	OID__NR
 };
 


^ permalink raw reply related

* [PATCH v7 5/8] crypto: Add ML-DSA-87 pure rejection test vectors as a kunit test
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Add the "Pure rejection tests" from Stephan Mueller's Leancrypto
implementation of ML-DSA/Dilithium 87 to the kernel as a kunit test.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Jason A. Donenfeld <Jason@zx2c4.com>
cc: Ard Biesheuvel <ardb@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: linux-crypto@vger.kernel.org
---
 .../dilithium_pure_rejection_vectors_87.h     | 6456 +++++++++++++++++
 crypto/ml_dsa/dilithium_selftest.c            |   15 +
 2 files changed, 6471 insertions(+)
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_87.h

diff --git a/crypto/ml_dsa/dilithium_pure_rejection_vectors_87.h b/crypto/ml_dsa/dilithium_pure_rejection_vectors_87.h
new file mode 100644
index 000000000000..69f2bf321293
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_pure_rejection_vectors_87.h
@@ -0,0 +1,6456 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+	{
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0xd4, 0x9d, 0xdc, 0x3d, 0xa4, 0xa5, 0x87, 0xa5,
+			0x54, 0x61, 0xf3, 0xf4, 0xe0, 0x11, 0xc9, 0x1c,
+			0x78, 0x0a, 0xf1, 0x8a, 0xa8, 0xb2, 0xff, 0xb2,
+			0x9a, 0x2c, 0xe0, 0x86, 0x5c, 0xaa, 0x86, 0xe0,
+			0xd9, 0x42, 0x54, 0x18, 0x3e, 0x4c, 0x96, 0x1a,
+			0xb4, 0xc7, 0x18, 0xcf, 0x7d, 0xca, 0xe2, 0x74,
+			0x6c, 0x81, 0x3e, 0xcb, 0xf8, 0x7b, 0xc4, 0x90,
+			0x50, 0xd5, 0xe8, 0xd3, 0xbc, 0x8b, 0xa8, 0x3e,
+			0xb0, 0x96, 0x65, 0xd7, 0xbb, 0xa9, 0xab, 0x9c,
+			0x82, 0x5e, 0x6e, 0x8d, 0xf8, 0xc3, 0x6d, 0xe9,
+			0xbf, 0xbd, 0x30, 0xc9, 0xca, 0x47, 0x85, 0xae,
+			0x6f, 0x5d, 0x09, 0x4d, 0xd7, 0xdd, 0x05, 0x51,
+			0xe0, 0x9e, 0x94, 0x3b, 0x1d, 0xfa, 0x30, 0x57,
+			0xdc, 0x58, 0x48, 0xe5, 0x45, 0xf3, 0x34, 0x8a,
+			0x73, 0x66, 0x8a, 0xe0, 0x62, 0x3d, 0x0d, 0xfb,
+			0x13, 0x52, 0x25, 0xf5, 0xd3, 0x94, 0x15, 0x9d,
+			0xac, 0x6a, 0x74, 0x8a, 0x64, 0x91, 0x5b, 0xa3,
+			0xe2, 0xd0, 0x5c, 0xd2, 0xee, 0x52, 0xc0, 0x0c,
+			0x6c, 0x81, 0x34, 0x94, 0xfb, 0x87, 0xf6, 0x6b,
+			0x0f, 0x7e, 0x99, 0xa7, 0xaf, 0xb3, 0x74, 0xa7,
+			0xb6, 0x64, 0xd7, 0x36, 0x39, 0x3f, 0x7d, 0x0e,
+			0xc3, 0x76, 0xb3, 0x3a, 0xc9, 0x94, 0x6f, 0xc0,
+			0xaa, 0x92, 0x2a, 0xf1, 0x38, 0x8c, 0x62, 0xa1,
+			0x9a, 0xbe, 0x8d, 0x32, 0xec, 0x05, 0xb9, 0x8d,
+			0xb0, 0xdb, 0x37, 0x8d, 0x61, 0xfa, 0x79, 0x55,
+			0x1d, 0xf2, 0xc3, 0x19, 0x15, 0x3b, 0x26, 0xef,
+			0xe5, 0xf3, 0x29, 0xa1, 0x13, 0x60, 0x68, 0xd3,
+			0x22, 0x57, 0xcd, 0x99, 0xe6, 0x22, 0x54, 0xdf,
+			0x02, 0xe4, 0xd5, 0xd2, 0x66, 0xce, 0x5a, 0x90,
+			0x13, 0x7e, 0x7c, 0xad, 0x4c, 0x4c, 0xb6, 0x93,
+			0x65, 0xda, 0x4b, 0xb6, 0x13, 0x0e, 0x1b, 0x36,
+			0xaa, 0x2c, 0xbd, 0x60, 0x57, 0x98, 0x35, 0xa9,
+			0xe9, 0xad, 0xc5, 0x8e, 0x33, 0x47, 0x00, 0xe9,
+			0xf2, 0x1b, 0xe7, 0x5a, 0xd0, 0x55, 0x3b, 0x0e,
+			0x77, 0x09, 0x7e, 0x1f, 0x11, 0x0b, 0xf0, 0xe4,
+			0x07, 0x27, 0xe7, 0x72, 0xe9, 0x50, 0x9c, 0x9c,
+			0x84, 0xb0, 0x5c, 0xe0, 0x13, 0x79, 0xfa, 0x3f,
+			0x80, 0x96, 0xe2, 0x04, 0xde, 0x35, 0x5f, 0xa4,
+			0x4e, 0x8a, 0x12, 0x7a, 0xba, 0x53, 0x20, 0x36,
+			0x3d, 0xf0, 0x63, 0xb6, 0x14, 0xab, 0xce, 0x6b,
+			0x24, 0xfd, 0xc9, 0xd2, 0x52, 0xd9, 0xc0, 0x40,
+			0xdf, 0xdd, 0xd5, 0xc2, 0xa0, 0xf5, 0x74, 0x46,
+			0x17, 0xdc, 0xf5, 0x81, 0x68, 0xbd, 0x1a, 0x01,
+			0x33, 0xd0, 0x2f, 0xdc, 0x3a, 0x43, 0x4a, 0x08,
+			0x07, 0x98, 0x9f, 0x75, 0x5d, 0x70, 0x15, 0x1d,
+			0x58, 0x7f, 0x26, 0x30, 0x28, 0xe1, 0x17, 0x6d,
+			0x14, 0x0f, 0x01, 0x4a, 0x88, 0x3b, 0xf5, 0x70,
+			0x1d, 0x97, 0xd5, 0xda, 0x18, 0xa8, 0xb3, 0xa4,
+			0x0e, 0x04, 0x3f, 0xe8, 0x50, 0xf4, 0x87, 0x65,
+			0x75, 0x5a, 0x5d, 0x2f, 0x94, 0x63, 0x7a, 0xd0,
+			0x06, 0xce, 0xfb, 0xeb, 0x41, 0x65, 0xc9, 0x55,
+			0x38, 0x54, 0xd3, 0xc4, 0xac, 0x24, 0x46, 0x06,
+			0x2a, 0x87, 0xb1, 0x0f, 0x06, 0xd8, 0x1e, 0xa7,
+			0x35, 0xc4, 0xa3, 0xdc, 0x60, 0x80, 0x83, 0xe7,
+			0xf0, 0x74, 0xf6, 0xd6, 0xa7, 0x1d, 0x50, 0xff,
+			0xba, 0x82, 0xc0, 0xca, 0x72, 0x6b, 0xda, 0x4a,
+			0xcb, 0x3b, 0xe8, 0xa3, 0xaa, 0x32, 0x86, 0xc0,
+			0x94, 0x75, 0x2b, 0x2f, 0x44, 0xad, 0x5b, 0x8d,
+			0xab, 0xc2, 0x03, 0x55, 0xb1, 0x7e, 0x67, 0x07,
+			0x39, 0x33, 0x83, 0x67, 0xec, 0xbf, 0x52, 0xad,
+			0x55, 0x37, 0x3e, 0xa1, 0x41, 0xed, 0xa0, 0x91,
+			0xbf, 0x28, 0x1b, 0x04, 0x32, 0xbf, 0xf1, 0xb0,
+			0x0a, 0x11, 0x99, 0x98, 0x77, 0xee, 0x14, 0x13,
+			0x15, 0x13, 0xad, 0x1f, 0xb6, 0x6b, 0xcd, 0x3b,
+			0xb8, 0x75, 0x9a, 0x55, 0x9b, 0x0c, 0x6c, 0xf7,
+			0x7c, 0x21, 0x06, 0xb7, 0xf0, 0x43, 0x41, 0x96,
+			0xc1, 0x73, 0x44, 0x53, 0xd8, 0x18, 0x3e, 0x09,
+			0x4e, 0xc2, 0x5f, 0xa0, 0xd5, 0x18, 0xdb, 0x9f,
+			0xf4, 0xa0, 0xf8, 0x4d, 0xa7, 0x72, 0x7e, 0x85,
+			0xbb, 0xb7, 0xcc, 0x7b, 0x51, 0xb0, 0xf1, 0x5e,
+			0x03, 0xcd, 0xe8, 0x5b, 0x83, 0x3f, 0x95, 0xe2,
+			0x0b, 0xa1, 0xc7, 0x6f, 0x74, 0x98, 0xcd, 0x95,
+			0xf4, 0xd4, 0xb8, 0x40, 0xff, 0x75, 0x54, 0x83,
+			0x3a, 0x2c, 0x64, 0x38, 0x10, 0xcb, 0x6d, 0xad,
+			0xf9, 0x91, 0xcb, 0xcf, 0xbe, 0xf6, 0xf7, 0x94,
+			0x15, 0xea, 0xaf, 0x37, 0x65, 0x7c, 0xd2, 0xff,
+			0x99, 0x79, 0xf8, 0x95, 0x27, 0x75, 0x09, 0x60,
+			0xa4, 0x6f, 0x06, 0x0f, 0x6c, 0x13, 0xdd, 0x32,
+			0x79, 0xa7, 0x40, 0xa5, 0xdd, 0x2c, 0x22, 0xc1,
+			0xee, 0xc3, 0x31, 0x59, 0xb1, 0x3d, 0xa1, 0x77,
+			0x69, 0xb5, 0xd6, 0xae, 0xd7, 0x86, 0xab, 0xa4,
+			0xdf, 0x9f, 0x36, 0xb4, 0xb2, 0xe6, 0x88, 0xd6,
+			0x45, 0x9b, 0x8b, 0x87, 0xbd, 0x27, 0xe9, 0x55,
+			0xd5, 0xac, 0xe9, 0x33, 0x80, 0x00, 0x1d, 0x00,
+			0x21, 0x74, 0xe2, 0x0a, 0x5b, 0xd2, 0x37, 0xab,
+			0x6f, 0x48, 0x5e, 0x14, 0x76, 0x3a, 0x84, 0xf9,
+			0x34, 0x03, 0x74, 0x8d, 0x6c, 0xd8, 0xd4, 0x0f,
+			0xc7, 0xc8, 0x0c, 0xb5, 0x18, 0x12, 0xa5, 0x5a,
+			0x76, 0x4b, 0x5d, 0x1e, 0x75, 0x89, 0x3a, 0x01,
+			0x60, 0xf1, 0x1e, 0x5b, 0x98, 0x71, 0x7a, 0x15,
+			0x79, 0xff, 0x3d, 0x37, 0x5e, 0xc9, 0x56, 0xa5,
+			0x43, 0xe7, 0xd0, 0x2b, 0x63, 0xfb, 0x2f, 0x1a,
+			0x55, 0x37, 0x15, 0x02, 0x7f, 0x9a, 0x84, 0xf0,
+			0x07, 0x45, 0x2b, 0xa0, 0x9a, 0xb4, 0x60, 0x4d,
+			0x48, 0xd5, 0xee, 0x64, 0xf9, 0xe7, 0x4b, 0x1c,
+			0xb9, 0x05, 0xd1, 0xd1, 0x47, 0x4f, 0xca, 0x26,
+			0x32, 0xad, 0x7b, 0x2e, 0x7e, 0x54, 0x05, 0x96,
+			0x12, 0x29, 0xbc, 0xd3, 0x45, 0x4e, 0x05, 0x83,
+			0x6d, 0x30, 0x38, 0xd0, 0x3c, 0x46, 0xcd, 0xb6,
+			0x21, 0xb6, 0x5c, 0x2a, 0x40, 0x7a, 0x2e, 0x97,
+			0xd7, 0xbf, 0xa6, 0x55, 0x2a, 0xa6, 0x28, 0x54,
+			0xc4, 0x66, 0xbe, 0xf6, 0xea, 0xc1, 0x19, 0xcb,
+			0xcc, 0x52, 0x07, 0xcd, 0x90, 0x3f, 0x09, 0x23,
+			0x77, 0xf7, 0xc6, 0x03, 0xcc, 0x8b, 0x18, 0xac,
+			0x63, 0x6d, 0x2a, 0x01, 0x82, 0xad, 0x20, 0x11,
+			0x82, 0xf3, 0xfe, 0x2d, 0x53, 0x3f, 0x18, 0xb5,
+			0xbc, 0xf7, 0x0c, 0xa7, 0xca, 0x63, 0xfa, 0x77,
+			0x8a, 0x3c, 0xc1, 0xc4, 0xb0, 0x15, 0x4b, 0x08,
+			0xdd, 0xb3, 0xd2, 0x33, 0xc8, 0xc2, 0xaa, 0x1a,
+			0xe4, 0x9b, 0x1b, 0x18, 0x78, 0x07, 0x6c, 0x08,
+			0x28, 0x3f, 0xc6, 0xb7, 0x46, 0x8f, 0x8e, 0xc6,
+			0xff, 0xb1, 0x2d, 0x63, 0x12, 0x7c, 0xe5, 0xd8,
+			0xa5, 0xf8, 0x64, 0x76, 0xf7, 0x1b, 0xbc, 0x41,
+			0xad, 0xee, 0xe8, 0x6f, 0xd4, 0x13, 0xea, 0x59,
+			0x72, 0xfa, 0x04, 0xb4, 0x6e, 0x52, 0x3a, 0xff,
+			0x60, 0xa0, 0xd8, 0xdf, 0x41, 0x1a, 0x4e, 0xc8,
+			0x80, 0x2d, 0x29, 0x13, 0xd3, 0xd0, 0x55, 0x20,
+			0xb5, 0x33, 0x4f, 0x02, 0xd2, 0xea, 0xca, 0x94,
+			0x99, 0xdf, 0x3c, 0xfd, 0xe5, 0x2b, 0x45, 0x04,
+			0x85, 0xfe, 0x87, 0x42, 0x53, 0x11, 0x62, 0x2f,
+			0xcf, 0x05, 0x35, 0x29, 0x6a, 0xa5, 0x37, 0x80,
+			0x9b, 0x4a, 0x44, 0x3c, 0x6d, 0xe1, 0xd3, 0x88,
+			0x6a, 0xe7, 0x6f, 0x45, 0xfc, 0x99, 0x33, 0xe4,
+			0x18, 0x62, 0x19, 0x36, 0x37, 0x6f, 0xe9, 0x37,
+			0xbb, 0x86, 0xa2, 0x07, 0xec, 0xbc, 0x33, 0x0d,
+			0x0a, 0x18, 0x30, 0x13, 0xcf, 0x36, 0x31, 0x2f,
+			0xd2, 0xf6, 0x7e, 0xa8, 0xa4, 0x95, 0x71, 0xc8,
+			0x40, 0x1f, 0x34, 0xf1, 0x95, 0xde, 0x3e, 0xe1,
+			0xb7, 0xef, 0x26, 0x1e, 0x20, 0x78, 0xf8, 0x9a,
+			0x24, 0xbc, 0x7f, 0x64, 0x30, 0x42, 0x63, 0x77,
+			0x89, 0x96, 0xf8, 0x9b, 0x60, 0x51, 0xb3, 0x02,
+			0x7a, 0x64, 0x19, 0xd3, 0x13, 0x98, 0xcd, 0xb6,
+			0x1e, 0x68, 0x82, 0x9b, 0x23, 0x44, 0x3e, 0xa8,
+			0x57, 0xf5, 0x4d, 0xd8, 0xea, 0x93, 0x84, 0x4e,
+			0x56, 0x18, 0xb7, 0x94, 0x02, 0xfa, 0x6e, 0x8e,
+			0xa0, 0x75, 0xd2, 0xb4, 0xbb, 0x50, 0x6f, 0x3f,
+			0x58, 0xe2, 0x28, 0xb6, 0x87, 0xd6, 0xc5, 0xe0,
+			0x76, 0xa6, 0xc6, 0x5b, 0xed, 0x6b, 0x48, 0xd4,
+			0x25, 0xd3, 0x5f, 0x64, 0xab, 0xe3, 0x5a, 0xae,
+			0x69, 0xe8, 0x06, 0xff, 0xef, 0x67, 0x0b, 0x49,
+			0xe4, 0xe8, 0x31, 0xee, 0x1a, 0x35, 0x86, 0x0c,
+			0x81, 0x8a, 0x1f, 0x7f, 0x06, 0x20, 0x66, 0x81,
+			0x8b, 0xfb, 0xdc, 0x99, 0x78, 0x7b, 0x43, 0x84,
+			0x35, 0xa7, 0x4f, 0x27, 0xb5, 0xc9, 0x44, 0xbf,
+			0x05, 0x59, 0xce, 0x4c, 0xe5, 0xaa, 0x18, 0x37,
+			0x32, 0x5b, 0x41, 0x62, 0x89, 0x0a, 0xec, 0x0a,
+			0xae, 0x67, 0xcf, 0x0b, 0xef, 0xf6, 0x3a, 0x3b,
+			0x13, 0x1d, 0xf8, 0x8b, 0x20, 0x5f, 0x2c, 0x55,
+			0x75, 0xec, 0xf4, 0x9d, 0x2d, 0x0d, 0x0d, 0xb7,
+			0x88, 0x71, 0xf7, 0xc6, 0xf8, 0x65, 0x1a, 0xba,
+			0xdb, 0xdc, 0x53, 0xd2, 0x80, 0x92, 0x72, 0x14,
+			0xce, 0x68, 0xb8, 0xf4, 0x78, 0x4b, 0x92, 0xee,
+			0x15, 0xfc, 0xd4, 0xe0, 0x89, 0x49, 0x82, 0xf8,
+			0x7f, 0xce, 0xf6, 0xce, 0x86, 0xfa, 0xa5, 0xd9,
+			0x3a, 0xfb, 0xef, 0xa8, 0xd9, 0x3b, 0x6e, 0xb5,
+			0xe2, 0x29, 0x31, 0x6f, 0x5f, 0xa7, 0x34, 0x58,
+			0x49, 0x07, 0x9c, 0x4d, 0x74, 0x46, 0xb6, 0xd5,
+			0x0c, 0x3c, 0x26, 0x4b, 0xee, 0x37, 0x9c, 0x92,
+			0xa2, 0x37, 0x95, 0x35, 0x71, 0xee, 0x46, 0xdd,
+			0xef, 0xd0, 0xf2, 0xd4, 0xef, 0xe0, 0xdb, 0x28,
+			0xf4, 0x5d, 0x12, 0xe0, 0x85, 0x4a, 0x3c, 0x5b,
+			0x2f, 0xd8, 0x9c, 0x9a, 0xcf, 0x6f, 0x01, 0xe7,
+			0x1b, 0x2e, 0x41, 0x5d, 0x5d, 0xdd, 0xdd, 0xb6,
+			0x6d, 0xb3, 0x7d, 0xbc, 0x33, 0x50, 0xc5, 0xaf,
+			0x1b, 0xee, 0x33, 0xc4, 0x42, 0x46, 0xca, 0xe2,
+			0x00, 0xe9, 0xc9, 0xec, 0x9e, 0x9b, 0x67, 0xba,
+			0x39, 0x3c, 0xc5, 0xa1, 0x7d, 0xac, 0x9e, 0xbe,
+			0x67, 0x92, 0x20, 0x5b, 0x36, 0x85, 0xde, 0xdd,
+			0xd3, 0xec, 0x4e, 0x82, 0x03, 0x4a, 0x44, 0x6e,
+			0xee, 0x9c, 0xd0, 0x13, 0x9e, 0x98, 0x6f, 0x77,
+			0xd8, 0xfe, 0xb7, 0x54, 0x01, 0x15, 0xcd, 0xd3,
+			0x31, 0xf5, 0xd7, 0x74, 0x2d, 0x4d, 0x4f, 0x18,
+			0xd2, 0x8f, 0x80, 0xb6, 0x46, 0x80, 0xa7, 0xa8,
+			0x8c, 0xf2, 0x64, 0x4f, 0x40, 0x8a, 0x64, 0x96,
+			0x2c, 0x1e, 0xd2, 0x3c, 0xe9, 0x50, 0xc4, 0x86,
+			0xd9, 0x19, 0x93, 0x7a, 0xba, 0x95, 0x35, 0x35,
+			0xe3, 0x4d, 0x83, 0xda, 0x15, 0x09, 0x87, 0xb8,
+			0x1a, 0x54, 0x6f, 0x61, 0xdd, 0x55, 0x01, 0xe1,
+			0x39, 0x1c, 0xb2, 0xac, 0x8c, 0x15, 0x82, 0x7c,
+			0xa6, 0x69, 0x54, 0x64, 0x2f, 0x5c, 0x0c, 0x79,
+			0xaf, 0x85, 0x71, 0x2d, 0xff, 0xc0, 0xf2, 0x40,
+			0xbb, 0x05, 0x31, 0x31, 0x00, 0x8d, 0x0c, 0x40,
+			0x11, 0x88, 0xf2, 0x91, 0x9f, 0x7a, 0x8e, 0x99,
+			0x82, 0x72, 0xd8, 0x45, 0x08, 0x83, 0x5c, 0x2b,
+			0x73, 0x46, 0xd6, 0x54, 0x9a, 0x3d, 0x42, 0x48,
+			0x67, 0x19, 0x2b, 0x19, 0xae, 0x0c, 0x16, 0x08,
+			0xa4, 0xec, 0x7e, 0x15, 0xad, 0x4f, 0xa9, 0xbd,
+			0x4f, 0x09, 0xf0, 0xc2, 0x9f, 0xb5, 0xb7, 0xff,
+			0x96, 0xf9, 0xf9, 0xc6, 0x5d, 0x57, 0x07, 0xe8,
+			0xf2, 0x7c, 0x95, 0xa0, 0x8a, 0x15, 0x8b, 0x34,
+			0x84, 0xb5, 0x28, 0x7a, 0xf5, 0x04, 0xb8, 0xcb,
+			0x5e, 0x77, 0x4d, 0xdd, 0x14, 0x8d, 0xa6, 0xe2,
+			0x45, 0x44, 0xfd, 0xd0, 0x9c, 0x41, 0x10, 0xfc,
+			0xe5, 0xdd, 0x2c, 0xda, 0x6b, 0xfe, 0xf9, 0xff,
+			0x65, 0xe7, 0x66, 0x40, 0x69, 0x0c, 0x09, 0x99,
+			0xaf, 0x02, 0xd0, 0x85, 0x55, 0xcc, 0x0d, 0x59,
+			0xaa, 0xb6, 0x37, 0x9b, 0x58, 0xfa, 0xb5, 0xc5,
+			0xcd, 0xd5, 0x1c, 0xf9, 0x9f, 0x31, 0x4c, 0x8a,
+			0x78, 0xca, 0x1e, 0x22, 0xdc, 0x33, 0x64, 0xce,
+			0x56, 0x6d, 0x57, 0xe9, 0xbd, 0xe0, 0xdd, 0x23,
+			0x22, 0x9c, 0x70, 0x5a, 0xe7, 0x46, 0x08, 0xc5,
+			0xa6, 0x85, 0x34, 0x5f, 0x9c, 0x96, 0xbb, 0xbe,
+			0xb4, 0x2f, 0xbb, 0x47, 0xdc, 0x38, 0xad, 0xb7,
+			0x92, 0x08, 0x0d, 0x93, 0xf4, 0x7f, 0xe6, 0x64,
+			0xa5, 0xb3, 0x9e, 0xdd, 0xdb, 0x99, 0x8e, 0xca,
+			0x82, 0x4f, 0x77, 0xf7, 0xff, 0x92, 0xd3, 0x48,
+			0xe0, 0x80, 0x71, 0x14, 0x61, 0x6b, 0x77, 0x1b,
+			0x58, 0xbd, 0xb6, 0xb6, 0xe5, 0xb0, 0xa8, 0x16,
+			0xe7, 0x4c, 0xc2, 0x5e, 0x40, 0xbc, 0x9f, 0x77,
+			0x76, 0x98, 0xf7, 0x00, 0xd1, 0xdf, 0x3c, 0x2e,
+			0x16, 0x4f, 0xe7, 0x91, 0xec, 0xeb, 0xfb, 0xa1,
+			0x9f, 0x66, 0x6d, 0xef, 0xaf, 0x36, 0xd8, 0xb6,
+			0x40, 0x7e, 0x2f, 0x51, 0x3b, 0x75, 0x56, 0x1d,
+			0x33, 0xee, 0x4b, 0xcf, 0x98, 0xb3, 0x9f, 0x4f,
+			0xff, 0xfd, 0x2a, 0xb9, 0x4e, 0x4b, 0xe0, 0x39,
+			0x60, 0xd5, 0x7c, 0xaa, 0x28, 0x7e, 0x7e, 0x27,
+			0xd8, 0x09, 0x85, 0x6d, 0xfa, 0x57, 0x8a, 0xee,
+			0x84, 0xbe, 0x48, 0xf9, 0x62, 0x78, 0x8a, 0x4d,
+			0x2a, 0x80, 0x2f, 0x6f, 0xc9, 0xa7, 0xb5, 0x56,
+			0xbb, 0x58, 0xc2, 0xb9, 0xd0, 0xfe, 0x8d, 0x68,
+			0x86, 0x2b, 0x7b, 0xf0, 0x01, 0x57, 0xff, 0xaf,
+			0x88, 0xad, 0x53, 0xf9, 0x63, 0xfe, 0xf4, 0x5a,
+			0x97, 0xb7, 0x8f, 0x92, 0x0f, 0x90, 0x63, 0xcf,
+			0xfe, 0x08, 0xbc, 0x8c, 0x5a, 0x9c, 0xac, 0x8b,
+			0x0a, 0x94, 0x17, 0x25, 0xae, 0x87, 0xa7, 0x1d,
+			0x3f, 0x28, 0xfe, 0x45, 0x3e, 0x48, 0xef, 0x19,
+			0x4a, 0xbe, 0xc6, 0xd5, 0x64, 0xe1, 0xf2, 0xf5,
+			0xd2, 0x3a, 0x03, 0xe0, 0x50, 0x31, 0x7e, 0xdf,
+			0xd5, 0x15, 0xc6, 0xb6, 0xb2, 0x1e, 0x44, 0x6a,
+			0x0f, 0x67, 0xf2, 0x34, 0x69, 0xb9, 0xd2, 0x51,
+			0xeb, 0x86, 0xab, 0x7e, 0x60, 0x68, 0xe4, 0xc2,
+			0x4b, 0x8b, 0xa2, 0xc6, 0x78, 0xb2, 0x61, 0xa1,
+			0xe5, 0xb6, 0x33, 0x47, 0x3f, 0xfa, 0xde, 0x5b,
+			0x6b, 0x95, 0x89, 0x51, 0xbb, 0xd3, 0x8a, 0x00,
+			0x1d, 0xad, 0xfc, 0x7a, 0x47, 0xc8, 0xa0, 0x69,
+			0xa6, 0xa3, 0x3f, 0xa9, 0xdb, 0xd8, 0xe4, 0x0d,
+			0x2c, 0xba, 0x26, 0x2c, 0xa6, 0x82, 0x62, 0x5a,
+			0x1e, 0x9f, 0xa8, 0x24, 0x9d, 0xe5, 0xc7, 0xcf,
+			0x6d, 0x2f, 0x68, 0xe1, 0xc0, 0x04, 0xad, 0xde,
+			0x00, 0x5b, 0x57, 0x35, 0x2b, 0x9a, 0x9b, 0xe5,
+			0x90, 0x31, 0x8a, 0x5b, 0xea, 0xe5, 0xf6, 0x73,
+			0x02, 0xc1, 0x33, 0xaf, 0xe7, 0x61, 0x6c, 0x04,
+			0x8c, 0x08, 0xb2, 0xfb, 0xa2, 0x18, 0x51, 0x39,
+			0x1a, 0x61, 0x2c, 0x8c, 0x7d, 0x11, 0xb8, 0x2e,
+			0x38, 0xb7, 0xe0, 0xde, 0x5e, 0x6f, 0xc5, 0xf4,
+			0x31, 0x72, 0xcb, 0xd6, 0xec, 0xbc, 0xe9, 0x36,
+			0x2e, 0x2b, 0x63, 0xea, 0xa1, 0xab, 0xf8, 0x11,
+			0xe7, 0x31, 0xad, 0xe4, 0xcb, 0x23, 0xe4, 0x64,
+			0x54, 0x50, 0x4f, 0x15, 0x8b, 0x58, 0xa4, 0xa1,
+			0x35, 0xea, 0x73, 0x3e, 0xc3, 0x3e, 0x31, 0x81,
+			0x80, 0x53, 0x6a, 0x2c, 0xfe, 0xd7, 0xd8, 0x8f,
+			0xe7, 0x50, 0x2d, 0x99, 0x69, 0x32, 0xfa, 0x4e,
+			0xb4, 0xf9, 0x89, 0x18, 0xbe, 0x5a, 0x95, 0x7a,
+			0x0f, 0x34, 0xc5, 0xd9, 0x28, 0xff, 0x93, 0x3a,
+			0x13, 0x22, 0xe6, 0xdb, 0x5c, 0xfe, 0x51, 0x05,
+			0xaf, 0xa3, 0xcd, 0x17, 0x01, 0xd1, 0x84, 0x76,
+			0x23, 0xff, 0x91, 0xc4, 0x6b, 0xc7, 0xa8, 0x77,
+			0xe0, 0xda, 0x45, 0xef, 0xd7, 0x13, 0xe3, 0x02,
+			0x7c, 0x74, 0x7e, 0x66, 0xbb, 0x9f, 0x48, 0x35,
+			0x56, 0xa8, 0x08, 0x41, 0xf7, 0xa7, 0xe3, 0x60,
+			0xa6, 0xce, 0x73, 0xdf, 0x73, 0x99, 0xc6, 0xbd,
+			0x7b, 0xb4, 0xde, 0x31, 0xe6, 0x35, 0xaf, 0x3e,
+			0x93, 0xd2, 0x69, 0xb5, 0xb9, 0xbe, 0x9f, 0xf4,
+			0x0d, 0xd8, 0x82, 0xc1, 0x4f, 0xf6, 0xf3, 0x23,
+			0x1c, 0xe7, 0xff, 0xac, 0xb2, 0x79, 0xe3, 0x62,
+			0x6a, 0xb7, 0x85, 0x08, 0xda, 0x4a, 0x3f, 0x22,
+			0x62, 0x2b, 0xcd, 0xb7, 0x59, 0xf5, 0x82, 0xef,
+			0x08, 0x7f, 0xb5, 0xa0, 0x6c, 0xba, 0x61, 0x45,
+			0x8f, 0xf4, 0xa2, 0x66, 0x83, 0x72, 0x65, 0x34,
+			0x34, 0x68, 0x99, 0xf5, 0x99, 0xc9, 0x52, 0x6a,
+			0xc2, 0x7f, 0xde, 0x25, 0xa3, 0x7b, 0xce, 0xa3,
+			0xde, 0x6d, 0x62, 0x98, 0x84, 0xe4, 0x2a, 0xe1,
+			0x1c, 0xa9, 0x0b, 0x7e, 0x45, 0xd3, 0x78, 0x40,
+			0x85, 0x61, 0x9d, 0xce, 0xcd, 0xfd, 0x7b, 0x66,
+			0x92, 0x5f, 0xb9, 0x37, 0x04, 0xea, 0xec, 0x37,
+			0x32, 0xbe, 0xcd, 0x3e, 0x5e, 0x37, 0xcd, 0xe3,
+			0x81, 0x92, 0x69, 0xdf, 0xa1, 0xb9, 0x8c, 0x44,
+			0x43, 0xae, 0xcd, 0xe5, 0xd5, 0x4e, 0xb9, 0x2f,
+			0x1e, 0xbc, 0xf2, 0xd1, 0x88, 0x93, 0xde, 0x6a,
+			0x8a, 0x43, 0xa1, 0x6b, 0xdc, 0x5b, 0xd2, 0xdd,
+			0xe8, 0xca, 0x0a, 0x95, 0x45, 0x9f, 0xd8, 0x8c,
+			0xfd, 0xe0, 0xc3, 0xbd, 0x0e, 0xa0, 0xbd, 0x72,
+			0xa7, 0x77, 0x9a, 0x79, 0xd9, 0x15, 0xad, 0x50,
+			0x13, 0xa7, 0x41, 0xc7, 0xd1, 0xec, 0x2f, 0x45,
+			0x14, 0x02, 0xb7, 0x8e, 0x51, 0x76, 0xd4, 0x2f,
+			0x1c, 0xea, 0x9c, 0x6d, 0x35, 0x1c, 0xa7, 0xeb,
+			0xd7, 0x79, 0xe4, 0x35, 0xbc, 0x02, 0xa6, 0xd0,
+			0x58, 0xcb, 0xdf, 0xea, 0x90, 0x16, 0x53, 0x3c,
+			0xc5, 0xda, 0x36, 0x4f, 0x61, 0x4a, 0x1b, 0xfa,
+			0x15, 0x52, 0x0d, 0x3d, 0x73, 0xc5, 0xfe, 0x2a,
+			0xa2, 0x4a, 0x6e, 0x95, 0x99, 0xfc, 0xbf, 0xb2,
+			0xfc, 0x22, 0xbe, 0x45, 0x10, 0x5a, 0xc5, 0x38,
+			0xa0, 0xc1, 0xba, 0x46, 0x6d, 0x8e, 0xbe, 0x0b,
+			0x5f, 0xf6, 0x6f, 0xbb, 0x4d, 0x22, 0xf5, 0x95,
+			0x4d, 0x12, 0xc2, 0x6f, 0x8d, 0xde, 0x86, 0xaf,
+			0x3f, 0x08, 0x24, 0x56, 0xa3, 0xcd, 0xfc, 0xeb,
+			0xa1, 0x3c, 0x22, 0x66, 0x45, 0x03, 0x8b, 0x04,
+			0x12, 0x80, 0x34, 0xf9, 0xf4, 0x64, 0xbf, 0xb9,
+			0x3d, 0xd7, 0x34, 0xe4, 0xc8, 0x8e, 0x86, 0xc9,
+			0x73, 0x21, 0x7f, 0x30, 0x01, 0xc8, 0xd2, 0x91,
+			0x8d, 0xc4, 0xca, 0xd5, 0x59, 0xac, 0xd7, 0xb4,
+			0xfb, 0x98, 0xfb, 0xc4, 0x48, 0x82, 0x93, 0xc6,
+			0x58, 0x8b, 0x0c, 0xdf, 0x3f, 0x07, 0x5a, 0x94,
+			0x89, 0xc6, 0xbe, 0x1a, 0x19, 0x63, 0x8b, 0xa8,
+			0x0c, 0x20, 0xae, 0x9a, 0x1b, 0xd3, 0x45, 0xa0,
+			0xd9, 0x8c, 0xbb, 0x67, 0xa0, 0x54, 0x86, 0x9b,
+			0x7b, 0xa8, 0x16, 0x6f, 0xa4, 0x59, 0x45, 0x1e,
+			0x34, 0xb5, 0xa7, 0x1b, 0x3f, 0xda, 0xc6, 0x80,
+			0x19, 0xdc, 0xc2, 0xee, 0xeb, 0xd9, 0x96, 0xdc,
+			0x4f, 0xec, 0x02, 0xde, 0x34, 0x43, 0x5a, 0x37,
+			0xc8, 0xdf, 0x3b, 0x53, 0x82, 0xfa, 0xf8, 0x8a,
+			0x32, 0x97, 0x1e, 0xf6, 0x0e, 0x7d, 0x39, 0xe0,
+			0xdb, 0x0b, 0x22, 0xa4, 0xd0, 0x56, 0x13, 0xbc,
+			0xe9, 0x38, 0x92, 0x76, 0xff, 0x2b, 0xc2, 0xa0,
+			0x98, 0x7d, 0x8c, 0x58, 0x8e, 0x7f, 0x6d, 0x80,
+			0x06, 0xff, 0xc7, 0xb3, 0xb7, 0x1b, 0xac, 0xc4,
+			0x68, 0x61, 0x11, 0x15, 0xb7, 0xee, 0x8d, 0x66,
+			0x34, 0x9f, 0x18, 0x03, 0x88, 0xd1, 0x04, 0xd0,
+			0x86, 0xc0, 0xca, 0x2a, 0xe1, 0x1b, 0x47, 0x18,
+			0xc9, 0x97, 0xed, 0x1f, 0x99, 0xc6, 0xa9, 0x20,
+			0x3f, 0xf6, 0x43, 0x96, 0x30, 0x8b, 0xa5, 0xcb,
+			0x2e, 0xc5, 0xdb, 0x26, 0xc0, 0xf6, 0x48, 0x07,
+			0x3a, 0x28, 0x3e, 0x35, 0x38, 0x50, 0x80, 0xdf,
+			0x80, 0xfa, 0x12, 0x92, 0x83, 0x55, 0xde, 0x31,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x48, 0x11, 0x92, 0xb3, 0xaa, 0x7e, 0xb3, 0x14,
+			0xdc, 0x46, 0xd6, 0xbf, 0x26, 0xb2, 0x66, 0xc5,
+			0xd8, 0xc4, 0x69, 0x9f, 0x67, 0x50, 0x67, 0xc0,
+			0x3b, 0x8d, 0xc5, 0xb5, 0x68, 0x59, 0x6f, 0x9c,
+			0xd4, 0xf2, 0x49, 0xfb, 0xa4, 0xd0, 0xbf, 0xc5,
+			0x3c, 0xee, 0x3b, 0x03, 0x25, 0x6c, 0x51, 0x94,
+			0xb3, 0xd4, 0xdb, 0x2a, 0xbd, 0x26, 0xef, 0x58,
+			0xb3, 0x91, 0x62, 0x81, 0x1b, 0x29, 0x9c, 0x12,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0xba, 0x08, 0xf3, 0x0c, 0xa1, 0x48, 0xad, 0x67,
+			0x12, 0x68, 0x51, 0x9b, 0xa4, 0x21, 0x66, 0x8d,
+			0xea, 0x0a, 0x71, 0x4f, 0x4c, 0xab, 0x1b, 0x42,
+			0x84, 0xb7, 0x9c, 0x78, 0xa9, 0x18, 0xd9, 0xe8,
+			0x08, 0x8f, 0xee, 0xf7, 0x4b, 0xcf, 0x0e, 0xcd,
+			0xf6, 0x36, 0xcf, 0xd5, 0xa1, 0x5e, 0x59, 0xc6,
+			0x8c, 0x6c, 0x4d, 0xfe, 0xfa, 0xfa, 0xbc, 0x52,
+			0x3a, 0x35, 0xba, 0xd9, 0xe1, 0xf2, 0x26, 0x73,
+			0xbd, 0x64, 0x93, 0xe7, 0x83, 0x76, 0xc4, 0xf8,
+			0x4b, 0xa9, 0x91, 0x8c, 0xd2, 0xf5, 0x08, 0xe6,
+			0x58, 0xcd, 0xfb, 0x90, 0xc1, 0x84, 0x72, 0x77,
+			0x72, 0x47, 0x5f, 0xcb, 0x7f, 0x74, 0x85, 0x56,
+			0xba, 0x73, 0x86, 0xc1, 0x32, 0x1c, 0xaf, 0xc5,
+			0x60, 0x2c, 0x91, 0x99, 0x09, 0x03, 0xcb, 0xe6,
+			0xa4, 0xae, 0x0b, 0xdc, 0x15, 0x70, 0x4c, 0x91,
+			0xa9, 0x9e, 0x5e, 0x63, 0x5c, 0x24, 0xc9, 0x26,
+			0x39, 0x56, 0xe4, 0x6c, 0x2c, 0x65, 0xf8, 0x0b,
+			0x4f, 0x56, 0x8f, 0x1e, 0x74, 0xda, 0x31, 0xad,
+			0x8f, 0x1b, 0xa7, 0xb1, 0xb3, 0x9b, 0x48, 0x09,
+			0x08, 0xdd, 0xe1, 0x25, 0x20, 0xa4, 0xc7, 0x12,
+			0xd4, 0xb0, 0xa0, 0xcb, 0x90, 0xf5, 0x9f, 0xc1,
+			0x8b, 0xbc, 0x9d, 0xcf, 0x78, 0xfc, 0xa1, 0x04,
+			0x4b, 0x0b, 0x7e, 0x82, 0x94, 0x80, 0x0e, 0x70,
+			0x77, 0xce, 0x63, 0x1c, 0x43, 0x41, 0x3f, 0x5d,
+			0x61, 0x1a, 0x44, 0xaa, 0xd0, 0xb7, 0x18, 0xd8,
+			0x91, 0x83, 0xa4, 0xa7, 0xa1, 0x86, 0x13, 0x54,
+			0xaf, 0xa8, 0xdb, 0x1a, 0xd7, 0xa9, 0x54, 0xca,
+			0x67, 0xb5, 0xb6, 0xb4, 0x22, 0x1a, 0x24, 0x8e,
+			0x65, 0x01, 0xa8, 0xd2, 0x15, 0x9d, 0x98, 0x59,
+			0x70, 0x94, 0xb4, 0x96, 0xeb, 0xf2, 0x95, 0x41,
+			0x9a, 0x89, 0x02, 0xb7, 0x6a, 0x20, 0x2a, 0x64,
+			0xf1, 0x1c, 0x1e, 0x3d, 0xd8, 0xdb, 0x6d, 0xef,
+			0xf2, 0x1a, 0x24, 0xa4, 0xd0, 0xb9, 0x98, 0xd3,
+			0xe5, 0xbd, 0x7a, 0xa3, 0xc3, 0x19, 0x97, 0x54,
+			0x77, 0x97, 0xb5, 0x57, 0x93, 0x71, 0x24, 0x91,
+			0x81, 0xcf, 0x5f, 0x38, 0xb9, 0xd5, 0x7e, 0x8b,
+			0x0f, 0xea, 0x56, 0x49, 0xac, 0x25, 0xc4, 0x6c,
+			0x5e, 0x4e, 0x08, 0x31, 0xc8, 0xdf, 0x0b, 0x19,
+			0xb9, 0xbc, 0xec, 0x3b, 0x89, 0xf8, 0x98, 0xe3,
+			0x6c, 0xf6, 0x0f, 0x5b, 0x7e, 0x03, 0x10, 0x68,
+			0x78, 0x2c, 0xfa, 0x39, 0x5c, 0x64, 0x5b, 0xa1,
+			0xfc, 0x8d, 0x14, 0x87, 0x62, 0x04, 0x57, 0xc0,
+			0x5b, 0x6f, 0x6e, 0x3c, 0xea, 0xe6, 0x23, 0xde,
+			0x9b, 0x1d, 0x89, 0x69, 0x38, 0xfb, 0x10, 0xab,
+			0xb9, 0xda, 0xee, 0xa8, 0x8d, 0x96, 0xc0, 0xa5,
+			0x40, 0xce, 0x16, 0x1e, 0xf5, 0xf4, 0x74, 0x6f,
+			0x0e, 0x38, 0xe5, 0x1d, 0xe6, 0x6c, 0x19, 0xa5,
+			0x71, 0x48, 0xda, 0x3e, 0xe9, 0x10, 0x57, 0x16,
+			0x89, 0xd3, 0x5b, 0x4a, 0x5b, 0xa9, 0xb1, 0x13,
+			0xad, 0x77, 0xaf, 0x1f, 0x8b, 0x71, 0x3f, 0xff,
+			0x7c, 0xc4, 0x31, 0xb2, 0xa7, 0x18, 0x2f, 0x4b,
+			0x99, 0xe2, 0x14, 0xbf, 0x1e, 0x69, 0x8f, 0x56,
+			0xe2, 0x2c, 0x84, 0x34, 0xd6, 0x76, 0x27, 0x06,
+			0x7f, 0x2e, 0x9d, 0xbe, 0x90, 0x95, 0xda, 0x5a,
+			0xfb, 0xaa, 0x8a, 0x51, 0x3d, 0x97, 0xb8, 0x75,
+			0xe9, 0xba, 0x2a, 0x03, 0x7e, 0xb0, 0xe3, 0xdc,
+			0xe3, 0x3b, 0x2a, 0xd8, 0x77, 0xa5, 0xf3, 0x76,
+			0x69, 0xf1, 0xd2, 0xd5, 0xb3, 0xba, 0xfa, 0x97,
+			0x55, 0x5f, 0xd1, 0xc3, 0x10, 0x55, 0x9a, 0xb6,
+			0xce, 0x32, 0x80, 0x7f, 0x48, 0xb7, 0x15, 0x85,
+			0x3f, 0x22, 0x58, 0x00, 0x51, 0x12, 0x5c, 0xcc,
+			0xd0, 0x77, 0x26, 0x57, 0x4b, 0xbb, 0x67, 0x21,
+			0x0d, 0x92, 0x80, 0xe0, 0xec, 0x2f, 0x58, 0x44,
+			0x8b, 0x98, 0x70, 0x16, 0x13, 0x91, 0x38, 0xee,
+			0x9e, 0x4f, 0xf2, 0x6f, 0x95, 0x49, 0xe8, 0xcc,
+			0xc5, 0x6d, 0x20, 0x20, 0x4d, 0x1b, 0x08, 0xf4,
+			0xa5, 0x8b, 0xf3, 0xf6, 0x89, 0x2c, 0x17, 0xa6,
+			0xa8, 0xa8, 0xfb, 0xab, 0x6f, 0xa0, 0xe3, 0xcd,
+			0xc5, 0xfb, 0xac, 0x91, 0x42, 0x8c, 0xf2, 0x28,
+			0xd1, 0x13, 0xdb, 0x63, 0x59, 0x69, 0xab, 0x16,
+			0x5a, 0xaf, 0x0a, 0xfa, 0x43, 0x6d, 0x53, 0x7f,
+			0x14, 0x88, 0xc8, 0xa1, 0x71, 0x45, 0x54, 0x30,
+			0xa7, 0x91, 0x55, 0x44, 0x07, 0x03, 0x78, 0xf3,
+			0xf6, 0x23, 0xc0, 0x21, 0x4b, 0x39, 0xc4, 0x9a,
+			0x5a, 0xe8, 0xad, 0x28, 0x6b, 0xd2, 0xd7, 0xc9,
+			0xed, 0xf4, 0x30, 0xff, 0xf8, 0xc4, 0x7a, 0xfe,
+			0x49, 0x1c, 0x28, 0xbb, 0x89, 0xfa, 0x9d, 0x64,
+			0xcc, 0x37, 0x76, 0x6a, 0xf3, 0x8b, 0x94, 0x60,
+			0xe0, 0xb2, 0x29, 0xf8, 0x5a, 0xc6, 0x3e, 0xcc,
+			0x6f, 0x13, 0x85, 0x7c, 0xaa, 0xc4, 0x35, 0x56,
+			0x9a, 0xb6, 0x96, 0x76, 0x41, 0xe2, 0x11, 0xbe,
+			0x07, 0xba, 0x0c, 0x21, 0x32, 0xc3, 0xb3, 0xf3,
+			0x96, 0x49, 0xa2, 0xc4, 0x49, 0x48, 0xfe, 0x17,
+			0xef, 0xdf, 0x1e, 0xf3, 0xde, 0x5f, 0xa0, 0x49,
+			0xfc, 0xa5, 0xb5, 0xf3, 0x4c, 0x99, 0x5f, 0xcb,
+			0x33, 0xc6, 0x54, 0x52, 0xa0, 0x85, 0x16, 0x75,
+			0x2c, 0x5f, 0x87, 0x61, 0x58, 0xc9, 0x23, 0x0a,
+			0x36, 0x66, 0x3b, 0x78, 0x65, 0xcc, 0xd4, 0x8e,
+			0xe1, 0x27, 0x9a, 0x74, 0x37, 0x79, 0x4c, 0x5c,
+			0x35, 0xf9, 0xa5, 0x7f, 0x79, 0x35, 0xa8, 0x7d,
+			0xcf, 0x64, 0xa3, 0x44, 0xb9, 0xee, 0x1e, 0x07,
+			0x5c, 0xda, 0xcd, 0x93, 0xfc, 0x33, 0x77, 0x68,
+			0xfc, 0xd6, 0xea, 0xf4, 0xcd, 0x0a, 0x3a, 0xe3,
+			0xb3, 0xef, 0xf9, 0xb5, 0x1a, 0x4b, 0x50, 0x2e,
+			0xcb, 0x88, 0x48, 0x60, 0xc3, 0x5c, 0x1b, 0xb7,
+			0xcc, 0x7a, 0x49, 0x2e, 0xf0, 0x9e, 0x96, 0x47,
+			0x7d, 0x82, 0x85, 0xcb, 0x37, 0x85, 0x26, 0xfd,
+			0xe1, 0x13, 0x57, 0xad, 0x51, 0xdc, 0x02, 0x8d,
+			0x3c, 0x4e, 0xdd, 0xf3, 0xdf, 0xbe, 0xab, 0x0d,
+			0x99, 0xf8, 0x13, 0x37, 0x0b, 0x1b, 0xaf, 0x08,
+			0x9b, 0x38, 0x5b, 0x3a, 0x91, 0x71, 0x9a, 0xe6,
+			0xc1, 0x7d, 0xd4, 0xd8, 0xf2, 0x66, 0x57, 0x99,
+			0x29, 0x58, 0xb5, 0x9d, 0x8f, 0x86, 0x7f, 0xe9,
+			0x17, 0xff, 0x3c, 0xfd, 0x0a, 0xfd, 0x15, 0x5c,
+			0x2f, 0x77, 0x6c, 0x2b, 0x86, 0x72, 0xcb, 0x00,
+			0x4d, 0x31, 0x98, 0xfe, 0x28, 0xc5, 0x54, 0x36,
+			0x97, 0x8c, 0xc9, 0x31, 0xae, 0xff, 0xfc, 0xa6,
+			0x15, 0xf9, 0x9d, 0x49, 0x83, 0x47, 0xb4, 0xe5,
+			0x8c, 0x55, 0x2f, 0x35, 0x6d, 0x7c, 0x47, 0xb9,
+			0xeb, 0x0a, 0x64, 0xea, 0x22, 0xae, 0xe3, 0x6b,
+			0xae, 0x0e, 0xf8, 0xc4, 0x64, 0x18, 0x56, 0xa7,
+			0x78, 0x92, 0x20, 0xe0, 0x03, 0x93, 0x42, 0x1f,
+			0x1a, 0x48, 0xa1, 0x11, 0xdd, 0x83, 0x99, 0x67,
+			0xc5, 0xf2, 0x0a, 0x9e, 0xfa, 0xab, 0x68, 0x54,
+			0x1d, 0xa7, 0xe8, 0x44, 0x5f, 0x46, 0x23, 0xea,
+			0xdd, 0xb2, 0xf5, 0x83, 0x76, 0x84, 0x13, 0xd6,
+			0xe4, 0xb2, 0x59, 0x92, 0x92, 0xf4, 0xb5, 0x56,
+			0xd7, 0x29, 0xc7, 0x05, 0x00, 0x79, 0x17, 0x59,
+			0x20, 0xc6, 0x6a, 0xdc, 0x45, 0x93, 0xe7, 0xfc,
+			0x29, 0x37, 0xa7, 0x7e, 0xbc, 0x21, 0xe7, 0xe1,
+			0xff, 0x18, 0x54, 0xf9, 0xd3, 0x0c, 0x78, 0xe1,
+			0xc9, 0x40, 0x36, 0x36, 0x68, 0x46, 0x3c, 0x9a,
+			0x4d, 0xa6, 0xbc, 0xc3, 0xc7, 0xc9, 0x8c, 0x7e,
+			0xc6, 0x07, 0x2a, 0xd0, 0x4d, 0x45, 0x3d, 0x65,
+			0xef, 0x56, 0x7f, 0xf1, 0xcd, 0x6d, 0x97, 0x0c,
+			0x11, 0x66, 0xf4, 0x27, 0xfc, 0xe3, 0xf3, 0x93,
+			0x0d, 0xa1, 0x5a, 0x95, 0x86, 0xcc, 0x0f, 0xf4,
+			0x97, 0xbc, 0x7c, 0x62, 0x78, 0xe5, 0x01, 0xe0,
+			0xc7, 0x0c, 0xe7, 0xa9, 0x84, 0xa6, 0x17, 0xaa,
+			0x36, 0x06, 0x2a, 0x0f, 0x2f, 0x7e, 0x3d, 0xe8,
+			0x70, 0x8d, 0x36, 0x73, 0x9a, 0x7f, 0x47, 0x95,
+			0xc5, 0x5d, 0xc5, 0xfa, 0x9c, 0x64, 0x52, 0xcb,
+			0x52, 0x74, 0xda, 0xb0, 0x1f, 0x82, 0x01, 0x43,
+			0x98, 0xa6, 0xe7, 0xf2, 0x89, 0x51, 0x92, 0xf8,
+			0x37, 0x82, 0x8e, 0x91, 0x58, 0x40, 0x2c, 0xac,
+			0xcf, 0xde, 0x92, 0x63, 0x5a, 0x64, 0xf9, 0x9c,
+			0xa4, 0x47, 0x6d, 0x13, 0x43, 0xd3, 0xa6, 0x89,
+			0xbb, 0x7b, 0x32, 0x45, 0x2d, 0x0e, 0x52, 0x25,
+			0x67, 0xda, 0x1d, 0x9e, 0x42, 0x38, 0xfc, 0x92,
+			0x84, 0x4d, 0x13, 0x53, 0xef, 0x46, 0x81, 0xdd,
+			0xf6, 0x79, 0x9f, 0xba, 0x45, 0x49, 0x4b, 0x93,
+			0x4a, 0x54, 0x1c, 0x72, 0xa0, 0xfd, 0xa1, 0x13,
+			0x1c, 0x5e, 0xa5, 0x4e, 0xd5, 0xdf, 0xd1, 0x6a,
+			0x40, 0x1d, 0x5e, 0x57, 0xf8, 0xe3, 0x3a, 0xe8,
+			0x35, 0xf4, 0x67, 0xa2, 0x37, 0xf2, 0xe0, 0xd1,
+			0xfe, 0x08, 0x5e, 0x5c, 0x41, 0x17, 0x87, 0x24,
+			0xae, 0xf3, 0xe2, 0xc8, 0xb4, 0xfc, 0x3b, 0xef,
+			0xdb, 0x5e, 0x27, 0x93, 0x0f, 0x01, 0xf9, 0x35,
+			0xcf, 0x67, 0x4f, 0x65, 0xde, 0xca, 0xb6, 0xf1,
+			0x12, 0xa0, 0xd7, 0x53, 0x09, 0xec, 0x83, 0x9a,
+			0xb6, 0x8f, 0xf6, 0x03, 0xdf, 0x92, 0xa9, 0xc4,
+			0x85, 0x55, 0x5a, 0x74, 0x66, 0x9e, 0xc0, 0x46,
+			0xc7, 0x50, 0x7b, 0xda, 0x56, 0x4a, 0xf5, 0x38,
+			0x37, 0xd5, 0x82, 0x81, 0xf3, 0x2d, 0x51, 0xa6,
+			0xa3, 0x34, 0xf9, 0x24, 0xed, 0x35, 0x80, 0x72,
+			0xae, 0x3d, 0x8b, 0xf8, 0x66, 0xb2, 0x6c, 0x3f,
+			0x4e, 0x2c, 0xdb, 0x89, 0x76, 0x95, 0x8f, 0x1a,
+			0xbe, 0xfc, 0x6c, 0x37, 0xec, 0xf9, 0x80, 0x32,
+			0xac, 0x94, 0x97, 0x85, 0xe4, 0xa5, 0x19, 0x32,
+			0x46, 0x1f, 0x98, 0x89, 0x4c, 0x85, 0xf1, 0xfc,
+			0xed, 0x01, 0x98, 0x4d, 0x4a, 0xd4, 0xd1, 0x4e,
+			0x82, 0x0b, 0x32, 0x0d, 0x48, 0x34, 0x64, 0x98,
+			0xea, 0x6c, 0xf9, 0x11, 0x25, 0xbc, 0x48, 0xc3,
+			0xf4, 0x96, 0xfc, 0x5e, 0x71, 0x5d, 0xfa, 0xf7,
+			0x9f, 0x75, 0x89, 0x1d, 0xe7, 0x3b, 0x97, 0x39,
+			0x18, 0x90, 0xca, 0xa5, 0x46, 0x01, 0x2a, 0x13,
+			0x54, 0x5c, 0x2a, 0x14, 0xed, 0x1b, 0x65, 0x0a,
+			0xb0, 0xd9, 0x95, 0x01, 0xd0, 0xb3, 0x78, 0xd6,
+			0xc4, 0x06, 0xf3, 0x7f, 0x51, 0xe0, 0x39, 0xed,
+			0x2c, 0xf3, 0xfa, 0xc3, 0xfa, 0x1d, 0x7c, 0x82,
+			0x0f, 0x45, 0xb7, 0x15, 0xcf, 0x99, 0x53, 0x59,
+			0x9d, 0x54, 0x31, 0x6a, 0xf8, 0xb8, 0x73, 0x2d,
+			0xd1, 0xab, 0x1b, 0x69, 0xc9, 0x86, 0xdc, 0x7a,
+			0xca, 0xb9, 0x6a, 0xaf, 0x1e, 0x8f, 0x83, 0xa8,
+			0xf0, 0xae, 0x44, 0x85, 0x0d, 0x1f, 0x6c, 0x3a,
+			0x90, 0x50, 0xef, 0x7c, 0x3c, 0x1c, 0xc4, 0xb8,
+			0x66, 0x1c, 0x14, 0xf7, 0xf2, 0x5f, 0x5c, 0x70,
+			0x28, 0xa7, 0x55, 0x93, 0xdb, 0xa0, 0x95, 0x9c,
+			0x1b, 0xb7, 0xb6, 0x44, 0x5e, 0x98, 0x88, 0x89,
+			0xb8, 0x5a, 0xee, 0xba, 0xfc, 0xc6, 0x87, 0x2a,
+			0xdb, 0xb7, 0xcf, 0xb2, 0x4b, 0x96, 0x2c, 0x91,
+			0x54, 0x34, 0x33, 0xfb, 0x57, 0xbe, 0xf5, 0x7b,
+			0xbe, 0x6b, 0xa0, 0x3b, 0x4d, 0x09, 0x18, 0x9b,
+			0x75, 0x2c, 0xde, 0x28, 0x87, 0xd3, 0x7b, 0xf5,
+			0xbe, 0x0d, 0x33, 0x5a, 0x3b, 0x92, 0x41, 0x35,
+			0x50, 0x65, 0xc9, 0xa9, 0xfa, 0xab, 0x22, 0x4b,
+			0x8c, 0x3a, 0xb1, 0x9e, 0x31, 0x41, 0xd2, 0x2f,
+			0xca, 0x9e, 0xd0, 0x96, 0x0c, 0x03, 0x08, 0xec,
+			0x94, 0xa5, 0xb1, 0x65, 0x2b, 0xe1, 0xe4, 0x48,
+			0x11, 0xd6, 0x8c, 0x60, 0x6d, 0xf4, 0x64, 0x89,
+			0xa6, 0x69, 0x4b, 0xa0, 0xbe, 0xae, 0xf5, 0xde,
+			0xba, 0x45, 0x12, 0xc8, 0x28, 0xe0, 0x7a, 0xb5,
+			0xd4, 0x75, 0x7a, 0x24, 0x59, 0x4f, 0xbf, 0x0a,
+			0xa4, 0x53, 0x9a, 0x59, 0xca, 0x06, 0x51, 0x6d,
+			0xcb, 0x93, 0x63, 0x6e, 0x24, 0xe2, 0x41, 0xa5,
+			0xa9, 0x19, 0xc3, 0x59, 0x9a, 0x0c, 0xb6, 0x4e,
+			0x65, 0x60, 0xa0, 0x49, 0xf0, 0x7f, 0x50, 0x96,
+			0xed, 0xe9, 0xfc, 0x33, 0x5b, 0x52, 0x51, 0x7e,
+			0x77, 0xd7, 0xbb, 0xaf, 0xdd, 0x12, 0x4b, 0xbc,
+			0xc6, 0xae, 0xca, 0x92, 0x3a, 0x9f, 0xc1, 0x0c,
+			0x8f, 0x01, 0xbe, 0x4c, 0x78, 0x23, 0x7c, 0x8b,
+			0x82, 0xb7, 0x45, 0x80, 0x44, 0x34, 0x9d, 0x13,
+			0xdb, 0xc4, 0x3f, 0x1b, 0x39, 0xb0, 0xee, 0xa9,
+			0xac, 0x5e, 0x3d, 0xc3, 0x59, 0x92, 0xcc, 0x6e,
+			0x6c, 0x97, 0xcc, 0xba, 0x15, 0xa6, 0x53, 0x92,
+			0x76, 0x35, 0x01, 0x70, 0x16, 0xde, 0xde, 0x56,
+			0xc3, 0xb3, 0x48, 0x8b, 0x4d, 0xfa, 0xa7, 0xcb,
+			0x43, 0xb5, 0x76, 0x9a, 0x56, 0x03, 0xd6, 0x41,
+			0xbe, 0x73, 0x89, 0x1f, 0x6f, 0x02, 0x3f, 0xcc,
+			0xaf, 0x49, 0xe3, 0x5e, 0xb3, 0xf4, 0xbc, 0x61,
+			0xf9, 0x9e, 0x9e, 0xec, 0x10, 0x98, 0x0d, 0x5a,
+			0x6d, 0xcf, 0xbf, 0xe3, 0xe5, 0xf5, 0x1b, 0x17,
+			0x46, 0x7a, 0x32, 0xc7, 0x18, 0x40, 0x20, 0x8e,
+			0x06, 0x62, 0x2d, 0x1b, 0x90, 0x54, 0x4f, 0x7f,
+			0xe4, 0x50, 0x09, 0xdc, 0x57, 0x22, 0xe9, 0x7c,
+			0x3c, 0x77, 0x57, 0xc2, 0x8b, 0xc9, 0x6a, 0x2b,
+			0x31, 0xa1, 0x7f, 0x14, 0xdf, 0x22, 0x7d, 0xed,
+			0xc9, 0x0d, 0xbb, 0x93, 0xba, 0x72, 0x85, 0x33,
+			0x58, 0x80, 0xc0, 0xf5, 0x75, 0x5d, 0x7e, 0x5f,
+			0xfb, 0x41, 0xbc, 0x5f, 0x62, 0x13, 0xb9, 0x16,
+			0x1e, 0xfe, 0x9e, 0x53, 0x53, 0xce, 0xa0, 0xfc,
+			0x7f, 0xf6, 0x18, 0xc2, 0x0f, 0xb9, 0x7f, 0xbf,
+			0x09, 0xc3, 0x37, 0x08, 0xb0, 0x1f, 0x16, 0x80,
+			0x5e, 0xf6, 0xcb, 0xfe, 0x22, 0x7c, 0x07, 0x99,
+			0xb3, 0x12, 0x69, 0xa4, 0x05, 0xc9, 0x29, 0xc7,
+			0xd0, 0x57, 0x05, 0x33, 0x85, 0x0c, 0xd4, 0xfe,
+			0xfc, 0x54, 0xa8, 0xc9, 0x7b, 0x92, 0x67, 0xa6,
+			0xa7, 0xbf, 0x5f, 0xfc, 0xe9, 0x65, 0x31, 0x4f,
+			0x85, 0x8f, 0x89, 0xbe, 0xa1, 0xdb, 0x6d, 0x96,
+			0x52, 0x09, 0x56, 0x12, 0xc6, 0xb2, 0x28, 0x26,
+			0x07, 0x39, 0x21, 0x39, 0xce, 0x55, 0xf9, 0x82,
+			0x23, 0xc2, 0x3f, 0x3a, 0x66, 0xc4, 0xee, 0x10,
+			0x4b, 0xf1, 0x1e, 0x1d, 0x59, 0xfa, 0x28, 0x20,
+			0x34, 0x26, 0x49, 0x7c, 0xc3, 0x85, 0x2f, 0x80,
+			0xbe, 0x2c, 0xbc, 0x94, 0x81, 0x74, 0x2a, 0x21,
+			0x49, 0x1d, 0xa7, 0xff, 0xf0, 0x21, 0x56, 0x98,
+			0x68, 0x8f, 0x52, 0x2d, 0xa0, 0xf2, 0x84, 0x73,
+			0x2f, 0xe2, 0x90, 0x8c, 0x56, 0xd1, 0xbf, 0x67,
+			0xc3, 0x19, 0x47, 0x14, 0x71, 0x62, 0x25, 0xdc,
+			0x11, 0xbc, 0x24, 0xa0, 0xb2, 0x42, 0x72, 0x37,
+			0x78, 0xe6, 0xe0, 0xf6, 0x8c, 0x66, 0xe5, 0x1b,
+			0x7a, 0x79, 0x46, 0xc0, 0x76, 0xcd, 0xa9, 0x3c,
+			0xb2, 0x17, 0x8c, 0xc9, 0xb1, 0xc4, 0x2a, 0x1f,
+			0xdb, 0xf7, 0xeb, 0x8a, 0x5d, 0x29, 0xd1, 0xd1,
+			0x98, 0x43, 0x9e, 0x22, 0xf3, 0x96, 0x1e, 0x83,
+			0xeb, 0x44, 0x08, 0xc4, 0xa0, 0xd2, 0xd3, 0x36,
+			0xf8, 0x94, 0xab, 0x3c, 0x4b, 0x68, 0xf3, 0x7c,
+			0x1a, 0x16, 0x1a, 0x66, 0x77, 0x67, 0xee, 0x64,
+			0xc2, 0xdb, 0x53, 0xae, 0x1f, 0xeb, 0x44, 0x77,
+			0x3b, 0x5f, 0x74, 0x48, 0xe9, 0x05, 0xfa, 0x3a,
+			0x03, 0x1b, 0x54, 0x36, 0xb0, 0x28, 0x79, 0x70,
+			0xe6, 0x2f, 0xb4, 0xf5, 0x28, 0x60, 0x1e, 0x63,
+			0xf6, 0x03, 0x09, 0x4f, 0x0f, 0x7f, 0x01, 0xe5,
+			0x02, 0x6a, 0x76, 0x96, 0xb9, 0x58, 0x39, 0xf9,
+			0xc4, 0x05, 0xac, 0x93, 0x2f, 0x30, 0xab, 0xc5,
+			0x2b, 0xad, 0xed, 0x3c, 0xb0, 0x6c, 0x66, 0x94,
+			0x7e, 0x79, 0x01, 0x90, 0xf0, 0x10, 0xb5, 0xcd,
+			0x6b, 0x07, 0xc2, 0xe7, 0x8a, 0xac, 0xf7, 0x5b,
+			0xb5, 0x11, 0xf8, 0x1a, 0x52, 0xc7, 0x5d, 0x2c,
+			0xc1, 0xce, 0x8f, 0x0c, 0xc1, 0x6a, 0x95, 0x80,
+			0x25, 0xf9, 0x95, 0x28, 0x18, 0x65, 0xd3, 0x15,
+			0x0e, 0xbf, 0x6f, 0xa6, 0x86, 0xd9, 0xea, 0xdc,
+			0xb8, 0x89, 0x02, 0x08, 0x6b, 0xd1, 0x96, 0xb1,
+			0x6f, 0xb1, 0x28, 0x6b, 0xc4, 0xe3, 0xa8, 0x53,
+			0xd3, 0xd0, 0x67, 0x00, 0x7c, 0xa1, 0x0a, 0xd1,
+			0x9a, 0x89, 0x12, 0xc9, 0xa7, 0x3f, 0x03, 0x03,
+			0xad, 0x0f, 0x34, 0x2c, 0xd8, 0xdf, 0x70, 0xed,
+			0x38, 0xf4, 0xb1, 0xf7, 0xb1, 0x72, 0x5e, 0x2d,
+			0xa6, 0xb7, 0x8d, 0x9c, 0x7f, 0x96, 0x73, 0xc8,
+			0x47, 0x46, 0x20, 0x2f, 0x44, 0x2c, 0x2b, 0xa2,
+			0x30, 0xe4, 0x81, 0x91, 0x7e, 0xce, 0x4c, 0x8b,
+			0xcc, 0x5f, 0xfd, 0xff, 0x2f, 0x94, 0xbd, 0xe5,
+			0xaf, 0x09, 0xcd, 0xb6, 0xbc, 0x65, 0x83, 0xc3,
+			0xcd, 0x79, 0xc4, 0x68, 0xda, 0x46, 0x36, 0x97,
+			0x52, 0x35, 0x90, 0x4f, 0x1d, 0x8d, 0x66, 0x1f,
+			0xea, 0x5d, 0xef, 0xdf, 0x8c, 0xa8, 0x6b, 0xb0,
+			0xdc, 0x1a, 0x1e, 0x79, 0x43, 0xe9, 0x29, 0x71,
+			0x11, 0xbd, 0xe5, 0xd6, 0x71, 0xf4, 0xa7, 0xf8,
+			0x64, 0x40, 0x73, 0x46, 0x5b, 0x2a, 0xb5, 0x9a,
+			0xa1, 0x9a, 0x64, 0x4c, 0x5e, 0xa5, 0x8d, 0xfd,
+			0x49, 0x91, 0xba, 0xe3, 0xa7, 0x19, 0xac, 0x2b,
+			0xe9, 0xea, 0xf1, 0x1c, 0x85, 0x91, 0xea, 0xfb,
+			0xc7, 0x5c, 0x46, 0x7e, 0xa8, 0x0a, 0x92, 0xbf,
+			0x61, 0x2d, 0xc2, 0x20, 0x7e, 0xf7, 0x0d, 0xb8,
+			0x65, 0x41, 0x48, 0x39, 0xb9, 0xb0, 0xd4, 0xc1,
+			0x84, 0xee, 0x21, 0xba, 0x9c, 0x74, 0xf3, 0x6d,
+			0x0a, 0x33, 0x87, 0xab, 0x2e, 0x15, 0x1b, 0xad,
+			0xac, 0x98, 0xae, 0x7c, 0xd8, 0xae, 0x03, 0x50,
+			0xfa, 0xae, 0xfe, 0x8c, 0x6d, 0x51, 0x67, 0x76,
+			0x70, 0xa6, 0x2f, 0x1e, 0x6a, 0x4f, 0xf0, 0xbe,
+			0x51, 0xbb, 0xa6, 0x20, 0x1f, 0x56, 0x72, 0x34,
+			0xd0, 0x13, 0x6e, 0x0f, 0x1a, 0xcb, 0x34, 0xe1,
+			0xfb, 0x3c, 0xf1, 0x43, 0x1b, 0x73, 0x40, 0xa0,
+			0x1f, 0x5d, 0x40, 0x51, 0x9f, 0x97, 0x56, 0x1f,
+			0x26, 0x54, 0x03, 0xb8, 0x2e, 0xfd, 0xc7, 0x52,
+			0xea, 0x85, 0x5d, 0x45, 0x71, 0xa3, 0x5c, 0x86,
+			0x23, 0xcb, 0x08, 0xc5, 0xd8, 0x21, 0xfd, 0x10,
+			0x49, 0xac, 0xaa, 0xd5, 0x97, 0x37, 0xbb, 0xad,
+			0xd5, 0x84, 0xc2, 0x65, 0xeb, 0xdd, 0x92, 0x7c,
+			0x50, 0x64, 0x4f, 0x08, 0x32, 0x56, 0x81, 0x39,
+			0xa4, 0xfc, 0x3f, 0x04, 0xbb, 0xde, 0xe9, 0xcd,
+			0xb6, 0xbb, 0x29, 0x6b, 0x75, 0x64, 0x32, 0x5f,
+			0xca, 0xd0, 0x3a, 0x19, 0x3d, 0x01, 0x8c, 0x0b,
+			0xd5, 0x76, 0xe6, 0x97, 0x5d, 0x73, 0x7b, 0xb3,
+			0xcd, 0xdf, 0xbc, 0x29, 0xda, 0xa5, 0x22, 0xfb,
+			0x1d, 0xf6, 0xf1, 0x50, 0x71, 0x50, 0xd3, 0xf8,
+			0x0a, 0xbf, 0x37, 0x28, 0xca, 0x3b, 0xab, 0xec,
+			0xf5, 0xee, 0x2d, 0x1e, 0x21, 0x35, 0x39, 0x56,
+			0x55, 0x3c, 0x9e, 0x5a, 0x58, 0x94, 0x85, 0xa7,
+			0xba, 0x0d, 0xa4, 0x0b, 0x4c, 0x73, 0xb2, 0x56,
+			0x68, 0x5a, 0x5d, 0x6c, 0x18, 0xce, 0xc5, 0x25,
+			0x14, 0xc9, 0xb3, 0xc9, 0x94, 0x57, 0x62, 0x95,
+			0xd5, 0x1c, 0xf6, 0x93, 0x12, 0x45, 0x28, 0xa1,
+			0x7e, 0x96, 0x53, 0x68, 0xf5, 0x6a, 0xca, 0xbe,
+			0x04, 0x94, 0x97, 0xcf, 0xb5, 0xcf, 0x70, 0xe1,
+			0x7e, 0x15, 0x2d, 0x6a, 0x67, 0x0c, 0x86, 0x07,
+			0xd1, 0xe2, 0x95, 0xc3, 0xd8, 0x22, 0xdf, 0x6a,
+			0x88, 0xc1, 0xad, 0x83, 0x57, 0x30, 0xd0, 0x59,
+			0xaf, 0xf4, 0x9f, 0x8d, 0x89, 0x7d, 0x0b, 0xee,
+			0xb7, 0x1c, 0xaa, 0xd2, 0x4c, 0x7a, 0xa4, 0xfb,
+			0x99, 0xe0, 0x0a, 0xd7, 0x4d, 0xc4, 0xe9, 0x88,
+			0x18, 0x27, 0x1d, 0xb2, 0xe9, 0x43, 0x16, 0x25,
+			0x29, 0x04, 0x98, 0x81, 0xfd, 0xaf, 0xdd, 0x3f,
+			0xf1, 0x61, 0x32, 0x20, 0x51, 0x96, 0xe4, 0xd2,
+			0xab, 0xc4, 0x00, 0x33, 0xb4, 0x7b, 0x3c, 0xc2,
+			0x2d, 0x61, 0x11, 0x4d, 0x72, 0x16, 0x6d, 0xfb,
+			0x24, 0x67, 0x7c, 0xea, 0xf0, 0x79, 0xa3, 0x50,
+			0x93, 0xe3, 0x9b, 0x7f, 0x89, 0xf0, 0xa6, 0x8c,
+			0xb0, 0xaf, 0x1c, 0xe0, 0x91, 0xce, 0x3f, 0xe5,
+			0x43, 0x90, 0x41, 0x95, 0xc7, 0x1f, 0x8f, 0x0a,
+			0xb2, 0x1e, 0x84, 0x3e, 0x86, 0xf0, 0x81, 0x87,
+			0x8b, 0x04, 0x52, 0xa6, 0x46, 0xb0, 0xe4, 0xf4,
+			0x5b, 0x97, 0x7b, 0x7b, 0x32, 0xb6, 0x17, 0x96,
+			0x48, 0x12, 0xb6, 0x31, 0xf1, 0x5c, 0xd4, 0x8b,
+			0x93, 0x60, 0xc4, 0x00, 0xea, 0x12, 0xe1, 0x93,
+			0x6f, 0x53, 0x82, 0x2a, 0x48, 0x1d, 0xc1, 0x91,
+			0x79, 0x7c, 0x30, 0x43, 0xe5, 0x1e, 0x10, 0x7e,
+			0x7f, 0xbc, 0x18, 0x60, 0x03, 0x2a, 0xe5, 0xbb,
+			0x92, 0x7f, 0x24, 0x54, 0x12, 0x21, 0x77, 0x89,
+			0xc9, 0x22, 0xfb, 0x57, 0xaa, 0x69, 0xdd, 0x69,
+			0x06, 0xb0, 0xe5, 0x5b, 0x74, 0x1f, 0x02, 0x99,
+			0x62, 0x56, 0x21, 0x29, 0xd2, 0x26, 0x0f, 0x6a,
+			0x3a, 0x05, 0x96, 0x92, 0xb9, 0xff, 0xe9, 0x3b,
+			0x24, 0x70, 0xd4, 0x13, 0xa4, 0xb2, 0x6c, 0x76,
+			0xe3, 0x55, 0xe5, 0xc8, 0x18, 0x66, 0x60, 0x91,
+			0xba, 0x98, 0x5d, 0x67, 0x13, 0x97, 0xce, 0x49,
+			0xaa, 0x52, 0x7b, 0x20, 0x65, 0x65, 0x0a, 0x4f,
+			0x7b, 0x0a, 0x26, 0x62, 0xa7, 0xb5, 0xab, 0x2d,
+			0x5d, 0x37, 0xad, 0xb8, 0x97, 0xcf, 0xf5, 0x4f,
+			0xef, 0x03, 0xed, 0xce, 0x73, 0x68, 0x5d, 0x9f,
+			0x6c, 0x3d, 0x3f, 0xd5, 0xc1, 0xca, 0x5f, 0xef,
+			0xe4, 0xf8, 0xfb, 0xc7, 0xbb, 0x49, 0x30, 0x1a,
+			0xe1, 0x3c, 0xd1, 0x7f, 0x7c, 0x26, 0xa2, 0x87,
+			0x6e, 0x80, 0xa6, 0x47, 0x2c, 0x0f, 0xa6, 0x68,
+			0xf6, 0xde, 0x65, 0x1f, 0x02, 0xa7, 0x09, 0x08,
+			0x34, 0xbe, 0x2c, 0xc7, 0xed, 0x4c, 0xb0, 0xa1,
+			0x63, 0x63, 0x35, 0xe0, 0x11, 0xfd, 0xe1, 0x2d,
+			0xb4, 0xcf, 0x9e, 0x18, 0x78, 0xa8, 0x63, 0xbf,
+			0xb7, 0xe8, 0x22, 0x82, 0xc5, 0x9c, 0x0b, 0x3a,
+			0x1c, 0x2f, 0x73, 0x80, 0xf1, 0xbb, 0x9a, 0x84,
+			0x51, 0x2c, 0x1c, 0x2e, 0xda, 0xb8, 0xa3, 0x43,
+			0x4f, 0x95, 0x8c, 0x06, 0x12, 0xdc, 0x75, 0x53,
+			0x01, 0xc4, 0x50, 0x95, 0x31, 0x7e, 0x75, 0x33,
+			0x69, 0x3e, 0x82, 0xad, 0x51, 0x1a, 0x4d, 0xa4,
+			0xe7, 0xbb, 0x7c, 0x9e, 0x3c, 0xbc, 0x1a, 0xf7,
+			0x7d, 0x0f, 0xdd, 0x93, 0xb5, 0x91, 0x61, 0x28,
+			0x28, 0x3b, 0x8f, 0xdd, 0xfa, 0xe6, 0xf4, 0xcc,
+			0x21, 0x82, 0x0c, 0xe2, 0xe4, 0xc7, 0x39, 0x69,
+			0x8e, 0xd6, 0xc0, 0x45, 0x94, 0x26, 0x27, 0x1b,
+			0xca, 0x02, 0x39, 0x00, 0x12, 0xef, 0xad, 0x0f,
+			0xf2, 0xdb, 0x19, 0x39, 0x6e, 0x4e, 0xfd, 0x14,
+			0x56, 0x3c, 0xd3, 0xfb, 0x43, 0x2d, 0x14, 0xb1,
+			0x62, 0xd2, 0xc8, 0x09, 0xe3, 0xb4, 0xf3, 0x24,
+			0x4e, 0xeb, 0xe5, 0xd6, 0x42, 0x48, 0xa5, 0xf8,
+			0xd8, 0xcc, 0x0b, 0xd6, 0x23, 0x59, 0x46, 0xaf,
+			0x15, 0xb2, 0x36, 0x2d, 0x52, 0xbe, 0x4a, 0x5f,
+			0xc6, 0xb2, 0x3d, 0xc5, 0x53, 0x57, 0x35, 0x2a,
+			0xa1, 0x06, 0xc8, 0x93, 0xa8, 0x3e, 0xc6, 0xcb,
+			0xa4, 0xd9, 0xe4, 0x53, 0xa9, 0xe8, 0x6d, 0xe1,
+			0x73, 0x97, 0xb9, 0x6f, 0xb3, 0xf8, 0x1d, 0xb4,
+			0xae, 0xd8, 0x77, 0xa7, 0xef, 0xe1, 0xeb, 0x83,
+			0x3d, 0xc3, 0x35, 0xf0, 0xc6, 0xd8, 0x66, 0xb5,
+			0x29, 0x7f, 0x74, 0xdb, 0xa1, 0xf2, 0x16, 0xc9,
+			0x07, 0x0f, 0x5c, 0x3e, 0x18, 0x64, 0x82, 0xfd,
+			0xae, 0x80, 0xca, 0xcf, 0xf9, 0x7e, 0x7f, 0x36,
+			0x58, 0xd5, 0x4d, 0x2d, 0x5a, 0x27, 0x27, 0xcc,
+			0x7e, 0x45, 0x0d, 0xf8, 0xd6, 0x5f, 0xee, 0x83,
+			0x42, 0x83, 0x48, 0x0b, 0x64, 0xc6, 0x03, 0x4d,
+			0x1e, 0x24, 0x90, 0xba, 0x2a, 0x92, 0x7d, 0x43,
+			0x77, 0x17, 0xc8, 0xcc, 0x9f, 0x31, 0x80, 0x4e,
+			0x19, 0x7f, 0x8f, 0xcf, 0xd7, 0x27, 0x48, 0x10,
+			0xea, 0x3d, 0xd6, 0x0f, 0x70, 0x7a, 0xb9, 0xed,
+			0x53, 0x67, 0x1c, 0x56, 0xb1, 0x78, 0xfc, 0x0c,
+			0xcc, 0x1f, 0xf8, 0x89, 0x45, 0x57, 0x4a, 0x72,
+			0xd2, 0xa0, 0x07, 0x53, 0x73, 0x3d, 0x0e, 0x45,
+			0x5a, 0x31, 0x94, 0x8f, 0x5f, 0x11, 0xe4, 0x36,
+			0xe2, 0x19, 0xc4, 0x84, 0x94, 0xb9, 0xc0, 0xe6,
+			0x5d, 0x66, 0x7e, 0x4c, 0x05, 0xc6, 0xcd, 0x9c,
+			0x6c, 0x8f, 0x32, 0x68, 0xfb, 0x66, 0x86, 0x22,
+			0xf5, 0xfa, 0x9a, 0x46, 0x26, 0xb5, 0xd5, 0xc1,
+			0x7d, 0xeb, 0x7b, 0x82, 0x3e, 0x62, 0x8c, 0x76,
+			0x0b, 0x08, 0x1d, 0xe0, 0x75, 0x34, 0x30, 0x4b,
+			0xc2, 0x4b, 0xcb, 0x49, 0xa3, 0x65, 0x0e, 0x90,
+			0xd3, 0x57, 0xe5, 0xf5, 0x83, 0x1b, 0xa2, 0xbb,
+			0x4a, 0x23, 0x63, 0x25, 0x64, 0xd7, 0xf1, 0x85,
+			0x9b, 0xbe, 0x2e, 0xda, 0xad, 0xc8, 0x60, 0x37,
+			0x3c, 0x78, 0x33, 0xb5, 0x76, 0x7c, 0xc6, 0xe5,
+			0x97, 0x86, 0x6d, 0x70, 0xdc, 0x4f, 0x79, 0x39,
+			0xe6, 0x27, 0x78, 0x57, 0x98, 0x69, 0x79, 0xaf,
+			0x0a, 0xc0, 0x64, 0x0c, 0x1a, 0x09, 0xa0, 0x98,
+			0x06, 0x41, 0x5c, 0x29, 0x27, 0xbd, 0x2e, 0xbe,
+			0xe8, 0x08, 0x5f, 0xdf, 0xed, 0xd9, 0x31, 0x97,
+			0xdb, 0x0a, 0x1f, 0x4e, 0x1b, 0x67, 0x32, 0xef,
+			0x84, 0xa2, 0x14, 0xa7, 0x83, 0x33, 0xdc, 0x40,
+			0x55, 0x76, 0x27, 0x01, 0x9f, 0x98, 0x90, 0xa9,
+			0xfa, 0xfb, 0x73, 0x86, 0x38, 0x6b, 0xa8, 0x57,
+			0xc9, 0xaa, 0x06, 0xbf, 0x84, 0x97, 0xfa, 0xc8,
+			0xde, 0x67, 0x6b, 0xa6, 0x2c, 0xa1, 0x90, 0x6c,
+			0x6d, 0xcd, 0xb5, 0x73, 0x3c, 0x16, 0x68, 0xb4,
+			0x00, 0x55, 0xf6, 0xd8, 0x35, 0xb0, 0xf9, 0x8e,
+			0x2e, 0xfb, 0x54, 0xc1, 0x8e, 0x51, 0x90, 0x2d,
+			0x28, 0x83, 0x5d, 0x81, 0xd6, 0x00, 0x00, 0x41,
+			0xf2, 0x97, 0xdf, 0x2f, 0x8d, 0xa8, 0xc2, 0x1d,
+			0xe3, 0xbd, 0x1d, 0x2a, 0x6f, 0x4a, 0xfd, 0xd3,
+			0xcd, 0x0b, 0xac, 0x28, 0x93, 0x87, 0x3e, 0xd9,
+			0x7b, 0x17, 0xe2, 0x66, 0x0a, 0x6e, 0xcb, 0xa8,
+			0x3e, 0x3d, 0x9b, 0x3c, 0xbe, 0x78, 0xe1, 0x2a,
+			0xa5, 0x42, 0x5f, 0xdc, 0xe0, 0x0e, 0x06, 0x10,
+			0x59, 0xac, 0x4a, 0xd3, 0x63, 0x95, 0x92, 0x31,
+			0x1c, 0x7d, 0xb1, 0x5e, 0x48, 0x01, 0x23, 0x16,
+			0x61, 0xb3, 0xfc, 0xe6, 0x9a, 0x5d, 0x39, 0xf9,
+			0x2f, 0xb5, 0xc6, 0x6d, 0xeb, 0xb2, 0x6e, 0x93,
+			0x9d, 0x8b, 0x19, 0x74, 0xa9, 0xc4, 0x57, 0x96,
+			0xbc, 0x1c, 0xbb, 0x88, 0x5a, 0xd6, 0xf7, 0xc0,
+			0xe2, 0xb6, 0xf2, 0xb3, 0xf0, 0x56, 0x5b, 0x2c,
+			0x9e, 0xdf, 0x96, 0x6d, 0xcc, 0x41, 0x06, 0xce,
+			0x1e, 0x1b, 0x3a, 0x39, 0x67, 0xe1, 0x7e, 0x81,
+			0xfc, 0xff, 0x0a, 0xc0, 0xf1, 0x76, 0x82, 0x49,
+			0x76, 0x88, 0x38, 0x10, 0x5c, 0x90, 0x83, 0x4b,
+			0x3e, 0x8d, 0xb9, 0x35, 0x77, 0xf5, 0x4c, 0x7e,
+			0x3e, 0x12, 0x54, 0xf0, 0x33, 0x56, 0xbc, 0x9b,
+			0x0e, 0x10, 0x7d, 0x4a, 0xb6, 0x2d, 0x02, 0x35,
+			0x79, 0xe8, 0x0c, 0x15, 0xc1, 0xde, 0xc7, 0x2a,
+			0x7d, 0xe1, 0x27, 0xd4, 0x99, 0x50, 0x6b, 0xde,
+			0x6d, 0x02, 0x65, 0x12, 0x88, 0xe6, 0x80, 0x13,
+			0x5e, 0xad, 0xb1, 0xef, 0xe7, 0x77, 0x19, 0xc9,
+			0x63, 0xcf, 0x14, 0x41, 0x40, 0x76, 0xc8, 0xa9,
+			0xc3, 0x08, 0x88, 0xdb, 0x44, 0x6c, 0x10, 0x74,
+			0x5c, 0xf6, 0x86, 0x8c, 0x61, 0x95, 0x19, 0x76,
+			0x1f, 0x3e, 0xcb, 0xdf, 0x6e, 0x08, 0x9f, 0x43,
+			0xb9, 0x66, 0x2b, 0x88, 0x27, 0x48, 0xbe, 0x5d,
+			0x9e, 0x83, 0x72, 0x9a, 0x43, 0x06, 0x8e, 0xf3,
+			0x9e, 0xba, 0xd5, 0xd8, 0x70, 0x1b, 0xe4, 0x4e,
+			0x39, 0x0a, 0x37, 0x5b, 0x2f, 0x8c, 0xa8, 0xbd,
+			0x3c, 0xfe, 0xb2, 0x59, 0x5b, 0x5f, 0x5a, 0x05,
+			0x67, 0xc8, 0xec, 0x71, 0x5d, 0xb5, 0x77, 0xc7,
+			0xb3, 0x1c, 0xb7, 0xac, 0x90, 0xf6, 0xd3, 0xb7,
+			0x61, 0x65, 0xbe, 0x29, 0x8f, 0x27, 0x65, 0x9a,
+			0x9a, 0x1c, 0x00, 0x82, 0xee, 0x10, 0xb9, 0x60,
+			0xff, 0x9f, 0x5a, 0xbe, 0x09, 0x72, 0x63, 0x79,
+			0x60, 0x50, 0x84, 0x18, 0xc9, 0xc5, 0x0d, 0x43,
+			0xce, 0x29, 0x80, 0x72, 0x83, 0x12, 0x73, 0x13,
+			0x44, 0xec, 0x25, 0xe5, 0x15, 0x70, 0xe2, 0x7f,
+			0x6b, 0x54, 0x5b, 0x58, 0x57, 0x06, 0xdc, 0xae,
+			0x1f, 0x9c, 0x38, 0x4c, 0xbf, 0x1c, 0x42, 0xb2,
+			0x63, 0x9c, 0xfb, 0xae, 0xc0, 0xdf, 0xd3, 0xcc,
+			0xcc, 0xb9, 0x9b, 0xe9, 0x66, 0x77, 0x70, 0x47,
+			0x6c, 0x8b, 0x5b, 0xc1, 0x87, 0x7a, 0x63, 0xa3,
+			0x13, 0xfc, 0x2d, 0x16, 0xd3, 0xe2, 0x00, 0xe9,
+			0x94, 0x11, 0xf2, 0x28, 0xda, 0x0b, 0x58, 0x09,
+			0x2d, 0x59, 0x2d, 0xb5, 0x25, 0x99, 0xca, 0x63,
+			0xc9, 0x96, 0xa3, 0x17, 0x2a, 0x0e, 0x22, 0x2c,
+			0x5f, 0x8d, 0x53, 0xc4, 0xd1, 0x3d, 0x4e, 0x20,
+			0xdc, 0x44, 0x18, 0xd2, 0xd8, 0x5c, 0x9a, 0x78,
+			0x0a, 0x53, 0xa8, 0x73, 0x7d, 0x98, 0xc0, 0xba,
+			0xfb, 0xfe, 0x27, 0xd4, 0x82, 0x87, 0xd4, 0x4d,
+			0xc0, 0xe3, 0xd1, 0xd0, 0xff, 0xf0, 0xd3, 0x04,
+			0xfd, 0x11, 0xf4, 0x57, 0xc2, 0xcc, 0xcf, 0xa9,
+			0xe6, 0xc5, 0x09, 0x4d, 0xcc, 0x36, 0x69, 0x26,
+			0x35, 0x8c, 0xe8, 0xe2, 0xe2, 0xdd, 0x5a, 0x5f,
+			0xaf, 0xda, 0x38, 0x07, 0x33, 0xfb, 0xf8, 0xfb,
+			0xf9, 0x62, 0x4a, 0x75, 0xad, 0xc3, 0x95, 0xd3,
+			0x6e, 0x5b, 0xe3, 0x10, 0x2f, 0x31, 0xaf, 0xcd,
+			0x57, 0xb9, 0x84, 0x3d, 0xa4, 0x66, 0x3f, 0x10,
+			0xeb, 0xa2, 0xe2, 0xfa, 0xc7, 0xd3, 0x91, 0x83,
+			0x48, 0xbb, 0x3a, 0x6c, 0xe4, 0x12, 0x1c, 0x36,
+			0x44, 0xc5, 0x07, 0x07, 0x9b, 0x9d, 0x51, 0x3e,
+			0x74, 0xc5, 0x35, 0x8a, 0x10, 0x9c, 0x0d, 0x81,
+			0xf3, 0x10, 0x0f, 0x29, 0xaf, 0x01, 0x5d, 0x6f,
+			0x7f, 0x50, 0x9a, 0xf8, 0xbf, 0x1c, 0x57, 0xfc,
+			0x25, 0x5c, 0x02, 0x15, 0x43, 0x0b, 0x60, 0x21,
+			0xf3, 0xb1, 0x43, 0x9a, 0x41, 0xa0, 0xc1, 0x1b,
+			0x7a, 0x88, 0x97, 0xfd, 0x27, 0x56, 0xf7, 0x48,
+			0x1f, 0xb6, 0x9a, 0xa2, 0xb1, 0xc5, 0xab, 0x30,
+			0xa1, 0x14, 0x91, 0xef, 0x14, 0xe3, 0x01, 0x73,
+			0xf3, 0x8d, 0xfa, 0xd7, 0xae, 0x2f, 0x13, 0x5d,
+			0x66, 0xfb, 0x1c, 0x4b, 0x2e, 0x94, 0xdb, 0x9f,
+			0x10, 0x5b, 0x2a, 0x5e, 0x85, 0x98, 0x73, 0x9d,
+			0xcd, 0x7c, 0xa0, 0x79, 0xb6, 0xef, 0x8e, 0xf8,
+			0xdd, 0x11, 0x32, 0x0d, 0xec, 0x6a, 0x04, 0xea,
+			0x81, 0xd7, 0x63, 0xbd, 0x01, 0x77, 0x3e, 0x52,
+			0x30, 0x88, 0x3a, 0x9e, 0x04, 0xdf, 0x42, 0x8b,
+			0x40, 0x23, 0xa9, 0x5a, 0x97, 0x21, 0x55, 0xce,
+			0x72, 0x21, 0x45, 0x40, 0x01, 0x66, 0x63, 0x1d,
+			0xab, 0x37, 0x8d, 0xd5, 0x75, 0x56, 0xc2, 0x7c,
+			0xa0, 0x9e, 0xa5, 0x85, 0xc2, 0x0b, 0x51, 0x80,
+			0xae, 0x0c, 0xb3, 0xde, 0xa4, 0xb5, 0xa3, 0xa3,
+			0x00, 0xe1, 0xc9, 0x09, 0xee, 0xab, 0xbb, 0x36,
+			0x78, 0x5b, 0x3f, 0x45, 0x3d, 0xf6, 0xe8, 0x7e,
+			0xa3, 0xd7, 0x24, 0x78, 0xdf, 0xbc, 0x9f, 0xe4,
+			0x4c, 0x4d, 0x22, 0xb8, 0x76, 0xb0, 0x6a, 0xc1,
+			0x35, 0x66, 0xfe, 0xaf, 0xf1, 0xb4, 0x44, 0x5e,
+			0xe0, 0xff, 0xcf, 0x80, 0xf8, 0xa8, 0x5f, 0x59,
+			0x91, 0xa4, 0x4f, 0xc0, 0x58, 0xb1, 0x2d, 0xc9,
+			0x6a, 0xcd, 0x62, 0xcb, 0x41, 0x89, 0x9d, 0x3b,
+			0x3e, 0x48, 0x5f, 0x23, 0x46, 0x21, 0x8a, 0x49,
+			0xc0, 0x16, 0x07, 0x4d, 0xd9, 0x26, 0xbe, 0x86,
+			0xfb, 0x06, 0xbd, 0x41, 0xc5, 0xd8, 0x87, 0xf6,
+			0x94, 0xb1, 0xef, 0xed, 0xab, 0xfb, 0x93, 0x48,
+			0x5a, 0xe7, 0x22, 0xbc, 0x2b, 0x24, 0xb4, 0x86,
+			0x33, 0x9b, 0xd6, 0x09, 0x46, 0x85, 0x81, 0x89,
+			0xa9, 0x30, 0x13, 0xfa, 0x08, 0x55, 0xfc, 0xe5,
+			0xfb, 0xc8, 0xb2, 0xa8, 0x31, 0x4c, 0x9e, 0x1c,
+			0xff, 0x80, 0x10, 0x77, 0x5f, 0xf1, 0x07, 0x14,
+			0xf7, 0x88, 0xb9, 0xeb, 0x48, 0xfe, 0x18, 0x48,
+			0xf3, 0xaf, 0xfd, 0x7d, 0x0c, 0x9f, 0x30, 0x11,
+			0xcb, 0xed, 0xfc, 0x31, 0xf5, 0x6e, 0x72, 0xfa,
+			0x9a, 0x3a, 0xa5, 0x1d, 0x89, 0x89, 0x8b, 0xc6,
+			0x2c, 0xaf, 0xa6, 0xef, 0xbd, 0xb4, 0xc2, 0xa0,
+			0x97, 0x74, 0xd0, 0x4d, 0x72, 0xb7, 0xe8, 0x24,
+			0xba, 0x5e, 0x53, 0x4b, 0x91, 0xc1, 0xe4, 0x14,
+			0x22, 0x50, 0xb2, 0xc3, 0x84, 0xf4, 0xa6, 0xb3,
+			0xa4, 0x99, 0xda, 0x82, 0x55, 0x8e, 0x38, 0xb4,
+			0x0c, 0x21, 0xe5, 0x91, 0x30, 0xc7, 0x80, 0x55,
+			0xf1, 0x69, 0xde, 0xd7, 0x82, 0xf3, 0x08, 0xd3,
+			0x16, 0x69, 0xe7, 0xd4, 0xeb, 0xfc, 0x9b, 0x8f,
+			0xd6, 0xfc, 0xf9, 0x9f, 0x95, 0xb3, 0x90, 0xa6,
+			0x12, 0x21, 0x53, 0x50, 0xd5, 0x3e, 0x2b, 0x46,
+			0x14, 0x52, 0x20, 0x1c, 0x33, 0xed, 0xdd, 0x58,
+			0x81, 0x92, 0x37, 0xe5, 0x99, 0x77, 0xfa, 0x29,
+			0x28, 0x49, 0x07, 0xc8, 0xe2, 0x41, 0x8f, 0x77,
+			0x3b, 0xb4, 0x8c, 0x34, 0x3e, 0x80, 0xcb, 0xcf,
+			0x73, 0x4d, 0xfc, 0x78, 0x60, 0x9e, 0xd0, 0x86,
+			0xc3, 0x4d, 0xa7, 0x40, 0x9c, 0x03, 0x72, 0x46,
+			0xc3, 0xc3, 0x74, 0xdf, 0x5a, 0x47, 0x8d, 0xbc,
+			0xc1, 0x5b, 0x10, 0x3e, 0x7e, 0x09, 0x3d, 0xdb,
+			0x0c, 0xc4, 0x3b, 0x12, 0xbf, 0x66, 0xe2, 0xb7,
+			0x4c, 0x1a, 0x81, 0x58, 0x63, 0x39, 0x72, 0xde,
+			0xfa, 0x5d, 0xcc, 0x2c, 0x69, 0x11, 0x0a, 0x5f,
+			0xb9, 0xbc, 0xda, 0x80, 0x03, 0x8e, 0xa2, 0x02,
+			0x6c, 0xc1, 0x15, 0xcc, 0xbf, 0x01, 0x14, 0xd0,
+			0x36, 0xad, 0xdb, 0xb7, 0x77, 0xd6, 0x99, 0x94,
+			0xf5, 0xa5, 0xac, 0xce, 0x9a, 0x23, 0x9b, 0x1e,
+			0xa4, 0x97, 0x7e, 0x41, 0xc1, 0x65, 0xc7, 0x94,
+			0xfa, 0x07, 0x1d, 0x9a, 0x87, 0xba, 0xee, 0xef,
+			0x99, 0x92, 0xaa, 0x41, 0x29, 0x03, 0xe3, 0x01,
+			0x17, 0x42, 0xed, 0x11, 0x68, 0x44, 0x02, 0xca,
+			0x81, 0x4b, 0x33, 0x81, 0x64, 0x30, 0x95, 0x7f,
+			0x81, 0x17, 0xe6, 0x59, 0x0b, 0x4e, 0xf3, 0x4a,
+			0x72, 0x0c, 0x45, 0x1e, 0x1d, 0x44, 0xe2, 0x9e,
+			0x45, 0x29, 0x88, 0xb4, 0xda, 0x9b, 0x9f, 0x3e,
+			0x92, 0x9a, 0x0b, 0x21, 0x2a, 0xd4, 0xa0, 0xd8,
+			0xd8, 0xbd, 0x06, 0x6d, 0x71, 0x3c, 0xcc, 0xd8,
+			0xdc, 0x19, 0xd7, 0x8f, 0x21, 0x01, 0x25, 0xa5,
+			0x15, 0x62, 0x43, 0xfa, 0xdf, 0xb9, 0x33, 0x23,
+			0xd3, 0xa2, 0xab, 0xb1, 0x7e, 0x4e, 0x5e, 0x46,
+			0xbd, 0x76, 0x6e, 0x18, 0x88, 0x5f, 0x85, 0x03,
+			0x43, 0x57, 0xd6, 0x3a, 0xf2, 0xcc, 0x9d, 0xbc,
+			0x2c, 0x67, 0xa8, 0xcd, 0xda, 0xe8, 0x39, 0x61,
+			0x68, 0x6d, 0xcf, 0xeb, 0x07, 0x1f, 0x58, 0x61,
+			0x68, 0x6d, 0x78, 0xa6, 0xad, 0xb6, 0x16, 0x70,
+			0x89, 0x49, 0x59, 0x62, 0x76, 0xc1, 0xc3, 0xc8,
+			0xce, 0xe2, 0xfc, 0x42, 0x51, 0x8d, 0xc8, 0xf1,
+			0x03, 0x17, 0x36, 0x55, 0x8c, 0x8e, 0x98, 0xd1,
+			0x33, 0x3c, 0x4c, 0x63, 0x81, 0x97, 0xc5, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x06, 0x0c, 0x16, 0x19, 0x23,
+			0x28, 0x30, 0x37, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0x89, 0xf7, 0x32, 0xb6, 0xaa, 0x73, 0x16, 0x1d,
+			0x84, 0x36, 0x12, 0x7a, 0xb9, 0xfc, 0xb6, 0x66,
+			0x14, 0x43, 0x0a, 0xd4, 0x61, 0x63, 0xcc, 0x2b,
+			0x3c, 0x70, 0x9e, 0x14, 0x81, 0xe7, 0x57, 0xcd,
+			0x89, 0x3d, 0xc0, 0x21, 0x25, 0xaa, 0x4d, 0x16,
+			0x47, 0xfb, 0xc7, 0xfb, 0x94, 0xbf, 0x0d, 0x11,
+			0x54, 0xec, 0x78, 0x94, 0x52, 0xa2, 0x36, 0x7a,
+			0xf3, 0xc4, 0xcd, 0xc2, 0x91, 0x7b, 0x6c, 0x2f,
+			0x6f, 0x0f, 0xb8, 0xc7, 0x25, 0x52, 0x50, 0x32,
+			0x9b, 0x5d, 0x92, 0x92, 0x3f, 0x81, 0x51, 0xbd,
+			0x2f, 0xfc, 0x78, 0xf1, 0xa2, 0x23, 0x29, 0x56,
+			0x9f, 0x97, 0x1d, 0xf0, 0xab, 0x24, 0x3e, 0x87,
+			0x10, 0x39, 0xb9, 0x93, 0xe9, 0xe9, 0x6b, 0xbd,
+			0x6a, 0x30, 0xef, 0x9e, 0xf3, 0xe0, 0x93, 0x53,
+			0x84, 0x84, 0xe1, 0x75, 0xb8, 0xe7, 0x32, 0x40,
+			0xc9, 0x1e, 0x01, 0x9c, 0x24, 0xf1, 0x48, 0xd5,
+			0xd6, 0x46, 0x78, 0x64, 0x9a, 0x68, 0x71, 0xf9,
+			0x77, 0xbd, 0xf0, 0xdf, 0x8d, 0xd3, 0xf0, 0x3d,
+			0x53, 0x53, 0xd2, 0x16, 0xde, 0x75, 0x60, 0x25,
+			0x9a, 0xa6, 0x5d, 0x3a, 0xba, 0x9b, 0xad, 0xad,
+			0xd8, 0xcd, 0x8e, 0x84, 0x7c, 0x9f, 0x72, 0x86,
+			0xd2, 0x73, 0xca, 0x8f, 0xb8, 0x5d, 0xe5, 0xa5,
+			0x6f, 0x2d, 0x18, 0x07, 0xb4, 0x06, 0x42, 0xe8,
+			0x55, 0xe2, 0xcb, 0xc4, 0x64, 0x53, 0xe3, 0x6a,
+			0x63, 0xc3, 0x4d, 0xa2, 0x6c, 0xe5, 0xb8, 0xf0,
+			0x5f, 0xe4, 0x6d, 0xd6, 0x30, 0x53, 0x66, 0xbf,
+			0x36, 0xa3, 0x41, 0x31, 0xc7, 0x67, 0xa5, 0x7e,
+			0x67, 0xeb, 0xac, 0x47, 0xd3, 0x95, 0xa1, 0x95,
+			0x5d, 0x16, 0xdf, 0x6c, 0x69, 0x9a, 0x37, 0xba,
+			0xb1, 0x6a, 0xd1, 0x00, 0x1c, 0x49, 0x31, 0xdc,
+			0xd1, 0x62, 0xf7, 0xb1, 0x34, 0x0b, 0xb1, 0x0c,
+			0x69, 0x56, 0xbb, 0x69, 0x44, 0x87, 0xa3, 0xcc,
+			0x3a, 0xad, 0x26, 0xa2, 0x91, 0xfd, 0xab, 0x0f,
+			0x33, 0x5c, 0x62, 0x1f, 0x24, 0xf5, 0x5e, 0x65,
+			0xda, 0xa2, 0x16, 0x34, 0xd0, 0x7b, 0x51, 0x01,
+			0x22, 0xf5, 0x21, 0x07, 0x17, 0x78, 0x8d, 0x79,
+			0x5c, 0xd2, 0x45, 0x9a, 0x3c, 0xcc, 0x3a, 0xef,
+			0xdd, 0xca, 0x07, 0x19, 0x1b, 0x0e, 0xfc, 0xf2,
+			0x8f, 0xbd, 0x06, 0xca, 0x6e, 0x6b, 0x78, 0x77,
+			0xca, 0x50, 0x1a, 0x2f, 0x28, 0x43, 0x87, 0x34,
+			0x52, 0x96, 0x26, 0x86, 0xeb, 0xfc, 0xfc, 0x87,
+			0x63, 0xbc, 0xbf, 0x81, 0xc3, 0x98, 0xa1, 0x90,
+			0x97, 0x79, 0x1e, 0x5e, 0x1e, 0xc4, 0x51, 0xcd,
+			0x9d, 0x96, 0x23, 0xfc, 0xd9, 0x75, 0x4d, 0x8a,
+			0x20, 0x95, 0xad, 0xbe, 0x0f, 0xd9, 0xe8, 0x13,
+			0xa3, 0xd8, 0xba, 0x05, 0x82, 0x73, 0xeb, 0x67,
+			0x55, 0xb2, 0xf1, 0x9a, 0xf7, 0x08, 0x94, 0x8e,
+			0x52, 0xd5, 0x6e, 0xe7, 0x50, 0x7f, 0x76, 0x15,
+			0x27, 0x40, 0x85, 0xf7, 0x38, 0x02, 0x20, 0x9a,
+			0xf1, 0xc1, 0x7a, 0xee, 0xe9, 0x9e, 0x32, 0x4b,
+			0xe8, 0x08, 0x53, 0x03, 0x07, 0xf9, 0x62, 0x41,
+			0x1c, 0xb6, 0x2b, 0x82, 0x6c, 0xc2, 0xd8, 0x11,
+			0x41, 0x32, 0x97, 0x6e, 0x24, 0x26, 0x84, 0xd9,
+			0x3b, 0x6d, 0xa5, 0x0d, 0x9d, 0xcf, 0x7b, 0x4a,
+			0x02, 0x4b, 0x30, 0x7d, 0xc3, 0x47, 0xa1, 0xc0,
+			0x22, 0x85, 0x96, 0xf1, 0x38, 0xfe, 0x62, 0xa7,
+			0x1c, 0x14, 0x28, 0x42, 0x75, 0x85, 0x46, 0x18,
+			0xba, 0x7a, 0x50, 0x15, 0xde, 0xad, 0x78, 0x08,
+			0x15, 0xbb, 0x4b, 0xa7, 0x97, 0x8d, 0xb8, 0xf5,
+			0x3e, 0x82, 0xc2, 0x43, 0xf7, 0x04, 0x03, 0x58,
+			0xe0, 0x41, 0x09, 0x47, 0xb8, 0x83, 0x68, 0xbb,
+			0x2c, 0x0c, 0x63, 0x3c, 0x12, 0x26, 0xc9, 0xcb,
+			0x7f, 0x87, 0x34, 0x78, 0xe0, 0xbf, 0xdf, 0x78,
+			0xe0, 0x4a, 0x94, 0xb1, 0xea, 0xa6, 0x3f, 0x4c,
+			0xa4, 0xcc, 0xf7, 0x44, 0xf1, 0x99, 0xb6, 0xa9,
+			0x9e, 0x93, 0x18, 0x0d, 0xc8, 0xe9, 0x4a, 0xc0,
+			0xa0, 0x34, 0x5d, 0x9e, 0xce, 0x1e, 0xa5, 0x03,
+			0x9f, 0xcb, 0xf3, 0x6b, 0x5f, 0x26, 0x46, 0xe6,
+			0x04, 0x08, 0x14, 0x43, 0x06, 0xa4, 0xad, 0x7a,
+			0x83, 0x06, 0x4b, 0xd6, 0x46, 0xbc, 0x1e, 0x49,
+			0xab, 0x15, 0x51, 0x48, 0xf5, 0x2e, 0x52, 0x58,
+			0x74, 0xd4, 0x17, 0xf8, 0x61, 0xb6, 0xca, 0xdf,
+			0xf2, 0x8f, 0x1d, 0xe9, 0x13, 0x12, 0xb6, 0xb2,
+			0x70, 0x8e, 0xa3, 0x20, 0xac, 0x86, 0x8a, 0x56,
+			0x12, 0x2c, 0x14, 0x06, 0x7c, 0x4c, 0x1b, 0xae,
+			0x3a, 0xd4, 0x85, 0xe2, 0xe5, 0xc0, 0xdc, 0xd6,
+			0x7d, 0xe9, 0xa9, 0x27, 0xb4, 0x66, 0x95, 0xea,
+			0xba, 0xb6, 0x06, 0x13, 0x01, 0xc8, 0x84, 0xa5,
+			0x9e, 0xf7, 0x35, 0xf9, 0x6e, 0x68, 0x8d, 0x8e,
+			0xa8, 0xa4, 0x0c, 0x38, 0x17, 0x50, 0x09, 0xf2,
+			0x16, 0xb8, 0x54, 0xdc, 0x97, 0x9b, 0xc1, 0x52,
+			0xb9, 0xa9, 0xa5, 0x3d, 0x23, 0x9c, 0xe0, 0x26,
+			0xf3, 0xd0, 0x65, 0xe9, 0xc3, 0x2a, 0x28, 0x1c,
+			0xa1, 0x7c, 0x25, 0xd6, 0x75, 0x18, 0xbe, 0x34,
+			0x91, 0x79, 0xc3, 0x06, 0xe8, 0x1c, 0x89, 0x8e,
+			0x16, 0xd7, 0x34, 0x10, 0xb8, 0xb0, 0x5f, 0x24,
+			0x24, 0x33, 0x4c, 0x0a, 0xa9, 0x9e, 0x71, 0x79,
+			0xf1, 0xdf, 0x3c, 0x4a, 0xbd, 0x9c, 0x22, 0x06,
+			0x35, 0x3a, 0xfe, 0xe4, 0x09, 0x78, 0xab, 0xf5,
+			0x03, 0xbd, 0x55, 0x02, 0xc3, 0x7e, 0xf3, 0xc7,
+			0xb3, 0xf5, 0x18, 0xda, 0x3f, 0xc4, 0x5a, 0xc9,
+			0xea, 0x63, 0xa1, 0xcf, 0xf2, 0xda, 0x6e, 0xe7,
+			0xeb, 0xf5, 0x55, 0xe3, 0xb0, 0xe1, 0x15, 0xb2,
+			0x5c, 0xb6, 0x59, 0xa6, 0x31, 0xe5, 0x13, 0xe1,
+			0xfe, 0xb5, 0xaa, 0xb5, 0x09, 0x28, 0x05, 0x4a,
+			0x1c, 0x0b, 0xdf, 0x29, 0x91, 0xa6, 0x5d, 0x83,
+			0x33, 0x95, 0x38, 0x45, 0x56, 0xb3, 0xae, 0x3a,
+			0x1b, 0x88, 0x7d, 0x6a, 0x31, 0x3b, 0xc8, 0x15,
+			0x0c, 0x5d, 0x43, 0x34, 0x9f, 0x3b, 0xbf, 0x1f,
+			0xa2, 0x2a, 0x27, 0x4f, 0x78, 0x76, 0xf9, 0x44,
+			0x8b, 0xcc, 0x7b, 0x9f, 0x01, 0xdf, 0x62, 0x8e,
+			0xbc, 0xff, 0xb2, 0x9a, 0xf9, 0x35, 0xad, 0x55,
+			0x05, 0x80, 0x9e, 0xfe, 0x1e, 0xf8, 0x0b, 0x65,
+			0xcc, 0x13, 0xe2, 0xb9, 0x6b, 0xb7, 0x2c, 0x07,
+			0x7f, 0xc2, 0xfd, 0xa5, 0x71, 0xb2, 0x9d, 0x65,
+			0x01, 0x73, 0xf0, 0x31, 0xd3, 0x1e, 0x2a, 0xc1,
+			0x11, 0x06, 0x3f, 0xf3, 0x13, 0xc2, 0x5e, 0xc0,
+			0xf6, 0x1d, 0x49, 0x0b, 0x14, 0x7c, 0x45, 0x87,
+			0x62, 0x13, 0x08, 0xe5, 0xf6, 0xfa, 0x2f, 0x8e,
+			0x4a, 0x50, 0x3b, 0x00, 0x1a, 0xd8, 0x75, 0x74,
+			0xe9, 0x10, 0x11, 0x41, 0xc7, 0xed, 0x79, 0x91,
+			0xa2, 0x27, 0xa6, 0x1b, 0xcd, 0x13, 0xc5, 0xca,
+			0x96, 0x08, 0x95, 0x80, 0x72, 0x3e, 0x81, 0xc0,
+			0x70, 0x6a, 0x9e, 0xb7, 0x65, 0x30, 0x30, 0xc2,
+			0xaf, 0x8d, 0x1d, 0xbb, 0x85, 0xe9, 0xfb, 0x54,
+			0x46, 0x6b, 0x39, 0x05, 0x82, 0xb7, 0x1e, 0xeb,
+			0x59, 0x9b, 0x93, 0x13, 0xce, 0x97, 0x6f, 0x5b,
+			0xa7, 0x2d, 0x12, 0x4e, 0x6c, 0x67, 0x36, 0xb1,
+			0x69, 0xfe, 0x72, 0x64, 0xbe, 0xd5, 0x7c, 0x89,
+			0xc4, 0x7e, 0x99, 0xd5, 0x97, 0x99, 0x83, 0x19,
+			0x6f, 0x45, 0x30, 0x8c, 0x73, 0xd4, 0x11, 0xb7,
+			0x2e, 0xe6, 0x5d, 0xc2, 0xf0, 0x40, 0x29, 0x8d,
+			0x40, 0x91, 0x38, 0xba, 0x8d, 0x0b, 0x8a, 0xb9,
+			0xee, 0x68, 0xe3, 0x78, 0x26, 0x9a, 0xaf, 0x25,
+			0x84, 0x50, 0x5f, 0x55, 0x74, 0x27, 0xe4, 0x04,
+			0x3e, 0x8a, 0x39, 0xbe, 0x76, 0xec, 0xb1, 0xc1,
+			0x8c, 0x57, 0x5d, 0x01, 0x1e, 0x72, 0xe7, 0xb4,
+			0x38, 0x25, 0xd9, 0x57, 0xf9, 0x20, 0x87, 0x64,
+			0x0f, 0xa1, 0xe7, 0x6b, 0x0b, 0xf0, 0xf5, 0x63,
+			0x52, 0x55, 0x37, 0x9d, 0x03, 0x91, 0xf1, 0x49,
+			0xf8, 0xb1, 0x53, 0x06, 0x84, 0x8f, 0x87, 0x69,
+			0xe4, 0x8b, 0x58, 0x38, 0x05, 0x2b, 0x32, 0xdf,
+			0x79, 0xd3, 0x47, 0xe1, 0x57, 0xa0, 0xc6, 0x5c,
+			0xce, 0x25, 0xc6, 0x4c, 0xaf, 0x5d, 0x72, 0x58,
+			0x96, 0xf6, 0x38, 0xac, 0xdd, 0x56, 0x68, 0x1e,
+			0x1b, 0xf9, 0x57, 0x94, 0x21, 0x70, 0x46, 0x6b,
+			0x19, 0xec, 0xed, 0xdc, 0x09, 0x50, 0x0f, 0x81,
+			0xa0, 0xca, 0xd3, 0x30, 0xe6, 0x5a, 0x84, 0xe6,
+			0x4c, 0xb6, 0x55, 0xb7, 0x8c, 0x7a, 0xbe, 0xd6,
+			0x14, 0x16, 0x77, 0xdb, 0x09, 0xe3, 0xa7, 0x9b,
+			0x80, 0xca, 0x4b, 0x34, 0x88, 0x12, 0x74, 0xae,
+			0xa2, 0x61, 0xe5, 0x60, 0xed, 0x39, 0x30, 0xbe,
+			0x34, 0x36, 0xce, 0x55, 0xba, 0xb8, 0xbb, 0x4a,
+			0x0d, 0x5b, 0x40, 0xbf, 0xb6, 0x66, 0xd3, 0x4e,
+			0x90, 0xdb, 0x8a, 0xdf, 0xba, 0x1d, 0x32, 0x73,
+			0x7a, 0xe2, 0x02, 0xfa, 0xcb, 0x9b, 0x4d, 0x39,
+			0x95, 0x8e, 0x9f, 0x1b, 0x40, 0xf7, 0x30, 0x2b,
+			0x7c, 0xd3, 0xe1, 0x02, 0x5c, 0x49, 0x94, 0x9f,
+			0x6c, 0x9b, 0x5b, 0x55, 0xf8, 0xaf, 0x1a, 0xe5,
+			0x94, 0xda, 0x4f, 0xf8, 0x7f, 0xd1, 0x23, 0xb4,
+			0x74, 0x5e, 0xa5, 0x83, 0x08, 0xbe, 0x29, 0x67,
+			0xcb, 0xae, 0x6f, 0x4f, 0x06, 0x9f, 0x95, 0x77,
+			0x8a, 0x00, 0x19, 0xf2, 0x02, 0xba, 0x50, 0xc8,
+			0x96, 0x78, 0x42, 0xc1, 0x96, 0x88, 0xc6, 0x91,
+			0x5f, 0xdc, 0xe6, 0x43, 0x2e, 0x9b, 0xd5, 0x73,
+			0x82, 0xbb, 0x4f, 0x76, 0x22, 0x08, 0x5e, 0x49,
+			0x03, 0x45, 0xf2, 0x50, 0x42, 0xeb, 0x1f, 0x1c,
+			0x19, 0x5e, 0xd1, 0x41, 0xd2, 0x5e, 0xcb, 0x42,
+			0x41, 0x92, 0xed, 0xc2, 0x71, 0x78, 0x32, 0x1f,
+			0x5d, 0xfc, 0xc5, 0x94, 0x7d, 0xb9, 0xe8, 0x87,
+			0x71, 0xcc, 0x4d, 0xf0, 0x58, 0xdb, 0x9d, 0xb0,
+			0xee, 0xee, 0x7a, 0x3d, 0xe9, 0x61, 0x72, 0xe4,
+			0x45, 0x50, 0x41, 0xf1, 0x77, 0x29, 0xa2, 0xe4,
+			0x91, 0x8d, 0xed, 0xfc, 0xd1, 0x13, 0x78, 0xcb,
+			0x8e, 0x1b, 0xed, 0xf8, 0x0d, 0x8e, 0x49, 0x13,
+			0xb6, 0x59, 0x69, 0x27, 0x65, 0x23, 0x9f, 0x1d,
+			0xd0, 0xda, 0x54, 0xfc, 0xd2, 0x08, 0xf7, 0x34,
+			0x89, 0xc3, 0x14, 0xb9, 0x42, 0xcb, 0x02, 0xa7,
+			0x35, 0xd1, 0x00, 0x89, 0x34, 0xac, 0x90, 0xd1,
+			0x44, 0x12, 0x2a, 0x12, 0xde, 0x4a, 0x31, 0x09,
+			0x97, 0x4a, 0x0f, 0xc2, 0xe5, 0xa5, 0xef, 0x0b,
+			0x81, 0xda, 0x01, 0x39, 0xc1, 0xa9, 0xf5, 0xd7,
+			0x0e, 0xd4, 0xca, 0xa7, 0x5a, 0x70, 0xa4, 0x70,
+			0x3d, 0x17, 0xe1, 0xce, 0x3d, 0xcd, 0x28, 0x4c,
+			0xe1, 0x94, 0x23, 0xfa, 0x87, 0xe7, 0xa3, 0x19,
+			0x6d, 0x0e, 0x1e, 0x59, 0xb5, 0x2a, 0x3a, 0x3c,
+			0x2c, 0x9c, 0xc2, 0x23, 0x01, 0xb9, 0x96, 0xc6,
+			0x67, 0xd4, 0x90, 0x0b, 0x40, 0x22, 0x3a, 0x97,
+			0xb4, 0x14, 0x03, 0xb3, 0x27, 0x09, 0x07, 0x77,
+			0x1c, 0xbc, 0x68, 0x1a, 0xbc, 0xfe, 0x51, 0x90,
+			0x04, 0x0b, 0x76, 0x3e, 0x36, 0x69, 0xb0, 0xc9,
+			0x86, 0x72, 0x8b, 0x09, 0xb4, 0xf9, 0x77, 0xb0,
+			0x49, 0x4b, 0xb7, 0xf9, 0x68, 0xb0, 0x53, 0x58,
+			0xa1, 0xe6, 0xfd, 0x63, 0x93, 0xb1, 0x11, 0x48,
+			0x0c, 0x45, 0xa2, 0x6c, 0xdc, 0xd3, 0xf5, 0x3a,
+			0x38, 0xe0, 0x85, 0xf9, 0x2f, 0x6a, 0x7c, 0xfa,
+			0xe1, 0xdf, 0x24, 0x94, 0x97, 0xc4, 0x7d, 0x7d,
+			0x01, 0x7f, 0xa2, 0x1c, 0x28, 0x62, 0xde, 0xbb,
+			0xf0, 0x61, 0x94, 0x83, 0x5e, 0xc8, 0x41, 0x4d,
+			0x4e, 0xde, 0xb0, 0x7d, 0xad, 0xf0, 0x2a, 0x7b,
+			0x45, 0x18, 0xbf, 0x22, 0x72, 0xdb, 0x34, 0x77,
+			0x85, 0x8d, 0x50, 0xb6, 0x70, 0xfd, 0x32, 0x38,
+			0x0a, 0xf4, 0x5d, 0x1e, 0x2f, 0x0f, 0x9b, 0xf8,
+			0x7f, 0xd1, 0x53, 0xff, 0x3f, 0xd7, 0x2c, 0xd1,
+			0xd6, 0xcd, 0x23, 0x48, 0x01, 0xa5, 0xbf, 0x93,
+			0x77, 0xa7, 0x9c, 0xbc, 0x3b, 0x5e, 0x47, 0x57,
+			0xf2, 0x95, 0xdb, 0xa1, 0x02, 0xaa, 0xf4, 0x1a,
+			0x4a, 0x54, 0x4b, 0xd6, 0x5b, 0x76, 0x47, 0xc0,
+			0xe6, 0x3e, 0xff, 0xa9, 0x3e, 0xe3, 0x12, 0x1b,
+			0x89, 0x89, 0x5a, 0xbc, 0xda, 0x52, 0x5c, 0x70,
+			0x1d, 0x70, 0x03, 0xb7, 0x1f, 0x27, 0x53, 0x29,
+			0x4e, 0x47, 0x82, 0x27, 0xc7, 0x14, 0x00, 0x2c,
+			0x28, 0x0c, 0xde, 0xc2, 0x88, 0x2e, 0x4c, 0xe3,
+			0x4c, 0x69, 0xfc, 0xfc, 0x7d, 0xdc, 0xac, 0x9b,
+			0x21, 0xa3, 0xfb, 0x88, 0x14, 0xc9, 0xe3, 0xa6,
+			0x40, 0x11, 0x68, 0x19, 0x48, 0x93, 0x6e, 0x04,
+			0xc2, 0x35, 0x26, 0x39, 0xec, 0xfd, 0x10, 0x7b,
+			0x2a, 0xab, 0xf3, 0x09, 0x51, 0xf4, 0xd8, 0xf2,
+			0xd6, 0xc8, 0x14, 0x9e, 0xdf, 0xee, 0xfe, 0x8e,
+			0x29, 0x1b, 0x32, 0x22, 0xcf, 0x1e, 0xa5, 0x96,
+			0xe7, 0xeb, 0x38, 0x22, 0xee, 0x29, 0x18, 0x3b,
+			0xfa, 0x96, 0xa4, 0xfa, 0xbd, 0x44, 0xb5, 0xff,
+			0x3f, 0x22, 0x42, 0x2f, 0x9a, 0x6e, 0xaf, 0x58,
+			0x2d, 0x03, 0xe5, 0xe2, 0x2b, 0x0f, 0x91, 0x01,
+			0xa8, 0xe4, 0xf6, 0x8d, 0x4e, 0xb0, 0x9a, 0xc9,
+			0xa9, 0xdd, 0xdc, 0xaa, 0x7b, 0x36, 0x55, 0x57,
+			0xac, 0x7d, 0xf6, 0xbb, 0xe8, 0xa0, 0x18, 0xec,
+			0x67, 0xfd, 0x2e, 0x24, 0xe9, 0x12, 0xc7, 0x4f,
+			0x73, 0xfb, 0xea, 0x87, 0x95, 0x49, 0x90, 0xff,
+			0x50, 0xe9, 0x49, 0xdf, 0x54, 0x2d, 0xdb, 0xbf,
+			0xf1, 0x5b, 0x8b, 0x35, 0xcd, 0xf6, 0xfc, 0x72,
+			0x4a, 0x0e, 0x77, 0xd2, 0xd9, 0x95, 0x5b, 0x04,
+			0x7d, 0xb8, 0x29, 0x5f, 0x1a, 0x65, 0x6e, 0x0f,
+			0xda, 0x3f, 0x24, 0xbb, 0xa9, 0x0e, 0x47, 0xc3,
+			0xef, 0x2f, 0x12, 0x71, 0xad, 0x69, 0x46, 0x11,
+			0x7e, 0x90, 0xa4, 0x71, 0x70, 0xf0, 0xd4, 0x1b,
+			0x51, 0xe8, 0x99, 0x67, 0x1e, 0xfc, 0x49, 0xe0,
+			0xa1, 0x21, 0x88, 0xc1, 0x63, 0xce, 0x61, 0xfb,
+			0x4a, 0xec, 0x8e, 0xcc, 0x7f, 0x3c, 0xcf, 0x4e,
+			0x8a, 0xc7, 0x31, 0xbc, 0xe4, 0xb5, 0x9f, 0x02,
+			0x79, 0x54, 0xfb, 0xa4, 0x86, 0x6f, 0x9e, 0x3d,
+			0xd4, 0x14, 0x20, 0xca, 0x73, 0x53, 0x8b, 0x8f,
+			0xf2, 0xb6, 0xab, 0xd6, 0xfe, 0xe2, 0xcd, 0x82,
+			0x89, 0x93, 0x11, 0x28, 0x37, 0x58, 0x22, 0xed,
+			0x14, 0x2b, 0x09, 0xf0, 0x23, 0x99, 0xc7, 0x4f,
+			0x94, 0x26, 0x36, 0x27, 0x5f, 0x5c, 0x37, 0x7f,
+			0x8d, 0xa7, 0x57, 0x8a, 0xb4, 0xd6, 0xf5, 0xd4,
+			0xe4, 0x1a, 0xf1, 0xb3, 0xc6, 0xa0, 0xce, 0x77,
+			0x27, 0xeb, 0x2f, 0x53, 0x3a, 0xa6, 0xb7, 0xfa,
+			0x4e, 0xab, 0xd5, 0x63, 0xc5, 0x0e, 0xde, 0x45,
+			0x7a, 0x4b, 0x3f, 0x71, 0x27, 0xb4, 0x09, 0xe9,
+			0xe0, 0xb0, 0xa1, 0x64, 0xd6, 0x08, 0xa9, 0xd7,
+			0x1b, 0x57, 0xa5, 0xca, 0x09, 0xdf, 0xd2, 0x54,
+			0x5d, 0x03, 0x7e, 0x1b, 0x15, 0x5a, 0xa5, 0xc8,
+			0xb8, 0xd4, 0xa2, 0x2c, 0x88, 0x6c, 0xcf, 0xaf,
+			0x67, 0xad, 0x53, 0x3b, 0x63, 0x89, 0x6f, 0xed,
+			0xb8, 0x59, 0x44, 0x71, 0xd2, 0x48, 0x25, 0xc4,
+			0x00, 0x22, 0xd0, 0x9a, 0xec, 0xc5, 0xaf, 0x62,
+			0x6e, 0x46, 0xda, 0x35, 0x57, 0x83, 0x5e, 0x78,
+			0xc8, 0x2e, 0x09, 0x61, 0x60, 0xae, 0x99, 0x57,
+			0x2c, 0x6e, 0xbd, 0x5d, 0x91, 0x4c, 0xdd, 0x71,
+			0xa8, 0x48, 0x65, 0xdc, 0x15, 0x0e, 0xaa, 0x07,
+			0xdf, 0x33, 0x36, 0xd2, 0xf9, 0x7e, 0xaf, 0x94,
+			0xd0, 0x56, 0x92, 0xa9, 0xcb, 0x24, 0x70, 0x01,
+			0xfd, 0x37, 0x8d, 0x2b, 0xcd, 0xc3, 0x10, 0xf1,
+			0x67, 0x4e, 0xcf, 0x1b, 0x3d, 0x15, 0xe5, 0x27,
+			0x6c, 0x9e, 0x28, 0x9b, 0x94, 0x76, 0xd4, 0x10,
+			0x92, 0x7d, 0xd5, 0x0e, 0xc7, 0x4f, 0xc4, 0x8d,
+			0x7b, 0x07, 0x03, 0x11, 0xce, 0x8a, 0x3f, 0xee,
+			0x35, 0x8a, 0x6a, 0xbe, 0x5d, 0xb9, 0xf5, 0xf1,
+			0x71, 0xba, 0x42, 0xfd, 0x45, 0x2c, 0x1b, 0xfd,
+			0xa8, 0x5a, 0x89, 0x60, 0xfa, 0x40, 0xd3, 0x7b,
+			0x7e, 0xe8, 0xd8, 0xc8, 0x63, 0xa5, 0x11, 0x8b,
+			0x04, 0xec, 0x30, 0xcf, 0xdc, 0xd0, 0x65, 0x7a,
+			0x2c, 0x2e, 0xbb, 0xa9, 0x70, 0x27, 0x28, 0x0a,
+			0xba, 0x0a, 0x2f, 0x5b, 0xae, 0x81, 0x39, 0x4d,
+			0x11, 0xee, 0x4d, 0xc9, 0xb6, 0xf0, 0x27, 0x91,
+			0xc1, 0x1e, 0x00, 0x2d, 0x4e, 0xf9, 0xb9, 0x56,
+			0xc8, 0x09, 0xab, 0x8b, 0xa1, 0x1b, 0x58, 0x05,
+			0xb8, 0xf2, 0xdc, 0x13, 0x1b, 0x77, 0xeb, 0x81,
+			0xca, 0x02, 0xd1, 0x1a, 0xfc, 0xa5, 0xc7, 0x00,
+			0xce, 0xab, 0x82, 0x19, 0x88, 0x65, 0x74, 0xc8,
+			0x08, 0x48, 0x9a, 0x44, 0xc4, 0xad, 0x27, 0xf0,
+			0xf6, 0xed, 0x5d, 0xad, 0x66, 0x1c, 0x3b, 0x85,
+			0xf9, 0x54, 0xaa, 0x08, 0x50, 0xc6, 0x80, 0xd1,
+			0xed, 0x80, 0x11, 0x0d, 0x3c, 0x16, 0x03, 0xa5,
+			0xb6, 0xd3, 0x94, 0x00, 0xf8, 0x8b, 0x06, 0x2d,
+			0xae, 0x2a, 0xfa, 0x7c, 0xe1, 0x8b, 0x0f, 0x51,
+			0xc1, 0xc5, 0xa1, 0x9e, 0x71, 0x66, 0xa0, 0x8d,
+			0x24, 0x2b, 0x32, 0x2c, 0xb5, 0x8c, 0xf6, 0x65,
+			0x0c, 0xea, 0xe1, 0x94, 0x0e, 0xf6, 0x5d, 0x07,
+			0xc4, 0x6e, 0x96, 0x34, 0x41, 0x0e, 0x1e, 0xd6,
+			0xac, 0x6b, 0x63, 0x7c, 0x0f, 0x78, 0xdd, 0x0c,
+			0xeb, 0xcb, 0x29, 0x88, 0xe9, 0xa9, 0x4b, 0x3a,
+			0x60, 0x23, 0x60, 0xb6, 0xc7, 0x79, 0x50, 0x13,
+			0x60, 0x4d, 0xb1, 0x5d, 0xae, 0x60, 0xf8, 0xba,
+			0xad, 0x66, 0xd5, 0x95, 0xae, 0x2c, 0xfc, 0x80,
+			0x01, 0xb2, 0x8f, 0xcd, 0xf3, 0x26, 0x6a, 0xae,
+			0x00, 0xa8, 0x59, 0xb5, 0x36, 0x8c, 0x25, 0x0b,
+			0xb5, 0xf4, 0x24, 0x70, 0xae, 0x24, 0xde, 0x40,
+			0xe4, 0x26, 0x37, 0x80, 0x60, 0xea, 0x3d, 0x99,
+			0x59, 0xad, 0xf5, 0x0d, 0xe2, 0xe1, 0x93, 0x98,
+			0xa5, 0xbc, 0x01, 0x3a, 0x93, 0xe4, 0xb9, 0x49,
+			0xd5, 0xcc, 0x6e, 0x4d, 0x2a, 0xbc, 0xa8, 0x49,
+			0xe0, 0x66, 0x0e, 0xa0, 0x56, 0xa8, 0x74, 0x50,
+			0xd5, 0xd8, 0x41, 0xca, 0x23, 0x2e, 0xea, 0x2d,
+			0x21, 0x08, 0x3f, 0x17, 0x89, 0x9f, 0xe6, 0x3e,
+			0x55, 0xf7, 0xfb, 0x6b, 0x9e, 0xcf, 0x43, 0x35,
+			0x42, 0x5d, 0xbd, 0x74, 0x0b, 0x52, 0x92, 0x1c,
+			0x18, 0x16, 0x81, 0x74, 0x6f, 0x45, 0x81, 0xca,
+			0x7b, 0x7b, 0xde, 0xf3, 0xca, 0x1c, 0xde, 0x3f,
+			0x97, 0x9d, 0x80, 0xa9, 0xa6, 0x7d, 0x35, 0x95,
+			0xf5, 0x9c, 0xb4, 0xc0, 0x28, 0x34, 0x07, 0xf8,
+			0x3f, 0x01, 0x7e, 0xe2, 0xbc, 0x2a, 0xaf, 0x80,
+			0x1d, 0x6d, 0xcc, 0x9a, 0x45, 0x8a, 0x29, 0x83,
+			0xe8, 0x0f, 0x98, 0x4c, 0x12, 0x0e, 0x3f, 0x84,
+			0x7f, 0x54, 0x29, 0x65, 0x06, 0xa2, 0xe4, 0xdb,
+			0x10, 0x38, 0x6f, 0x42, 0x37, 0x40, 0xd2, 0x1a,
+			0x0c, 0x16, 0x7a, 0x94, 0x58, 0xeb, 0xab, 0x60,
+			0x13, 0xfb, 0xc2, 0x0b, 0x9c, 0x8d, 0xc6, 0x8a,
+			0x9b, 0xb5, 0x58, 0x2b, 0x60, 0x97, 0x24, 0x55,
+			0x8c, 0xd5, 0x90, 0x7e, 0x97, 0x84, 0x85, 0x7a,
+			0x25, 0x98, 0xe9, 0x0e, 0xd9, 0x3c, 0x19, 0x92,
+			0x5f, 0x01, 0x7a, 0x5b, 0xd6, 0xc9, 0x57, 0x87,
+			0x1e, 0xce, 0x6d, 0xfa, 0xe9, 0x67, 0x7c, 0xa5,
+			0x1a, 0x8b, 0x8c, 0x74, 0xf3, 0x2a, 0x53, 0xc2,
+			0x6b, 0x75, 0x46, 0xf6, 0x60, 0xd2, 0x1a, 0x1e,
+			0x62, 0xc0, 0x60, 0x61, 0x4e, 0x33, 0x2b, 0x59,
+			0x54, 0xd6, 0x80, 0xa6, 0xe8, 0xa7, 0x3b, 0x55,
+			0x91, 0x17, 0x0f, 0x0e, 0x60, 0x9e, 0x62, 0x45,
+			0xfc, 0xee, 0x72, 0xce, 0x0d, 0x0c, 0xcd, 0x31,
+			0x11, 0x38, 0x6e, 0x15, 0x3c, 0xb2, 0x23, 0x06,
+			0x56, 0x65, 0x45, 0x2f, 0xb1, 0xef, 0xaa, 0x85,
+			0x2b, 0x62, 0xb3, 0x9a, 0x7b, 0xca, 0x4b, 0xc3,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x60, 0x9c, 0x06, 0x16, 0x82, 0xf5, 0xb9, 0xd1,
+			0x32, 0xcd, 0x72, 0x64, 0x80, 0xfc, 0x86, 0xc9,
+			0xad, 0x30, 0xf7, 0x6b, 0x0f, 0x12, 0x76, 0x06,
+			0xd8, 0x98, 0x92, 0xc1, 0x2e, 0x2b, 0xd5, 0xd9,
+			0x6a, 0xe7, 0xf1, 0x75, 0x15, 0xcc, 0xf9, 0x0d,
+			0x0b, 0x12, 0x3f, 0xe3, 0x5e, 0x10, 0x27, 0x94,
+			0xb5, 0x7f, 0x71, 0x8d, 0x27, 0xc4, 0x65, 0x74,
+			0x5c, 0xbb, 0xf8, 0x0f, 0x78, 0x63, 0x26, 0xef,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x75, 0x80, 0xe5, 0x00, 0x5c, 0x28, 0xd0, 0xc3,
+			0xfa, 0x12, 0xfc, 0x13, 0x7b, 0x2c, 0x89, 0x20,
+			0xf6, 0x40, 0x17, 0xbc, 0xe4, 0x3d, 0x8e, 0xda,
+			0xbf, 0xa4, 0x17, 0xa6, 0x7c, 0xcd, 0xf0, 0xdb,
+			0xe0, 0x45, 0x9f, 0x8e, 0x57, 0x97, 0x69, 0xa3,
+			0xe9, 0x6f, 0xb7, 0x62, 0x28, 0x79, 0x0b, 0x88,
+			0x02, 0x36, 0x35, 0x2f, 0x7f, 0x0e, 0xac, 0x5e,
+			0x2e, 0x85, 0xb2, 0x32, 0x8c, 0x08, 0x4f, 0x5b,
+			0x2e, 0xeb, 0xbc, 0xb3, 0x5f, 0x52, 0x5e, 0x42,
+			0x6a, 0x3c, 0x9b, 0xbf, 0xaf, 0x71, 0x1a, 0x4a,
+			0xbc, 0x9f, 0xac, 0x5e, 0x95, 0x18, 0x0f, 0xba,
+			0xc0, 0xe8, 0xea, 0x56, 0x4e, 0xc1, 0x62, 0x4a,
+			0xcb, 0x99, 0x5b, 0xa4, 0x6c, 0xca, 0xec, 0xf6,
+			0xc7, 0xd0, 0x4b, 0xb6, 0x6e, 0xca, 0x58, 0xaa,
+			0x84, 0x46, 0xb3, 0xbb, 0x2a, 0x67, 0xf6, 0xc5,
+			0xf9, 0x40, 0xdf, 0x32, 0xf5, 0x94, 0xec, 0x6a,
+			0x96, 0x1c, 0x16, 0x2e, 0x6c, 0xd5, 0xcd, 0xff,
+			0xc1, 0x2c, 0xe5, 0x38, 0x78, 0x3a, 0x34, 0xe6,
+			0x29, 0xfa, 0xeb, 0x1c, 0xad, 0xff, 0x3c, 0x07,
+			0x12, 0xa6, 0xda, 0xaa, 0x44, 0xe2, 0xac, 0x0a,
+			0x22, 0xff, 0x53, 0xc7, 0x99, 0xc0, 0x5c, 0x22,
+			0x91, 0x82, 0x38, 0xa6, 0x19, 0x47, 0x8f, 0xbc,
+			0xc5, 0x66, 0xc8, 0x76, 0x6e, 0x94, 0x09, 0x28,
+			0xf0, 0x7e, 0x05, 0x08, 0xf6, 0x14, 0xcd, 0x12,
+			0xb1, 0xf9, 0xd8, 0x39, 0x2f, 0x9d, 0x65, 0x52,
+			0x6c, 0x7a, 0xc6, 0xb9, 0x7c, 0xe1, 0xc0, 0x7e,
+			0x57, 0xe8, 0x26, 0x4b, 0x94, 0xa7, 0xe4, 0xe6,
+			0xa2, 0x6a, 0xe2, 0xde, 0x41, 0x56, 0x82, 0x55,
+			0xe3, 0x9c, 0xce, 0xf5, 0x94, 0x6e, 0x2a, 0x53,
+			0x51, 0x3e, 0x30, 0x0a, 0x51, 0xfc, 0x79, 0xb6,
+			0x02, 0x02, 0xbd, 0x12, 0xba, 0xf2, 0x68, 0xb0,
+			0xc9, 0x35, 0xcb, 0x99, 0x39, 0x99, 0x94, 0x52,
+			0x5d, 0x5e, 0x52, 0x5e, 0xc4, 0xb8, 0xb0, 0xf4,
+			0x1f, 0x4a, 0x4e, 0x3a, 0xe8, 0xe0, 0x00, 0x75,
+			0x51, 0x4a, 0x8b, 0x81, 0x09, 0x2f, 0x15, 0xd4,
+			0x3a, 0xbb, 0x9b, 0x00, 0x34, 0x03, 0xe3, 0xb6,
+			0xb9, 0xba, 0x35, 0x28, 0xd4, 0xb8, 0x07, 0x42,
+			0x95, 0xf6, 0x27, 0xe4, 0x6e, 0xde, 0xb5, 0xf5,
+			0x4f, 0xd5, 0x0b, 0x00, 0x7d, 0x67, 0x04, 0xb8,
+			0x80, 0x4f, 0x17, 0x6f, 0x5f, 0xa9, 0x8c, 0x0f,
+			0x6e, 0x3d, 0x91, 0xb9, 0xaa, 0x1a, 0x73, 0x5c,
+			0x69, 0x53, 0x20, 0x28, 0xd4, 0x2d, 0xbf, 0x2d,
+			0x38, 0xf2, 0x2b, 0xbc, 0xa1, 0xc6, 0x54, 0x7a,
+			0x9b, 0xde, 0xa6, 0x9f, 0x7c, 0x2f, 0xbd, 0x97,
+			0x7d, 0x2e, 0x40, 0x15, 0x78, 0x41, 0x8d, 0xdd,
+			0x98, 0xc4, 0x46, 0xdc, 0x26, 0xbd, 0x72, 0x93,
+			0xa5, 0xb9, 0x8f, 0xb7, 0xfa, 0x2f, 0xb3, 0x4c,
+			0x7e, 0xfd, 0x08, 0xf0, 0x8b, 0xe3, 0x50, 0x23,
+			0xcd, 0x8f, 0x74, 0x47, 0xbf, 0xde, 0x58, 0x16,
+			0xc5, 0xb3, 0x8d, 0xd4, 0xf0, 0x30, 0x09, 0xbd,
+			0xd8, 0x30, 0x04, 0x1c, 0x38, 0xa0, 0xaf, 0xa2,
+			0x2a, 0xfa, 0x7b, 0xc7, 0x13, 0xfc, 0xa3, 0xab,
+			0x53, 0x66, 0x43, 0x28, 0xcf, 0x1a, 0x86, 0x1f,
+			0x54, 0x2e, 0x81, 0x8b, 0xab, 0x44, 0x8d, 0x37,
+			0x2d, 0x70, 0x27, 0x55, 0x9a, 0x50, 0x7e, 0x1d,
+			0xac, 0xac, 0xe1, 0xea, 0x11, 0x4f, 0x52, 0x4e,
+			0xf3, 0x63, 0xd7, 0x2e, 0xdc, 0x3e, 0x5f, 0xfd,
+			0x6f, 0x85, 0x7d, 0x23, 0xcb, 0xf0, 0xb1, 0x48,
+			0x9f, 0x14, 0x41, 0x89, 0xf5, 0xfa, 0xf0, 0x87,
+			0x37, 0x5f, 0xe3, 0x34, 0xce, 0x90, 0xd1, 0x26,
+			0xa6, 0x59, 0x46, 0xbc, 0x85, 0xff, 0xdc, 0x32,
+			0x10, 0x60, 0xb0, 0x4f, 0x55, 0x5e, 0x73, 0x5c,
+			0x7a, 0x82, 0xa6, 0x33, 0xa8, 0xf8, 0xb5, 0xc7,
+			0x08, 0x22, 0x47, 0x02, 0x66, 0xa8, 0x9d, 0xfc,
+			0xd8, 0x65, 0x35, 0x57, 0xda, 0x61, 0x06, 0x35,
+			0x18, 0xf4, 0xe0, 0x92, 0x2f, 0x7a, 0x24, 0x59,
+			0x5b, 0x79, 0xcf, 0x06, 0x63, 0x14, 0x2a, 0xc7,
+			0x93, 0x36, 0x88, 0x01, 0xdc, 0x1d, 0x13, 0x52,
+			0xf5, 0x89, 0x4c, 0x60, 0xea, 0xdc, 0xdf, 0x38,
+			0x1e, 0xd3, 0x96, 0xd6, 0x6a, 0x80, 0x07, 0x3c,
+			0xd9, 0x60, 0xf7, 0x85, 0xf2, 0xe3, 0x5d, 0xec,
+			0x9d, 0xee, 0x4f, 0x9f, 0x8b, 0x21, 0x28, 0x1b,
+			0x58, 0xa0, 0xc6, 0xd2, 0xa0, 0xfd, 0xa0, 0x6c,
+			0xa6, 0x83, 0xc1, 0x10, 0x48, 0x3c, 0x0d, 0xbd,
+			0x8c, 0x70, 0x82, 0xb6, 0x6f, 0xaa, 0xe3, 0xe8,
+			0x60, 0x8b, 0xcd, 0x07, 0xb9, 0x6a, 0x9c, 0xc6,
+			0xfa, 0x8e, 0x93, 0xe7, 0x78, 0x22, 0xbf, 0x21,
+			0x08, 0x72, 0x27, 0xd7, 0xe9, 0x3e, 0x65, 0x86,
+			0xf4, 0xbb, 0x6f, 0x07, 0xf5, 0x46, 0x22, 0x28,
+			0x16, 0xca, 0x94, 0x21, 0xea, 0x37, 0x3a, 0xf8,
+			0x0c, 0xf9, 0x3a, 0x56, 0x69, 0xeb, 0x5f, 0xe2,
+			0xb1, 0xff, 0xe5, 0x55, 0x51, 0xac, 0x06, 0xe7,
+			0x3c, 0xd6, 0xce, 0x82, 0xfe, 0xe9, 0x2a, 0xe1,
+			0x18, 0x33, 0x29, 0xe3, 0xeb, 0x41, 0x2b, 0xfc,
+			0x80, 0xdb, 0xa9, 0x68, 0xe1, 0x00, 0x66, 0x6b,
+			0x37, 0xc2, 0x69, 0x93, 0xb8, 0xb1, 0x8c, 0x48,
+			0xcd, 0x07, 0x4f, 0x93, 0xbd, 0x40, 0x1c, 0x06,
+			0x6c, 0x46, 0x96, 0xa8, 0x08, 0xa8, 0x2b, 0xe4,
+			0x8e, 0xe5, 0xef, 0x50, 0xbf, 0x59, 0x6d, 0x87,
+			0xa7, 0x0a, 0x7f, 0x6a, 0x71, 0x10, 0x65, 0xe3,
+			0xe5, 0x14, 0xf6, 0x65, 0xb8, 0xc1, 0xc2, 0x8c,
+			0xd8, 0x83, 0xda, 0x8c, 0x1d, 0xd9, 0xb9, 0xdd,
+			0xfe, 0x16, 0xa9, 0x44, 0x1b, 0x00, 0x3a, 0xea,
+			0x37, 0xdc, 0xaf, 0x31, 0x4a, 0xc1, 0xd3, 0x9c,
+			0x5f, 0x50, 0x84, 0x7d, 0x5a, 0x46, 0xb9, 0x90,
+			0xd6, 0xbd, 0xe2, 0x0a, 0xed, 0xec, 0xba, 0xb2,
+			0x00, 0x98, 0x14, 0x37, 0xc5, 0x4e, 0x77, 0x09,
+			0xea, 0xb2, 0xec, 0x6d, 0x5d, 0x89, 0x58, 0xf1,
+			0x4e, 0x18, 0x1c, 0xd7, 0xe7, 0xe8, 0x0a, 0x29,
+			0xce, 0x68, 0x92, 0xa4, 0xac, 0xbe, 0x38, 0xda,
+			0xff, 0xd2, 0x76, 0x87, 0xa3, 0x5f, 0x00, 0xdf,
+			0x97, 0xd6, 0x75, 0xa8, 0xb7, 0xf7, 0xa6, 0xd7,
+			0xf3, 0xbd, 0x31, 0x7e, 0x32, 0xdc, 0x35, 0xf7,
+			0xd0, 0xe3, 0x01, 0xbd, 0x53, 0xcf, 0xd1, 0x32,
+			0x16, 0x41, 0x31, 0x0e, 0xa1, 0xa1, 0x4a, 0xe7,
+			0x93, 0xcb, 0xe1, 0xdd, 0x4b, 0xa2, 0xcf, 0xbf,
+			0x8b, 0xb7, 0x39, 0x17, 0x28, 0xe2, 0xce, 0x7e,
+			0x1b, 0x71, 0x9b, 0xf1, 0xbf, 0xf4, 0xb9, 0xe4,
+			0xf9, 0x02, 0x95, 0x40, 0x7a, 0x11, 0xf8, 0x7f,
+			0x54, 0xd4, 0x80, 0x1c, 0x8d, 0x14, 0xdb, 0xa0,
+			0xc0, 0x5f, 0xc6, 0x49, 0x79, 0x11, 0x5f, 0x8d,
+			0x6c, 0x3b, 0x13, 0x3b, 0x37, 0xdd, 0x9a, 0x4c,
+			0x2f, 0x25, 0x71, 0xdb, 0x94, 0x0f, 0x84, 0x70,
+			0xa1, 0x4e, 0xea, 0x6c, 0xac, 0x50, 0x12, 0x85,
+			0xa5, 0xe4, 0xdf, 0x13, 0x84, 0x94, 0x3d, 0x40,
+			0xbc, 0xac, 0x0f, 0x7d, 0x58, 0x79, 0x00, 0x11,
+			0x29, 0xb2, 0x9e, 0x14, 0x2f, 0x5f, 0xc0, 0x7c,
+			0xe3, 0xf1, 0x96, 0x9d, 0xea, 0xcd, 0x34, 0xf9,
+			0x69, 0x26, 0x98, 0x79, 0xb5, 0x24, 0xa3, 0x63,
+			0x2d, 0xd4, 0xc1, 0x32, 0xe8, 0xec, 0x40, 0x25,
+			0xf5, 0x74, 0xf4, 0x07, 0x48, 0x5d, 0xc7, 0x56,
+			0xc1, 0xde, 0x8d, 0xb5, 0x60, 0x32, 0x72, 0x92,
+			0xc6, 0xe1, 0xcb, 0xb1, 0x5c, 0xab, 0x17, 0xef,
+			0xb7, 0x0c, 0x20, 0x85, 0xe8, 0xdf, 0xa4, 0x69,
+			0xba, 0x9d, 0x90, 0xff, 0x48, 0x51, 0xf1, 0xde,
+			0x7a, 0xdf, 0x2a, 0xac, 0x40, 0x0b, 0xf4, 0x3b,
+			0x61, 0xe2, 0x94, 0xea, 0x75, 0x53, 0x58, 0xe0,
+			0xbd, 0x8f, 0xde, 0xf4, 0x4d, 0x3d, 0x05, 0x78,
+			0xfa, 0x80, 0x6a, 0x6a, 0xd0, 0x8d, 0x3e, 0xb8,
+			0xb4, 0x21, 0x2c, 0x81, 0x89, 0x1b, 0x18, 0x14,
+			0x89, 0xcf, 0xf8, 0x23, 0x1b, 0x8b, 0x17, 0xd1,
+			0x71, 0xea, 0xcd, 0x25, 0x15, 0x72, 0x03, 0x04,
+			0x58, 0x39, 0x9c, 0x94, 0xe1, 0x3d, 0xad, 0x91,
+			0xd9, 0x68, 0x10, 0xbb, 0xbb, 0xe6, 0x7a, 0xb3,
+			0xaf, 0x7b, 0xd9, 0xba, 0x26, 0x0d, 0xd4, 0x78,
+			0x11, 0x14, 0xf5, 0xc0, 0xfb, 0x09, 0xa9, 0xe8,
+			0x8b, 0x09, 0x99, 0x04, 0x05, 0x40, 0xa0, 0x2a,
+			0xfd, 0x2a, 0x36, 0xae, 0x33, 0x79, 0x83, 0xdb,
+			0x8f, 0xfa, 0x85, 0x5c, 0xa7, 0x44, 0xf7, 0x58,
+			0x3e, 0x3b, 0x7b, 0xfd, 0x81, 0xf3, 0xa4, 0xb4,
+			0x6f, 0x1b, 0x08, 0xa5, 0xd9, 0xc1, 0xd9, 0x95,
+			0x50, 0x8a, 0x9e, 0x0f, 0x6a, 0xc5, 0xae, 0x7d,
+			0x21, 0x74, 0x35, 0x5f, 0xfe, 0x4b, 0x8c, 0x9d,
+			0x2a, 0xa3, 0x5f, 0xfe, 0x1e, 0xfb, 0x61, 0x04,
+			0xf7, 0xc2, 0x20, 0x77, 0x4d, 0xa4, 0x30, 0x53,
+			0x17, 0xb3, 0x3d, 0x6c, 0x64, 0xda, 0x2b, 0x49,
+			0x4f, 0x75, 0x78, 0x4d, 0x3f, 0x8d, 0xec, 0x65,
+			0x53, 0x3c, 0x78, 0x93, 0x4e, 0x51, 0x97, 0x19,
+			0xc2, 0x36, 0x2f, 0x9f, 0x1d, 0xf8, 0xe7, 0x41,
+			0xfe, 0xb5, 0xe9, 0xeb, 0x56, 0x95, 0x94, 0x7d,
+			0x7d, 0xea, 0xb8, 0xdc, 0x7e, 0xf6, 0x43, 0xaf,
+			0x37, 0x9b, 0x22, 0x4b, 0x78, 0x38, 0x87, 0x52,
+			0x52, 0x1f, 0x2c, 0x8b, 0x26, 0x5a, 0x5a, 0xd2,
+			0xb3, 0xd8, 0x83, 0xba, 0x42, 0xce, 0xb2, 0x4d,
+			0xf1, 0x8f, 0x2d, 0x0e, 0x82, 0x0d, 0xee, 0xe2,
+			0x0f, 0x4d, 0x7b, 0xc9, 0x97, 0x09, 0xd4, 0x6d,
+			0x4f, 0xaf, 0xcd, 0x65, 0xfb, 0x6d, 0xf2, 0x54,
+			0x02, 0x36, 0x69, 0x92, 0xee, 0xb3, 0x6f, 0x52,
+			0xfa, 0xe7, 0x52, 0xd1, 0xbe, 0xa6, 0xb3, 0x4c,
+			0x6c, 0xbe, 0x65, 0xd2, 0x83, 0x11, 0x9e, 0xa7,
+			0xd2, 0x54, 0x2f, 0x6a, 0x5e, 0x24, 0x3a, 0x27,
+			0x37, 0x9f, 0x6c, 0x87, 0x9e, 0x15, 0x71, 0x34,
+			0x73, 0x8e, 0x68, 0xbe, 0x60, 0xcb, 0x35, 0xbf,
+			0xd1, 0x00, 0xc5, 0xa5, 0xc4, 0xe7, 0x3d, 0xbb,
+			0x1d, 0x24, 0x65, 0x0b, 0x49, 0xdf, 0x8b, 0x18,
+			0x6a, 0xeb, 0x37, 0x7a, 0xd9, 0xc4, 0x16, 0x00,
+			0xfe, 0x99, 0xdf, 0xb8, 0x5d, 0x3c, 0xac, 0x7b,
+			0xc4, 0xe3, 0x7b, 0x09, 0x14, 0x19, 0x43, 0xa8,
+			0x9f, 0x27, 0xb3, 0xd8, 0xbe, 0x11, 0xd6, 0xeb,
+			0xc3, 0x45, 0x60, 0xf7, 0x76, 0x27, 0x96, 0xbe,
+			0x2e, 0x50, 0x17, 0x9f, 0x3c, 0x31, 0x5e, 0xac,
+			0xe8, 0xf1, 0x4f, 0xf5, 0x47, 0x1a, 0xa7, 0xc8,
+			0x37, 0x02, 0xc5, 0xc8, 0x9c, 0xfe, 0xb9, 0x49,
+			0x0b, 0x97, 0x80, 0x22, 0x7a, 0x41, 0xe3, 0x28,
+			0xa8, 0x82, 0xe5, 0xa2, 0x13, 0x97, 0x4e, 0x0f,
+			0x57, 0x6b, 0x6f, 0x12, 0x02, 0x24, 0x63, 0x88,
+			0xda, 0xc7, 0x15, 0xd5, 0x0c, 0xb4, 0x44, 0x2f,
+			0x8c, 0xcb, 0x84, 0x1a, 0x5f, 0x28, 0x47, 0xe7,
+			0xd5, 0xf4, 0x04, 0x71, 0x4a, 0xd6, 0xe2, 0x2c,
+			0x75, 0x87, 0x07, 0xcf, 0x0a, 0x2d, 0x77, 0x95,
+			0x88, 0xbd, 0xeb, 0xa4, 0x10, 0x16, 0xe5, 0x75,
+			0x0c, 0x38, 0x33, 0xe7, 0xf9, 0x09, 0x2a, 0x3e,
+			0xcc, 0x0e, 0x1b, 0x6c, 0xa0, 0xd9, 0xc6, 0x7c,
+			0xb8, 0x8e, 0xfa, 0xdd, 0xe8, 0xbe, 0x2c, 0xbf,
+			0x51, 0xd3, 0x1c, 0xe1, 0x87, 0xf5, 0xbf, 0x20,
+			0x6f, 0x62, 0xc9, 0xbd, 0x55, 0x0f, 0xa1, 0xdd,
+			0xdf, 0x7a, 0x0d, 0x7d, 0x1c, 0x39, 0x59, 0x1e,
+			0x94, 0x4e, 0x43, 0x5e, 0xb8, 0x0f, 0xcb, 0x0d,
+			0x1d, 0x49, 0x05, 0x20, 0x63, 0x65, 0x5c, 0xe6,
+			0x37, 0x68, 0x0f, 0xd7, 0x0b, 0xf4, 0xaf, 0xab,
+			0xc9, 0xce, 0x54, 0xee, 0xbf, 0xb2, 0xbd, 0x36,
+			0x44, 0x40, 0x36, 0xcd, 0x8d, 0x26, 0xe5, 0xc5,
+			0x5a, 0xbb, 0xd3, 0x94, 0xa3, 0x41, 0x2f, 0x0d,
+			0xd5, 0x22, 0x8a, 0x1f, 0x61, 0xc6, 0x07, 0xd9,
+			0xae, 0x45, 0x8d, 0x24, 0x16, 0xae, 0x93, 0x9b,
+			0xc2, 0x92, 0xd4, 0x72, 0x69, 0x98, 0x22, 0xbb,
+			0x4a, 0x00, 0xdf, 0xf0, 0xbb, 0x01, 0xba, 0xbd,
+			0x27, 0x90, 0xa1, 0x7e, 0x90, 0x5e, 0xd9, 0xaf,
+			0x9b, 0x48, 0xe5, 0x42, 0x70, 0xc4, 0x5b, 0x31,
+			0x56, 0x12, 0xf5, 0xb6, 0x14, 0x1d, 0x53, 0xce,
+			0xc2, 0x57, 0x62, 0xdd, 0xe6, 0x28, 0x42, 0x97,
+			0x67, 0xbf, 0xa6, 0x56, 0x8a, 0xa4, 0xa8, 0x90,
+			0x86, 0x61, 0x88, 0x21, 0x64, 0x1d, 0x3f, 0xc7,
+			0x9c, 0x44, 0xe2, 0x96, 0xa8, 0x3a, 0x4d, 0xfc,
+			0xfc, 0x0b, 0xd8, 0x7a, 0x97, 0x81, 0x05, 0x75,
+			0x72, 0xf1, 0xee, 0xcd, 0x21, 0x67, 0x54, 0x2d,
+			0x1a, 0xc5, 0x6a, 0x51, 0x14, 0xf9, 0x12, 0x59,
+			0x33, 0x5b, 0xf7, 0x3c, 0x5b, 0xca, 0x37, 0xb6,
+			0xa9, 0xcb, 0x6f, 0x2e, 0xfa, 0x24, 0x16, 0x3c,
+			0xd9, 0xfe, 0x3b, 0x5e, 0xc2, 0x38, 0x19, 0x4f,
+			0xcb, 0x33, 0x88, 0x7d, 0x33, 0xf4, 0x1b, 0x0d,
+			0xb3, 0xf8, 0xa2, 0xca, 0x88, 0xdc, 0x58, 0x87,
+			0x11, 0x21, 0x3d, 0xb7, 0x47, 0x20, 0x56, 0x8f,
+			0x4c, 0x54, 0xec, 0xa4, 0x09, 0x65, 0x47, 0xe4,
+			0x7f, 0x4e, 0x19, 0xdc, 0x4e, 0x4a, 0x81, 0x51,
+			0xb8, 0x5c, 0x7b, 0x2f, 0x33, 0xdd, 0xb9, 0x2b,
+			0x13, 0xa4, 0xc4, 0x11, 0xb0, 0x35, 0x74, 0x9f,
+			0xea, 0x06, 0xce, 0xe9, 0xec, 0x69, 0x0d, 0x7e,
+			0xf5, 0x10, 0x82, 0x10, 0xcf, 0xbd, 0xa8, 0x7f,
+			0xe5, 0x50, 0x05, 0x61, 0x30, 0x96, 0x99, 0xee,
+			0x62, 0xcd, 0x9c, 0x15, 0x2e, 0x0f, 0xee, 0x80,
+			0x37, 0x87, 0x9b, 0xd7, 0x64, 0x04, 0xa6, 0x66,
+			0x85, 0xf8, 0xc5, 0xed, 0xe0, 0x2c, 0x7c, 0x26,
+			0x4d, 0x69, 0x91, 0xe4, 0xcd, 0x44, 0xd2, 0xda,
+			0x27, 0x91, 0x33, 0xea, 0xf8, 0xe0, 0xae, 0x46,
+			0x44, 0x47, 0x10, 0xd4, 0x83, 0x55, 0x2c, 0x37,
+			0x92, 0xce, 0x16, 0x89, 0x2f, 0x1d, 0x1a, 0xa2,
+			0xb9, 0x41, 0xe0, 0xce, 0x16, 0xce, 0x4a, 0x18,
+			0x1a, 0x5f, 0x97, 0xd7, 0x3f, 0x2f, 0x4c, 0x07,
+			0xf8, 0xcf, 0x03, 0x26, 0x2a, 0x00, 0xa3, 0xe4,
+			0x28, 0x45, 0x68, 0x8c, 0x6c, 0x98, 0xa8, 0x96,
+			0x09, 0x08, 0x99, 0x34, 0xec, 0x2e, 0x29, 0x1a,
+			0xe5, 0x97, 0x37, 0x8d, 0x43, 0x9f, 0x2f, 0xfa,
+			0x75, 0xb5, 0x6c, 0xa9, 0x88, 0x77, 0x5e, 0x57,
+			0x4d, 0x07, 0x50, 0x4d, 0xb8, 0x32, 0x9f, 0xbd,
+			0x6f, 0x59, 0xb1, 0x46, 0x83, 0xef, 0xff, 0x63,
+			0xdc, 0x03, 0x49, 0x17, 0xb8, 0x29, 0x32, 0xbf,
+			0xc8, 0x71, 0x61, 0xba, 0x8e, 0x35, 0x2d, 0xce,
+			0xf4, 0x75, 0x77, 0xe6, 0xab, 0xaf, 0x9c, 0xc5,
+			0xd7, 0x4e, 0xb9, 0xfa, 0x53, 0x1b, 0x9a, 0xe7,
+			0x52, 0xb6, 0x4f, 0x9a, 0x1d, 0xe9, 0x10, 0x0a,
+			0x79, 0xd2, 0xae, 0xb1, 0x61, 0xa3, 0x80, 0x48,
+			0x36, 0x4e, 0xc7, 0x47, 0x4a, 0x8d, 0x66, 0x8d,
+			0xf1, 0x06, 0xb9, 0x23, 0x27, 0x4b, 0xdf, 0x36,
+			0x9f, 0xb8, 0x2a, 0x62, 0xf1, 0x65, 0x65, 0x4d,
+			0xa1, 0x5b, 0xaf, 0x0c, 0x0f, 0xb3, 0x9c, 0xc5,
+			0x46, 0xff, 0xab, 0x46, 0x80, 0x88, 0xc0, 0x2e,
+			0x64, 0xcd, 0x1f, 0x60, 0x3d, 0x52, 0xdf, 0x36,
+			0x49, 0x14, 0x6c, 0x8e, 0x0a, 0x11, 0x41, 0x3c,
+			0x93, 0x01, 0xe5, 0xf5, 0x46, 0xca, 0x3e, 0x9b,
+			0xf8, 0xa3, 0x42, 0xfe, 0x2b, 0x0b, 0xf5, 0xdc,
+			0x8d, 0x64, 0x02, 0xd7, 0x27, 0xb9, 0x90, 0xec,
+			0x4d, 0xa7, 0x13, 0xc5, 0x92, 0xb8, 0x8b, 0x9b,
+			0x7e, 0xc4, 0x3f, 0x25, 0x3d, 0x56, 0xf6, 0x6e,
+			0xdc, 0xae, 0xc6, 0xb5, 0x7a, 0x6e, 0x8c, 0x45,
+			0x92, 0xbc, 0x88, 0x17, 0x45, 0xd5, 0x35, 0x96,
+			0x10, 0xec, 0xaf, 0x61, 0x45, 0xe9, 0x71, 0x26,
+			0xd2, 0xf4, 0xb4, 0xe6, 0x11, 0x25, 0xf8, 0x8b,
+			0xe1, 0x6d, 0xb0, 0x05, 0x52, 0x53, 0x96, 0xba,
+			0x61, 0x9b, 0x94, 0x49, 0xf7, 0x03, 0xa7, 0x1a,
+			0x85, 0x10, 0x8e, 0x93, 0xb9, 0xf4, 0xad, 0x0d,
+			0x15, 0x0c, 0x58, 0xa3, 0xea, 0xab, 0x17, 0xbd,
+			0xbd, 0x88, 0x38, 0x61, 0x73, 0x41, 0xa1, 0xc2,
+			0x7d, 0x15, 0x8c, 0x2d, 0x6b, 0xb5, 0x19, 0x63,
+			0x46, 0xb7, 0xc3, 0xf7, 0x62, 0x39, 0xd0, 0xbb,
+			0x1a, 0x7a, 0xc4, 0x12, 0x11, 0x0f, 0x96, 0xd0,
+			0x03, 0x96, 0x8a, 0x8f, 0x83, 0xc8, 0xad, 0xb8,
+			0x12, 0x5c, 0xdd, 0xb3, 0xed, 0xc5, 0x55, 0x92,
+			0x67, 0xef, 0xf8, 0xdc, 0xfa, 0x60, 0xe2, 0xae,
+			0x4b, 0x52, 0xce, 0xbc, 0x97, 0x0c, 0x18, 0xbe,
+			0xc3, 0x11, 0xa3, 0xaa, 0x29, 0xe7, 0xfc, 0xf4,
+			0x8a, 0x34, 0x49, 0x14, 0x04, 0x29, 0xa2, 0xb1,
+			0xe4, 0xf1, 0x38, 0x3c, 0xb0, 0x1f, 0x08, 0x97,
+			0xbd, 0xe1, 0xf4, 0x8e, 0xd8, 0x57, 0x3d, 0x95,
+			0x38, 0x45, 0x21, 0x74, 0xa2, 0xd4, 0x56, 0xdb,
+			0x0e, 0x11, 0xc9, 0x11, 0x6c, 0x67, 0x5b, 0xa4,
+			0xa6, 0x4a, 0x65, 0x78, 0xdb, 0xc3, 0x44, 0x10,
+			0x40, 0x3f, 0xc3, 0xbf, 0x5d, 0xbf, 0xb1, 0x86,
+			0xfe, 0xb5, 0xc9, 0x36, 0xcf, 0x3a, 0xc4, 0x04,
+			0xbe, 0x05, 0x11, 0xb4, 0x54, 0x03, 0x5c, 0x72,
+			0xcf, 0x1a, 0xbf, 0x3a, 0x02, 0xfd, 0x9d, 0xfa,
+			0xe8, 0xa4, 0x8e, 0x69, 0x03, 0x96, 0x3e, 0x89,
+			0xc4, 0x41, 0x13, 0x95, 0x45, 0x6e, 0xc1, 0xb6,
+			0x8a, 0xdd, 0x0c, 0x6d, 0xc9, 0x6f, 0xd3, 0x4e,
+			0xb3, 0xd0, 0x94, 0x93, 0x90, 0x08, 0x8e, 0x23,
+			0x64, 0x96, 0x59, 0x63, 0x8d, 0x82, 0x3a, 0x8c,
+			0x24, 0xc5, 0x4f, 0x6b, 0x32, 0xa3, 0x3c, 0x6c,
+			0x2c, 0x70, 0xbc, 0x9a, 0x57, 0x57, 0x1b, 0x18,
+			0x57, 0x91, 0xb3, 0xc4, 0xc9, 0x12, 0x76, 0xb0,
+			0x2c, 0x10, 0xa2, 0xe4, 0xd2, 0xdd, 0x96, 0x99,
+			0x15, 0x81, 0xa6, 0xe7, 0xe6, 0x58, 0x83, 0xcb,
+			0xc0, 0xa1, 0x71, 0xdb, 0x67, 0x41, 0xda, 0x58,
+			0x8b, 0x90, 0x5d, 0x32, 0xa7, 0x6d, 0x98, 0x9a,
+			0x72, 0x9c, 0x17, 0x07, 0x38, 0xc6, 0xad, 0x38,
+			0x28, 0x56, 0x73, 0x95, 0x70, 0x6b, 0xad, 0x66,
+			0xc5, 0x91, 0x5b, 0x0c, 0x82, 0x82, 0xaf, 0x4d,
+			0xf8, 0xba, 0x3f, 0xd1, 0x03, 0xc4, 0x0c, 0x10,
+			0xa3, 0xc0, 0x85, 0x15, 0xdd, 0x46, 0xe0, 0x12,
+			0xb0, 0xb6, 0x40, 0x9e, 0x92, 0x38, 0xfd, 0x7e,
+			0xa3, 0x87, 0xb1, 0x04, 0x08, 0x3c, 0x24, 0xc8,
+			0xac, 0xa2, 0x5a, 0xb4, 0x28, 0xd6, 0xc2, 0xad,
+			0x2e, 0xa8, 0x2d, 0xc7, 0x40, 0xb1, 0x0d, 0x1f,
+			0xfd, 0xbe, 0x7e, 0x60, 0x49, 0xf5, 0x20, 0x4d,
+			0x23, 0xfd, 0x07, 0x22, 0x04, 0xbf, 0x44, 0xfd,
+			0x98, 0x99, 0x4d, 0x58, 0xc8, 0x21, 0x7d, 0x59,
+			0x46, 0xd0, 0x9c, 0x97, 0x59, 0x4f, 0x0a, 0x84,
+			0xc7, 0x2c, 0x89, 0x84, 0x9e, 0x9a, 0x1e, 0xc7,
+			0xc1, 0x31, 0x5c, 0x68, 0xf2, 0x80, 0x7f, 0xf6,
+			0xb9, 0x4e, 0x14, 0xb8, 0xf9, 0xa3, 0xf8, 0x26,
+			0xc4, 0xf4, 0xad, 0xdd, 0xaf, 0x3b, 0xd5, 0xc6,
+			0xd2, 0x05, 0xe2, 0xdf, 0xb8, 0x2b, 0x91, 0x26,
+			0x3c, 0x10, 0xbc, 0x0c, 0x37, 0x51, 0x9b, 0x29,
+			0x1e, 0x3d, 0x99, 0x6e, 0xa5, 0x8e, 0xcc, 0xd4,
+			0x59, 0x25, 0xc4, 0xcb, 0x5c, 0xef, 0xbb, 0x25,
+			0x5b, 0x79, 0xa3, 0x32, 0x4c, 0xbd, 0x1f, 0xaa,
+			0x2b, 0x5a, 0xc7, 0x65, 0x54, 0x1d, 0x13, 0xad,
+			0x9f, 0xae, 0x13, 0x29, 0xb5, 0x8e, 0x30, 0x57,
+			0xef, 0xb6, 0x9d, 0x5b, 0x66, 0xeb, 0xaf, 0x49,
+			0x6a, 0xc0, 0x56, 0xf9, 0x76, 0x94, 0xc5, 0x91,
+			0xbf, 0x20, 0xd7, 0x8d, 0x66, 0x7f, 0xe4, 0x63,
+			0x60, 0x93, 0x47, 0x3f, 0x60, 0x06, 0xe5, 0x93,
+			0xbd, 0x2b, 0xc4, 0x8e, 0x22, 0xe8, 0xba, 0x49,
+			0x2d, 0x19, 0xad, 0x87, 0x69, 0x7b, 0x20, 0x6f,
+			0x66, 0x5c, 0x11, 0x30, 0xeb, 0xc1, 0x6e, 0x15,
+			0x5f, 0x60, 0x67, 0xb9, 0x80, 0xbb, 0x07, 0x95,
+			0xf9, 0x6d, 0x30, 0x4b, 0x7a, 0x59, 0xd1, 0x99,
+			0x11, 0x6c, 0x0d, 0x92, 0x81, 0x8e, 0xe3, 0xcb,
+			0x72, 0x3f, 0x4e, 0x37, 0x89, 0x8f, 0xff, 0x72,
+			0xc5, 0x3d, 0x27, 0x41, 0x2c, 0xc4, 0x74, 0xd2,
+			0x39, 0xe7, 0x95, 0xf4, 0xf7, 0xac, 0xcc, 0x76,
+			0x6e, 0x55, 0xe0, 0x98, 0x98, 0x64, 0xde, 0xdf,
+			0xa2, 0x70, 0x07, 0x4c, 0x69, 0x5a, 0xe4, 0xec,
+			0x88, 0x51, 0xd3, 0x2f, 0xba, 0x49, 0x2c, 0x70,
+			0x55, 0x68, 0x90, 0x6c, 0x83, 0xb3, 0xfe, 0xf0,
+			0xe8, 0x6d, 0x30, 0x60, 0x74, 0x70, 0x96, 0xa7,
+			0xce, 0x4c, 0x61, 0x36, 0xfa, 0x3e, 0x07, 0x1f,
+			0x49, 0xe9, 0x50, 0xea, 0x1f, 0xf2, 0x6c, 0x6c,
+			0x87, 0xa7, 0x4f, 0x2e, 0x1b, 0x3d, 0x26, 0xde,
+			0x3a, 0x2f, 0xda, 0x7b, 0x1c, 0x6c, 0x1f, 0x37,
+			0xd1, 0xdd, 0x58, 0xb4, 0xe1, 0x45, 0x9e, 0xbb,
+			0xe8, 0xae, 0xed, 0xa1, 0x4b, 0x83, 0x50, 0xfe,
+			0x98, 0xb7, 0xc1, 0x7e, 0x50, 0x03, 0xc4, 0xae,
+			0x4c, 0x07, 0x82, 0xc3, 0x59, 0x94, 0x58, 0x45,
+			0x6a, 0xf8, 0xd4, 0x20, 0xf2, 0x39, 0xf4, 0xb3,
+			0x34, 0xab, 0xb0, 0xc3, 0x73, 0xc6, 0xd9, 0x7f,
+			0x1c, 0x13, 0xe1, 0x18, 0x23, 0xa5, 0xff, 0x53,
+			0xe7, 0x71, 0x79, 0xe3, 0x66, 0xc3, 0x5b, 0xe4,
+			0x07, 0xf4, 0x1f, 0xe6, 0xd4, 0x9d, 0xb9, 0x42,
+			0x4e, 0xce, 0x91, 0x94, 0x69, 0xea, 0xa7, 0x79,
+			0x70, 0x84, 0x8a, 0x2d, 0xe7, 0x61, 0xca, 0x1f,
+			0xf0, 0x8d, 0x88, 0x7c, 0x15, 0xa9, 0x30, 0x38,
+			0x86, 0x0b, 0x49, 0x1c, 0xf3, 0x92, 0xfd, 0xa8,
+			0xf6, 0x91, 0x1f, 0x42, 0x95, 0x9b, 0x29, 0xdc,
+			0x35, 0x2c, 0xf8, 0xc9, 0xf1, 0x77, 0x60, 0xe3,
+			0x0a, 0x7b, 0xa5, 0x21, 0xff, 0xb2, 0x93, 0x45,
+			0x50, 0xf2, 0xb9, 0xce, 0xd4, 0xbd, 0x68, 0x82,
+			0x31, 0xea, 0xa8, 0x7b, 0x4e, 0x0b, 0x12, 0x1d,
+			0x07, 0x97, 0x91, 0xb2, 0xb7, 0x6e, 0xeb, 0x76,
+			0xf5, 0x3b, 0x1a, 0xa4, 0x79, 0x83, 0x80, 0xfc,
+			0x0f, 0x80, 0x73, 0xfd, 0x54, 0x2c, 0xa6, 0x14,
+			0xb8, 0xad, 0xdd, 0x2c, 0x84, 0xf7, 0xd9, 0xf1,
+			0x6f, 0x74, 0x2c, 0xe7, 0xe7, 0xfa, 0x16, 0x03,
+			0x3e, 0xe5, 0xa3, 0x69, 0x59, 0x3c, 0x16, 0x59,
+			0x00, 0xa2, 0x8a, 0xa4, 0x37, 0x06, 0xbe, 0x10,
+			0xef, 0x24, 0xec, 0x06, 0x84, 0xb6, 0xd2, 0x23,
+			0xa8, 0x00, 0x10, 0x06, 0x80, 0xdd, 0x6a, 0xb7,
+			0x21, 0x50, 0xae, 0xf0, 0x51, 0xba, 0x5b, 0x29,
+			0xe0, 0x8f, 0xb0, 0x11, 0x11, 0x47, 0x79, 0x47,
+			0x66, 0x42, 0x44, 0x8e, 0x00, 0x6c, 0x13, 0x7f,
+			0xcc, 0xff, 0xa1, 0xcb, 0x36, 0xf6, 0x2d, 0x09,
+			0x72, 0x45, 0x81, 0xce, 0xf6, 0x84, 0xff, 0x51,
+			0xf3, 0x7b, 0x4b, 0x44, 0xcb, 0xeb, 0xec, 0xbd,
+			0x2d, 0xee, 0xe6, 0x71, 0x6f, 0x8a, 0xa4, 0x2b,
+			0x28, 0xdf, 0x15, 0xa5, 0xfc, 0xce, 0xfe, 0x95,
+			0x2d, 0xda, 0x17, 0x40, 0x0c, 0xce, 0xad, 0x53,
+			0xb1, 0x18, 0x7b, 0x26, 0x85, 0x82, 0xce, 0x77,
+			0x44, 0x2c, 0x4f, 0x78, 0xdd, 0x1c, 0x5b, 0xd0,
+			0x0e, 0xe9, 0x9b, 0xf2, 0xa2, 0x25, 0xeb, 0x74,
+			0x90, 0x62, 0x7a, 0x43, 0xe4, 0x91, 0xf8, 0xad,
+			0x52, 0xbd, 0xbe, 0xec, 0x83, 0x06, 0x5a, 0x4b,
+			0x2b, 0x06, 0x6e, 0x3a, 0xc6, 0xec, 0x60, 0x0e,
+			0x0a, 0x86, 0xbf, 0x69, 0x21, 0x74, 0x5a, 0xd2,
+			0xbf, 0x79, 0x3b, 0xd4, 0x17, 0xc4, 0x94, 0x25,
+			0xed, 0x6c, 0xec, 0x2a, 0xeb, 0x3f, 0xf9, 0x3a,
+			0xba, 0xf4, 0x4d, 0xda, 0xfc, 0x6e, 0x46, 0x93,
+			0xd7, 0x24, 0x2f, 0xb2, 0xec, 0xbb, 0x2f, 0x16,
+			0x7a, 0xee, 0x2a, 0xcf, 0xf6, 0x2e, 0xf5, 0x5f,
+			0xb1, 0x79, 0xdf, 0xc1, 0x46, 0xb1, 0xc0, 0x60,
+			0x65, 0x88, 0x96, 0x75, 0x5e, 0xfd, 0x29, 0xe4,
+			0xf0, 0x01, 0x9d, 0xcd, 0x8f, 0xf8, 0x16, 0xb4,
+			0xfd, 0x6f, 0x27, 0x6b, 0xf9, 0x3c, 0x18, 0xb6,
+			0x94, 0x67, 0xb4, 0x4c, 0x29, 0x53, 0xa3, 0x83,
+			0xa2, 0x44, 0x4b, 0xfd, 0x1d, 0xc3, 0xe4, 0xe0,
+			0x5c, 0x3c, 0x45, 0x25, 0x02, 0x68, 0x67, 0xdc,
+			0x84, 0x92, 0x1b, 0x5b, 0x42, 0xf7, 0x19, 0x6d,
+			0xbc, 0x3e, 0x0f, 0x9d, 0xe4, 0xf2, 0x2d, 0x48,
+			0xc3, 0xc4, 0x8c, 0xa7, 0x58, 0x2f, 0x55, 0xdd,
+			0x37, 0x22, 0x2c, 0x34, 0xba, 0x5c, 0x48, 0x7a,
+			0x05, 0x5b, 0x75, 0x62, 0x74, 0x17, 0x1d, 0xec,
+			0xd3, 0x61, 0x6f, 0xbc, 0x31, 0x49, 0x9b, 0xc1,
+			0x6e, 0x53, 0x8e, 0xf3, 0xea, 0x00, 0x7f, 0xad,
+			0xe9, 0xd2, 0xb1, 0x3e, 0x92, 0x9e, 0x72, 0xe9,
+			0x09, 0xfe, 0x61, 0x82, 0x75, 0x41, 0xc4, 0x9e,
+			0xe9, 0x81, 0x7b, 0xe4, 0x60, 0x4e, 0x2d, 0xf5,
+			0xb6, 0x71, 0x43, 0x15, 0x43, 0x33, 0x34, 0x3e,
+			0x7d, 0x8f, 0xb5, 0xc9, 0xe7, 0x13, 0xdc, 0x95,
+			0xf1, 0x18, 0x43, 0x83, 0x68, 0x3b, 0x2c, 0x11,
+			0xc2, 0x75, 0x34, 0x44, 0x96, 0x70, 0x5e, 0xfc,
+			0x95, 0x10, 0x06, 0xe9, 0xff, 0xd8, 0x4f, 0x51,
+			0x39, 0x9e, 0xb8, 0x00, 0x1c, 0x07, 0x9f, 0x83,
+			0xfe, 0x3f, 0x3b, 0xcb, 0xda, 0xfe, 0xbe, 0x61,
+			0xe8, 0xa9, 0x13, 0xf5, 0x0f, 0xcf, 0x69, 0xf1,
+			0xc2, 0xcf, 0xf2, 0x2f, 0xe9, 0x06, 0x3b, 0x75,
+			0x1e, 0xd2, 0x01, 0x85, 0x1b, 0xa3, 0x44, 0x55,
+			0x4c, 0x79, 0x23, 0xeb, 0x69, 0xa2, 0x3d, 0x30,
+			0x45, 0xd8, 0xc5, 0x95, 0xfb, 0xe8, 0x86, 0x36,
+			0x67, 0xb5, 0x8c, 0x81, 0x1d, 0x39, 0xfe, 0x0e,
+			0x4d, 0x53, 0xaf, 0x06, 0x7a, 0x14, 0xcc, 0xf0,
+			0xba, 0x04, 0xf8, 0x43, 0x07, 0x19, 0xc0, 0x2e,
+			0xd6, 0x61, 0xb8, 0xf5, 0x4c, 0x2f, 0x49, 0x27,
+			0x70, 0xd1, 0x14, 0xa3, 0xbc, 0x5f, 0xdd, 0x15,
+			0x52, 0x0e, 0x6f, 0x4f, 0xbe, 0x8a, 0x6d, 0xf7,
+			0x44, 0x6a, 0x52, 0x76, 0xb7, 0xb3, 0x7e, 0x3c,
+			0xd7, 0x3a, 0x44, 0xf3, 0x0c, 0x87, 0xa4, 0x85,
+			0x19, 0x96, 0xbd, 0x84, 0x60, 0x05, 0x3b, 0x8f,
+			0x2d, 0xfa, 0x1c, 0x2e, 0xae, 0x43, 0xca, 0xca,
+			0x9a, 0x9f, 0xd5, 0x82, 0xa2, 0x15, 0x86, 0xad,
+			0xc7, 0x88, 0xc6, 0x8a, 0x1f, 0xdd, 0xac, 0x12,
+			0x82, 0x73, 0x06, 0x01, 0xf2, 0x8a, 0x81, 0xeb,
+			0x00, 0x05, 0x77, 0xbd, 0xea, 0xf5, 0x25, 0xc6,
+			0x1d, 0xce, 0xac, 0xa9, 0x5d, 0x16, 0xa0, 0x17,
+			0xbb, 0x46, 0xde, 0x15, 0x2c, 0xfa, 0x8b, 0xf7,
+			0x73, 0xa6, 0x5c, 0x93, 0x2f, 0xa4, 0x05, 0x1a,
+			0x2b, 0x44, 0xe3, 0x28, 0xab, 0xfc, 0x14, 0x31,
+			0xcd, 0xae, 0x9b, 0xed, 0xa5, 0xe6, 0x07, 0x24,
+			0x22, 0xdf, 0xdd, 0x42, 0x61, 0x46, 0x2c, 0x54,
+			0x5f, 0x35, 0x72, 0x76, 0xa7, 0xda, 0x3d, 0xff,
+			0x93, 0x1b, 0x89, 0x4d, 0xe4, 0x49, 0xa5, 0xaa,
+			0xd4, 0x59, 0x16, 0xfe, 0xd6, 0xf6, 0x12, 0xc5,
+			0x96, 0x1a, 0x3d, 0x3b, 0x12, 0xac, 0x5f, 0x40,
+			0xaa, 0x42, 0x7f, 0x8f, 0x24, 0xa3, 0x70, 0x10,
+			0x03, 0x68, 0x73, 0x2e, 0x20, 0x04, 0x63, 0xdb,
+			0x08, 0xce, 0x22, 0x17, 0x49, 0xf7, 0x43, 0xf1,
+			0x20, 0x23, 0x2b, 0x5b, 0x50, 0x09, 0x22, 0xfa,
+			0x38, 0x70, 0x32, 0x08, 0x0e, 0xda, 0xf2, 0xcc,
+			0xef, 0x9f, 0xe0, 0x4f, 0x4f, 0x6c, 0x8f, 0x76,
+			0x42, 0x6f, 0x91, 0xa1, 0xdb, 0x34, 0xcd, 0xa6,
+			0x45, 0xab, 0x85, 0x3f, 0xf6, 0x5f, 0xa8, 0x73,
+			0x21, 0x58, 0x7b, 0x5b, 0xa3, 0xcc, 0x0b, 0x1f,
+			0x69, 0x64, 0x1d, 0x5e, 0x13, 0x6d, 0x35, 0x27,
+			0x02, 0x99, 0xce, 0x64, 0x0c, 0x13, 0xaf, 0x10,
+			0x91, 0x46, 0x0e, 0x9c, 0x8e, 0xb8, 0x4f, 0x25,
+			0x50, 0x90, 0xd0, 0x16, 0x41, 0xc6, 0x02, 0xec,
+			0x82, 0x47, 0xf4, 0xa0, 0x71, 0x72, 0xcd, 0xf0,
+			0x7a, 0x3e, 0x60, 0x14, 0xe3, 0x0a, 0x8a, 0xe5,
+			0xe6, 0x1c, 0x32, 0x48, 0xb3, 0x77, 0xb5, 0x0d,
+			0x50, 0xbc, 0x98, 0xcd, 0xb9, 0xd2, 0xb0, 0xc8,
+			0x7a, 0x7b, 0xd3, 0xb6, 0x69, 0xaa, 0x6e, 0xc2,
+			0x22, 0x7d, 0x2a, 0xbd, 0x3a, 0xfc, 0x11, 0x3f,
+			0xdd, 0x3e, 0x49, 0xfe, 0xe7, 0x49, 0x6b, 0x5b,
+			0x95, 0x35, 0xf9, 0xa1, 0x39, 0x66, 0x85, 0xe0,
+			0x14, 0x91, 0x1f, 0xdc, 0x19, 0x65, 0x35, 0x3c,
+			0xdf, 0x5e, 0xf2, 0x5e, 0xad, 0x49, 0x67, 0x16,
+			0xbd, 0x3b, 0x4a, 0xdb, 0x44, 0xb8, 0xaf, 0xff,
+			0x4e, 0x88, 0x5c, 0x42, 0x40, 0xfc, 0x2c, 0xaf,
+			0xb1, 0xc4, 0x58, 0x97, 0xf6, 0xeb, 0xaf, 0x1c,
+			0xac, 0xfe, 0x91, 0xcd, 0x5d, 0xa1, 0x8f, 0x24,
+			0x8f, 0x02, 0x3c, 0xea, 0x48, 0x0b, 0xb4, 0x95,
+			0x45, 0xf7, 0xc7, 0xbc, 0x2a, 0x6a, 0x99, 0xd2,
+			0x0f, 0xed, 0x70, 0xe6, 0xbb, 0x95, 0x8d, 0x08,
+			0x65, 0x8b, 0xe0, 0x19, 0xd2, 0x61, 0x68, 0xe3,
+			0x88, 0x67, 0xd5, 0x89, 0x97, 0xd0, 0x16, 0x3d,
+			0xa5, 0x8f, 0xfc, 0x06, 0xa3, 0xd8, 0xa0, 0x88,
+			0xc0, 0x5c, 0xf9, 0x03, 0xd3, 0x64, 0x2c, 0xf0,
+			0xb7, 0x63, 0x3c, 0xfb, 0xdc, 0x9a, 0x19, 0x35,
+			0x2f, 0x8b, 0xe8, 0x3e, 0x7b, 0xd4, 0x90, 0xd7,
+			0x18, 0xbb, 0x62, 0xaa, 0x90, 0x54, 0xbe, 0x95,
+			0xbc, 0x29, 0x9f, 0xf2, 0xca, 0x62, 0x0f, 0xfa,
+			0x8d, 0xe7, 0x7c, 0xad, 0x3e, 0xe5, 0x6c, 0xa9,
+			0x7f, 0xa7, 0xd4, 0xeb, 0x87, 0x05, 0xe3, 0xd8,
+			0xa4, 0x66, 0x0a, 0xc9, 0x0e, 0x61, 0x47, 0xaf,
+			0x86, 0x50, 0x61, 0x41, 0x23, 0x35, 0x59, 0x41,
+			0x17, 0xa2, 0xe7, 0x33, 0x6e, 0x8b, 0x4d, 0x10,
+			0x83, 0x70, 0xaa, 0xbd, 0x66, 0x2f, 0x71, 0x5e,
+			0x8e, 0x15, 0x5b, 0x50, 0x8c, 0x0e, 0x77, 0xd4,
+			0x66, 0x34, 0x4a, 0x3b, 0x6d, 0x6e, 0x1a, 0x28,
+			0xcf, 0x8d, 0x4b, 0x8a, 0xba, 0x19, 0xfe, 0xb3,
+			0xbe, 0x8b, 0x11, 0x98, 0xa3, 0x8e, 0x00, 0x5a,
+			0x9b, 0x0e, 0x57, 0x42, 0x9d, 0xd8, 0x8a, 0x61,
+			0xd8, 0x2d, 0x74, 0x7e, 0xdb, 0x49, 0xe0, 0x33,
+			0xaa, 0xe5, 0xc7, 0x1a, 0x5e, 0x82, 0x8b, 0x09,
+			0x2c, 0xc1, 0xeb, 0x12, 0x20, 0xb3, 0xc4, 0x7b,
+			0x6b, 0xbb, 0xb6, 0x70, 0x29, 0x01, 0x7e, 0x36,
+			0xf6, 0x8c, 0x6a, 0xc9, 0x5d, 0x34, 0x00, 0xec,
+			0x4d, 0x5b, 0x32, 0xdb, 0xe8, 0xda, 0x87, 0x66,
+			0xe3, 0x17, 0xd2, 0x9a, 0x85, 0x87, 0xc7, 0x1d,
+			0xfd, 0x14, 0x99, 0xdc, 0xa1, 0xa1, 0xef, 0xa4,
+			0xae, 0x7e, 0x4d, 0xa4, 0xd1, 0x13, 0x03, 0x85,
+			0x21, 0xe6, 0x55, 0xef, 0xec, 0xf4, 0x88, 0xe5,
+			0x13, 0x81, 0x88, 0xcd, 0xd5, 0x68, 0xd4, 0x76,
+			0x0c, 0x64, 0x0a, 0x42, 0xc1, 0x16, 0x70, 0x00,
+			0x6b, 0xec, 0x32, 0x14, 0xab, 0xa2, 0x4b, 0x19,
+			0x9f, 0xde, 0x8a, 0xa6, 0x92, 0x95, 0x97, 0x4a,
+			0x72, 0x3d, 0x8f, 0x9d, 0x1b, 0x15, 0x2e, 0x06,
+			0x94, 0x65, 0xc3, 0x00, 0xf9, 0xe7, 0x32, 0x41,
+			0x54, 0xdd, 0x35, 0xf1, 0x0a, 0x63, 0xc9, 0xfd,
+			0x38, 0x1e, 0xa0, 0x17, 0xa2, 0xbb, 0x7b, 0xc0,
+			0x08, 0xd1, 0xdd, 0x76, 0x8d, 0xb4, 0x98, 0x28,
+			0xf2, 0x5e, 0xe4, 0x8f, 0xcd, 0xcb, 0x72, 0x5c,
+			0x8b, 0x2f, 0x73, 0x09, 0x88, 0x92, 0x91, 0xf1,
+			0xb7, 0x68, 0xb1, 0xec, 0xa8, 0xc3, 0x64, 0x2e,
+			0x15, 0x6f, 0x02, 0x37, 0x59, 0x47, 0x38, 0x62,
+			0x2c, 0x17, 0xdb, 0x1e, 0xa7, 0xb8, 0x10, 0xb2,
+			0x2b, 0x63, 0x85, 0x0b, 0x5c, 0xcb, 0x6f, 0xb4,
+			0x5c, 0x20, 0x94, 0x04, 0xf8, 0x85, 0x9b, 0x5e,
+			0x78, 0xff, 0x7a, 0xc8, 0x69, 0x14, 0x70, 0xb0,
+			0xac, 0x89, 0x3f, 0x70, 0xc6, 0x67, 0x76, 0xd3,
+			0x12, 0x22, 0x81, 0x79, 0xfc, 0x0d, 0x07, 0xce,
+			0xc1, 0xb6, 0x4a, 0x7c, 0x7d, 0x89, 0xbc, 0x94,
+			0xf8, 0x9d, 0x59, 0xa8, 0xe5, 0x58, 0xe1, 0x01,
+			0xef, 0xa8, 0x26, 0x8c, 0x78, 0x2f, 0xeb, 0xf5,
+			0xfb, 0xa3, 0x1c, 0x5a, 0xf6, 0x2a, 0x96, 0xeb,
+			0x36, 0x8c, 0xfd, 0xc4, 0x08, 0x10, 0x72, 0xaa,
+			0xd8, 0xc5, 0x8a, 0xf8, 0xe5, 0x1f, 0xb9, 0x9d,
+			0x9a, 0x65, 0x97, 0x90, 0x95, 0xf8, 0x79, 0xae,
+			0x77, 0x13, 0x87, 0xc8, 0x2b, 0x30, 0x71, 0x3d,
+			0x69, 0xd0, 0x0a, 0x7a, 0xbd, 0x9d, 0x4c, 0x31,
+			0x63, 0xfe, 0x14, 0x64, 0x8d, 0x9e, 0xda, 0xcb,
+			0x0a, 0xd2, 0x77, 0x31, 0xb7, 0x17, 0x26, 0xfc,
+			0x91, 0x4e, 0x32, 0xa9, 0x03, 0x4a, 0x53, 0xef,
+			0xb7, 0x3f, 0x79, 0x45, 0x26, 0x50, 0xbf, 0x3a,
+			0x73, 0x32, 0x07, 0x66, 0xf0, 0x7d, 0xab, 0x34,
+			0x41, 0x74, 0xba, 0x56, 0x0c, 0x43, 0xe8, 0x0a,
+			0x39, 0x01, 0xce, 0x6f, 0xd8, 0x18, 0xc3, 0xa1,
+			0x3b, 0x86, 0xf2, 0x2f, 0xf2, 0x25, 0x4f, 0x65,
+			0xf5, 0x84, 0x88, 0x99, 0x3d, 0xdc, 0x4e, 0x38,
+			0xc4, 0xc2, 0xf2, 0x57, 0x07, 0x6a, 0xe8, 0x58,
+			0xe4, 0x12, 0xbf, 0xcf, 0xe2, 0x3d, 0xd1, 0xac,
+			0x78, 0xef, 0x17, 0x38, 0x26, 0x28, 0xc0, 0x7a,
+			0x36, 0x9a, 0x8a, 0xde, 0xe0, 0xd5, 0x90, 0x58,
+			0x62, 0x26, 0xc2, 0x02, 0x3d, 0xbd, 0xbe, 0x94,
+			0xd2, 0x42, 0xa0, 0x51, 0xcc, 0x53, 0x70, 0xdb,
+			0x16, 0xe2, 0x15, 0x82, 0x76, 0xf8, 0xc9, 0x91,
+			0x86, 0xd4, 0x67, 0xf6, 0xa1, 0xfb, 0x38, 0x8a,
+			0x0f, 0x94, 0x98, 0x01, 0xbb, 0x31, 0x4c, 0x9f,
+			0xea, 0xf8, 0x7e, 0xc0, 0xbd, 0x05, 0x69, 0xeb,
+			0x25, 0x32, 0xd1, 0xd0, 0x08, 0xa3, 0x9f, 0x5c,
+			0x18, 0x40, 0x02, 0xd0, 0xea, 0xb2, 0xf9, 0x4f,
+			0x77, 0xcc, 0x18, 0xa6, 0x2a, 0x54, 0xa0, 0x1c,
+			0xc1, 0x9b, 0x1d, 0x87, 0x29, 0xcd, 0x79, 0x33,
+			0xc6, 0x33, 0x26, 0x68, 0x3a, 0x5f, 0x2b, 0xe3,
+			0xb4, 0x24, 0xa0, 0x20, 0xf9, 0x90, 0xcd, 0xad,
+			0x34, 0x66, 0x90, 0x93, 0x22, 0xfe, 0x77, 0xc9,
+			0xb3, 0x83, 0x2d, 0x3c, 0xda, 0x71, 0x81, 0x15,
+			0xb1, 0xda, 0x30, 0x8a, 0x9a, 0xf5, 0x21, 0x86,
+			0x8e, 0x40, 0x36, 0x71, 0x45, 0x05, 0x7a, 0xcc,
+			0xc7, 0x0b, 0x06, 0x4c, 0x14, 0xd7, 0x09, 0x20,
+			0x8c, 0xb3, 0xbc, 0x7b, 0xa7, 0xed, 0x71, 0x46,
+			0xc3, 0xe5, 0xd8, 0xe1, 0xca, 0x9c, 0xfb, 0x2a,
+			0xc2, 0x19, 0xb1, 0xfd, 0xbd, 0x94, 0xae, 0x58,
+			0xb6, 0x89, 0x7d, 0x95, 0x06, 0xe3, 0xd3, 0xe1,
+			0xf8, 0x7b, 0x35, 0xcb, 0x31, 0x15, 0xb6, 0xa1,
+			0x34, 0x78, 0xba, 0xbc, 0x94, 0xb0, 0xf9, 0x9f,
+			0x0c, 0xbe, 0xdc, 0x2e, 0x1c, 0xa6, 0x33, 0xe4,
+			0x75, 0x9a, 0xa8, 0xbe, 0x0d, 0xd6, 0xfd, 0x30,
+			0x1b, 0x43, 0xfa, 0x26, 0x5a, 0x05, 0xf4, 0x1a,
+			0x7c, 0x8d, 0x0a, 0x64, 0xb7, 0xe3, 0x13, 0x06,
+			0x10, 0xf5, 0xb4, 0xf0, 0xd7, 0xef, 0x35, 0xbf,
+			0x26, 0x27, 0x60, 0x65, 0x85, 0xc7, 0xd1, 0xef,
+			0xf7, 0x0c, 0x33, 0x6f, 0x84, 0x99, 0xb4, 0xc7,
+			0xd4, 0x4f, 0x59, 0x64, 0x92, 0xa3, 0xe9, 0xff,
+			0x13, 0x20, 0x29, 0x4e, 0x5c, 0x66, 0x86, 0x88,
+			0xd1, 0x09, 0x0c, 0xab, 0xc3, 0xc7, 0xd8, 0xf6,
+			0x2f, 0x5f, 0x65, 0x79, 0xbe, 0xbf, 0xdd, 0xf6,
+			0x30, 0x33, 0x5c, 0x6f, 0x85, 0x91, 0xdf, 0xe1,
+			0xe6, 0x5c, 0x78, 0x7f, 0xa4, 0xa5, 0xa6, 0xf9,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x09, 0x11, 0x18, 0x21, 0x28,
+			0x30, 0x39, 0x40, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0xb8, 0xdd, 0x1b, 0x8f, 0x82, 0x82, 0x8e, 0x9f,
+			0x0a, 0x02, 0x15, 0xbd, 0x8f, 0xa8, 0x63, 0x72,
+			0xd4, 0x3f, 0x9c, 0xcf, 0xea, 0x88, 0x2a, 0x53,
+			0x95, 0x67, 0xe9, 0x96, 0xd0, 0xe3, 0x7e, 0x3c,
+			0x95, 0x1c, 0xc0, 0x8f, 0x83, 0x5e, 0x86, 0x4a,
+			0xd1, 0x52, 0x41, 0x68, 0xad, 0x66, 0xa7, 0xf8,
+			0xc8, 0xe5, 0xed, 0x99, 0x55, 0xf9, 0xce, 0xd6,
+			0x85, 0x3a, 0x8c, 0xe1, 0x48, 0xca, 0x2a, 0xcc,
+			0x7b, 0x4d, 0x4e, 0xe8, 0x47, 0x75, 0x35, 0x92,
+			0x24, 0xad, 0x7f, 0x35, 0x1f, 0xa6, 0x6c, 0xa2,
+			0x6d, 0xab, 0xe3, 0xc8, 0xf7, 0xde, 0xaa, 0x2d,
+			0xb4, 0x88, 0xbb, 0x55, 0x17, 0x49, 0x2a, 0x71,
+			0x17, 0xda, 0x4d, 0xc6, 0xc5, 0xc1, 0xd6, 0xc6,
+			0xb7, 0x8b, 0xa2, 0x86, 0xbd, 0x19, 0x2d, 0xc8,
+			0x42, 0x3b, 0xa6, 0x56, 0x82, 0xc9, 0x4e, 0xfd,
+			0x96, 0x46, 0xe2, 0xb8, 0x2b, 0xb4, 0x1f, 0x42,
+			0xb6, 0x4f, 0x25, 0xa4, 0x6e, 0xe3, 0xad, 0xd3,
+			0xc1, 0xc6, 0x54, 0xca, 0x62, 0x98, 0xf5, 0x8d,
+			0xc0, 0xc2, 0x58, 0xcb, 0xf2, 0x22, 0x19, 0xa4,
+			0x4e, 0xdc, 0xea, 0x7b, 0x36, 0x9f, 0x68, 0x06,
+			0x9d, 0x24, 0x3e, 0xa3, 0xef, 0xc7, 0x00, 0xfc,
+			0xb3, 0x78, 0x41, 0x4c, 0xc8, 0x9e, 0x83, 0x93,
+			0x64, 0x1b, 0x14, 0x80, 0xdb, 0xcc, 0xfd, 0xa7,
+			0xe2, 0x56, 0x13, 0x93, 0x79, 0xfd, 0xf9, 0xd2,
+			0x02, 0x71, 0x9c, 0xec, 0x2a, 0xa6, 0x39, 0xfe,
+			0xac, 0x25, 0x3c, 0x4b, 0x8c, 0xac, 0x8b, 0x82,
+			0x3c, 0xde, 0xb0, 0x63, 0x52, 0x7f, 0xc5, 0xfe,
+			0x8f, 0x90, 0xa1, 0x18, 0x71, 0xdd, 0x10, 0xb8,
+			0xc7, 0xf6, 0x4c, 0xaa, 0x87, 0xf2, 0xec, 0x66,
+			0xd7, 0xfe, 0x8a, 0xf0, 0x0e, 0x70, 0x88, 0x9d,
+			0x21, 0x9e, 0x07, 0xe6, 0x11, 0x61, 0xcc, 0x19,
+			0xb2, 0xa4, 0x79, 0x98, 0xff, 0xdc, 0xe2, 0xf5,
+			0x4d, 0x04, 0xd9, 0x94, 0x51, 0x89, 0x28, 0x06,
+			0xb5, 0x8a, 0x7b, 0xb5, 0x6d, 0x03, 0x24, 0xe4,
+			0x37, 0x60, 0x43, 0xf4, 0x08, 0x26, 0xcc, 0xa1,
+			0x32, 0xeb, 0x28, 0x1b, 0x70, 0x5c, 0xc0, 0x2f,
+			0xcf, 0x7b, 0x05, 0x2a, 0x0f, 0x38, 0xf4, 0x15,
+			0x1a, 0xc9, 0xbd, 0x94, 0x9d, 0x4a, 0x4c, 0xd7,
+			0x63, 0x31, 0x83, 0xab, 0xc5, 0x0d, 0xb0, 0xce,
+			0xfc, 0x24, 0x1f, 0xee, 0xa6, 0xac, 0xe5, 0x85,
+			0xe3, 0xcc, 0x29, 0xf4, 0x9b, 0x21, 0x1a, 0x1a,
+			0xa9, 0x5a, 0xf6, 0x5e, 0x2e, 0xe1, 0xd8, 0xa0,
+			0x1e, 0x04, 0xdf, 0x76, 0xfe, 0xf2, 0x34, 0x7a,
+			0xa1, 0xfd, 0xda, 0x9c, 0x8e, 0x9b, 0xd3, 0x6f,
+			0xf3, 0x92, 0x19, 0xd6, 0x8d, 0xf5, 0x61, 0x1e,
+			0xd6, 0x9d, 0xb9, 0x15, 0x2d, 0xcb, 0x5c, 0xb0,
+			0x6f, 0x86, 0xb6, 0xa1, 0x5e, 0x2c, 0x88, 0x59,
+			0xc7, 0x39, 0xfb, 0x20, 0xc9, 0x07, 0x12, 0x16,
+			0x92, 0x92, 0xdb, 0x59, 0xaf, 0x63, 0xe3, 0xb4,
+			0x05, 0x5e, 0x4a, 0x62, 0xcf, 0xe7, 0x07, 0x39,
+			0x74, 0x7e, 0xc8, 0xc3, 0x1d, 0x2e, 0x07, 0xa1,
+			0x25, 0x33, 0x6e, 0xce, 0x35, 0xfd, 0x61, 0xd8,
+			0xd5, 0xb4, 0x6d, 0xe2, 0xd1, 0x0a, 0x04, 0x95,
+			0x4b, 0xc9, 0x78, 0x4e, 0xb0, 0xa9, 0xf6, 0x71,
+			0xc3, 0x8e, 0xff, 0xea, 0xcb, 0x0b, 0x7b, 0xca,
+			0x13, 0x2a, 0x23, 0x4b, 0x4d, 0x0a, 0xad, 0x6f,
+			0x9b, 0xa3, 0x58, 0x69, 0x5b, 0xdc, 0x5c, 0xaa,
+			0xfc, 0x8e, 0xbc, 0xf9, 0xcd, 0x6f, 0xf5, 0x1c,
+			0xe8, 0x66, 0x10, 0x61, 0xac, 0x5c, 0xb7, 0x78,
+			0x8a, 0x4e, 0x1f, 0xce, 0x7f, 0x35, 0xfc, 0x6c,
+			0x1a, 0xd7, 0xf3, 0x7b, 0x95, 0x2d, 0x2b, 0x8d,
+			0xf9, 0x97, 0x1d, 0x6e, 0x2d, 0x1b, 0x92, 0xd7,
+			0xcd, 0x5f, 0xac, 0x0b, 0x18, 0xdf, 0x04, 0x09,
+			0x69, 0x4e, 0x8e, 0xb7, 0xe2, 0x63, 0x30, 0xb7,
+			0x72, 0x32, 0x25, 0x5c, 0x7e, 0x30, 0xdd, 0x1a,
+			0x4f, 0x9f, 0x9f, 0x32, 0xe0, 0x63, 0x2c, 0x68,
+			0x9d, 0xc6, 0xd5, 0x63, 0x5e, 0x8c, 0x41, 0x00,
+			0xf3, 0x70, 0x2e, 0xf2, 0x7d, 0x1a, 0x59, 0x84,
+			0xc5, 0xc5, 0x3d, 0xfd, 0xf5, 0x36, 0xba, 0x00,
+			0x34, 0x7b, 0x87, 0x5c, 0xa0, 0xe2, 0xd1, 0x5c,
+			0x26, 0xd7, 0xd6, 0xc6, 0x4a, 0x0c, 0xfe, 0xde,
+			0xf0, 0xc8, 0xa4, 0x44, 0xea, 0xc3, 0x86, 0xcf,
+			0x70, 0xeb, 0x01, 0xfb, 0x3e, 0xa4, 0xb4, 0x20,
+			0x10, 0x23, 0x5e, 0xde, 0x52, 0xf2, 0x19, 0x20,
+			0x62, 0x67, 0x26, 0x76, 0x5c, 0x70, 0xd2, 0x5c,
+			0xd1, 0xbe, 0x68, 0xa0, 0xe0, 0x48, 0x12, 0xe1,
+			0xda, 0x4c, 0x25, 0x7f, 0xf2, 0xca, 0xf6, 0xd6,
+			0x4d, 0xd6, 0x10, 0x5e, 0xe5, 0xab, 0x47, 0x5b,
+			0x03, 0xb7, 0x0c, 0x1c, 0xca, 0x09, 0x2c, 0x0f,
+			0x6f, 0x50, 0x6f, 0xc4, 0x2e, 0x6c, 0x1d, 0x95,
+			0x4a, 0xee, 0x1d, 0x67, 0x37, 0x12, 0x91, 0xef,
+			0xd4, 0x3b, 0xc4, 0xb0, 0x82, 0x37, 0x7c, 0x9b,
+			0x18, 0x13, 0xa8, 0x18, 0xdf, 0xe1, 0x68, 0xbb,
+			0xfa, 0x22, 0x66, 0x58, 0xb5, 0xac, 0xa9, 0x4f,
+			0xbd, 0x19, 0x38, 0x8b, 0x70, 0x58, 0xa1, 0x48,
+			0xcc, 0xf1, 0x6b, 0xdd, 0xd4, 0xf7, 0xb4, 0x59,
+			0x6c, 0x47, 0x30, 0x7c, 0x29, 0x6f, 0xca, 0xbf,
+			0xfa, 0xd9, 0x1e, 0x46, 0x9e, 0x2a, 0x78, 0x45,
+			0x1a, 0xe9, 0x65, 0x8e, 0x8e, 0xe9, 0x4a, 0xfa,
+			0xf1, 0xca, 0x6b, 0x7f, 0xdc, 0xf4, 0x04, 0x4e,
+			0xb7, 0x6e, 0x7e, 0x9b, 0x45, 0xee, 0xfb, 0xca,
+			0x0f, 0xa6, 0xe1, 0x45, 0x48, 0xd9, 0xf0, 0xfd,
+			0xc8, 0x4b, 0xc2, 0x09, 0x7e, 0xd7, 0x97, 0xb9,
+			0x88, 0xbb, 0x0c, 0x16, 0x55, 0x4f, 0x68, 0x55,
+			0x83, 0xd2, 0xd8, 0xd6, 0x0b, 0x9d, 0x1c, 0xb6,
+			0x4f, 0xbf, 0x99, 0x4b, 0x31, 0xd4, 0x6f, 0x80,
+			0x07, 0x9f, 0x6c, 0xfe, 0x7d, 0x59, 0xf7, 0x3d,
+			0xd2, 0xb3, 0x62, 0xd3, 0xf6, 0x1e, 0x6c, 0xc1,
+			0x75, 0x45, 0x9a, 0x84, 0x7a, 0x7d, 0x31, 0x67,
+			0x06, 0x5a, 0x72, 0xbe, 0x25, 0x3a, 0x30, 0x12,
+			0xba, 0xe2, 0x0e, 0xa0, 0x6e, 0x5d, 0x72, 0xbc,
+			0x8d, 0x58, 0x7f, 0xcb, 0x20, 0x57, 0x15, 0xe1,
+			0x33, 0xdb, 0x90, 0xd4, 0xa6, 0xe1, 0xb0, 0x15,
+			0xa1, 0x2f, 0xf1, 0x6f, 0x76, 0x42, 0xfa, 0xfd,
+			0xdf, 0x66, 0x44, 0x0b, 0xf1, 0xe2, 0x47, 0xfd,
+			0x1b, 0xc6, 0x95, 0xbe, 0x89, 0xdc, 0x3a, 0x53,
+			0x6e, 0xbb, 0x70, 0xad, 0xb5, 0xa9, 0x8b, 0x7a,
+			0x7e, 0xbb, 0x1e, 0x6e, 0x4f, 0x27, 0x1c, 0x0d,
+			0xb1, 0x21, 0x4e, 0xaa, 0xb2, 0x47, 0x9e, 0x2b,
+			0x17, 0x18, 0x41, 0x04, 0x83, 0x1a, 0x35, 0xe9,
+			0xd6, 0xdc, 0x71, 0x06, 0x1e, 0x1c, 0x1b, 0x56,
+			0x08, 0x86, 0xbd, 0x68, 0x12, 0xf8, 0x38, 0xdc,
+			0xeb, 0x72, 0xc4, 0xda, 0x8a, 0x89, 0x67, 0xa6,
+			0x13, 0x13, 0x27, 0x31, 0x47, 0x70, 0x12, 0x87,
+			0x9b, 0x9f, 0xbb, 0x01, 0x76, 0x5b, 0x07, 0x9b,
+			0x03, 0x78, 0xf1, 0x19, 0xd8, 0x8b, 0x92, 0x8c,
+			0xb6, 0xcc, 0x43, 0x4d, 0x10, 0xbf, 0xac, 0x81,
+			0x3e, 0x98, 0x8f, 0xcd, 0x43, 0x93, 0x9a, 0x8e,
+			0x73, 0x47, 0x21, 0x34, 0x1d, 0x01, 0x85, 0x44,
+			0xa8, 0xc9, 0x9c, 0xda, 0x0d, 0xcd, 0x4c, 0xe7,
+			0xbd, 0xd7, 0xf5, 0x69, 0x95, 0xa0, 0x80, 0x5b,
+			0x25, 0x3a, 0xe1, 0x93, 0x03, 0xbb, 0xa1, 0xdd,
+			0xe5, 0x2c, 0xd0, 0x80, 0x5d, 0xb9, 0x4a, 0xb9,
+			0x3d, 0x98, 0x95, 0x9d, 0x86, 0x07, 0xdf, 0x62,
+			0x98, 0x19, 0x49, 0xdf, 0x8c, 0x36, 0x07, 0x2e,
+			0x33, 0x1b, 0xbf, 0x7d, 0x64, 0x99, 0x01, 0xc0,
+			0x2b, 0xcd, 0xba, 0x62, 0xf9, 0x72, 0x0d, 0x48,
+			0xec, 0xd6, 0xde, 0xb7, 0x51, 0x03, 0x12, 0x05,
+			0x09, 0x92, 0xee, 0xda, 0x0b, 0x16, 0x4b, 0xbe,
+			0x1e, 0xc2, 0x9b, 0x5c, 0xcc, 0x9e, 0x2f, 0xc5,
+			0xd5, 0x41, 0x22, 0x30, 0xb1, 0xff, 0xc4, 0x38,
+			0x41, 0x05, 0xb5, 0x47, 0x9c, 0x16, 0xd0, 0x66,
+			0x67, 0x64, 0xc6, 0x81, 0xad, 0xe7, 0x8d, 0x82,
+			0x03, 0x2e, 0x2a, 0xfa, 0x22, 0xe4, 0x9d, 0x0f,
+			0xf4, 0xfe, 0x83, 0x4f, 0x0e, 0x99, 0xcb, 0xcb,
+			0x62, 0x3e, 0x1e, 0x07, 0x65, 0x6e, 0x51, 0x72,
+			0x28, 0x00, 0xcb, 0xab, 0xb6, 0x76, 0xf0, 0x9d,
+			0x3a, 0xa4, 0x82, 0xd6, 0x4c, 0xb6, 0x72, 0xf4,
+			0x58, 0xdb, 0x5c, 0x65, 0x29, 0xf5, 0xe0, 0x00,
+			0xa0, 0x33, 0x11, 0xe3, 0xff, 0x6b, 0x39, 0x27,
+			0x36, 0x95, 0x12, 0x46, 0xe3, 0xe4, 0x1b, 0x04,
+			0x78, 0xc1, 0x09, 0xf8, 0x3e, 0x76, 0x73, 0xff,
+			0x4d, 0xc3, 0xc8, 0x4b, 0xb9, 0xec, 0xef, 0x04,
+			0x4a, 0x3e, 0x63, 0x42, 0x31, 0x51, 0x34, 0x42,
+			0xe2, 0x92, 0xe4, 0xf8, 0xe2, 0x4a, 0x35, 0x82,
+			0x6f, 0x07, 0x77, 0x86, 0xc0, 0x1d, 0xef, 0x15,
+			0xde, 0x7e, 0xc0, 0xff, 0x69, 0x04, 0x38, 0xad,
+			0x95, 0xfa, 0x0e, 0x93, 0xd8, 0x7f, 0x05, 0xe9,
+			0xd2, 0x3c, 0x94, 0xf8, 0xb7, 0x4c, 0x3f, 0x7f,
+			0xbf, 0x8b, 0x10, 0x60, 0xc0, 0x8e, 0x76, 0x64,
+			0x00, 0xdb, 0xeb, 0x9e, 0x94, 0x14, 0x99, 0x31,
+			0x3c, 0x79, 0xef, 0xa1, 0x90, 0x7e, 0x22, 0xa6,
+			0x22, 0x21, 0xb3, 0x70, 0x20, 0x7d, 0x49, 0x38,
+			0x24, 0x7b, 0x49, 0x75, 0x56, 0x97, 0x6c, 0xe1,
+			0x62, 0xd6, 0x3b, 0xed, 0xbd, 0xe8, 0x13, 0x33,
+			0x3b, 0x55, 0x9a, 0xaf, 0x4a, 0x76, 0x22, 0x73,
+			0xf6, 0xfd, 0xce, 0xeb, 0xd7, 0xc5, 0xa7, 0x79,
+			0xd5, 0x24, 0xef, 0x08, 0x3b, 0x9a, 0x06, 0x54,
+			0x5c, 0xfa, 0x87, 0x8a, 0x36, 0x2f, 0x67, 0xa5,
+			0x56, 0x39, 0x33, 0x1a, 0xe9, 0xc9, 0x75, 0xbd,
+			0xfe, 0xff, 0xd5, 0x09, 0xad, 0xfe, 0xa6, 0x83,
+			0x7b, 0x1e, 0x88, 0x1a, 0xf5, 0xca, 0x3b, 0x2e,
+			0xf4, 0xfa, 0x50, 0x62, 0x8f, 0x1f, 0xc8, 0xa6,
+			0x93, 0x18, 0x59, 0x45, 0x03, 0xa2, 0xc0, 0x76,
+			0x35, 0x0d, 0x08, 0x64, 0x88, 0x73, 0x90, 0x3f,
+			0xb9, 0x08, 0xc8, 0xe8, 0xd0, 0x50, 0x3b, 0x0a,
+			0xe6, 0xa8, 0x42, 0xab, 0x20, 0x5d, 0x2d, 0x91,
+			0xe9, 0x10, 0x03, 0x46, 0x68, 0x06, 0x10, 0xa8,
+			0x1a, 0x3c, 0x55, 0x20, 0x13, 0x14, 0x96, 0x27,
+			0xba, 0xcc, 0xc9, 0xf6, 0xf9, 0xa9, 0x14, 0x13,
+			0x9e, 0x09, 0xee, 0x2e, 0x34, 0x1f, 0xab, 0x6f,
+			0xbc, 0x5b, 0x19, 0x78, 0xd4, 0x8e, 0xc7, 0x2e,
+			0x19, 0x0b, 0x6d, 0x17, 0x14, 0xbc, 0x41, 0x2c,
+			0x83, 0x7b, 0x09, 0x8e, 0x06, 0x49, 0x4d, 0x18,
+			0x91, 0xda, 0xac, 0x7f, 0x77, 0xf9, 0x4e, 0x28,
+			0x40, 0x65, 0xc5, 0x63, 0xce, 0x9f, 0xe2, 0xd2,
+			0x97, 0x04, 0x28, 0xe5, 0x23, 0xf9, 0x88, 0xc5,
+			0x65, 0xfa, 0xe5, 0x15, 0xb4, 0x05, 0xb9, 0x7c,
+			0xd2, 0x89, 0x4e, 0x8b, 0x36, 0x5b, 0x7a, 0xfe,
+			0x41, 0xd5, 0x38, 0x86, 0x67, 0xbb, 0xed, 0xde,
+			0x09, 0xf2, 0x25, 0x9f, 0x74, 0x9e, 0xb9, 0xd1,
+			0x4c, 0x88, 0x00, 0xbb, 0xff, 0x28, 0x8e, 0x57,
+			0x27, 0x2a, 0xc6, 0xfa, 0xc3, 0x82, 0x84, 0xd6,
+			0xfc, 0x10, 0x2f, 0xcd, 0x07, 0xec, 0x7c, 0x38,
+			0xb7, 0xf1, 0x95, 0xb9, 0x39, 0x98, 0x88, 0x7d,
+			0x30, 0x9e, 0x0c, 0x14, 0x54, 0xcb, 0xe7, 0x00,
+			0xd6, 0xaf, 0x86, 0x31, 0x11, 0x81, 0x80, 0x0a,
+			0x47, 0xa8, 0xa0, 0xbc, 0x09, 0x01, 0xca, 0xb7,
+			0xfa, 0x90, 0x37, 0xd9, 0xe1, 0x8e, 0x02, 0x4f,
+			0x42, 0x26, 0x6a, 0xad, 0x90, 0x11, 0x7c, 0x9a,
+			0xf7, 0x99, 0x92, 0x72, 0xcc, 0x3b, 0x00, 0x86,
+			0x8d, 0x24, 0xc9, 0xb2, 0x05, 0xd7, 0x69, 0x3b,
+			0x07, 0x36, 0xbf, 0x9f, 0xfc, 0xb0, 0x56, 0x24,
+			0xfb, 0x9e, 0xc4, 0xe0, 0xba, 0x16, 0x87, 0xb1,
+			0xfe, 0x7d, 0x35, 0x32, 0xa3, 0xa2, 0xdb, 0x2b,
+			0x52, 0x82, 0x88, 0xdf, 0x4a, 0x25, 0x60, 0xc9,
+			0x0a, 0xc0, 0xd0, 0x06, 0xfe, 0x91, 0x78, 0x37,
+			0x38, 0xc3, 0xe8, 0x3a, 0x60, 0x89, 0x7a, 0x14,
+			0xf7, 0xad, 0x0c, 0x2f, 0x71, 0x54, 0xf4, 0xb7,
+			0x4f, 0x69, 0x20, 0x1f, 0xa2, 0x48, 0xb3, 0x66,
+			0x0d, 0xbf, 0xb9, 0x90, 0x34, 0x32, 0x64, 0x23,
+			0x53, 0x05, 0x74, 0xa0, 0x49, 0x56, 0x73, 0x6c,
+			0xbb, 0x23, 0xd1, 0x58, 0x8a, 0xd8, 0x6c, 0x7d,
+			0xf8, 0x30, 0x7c, 0x21, 0xf7, 0xaf, 0xfe, 0x49,
+			0x5a, 0x68, 0x83, 0x76, 0xaa, 0x74, 0x14, 0x6c,
+			0xa1, 0x0f, 0x61, 0xc3, 0xfe, 0x79, 0xb3, 0x3d,
+			0xd5, 0x9b, 0x31, 0x18, 0xdc, 0xc9, 0xbd, 0x4a,
+			0xd0, 0x7d, 0x8a, 0x9f, 0xdd, 0xb8, 0xa0, 0x4c,
+			0xb6, 0xf2, 0x88, 0xd7, 0xc6, 0x32, 0x36, 0x45,
+			0xe0, 0x00, 0x27, 0x02, 0x44, 0x83, 0x1d, 0x9d,
+			0xc8, 0xa5, 0x99, 0x17, 0x96, 0xbd, 0x3e, 0x8f,
+			0xa6, 0x79, 0xd7, 0xfb, 0xdf, 0xe2, 0x1b, 0xa4,
+			0xb7, 0x1c, 0x40, 0x0c, 0x55, 0xf9, 0xcd, 0x18,
+			0x78, 0x7f, 0xc4, 0x71, 0xdd, 0xd5, 0x75, 0x11,
+			0xc0, 0x67, 0x87, 0xfb, 0x87, 0x31, 0x8a, 0x6f,
+			0x54, 0x89, 0x0c, 0x0f, 0xcb, 0x26, 0x0f, 0xb2,
+			0x96, 0x41, 0x19, 0x0c, 0xc5, 0x94, 0x65, 0x98,
+			0xb9, 0x52, 0xe5, 0x7b, 0x67, 0xa2, 0xe1, 0xde,
+			0x4e, 0xe8, 0xf3, 0x10, 0x2c, 0xcc, 0x40, 0xbd,
+			0x07, 0x9e, 0x95, 0x9c, 0xae, 0x3f, 0x84, 0xeb,
+			0x0f, 0xb0, 0xfb, 0x79, 0x1a, 0x89, 0x22, 0x59,
+			0x33, 0x45, 0x86, 0x6d, 0x58, 0x75, 0x20, 0xb4,
+			0xd8, 0x37, 0xc8, 0x2a, 0x35, 0x65, 0x7c, 0x2f,
+			0x8e, 0x7d, 0xd6, 0xc0, 0x64, 0x80, 0xd8, 0x88,
+			0x4b, 0xf3, 0x1e, 0x7f, 0x94, 0x73, 0x5c, 0x88,
+			0x21, 0xf3, 0xc8, 0x18, 0x81, 0x08, 0xc1, 0x6b,
+			0xaa, 0x5b, 0x80, 0x2b, 0x67, 0x0c, 0xcf, 0x9a,
+			0x58, 0xbe, 0xbc, 0xff, 0x25, 0x7f, 0x07, 0xf2,
+			0xdd, 0x02, 0xf7, 0xd2, 0x0d, 0xec, 0xd4, 0x4a,
+			0x13, 0x37, 0x6d, 0xbf, 0xaa, 0xbc, 0x67, 0xf3,
+			0x99, 0xf9, 0x35, 0x9a, 0x7b, 0x2f, 0x2d, 0x61,
+			0x69, 0x14, 0x89, 0x3d, 0xd7, 0xcd, 0x7a, 0xac,
+			0xba, 0xda, 0xe2, 0x4f, 0xc0, 0x0b, 0xf1, 0x15,
+			0xbd, 0x4e, 0x37, 0xbc, 0xe2, 0x36, 0x93, 0xb8,
+			0xad, 0xa3, 0x0a, 0x35, 0x76, 0x88, 0x34, 0x50,
+			0x76, 0x40, 0xb3, 0xdc, 0xaf, 0xf2, 0x1f, 0xfe,
+			0xd7, 0x2e, 0xf9, 0x44, 0xff, 0xda, 0xf2, 0x89,
+			0xbf, 0x3c, 0xc7, 0xdc, 0x3b, 0x0a, 0x70, 0xc9,
+			0x0b, 0x6a, 0x6e, 0x79, 0xce, 0x27, 0xba, 0x8c,
+			0x52, 0x98, 0x71, 0x04, 0xba, 0xd7, 0x6a, 0x52,
+			0x94, 0x41, 0xa0, 0xae, 0xd4, 0xcb, 0xc7, 0xd9,
+			0x87, 0xea, 0x1d, 0x1a, 0x04, 0xa4, 0x51, 0x4a,
+			0x9b, 0xfb, 0x42, 0xe9, 0x2f, 0x60, 0x12, 0xb2,
+			0x7b, 0x76, 0x81, 0xfc, 0xc1, 0x9b, 0xc0, 0x4d,
+			0x16, 0x53, 0x44, 0x2f, 0x48, 0x86, 0x42, 0x41,
+			0x2c, 0xb3, 0x1f, 0x4d, 0xa9, 0x9d, 0xb9, 0xf9,
+			0x93, 0x78, 0x18, 0x05, 0x90, 0xb3, 0x49, 0xdb,
+			0x1b, 0xfa, 0x57, 0xbb, 0x94, 0xa8, 0xd8, 0x37,
+			0xf6, 0x92, 0xc5, 0x15, 0xa4, 0x47, 0xa3, 0x0f,
+			0x4e, 0x09, 0x0d, 0x2d, 0xdd, 0xac, 0xd2, 0xbd,
+			0xeb, 0x46, 0xe1, 0x32, 0x7a, 0x51, 0x21, 0xd8,
+			0xd3, 0x9e, 0xbf, 0xf1, 0x7a, 0xbc, 0x65, 0xd9,
+			0x31, 0xfe, 0xbb, 0xd2, 0x48, 0xf8, 0x62, 0x02,
+			0x4d, 0x59, 0x17, 0xd2, 0x78, 0x68, 0xbd, 0xc2,
+			0xb6, 0xc5, 0x7e, 0x5f, 0x12, 0x51, 0x58, 0x3a,
+			0xd3, 0x60, 0x96, 0x26, 0x30, 0xfd, 0x72, 0x81,
+			0x46, 0xaa, 0x75, 0xe7, 0xa4, 0xc4, 0x97, 0xe3,
+			0x64, 0x1a, 0xb7, 0x6e, 0x9e, 0x60, 0xe4, 0x59,
+			0x40, 0x3d, 0x2d, 0xe0, 0x2e, 0xbb, 0x90, 0xa5,
+			0xe4, 0xfb, 0xc2, 0xf0, 0xad, 0x4a, 0xa1, 0x3d,
+			0x91, 0xdf, 0x9c, 0x89, 0x69, 0x04, 0x13, 0xd0,
+			0x71, 0x9b, 0xe1, 0x37, 0x99, 0x82, 0x0e, 0xf4,
+			0x53, 0x66, 0xf5, 0x03, 0x89, 0xe1, 0x0f, 0x17,
+			0x3a, 0x87, 0xf3, 0x2d, 0xad, 0x67, 0xc4, 0xd0,
+			0x3c, 0x86, 0x28, 0x4f, 0x89, 0x68, 0x23, 0x88,
+			0x2d, 0xb3, 0xb2, 0x28, 0xd7, 0xd0, 0x8b, 0xbf,
+			0x38, 0x87, 0x02, 0x5f, 0x02, 0x51, 0xeb, 0xc6,
+			0xa0, 0x7d, 0xb0, 0x9d, 0xa2, 0x14, 0x55, 0xd1,
+			0x34, 0xda, 0x01, 0x1b, 0x02, 0x9e, 0x7a, 0x74,
+			0xa3, 0x9c, 0xa5, 0xe7, 0xb9, 0x96, 0x84, 0x31,
+			0xb1, 0x59, 0xc3, 0xe3, 0xf3, 0x41, 0xa7, 0xb7,
+			0x0e, 0x9e, 0x3f, 0x38, 0x82, 0xac, 0x3e, 0x42,
+			0x8e, 0x13, 0x45, 0xea, 0xd5, 0xde, 0x77, 0xe0,
+			0xe8, 0x14, 0x82, 0x95, 0x46, 0xac, 0x4c, 0xe0,
+			0x74, 0x54, 0x5e, 0x5d, 0x05, 0x54, 0x8d, 0x0f,
+			0x4e, 0x23, 0xe7, 0x37, 0x28, 0xd2, 0xfd, 0xc9,
+			0xb9, 0x11, 0x1b, 0xe7, 0x2f, 0x2f, 0x85, 0x3e,
+			0x18, 0xf5, 0x03, 0x56, 0x37, 0x5b, 0xae, 0x67,
+			0x5f, 0x9e, 0x0e, 0x9f, 0x39, 0xe2, 0x1a, 0x5b,
+			0x63, 0xbb, 0x6a, 0x1b, 0xeb, 0x16, 0x3a, 0x5c,
+			0x83, 0xdb, 0xb4, 0xf6, 0x42, 0xa5, 0x51, 0x40,
+			0xf3, 0x5c, 0xcf, 0x91, 0x51, 0x3d, 0x41, 0x7e,
+			0xd2, 0x18, 0xca, 0x39, 0x54, 0x13, 0x9c, 0xc4,
+			0xa9, 0xb3, 0x86, 0x79, 0xfe, 0x80, 0xf9, 0x87,
+			0x8f, 0xf5, 0x43, 0xbe, 0x4c, 0xb6, 0x78, 0xd6,
+			0x5a, 0xe4, 0x53, 0x08, 0xcc, 0xad, 0xd1, 0x02,
+			0x8f, 0xeb, 0xab, 0x49, 0x3b, 0x68, 0x3d, 0x16,
+			0x5b, 0x6f, 0x48, 0x2c, 0x83, 0x22, 0x73, 0x14,
+			0xb6, 0x8c, 0x1d, 0x60, 0x56, 0x19, 0x03, 0x49,
+			0x03, 0x62, 0x58, 0x37, 0xf7, 0xc6, 0xe0, 0x25,
+			0x39, 0x4c, 0x85, 0x8e, 0x8e, 0xbc, 0xc1, 0xcd,
+			0xce, 0x8a, 0x71, 0x9e, 0xa2, 0x22, 0x7c, 0x0a,
+			0x03, 0x92, 0xfa, 0x36, 0x49, 0x9f, 0x25, 0xc9,
+			0xc0, 0xda, 0xcf, 0x97, 0x2f, 0x50, 0x5b, 0xa6,
+			0x1e, 0x19, 0xb6, 0x13, 0xed, 0x01, 0xc2, 0x8d,
+			0xef, 0x80, 0xde, 0x6d, 0x83, 0xa8, 0x8f, 0xb5,
+			0x78, 0xeb, 0x2c, 0x3c, 0x6f, 0x8e, 0x58, 0x9f,
+			0x28, 0xcf, 0x5b, 0xc3, 0xfe, 0x0e, 0x51, 0xc1,
+			0x0c, 0x4f, 0xfa, 0xa0, 0xb9, 0x39, 0x12, 0x17,
+			0x99, 0x0c, 0xcd, 0xcb, 0x78, 0x71, 0xbd, 0x94,
+			0x05, 0xc4, 0x46, 0xd5, 0xf1, 0x94, 0xf6, 0xc3,
+			0x88, 0x15, 0xc1, 0x1c, 0x77, 0x75, 0xd1, 0x71,
+			0x0c, 0xd9, 0x99, 0x36, 0xcd, 0xb1, 0x75, 0x87,
+			0xbd, 0x31, 0xba, 0xff, 0x20, 0xdb, 0xcf, 0x58,
+			0xe8, 0x51, 0xfc, 0xd4, 0xd4, 0x89, 0x37, 0x01,
+			0x30, 0xc8, 0x6e, 0xe5, 0xa6, 0x52, 0xec, 0xd6,
+			0xaf, 0x1d, 0x96, 0x2d, 0x74, 0xd0, 0x1a, 0x98,
+			0xd9, 0x46, 0x4c, 0x6f, 0x34, 0xcf, 0x92, 0x41,
+			0x33, 0xff, 0x8f, 0xb8, 0xaa, 0x9f, 0x5d, 0x51,
+			0x11, 0x9b, 0xca, 0xf9, 0x26, 0xf3, 0xe5, 0xda,
+			0x33, 0x20, 0xe7, 0x6e, 0xe4, 0x7b, 0x92, 0xab,
+			0x39, 0x21, 0x20, 0xe6, 0x58, 0xe8, 0x36, 0x24,
+			0x53, 0x55, 0x66, 0x6b, 0x11, 0x74, 0xab, 0x17,
+			0x6c, 0xc3, 0x67, 0xd2, 0xf6, 0x70, 0x63, 0x86,
+			0x51, 0xe4, 0x53, 0xbe, 0xa4, 0xf3, 0xe0, 0x67,
+			0x41, 0x17, 0x44, 0x70, 0xc3, 0xc0, 0xbe, 0x98,
+			0x8a, 0x8b, 0x5a, 0x65, 0x4d, 0xec, 0x5a, 0xc6,
+			0xec, 0xc6, 0x66, 0xf2, 0x3a, 0x75, 0xd4, 0xab,
+			0xb4, 0x14, 0x5b, 0xc6, 0xf8, 0x6f, 0xe1, 0x99,
+			0xd0, 0x57, 0x42, 0x29, 0x35, 0x09, 0x99, 0x65,
+			0x99, 0x98, 0xd8, 0xa7, 0xc6, 0x78, 0xa1, 0xd0,
+			0x16, 0x7b, 0xb0, 0x03, 0x4d, 0x79, 0x81, 0x45,
+			0x8c, 0x07, 0x3c, 0xa0, 0x59, 0xa2, 0xdf, 0xf5,
+			0xa7, 0xb0, 0x18, 0x00, 0x8d, 0x10, 0xca, 0x4a,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x36, 0xf0, 0x59, 0x02, 0xad, 0xbc, 0xce, 0x83,
+			0xe2, 0xe5, 0x4d, 0x6d, 0x0c, 0x61, 0xbd, 0x20,
+			0x27, 0x5f, 0x55, 0x63, 0xc7, 0x02, 0x8f, 0xd5,
+			0x01, 0x45, 0xb9, 0x4f, 0x41, 0x27, 0xd8, 0x0d,
+			0x87, 0x63, 0xb3, 0x53, 0x67, 0xa1, 0x82, 0x5f,
+			0xf3, 0xff, 0xef, 0xd0, 0x1b, 0x34, 0x9d, 0x27,
+			0xf0, 0xbb, 0xb9, 0x66, 0x4e, 0xbd, 0x25, 0x57,
+			0xae, 0x21, 0xf9, 0x2f, 0x7f, 0x46, 0x71, 0x11,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x27, 0x29, 0xe8, 0x15, 0x0d, 0x05, 0x00, 0xb6,
+			0xc3, 0xb9, 0x44, 0xfc, 0x1e, 0xbd, 0xc3, 0x83,
+			0x2b, 0x43, 0x95, 0x93, 0x14, 0x69, 0x36, 0x9d,
+			0x65, 0x8c, 0xf6, 0x3f, 0xcb, 0x1e, 0x09, 0xa9,
+			0x9b, 0x31, 0x52, 0xd8, 0x85, 0x08, 0x5c, 0xbd,
+			0xfb, 0x7e, 0x43, 0xb8, 0x7b, 0x56, 0x14, 0xfc,
+			0x08, 0x13, 0x59, 0x87, 0x4e, 0xd9, 0xc0, 0xdb,
+			0xfc, 0xd4, 0x71, 0x81, 0x56, 0x35, 0x86, 0x90,
+			0x2e, 0x74, 0x71, 0x67, 0xe3, 0x1c, 0xc6, 0x59,
+			0x97, 0x4e, 0x05, 0x0f, 0xfc, 0xf3, 0x31, 0x00,
+			0x90, 0x94, 0x93, 0x89, 0x6b, 0x8b, 0xfe, 0x2d,
+			0xb2, 0xa1, 0x27, 0x15, 0x4a, 0x92, 0xec, 0x6c,
+			0xa9, 0x29, 0x0f, 0x7f, 0x3c, 0x30, 0x7a, 0x27,
+			0xe2, 0x37, 0x06, 0x8c, 0x4a, 0x7d, 0x8b, 0x3d,
+			0x8d, 0xee, 0x89, 0x40, 0xd1, 0x64, 0x03, 0xf7,
+			0x9e, 0x6d, 0x23, 0x25, 0xfd, 0xcb, 0x16, 0x12,
+			0xcb, 0x2e, 0x7e, 0x87, 0x5c, 0x66, 0x9a, 0x9c,
+			0x0f, 0x78, 0xd3, 0x71, 0xbb, 0xc6, 0xce, 0x38,
+			0x68, 0x2c, 0xae, 0x8a, 0x28, 0xce, 0x61, 0xed,
+			0x22, 0xd1, 0x5c, 0xb2, 0x3a, 0xc7, 0xa8, 0x90,
+			0xb8, 0xfb, 0x35, 0xca, 0x85, 0x6a, 0xab, 0xbd,
+			0x48, 0xae, 0x2d, 0x4b, 0x53, 0x6f, 0xa0, 0x46,
+			0xad, 0x30, 0x82, 0xdf, 0x01, 0xb1, 0x6f, 0x65,
+			0x8c, 0x29, 0xab, 0xc7, 0x19, 0xfc, 0x97, 0x01,
+			0x13, 0x5a, 0x7c, 0xc1, 0x06, 0x29, 0x26, 0xbc,
+			0x8b, 0xa1, 0xca, 0x77, 0xca, 0x5e, 0xa4, 0x09,
+			0x14, 0xf4, 0xbb, 0xfc, 0xac, 0x46, 0x1f, 0xb0,
+			0xd9, 0xf5, 0x9a, 0x16, 0xab, 0x32, 0xd3, 0x15,
+			0xd3, 0xe6, 0x4e, 0x09, 0xa7, 0x6c, 0x50, 0x76,
+			0x47, 0xee, 0x27, 0xbe, 0x85, 0x9b, 0xc2, 0xad,
+			0xb7, 0x95, 0x30, 0x26, 0x75, 0x32, 0xdc, 0xfe,
+			0x4b, 0x6f, 0x76, 0x48, 0xa9, 0x48, 0x68, 0x3d,
+			0x44, 0x5b, 0xf0, 0xcd, 0xce, 0x24, 0x91, 0x91,
+			0x74, 0x4f, 0x9f, 0x4b, 0x32, 0xd3, 0x87, 0x9a,
+			0x4a, 0x8c, 0xe4, 0x13, 0xc0, 0x3b, 0xc0, 0x56,
+			0x57, 0xc9, 0x4e, 0x49, 0xff, 0x64, 0x0a, 0xa8,
+			0x94, 0x6a, 0xa2, 0xdb, 0x60, 0x29, 0xd3, 0x16,
+			0x09, 0x48, 0x30, 0x59, 0x85, 0x61, 0x23, 0xb8,
+			0x9c, 0x77, 0xab, 0xeb, 0xed, 0xc8, 0xe5, 0x6a,
+			0xef, 0xbc, 0x24, 0xc0, 0x80, 0x74, 0x54, 0xe3,
+			0xf4, 0xea, 0xdc, 0xc3, 0x97, 0x62, 0xc7, 0x99,
+			0xb6, 0x9b, 0x20, 0x86, 0x86, 0xd0, 0x35, 0x1a,
+			0x37, 0xee, 0xca, 0x18, 0x88, 0xd4, 0xf0, 0xb0,
+			0x18, 0xad, 0x63, 0x80, 0x89, 0x04, 0xaa, 0x78,
+			0x93, 0x6a, 0x58, 0x64, 0x84, 0x8c, 0x10, 0x95,
+			0x5b, 0x7b, 0x18, 0x62, 0x5f, 0xce, 0xf1, 0x51,
+			0xde, 0x8c, 0xd7, 0x4c, 0x98, 0x1d, 0x03, 0x7b,
+			0xa0, 0x41, 0x20, 0x9d, 0x71, 0xcd, 0xb3, 0xf4,
+			0x16, 0x36, 0x93, 0x53, 0x2e, 0x1c, 0x25, 0xfc,
+			0xaa, 0xed, 0xaf, 0x54, 0x26, 0x52, 0xa3, 0xd0,
+			0x60, 0xc5, 0xad, 0x3b, 0x52, 0x6b, 0x70, 0x19,
+			0xa3, 0x0f, 0x5f, 0x7f, 0x36, 0x9e, 0xe2, 0x32,
+			0xb2, 0xe2, 0xc1, 0xd2, 0xca, 0xbd, 0x42, 0xa8,
+			0xb9, 0x82, 0x7b, 0x12, 0xf5, 0x84, 0x49, 0x17,
+			0x7a, 0x66, 0x76, 0xf9, 0x95, 0x2c, 0x66, 0xf7,
+			0x2e, 0xa4, 0xdc, 0x5d, 0xd1, 0x15, 0xc7, 0x9e,
+			0x19, 0x3d, 0x0e, 0x91, 0xdc, 0xcd, 0x14, 0xbc,
+			0xef, 0x59, 0x10, 0xcd, 0x3b, 0x73, 0x47, 0xe5,
+			0xe1, 0x50, 0x1f, 0xbb, 0x1f, 0xf2, 0x14, 0xe3,
+			0x13, 0xd5, 0x61, 0x71, 0x1d, 0xf5, 0x0f, 0x10,
+			0x2c, 0x4b, 0xde, 0x31, 0x99, 0x6f, 0x7b, 0x23,
+			0x08, 0x29, 0x36, 0x15, 0x93, 0x61, 0xe4, 0x5a,
+			0xce, 0xe1, 0xcb, 0x2b, 0x20, 0x5d, 0x87, 0xf4,
+			0x39, 0x83, 0xf4, 0xf3, 0xfa, 0xb7, 0xc5, 0x86,
+			0x2e, 0x37, 0x62, 0x6d, 0x6b, 0xbd, 0x9d, 0xcd,
+			0x65, 0xe4, 0x9e, 0x12, 0xe0, 0xf0, 0x79, 0x16,
+			0xe6, 0x62, 0x3c, 0xb6, 0x5e, 0x9e, 0x78, 0x90,
+			0xee, 0xd7, 0x46, 0x41, 0x88, 0xdf, 0x3a, 0xe3,
+			0x28, 0xa3, 0x0b, 0x66, 0xa3, 0xb2, 0x80, 0x9d,
+			0x26, 0x68, 0x07, 0x58, 0x94, 0xbd, 0x2a, 0x90,
+			0x2d, 0x2c, 0x22, 0x7e, 0x89, 0xff, 0x8b, 0xbb,
+			0xb3, 0x1e, 0xbe, 0x43, 0xee, 0x35, 0x3c, 0x2d,
+			0x45, 0xf0, 0x14, 0x4d, 0xe2, 0xca, 0x01, 0x57,
+			0x0b, 0x12, 0xf2, 0xe1, 0x8a, 0x0e, 0x47, 0x1b,
+			0xa6, 0x7f, 0xef, 0xa4, 0x82, 0xc3, 0x88, 0x34,
+			0xd7, 0xe2, 0xec, 0x0b, 0xf4, 0x1e, 0xf5, 0x81,
+			0x14, 0x40, 0xac, 0x50, 0xf3, 0x06, 0x2b, 0xec,
+			0x12, 0x7b, 0x68, 0x24, 0x22, 0x03, 0x0f, 0xe9,
+			0x69, 0x9f, 0x4f, 0x73, 0x26, 0x79, 0x0b, 0x00,
+			0x24, 0x6a, 0x84, 0x7d, 0xa7, 0x74, 0xa0, 0xee,
+			0x95, 0x46, 0x1f, 0x8d, 0x72, 0x19, 0xd5, 0x1a,
+			0x4d, 0xe5, 0x0a, 0x69, 0x3d, 0xe0, 0x42, 0x5c,
+			0xc4, 0x6b, 0x8f, 0xb1, 0xd9, 0xe4, 0x4e, 0xf6,
+			0x34, 0xc0, 0xcc, 0x66, 0x7d, 0x23, 0xb0, 0xc4,
+			0xde, 0x41, 0x41, 0xe6, 0xf9, 0x7d, 0x9a, 0x71,
+			0x5a, 0xfd, 0x81, 0x28, 0xd6, 0x17, 0x14, 0xc8,
+			0xc9, 0x51, 0x06, 0xb6, 0xb7, 0xa2, 0xeb, 0xbe,
+			0x04, 0xc5, 0xbf, 0xa1, 0xeb, 0x8b, 0xf9, 0x69,
+			0xb6, 0x31, 0xec, 0xd8, 0xb3, 0x71, 0x6c, 0x67,
+			0x22, 0x33, 0xe6, 0x90, 0x3e, 0xe6, 0xa7, 0x7c,
+			0xd7, 0x36, 0x2e, 0x06, 0x30, 0x3c, 0x36, 0xf4,
+			0xca, 0xdc, 0xe6, 0xaa, 0xee, 0x1c, 0x84, 0x3b,
+			0x43, 0x64, 0x65, 0x0e, 0xb4, 0xc9, 0x68, 0x9e,
+			0x53, 0x21, 0x95, 0x8e, 0x49, 0xbc, 0x77, 0xfa,
+			0x30, 0x7d, 0x72, 0x81, 0x30, 0x76, 0x34, 0x75,
+			0x06, 0xa9, 0xc9, 0x1a, 0x95, 0xf1, 0xd7, 0x7b,
+			0x0e, 0xe3, 0x11, 0xdb, 0xe8, 0x3e, 0xd4, 0x8f,
+			0xb9, 0xc1, 0x85, 0x30, 0x1b, 0xb2, 0x73, 0xc7,
+			0x63, 0x8c, 0x70, 0x4a, 0x8b, 0x61, 0xc3, 0xca,
+			0x8e, 0xcd, 0x95, 0xd2, 0x51, 0x9b, 0xae, 0x58,
+			0xbc, 0x0a, 0x26, 0x31, 0x98, 0x28, 0x8e, 0xed,
+			0x96, 0x81, 0x28, 0xec, 0x0a, 0xb6, 0x75, 0xa1,
+			0xd1, 0x77, 0xc9, 0xc7, 0x9a, 0x30, 0xf3, 0xe8,
+			0xea, 0xae, 0x41, 0x61, 0x92, 0x9c, 0xd7, 0xec,
+			0x69, 0x53, 0x4f, 0xd3, 0x7d, 0xee, 0x3b, 0x98,
+			0xf9, 0x9e, 0xa0, 0xe9, 0x47, 0xd4, 0x8f, 0xdc,
+			0x19, 0x25, 0xff, 0x72, 0xeb, 0x96, 0x48, 0x16,
+			0x63, 0x44, 0xb1, 0xb1, 0xec, 0x93, 0x3f, 0x0c,
+			0xd3, 0x7c, 0x57, 0xa3, 0x75, 0xb0, 0x58, 0xcf,
+			0xbc, 0x73, 0xdf, 0xb6, 0xb9, 0xe6, 0x54, 0x6a,
+			0x84, 0x02, 0x01, 0xc9, 0xb2, 0x37, 0x52, 0x58,
+			0x72, 0xb0, 0x17, 0xe5, 0xe9, 0x05, 0xf9, 0x79,
+			0x6f, 0xf0, 0xab, 0x67, 0x33, 0xf2, 0xaf, 0xd4,
+			0x00, 0x3e, 0x51, 0xc2, 0x03, 0x3f, 0x95, 0x08,
+			0x99, 0xc4, 0x91, 0x3e, 0xff, 0x97, 0x5f, 0xf6,
+			0x0e, 0x5a, 0xcf, 0x6f, 0x24, 0xbb, 0x6c, 0x70,
+			0x26, 0x24, 0x51, 0x32, 0xd9, 0x6d, 0xa9, 0xcb,
+			0x7d, 0x8c, 0x76, 0xb4, 0x34, 0x30, 0x7d, 0xb9,
+			0x9d, 0x69, 0xe5, 0x22, 0x42, 0xf8, 0x6c, 0x77,
+			0xdc, 0x0b, 0x87, 0x00, 0xd9, 0x22, 0x72, 0x94,
+			0x82, 0x0e, 0xd5, 0xa3, 0x3b, 0x92, 0xeb, 0xee,
+			0x1e, 0xe8, 0x73, 0xb4, 0xab, 0x41, 0x55, 0x10,
+			0x53, 0x6a, 0x61, 0x54, 0x76, 0xa0, 0x94, 0x90,
+			0xd5, 0xe4, 0x74, 0x2c, 0xdb, 0xe3, 0x94, 0x5c,
+			0x09, 0x31, 0x1e, 0x16, 0x2e, 0x0a, 0xb5, 0x34,
+			0x85, 0x15, 0x43, 0x5a, 0x41, 0x83, 0xcb, 0xd1,
+			0xda, 0xbf, 0x71, 0xcc, 0x77, 0x09, 0x82, 0xc6,
+			0x08, 0x79, 0xf3, 0x78, 0x1f, 0xfd, 0xef, 0x8c,
+			0x56, 0xe5, 0x7d, 0x68, 0x06, 0x93, 0xf9, 0x4b,
+			0x91, 0x07, 0xb4, 0x09, 0x4d, 0xc6, 0xb1, 0xf5,
+			0x92, 0x62, 0x3d, 0x2f, 0x35, 0x49, 0xaf, 0x15,
+			0xb9, 0x6c, 0xab, 0x2e, 0xa7, 0x9e, 0x20, 0x59,
+			0xe7, 0x7d, 0xf6, 0x8d, 0x18, 0x5e, 0xed, 0x68,
+			0x5c, 0x94, 0xf5, 0x45, 0x44, 0xb5, 0x5d, 0x86,
+			0x4c, 0xe3, 0x69, 0x0f, 0xe3, 0x29, 0xb2, 0xf6,
+			0x2a, 0xd4, 0xee, 0x7c, 0x9b, 0xe6, 0xad, 0xcf,
+			0x90, 0x34, 0x85, 0xca, 0xc5, 0xa1, 0x36, 0xdd,
+			0x7b, 0xaf, 0x36, 0x5e, 0x7c, 0xf3, 0x55, 0xf9,
+			0xae, 0x8d, 0x23, 0xcf, 0x33, 0x98, 0xdc, 0x4e,
+			0x09, 0xcb, 0x81, 0x12, 0x2f, 0x88, 0x52, 0x5a,
+			0xd8, 0xeb, 0x56, 0x86, 0xab, 0x30, 0x57, 0xe9,
+			0x26, 0x62, 0x02, 0xfd, 0xb0, 0xf4, 0xfd, 0xff,
+			0xf7, 0xf7, 0xe5, 0x65, 0x94, 0x7e, 0x3b, 0xc5,
+			0x76, 0x4e, 0x3f, 0x4d, 0x31, 0xc8, 0x46, 0xbe,
+			0xbf, 0x98, 0x70, 0x46, 0x71, 0x61, 0xd1, 0x02,
+			0x98, 0xd9, 0xf8, 0xc0, 0xcc, 0x0c, 0x08, 0x09,
+			0x71, 0x10, 0xb1, 0x30, 0xa9, 0x7f, 0x0a, 0x21,
+			0xf9, 0xc5, 0x28, 0x35, 0x23, 0x1e, 0xfe, 0xab,
+			0x03, 0x18, 0x2a, 0x34, 0xe0, 0xcb, 0x5c, 0x19,
+			0x45, 0x2b, 0xec, 0x63, 0xfe, 0xaf, 0x60, 0x72,
+			0x61, 0x2e, 0x7a, 0xd9, 0x7d, 0x08, 0xb2, 0xd7,
+			0x90, 0x7a, 0xc8, 0xbe, 0x4d, 0xf6, 0xa1, 0xf5,
+			0xe4, 0xe5, 0xd1, 0x6d, 0x02, 0xec, 0x2a, 0x01,
+			0x9c, 0xc4, 0xee, 0x41, 0x10, 0x47, 0xee, 0x22,
+			0x30, 0x12, 0xf6, 0xd3, 0x3c, 0x0e, 0xa6, 0x78,
+			0x77, 0x2e, 0x61, 0xfd, 0xa2, 0x5f, 0x73, 0x9c,
+			0x25, 0xbc, 0xa3, 0xf2, 0x72, 0xe0, 0xc6, 0xdc,
+			0xb6, 0xc7, 0x7b, 0xb5, 0x93, 0xc2, 0x60, 0x1e,
+			0x52, 0xd3, 0x25, 0x28, 0xbd, 0xd0, 0x0d, 0xd7,
+			0x31, 0xd9, 0x2c, 0xe8, 0xb3, 0xb9, 0x5c, 0x1e,
+			0x74, 0x6b, 0x91, 0xff, 0xd2, 0x0f, 0x03, 0x32,
+			0x36, 0x75, 0x26, 0x12, 0xee, 0xa0, 0x25, 0xdb,
+			0x23, 0x5f, 0x3e, 0x6f, 0x36, 0x7f, 0x4e, 0x89,
+			0xa3, 0x4d, 0x30, 0xd6, 0xa2, 0xe4, 0x66, 0xfc,
+			0x0b, 0x4b, 0x07, 0x53, 0xa9, 0xd6, 0x61, 0x7b,
+			0x4b, 0xa4, 0xe9, 0x5a, 0xe6, 0xf6, 0xed, 0xe5,
+			0x9b, 0xb0, 0xc0, 0x6a, 0xa6, 0x7e, 0x13, 0xa4,
+			0x66, 0xb9, 0x39, 0xf5, 0x2a, 0x27, 0x26, 0x35,
+			0x58, 0x36, 0x73, 0x8c, 0x7a, 0x9d, 0x69, 0x31,
+			0x25, 0xd5, 0x14, 0xdf, 0x21, 0x68, 0xe3, 0xa3,
+			0xa4, 0x43, 0x07, 0x2d, 0x0b, 0x7f, 0x8b, 0xa5,
+			0x0b, 0x13, 0xe0, 0xe2, 0x0b, 0xcf, 0xc6, 0x9b,
+			0xe6, 0xe4, 0x39, 0x13, 0xf7, 0x2a, 0x44, 0x76,
+			0x60, 0x88, 0x96, 0xd9, 0xe4, 0xf1, 0xe0, 0xc9,
+			0xc8, 0xf4, 0x17, 0x56, 0x4c, 0x06, 0xda, 0x2d,
+			0xea, 0xf4, 0x6b, 0x51, 0xb1, 0xff, 0xbc, 0x2e,
+			0x08, 0xbd, 0x8f, 0xe2, 0x40, 0xac, 0x78, 0x7a,
+			0x16, 0xf7, 0xb8, 0xd5, 0x31, 0xd0, 0x3c, 0xab,
+			0x75, 0x0f, 0xf1, 0xd0, 0x29, 0x6c, 0x88, 0xa6,
+			0x08, 0x64, 0xb0, 0x21, 0x6a, 0x0d, 0x21, 0xfb,
+			0x36, 0xd0, 0xe4, 0x65, 0xe8, 0x82, 0x95, 0x35,
+			0xfb, 0xde, 0x07, 0x10, 0xfd, 0x84, 0xc0, 0xf8,
+			0x99, 0xe2, 0x58, 0xa3, 0x16, 0xe0, 0xb6, 0x62,
+			0xf2, 0xa1, 0xd9, 0xb0, 0xf4, 0x28, 0xa0, 0xbf,
+			0x2a, 0x40, 0x5c, 0xef, 0xa3, 0xbc, 0xb1, 0x2e,
+			0x45, 0xd8, 0xbc, 0x21, 0x5d, 0x9d, 0x91, 0x33,
+			0xc1, 0x38, 0xd5, 0x68, 0x61, 0x67, 0x8e, 0xb0,
+			0x37, 0xf8, 0x6d, 0xf6, 0xc5, 0x5d, 0x89, 0xd0,
+			0x5a, 0x4f, 0xde, 0x74, 0x9a, 0x3d, 0x70, 0x79,
+			0xfc, 0xa7, 0x18, 0x4f, 0x52, 0xd9, 0xbc, 0x5c,
+			0x60, 0xd6, 0xfb, 0x95, 0x8f, 0xa9, 0x90, 0xc0,
+			0x71, 0xe7, 0xc4, 0x51, 0xbd, 0x10, 0x13, 0xcf,
+			0xf9, 0x3a, 0x04, 0xae, 0x92, 0x1e, 0xd3, 0x6a,
+			0x54, 0x67, 0x92, 0xa7, 0x14, 0x04, 0x67, 0x53,
+			0xb9, 0x9f, 0xe1, 0xd2, 0xfc, 0x50, 0x20, 0xd5,
+			0x98, 0x02, 0xb7, 0xbc, 0x72, 0xac, 0xf6, 0x53,
+			0x1f, 0x7b, 0x8d, 0x05, 0x21, 0xdd, 0x43, 0x43,
+			0x38, 0x11, 0x8b, 0x1c, 0x11, 0xb0, 0x27, 0x87,
+			0xba, 0xf3, 0x09, 0xc2, 0x2a, 0x2b, 0x89, 0x49,
+			0x2c, 0xdc, 0xc4, 0x95, 0x92, 0x3a, 0x8e, 0xec,
+			0x7b, 0xf4, 0x18, 0xf0, 0xc2, 0x39, 0x6c, 0xaa,
+			0x24, 0xc6, 0xd3, 0x36, 0x73, 0x48, 0xe5, 0x33,
+			0x02, 0x8a, 0x5c, 0x03, 0xee, 0x9f, 0xa7, 0x04,
+			0x87, 0x85, 0x28, 0x03, 0xd5, 0x6b, 0xca, 0x0a,
+			0xac, 0xfd, 0xb6, 0xc7, 0x1e, 0x5d, 0x50, 0xf9,
+			0x7e, 0xc9, 0x61, 0x59, 0xb5, 0x31, 0xe2, 0x30,
+			0xd5, 0xa6, 0xac, 0x44, 0x3d, 0x47, 0x04, 0x18,
+			0x54, 0x67, 0xae, 0x0a, 0xea, 0x3d, 0xd0, 0x33,
+			0x24, 0xb3, 0x56, 0x55, 0xe8, 0xea, 0x07, 0xa4,
+			0x6a, 0x0e, 0xd3, 0xbd, 0x56, 0x7f, 0x8a, 0x5a,
+			0xbf, 0xd3, 0x40, 0xd4, 0xd8, 0x3e, 0xa3, 0xe6,
+			0xc0, 0x4e, 0x01, 0x4d, 0x6a, 0xe9, 0x7e, 0x91,
+			0x8b, 0x1f, 0x3d, 0x6d, 0x38, 0x4a, 0xbd, 0xdb,
+			0x8e, 0xf3, 0x0a, 0x1d, 0xb7, 0x2c, 0x95, 0xb7,
+			0xff, 0xaf, 0x6d, 0xed, 0x68, 0xd4, 0x68, 0x20,
+			0x86, 0x13, 0x45, 0x19, 0xc4, 0x50, 0x6c, 0x94,
+			0xc2, 0x71, 0xea, 0x69, 0x9d, 0x12, 0xff, 0xe1,
+			0xd0, 0xc7, 0x1b, 0x9f, 0x21, 0xce, 0x1d, 0x19,
+			0x3a, 0x3c, 0xf3, 0x5f, 0x24, 0x89, 0x95, 0x2a,
+			0x37, 0x85, 0x18, 0xd7, 0x4f, 0xf4, 0x6f, 0x53,
+			0x9c, 0x63, 0xce, 0x41, 0x0f, 0x76, 0x99, 0xa1,
+			0x23, 0xdd, 0x30, 0x52, 0xde, 0x56, 0xe1, 0xe5,
+			0xef, 0xbf, 0x9e, 0x96, 0xd5, 0x1f, 0x3b, 0x37,
+			0x3d, 0x2b, 0xd1, 0xaf, 0xf2, 0x00, 0x70, 0xa5,
+			0x03, 0xe0, 0xb2, 0xcb, 0xa1, 0xa5, 0x77, 0xb0,
+			0xc3, 0xfe, 0xb9, 0x55, 0xe2, 0x45, 0x7f, 0xf4,
+			0x10, 0xe0, 0x0d, 0x58, 0x4c, 0x80, 0x2a, 0xb1,
+			0xf0, 0x2f, 0x69, 0xc1, 0x14, 0xa1, 0xe0, 0x47,
+			0xed, 0x02, 0x1e, 0x6c, 0x70, 0x83, 0x61, 0xc9,
+			0xa5, 0x6d, 0xeb, 0xfd, 0xb7, 0x3d, 0x76, 0x39,
+			0xd8, 0x8e, 0xbc, 0xbc, 0x5a, 0xe1, 0xe0, 0x01,
+			0x8d, 0xb7, 0xd9, 0x1c, 0x97, 0x2b, 0xb6, 0x12,
+			0x6f, 0x61, 0x29, 0x08, 0xe9, 0x59, 0xb6, 0x88,
+			0x37, 0x47, 0x7d, 0x91, 0xc2, 0x6c, 0x84, 0x1f,
+			0xc0, 0xc8, 0x93, 0x98, 0xe3, 0xc3, 0xdc, 0x74,
+			0x1d, 0x3e, 0xe3, 0x8e, 0x1e, 0xd3, 0x4f, 0x57,
+			0x92, 0xd0, 0xf5, 0x12, 0x93, 0xe3, 0x27, 0x8d,
+			0x0e, 0xa1, 0xad, 0x6a, 0x04, 0x4e, 0xac, 0x79,
+			0xb1, 0xff, 0x35, 0x36, 0x57, 0x2a, 0x18, 0x1e,
+			0xcc, 0xe2, 0x8e, 0x4b, 0x58, 0x76, 0x6b, 0xc8,
+			0xe7, 0x8b, 0x0f, 0x18, 0xe0, 0x56, 0xa7, 0x87,
+			0x21, 0xd0, 0xd5, 0xd9, 0x76, 0x44, 0x6b, 0xd0,
+			0xe7, 0x0d, 0xaa, 0x4b, 0x3c, 0xb9, 0x15, 0x68,
+			0xfe, 0xad, 0x89, 0x9f, 0x11, 0x6d, 0x6d, 0x29,
+			0x51, 0xc4, 0x07, 0x95, 0x9d, 0x33, 0xa2, 0xee,
+			0x02, 0xab, 0x31, 0x65, 0xfd, 0x8c, 0x5c, 0x3a,
+			0x38, 0x46, 0xcb, 0x29, 0x33, 0x53, 0xd9, 0x81,
+			0xdd, 0xbb, 0x4a, 0x71, 0xfc, 0x7d, 0xd4, 0x38,
+			0xf2, 0x81, 0x6c, 0xbc, 0xb5, 0x4d, 0x1e, 0xd6,
+			0x6c, 0x21, 0x51, 0x4d, 0x63, 0x28, 0x57, 0x9f,
+			0x8f, 0xd4, 0x7f, 0x92, 0x70, 0x4f, 0xe7, 0x0d,
+			0x2f, 0xe0, 0x74, 0x28, 0x16, 0xf0, 0x40, 0x97,
+			0x5c, 0xd0, 0x37, 0x93, 0x23, 0x57, 0xa1, 0xb7,
+			0x2f, 0x44, 0xd8, 0xd1, 0x1b, 0xea, 0x10, 0x85,
+			0x76, 0x3b, 0xa6, 0xb3, 0x94, 0x26, 0x26, 0xa8,
+			0xd7, 0xbf, 0x69, 0x43, 0x1c, 0xdd, 0x58, 0xb7,
+			0x3b, 0x4d, 0x77, 0xae, 0x0d, 0xea, 0x35, 0x73,
+			0xa7, 0x5e, 0xe1, 0x94, 0xa8, 0xc4, 0x3f, 0x42,
+			0xef, 0x79, 0x19, 0xf3, 0xbf, 0x4f, 0xd7, 0x65,
+			0x81, 0xe0, 0xcd, 0x5d, 0x98, 0x5c, 0x30, 0x1c,
+			0x51, 0x25, 0xb8, 0xfe, 0x04, 0x93, 0x45, 0x9c,
+			0xee, 0xee, 0x4d, 0x03, 0x75, 0x35, 0x08, 0x1e,
+			0x94, 0x08, 0x50, 0xa8, 0x6b, 0x14, 0x4e, 0xbe,
+			0x92, 0x48, 0x9f, 0xd7, 0x9c, 0x34, 0x0f, 0xa2,
+			0x31, 0x49, 0xe9, 0xd7, 0x9d, 0xed, 0x08, 0xcf,
+			0xb2, 0x28, 0xd6, 0x4f, 0x78, 0xfc, 0x84, 0xca,
+			0xb4, 0xeb, 0xa8, 0x61, 0x31, 0xe5, 0xcc, 0xfd,
+			0x4d, 0x24, 0x31, 0xb0, 0x18, 0x4c, 0x68, 0x45,
+			0x0d, 0xcd, 0x3f, 0xbc, 0x1d, 0xa5, 0xec, 0xe4,
+			0xe1, 0x66, 0xaa, 0x52, 0x2c, 0xc2, 0x0b, 0xdc,
+			0xeb, 0xf4, 0xe3, 0x31, 0xc6, 0x86, 0xb2, 0x32,
+			0x24, 0x44, 0x95, 0x0a, 0x3d, 0x87, 0x97, 0xc7,
+			0xff, 0x40, 0x65, 0x75, 0x04, 0x51, 0x4d, 0x81,
+			0x2f, 0x60, 0x8e, 0x58, 0xf9, 0x66, 0x10, 0xb2,
+			0x5e, 0xdb, 0xf0, 0x64, 0x9c, 0x49, 0x8b, 0x91,
+			0xb7, 0x2e, 0x47, 0xf9, 0xaf, 0x80, 0x5c, 0x34,
+			0xf4, 0x32, 0x12, 0x76, 0x91, 0x9b, 0x46, 0x1c,
+			0xce, 0xa5, 0x94, 0xb8, 0xd3, 0x97, 0xfc, 0x35,
+			0xc0, 0x40, 0xc0, 0xd6, 0x49, 0xd9, 0x32, 0x2c,
+			0x0a, 0x1e, 0xab, 0x00, 0xab, 0xf5, 0xd6, 0xd6,
+			0x77, 0xad, 0xc4, 0xfd, 0x2a, 0x48, 0xc7, 0x73,
+			0xbc, 0xc6, 0x63, 0x53, 0x7c, 0x2b, 0x92, 0xdf,
+			0xd8, 0x33, 0xec, 0x34, 0x1e, 0xd0, 0x29, 0x8a,
+			0x52, 0xd8, 0xf7, 0xd3, 0xcb, 0xd1, 0x55, 0x3b,
+			0x0d, 0x14, 0xb6, 0x96, 0xf1, 0x62, 0xc5, 0x09,
+			0x30, 0xee, 0xef, 0x0f, 0xef, 0xf9, 0x5b, 0x96,
+			0x0a, 0xf2, 0x06, 0x82, 0x5f, 0x25, 0x59, 0xaa,
+			0xa4, 0xa3, 0x65, 0x33, 0xa1, 0x0c, 0xd5, 0xeb,
+			0xf2, 0xf3, 0xc2, 0x40, 0x06, 0x4a, 0xb3, 0x9c,
+			0xd2, 0xc7, 0x3f, 0xa1, 0xd6, 0xe9, 0xb3, 0x0a,
+			0x4e, 0x3b, 0x37, 0x40, 0x17, 0x76, 0xd7, 0x3d,
+			0x8e, 0xff, 0x40, 0x13, 0xa8, 0xe9, 0xee, 0x68,
+			0x06, 0xdd, 0x8b, 0x0d, 0x83, 0x11, 0xd3, 0x86,
+			0x6b, 0x1d, 0x19, 0x51, 0xa2, 0xd7, 0x16, 0x45,
+			0xd6, 0x98, 0x75, 0xf7, 0x6d, 0x6f, 0x61, 0x95,
+			0x5f, 0x7e, 0xe2, 0xf7, 0x42, 0x82, 0x0c, 0x72,
+			0x69, 0xa9, 0x15, 0xb3, 0x2a, 0xc0, 0xc5, 0x5d,
+			0x89, 0x41, 0x7f, 0xa7, 0x12, 0xa3, 0x03, 0x7e,
+			0x3e, 0x76, 0x38, 0xc7, 0xb6, 0x1c, 0xc0, 0xb6,
+			0x2f, 0xe7, 0x17, 0x80, 0x8a, 0xd0, 0xee, 0x38,
+			0xbc, 0x63, 0xe2, 0xa1, 0xd6, 0x34, 0x3d, 0xa9,
+			0x97, 0x6c, 0x5f, 0x39, 0xac, 0x1c, 0x25, 0x87,
+			0xc1, 0x1f, 0x2b, 0x4b, 0xda, 0x09, 0xa3, 0xb9,
+			0x91, 0x71, 0xdb, 0x48, 0x79, 0xd2, 0xa2, 0xfb,
+			0x5f, 0x36, 0xfd, 0x74, 0x1f, 0x40, 0x51, 0x5f,
+			0xc3, 0x21, 0x33, 0x7a, 0xea, 0x03, 0x94, 0x83,
+			0x89, 0x73, 0x08, 0x91, 0xf5, 0x6a, 0x1d, 0x31,
+			0x69, 0x86, 0xd1, 0xed, 0xf8, 0x0a, 0x7c, 0xe4,
+			0xb8, 0xfb, 0x4f, 0x3d, 0x14, 0x73, 0xe7, 0xdc,
+			0x7a, 0xb9, 0xd0, 0xaf, 0xad, 0x0d, 0x15, 0x08,
+			0xb4, 0xb9, 0x0a, 0x48, 0x06, 0xe8, 0xbb, 0xd4,
+			0x7e, 0xf7, 0xee, 0xdd, 0x65, 0x88, 0x6a, 0xbc,
+			0x6b, 0x40, 0x49, 0x5b, 0x53, 0x11, 0x10, 0x17,
+			0x92, 0x0a, 0xb9, 0x4a, 0xfd, 0xa2, 0x4c, 0xe4,
+			0x18, 0xd8, 0xbb, 0x6e, 0x60, 0xb1, 0xba, 0x36,
+			0xd0, 0xa6, 0xd2, 0x2f, 0x6b, 0x42, 0x9f, 0x31,
+			0xaf, 0xe0, 0x36, 0x5c, 0xc0, 0x64, 0x48, 0x07,
+			0xd6, 0x2a, 0xe3, 0xb5, 0x9e, 0xcf, 0x26, 0x9a,
+			0x8e, 0x49, 0xaf, 0xe5, 0xd7, 0x94, 0x5b, 0x20,
+			0xab, 0x59, 0x3b, 0xe2, 0xdb, 0x39, 0xab, 0x65,
+			0xda, 0xdb, 0x56, 0xfc, 0x20, 0x0e, 0xb7, 0xa5,
+			0xa4, 0x96, 0x1f, 0xd2, 0xe4, 0xce, 0x7a, 0xba,
+			0x83, 0x00, 0xac, 0x89, 0x9b, 0xcb, 0x01, 0x3d,
+			0xba, 0xf0, 0x57, 0x47, 0xba, 0xdd, 0xa1, 0xf7,
+			0xe3, 0x84, 0x28, 0xdf, 0xf7, 0x70, 0xd3, 0x08,
+			0xcf, 0xb9, 0x9b, 0x97, 0x14, 0x48, 0x80, 0x40,
+			0xd8, 0x6b, 0x1e, 0xaa, 0xa1, 0x5b, 0x42, 0x17,
+			0x05, 0xe9, 0x61, 0x8f, 0x98, 0x5f, 0x26, 0x19,
+			0x84, 0x26, 0x30, 0x94, 0x52, 0xce, 0x50, 0xaa,
+			0x9b, 0x13, 0x0c, 0xad, 0x97, 0x96, 0xcb, 0x10,
+			0xc1, 0xb0, 0x85, 0x7b, 0x7c, 0xe9, 0xc6, 0xae,
+			0x96, 0x39, 0xfc, 0x43, 0x7c, 0x77, 0x12, 0x53,
+			0x70, 0xf0, 0xec, 0x95, 0x2a, 0x7c, 0x60, 0x18,
+			0x50, 0x3f, 0x0d, 0x35, 0x88, 0x0b, 0xc1, 0x7b,
+			0xba, 0x55, 0xc6, 0xad, 0x4b, 0xc8, 0x52, 0x11,
+			0xec, 0xe3, 0x60, 0xc1, 0xe1, 0x79, 0xb4, 0x57,
+			0x3f, 0x84, 0x9a, 0xb6, 0xef, 0x6f, 0x7e, 0x57,
+			0xba, 0xcc, 0xae, 0xd4, 0xca, 0x5f, 0xe1, 0xb5,
+			0x11, 0x5a, 0x44, 0x91, 0x3a, 0x2e, 0x5c, 0xbc,
+			0xd2, 0x13, 0x4f, 0x00, 0x58, 0x69, 0xbf, 0xa4,
+			0x14, 0x89, 0xcf, 0x88, 0x9a, 0xf4, 0x6c, 0x16,
+			0x3a, 0xdb, 0x83, 0x0b, 0x4d, 0xe7, 0x69, 0x37,
+			0x17, 0xe1, 0xf0, 0xfb, 0x1c, 0xab, 0x20, 0xac,
+			0xe7, 0x54, 0x4a, 0xd6, 0x0f, 0x6e, 0x61, 0x30,
+			0xbe, 0xff, 0xbf, 0x1e, 0x3f, 0xaf, 0x25, 0x62,
+			0x17, 0x25, 0xfc, 0xca, 0x39, 0x36, 0x74, 0xed,
+			0xa9, 0xfa, 0x35, 0xd3, 0xa6, 0xf7, 0x6f, 0xa5,
+			0x4a, 0x33, 0x6b, 0x58, 0x82, 0x5d, 0x79, 0x71,
+			0x9c, 0x9f, 0x38, 0xb6, 0x98, 0xe1, 0x4f, 0xce,
+			0xa3, 0xbb, 0x6e, 0xb4, 0x6c, 0x7f, 0xd1, 0x99,
+			0x02, 0x36, 0xbd, 0xa1, 0xe9, 0xc9, 0xbc, 0x8b,
+			0xeb, 0xbf, 0xf1, 0xb8, 0xea, 0xda, 0x71, 0x39,
+			0xd4, 0x95, 0xc5, 0xb7, 0x6c, 0x2a, 0x92, 0xc9,
+			0xd7, 0x68, 0xd8, 0xd2, 0xc1, 0x5e, 0xda, 0xac,
+			0x0a, 0x44, 0x6c, 0x0a, 0x1f, 0xaf, 0x0a, 0x2f,
+			0xa1, 0x1c, 0x7e, 0x2b, 0x53, 0x47, 0x7c, 0x60,
+			0x36, 0x7a, 0xb2, 0x9a, 0x01, 0xec, 0x8a, 0x72,
+			0x08, 0xe8, 0xb9, 0xc5, 0x03, 0x86, 0x13, 0x6b,
+			0x88, 0x20, 0xf3, 0x5e, 0x53, 0x22, 0x08, 0x9b,
+			0x43, 0xce, 0x4e, 0x6d, 0x98, 0xed, 0xb5, 0x7b,
+			0x9e, 0x9b, 0xc0, 0xda, 0xff, 0x8e, 0x55, 0x40,
+			0x4d, 0xdb, 0xe5, 0xc0, 0x34, 0x18, 0x4c, 0x6f,
+			0x7a, 0x10, 0xac, 0x8d, 0xc0, 0xf1, 0xdd, 0xdc,
+			0xa7, 0xea, 0x86, 0xcf, 0x8e, 0x73, 0x31, 0x54,
+			0x0b, 0x1f, 0x1d, 0x1d, 0xa3, 0x9a, 0x92, 0x14,
+			0x72, 0xc6, 0x2b, 0x9f, 0x36, 0x25, 0xbe, 0x4a,
+			0x6f, 0xe4, 0xfd, 0xe9, 0xd4, 0x44, 0x12, 0xff,
+			0xbd, 0xfa, 0xc4, 0xac, 0xe6, 0xad, 0x15, 0x60,
+			0x75, 0x76, 0x54, 0x76, 0x05, 0xb8, 0xde, 0xed,
+			0x73, 0xd2, 0x91, 0x1a, 0x23, 0x11, 0xde, 0x4b,
+			0x49, 0x7d, 0xd4, 0xdd, 0x77, 0x45, 0xb5, 0xc6,
+			0xfc, 0xb7, 0x55, 0x29, 0x84, 0x03, 0x8a, 0xcc,
+			0x5a, 0x88, 0x88, 0xb0, 0x6c, 0x14, 0x33, 0xc7,
+			0xab, 0x79, 0x75, 0x9a, 0x46, 0xa1, 0xab, 0x5e,
+			0x93, 0x8f, 0x2c, 0x4f, 0xc7, 0x54, 0xaa, 0x27,
+			0x64, 0x91, 0xbe, 0xb6, 0xa0, 0xc3, 0x9e, 0x08,
+			0xea, 0x06, 0x8f, 0x7e, 0x0c, 0x50, 0x1f, 0xfc,
+			0x2e, 0xd3, 0xdf, 0x06, 0x23, 0x35, 0xa7, 0xbb,
+			0x0d, 0xe6, 0xd2, 0x18, 0x24, 0x7a, 0xbd, 0xa7,
+			0x0c, 0x40, 0x69, 0x92, 0x62, 0xec, 0xe3, 0x04,
+			0x9e, 0x43, 0x16, 0xb8, 0xa3, 0x5f, 0x3d, 0x00,
+			0xf3, 0xc6, 0xfc, 0x73, 0x8c, 0xa8, 0xda, 0x76,
+			0xaf, 0x20, 0x3c, 0x0c, 0xdb, 0xc4, 0x21, 0x86,
+			0xcd, 0x21, 0xac, 0x2c, 0xd4, 0x8e, 0xc3, 0x18,
+			0xdb, 0x6b, 0xa6, 0xe3, 0x84, 0xcc, 0xd2, 0xa0,
+			0x0a, 0xb0, 0x83, 0x56, 0xbf, 0x24, 0x6b, 0x25,
+			0xa1, 0xe7, 0xe4, 0x58, 0x13, 0x5d, 0xa2, 0x25,
+			0x09, 0xae, 0x97, 0x79, 0x1e, 0x2e, 0x56, 0xb7,
+			0x35, 0x55, 0xf0, 0x1a, 0xa1, 0x7b, 0x11, 0x0c,
+			0x4b, 0xad, 0x83, 0x26, 0x6e, 0x14, 0xea, 0x89,
+			0x6d, 0x39, 0x7d, 0x27, 0x67, 0x9b, 0xaf, 0x05,
+			0x58, 0x25, 0xc9, 0x99, 0xe8, 0x9a, 0x3c, 0xff,
+			0xc9, 0x1c, 0x1a, 0x3c, 0xeb, 0x87, 0xba, 0xd4,
+			0xcb, 0x7d, 0x9a, 0x36, 0x42, 0xb7, 0xa3, 0x62,
+			0xed, 0xf2, 0xd2, 0x67, 0x48, 0x63, 0x82, 0xc1,
+			0x77, 0x10, 0x04, 0x74, 0x24, 0x66, 0x28, 0x9f,
+			0xd5, 0xcb, 0x0d, 0xbb, 0x74, 0x3f, 0x1a, 0x02,
+			0xcc, 0x47, 0x8d, 0x59, 0xba, 0xcf, 0xc6, 0xe8,
+			0xcb, 0x7f, 0xbc, 0xc5, 0xdf, 0x08, 0x12, 0xd0,
+			0x88, 0x1c, 0x6f, 0xa3, 0xad, 0xdd, 0x67, 0x90,
+			0x23, 0x4e, 0xe9, 0x07, 0x77, 0x62, 0x4f, 0x1e,
+			0x4c, 0xa8, 0x3b, 0xe7, 0xcf, 0x37, 0xfb, 0xa1,
+			0x7f, 0x13, 0xe5, 0x90, 0xd7, 0xdf, 0x96, 0x10,
+			0x16, 0x9a, 0x3e, 0x40, 0x73, 0x77, 0x11, 0x72,
+			0x04, 0x7e, 0x31, 0x37, 0xdf, 0x14, 0xdf, 0xcc,
+			0x83, 0xaf, 0xa8, 0x44, 0xf3, 0x68, 0xb6, 0xe6,
+			0x6c, 0x21, 0x0c, 0x28, 0x2e, 0xdb, 0xd0, 0xd8,
+			0x11, 0x33, 0x54, 0x4c, 0x9a, 0x89, 0x95, 0x81,
+			0xbd, 0x2b, 0x73, 0x2c, 0x63, 0x80, 0x91, 0xef,
+			0x0d, 0x29, 0xdc, 0xb3, 0x31, 0xfb, 0xc7, 0x3e,
+			0x02, 0x2f, 0x37, 0x68, 0x2d, 0xa2, 0xf3, 0x39,
+			0x20, 0xb1, 0x99, 0xc6, 0x91, 0xd6, 0x7a, 0xa7,
+			0x23, 0x7e, 0x09, 0x72, 0xb8, 0x4f, 0x19, 0x43,
+			0xba, 0x5a, 0x2e, 0x9b, 0xea, 0x07, 0xcf, 0xab,
+			0x95, 0x14, 0x2a, 0xdc, 0xf7, 0x6a, 0x67, 0xe9,
+			0xf5, 0xf9, 0x08, 0x4b, 0x9d, 0x1e, 0x44, 0x9e,
+			0x25, 0x3e, 0xb6, 0x2f, 0xc9, 0xa0, 0x6a, 0x53,
+			0xdd, 0xaa, 0x6d, 0xc7, 0xba, 0x0a, 0x83, 0x82,
+			0xda, 0x28, 0x8b, 0x08, 0xd9, 0xc1, 0xcf, 0xb5,
+			0x12, 0xea, 0x57, 0xf2, 0xc7, 0x2b, 0x6e, 0xdd,
+			0xdc, 0xff, 0x2e, 0xf6, 0xa8, 0xe1, 0x52, 0xd4,
+			0x93, 0x85, 0x02, 0x4a, 0x5f, 0xc7, 0x94, 0x4b,
+			0x4c, 0x79, 0xfb, 0xd4, 0xfd, 0xc2, 0x97, 0x47,
+			0xf0, 0xce, 0xda, 0x16, 0x17, 0xf7, 0xf8, 0x2f,
+			0x70, 0x74, 0x9e, 0xe5, 0xb9, 0x30, 0x86, 0x3f,
+			0x6d, 0xed, 0x56, 0x81, 0xb7, 0x6d, 0xf6, 0x60,
+			0x6f, 0xc4, 0xd0, 0x98, 0x13, 0xa3, 0xd9, 0x43,
+			0x12, 0x4f, 0xa0, 0x62, 0xfa, 0xfe, 0xe6, 0xbb,
+			0xea, 0x5e, 0xd6, 0xdf, 0x01, 0x83, 0x21, 0x40,
+			0xc5, 0x8b, 0x3d, 0xc7, 0xaf, 0x01, 0xdd, 0xa9,
+			0x18, 0x17, 0x2a, 0x70, 0x24, 0x03, 0x78, 0xc0,
+			0xe3, 0x6a, 0x06, 0xcf, 0xd2, 0x7f, 0xa3, 0x44,
+			0x9e, 0xa0, 0xbc, 0x1a, 0x7b, 0x4e, 0x2c, 0x3f,
+			0x13, 0x31, 0xf3, 0x58, 0x1f, 0x37, 0x11, 0x3d,
+			0x16, 0x25, 0x9e, 0x31, 0x15, 0x61, 0xa2, 0x64,
+			0xc0, 0x01, 0xe3, 0x1c, 0x20, 0x59, 0x63, 0x04,
+			0x36, 0x1b, 0x10, 0x6d, 0x3a, 0x30, 0xac, 0x40,
+			0x99, 0x76, 0xdf, 0x47, 0xc0, 0x89, 0x64, 0x2b,
+			0x85, 0x07, 0x18, 0x6d, 0x40, 0x47, 0xe7, 0x03,
+			0x31, 0x29, 0x33, 0xc5, 0x46, 0x51, 0x4f, 0x0c,
+			0x79, 0xb2, 0x45, 0x0e, 0xd9, 0xa9, 0xe7, 0xed,
+			0x15, 0x60, 0xa7, 0xec, 0xbd, 0x15, 0x47, 0xba,
+			0x40, 0x7a, 0xa6, 0xb2, 0x29, 0x13, 0xcc, 0xc3,
+			0x3b, 0xbc, 0x00, 0x69, 0xc6, 0x4a, 0x16, 0xc4,
+			0x60, 0xc2, 0x9a, 0x30, 0xd2, 0x16, 0x67, 0x83,
+			0x03, 0xee, 0x01, 0x62, 0xb7, 0xa5, 0x15, 0x62,
+			0x89, 0x09, 0xd0, 0x9b, 0x71, 0x58, 0x4f, 0x8b,
+			0x1a, 0x14, 0x85, 0xfd, 0x39, 0x69, 0x06, 0x5b,
+			0xb5, 0xf2, 0xe1, 0x4b, 0xcf, 0xaa, 0x7b, 0x76,
+			0xe3, 0x17, 0x2f, 0x6e, 0x1c, 0xd0, 0xb9, 0x5b,
+			0xa7, 0x5a, 0x65, 0x6e, 0x46, 0x8d, 0x7b, 0xb2,
+			0xec, 0x39, 0x08, 0x2f, 0x6d, 0xaf, 0x0a, 0xe2,
+			0xcd, 0xa7, 0xc6, 0xea, 0x59, 0xfe, 0xc0, 0x5d,
+			0x31, 0x3e, 0x5d, 0x90, 0x67, 0x2f, 0xee, 0xd4,
+			0xad, 0xde, 0xdb, 0x08, 0x1d, 0x0d, 0x9a, 0xfa,
+			0xe4, 0xea, 0xa0, 0x02, 0xf8, 0x4f, 0x70, 0x5d,
+			0xda, 0x0b, 0xb2, 0x16, 0x7c, 0x5c, 0xbf, 0x91,
+			0x10, 0x6f, 0x6d, 0x8a, 0x57, 0x45, 0x2a, 0x20,
+			0xe0, 0xd5, 0x94, 0x69, 0x84, 0x49, 0xd6, 0x0e,
+			0x94, 0x5f, 0x40, 0x15, 0xf6, 0x6c, 0xa1, 0xbc,
+			0xef, 0x79, 0x8c, 0xdd, 0x86, 0xe3, 0x74, 0x91,
+			0x1d, 0xc6, 0x7b, 0x95, 0xc2, 0x4d, 0x26, 0xec,
+			0x26, 0x98, 0xc8, 0x13, 0xdc, 0x86, 0xfb, 0x50,
+			0x15, 0x2d, 0xce, 0x19, 0x71, 0x1c, 0x78, 0xad,
+			0x9e, 0xc5, 0x92, 0xa3, 0x68, 0xf4, 0x87, 0xf4,
+			0x6d, 0x74, 0xd2, 0x4e, 0x63, 0x0b, 0x98, 0x17,
+			0xdf, 0x47, 0xa5, 0x73, 0x1f, 0x99, 0xac, 0x16,
+			0xd8, 0x44, 0xff, 0xc4, 0xf7, 0x5c, 0xec, 0x51,
+			0xd1, 0x55, 0xb9, 0xcb, 0x2b, 0xa7, 0x5b, 0x95,
+			0xe8, 0x9c, 0x22, 0x6c, 0x2d, 0x75, 0xab, 0x74,
+			0x56, 0xd7, 0x75, 0x3b, 0x32, 0xfa, 0x63, 0x90,
+			0x03, 0x32, 0x94, 0xfa, 0x8c, 0x0b, 0x1e, 0x0b,
+			0xa9, 0x8b, 0x65, 0x15, 0x17, 0xd1, 0x2c, 0x12,
+			0x7c, 0xa5, 0xaa, 0x12, 0x56, 0x09, 0x33, 0x02,
+			0xa5, 0xd7, 0x51, 0xc0, 0xa2, 0x96, 0x9d, 0x92,
+			0x2f, 0x92, 0xfd, 0x9a, 0x7e, 0xca, 0x14, 0x54,
+			0xa6, 0xbf, 0xa8, 0x68, 0x80, 0xff, 0x0e, 0x2f,
+			0xe4, 0x8b, 0xef, 0x29, 0xa5, 0x84, 0x01, 0x5d,
+			0xa1, 0x18, 0xe8, 0x29, 0x16, 0xfa, 0x88, 0xdc,
+			0x06, 0x1a, 0x0f, 0xb2, 0xf8, 0x66, 0x9c, 0x7d,
+			0x55, 0x3e, 0x7f, 0xf8, 0x8b, 0xbc, 0x35, 0x19,
+			0x82, 0x73, 0x4e, 0xe8, 0x89, 0x40, 0x6d, 0x2f,
+			0xec, 0xa2, 0x28, 0x11, 0x3b, 0x8d, 0xa3, 0x91,
+			0xa4, 0xbd, 0x03, 0x2d, 0xbe, 0x53, 0x1f, 0x7d,
+			0x86, 0x6d, 0x0d, 0xf2, 0x1c, 0x5b, 0x2b, 0xe0,
+			0x30, 0xc8, 0xf9, 0xe9, 0x38, 0x17, 0xa5, 0x4b,
+			0x0e, 0xa5, 0xba, 0xb6, 0x4a, 0xfc, 0xf7, 0x01,
+			0xd2, 0x84, 0x13, 0x81, 0x77, 0xad, 0x0a, 0x19,
+			0x0a, 0x42, 0xc2, 0xb0, 0x62, 0x17, 0x18, 0x6f,
+			0xee, 0x85, 0x04, 0x52, 0xef, 0x60, 0x9a, 0xf2,
+			0x22, 0xfe, 0x60, 0x50, 0xbd, 0x40, 0x77, 0x22,
+			0x30, 0x80, 0x98, 0xcd, 0x3f, 0xbd, 0xc1, 0xc2,
+			0x8e, 0x0c, 0xd1, 0xae, 0xa4, 0x24, 0x1f, 0x6e,
+			0x88, 0x22, 0x49, 0x47, 0x5c, 0x18, 0xc3, 0xc2,
+			0xd6, 0xc7, 0x60, 0x63, 0x6a, 0xc0, 0x91, 0x21,
+			0x43, 0x14, 0xd8, 0x6e, 0x87, 0xa0, 0xe4, 0xf2,
+			0xd2, 0x15, 0x69, 0xdf, 0xfb, 0x2e, 0x30, 0x98,
+			0x1e, 0xba, 0xa6, 0xfd, 0x9f, 0xc2, 0x10, 0x49,
+			0x63, 0xe3, 0x1b, 0x62, 0x53, 0x7d, 0xb6, 0x5a,
+			0xd0, 0xcb, 0x96, 0x06, 0x78, 0x9d, 0x6b, 0x3b,
+			0x5e, 0xa4, 0x97, 0x68, 0xb7, 0x64, 0xd0, 0xbd,
+			0x12, 0x04, 0x04, 0xcf, 0x33, 0x86, 0x44, 0xc7,
+			0x82, 0xac, 0xb5, 0x60, 0xb2, 0x3a, 0x27, 0x1c,
+			0x61, 0xc9, 0x22, 0x61, 0x62, 0x2d, 0xd8, 0x85,
+			0xa8, 0x1e, 0x10, 0x97, 0xf8, 0x01, 0x8f, 0x0c,
+			0x89, 0xdc, 0x08, 0xdf, 0xbc, 0x56, 0xff, 0x05,
+			0xaf, 0xc4, 0x4c, 0xa8, 0x86, 0xec, 0x4a, 0xc1,
+			0xdd, 0x87, 0x49, 0x62, 0x85, 0xa3, 0x2e, 0x3a,
+			0x07, 0x65, 0xa3, 0xb4, 0x1b, 0x94, 0xc6, 0x89,
+			0x31, 0xfc, 0xca, 0x2c, 0x1b, 0xdc, 0xab, 0x07,
+			0x73, 0xed, 0xc3, 0xf8, 0xd8, 0x98, 0xd0, 0x04,
+			0x8a, 0xf2, 0x47, 0xad, 0x70, 0x31, 0x8e, 0x3e,
+			0x68, 0x25, 0x2b, 0x1d, 0x2e, 0xda, 0x01, 0x69,
+			0x76, 0xec, 0x59, 0xe0, 0x7f, 0xc0, 0x98, 0x5a,
+			0xed, 0x58, 0xa0, 0x34, 0x0b, 0x9c, 0x33, 0x26,
+			0x9a, 0x21, 0x8c, 0x9c, 0x57, 0x3b, 0x44, 0x91,
+			0xdc, 0x46, 0x7a, 0x6f, 0xed, 0xc9, 0x6b, 0xb1,
+			0x96, 0x2e, 0x98, 0x4d, 0x46, 0xe3, 0xe8, 0x6e,
+			0x07, 0xa6, 0x14, 0xec, 0xeb, 0x7d, 0xb7, 0xb1,
+			0x8f, 0x4e, 0x1b, 0x26, 0xe1, 0xda, 0xde, 0xc0,
+			0xdf, 0x91, 0xa7, 0xa6, 0xaa, 0xc5, 0x5a, 0x47,
+			0x73, 0x5f, 0xa2, 0x42, 0x8a, 0x9a, 0x5b, 0x42,
+			0x75, 0x18, 0x7f, 0x95, 0xf0, 0x2a, 0x85, 0x38,
+			0x9a, 0x79, 0xdc, 0x75, 0x1a, 0x4a, 0xb2, 0x50,
+			0x0e, 0x00, 0xaf, 0x0b, 0x22, 0xf5, 0x0e, 0xe8,
+			0x8f, 0x29, 0xca, 0x6e, 0x14, 0x30, 0x35, 0xbd,
+			0xbe, 0x3b, 0x2d, 0x61, 0xaa, 0xd3, 0x88, 0x3d,
+			0x24, 0x85, 0x06, 0xaf, 0x20, 0xec, 0x0b, 0xe3,
+			0xaf, 0x95, 0x60, 0x8c, 0x57, 0xff, 0x5c, 0x0b,
+			0x73, 0xc5, 0x8e, 0x92, 0xe0, 0xdc, 0x32, 0x0c,
+			0xf2, 0x5c, 0xb7, 0x17, 0x6f, 0x27, 0x1e, 0x85,
+			0x78, 0xb4, 0x20, 0x65, 0x72, 0xab, 0x25, 0x20,
+			0x4a, 0x2a, 0xe0, 0x1c, 0x1b, 0x80, 0xa0, 0x5f,
+			0xa5, 0x9c, 0x43, 0x5b, 0xbe, 0xa1, 0x09, 0xce,
+			0x26, 0xce, 0x04, 0x73, 0xa2, 0x1b, 0x4e, 0x03,
+			0x1a, 0xa7, 0x76, 0xc3, 0x07, 0x35, 0xec, 0x9f,
+			0x00, 0xa0, 0x3a, 0xc5, 0xed, 0x9d, 0x88, 0xc8,
+			0x56, 0xdf, 0x0a, 0xd4, 0xa9, 0x06, 0xab, 0x0f,
+			0xcf, 0x87, 0xb0, 0xd7, 0x6f, 0x10, 0xe9, 0x62,
+			0x5c, 0x0c, 0x0b, 0x2d, 0x82, 0x94, 0x18, 0x34,
+			0xda, 0xdc, 0xd8, 0x19, 0x36, 0xc5, 0xaf, 0x39,
+			0x74, 0xd4, 0xf4, 0x75, 0x63, 0x70, 0x27, 0xdd,
+			0x6f, 0xf5, 0xe6, 0xa9, 0x71, 0x5a, 0xd2, 0xdf,
+			0x2c, 0x23, 0x95, 0x0c, 0x3e, 0x35, 0x63, 0x71,
+			0xc9, 0xab, 0x90, 0x1c, 0x2a, 0x83, 0xc2, 0x2d,
+			0x6d, 0x22, 0x23, 0x9c, 0x49, 0x97, 0x07, 0x6b,
+			0xaf, 0x70, 0xdd, 0x07, 0x6a, 0x1c, 0x1e, 0x36,
+			0xee, 0x1e, 0x17, 0xf2, 0x52, 0x52, 0x3a, 0xf6,
+			0xe8, 0xc4, 0x57, 0x9b, 0x64, 0xa7, 0xf5, 0xcd,
+			0xf3, 0xdd, 0xc4, 0xd2, 0x53, 0x1b, 0x9a, 0xa0,
+			0x58, 0x22, 0x29, 0xde, 0x8b, 0xd8, 0xd5, 0x0f,
+			0xd7, 0x0a, 0x61, 0x2d, 0xee, 0x80, 0x2d, 0x5e,
+			0x16, 0x57, 0x07, 0x09, 0xce, 0x19, 0x58, 0xfd,
+			0xfd, 0x27, 0xa1, 0x15, 0xe1, 0x22, 0xf9, 0x4a,
+			0x8c, 0x46, 0x11, 0xf8, 0x67, 0x64, 0x44, 0x95,
+			0x9f, 0x13, 0x0a, 0xd7, 0x24, 0x26, 0x2a, 0x6c,
+			0x51, 0xd4, 0x19, 0xec, 0xd8, 0xd1, 0x9f, 0x81,
+			0x28, 0x77, 0xc8, 0x24, 0xf6, 0xbf, 0x48, 0xab,
+			0x85, 0xa1, 0x85, 0x69, 0x68, 0x2f, 0x53, 0x84,
+			0xd0, 0x43, 0x68, 0x86, 0x20, 0xd8, 0x71, 0x1f,
+			0xc3, 0x97, 0xaa, 0x71, 0x97, 0xe7, 0x1d, 0x4b,
+			0xf1, 0x1f, 0x8e, 0x1b, 0x66, 0x82, 0xd8, 0x4f,
+			0xcc, 0xfe, 0xee, 0x59, 0xdc, 0xb8, 0x3e, 0x36,
+			0x27, 0x05, 0x60, 0x3d, 0x72, 0x22, 0x03, 0xbb,
+			0x5b, 0xd8, 0x95, 0x6d, 0xa1, 0xd3, 0xd4, 0xef,
+			0x6e, 0xe9, 0xe9, 0x2c, 0x93, 0x72, 0xec, 0x52,
+			0xac, 0x4d, 0xf9, 0x8a, 0xb8, 0xd1, 0x7d, 0x65,
+			0xf3, 0x1f, 0x07, 0xab, 0x1f, 0x53, 0xcf, 0x3b,
+			0x21, 0x9b, 0xa9, 0xc1, 0xc4, 0xd6, 0xdb, 0x31,
+			0x75, 0xa9, 0xb0, 0xdf, 0xe4, 0xf9, 0x16, 0x30,
+			0x3f, 0x46, 0x58, 0x61, 0x9f, 0xa2, 0xce, 0xf4,
+			0x3b, 0x4c, 0x84, 0xac, 0xc4, 0xd2, 0xed, 0xf1,
+			0x1b, 0x42, 0x7d, 0x9c, 0xaf, 0xc4, 0xd2, 0xf6,
+			0xff, 0x17, 0x1c, 0x24, 0x43, 0x55, 0x5a, 0x5b,
+			0x63, 0x66, 0x6b, 0x6e, 0x97, 0xa6, 0xb1, 0xb3,
+			0xd7, 0x56, 0x57, 0x60, 0xdc, 0xe9, 0xfc, 0x08,
+			0x15, 0x24, 0x35, 0x4d, 0x55, 0x90, 0x94, 0x97,
+			0xae, 0xc2, 0x00, 0x07, 0x0e, 0x18, 0x20, 0x29,
+			0x39, 0x3f, 0x4a, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0xa3, 0xf7, 0x20, 0x75, 0xd5, 0x7e, 0x0a, 0xaa,
+			0xcc, 0x5c, 0xfb, 0x8c, 0xdd, 0x90, 0x74, 0xe4,
+			0xc6, 0x08, 0xdd, 0x16, 0xf7, 0xd3, 0xbd, 0xa9,
+			0x05, 0xba, 0xf9, 0xc5, 0xac, 0x63, 0x0e, 0x22,
+			0xb5, 0x97, 0x18, 0x5e, 0x6c, 0x69, 0x5b, 0x1e,
+			0x00, 0x7c, 0xb4, 0x33, 0x5c, 0xe0, 0x1e, 0x8e,
+			0x6a, 0x4a, 0xc7, 0x7c, 0xb6, 0x85, 0xa1, 0xc1,
+			0x31, 0x0d, 0x50, 0x4f, 0x6e, 0x57, 0x03, 0x4d,
+			0x3d, 0x77, 0x40, 0x5b, 0x87, 0xaf, 0xd2, 0xf9,
+			0xf4, 0xd0, 0xa5, 0x9e, 0x12, 0x86, 0x17, 0x17,
+			0xc6, 0x13, 0x78, 0x8d, 0xaa, 0x6a, 0x54, 0xb8,
+			0x62, 0x82, 0xc2, 0x78, 0x76, 0x7c, 0x4e, 0xfd,
+			0x5b, 0x8b, 0x19, 0x82, 0x25, 0x4f, 0x6c, 0xf2,
+			0xf0, 0x50, 0x5b, 0x1d, 0x2d, 0xa9, 0x32, 0xf0,
+			0x0d, 0x46, 0x34, 0xca, 0xa2, 0x7d, 0xe5, 0x32,
+			0x0b, 0x8b, 0x6c, 0x8e, 0xab, 0x92, 0xb8, 0xc1,
+			0x6a, 0x9c, 0x4a, 0x4e, 0x4b, 0x2f, 0xf2, 0x66,
+			0xcf, 0xd3, 0x3e, 0x87, 0xe1, 0x0e, 0x90, 0xdb,
+			0x7f, 0xc1, 0x6b, 0xf9, 0x70, 0xdc, 0x7a, 0xc5,
+			0x86, 0x7e, 0x49, 0x17, 0x0f, 0xdf, 0xbd, 0x72,
+			0x36, 0x24, 0x5a, 0x4f, 0x55, 0x6d, 0xe0, 0xce,
+			0x9c, 0x3b, 0x7a, 0x5c, 0xd8, 0xa3, 0xf1, 0xe8,
+			0x3c, 0x17, 0x9f, 0x88, 0x64, 0x82, 0xe0, 0xeb,
+			0x10, 0xa2, 0x94, 0xbf, 0x08, 0xe4, 0x42, 0x5d,
+			0xbe, 0xad, 0x4a, 0xd3, 0x61, 0x8c, 0x97, 0x5b,
+			0xab, 0xb1, 0xae, 0xbe, 0xe2, 0x51, 0xf4, 0x47,
+			0xc8, 0xcf, 0x3c, 0x22, 0xbb, 0xee, 0xb9, 0x66,
+			0x2e, 0x83, 0xe6, 0x0b, 0x49, 0x96, 0x23, 0xad,
+			0xa7, 0xe1, 0xad, 0x21, 0x2c, 0x86, 0xa1, 0xcc,
+			0xcd, 0xb3, 0x5e, 0x8e, 0x46, 0xa9, 0x2f, 0x59,
+			0x6c, 0x67, 0xbb, 0x4b, 0x44, 0x8b, 0xfe, 0xee,
+			0x76, 0x90, 0x95, 0x8d, 0xdc, 0x14, 0x42, 0x72,
+			0x5a, 0x0b, 0x24, 0x56, 0x77, 0x74, 0x17, 0x90,
+			0x06, 0x93, 0xe1, 0x1a, 0x4c, 0x2b, 0x8e, 0x96,
+			0xa2, 0x2d, 0xa0, 0xb0, 0x55, 0xcc, 0x9e, 0xda,
+			0x5e, 0xc3, 0x7c, 0x22, 0xd9, 0x23, 0x58, 0xf9,
+			0x02, 0x22, 0x7b, 0xb1, 0x02, 0x60, 0xfc, 0xa8,
+			0x54, 0x22, 0x07, 0x9f, 0x11, 0x51, 0x67, 0xef,
+			0xf3, 0x67, 0x40, 0x43, 0x8f, 0xa7, 0x5a, 0xcc,
+			0xb9, 0x1d, 0xd5, 0x43, 0x99, 0x67, 0x30, 0x46,
+			0x6d, 0x7c, 0x7a, 0x56, 0x7a, 0xef, 0x6c, 0x88,
+			0x87, 0xa4, 0xdd, 0xa3, 0xfd, 0x72, 0x9b, 0xc4,
+			0xfb, 0xb1, 0xb4, 0xc1, 0xf6, 0xf2, 0x5d, 0x23,
+			0xa1, 0x05, 0xe7, 0xb4, 0xeb, 0x8c, 0x35, 0xf6,
+			0x55, 0x98, 0x64, 0x23, 0xca, 0x3a, 0x14, 0xfd,
+			0x1e, 0x22, 0xe0, 0xae, 0x67, 0xfa, 0x07, 0x48,
+			0xda, 0x3f, 0xb5, 0x12, 0xec, 0xb1, 0xe8, 0x7c,
+			0xc3, 0xc7, 0x2e, 0x69, 0x23, 0xda, 0x4a, 0x62,
+			0xdd, 0x8a, 0xba, 0xca, 0xe7, 0x19, 0xb2, 0x84,
+			0x00, 0x39, 0xce, 0x1e, 0x90, 0x47, 0x2b, 0x85,
+			0x02, 0xe9, 0xfe, 0x96, 0x60, 0x2b, 0x47, 0x5d,
+			0xd5, 0x5e, 0xb5, 0x47, 0xc2, 0xec, 0x34, 0xf5,
+			0x99, 0x91, 0xc6, 0xc2, 0x83, 0x93, 0x0c, 0xee,
+			0x90, 0xda, 0x42, 0x62, 0x4b, 0xba, 0x33, 0x10,
+			0xb2, 0xb4, 0x73, 0x41, 0xe6, 0x83, 0x56, 0xe2,
+			0x4f, 0x1c, 0x3d, 0x81, 0x85, 0xfd, 0xc2, 0xa1,
+			0x7b, 0x74, 0x9c, 0x7f, 0x6b, 0x08, 0x17, 0xe7,
+			0xc3, 0xb7, 0xd4, 0xf3, 0x89, 0x88, 0x69, 0xe5,
+			0xee, 0xc5, 0x97, 0xe8, 0x08, 0x0f, 0xa4, 0x0d,
+			0xe2, 0x52, 0xaa, 0xb1, 0x15, 0xa7, 0x17, 0xd0,
+			0x54, 0x56, 0x75, 0x1d, 0xc9, 0x69, 0x95, 0x24,
+			0x82, 0x32, 0xcd, 0x93, 0x48, 0xa6, 0xfd, 0xec,
+			0xe7, 0x75, 0x0e, 0xef, 0x65, 0xa0, 0x2d, 0x69,
+			0x54, 0xba, 0x93, 0xd7, 0x9a, 0x48, 0x22, 0x8d,
+			0xb8, 0x38, 0x4a, 0x1b, 0x61, 0x38, 0x00, 0x8f,
+			0xd1, 0xb1, 0x89, 0x74, 0xba, 0x57, 0x16, 0xa5,
+			0x2f, 0x22, 0x03, 0x17, 0xa0, 0x4b, 0x61, 0xdb,
+			0x2c, 0xa8, 0xa6, 0x6c, 0x2e, 0xb4, 0x4e, 0x15,
+			0xe4, 0x41, 0x9b, 0xb1, 0x66, 0x66, 0xc5, 0x0f,
+			0xef, 0xa0, 0x71, 0xd9, 0xa5, 0xbc, 0x1b, 0x6d,
+			0x40, 0xd1, 0xe6, 0xee, 0xe9, 0x03, 0x1f, 0x81,
+			0x9d, 0x57, 0xb1, 0x16, 0xf8, 0xe4, 0x6e, 0x36,
+			0x81, 0xff, 0x09, 0x65, 0x1a, 0x6f, 0x71, 0xcd,
+			0x94, 0x91, 0x2e, 0x41, 0x0a, 0xf2, 0x4b, 0x5f,
+			0x7a, 0xf1, 0xe2, 0x97, 0x96, 0xca, 0x05, 0x38,
+			0x5b, 0xa6, 0x00, 0xec, 0x1c, 0x8a, 0xac, 0x15,
+			0x21, 0x8e, 0xe5, 0x97, 0xd1, 0xd9, 0xd8, 0x70,
+			0x98, 0xdd, 0xde, 0xd7, 0xc6, 0x91, 0x84, 0x8b,
+			0x8c, 0xf6, 0x86, 0x89, 0x72, 0x8c, 0x5f, 0xae,
+			0xe8, 0x2b, 0x32, 0xbf, 0x07, 0xa4, 0x48, 0x26,
+			0x0e, 0xad, 0xce, 0x9e, 0xeb, 0x22, 0xc7, 0xae,
+			0x5a, 0x56, 0xe4, 0x2d, 0xc2, 0x19, 0x4d, 0x64,
+			0xbd, 0xe4, 0xcd, 0xd5, 0x63, 0xd2, 0xc5, 0x5a,
+			0xf1, 0x8f, 0x55, 0xb9, 0x86, 0x1b, 0x55, 0xc6,
+			0x41, 0x60, 0x74, 0x92, 0xe3, 0x12, 0x01, 0xda,
+			0x75, 0xb9, 0x55, 0x60, 0xb6, 0xa5, 0xca, 0x50,
+			0x5b, 0x9c, 0x0c, 0x62, 0x31, 0xdc, 0x8f, 0x61,
+			0x1e, 0x43, 0xe4, 0xc3, 0x9a, 0x58, 0xc5, 0x22,
+			0x60, 0xd3, 0x0d, 0x49, 0xaf, 0x12, 0x97, 0x86,
+			0x72, 0x43, 0x9f, 0x5d, 0x05, 0x78, 0x39, 0xa9,
+			0x2e, 0x93, 0xe7, 0x91, 0x57, 0x71, 0xdb, 0x0e,
+			0xee, 0x8f, 0x05, 0xdb, 0x06, 0xf4, 0x44, 0xa5,
+			0x3b, 0xee, 0xa5, 0x16, 0x70, 0xc3, 0xfa, 0x30,
+			0x9c, 0x20, 0x86, 0x1c, 0x3c, 0x83, 0x2b, 0xed,
+			0xaf, 0x46, 0xd6, 0xe3, 0x0a, 0xb7, 0xfe, 0x15,
+			0xa1, 0x14, 0x4e, 0xf9, 0x5a, 0x40, 0x5c, 0x83,
+			0xda, 0x95, 0x89, 0x47, 0xce, 0x43, 0xc0, 0x33,
+			0x61, 0x0d, 0x79, 0xcd, 0xc1, 0x11, 0xa8, 0xe2,
+			0xb8, 0xbf, 0x4d, 0x7c, 0x61, 0x9b, 0xf3, 0x7d,
+			0x8f, 0x91, 0x8a, 0xe2, 0x85, 0x3f, 0x14, 0x98,
+			0x5b, 0xf6, 0x8d, 0x40, 0xa8, 0x7e, 0x18, 0xba,
+			0xca, 0x4c, 0xaf, 0x52, 0xdd, 0xf1, 0x62, 0x78,
+			0x48, 0x50, 0xec, 0x9b, 0x08, 0x9d, 0x5e, 0xf6,
+			0xa0, 0xa5, 0x91, 0x0d, 0x25, 0x74, 0x44, 0x4e,
+			0xdd, 0x93, 0x80, 0x82, 0xe6, 0x84, 0x3a, 0xc8,
+			0x63, 0xbb, 0x91, 0x9b, 0xf7, 0x71, 0xb4, 0xeb,
+			0xff, 0x11, 0xe6, 0x14, 0x1b, 0xba, 0x13, 0x4d,
+			0x0f, 0x0f, 0xce, 0xa8, 0x65, 0xac, 0xc6, 0x0f,
+			0x6c, 0x36, 0x93, 0x8b, 0x3a, 0x8b, 0xa5, 0xe4,
+			0xef, 0xf1, 0xe0, 0xd7, 0x5e, 0x26, 0x95, 0x73,
+			0xaa, 0xe1, 0x6b, 0x1f, 0x7a, 0xaa, 0x4b, 0xb3,
+			0x89, 0x92, 0xd9, 0x56, 0x69, 0x26, 0x05, 0xa9,
+			0xbc, 0xde, 0xc0, 0x65, 0x36, 0x87, 0xfd, 0x95,
+			0x91, 0x13, 0x2c, 0xf2, 0xbd, 0x36, 0x8b, 0x10,
+			0x8c, 0xba, 0xcf, 0xb4, 0x0d, 0x6b, 0xd9, 0x73,
+			0xb3, 0x78, 0x1e, 0x75, 0x25, 0xb0, 0x98, 0x81,
+			0xe6, 0x7f, 0xdf, 0x4f, 0x7d, 0x6e, 0x2c, 0x03,
+			0x8c, 0xd3, 0xfc, 0xb6, 0xbf, 0x61, 0x2d, 0x94,
+			0xfa, 0x0f, 0xc4, 0xf9, 0xe0, 0xc9, 0xbe, 0xe7,
+			0x28, 0xd8, 0x84, 0x95, 0x3b, 0x9d, 0xe9, 0xb9,
+			0x09, 0x0a, 0x0a, 0xcf, 0x9d, 0x63, 0xe3, 0x0b,
+			0x58, 0xcc, 0x30, 0xc1, 0xb4, 0x68, 0xd0, 0x9d,
+			0x27, 0xce, 0xe3, 0xff, 0x1c, 0x89, 0xa4, 0x78,
+			0x94, 0x04, 0xce, 0x71, 0x31, 0xbb, 0xeb, 0xeb,
+			0x19, 0x81, 0x16, 0xe4, 0xb6, 0x9e, 0xea, 0x3d,
+			0x74, 0xd0, 0xa0, 0x12, 0x9f, 0x39, 0x21, 0x56,
+			0x65, 0xef, 0x34, 0x69, 0x33, 0xc9, 0xd9, 0xf3,
+			0xea, 0xe8, 0xf1, 0x21, 0xad, 0x7d, 0x43, 0x77,
+			0xbe, 0x23, 0x13, 0x2b, 0x9b, 0xe8, 0xbc, 0x3f,
+			0x34, 0x97, 0x87, 0xf0, 0xc8, 0xd3, 0x35, 0xff,
+			0xe4, 0xcd, 0x20, 0x5d, 0x44, 0xa9, 0x17, 0xc6,
+			0x9a, 0x5e, 0x89, 0x24, 0x26, 0x45, 0x34, 0xca,
+			0x34, 0xf3, 0x99, 0xde, 0x9e, 0x96, 0x27, 0xf8,
+			0x2a, 0xd1, 0xc0, 0x04, 0x29, 0xf3, 0x14, 0x11,
+			0xca, 0xf3, 0x68, 0x31, 0x42, 0x13, 0x12, 0xce,
+			0x40, 0x48, 0xeb, 0x35, 0xb7, 0x7a, 0xbe, 0xbf,
+			0x9b, 0x28, 0x15, 0x73, 0x5e, 0xb1, 0x30, 0x9d,
+			0xad, 0xbc, 0xd9, 0x29, 0x90, 0xcf, 0xe6, 0x95,
+			0xe6, 0xd1, 0x48, 0xa1, 0x59, 0xc3, 0xce, 0xb4,
+			0xa3, 0x35, 0x7c, 0x61, 0x51, 0x3d, 0x1f, 0x00,
+			0x6e, 0xc8, 0xcc, 0x43, 0xd8, 0xa4, 0x91, 0x1a,
+			0x8e, 0x09, 0xde, 0x01, 0x67, 0x65, 0x3c, 0x48,
+			0xad, 0xfa, 0x7a, 0x57, 0xaa, 0x47, 0xed, 0x56,
+			0x44, 0x3f, 0x88, 0x12, 0x02, 0xe8, 0x9a, 0x53,
+			0xfc, 0xd7, 0xe4, 0xf5, 0x95, 0x33, 0x90, 0x90,
+			0x3e, 0x6b, 0x41, 0xb0, 0x05, 0x2e, 0x57, 0x5c,
+			0x2f, 0x55, 0xd0, 0x36, 0xd4, 0x9a, 0xfa, 0xd7,
+			0xa8, 0x1b, 0xa6, 0xba, 0x10, 0x6c, 0xf2, 0x0b,
+			0x3d, 0x06, 0x44, 0x1a, 0x2a, 0x29, 0x85, 0xe6,
+			0x01, 0xb3, 0x5f, 0x04, 0x87, 0xc3, 0xd0, 0xe1,
+			0xef, 0xc3, 0x2c, 0xc6, 0x93, 0xea, 0x9d, 0x48,
+			0x13, 0xcf, 0x07, 0xd0, 0x7a, 0x00, 0xb8, 0x9d,
+			0x80, 0xe9, 0xa1, 0x7e, 0x25, 0xb7, 0x91, 0x9f,
+			0x1c, 0x30, 0xb9, 0xf7, 0xce, 0x92, 0x14, 0x5c,
+			0x10, 0xd6, 0x4c, 0xa5, 0xb2, 0x43, 0x38, 0xad,
+			0xbd, 0xcc, 0x5f, 0x93, 0x13, 0x8f, 0x6d, 0x05,
+			0x4f, 0x16, 0x96, 0x50, 0x33, 0x5a, 0x20, 0x22,
+			0x45, 0xf9, 0xf5, 0xb4, 0xa6, 0xf3, 0xd5, 0xde,
+			0xa7, 0x99, 0x78, 0xb8, 0x81, 0xee, 0x8d, 0x3f,
+			0xa6, 0xa5, 0x8b, 0x84, 0xf3, 0x3e, 0xfc, 0x6b,
+			0x42, 0x96, 0xae, 0x4b, 0x78, 0x57, 0x19, 0x9a,
+			0x38, 0xa9, 0xbe, 0x66, 0x51, 0xe8, 0x57, 0xc1,
+			0xf6, 0xd7, 0xf6, 0xee, 0xe7, 0xd9, 0x24, 0xba,
+			0x9a, 0x02, 0x52, 0x8e, 0x6a, 0xea, 0x3d, 0x16,
+			0x02, 0x8d, 0x51, 0x15, 0xae, 0x45, 0x7f, 0x6d,
+			0x05, 0xcf, 0xa5, 0x25, 0xf0, 0xe4, 0x52, 0xcd,
+			0xae, 0x79, 0x8f, 0xf2, 0x1b, 0xaa, 0xe3, 0xe8,
+			0x7a, 0x2b, 0x93, 0xde, 0x35, 0x5e, 0xbf, 0xa6,
+			0x4f, 0x3f, 0x78, 0x40, 0x6e, 0x3a, 0x25, 0x53,
+			0x6e, 0x24, 0xad, 0xeb, 0x17, 0x61, 0x73, 0x12,
+			0xde, 0x6a, 0xb1, 0x51, 0xa6, 0xc2, 0xdb, 0xf3,
+			0xe3, 0xbf, 0x28, 0xb5, 0x8b, 0x2e, 0x71, 0xc6,
+			0x3e, 0x98, 0x92, 0x97, 0x4e, 0xc1, 0x10, 0xc4,
+			0x90, 0x97, 0x2b, 0xe0, 0x88, 0x8a, 0xf0, 0x4b,
+			0x3e, 0xbd, 0xc4, 0xb0, 0x16, 0xd2, 0x36, 0xca,
+			0x30, 0xbb, 0xf6, 0x48, 0xbb, 0xf9, 0xf1, 0x0b,
+			0x85, 0x51, 0x7c, 0xab, 0x73, 0x0a, 0x49, 0x2c,
+			0xbb, 0xdb, 0x3c, 0xbd, 0x43, 0x5f, 0x8d, 0xfe,
+			0x5d, 0xcf, 0x11, 0xe8, 0xe0, 0xba, 0x54, 0x67,
+			0x83, 0x08, 0x1a, 0x20, 0x53, 0x01, 0x5b, 0x59,
+			0x2d, 0xf7, 0x1c, 0xd1, 0x57, 0x1c, 0x43, 0x3b,
+			0x57, 0x9c, 0xa7, 0x65, 0xc7, 0x6f, 0x61, 0x58,
+			0xac, 0x25, 0xdd, 0xf2, 0x5e, 0x73, 0xff, 0x3e,
+			0x58, 0xd5, 0x96, 0x3d, 0x9e, 0x2c, 0x7b, 0x35,
+			0x19, 0x55, 0x23, 0xc7, 0xd2, 0x63, 0x66, 0xc8,
+			0x8f, 0xee, 0x40, 0x55, 0x7f, 0x97, 0x78, 0x69,
+			0x0e, 0xee, 0x2d, 0xff, 0xd0, 0x7e, 0xe7, 0x7d,
+			0x8c, 0x20, 0xa8, 0x08, 0x1e, 0x8d, 0x0e, 0x89,
+			0xf1, 0x21, 0x73, 0xe8, 0x71, 0x12, 0xbe, 0x0f,
+			0x4d, 0x2f, 0x11, 0xee, 0x5e, 0xec, 0x19, 0x91,
+			0x52, 0x6b, 0x22, 0x94, 0x7c, 0xc2, 0x64, 0x84,
+			0x66, 0x4e, 0xd4, 0x8d, 0xae, 0x14, 0xda, 0x9d,
+			0xd7, 0xb6, 0xdc, 0xc6, 0x8f, 0x76, 0x17, 0xc5,
+			0x8e, 0x19, 0x92, 0x35, 0x61, 0x8d, 0x1d, 0xeb,
+			0x30, 0x9f, 0x6c, 0xff, 0xa3, 0xa8, 0xa4, 0xfe,
+			0x96, 0x56, 0x18, 0xdc, 0xe6, 0x3b, 0x6c, 0x96,
+			0x4c, 0x14, 0x9d, 0x5b, 0x25, 0x3d, 0xff, 0x63,
+			0xc4, 0x8f, 0x54, 0x47, 0xa0, 0x57, 0xf6, 0xcc,
+			0xf1, 0x8e, 0x77, 0xcb, 0xd0, 0xb0, 0x2c, 0x11,
+			0x7e, 0xf6, 0x6f, 0xdc, 0x84, 0xba, 0xa2, 0x3c,
+			0x4d, 0x4b, 0x7b, 0xca, 0x0f, 0x27, 0x0e, 0xd4,
+			0x23, 0x90, 0xc2, 0xbf, 0xb2, 0x2e, 0x57, 0x07,
+			0x3d, 0xa1, 0x47, 0x64, 0x2b, 0x44, 0x57, 0xb8,
+			0x01, 0x31, 0x1e, 0x59, 0x44, 0xbb, 0x45, 0xe0,
+			0xd4, 0x73, 0x88, 0xa1, 0x7f, 0x51, 0x6e, 0xd5,
+			0x92, 0x36, 0x0a, 0x27, 0x3c, 0x3d, 0x82, 0x22,
+			0xc5, 0x56, 0x1b, 0x42, 0x1f, 0x47, 0xa2, 0x71,
+			0xa9, 0xf9, 0xfd, 0xa1, 0x86, 0x35, 0x77, 0x97,
+			0x03, 0x23, 0xe6, 0xfe, 0x75, 0x70, 0x20, 0x61,
+			0x89, 0x69, 0x40, 0x8b, 0x18, 0xa0, 0x9d, 0xb0,
+			0x6a, 0x14, 0xe2, 0xa1, 0x88, 0xa4, 0x01, 0xa5,
+			0xb5, 0x9c, 0xe6, 0x22, 0x06, 0x65, 0x59, 0x25,
+			0x3b, 0x46, 0x62, 0xac, 0x87, 0x83, 0x17, 0x4a,
+			0xce, 0xe0, 0x17, 0x64, 0x10, 0x6b, 0x8a, 0xb6,
+			0xa5, 0xf5, 0x69, 0x6e, 0x55, 0x78, 0x8d, 0x8e,
+			0x16, 0xe8, 0xca, 0xda, 0x3a, 0x7a, 0xc0, 0x16,
+			0x35, 0x34, 0x7c, 0xf8, 0x53, 0xb0, 0x92, 0x0c,
+			0x53, 0x7b, 0xaa, 0xe6, 0x0a, 0x01, 0xec, 0x39,
+			0x2b, 0x7d, 0x23, 0x41, 0x18, 0xc7, 0x96, 0x21,
+			0x6b, 0x3b, 0xae, 0x78, 0xd6, 0xf9, 0xae, 0x98,
+			0x84, 0x3a, 0xf1, 0x1f, 0xef, 0x5b, 0xb4, 0x0b,
+			0x4a, 0x47, 0xf1, 0xdd, 0x2d, 0xac, 0x5d, 0x70,
+			0xa7, 0x05, 0x63, 0x27, 0x49, 0x28, 0x54, 0x67,
+			0x40, 0xb2, 0xfe, 0x72, 0x2f, 0xdf, 0x27, 0x4b,
+			0x64, 0x9b, 0xa5, 0x5f, 0xe3, 0xfc, 0xc5, 0x82,
+			0x1b, 0x7b, 0xce, 0x4a, 0x53, 0xdc, 0xb7, 0xf4,
+			0xab, 0xf1, 0xac, 0xb9, 0xe4, 0xe0, 0x2d, 0xa1,
+			0xd0, 0x50, 0x6d, 0x31, 0x1e, 0x64, 0xfa, 0x6b,
+			0xee, 0xc0, 0xf6, 0xd6, 0xa2, 0x3e, 0x41, 0x22,
+			0xde, 0xac, 0x08, 0xc9, 0xbf, 0x9f, 0x3a, 0xf8,
+			0x17, 0x96, 0x46, 0x51, 0x38, 0x78, 0x66, 0x5e,
+			0x0d, 0x46, 0x55, 0x3e, 0x0b, 0x18, 0x2d, 0x0d,
+			0xc4, 0xbe, 0x4e, 0x8b, 0x57, 0xc8, 0x9f, 0x60,
+			0x17, 0xfa, 0xd7, 0xff, 0x96, 0x23, 0xeb, 0xe3,
+			0x1c, 0xf9, 0x4e, 0x07, 0x3a, 0x0e, 0x4d, 0xf8,
+			0xfb, 0x2c, 0x15, 0x41, 0xe1, 0x80, 0x26, 0xfd,
+			0xbf, 0x57, 0x10, 0xc1, 0xdc, 0xfd, 0x7f, 0x1a,
+			0xb7, 0xeb, 0x81, 0x3e, 0x4e, 0x0e, 0x59, 0x19,
+			0xff, 0x8e, 0xc9, 0xd9, 0xc9, 0x43, 0x98, 0xaa,
+			0x32, 0xe5, 0x3b, 0xfe, 0x5d, 0x53, 0xae, 0x30,
+			0x6f, 0x05, 0xfa, 0x16, 0x3e, 0xb2, 0x8a, 0x05,
+			0xb8, 0x9f, 0x81, 0x5c, 0xcc, 0x8f, 0xc5, 0xd9,
+			0xe0, 0x0d, 0x7d, 0xd1, 0x64, 0xa3, 0xfd, 0xe6,
+			0x9c, 0x1e, 0x45, 0xea, 0x63, 0xcd, 0x58, 0x0b,
+			0x91, 0xea, 0x9c, 0xb8, 0x82, 0x39, 0xca, 0x5a,
+			0xbd, 0x46, 0xce, 0xb3, 0x41, 0x5c, 0x8f, 0x60,
+			0xb2, 0xd3, 0x76, 0x7a, 0x99, 0x8a, 0x9b, 0xd3,
+			0x68, 0x54, 0x6a, 0x74, 0xb8, 0x52, 0x27, 0xaa,
+			0xe4, 0xf4, 0x3c, 0x94, 0xb1, 0x96, 0xa5, 0x5b,
+			0xa8, 0x6b, 0x8e, 0xff, 0xe1, 0xd0, 0xfa, 0x5d,
+			0x19, 0xdc, 0x62, 0xde, 0x52, 0xa1, 0xe6, 0xeb,
+			0xd3, 0x92, 0x67, 0x92, 0x6e, 0x7d, 0xe4, 0x43,
+			0x44, 0x55, 0xd5, 0xe3, 0xbc, 0xb8, 0x0e, 0x75,
+			0x64, 0x17, 0x72, 0x2f, 0xe9, 0xb0, 0x6d, 0x7f,
+			0x4b, 0x9a, 0xdd, 0x11, 0xaa, 0x74, 0xe1, 0xa3,
+			0x1e, 0x8a, 0xf0, 0xdf, 0x9b, 0x79, 0x37, 0xed,
+			0xb8, 0xc6, 0xf9, 0x11, 0x3a, 0xe8, 0x99, 0xd0,
+			0xde, 0xae, 0x68, 0x17, 0x29, 0x41, 0xed, 0xb0,
+			0xb7, 0x41, 0x2f, 0xd7, 0x5c, 0x37, 0x92, 0x7a,
+			0x34, 0x1a, 0x2b, 0xb5, 0x8a, 0xd2, 0x0b, 0x95,
+			0x69, 0xe0, 0x8b, 0xaf, 0x45, 0xa5, 0xfa, 0x30,
+			0xe8, 0xec, 0xa3, 0x23, 0x54, 0x88, 0x29, 0xc1,
+			0x7a, 0x19, 0xe9, 0x94, 0x7f, 0xd1, 0x27, 0x01,
+			0x81, 0xa3, 0x48, 0xaa, 0x88, 0x2c, 0x70, 0x2e,
+			0x35, 0x26, 0xac, 0x6d, 0x1d, 0xa6, 0x24, 0x92,
+			0xfb, 0xf1, 0xfc, 0x2f, 0xef, 0xfd, 0xc1, 0x7b,
+			0xeb, 0xe8, 0x4a, 0x39, 0x35, 0x2e, 0x9a, 0x89,
+			0x5a, 0x8a, 0x28, 0x60, 0xcb, 0x2f, 0x64, 0x54,
+			0x0a, 0xdd, 0xce, 0x33, 0xab, 0x24, 0xf6, 0x31,
+			0x26, 0xca, 0x81, 0xf1, 0x46, 0x97, 0x53, 0x4a,
+			0x39, 0x36, 0x15, 0xa0, 0x40, 0x32, 0x0f, 0x7f,
+			0xcd, 0x5f, 0xc1, 0xae, 0x9b, 0x40, 0x11, 0x2e,
+			0x2d, 0x18, 0x8c, 0x86, 0x2d, 0x0d, 0x29, 0x00,
+			0x97, 0x09, 0x55, 0xe5, 0x0d, 0x72, 0x85, 0x02,
+			0x07, 0x48, 0x62, 0xf4, 0xf6, 0x02, 0x84, 0x4b,
+			0x11, 0x18, 0xbe, 0x62, 0xfe, 0xaa, 0xf3, 0x32,
+			0xcc, 0x5c, 0xa7, 0x77, 0x4e, 0xa3, 0x87, 0x8c,
+			0xc2, 0x3a, 0x1a, 0x66, 0xdb, 0xc8, 0xf7, 0xc0,
+			0x4a, 0x9c, 0x2d, 0x4b, 0xaf, 0x25, 0x4f, 0xe6,
+			0x58, 0x56, 0xe9, 0xc5, 0x8a, 0xde, 0x6c, 0xac,
+			0xe6, 0xc0, 0x85, 0xa0, 0xf7, 0x7b, 0xb2, 0xd8,
+			0xde, 0xea, 0x9a, 0xe3, 0xcf, 0xbc, 0xba, 0xa8,
+			0xcd, 0x73, 0xbd, 0xd0, 0x7e, 0x6d, 0x98, 0xa1,
+			0xb9, 0xa1, 0x9a, 0xc6, 0x33, 0x27, 0x58, 0x0f,
+			0xba, 0x2e, 0xb2, 0x48, 0x0b, 0x0c, 0xd9, 0xb7,
+			0xaa, 0xf7, 0xe9, 0xa4, 0x4b, 0x0f, 0xc9, 0xec,
+			0x21, 0x84, 0x7a, 0xeb, 0x34, 0x35, 0xf4, 0xf4,
+			0x69, 0x1a, 0x67, 0xcc, 0x85, 0x64, 0x51, 0x30,
+			0xbc, 0xcd, 0x55, 0x99, 0xf9, 0x48, 0x47, 0x84,
+			0x7d, 0x09, 0xa2, 0x0f, 0xf6, 0x60, 0xe6, 0x23,
+			0x40, 0x6b, 0x33, 0xa8, 0x6b, 0x74, 0xc5, 0x47,
+			0xb7, 0xad, 0xf3, 0x71, 0xd7, 0x69, 0xe6, 0xb9,
+			0xfa, 0x98, 0x43, 0xb1, 0x89, 0x8a, 0x9a, 0xbf,
+			0xee, 0x59, 0x0d, 0x34, 0xf5, 0xa4, 0x47, 0x9f,
+			0xa0, 0xe2, 0x76, 0x39, 0xb4, 0xe8, 0x63, 0x9a,
+			0xdc, 0x3b, 0x34, 0x99, 0x02, 0x0a, 0xa9, 0x94,
+			0x07, 0x9f, 0x07, 0x96, 0x58, 0xf0, 0xd8, 0x71,
+			0x64, 0x7e, 0xbb, 0x5c, 0xa4, 0xb4, 0x8f, 0x41,
+			0xc8, 0x20, 0x3a, 0x7e, 0x05, 0x63, 0x9e, 0x0a,
+			0x78, 0x93, 0x34, 0xd3, 0x49, 0xd2, 0x12, 0x0a,
+			0x2b, 0xff, 0x9e, 0x4c, 0x52, 0x51, 0xa1, 0x33,
+			0x6c, 0xb6, 0x00, 0x67, 0x64, 0xed, 0x13, 0xf9,
+			0xff, 0x6c, 0x78, 0xf5, 0xb3, 0x79, 0x6d, 0xbf,
+			0xc3, 0xfc, 0xe3, 0xa3, 0x35, 0x5f, 0x58, 0xcf,
+			0xa8, 0x4f, 0x65, 0x4d, 0x64, 0x7a, 0xf2, 0x0d,
+			0x7f, 0xc7, 0xbd, 0x3a, 0xfa, 0x22, 0x44, 0x7a,
+			0x66, 0xcb, 0x42, 0xdf, 0x79, 0x94, 0xf3, 0xa7,
+			0xf7, 0x22, 0xea, 0x3c, 0x54, 0xe3, 0xac, 0x22,
+			0x7e, 0xbb, 0x6e, 0x52, 0x96, 0x89, 0x7c, 0xac,
+			0xab, 0xfc, 0x66, 0x86, 0xb2, 0x7a, 0xcd, 0xed,
+			0xd4, 0x1d, 0x08, 0xd9, 0x06, 0xb4, 0xf0, 0x1c,
+			0x58, 0x30, 0xe0, 0x2f, 0x56, 0xcb, 0xe7, 0x70,
+			0xfe, 0xb0, 0x49, 0xe8, 0xe5, 0x05, 0x66, 0x35,
+			0x38, 0x24, 0x64, 0x26, 0x7c, 0x1f, 0x08, 0xef,
+			0x4e, 0xe3, 0x11, 0x29, 0x91, 0xc0, 0xf7, 0x6d,
+			0x85, 0x59, 0xe1, 0x0c, 0xcc, 0xde, 0x7d, 0x24,
+			0x23, 0xce, 0xfa, 0xec, 0x99, 0x83, 0x16, 0x74,
+			0x22, 0x08, 0xd0, 0xd2, 0xd3, 0x9d, 0x43, 0xc1,
+			0x82, 0x2b, 0x14, 0x3d, 0x94, 0xdb, 0xc6, 0x2c,
+			0x93, 0x98, 0x3e, 0xad, 0xff, 0x9b, 0x26, 0xd5,
+			0xdd, 0x18, 0x53, 0x7e, 0xd8, 0x4d, 0x68, 0xc7,
+			0xa2, 0x75, 0xfc, 0x53, 0xa1, 0x20, 0x54, 0xad,
+			0x85, 0x42, 0x07, 0x66, 0xad, 0xc1, 0xd4, 0x02,
+			0xb3, 0x22, 0x08, 0x96, 0x44, 0x46, 0x60, 0x5f,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x19, 0xfd, 0x12, 0x30, 0xc8, 0x56, 0x97, 0xfe,
+			0xef, 0x73, 0x3a, 0x1c, 0xac, 0x0d, 0xf5, 0x25,
+			0x5a, 0x83, 0x4f, 0x56, 0xc5, 0x9a, 0x51, 0x17,
+			0x8e, 0x9d, 0xf5, 0x0a, 0x01, 0x7d, 0x66, 0x45,
+			0xef, 0x9d, 0xf3, 0x3d, 0xdc, 0xfd, 0x5e, 0x1a,
+			0x03, 0x2c, 0xee, 0xda, 0x2a, 0x25, 0xf8, 0x3c,
+			0xa1, 0xb6, 0x59, 0x91, 0x23, 0x1d, 0xd4, 0x59,
+			0x34, 0x86, 0xff, 0x44, 0x23, 0xe9, 0x5a, 0x2f,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x50, 0x14, 0x5c, 0x77, 0x80, 0x36, 0x1f, 0x7a,
+			0x46, 0x7c, 0xc7, 0xf0, 0x5a, 0xd6, 0xff, 0xaa,
+			0x7b, 0x40, 0x9c, 0x6e, 0xb7, 0x93, 0xdf, 0x30,
+			0xad, 0x2e, 0xc5, 0x84, 0x80, 0x68, 0x0f, 0x58,
+			0xac, 0xbe, 0x9f, 0xc0, 0x7a, 0x74, 0xe9, 0x10,
+			0xae, 0x8e, 0x50, 0x39, 0xd5, 0x17, 0x94, 0x10,
+			0x74, 0xfc, 0x16, 0x3a, 0xda, 0xd0, 0xef, 0xb8,
+			0x4e, 0xeb, 0xd6, 0x6e, 0x3a, 0xb0, 0x5a, 0xc1,
+			0x2d, 0x2a, 0x7a, 0x76, 0xc6, 0x72, 0xa6, 0x12,
+			0x7a, 0xf1, 0x19, 0xae, 0x7c, 0x34, 0x8c, 0x09,
+			0x1b, 0x26, 0x0a, 0x5b, 0x5a, 0xa1, 0xc9, 0xfe,
+			0x5b, 0x5c, 0x8f, 0xf6, 0x1a, 0x75, 0x09, 0xf5,
+			0x80, 0xc1, 0xbc, 0xe0, 0xf3, 0x0e, 0x73, 0xa8,
+			0xd6, 0xe8, 0xac, 0x52, 0xe5, 0x8b, 0xe3, 0x88,
+			0x8e, 0x50, 0x22, 0x1f, 0xf5, 0x48, 0x1d, 0xa4,
+			0x64, 0x71, 0xd6, 0xba, 0x9e, 0x7d, 0x91, 0xfe,
+			0x54, 0xed, 0x88, 0x60, 0xff, 0x5e, 0x05, 0x46,
+			0x55, 0x26, 0x15, 0xf0, 0xe9, 0xec, 0x56, 0x83,
+			0xce, 0x8d, 0x95, 0x8a, 0x22, 0x14, 0x4c, 0xf9,
+			0xea, 0xd9, 0x07, 0xd6, 0xff, 0xed, 0x39, 0x92,
+			0x7c, 0xfc, 0x85, 0xec, 0x2d, 0x8a, 0x11, 0x39,
+			0x44, 0xcc, 0xa5, 0x7d, 0xd9, 0xa1, 0x83, 0xb6,
+			0xe3, 0x7f, 0x74, 0x60, 0x00, 0xc4, 0x9b, 0xb3,
+			0xeb, 0xe7, 0x77, 0xf3, 0x1a, 0x82, 0xfb, 0x5f,
+			0xb4, 0x36, 0x91, 0x20, 0x40, 0x26, 0x33, 0xa7,
+			0x9c, 0xfc, 0x34, 0xb6, 0x20, 0xa2, 0x41, 0xf2,
+			0x67, 0xc9, 0x38, 0x31, 0x47, 0xd0, 0x43, 0xd0,
+			0xb8, 0xc0, 0x67, 0x08, 0x3b, 0x22, 0xfa, 0xad,
+			0x2a, 0x2a, 0x8d, 0x6d, 0x26, 0x19, 0x8c, 0x7a,
+			0x31, 0x95, 0x7a, 0xc0, 0xe9, 0xfa, 0xa5, 0x85,
+			0xc4, 0xee, 0x3a, 0x79, 0x58, 0xb6, 0x77, 0x4f,
+			0xe9, 0x65, 0xb7, 0x4d, 0xff, 0x9c, 0x43, 0x18,
+			0xc1, 0xbc, 0xac, 0x47, 0xae, 0x43, 0xc1, 0x34,
+			0xad, 0x52, 0xbf, 0xf6, 0x6e, 0x64, 0x8e, 0xb1,
+			0x05, 0x3a, 0xc1, 0x6a, 0xc7, 0x3a, 0x50, 0x2a,
+			0x83, 0x56, 0x9c, 0x7e, 0x04, 0x28, 0xac, 0x89,
+			0x83, 0xba, 0xbc, 0x06, 0xbe, 0xef, 0x85, 0x55,
+			0x01, 0xe3, 0xd5, 0x03, 0xfe, 0x3b, 0xd2, 0xda,
+			0xfd, 0x60, 0xef, 0x9f, 0x7c, 0xa7, 0xa1, 0x8e,
+			0xe4, 0x88, 0x0d, 0xbf, 0xc4, 0xa7, 0xce, 0xc5,
+			0x9b, 0x26, 0x4a, 0x5d, 0xf1, 0xa3, 0x52, 0x4c,
+			0x47, 0xbe, 0x0e, 0x5b, 0x59, 0x7e, 0x9e, 0x86,
+			0xa0, 0xa3, 0x5d, 0xa0, 0x58, 0x2f, 0x1e, 0x2c,
+			0x2f, 0x60, 0x5e, 0x4f, 0xd1, 0x84, 0xea, 0x4b,
+			0xdb, 0x0e, 0x21, 0xa3, 0xcb, 0xb8, 0x6e, 0x19,
+			0x7c, 0x58, 0x11, 0x5b, 0xe4, 0xa9, 0x88, 0x7e,
+			0x16, 0xa2, 0x85, 0xe7, 0x7a, 0xdb, 0xe8, 0x11,
+			0x66, 0x4e, 0x67, 0x77, 0x4f, 0xdf, 0x09, 0xca,
+			0x07, 0xec, 0x93, 0x6b, 0xe5, 0x4e, 0xe2, 0xf7,
+			0xeb, 0xe2, 0x57, 0xd6, 0xb0, 0x56, 0x4e, 0x82,
+			0x14, 0x86, 0x81, 0x06, 0x7c, 0x11, 0xad, 0x65,
+			0x0b, 0x3c, 0x05, 0x76, 0x14, 0x0d, 0xd7, 0x0e,
+			0xb3, 0xcb, 0x0f, 0x97, 0x03, 0x2b, 0x6b, 0x5b,
+			0x22, 0x57, 0x2b, 0x12, 0x5c, 0x97, 0x53, 0xb3,
+			0x90, 0xd0, 0x0a, 0xc7, 0x3f, 0xa1, 0x73, 0xf4,
+			0x07, 0x75, 0xad, 0x30, 0x60, 0x34, 0x41, 0x3d,
+			0xf2, 0x1c, 0x3e, 0x79, 0x31, 0x17, 0xa9, 0x85,
+			0xc6, 0xbc, 0x6f, 0x3d, 0x9d, 0xb2, 0xf6, 0xce,
+			0xba, 0xa5, 0x3c, 0xb4, 0x7e, 0x59, 0x69, 0xeb,
+			0x43, 0xba, 0x69, 0xea, 0xe0, 0xa5, 0x0f, 0x7f,
+			0xc9, 0xe1, 0xfb, 0xfe, 0x97, 0x66, 0x87, 0x55,
+			0x6f, 0x9b, 0xf9, 0x67, 0x5e, 0x95, 0xd5, 0x24,
+			0xa6, 0xf0, 0x2a, 0x66, 0xe3, 0xbd, 0x22, 0xe1,
+			0xa1, 0x33, 0x1d, 0x40, 0x3c, 0x03, 0x34, 0xd8,
+			0x5c, 0x83, 0x37, 0x35, 0xbc, 0xa5, 0x61, 0x87,
+			0x25, 0xc4, 0x7b, 0x94, 0x38, 0x04, 0x8c, 0x12,
+			0xd6, 0x6d, 0x42, 0xed, 0x36, 0x94, 0x8e, 0x03,
+			0xa3, 0x74, 0x0e, 0x88, 0x31, 0x73, 0xd3, 0x4e,
+			0x02, 0x2b, 0x74, 0x4d, 0x3b, 0x24, 0x56, 0x98,
+			0x57, 0xfe, 0xce, 0x94, 0x22, 0x18, 0xc5, 0x8d,
+			0x32, 0xb6, 0x86, 0xbc, 0x41, 0x0f, 0x2e, 0x27,
+			0x30, 0xce, 0xd7, 0xa5, 0xdb, 0xad, 0x25, 0x3a,
+			0x8a, 0x7b, 0xd5, 0x3d, 0x36, 0x29, 0x76, 0xd0,
+			0xb3, 0xd3, 0x1e, 0x7f, 0x75, 0x6b, 0x6a, 0x13,
+			0xa2, 0x79, 0x9e, 0x72, 0x16, 0x3c, 0xbc, 0x76,
+			0xdb, 0x2b, 0xb9, 0x3a, 0x7c, 0x94, 0x68, 0x17,
+			0x3e, 0x43, 0xaf, 0x3f, 0x45, 0x94, 0xa8, 0xc8,
+			0xdc, 0xb6, 0x02, 0x0e, 0xbe, 0xd5, 0x61, 0xfe,
+			0xa7, 0xe1, 0x70, 0x7d, 0x42, 0xf6, 0xa0, 0xef,
+			0x9b, 0x1a, 0x66, 0x5f, 0x02, 0x3b, 0x59, 0x93,
+			0x92, 0xa4, 0x29, 0xa4, 0x6a, 0x35, 0x3c, 0x8d,
+			0x58, 0x49, 0xe4, 0x1b, 0x52, 0x88, 0xdd, 0xd4,
+			0xfc, 0xaa, 0xa1, 0x68, 0xa4, 0x50, 0xad, 0x24,
+			0xc8, 0x81, 0x6c, 0xe8, 0x21, 0x3e, 0x3f, 0x4d,
+			0x40, 0xdb, 0xfa, 0x24, 0xb6, 0x54, 0xb1, 0xf4,
+			0x9b, 0x44, 0xee, 0x78, 0x63, 0x05, 0x28, 0x3e,
+			0xc8, 0xda, 0xd7, 0x35, 0x56, 0x04, 0x83, 0xc9,
+			0xd0, 0xcb, 0x4c, 0x8e, 0xbf, 0xe0, 0x1c, 0xa8,
+			0x75, 0x43, 0x36, 0x10, 0xcd, 0xd9, 0xdb, 0x7e,
+			0x86, 0xde, 0xc9, 0xfe, 0x13, 0x3f, 0x40, 0xcd,
+			0xa7, 0x6d, 0xd4, 0x62, 0x21, 0x54, 0xea, 0xb3,
+			0x94, 0x75, 0xdd, 0x01, 0xc9, 0x49, 0x66, 0x24,
+			0x3a, 0xdf, 0xf1, 0x5f, 0x7b, 0xab, 0x51, 0xad,
+			0x7d, 0x9a, 0x7a, 0xe0, 0x5d, 0x6f, 0xc9, 0xf9,
+			0xcc, 0x30, 0xc3, 0xcb, 0x46, 0xdb, 0xed, 0x64,
+			0x08, 0x07, 0xcf, 0x7b, 0xff, 0xc8, 0x44, 0xb2,
+			0xe3, 0x02, 0xb9, 0xf7, 0x03, 0xcf, 0x47, 0x7d,
+			0x26, 0x81, 0xd2, 0x1a, 0x46, 0x04, 0x81, 0x33,
+			0x0f, 0xc9, 0x90, 0x0c, 0x3b, 0xac, 0xf4, 0x16,
+			0x2b, 0xc0, 0x5a, 0x74, 0x3a, 0x3d, 0xc6, 0x74,
+			0x7b, 0x02, 0x28, 0xd8, 0xde, 0x9b, 0x6e, 0x6a,
+			0xc1, 0xae, 0x98, 0x2f, 0x7e, 0xf5, 0x32, 0xf0,
+			0xc0, 0xbc, 0x22, 0xbd, 0xe3, 0x1a, 0x36, 0x38,
+			0x06, 0x74, 0xd0, 0x31, 0x47, 0x68, 0xda, 0x31,
+			0xe3, 0x25, 0x39, 0xca, 0x3f, 0xfb, 0x6a, 0x4b,
+			0x5f, 0x53, 0xbb, 0xa7, 0x39, 0x7d, 0xfc, 0x2f,
+			0xd0, 0xb8, 0xfc, 0xf3, 0x35, 0x2c, 0x61, 0xb4,
+			0x29, 0x32, 0x23, 0xf6, 0xac, 0x59, 0x81, 0x60,
+			0x58, 0x97, 0x31, 0xab, 0xae, 0x20, 0xa6, 0xb9,
+			0x78, 0x4a, 0x41, 0xdd, 0x0b, 0xa4, 0xcf, 0x3f,
+			0xf4, 0x67, 0x42, 0xd4, 0x3e, 0xa5, 0x03, 0x91,
+			0x32, 0x89, 0xae, 0x77, 0x32, 0xcd, 0x17, 0xc9,
+			0x0b, 0xf1, 0x48, 0xf7, 0x54, 0xb1, 0x04, 0x53,
+			0x6f, 0x50, 0xf3, 0x25, 0x96, 0xc4, 0x15, 0x28,
+			0x37, 0xf3, 0xd5, 0x26, 0x2b, 0x72, 0x32, 0x00,
+			0xae, 0xda, 0x7c, 0x3f, 0xa1, 0x50, 0x99, 0x85,
+			0x02, 0x2d, 0x5f, 0x0c, 0x06, 0xe9, 0x59, 0x7a,
+			0xdd, 0x47, 0xa4, 0xdb, 0xdf, 0x21, 0xd7, 0x5a,
+			0x3b, 0x95, 0x40, 0x13, 0x99, 0x76, 0x60, 0xe0,
+			0x5d, 0x5c, 0xc2, 0x77, 0xd5, 0xfa, 0x3a, 0x8b,
+			0x3e, 0x47, 0x56, 0xe4, 0xcf, 0x82, 0x80, 0xef,
+			0x06, 0x8c, 0x38, 0x68, 0x1b, 0x38, 0xde, 0xbe,
+			0xb7, 0x7e, 0x2b, 0x20, 0xac, 0x7c, 0x0e, 0x4d,
+			0x39, 0x5d, 0xcc, 0x78, 0xb9, 0xc5, 0x1c, 0x9d,
+			0x23, 0x07, 0xc2, 0x17, 0x10, 0x20, 0x6d, 0x22,
+			0xe8, 0xc5, 0xde, 0xd9, 0xd6, 0x5e, 0x44, 0x96,
+			0x99, 0x78, 0xc1, 0xb6, 0x4f, 0xce, 0x55, 0xb8,
+			0x49, 0x95, 0x62, 0xa6, 0x84, 0x65, 0x92, 0x7b,
+			0x4a, 0x4a, 0xc0, 0x55, 0x88, 0xcc, 0xf0, 0xf8,
+			0xa4, 0xc7, 0xd9, 0x9e, 0x8a, 0xc2, 0xe8, 0x05,
+			0xfe, 0x3f, 0x7b, 0x37, 0xea, 0xb4, 0x4f, 0x16,
+			0xcc, 0x4d, 0xe2, 0x26, 0x64, 0x52, 0x47, 0x2f,
+			0x4f, 0xea, 0x58, 0xe8, 0xbc, 0xd3, 0x3d, 0x32,
+			0x9a, 0x79, 0x65, 0x96, 0xa7, 0x75, 0x55, 0x55,
+			0x10, 0x94, 0xe9, 0xcc, 0x43, 0x44, 0xd3, 0xe7,
+			0x25, 0xff, 0xc5, 0xc2, 0x41, 0xe9, 0xaa, 0x68,
+			0xb8, 0xad, 0xd9, 0x15, 0x51, 0x4f, 0xb8, 0xc2,
+			0x0f, 0x68, 0x2b, 0xdc, 0x2d, 0xb0, 0x01, 0xf8,
+			0xd3, 0xbd, 0xd4, 0x72, 0x3b, 0x60, 0xf3, 0xc0,
+			0xfe, 0x3e, 0xe2, 0x9b, 0xde, 0x68, 0xea, 0x76,
+			0xea, 0x48, 0xf5, 0x85, 0x7b, 0x39, 0x1f, 0xfb,
+			0xcd, 0x6a, 0x86, 0xa1, 0x77, 0xe9, 0xaa, 0x95,
+			0x8c, 0x6e, 0x6b, 0xc8, 0x06, 0x1a, 0xbe, 0x32,
+			0x23, 0xb5, 0x08, 0xc7, 0x92, 0xb0, 0xfa, 0x12,
+			0xbc, 0x48, 0x85, 0xf8, 0x1a, 0xe2, 0xa2, 0x2a,
+			0x92, 0x4d, 0x3a, 0xb6, 0x29, 0xb8, 0xc5, 0x88,
+			0x77, 0x0e, 0x58, 0x38, 0xea, 0xbb, 0x73, 0xd3,
+			0x20, 0xed, 0x0d, 0x96, 0x26, 0xde, 0x01, 0xde,
+			0x26, 0xf8, 0x71, 0x60, 0x62, 0x42, 0x51, 0xf0,
+			0x61, 0x46, 0x5a, 0x70, 0x4d, 0xe5, 0x36, 0xef,
+			0x3f, 0xcb, 0xaf, 0x51, 0xfb, 0xc3, 0xfc, 0x61,
+			0x72, 0xad, 0x6f, 0x65, 0x66, 0x16, 0x25, 0x47,
+			0x6b, 0xfc, 0xb5, 0x06, 0x6f, 0x19, 0x97, 0x87,
+			0x45, 0xb5, 0x5c, 0x44, 0x44, 0x14, 0x2e, 0xb7,
+			0xd8, 0x18, 0x68, 0x59, 0x24, 0x4d, 0x69, 0xbe,
+			0x7b, 0x6a, 0xa0, 0xc5, 0xb5, 0x3f, 0xd6, 0x75,
+			0x2e, 0xa6, 0x56, 0x53, 0xb2, 0x07, 0x3d, 0x2e,
+			0x8d, 0x83, 0x49, 0xd3, 0x0d, 0x88, 0x1c, 0x27,
+			0xb5, 0x66, 0x8d, 0x0f, 0x62, 0xd9, 0x89, 0xac,
+			0xe8, 0x3f, 0xa0, 0x80, 0x29, 0x5d, 0xf2, 0x8f,
+			0x98, 0x73, 0x89, 0x0b, 0x17, 0x11, 0xcb, 0x21,
+			0xb7, 0x6d, 0xfb, 0xf4, 0x7b, 0x39, 0x9a, 0xe6,
+			0x35, 0xc6, 0xfe, 0x54, 0xf5, 0xe9, 0xa4, 0x29,
+			0x8d, 0x96, 0x2d, 0xbf, 0x24, 0x2b, 0x66, 0x82,
+			0xa2, 0x60, 0xac, 0xae, 0x5d, 0x33, 0x35, 0xf0,
+			0xce, 0x64, 0x61, 0x73, 0x72, 0x0c, 0x3e, 0x09,
+			0x82, 0xd5, 0xb3, 0x8b, 0xff, 0x52, 0x08, 0x4a,
+			0xdd, 0x86, 0x21, 0xd2, 0x17, 0x3d, 0xc2, 0x66,
+			0x16, 0x7e, 0xc7, 0x27, 0xe3, 0xc5, 0xaa, 0x69,
+			0x33, 0x43, 0x4b, 0xa9, 0x4f, 0x5f, 0x05, 0x4e,
+			0x5e, 0xeb, 0x0c, 0x66, 0xf3, 0xee, 0x2c, 0x84,
+			0x49, 0x3d, 0x8f, 0xb4, 0x04, 0x1b, 0xe5, 0xae,
+			0xce, 0xd0, 0x2a, 0xf9, 0x1d, 0x5b, 0x1c, 0x7d,
+			0x28, 0x8e, 0xe3, 0x14, 0x55, 0x71, 0x72, 0x6d,
+			0xb3, 0x90, 0x09, 0x0d, 0xa1, 0xad, 0x6c, 0xe2,
+			0x0c, 0x20, 0x1d, 0xb5, 0xb1, 0x48, 0x41, 0x0d,
+			0x58, 0x8e, 0xe9, 0x8b, 0x3b, 0x6c, 0x90, 0xf4,
+			0x7d, 0x4b, 0x16, 0x3d, 0xc5, 0x4f, 0xf2, 0x49,
+			0x4a, 0x12, 0x32, 0xd0, 0x33, 0xda, 0xdd, 0x20,
+			0xa3, 0xe4, 0x70, 0x73, 0x4e, 0x1d, 0xfc, 0xba,
+			0xbe, 0x76, 0x7a, 0x73, 0xca, 0xc6, 0xf8, 0x29,
+			0x1d, 0xdd, 0xb3, 0xa8, 0x1a, 0x5c, 0x50, 0x8d,
+			0xf5, 0x19, 0x31, 0xad, 0xf6, 0x5a, 0x7c, 0x3c,
+			0x71, 0x3b, 0x3f, 0x55, 0xb1, 0xa5, 0x84, 0xfd,
+			0x64, 0x40, 0x9d, 0xe9, 0x85, 0x0d, 0xb3, 0x38,
+			0x92, 0x37, 0x63, 0xd1, 0xd6, 0x6b, 0x79, 0x73,
+			0x17, 0x5e, 0x56, 0xd2, 0xcd, 0xff, 0xc0, 0x08,
+			0x77, 0x3f, 0xef, 0x26, 0xa1, 0x2d, 0x9f, 0x98,
+			0x80, 0x0b, 0x3b, 0x67, 0x7a, 0x2e, 0xe9, 0xab,
+			0x72, 0x27, 0xea, 0x7f, 0x2a, 0xaf, 0x54, 0xf2,
+			0xb5, 0xf5, 0xfe, 0x50, 0x01, 0x3c, 0x4f, 0x55,
+			0x86, 0x7b, 0x22, 0x73, 0xbb, 0x34, 0xcd, 0x2d,
+			0xe1, 0xce, 0xab, 0x13, 0xbd, 0x41, 0xcf, 0x3b,
+			0xfa, 0x18, 0x59, 0xb3, 0x87, 0x33, 0x92, 0xd8,
+			0x00, 0x09, 0x7b, 0x6d, 0xc4, 0x46, 0x6c, 0x64,
+			0xd6, 0x6b, 0x94, 0x7d, 0x0b, 0xb0, 0x80, 0xe3,
+			0xa3, 0xd9, 0xcf, 0x22, 0xb1, 0x38, 0x1f, 0xa6,
+			0x0d, 0x47, 0x3d, 0xc6, 0x7c, 0xe0, 0xc0, 0xc6,
+			0x32, 0xbd, 0x39, 0x1f, 0xfc, 0xd8, 0x61, 0x6c,
+			0x18, 0xea, 0x35, 0x47, 0x73, 0x57, 0x36, 0xa5,
+			0x8b, 0x04, 0xe3, 0x92, 0xdb, 0x6e, 0xb1, 0x79,
+			0x6c, 0x3e, 0x5a, 0x7a, 0x58, 0x74, 0xe4, 0xf0,
+			0xd9, 0x41, 0xdd, 0x22, 0xb6, 0xc6, 0xa1, 0x8f,
+			0x56, 0xcc, 0x3d, 0xad, 0x59, 0x3f, 0xc6, 0x3d,
+			0xab, 0xbf, 0x14, 0x60, 0x91, 0x16, 0xe7, 0x8b,
+			0x40, 0x80, 0xc6, 0x6c, 0xb0, 0xf1, 0x65, 0x79,
+			0x12, 0x6b, 0x20, 0xd2, 0x77, 0x02, 0x3e, 0x6e,
+			0xa2, 0x20, 0x3b, 0xe1, 0xa1, 0xf6, 0xf6, 0x3c,
+			0xd1, 0xc8, 0x4c, 0x8f, 0xd2, 0xd9, 0xf4, 0x5f,
+			0xf1, 0x1b, 0xc0, 0x9a, 0x2d, 0xa1, 0x68, 0xd9,
+			0xe1, 0x49, 0xcf, 0x36, 0xa8, 0xa7, 0x63, 0x5f,
+			0x9e, 0x14, 0x78, 0x6c, 0x44, 0xcc, 0x02, 0x59,
+			0x34, 0x32, 0x26, 0x11, 0xcf, 0x89, 0x69, 0x41,
+			0x2c, 0x09, 0x12, 0xff, 0xa9, 0x52, 0xea, 0x53,
+			0x0a, 0x66, 0xe1, 0xc2, 0x86, 0x66, 0x74, 0x86,
+			0xd1, 0xdc, 0xfd, 0x0b, 0xb3, 0xb6, 0x4b, 0xe9,
+			0x5f, 0xec, 0x8e, 0xde, 0xfd, 0x9d, 0xbb, 0x4e,
+			0x77, 0x15, 0x6c, 0xd9, 0x26, 0xd7, 0xbb, 0x60,
+			0x0d, 0x00, 0x3c, 0x4d, 0x92, 0x2d, 0x92, 0xd5,
+			0x59, 0xd8, 0xa6, 0xbe, 0xb6, 0x81, 0xe4, 0x6a,
+			0xff, 0x8a, 0xbb, 0x3c, 0x44, 0xb0, 0x93, 0xf2,
+			0x06, 0xb7, 0x90, 0xf4, 0x20, 0x7b, 0xbb, 0x7e,
+			0x9f, 0xd9, 0x36, 0xa1, 0xa5, 0x74, 0x2c, 0xff,
+			0xa0, 0xd9, 0xbc, 0x20, 0xde, 0xc2, 0x99, 0x4a,
+			0xe3, 0xd7, 0x4f, 0x30, 0xc2, 0x0c, 0xc1, 0xbf,
+			0x51, 0x46, 0x5b, 0x7a, 0x05, 0x41, 0x94, 0x55,
+			0x37, 0x83, 0x7b, 0xd0, 0x3f, 0xf3, 0x9c, 0x1d,
+			0x0f, 0x04, 0x32, 0x5e, 0x7e, 0xee, 0x02, 0x5c,
+			0x18, 0x1f, 0xd9, 0xe2, 0x0f, 0x89, 0xc8, 0x6f,
+			0x3f, 0xee, 0xc2, 0x08, 0xcc, 0x69, 0xe8, 0xb2,
+			0xce, 0x82, 0x22, 0x0c, 0xc8, 0xa5, 0x02, 0x38,
+			0x85, 0xfe, 0x7b, 0x8c, 0x58, 0xbb, 0x16, 0x34,
+			0x7a, 0xf2, 0x76, 0xe7, 0xd2, 0x49, 0x41, 0x9c,
+			0xa5, 0xc7, 0xde, 0xe4, 0x9c, 0x96, 0xd4, 0xd1,
+			0xef, 0x3d, 0xd1, 0x69, 0x13, 0xb2, 0xb3, 0x39,
+			0x0c, 0x55, 0x78, 0x25, 0x71, 0x47, 0xf3, 0x69,
+			0xf1, 0xf0, 0x6d, 0x71, 0xc7, 0xd2, 0xf2, 0x4d,
+			0xaf, 0x02, 0x31, 0x83, 0x56, 0xd2, 0x7d, 0xf4,
+			0xa4, 0x8c, 0xeb, 0x1d, 0xd6, 0x20, 0xf8, 0xf6,
+			0xf3, 0x4b, 0x59, 0xda, 0x9a, 0xcd, 0xe2, 0x85,
+			0x8c, 0x69, 0xa1, 0xed, 0x11, 0xe9, 0xd1, 0xe2,
+			0xbc, 0x40, 0xe1, 0xc8, 0x27, 0x45, 0xf5, 0xf0,
+			0x7b, 0x37, 0x27, 0x6a, 0x4f, 0x11, 0x19, 0x83,
+			0xbf, 0x6c, 0xcd, 0x3b, 0x49, 0xaa, 0x06, 0x86,
+			0x4c, 0x26, 0x09, 0xdf, 0x7d, 0x42, 0x0e, 0xf2,
+			0xee, 0xec, 0x07, 0xa1, 0x26, 0xe0, 0xb5, 0x49,
+			0x04, 0x27, 0xd7, 0x5b, 0x80, 0xbb, 0x16, 0xe4,
+			0x10, 0xb6, 0x5d, 0xf6, 0x0f, 0x59, 0x51, 0xb2,
+			0xc6, 0xca, 0x8a, 0x8b, 0x89, 0x86, 0x18, 0x43,
+			0xc6, 0xee, 0x60, 0x2b, 0x97, 0x59, 0xb6, 0x0b,
+			0xe8, 0xe2, 0xa4, 0x55, 0x3e, 0x47, 0x1d, 0x54,
+			0x1a, 0x6a, 0xcb, 0xdb, 0x03, 0xcf, 0x35, 0x78,
+			0x3c, 0x48, 0x14, 0xcd, 0x6b, 0x61, 0xd2, 0x34,
+			0x86, 0xc9, 0x03, 0xbb, 0x7f, 0x28, 0x7c, 0x43,
+			0xa2, 0xd8, 0x2f, 0x81, 0x98, 0x17, 0x1e, 0xf3,
+			0xd0, 0xec, 0x24, 0x26, 0xd1, 0x4d, 0xda, 0xad,
+			0x7b, 0x0b, 0xe7, 0x15, 0xe3, 0x4e, 0xe3, 0xe9,
+			0x73, 0x0e, 0x3f, 0xa8, 0xd1, 0xb0, 0xb3, 0xc5,
+			0x89, 0x10, 0xf0, 0x6a, 0x62, 0xf9, 0xa6, 0x02,
+			0x4f, 0x0a, 0x44, 0x44, 0xf4, 0xa7, 0xc7, 0x03,
+			0x56, 0xa5, 0x13, 0x9d, 0x3a, 0x94, 0x56, 0xfa,
+			0x17, 0xec, 0xb4, 0x5f, 0x46, 0xef, 0x2d, 0x7b,
+			0x16, 0xa5, 0x71, 0x6b, 0xb3, 0xaa, 0x8c, 0x9c,
+			0x12, 0x48, 0xde, 0xe2, 0x03, 0x6d, 0x19, 0x75,
+			0x05, 0x02, 0xde, 0x7a, 0x41, 0x04, 0xbf, 0xdb,
+			0x0c, 0xa4, 0x80, 0xe0, 0xd5, 0x1c, 0x10, 0x26,
+			0xaa, 0x47, 0x2d, 0x49, 0x34, 0x06, 0x16, 0xac,
+			0xe4, 0x10, 0x7f, 0x1e, 0x0f, 0x24, 0xb7, 0x43,
+			0xd9, 0x0e, 0x21, 0xd3, 0x1b, 0xe8, 0xcb, 0xb3,
+			0x7c, 0xf5, 0x58, 0x8c, 0xda, 0xa8, 0x90, 0x4c,
+			0xf9, 0x44, 0x9c, 0xf2, 0xf5, 0x28, 0xf9, 0xc4,
+			0x8e, 0xde, 0x4e, 0x7e, 0x6e, 0x70, 0xd9, 0x66,
+			0xcc, 0xf5, 0xe0, 0xfb, 0x94, 0x03, 0xc5, 0x29,
+			0x42, 0x7d, 0x08, 0xe6, 0xe7, 0xd7, 0x6c, 0xb0,
+			0x52, 0xab, 0x6a, 0x0d, 0x5e, 0x06, 0x51, 0xcd,
+			0xa5, 0xfa, 0x2f, 0x1b, 0x7c, 0xd7, 0xc3, 0xca,
+			0xfe, 0x60, 0xb4, 0x51, 0x44, 0x5f, 0xe6, 0x77,
+			0xb5, 0x5e, 0xb7, 0x17, 0x5a, 0xb3, 0x71, 0x88,
+			0x8f, 0x22, 0x1b, 0xb6, 0x7f, 0xad, 0x4b, 0xcf,
+			0x37, 0x92, 0x13, 0xa8, 0x33, 0x2f, 0xbb, 0xeb,
+			0x90, 0x1d, 0xc0, 0x04, 0x14, 0x34, 0x02, 0x87,
+			0x8b, 0xca, 0xed, 0x91, 0xb4, 0x12, 0xdd, 0xa9,
+			0xeb, 0x6d, 0xc2, 0x84, 0x4c, 0x4b, 0xf6, 0xb2,
+			0xab, 0xfd, 0x52, 0x17, 0xed, 0xcb, 0x28, 0xa8,
+			0xe5, 0xf0, 0xf6, 0xef, 0xdf, 0x65, 0x66, 0x46,
+			0x9b, 0xf3, 0x37, 0x35, 0xdf, 0xb1, 0x62, 0x24,
+			0xf0, 0x5b, 0x4c, 0x3e, 0x4d, 0x36, 0x99, 0xea,
+			0x13, 0xc2, 0xa0, 0x8c, 0xa0, 0x2b, 0xf8, 0x16,
+			0x97, 0x6a, 0xc4, 0x51, 0x3a, 0x30, 0x56, 0xf1,
+			0x90, 0xf7, 0x37, 0x42, 0xac, 0xb3, 0x06, 0x52,
+			0x9a, 0x90, 0x8e, 0x37, 0x8e, 0xf3, 0x9e, 0xda,
+			0x04, 0xf7, 0xdb, 0xd9, 0x50, 0x64, 0x97, 0x38,
+			0x08, 0x03, 0x49, 0x6c, 0xc6, 0x25, 0x0f, 0x4c,
+			0x6b, 0x3b, 0x67, 0xb8, 0x24, 0x21, 0x19, 0x04,
+			0xe8, 0x4e, 0xa7, 0xee, 0xef, 0x97, 0x01, 0x7d,
+			0xd5, 0xb1, 0x81, 0xb3, 0x6b, 0xae, 0x37, 0x6b,
+			0xd5, 0x39, 0x98, 0xb7, 0x94, 0xa2, 0xda, 0x8b,
+			0xc3, 0x66, 0xc5, 0x64, 0x03, 0x23, 0x11, 0x97,
+			0x2f, 0xfe, 0xaf, 0x53, 0x11, 0x3f, 0xfe, 0xe9,
+			0x78, 0x24, 0x2e, 0xcd, 0x6a, 0xbf, 0x0e, 0xb8,
+			0xf1, 0xb9, 0x78, 0x40, 0x65, 0xee, 0x5e, 0xe9,
+			0x29, 0x78, 0xe3, 0x9f, 0x84, 0x31, 0x72, 0x9a,
+			0x62, 0x0a, 0x8f, 0xae, 0x0b, 0x2b, 0x2e, 0x10,
+			0xa6, 0xc0, 0x59, 0xa5, 0x37, 0x30, 0xe9, 0x47,
+			0x71, 0x8f, 0x2c, 0x1a, 0x9a, 0x08, 0x8c, 0x80,
+			0x50, 0x86, 0x76, 0x4d, 0x2a, 0x74, 0xed, 0x83,
+			0xb9, 0x28, 0xca, 0xd9, 0xe1, 0xe1, 0x17, 0x83,
+			0x7b, 0x68, 0x94, 0x75, 0x13, 0x0b, 0xf5, 0x6e,
+			0xc0, 0x15, 0xff, 0xab, 0xa5, 0x7b, 0x16, 0x43,
+			0x96, 0x2e, 0xc3, 0x80, 0xec, 0xd0, 0x33, 0x37,
+			0x3b, 0x81, 0x7e, 0x10, 0x2e, 0xe1, 0x96, 0xc9,
+			0xbf, 0x72, 0xf3, 0xd8, 0x78, 0x5a, 0xde, 0x4e,
+			0x9c, 0x1c, 0xf9, 0x1d, 0xcc, 0x1b, 0xc7, 0x9f,
+			0xc8, 0x19, 0x62, 0x4a, 0xf0, 0xbb, 0x10, 0x52,
+			0x55, 0xeb, 0x88, 0x19, 0xdf, 0x25, 0x4d, 0xb0,
+			0x46, 0xaa, 0x63, 0x70, 0x4b, 0xb9, 0xc3, 0x10,
+			0x6a, 0xf4, 0x52, 0x72, 0x80, 0x49, 0xff, 0xec,
+			0x36, 0x0d, 0x7d, 0x0e, 0x99, 0x0c, 0xc6, 0x95,
+			0xa1, 0xbc, 0x10, 0xa9, 0xe1, 0x10, 0xb2, 0xad,
+			0x0e, 0x1b, 0x6a, 0x9f, 0x20, 0x30, 0xad, 0x04,
+			0xe5, 0xaa, 0x3e, 0x87, 0xf3, 0xfa, 0x54, 0x9e,
+			0xc7, 0x1d, 0x39, 0xce, 0x27, 0x6e, 0x59, 0x0e,
+			0x2a, 0xbb, 0xe3, 0xa1, 0x93, 0xdb, 0x4b, 0xe6,
+			0xbe, 0x29, 0xc1, 0x96, 0x90, 0x42, 0x1f, 0x77,
+			0xa2, 0x97, 0x23, 0x52, 0x5a, 0x40, 0x1b, 0xf0,
+			0x31, 0x97, 0x76, 0x12, 0xfb, 0xf5, 0x24, 0x87,
+			0x11, 0x46, 0x25, 0xc9, 0x17, 0xb9, 0xe7, 0x39,
+			0xf6, 0xd9, 0x94, 0x57, 0x09, 0xf0, 0x18, 0x16,
+			0x9c, 0xf1, 0x01, 0x47, 0x98, 0x2d, 0x38, 0x8c,
+			0xbb, 0x45, 0x53, 0x34, 0xfe, 0x7c, 0xa9, 0x0e,
+			0x99, 0x3e, 0x47, 0xcb, 0xf9, 0xd9, 0x56, 0x35,
+			0xb7, 0x1f, 0x37, 0xc3, 0xc2, 0x2f, 0x95, 0xff,
+			0x9e, 0x1a, 0x85, 0xd4, 0x2a, 0x91, 0x28, 0x63,
+			0xb8, 0x98, 0x74, 0x53, 0x50, 0xf5, 0x3c, 0xdf,
+			0xc7, 0x36, 0x77, 0xf8, 0xc0, 0x95, 0x7d, 0x7c,
+			0x02, 0x20, 0x9d, 0x9e, 0x47, 0x8a, 0xed, 0x70,
+			0x95, 0x08, 0xc1, 0x51, 0x6b, 0x2f, 0xa3, 0xbb,
+			0xb3, 0x00, 0xaf, 0x6c, 0x25, 0xaf, 0x2f, 0x83,
+			0x36, 0xae, 0xc9, 0xbe, 0xde, 0x91, 0x24, 0xef,
+			0x9d, 0x5d, 0x77, 0xa2, 0x6c, 0x79, 0x3e, 0xb2,
+			0x83, 0x09, 0x67, 0xa3, 0x46, 0x42, 0xbf, 0xdd,
+			0x50, 0xbc, 0xd2, 0x9a, 0xb3, 0xb3, 0x78, 0xe4,
+			0xb1, 0xb2, 0x1c, 0x43, 0xaa, 0x48, 0x2e, 0x10,
+			0x60, 0x19, 0x94, 0xf0, 0xb9, 0xf7, 0x19, 0xa2,
+			0x54, 0x9d, 0x72, 0xcd, 0x25, 0x1c, 0x37, 0xb8,
+			0x20, 0xe5, 0x66, 0xa0, 0xf7, 0xce, 0xfd, 0x5d,
+			0x84, 0xb1, 0x60, 0xea, 0x41, 0xe5, 0xd2, 0x40,
+			0x59, 0x0c, 0xcc, 0x47, 0x4c, 0x82, 0x94, 0x6e,
+			0xe5, 0xfc, 0x4e, 0x0b, 0x6a, 0x40, 0x67, 0x40,
+			0xab, 0x4e, 0x3c, 0x80, 0x2e, 0x71, 0xf2, 0x32,
+			0xf7, 0x02, 0x7a, 0x88, 0x5e, 0x35, 0x3f, 0x02,
+			0x57, 0x47, 0xed, 0xd2, 0x61, 0xfe, 0x07, 0x3a,
+			0x37, 0xb1, 0x39, 0xb6, 0x97, 0x4d, 0xd2, 0xa8,
+			0xfd, 0xdc, 0xaa, 0x7f, 0x2b, 0x84, 0x37, 0x91,
+			0xef, 0xc4, 0x01, 0xfa, 0xc7, 0x6e, 0x17, 0x3d,
+			0x44, 0xda, 0xfd, 0xd6, 0xf6, 0xd3, 0xfe, 0x28,
+			0x32, 0xf1, 0xae, 0x49, 0x9a, 0xe9, 0x70, 0xe6,
+			0x5c, 0x66, 0x20, 0xb1, 0xea, 0xbb, 0x40, 0x05,
+			0xee, 0x90, 0xc5, 0xe6, 0xf2, 0x94, 0x43, 0x06,
+			0x1e, 0xa7, 0xce, 0xb1, 0x41, 0xba, 0xc2, 0xeb,
+			0x83, 0x7c, 0x63, 0x2c, 0x87, 0x09, 0x51, 0xb4,
+			0x03, 0x5d, 0x8c, 0x23, 0x6f, 0x00, 0xc1, 0x73,
+			0x42, 0x94, 0xe8, 0x28, 0x2f, 0x9a, 0x16, 0x3b,
+			0x98, 0x21, 0x7e, 0x21, 0x02, 0x7a, 0xcf, 0x30,
+			0x60, 0x4a, 0x68, 0xc2, 0xe2, 0x2a, 0x30, 0x98,
+			0xce, 0x44, 0x67, 0x82, 0xfa, 0x8e, 0x4e, 0xca,
+			0x89, 0x59, 0x6d, 0x2c, 0xbe, 0xeb, 0xe1, 0xd2,
+			0xd7, 0xda, 0xf5, 0x69, 0xe3, 0x1e, 0x2e, 0xd3,
+			0x59, 0x9a, 0x0c, 0xea, 0xc5, 0xc1, 0x2b, 0x81,
+			0x02, 0x86, 0xd4, 0x3c, 0x52, 0xe6, 0xf6, 0x34,
+			0x9b, 0x5b, 0x1b, 0x2f, 0x6c, 0x9e, 0x4f, 0x40,
+			0x3e, 0xa9, 0xb1, 0x1c, 0x8b, 0x5e, 0x2e, 0xe2,
+			0xd3, 0x96, 0xf9, 0x3f, 0x03, 0x12, 0xd2, 0x4b,
+			0x62, 0xe3, 0x04, 0x68, 0x73, 0x8c, 0xb3, 0xfd,
+			0xc2, 0x20, 0x56, 0x77, 0x1f, 0xa7, 0x76, 0xef,
+			0x8e, 0x24, 0xf9, 0x90, 0x59, 0x3f, 0x53, 0x70,
+			0x8d, 0x59, 0x94, 0xef, 0x68, 0x12, 0xaa, 0x61,
+			0x60, 0x10, 0xcd, 0xc2, 0x08, 0x89, 0x2b, 0x33,
+			0x0a, 0x62, 0xed, 0x7b, 0x67, 0x9b, 0x27, 0xa3,
+			0x2b, 0x3c, 0xf0, 0x77, 0x20, 0x27, 0x36, 0xd3,
+			0x38, 0x62, 0xd9, 0xf3, 0x9c, 0x20, 0x2e, 0xaa,
+			0x96, 0xe3, 0xa7, 0x32, 0xdd, 0xf1, 0x40, 0x82,
+			0x9b, 0xbb, 0x62, 0x8a, 0xb8, 0xa7, 0xc3, 0x6d,
+			0x2b, 0x57, 0x11, 0x5c, 0x14, 0x22, 0x49, 0x34,
+			0x64, 0x15, 0x80, 0xc7, 0x16, 0xfa, 0x2b, 0xae,
+			0xed, 0x47, 0xdb, 0x5b, 0x56, 0xe0, 0xa8, 0x45,
+			0x75, 0xd1, 0x56, 0x76, 0x65, 0x58, 0x1a, 0xe2,
+			0xd8, 0xef, 0xa9, 0x19, 0x05, 0xdb, 0xca, 0x80,
+			0xf6, 0x0c, 0xd2, 0x02, 0xe1, 0x3c, 0xd8, 0x20,
+			0xeb, 0xaf, 0xaf, 0x99, 0xd8, 0x49, 0x5c, 0xf5,
+			0x42, 0xf6, 0x44, 0x80, 0x99, 0xa1, 0xeb, 0x0e,
+			0x4f, 0x53, 0xb9, 0xd3, 0x4f, 0xfc, 0x59, 0x2d,
+			0x42, 0x64, 0x1e, 0xc4, 0x33, 0x8e, 0x5e, 0x13,
+			0xf2, 0x83, 0x12, 0xa5, 0xcc, 0x7d, 0x31, 0x62,
+			0x64, 0x76, 0x61, 0x1c, 0x58, 0xce, 0x04, 0xee,
+			0xfb, 0x7c, 0xcc, 0xd0, 0x4a, 0x0e, 0x36, 0x8a,
+			0x96, 0x83, 0x3c, 0x22, 0xa4, 0xa6, 0xa5, 0x07,
+			0x88, 0xea, 0x13, 0x76, 0x88, 0x6e, 0x58, 0x0b,
+			0xa0, 0x0e, 0x68, 0xc8, 0xa1, 0x88, 0x1a, 0x26,
+			0x72, 0xed, 0x24, 0xf1, 0xb6, 0x7c, 0x5d, 0x6a,
+			0xe7, 0x5b, 0x7d, 0x20, 0x14, 0xea, 0x27, 0x60,
+			0x0d, 0x9f, 0xb0, 0x9a, 0x75, 0xa5, 0x88, 0x25,
+			0xe9, 0xab, 0x94, 0x0e, 0x04, 0x69, 0xa4, 0xf5,
+			0x04, 0x81, 0xf9, 0x58, 0x34, 0x7a, 0x44, 0x71,
+			0x0f, 0xd7, 0x1f, 0x40, 0xaa, 0x8c, 0xc7, 0x6f,
+			0x56, 0x42, 0x3c, 0xbd, 0x00, 0x7e, 0xef, 0x92,
+			0xa5, 0xa5, 0x16, 0xc0, 0xcc, 0x2a, 0x9c, 0x54,
+			0x6b, 0xb2, 0xa6, 0x8e, 0x7d, 0x56, 0x07, 0x74,
+			0x4d, 0xba, 0xeb, 0xed, 0x48, 0x82, 0x58, 0xfa,
+			0xdc, 0xef, 0x76, 0x6b, 0xc4, 0x1a, 0xf1, 0x0c,
+			0x51, 0x0b, 0xd5, 0x41, 0xdf, 0x15, 0xe3, 0x0d,
+			0xfc, 0x4e, 0xdb, 0x33, 0x0c, 0xc6, 0xcb, 0xc3,
+			0x00, 0x91, 0xf3, 0x8f, 0xa9, 0x05, 0x81, 0x7f,
+			0x83, 0x77, 0xd1, 0x69, 0x4f, 0xfb, 0xab, 0x76,
+			0x4d, 0x95, 0xe1, 0xa3, 0x8f, 0x5e, 0xf6, 0x49,
+			0x89, 0x36, 0x03, 0x18, 0x73, 0x73, 0xd5, 0xee,
+			0xde, 0xe4, 0x25, 0xf3, 0x15, 0x34, 0xca, 0xc3,
+			0x63, 0xbe, 0x63, 0xab, 0x75, 0x33, 0xc0, 0x88,
+			0x32, 0xa4, 0xae, 0xfb, 0x71, 0x65, 0xb7, 0x8c,
+			0x70, 0x99, 0x02, 0x9a, 0x79, 0x69, 0x30, 0xc7,
+			0xe7, 0xde, 0xd2, 0x47, 0xe5, 0x81, 0x70, 0xbe,
+			0x63, 0x45, 0x5c, 0x6e, 0x76, 0xdd, 0xd2, 0xf9,
+			0xa6, 0xf7, 0x51, 0xca, 0x48, 0x77, 0xdd, 0x9f,
+			0x93, 0x8e, 0x14, 0xe2, 0xd7, 0x17, 0xb0, 0x5e,
+			0x0d, 0x49, 0xb7, 0x32, 0x78, 0x9a, 0xbe, 0x8a,
+			0xcd, 0x16, 0x56, 0x35, 0x51, 0xfc, 0x1b, 0xb5,
+			0x10, 0x59, 0x0e, 0xb5, 0x22, 0x98, 0xcf, 0x5f,
+			0x53, 0xae, 0xbf, 0xe5, 0x8d, 0xa0, 0xaa, 0xe3,
+			0xa0, 0x91, 0x7b, 0xd4, 0xd5, 0x1d, 0xc4, 0x81,
+			0x66, 0xb0, 0x69, 0xef, 0x1c, 0x7c, 0x5b, 0x1f,
+			0x6e, 0x9a, 0x97, 0x48, 0xc6, 0xde, 0xfe, 0x64,
+			0x93, 0x84, 0xba, 0x63, 0xa4, 0xe3, 0x0d, 0xa1,
+			0xda, 0x2b, 0xbd, 0xbe, 0xa6, 0xc1, 0xfb, 0xbb,
+			0xb4, 0x05, 0x38, 0x8e, 0x0c, 0x4c, 0x32, 0xd4,
+			0x92, 0xc1, 0x48, 0xed, 0x05, 0x5e, 0x8c, 0x3f,
+			0xb1, 0x49, 0x4e, 0x77, 0x9e, 0x6c, 0x11, 0xfc,
+			0x14, 0x8c, 0xbe, 0x27, 0x5f, 0xfb, 0x9b, 0x82,
+			0xbc, 0xdf, 0x7e, 0x10, 0x9d, 0x75, 0x89, 0xfa,
+			0xc7, 0x23, 0xdb, 0x4e, 0x39, 0xba, 0xe6, 0x75,
+			0xdf, 0x36, 0x6d, 0x40, 0x36, 0xbe, 0x43, 0x72,
+			0x0f, 0x04, 0x3c, 0xf1, 0xc8, 0x4c, 0x33, 0x94,
+			0xb4, 0x98, 0x3e, 0x47, 0x78, 0x7e, 0x5b, 0x9b,
+			0x64, 0xa7, 0x5e, 0x2c, 0x43, 0x7b, 0x98, 0xfa,
+			0xdb, 0x2e, 0x69, 0xaf, 0x7e, 0xb9, 0x42, 0x93,
+			0x93, 0x21, 0xf5, 0x9b, 0x39, 0x40, 0xca, 0x3e,
+			0xfc, 0xb3, 0x4a, 0xef, 0x13, 0xf2, 0xe3, 0x7b,
+			0xfa, 0x5f, 0x84, 0xf4, 0x13, 0x2e, 0x00, 0x7c,
+			0x31, 0x9d, 0x16, 0xbd, 0x78, 0x39, 0x9e, 0x88,
+			0x81, 0x42, 0x36, 0xf7, 0x05, 0x8a, 0x49, 0xe6,
+			0xb6, 0x60, 0xdd, 0xf0, 0xe3, 0xef, 0x70, 0x21,
+			0x63, 0x17, 0xca, 0xb9, 0xbd, 0x17, 0x0d, 0xcb,
+			0x7e, 0xaf, 0xdd, 0x2d, 0x8b, 0x5f, 0xef, 0xcd,
+			0xe7, 0xce, 0xb6, 0x8a, 0x5e, 0xbb, 0xed, 0x11,
+			0x7d, 0x8a, 0xd9, 0x7b, 0xaf, 0x55, 0xcc, 0x04,
+			0x87, 0x71, 0xae, 0x9c, 0xe2, 0x57, 0x8d, 0xc8,
+			0x7a, 0x50, 0xed, 0x6e, 0x8e, 0x44, 0x80, 0xa3,
+			0x06, 0xad, 0xa7, 0xab, 0xa1, 0x86, 0x7c, 0xe6,
+			0xc6, 0x0d, 0xbf, 0x74, 0xcb, 0xbe, 0x9d, 0xa6,
+			0x39, 0x7a, 0x40, 0x5d, 0x79, 0x60, 0xe6, 0xae,
+			0x68, 0x66, 0x9b, 0x50, 0xd4, 0x14, 0xff, 0x7d,
+			0x08, 0xa3, 0x1e, 0x14, 0x81, 0x28, 0xbb, 0x0a,
+			0x92, 0xa7, 0xfd, 0x5e, 0x81, 0x65, 0x2c, 0x39,
+			0x81, 0x8a, 0xf7, 0x71, 0x5c, 0xab, 0x35, 0xae,
+			0xc9, 0x04, 0xf8, 0x6f, 0xd6, 0x56, 0x4f, 0x44,
+			0x81, 0x54, 0x96, 0x2c, 0x53, 0x73, 0xb1, 0xf7,
+			0x50, 0x7a, 0xc6, 0xdb, 0x7c, 0x23, 0x70, 0x76,
+			0x81, 0x44, 0xcf, 0x62, 0x74, 0x2b, 0xc2, 0x87,
+			0x49, 0x7d, 0x32, 0xd4, 0x27, 0xcb, 0xbf, 0x41,
+			0xc5, 0x68, 0xf6, 0xba, 0xfa, 0x59, 0x32, 0x7e,
+			0x17, 0x9c, 0x8c, 0x0a, 0xd5, 0xa3, 0xb2, 0x2c,
+			0x91, 0xc0, 0xda, 0x7f, 0xbc, 0x51, 0xe4, 0xfb,
+			0x0d, 0x66, 0x53, 0x8c, 0x22, 0xfa, 0xa6, 0xae,
+			0xf1, 0xbd, 0x38, 0x30, 0xe0, 0x63, 0xea, 0xfc,
+			0x8a, 0x52, 0xbd, 0x17, 0xeb, 0x42, 0x2c, 0xb5,
+			0x4c, 0x8e, 0x80, 0xb6, 0xe5, 0x8c, 0xdc, 0xea,
+			0xe5, 0x64, 0x09, 0xe4, 0x5f, 0x59, 0x97, 0x2d,
+			0x33, 0x70, 0x7e, 0xb6, 0xc7, 0x03, 0x83, 0xca,
+			0xd2, 0x5b, 0xe8, 0x5c, 0xcd, 0xf6, 0xe1, 0xde,
+			0xd6, 0xbf, 0x31, 0x6d, 0xfa, 0xaf, 0x38, 0x9a,
+			0x4e, 0xdd, 0xfb, 0xd5, 0x60, 0x80, 0xf8, 0x4b,
+			0x15, 0x56, 0x62, 0x33, 0x4a, 0x7f, 0x87, 0x4c,
+			0x5b, 0xca, 0xb8, 0xf0, 0x3f, 0xc3, 0xdc, 0x53,
+			0xd8, 0xa8, 0xf3, 0x84, 0xfa, 0x04, 0x21, 0x75,
+			0x67, 0x8c, 0x82, 0xd6, 0x38, 0x70, 0xe2, 0xbf,
+			0x82, 0x8b, 0xa8, 0x4a, 0x7d, 0xb8, 0x11, 0x8b,
+			0x0a, 0xe4, 0x70, 0xac, 0x2f, 0x3d, 0x2d, 0x7c,
+			0xb9, 0x70, 0x96, 0xc5, 0xec, 0x40, 0x43, 0x55,
+			0x4d, 0xc1, 0x3c, 0x68, 0x1c, 0x1d, 0x88, 0x2f,
+			0x2d, 0xdd, 0xed, 0x7d, 0x29, 0x53, 0xdb, 0x25,
+			0x89, 0x3c, 0xeb, 0x94, 0xc3, 0xd7, 0x4d, 0xd8,
+			0x80, 0xef, 0x9f, 0x25, 0xb1, 0x8f, 0x69, 0x64,
+			0xa2, 0xc5, 0x02, 0xff, 0x07, 0xc0, 0x2e, 0xf2,
+			0xd4, 0x82, 0x97, 0xaf, 0x79, 0x20, 0xe4, 0xc6,
+			0x3e, 0xd2, 0xcd, 0xa7, 0x49, 0x01, 0xc6, 0xa2,
+			0x05, 0x42, 0x20, 0x1f, 0xf9, 0x7a, 0x50, 0x83,
+			0x77, 0x98, 0xa4, 0x31, 0x73, 0x5a, 0x9e, 0x67,
+			0x53, 0xdb, 0xd7, 0xa7, 0x8d, 0xd0, 0x4a, 0x71,
+			0x5b, 0x80, 0x4a, 0xcd, 0x07, 0xd6, 0x00, 0x4c,
+			0x29, 0x42, 0x54, 0x68, 0x9d, 0x2b, 0x7e, 0x6e,
+			0x0b, 0x17, 0xb9, 0x41, 0xc2, 0x64, 0x5c, 0x8f,
+			0x70, 0x4b, 0x2e, 0xe4, 0x26, 0x9a, 0xf8, 0x36,
+			0x2c, 0x33, 0xba, 0x83, 0x01, 0x69, 0x75, 0x30,
+			0xc7, 0xdc, 0xad, 0xdc, 0xf7, 0x35, 0xe6, 0xad,
+			0x6c, 0xa7, 0xe9, 0xb2, 0x4f, 0xe1, 0xef, 0xef,
+			0x59, 0xcf, 0xc5, 0x78, 0x47, 0x51, 0xfb, 0xc0,
+			0xac, 0x1d, 0x34, 0xb9, 0x5a, 0x76, 0x4f, 0x2b,
+			0xd8, 0xf8, 0x5d, 0x79, 0x75, 0x7a, 0x74, 0x4a,
+			0xb8, 0x57, 0xed, 0xa1, 0x0f, 0x72, 0x9b, 0x41,
+			0x41, 0x95, 0x5e, 0x55, 0xe4, 0x16, 0xf2, 0x12,
+			0x08, 0xaf, 0xd9, 0x59, 0xf1, 0x46, 0x46, 0x22,
+			0xf7, 0xb8, 0xd3, 0x19, 0xdf, 0x84, 0x39, 0xd4,
+			0x13, 0xe5, 0x55, 0x57, 0x51, 0x8a, 0x5c, 0xc6,
+			0x40, 0xad, 0x21, 0xa5, 0xee, 0x7a, 0x54, 0x2b,
+			0xbe, 0xd4, 0x9c, 0x0b, 0x6d, 0x84, 0x15, 0x14,
+			0xe7, 0xd2, 0xdb, 0xe3, 0xb7, 0xb5, 0x38, 0x8d,
+			0xba, 0x7f, 0x88, 0x0f, 0xf5, 0x99, 0x9f, 0xde,
+			0xc3, 0x41, 0x5d, 0x1e, 0xc3, 0xf9, 0x54, 0x12,
+			0x3b, 0x3e, 0x84, 0x52, 0xe4, 0x79, 0x6c, 0x2a,
+			0x8c, 0x99, 0xa9, 0x05, 0x0d, 0xad, 0x96, 0xec,
+			0xe1, 0xea, 0x5e, 0xa6, 0x9e, 0xeb, 0x6d, 0x5e,
+			0xaa, 0x3b, 0x58, 0x20, 0xf1, 0xa7, 0x1a, 0x90,
+			0x4d, 0x06, 0x63, 0x1c, 0x07, 0xd0, 0x64, 0xef,
+			0xdb, 0x0e, 0x58, 0x60, 0x15, 0xab, 0x99, 0x9b,
+			0xd8, 0xc4, 0xf0, 0xfc, 0x18, 0xcb, 0x21, 0xc4,
+			0x4c, 0x97, 0xf8, 0xbf, 0x34, 0xed, 0x53, 0x62,
+			0x4f, 0xb9, 0xc2, 0xc1, 0x3e, 0x5d, 0x2a, 0x29,
+			0x86, 0xde, 0x8f, 0xe8, 0x72, 0xc9, 0xf1, 0xc2,
+			0xec, 0x1f, 0x24, 0xf9, 0xf4, 0xef, 0x64, 0xae,
+			0x6c, 0x6d, 0x34, 0x8c, 0x84, 0xb7, 0x85, 0xa0,
+			0x6a, 0x7a, 0x14, 0x07, 0xb0, 0x27, 0x9f, 0x68,
+			0xc9, 0x31, 0x97, 0xbe, 0xb9, 0x97, 0x28, 0x5a,
+			0x82, 0x4c, 0xe9, 0x1a, 0x3a, 0x1e, 0xe9, 0x46,
+			0x06, 0x33, 0x78, 0xc2, 0x91, 0xc2, 0x1f, 0x1d,
+			0x10, 0x7e, 0x33, 0x30, 0x31, 0xc4, 0x5f, 0xab,
+			0x40, 0xf0, 0x6a, 0x6c, 0x94, 0xc5, 0x4d, 0x82,
+			0x57, 0xe7, 0x13, 0x43, 0x7d, 0x6b, 0xb5, 0xe4,
+			0x4f, 0xa2, 0xa4, 0x0a, 0x1e, 0xee, 0x86, 0xe5,
+			0x5c, 0x5f, 0x49, 0xba, 0x0c, 0xd8, 0x5d, 0x9d,
+			0xed, 0xba, 0x74, 0xe6, 0x01, 0xb9, 0xed, 0xb8,
+			0x67, 0xdc, 0x88, 0x3d, 0xf0, 0xe0, 0x84, 0xb0,
+			0x89, 0xaa, 0x6d, 0xe3, 0x7d, 0x6d, 0xf2, 0x6d,
+			0xa3, 0x2d, 0x08, 0xf1, 0xb9, 0x18, 0x3b, 0xfa,
+			0x61, 0x09, 0x85, 0xfa, 0x1d, 0x6f, 0x8f, 0x5c,
+			0x08, 0xfe, 0xa9, 0x50, 0x70, 0x26, 0x0f, 0xc1,
+			0xf6, 0x2e, 0x82, 0x5a, 0x15, 0x86, 0xdb, 0xe8,
+			0xd1, 0xe5, 0xa2, 0x59, 0x94, 0x86, 0xe8, 0x48,
+			0x3a, 0x74, 0x72, 0x92, 0xc2, 0xa1, 0x1e, 0x7a,
+			0x3f, 0xc3, 0xc5, 0x89, 0xd9, 0x9a, 0x90, 0x42,
+			0x6d, 0x8e, 0x07, 0x63, 0x34, 0x63, 0x2b, 0xe8,
+			0xc8, 0xca, 0xb1, 0xca, 0xa8, 0x77, 0x9b, 0xbd,
+			0x6b, 0xa6, 0xc7, 0x66, 0x25, 0x36, 0x84, 0x15,
+			0x11, 0x39, 0x3c, 0x27, 0xdc, 0x30, 0xfe, 0xcb,
+			0x12, 0x46, 0xdf, 0xee, 0x78, 0xf5, 0xd9, 0x53,
+			0xf8, 0x19, 0x4d, 0x8c, 0xb3, 0xe4, 0x97, 0xc9,
+			0x99, 0xe2, 0xbb, 0xa6, 0xa4, 0x86, 0x66, 0xc9,
+			0x40, 0xf4, 0x36, 0xd6, 0x2a, 0xaf, 0x01, 0xe4,
+			0x35, 0x3b, 0x89, 0x2a, 0xbb, 0x41, 0x06, 0x79,
+			0xd0, 0x84, 0xbf, 0xd3, 0x30, 0x31, 0x20, 0x8d,
+			0xb2, 0xab, 0xe2, 0x46, 0x41, 0x3b, 0xd2, 0x94,
+			0x58, 0xa4, 0x45, 0xa3, 0x5f, 0xaa, 0xb8, 0x86,
+			0xf5, 0x14, 0xf5, 0x3d, 0xb3, 0x44, 0xec, 0xe1,
+			0xa7, 0xf8, 0x69, 0x10, 0x3a, 0xc0, 0x5e, 0xbf,
+			0xf3, 0xf3, 0x65, 0x34, 0x41, 0x3e, 0x03, 0x80,
+			0xbd, 0x2d, 0x70, 0xe5, 0x25, 0x40, 0x01, 0x2b,
+			0x8b, 0x07, 0x98, 0xb6, 0x0d, 0xa5, 0x2f, 0x2c,
+			0xc5, 0x77, 0x62, 0x7b, 0x89, 0x4f, 0xfb, 0x8e,
+			0x8e, 0x62, 0xb7, 0x80, 0xfe, 0x8c, 0x43, 0x95,
+			0x56, 0x5f, 0x5c, 0x4b, 0x6c, 0x4c, 0x61, 0x9b,
+			0x8b, 0xa3, 0xd0, 0xd6, 0xef, 0x0d, 0x1b, 0x2c,
+			0x65, 0x86, 0x8e, 0x99, 0xd7, 0xdc, 0xfd, 0x24,
+			0x5f, 0x66, 0x6a, 0xb6, 0xc6, 0xe4, 0x24, 0x34,
+			0x46, 0x4f, 0xa0, 0xb5, 0xdf, 0x08, 0x33, 0x37,
+			0x73, 0xa4, 0xa7, 0xb3, 0x0a, 0x23, 0x27, 0x39,
+			0x49, 0x4d, 0x72, 0xd6, 0xdc, 0x60, 0x63, 0x89,
+			0xb0, 0xb2, 0xce, 0xdc, 0x11, 0x5c, 0x72, 0x82,
+			0x9a, 0x9d, 0xcc, 0xe5, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x05, 0x0f, 0x16, 0x1d, 0x24,
+			0x2d, 0x34, 0x3c, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0x32, 0x34, 0xe3, 0x52, 0x81, 0xc5, 0x69, 0x1b,
+			0x0f, 0xb2, 0xb2, 0x44, 0x0b, 0xeb, 0x56, 0xcd,
+			0x74, 0x0e, 0xb7, 0x30, 0x81, 0x42, 0xa3, 0x78,
+			0x6c, 0x57, 0x88, 0x93, 0xc3, 0x48, 0xf3, 0x95,
+			0x61, 0x20, 0xc7, 0x7c, 0xd3, 0xfa, 0x9f, 0x7a,
+			0x8b, 0x2c, 0x64, 0xaf, 0x2b, 0x1c, 0xda, 0xb4,
+			0x34, 0x33, 0xd9, 0x8e, 0x1c, 0xdb, 0x82, 0xfd,
+			0x58, 0xd5, 0x76, 0xf3, 0x74, 0x0b, 0x81, 0x12,
+			0xab, 0x15, 0x08, 0xe3, 0x14, 0x75, 0xff, 0x38,
+			0x1e, 0x6c, 0x1f, 0x2c, 0x8c, 0x20, 0x57, 0xf7,
+			0xc5, 0x73, 0x85, 0x9c, 0x54, 0x7e, 0x8f, 0x64,
+			0x82, 0xf7, 0x53, 0x26, 0x1a, 0xad, 0x1a, 0xc2,
+			0x04, 0x25, 0x67, 0xae, 0x7c, 0x26, 0x0f, 0xf9,
+			0xe0, 0xb4, 0x0c, 0x7c, 0x91, 0xf5, 0x5f, 0x17,
+			0xfc, 0xdc, 0xb9, 0x6c, 0x52, 0x52, 0x6d, 0xb7,
+			0x78, 0xf8, 0xa1, 0x0d, 0x35, 0xe9, 0x71, 0xa1,
+			0xad, 0x4a, 0xa3, 0x0d, 0x41, 0xaf, 0x2e, 0x82,
+			0xf6, 0x24, 0xaf, 0x46, 0x77, 0xa5, 0x05, 0xd3,
+			0xc3, 0xf0, 0xb9, 0xc7, 0x0c, 0x42, 0x42, 0xa2,
+			0x5f, 0x2b, 0x93, 0xc9, 0xce, 0x05, 0x2c, 0x83,
+			0xd4, 0x1a, 0xf0, 0x3b, 0x72, 0x84, 0xcc, 0xff,
+			0x6a, 0x39, 0xdb, 0xb4, 0xdf, 0xc0, 0x6c, 0xba,
+			0x42, 0x55, 0x7f, 0x2d, 0x09, 0x65, 0x4a, 0x65,
+			0x7a, 0xa3, 0xbc, 0xdc, 0x2f, 0x69, 0x06, 0x76,
+			0x4e, 0xe0, 0x08, 0x56, 0xb1, 0x2c, 0x46, 0x71,
+			0xb1, 0xc2, 0x94, 0x76, 0xcb, 0x27, 0xd1, 0x5a,
+			0x32, 0x1b, 0x1a, 0xd0, 0x54, 0xac, 0xa9, 0x73,
+			0xd3, 0x95, 0x4b, 0xe0, 0x1b, 0x3a, 0x48, 0xd9,
+			0x90, 0x6f, 0x6d, 0x82, 0x95, 0x7c, 0xf1, 0x8f,
+			0xec, 0x67, 0xbc, 0x72, 0x91, 0x93, 0x52, 0xdb,
+			0x48, 0x34, 0x16, 0x57, 0xb2, 0x7d, 0x5b, 0x56,
+			0xce, 0x33, 0x97, 0x47, 0xd4, 0xee, 0x97, 0x0b,
+			0x39, 0xd4, 0xf0, 0x0b, 0x29, 0x74, 0x29, 0xab,
+			0x66, 0xb6, 0x0d, 0xe5, 0x0f, 0xed, 0xfa, 0x8d,
+			0x4d, 0xe4, 0x93, 0x40, 0xf3, 0x51, 0x14, 0x78,
+			0x40, 0x25, 0x09, 0x6f, 0xdb, 0xea, 0xa8, 0x94,
+			0x45, 0xaa, 0xbc, 0x09, 0xea, 0x92, 0xcd, 0x90,
+			0xc2, 0xe5, 0xa8, 0x66, 0xba, 0x8f, 0x49, 0x18,
+			0xa4, 0x7c, 0xc2, 0xc6, 0xa4, 0xb4, 0xed, 0xcd,
+			0xb0, 0x87, 0xa2, 0xc7, 0x41, 0xac, 0xd1, 0xdc,
+			0x83, 0x12, 0xde, 0x71, 0x81, 0x65, 0x4c, 0x2f,
+			0xad, 0xca, 0xb4, 0x68, 0x47, 0x64, 0xa2, 0x7e,
+			0x8c, 0xee, 0xfe, 0x4a, 0xca, 0xb0, 0x05, 0xf3,
+			0x21, 0xb8, 0xca, 0x4a, 0x76, 0x6b, 0x73, 0x8d,
+			0xed, 0x53, 0x02, 0x6d, 0x79, 0x42, 0x15, 0xed,
+			0xb7, 0xb9, 0xff, 0x18, 0x2b, 0x53, 0x0d, 0xf4,
+			0x29, 0x35, 0xe3, 0x5e, 0xc2, 0x49, 0x1c, 0x71,
+			0x3d, 0x80, 0xa0, 0x56, 0x59, 0x19, 0xe4, 0x44,
+			0x67, 0x10, 0x00, 0x22, 0xb2, 0x9b, 0x7a, 0xfa,
+			0xbd, 0x0a, 0xdf, 0xe1, 0x7d, 0x57, 0xdf, 0xac,
+			0x3f, 0xcc, 0xb3, 0x85, 0xd9, 0x63, 0xbc, 0xd8,
+			0xd0, 0xa9, 0x5b, 0xd3, 0xd3, 0x82, 0x72, 0x21,
+			0x5c, 0x7f, 0xe2, 0xba, 0x1e, 0x54, 0x99, 0x3a,
+			0x29, 0x9e, 0x66, 0x9c, 0x3d, 0xb0, 0xb2, 0xec,
+			0x85, 0xee, 0x9d, 0xbb, 0x81, 0xb8, 0xb7, 0x52,
+			0x10, 0xb0, 0xa0, 0x18, 0x28, 0xd0, 0x83, 0x34,
+			0x8c, 0xbe, 0x3e, 0x69, 0xfb, 0xad, 0x5c, 0x53,
+			0xd9, 0x67, 0x60, 0x2a, 0x49, 0x2d, 0x68, 0xe7,
+			0x0b, 0x37, 0xdd, 0xb5, 0xa0, 0xa0, 0x32, 0x6e,
+			0xa2, 0x1e, 0x18, 0x19, 0x2c, 0x3c, 0x5d, 0x7e,
+			0x55, 0x7b, 0x03, 0x70, 0xeb, 0x70, 0x72, 0x16,
+			0x1b, 0x2f, 0x28, 0xe0, 0xc6, 0x4a, 0x4f, 0xea,
+			0x76, 0x20, 0x98, 0x09, 0x20, 0xf3, 0x01, 0x23,
+			0xcd, 0x96, 0x35, 0x33, 0xb6, 0x01, 0xa1, 0xd5,
+			0x2e, 0x5a, 0x96, 0x9c, 0xa0, 0xf2, 0x80, 0x76,
+			0x0a, 0x14, 0x53, 0xd9, 0xfc, 0x61, 0x4c, 0x48,
+			0xce, 0xfd, 0xa6, 0xf4, 0x3c, 0x2a, 0xef, 0x8e,
+			0x8c, 0xb4, 0xb3, 0xa2, 0x8e, 0x1a, 0x29, 0x32,
+			0xb2, 0xc3, 0x9e, 0x66, 0xa6, 0x2b, 0xa4, 0x2e,
+			0x1b, 0xf5, 0xb8, 0x89, 0xd4, 0x7e, 0x33, 0x46,
+			0xd0, 0x07, 0x29, 0x95, 0x19, 0xe2, 0x98, 0x49,
+			0x15, 0xca, 0x30, 0x62, 0x18, 0x37, 0xed, 0x40,
+			0xf8, 0xa3, 0xe0, 0x8b, 0xbb, 0xe2, 0x81, 0x28,
+			0xbf, 0xa4, 0xa5, 0xb8, 0x60, 0x29, 0x2a, 0xa6,
+			0x0d, 0x64, 0x36, 0x1b, 0xfa, 0x90, 0x8a, 0xe3,
+			0xae, 0x96, 0x4e, 0x89, 0xfc, 0x1f, 0x2a, 0x95,
+			0xef, 0xcd, 0x7c, 0xb2, 0xac, 0xe3, 0x03, 0x9f,
+			0x26, 0xc9, 0x55, 0xc4, 0x87, 0xfb, 0xb6, 0xc5,
+			0x71, 0xc3, 0x2a, 0xfd, 0x57, 0xd0, 0x92, 0x34,
+			0x9e, 0x49, 0x4b, 0xfe, 0x55, 0x08, 0xb8, 0xdc,
+			0x5c, 0xbf, 0xa4, 0x4e, 0xa0, 0xbe, 0xcf, 0xb1,
+			0x63, 0x7f, 0xfa, 0x85, 0xa3, 0xee, 0xb2, 0x6a,
+			0xeb, 0x76, 0x89, 0x67, 0x55, 0xf8, 0xe4, 0x44,
+			0xaf, 0xb4, 0xc1, 0x55, 0x74, 0x35, 0x8b, 0xe6,
+			0x86, 0xb8, 0xce, 0x24, 0xc7, 0xa4, 0xbe, 0x3d,
+			0x82, 0x4e, 0x1c, 0x08, 0xd3, 0xfd, 0x03, 0xc5,
+			0x98, 0xb9, 0xdf, 0x3e, 0x62, 0x23, 0xe2, 0x89,
+			0xbf, 0xa3, 0x28, 0x01, 0x7d, 0x16, 0x26, 0x1f,
+			0xe0, 0xc4, 0x2a, 0x0f, 0xd6, 0x6b, 0x76, 0xa1,
+			0xd3, 0x79, 0xc3, 0x5b, 0x9b, 0x2d, 0x24, 0x7b,
+			0xb2, 0x00, 0xf6, 0x91, 0xb0, 0x96, 0x1b, 0x92,
+			0x32, 0x75, 0x76, 0x59, 0xb3, 0xd1, 0x7d, 0x26,
+			0xde, 0xb8, 0x99, 0xfe, 0xa3, 0x6d, 0x96, 0x8c,
+			0xc1, 0x45, 0xcc, 0x89, 0x44, 0xa2, 0xb2, 0x19,
+			0xee, 0x26, 0xa0, 0x38, 0xf8, 0x28, 0xd2, 0x38,
+			0x79, 0x3b, 0xd1, 0xce, 0x56, 0x61, 0x7f, 0xa3,
+			0x77, 0x4a, 0xd3, 0x79, 0xeb, 0x8a, 0x9f, 0x06,
+			0x2a, 0x0e, 0xee, 0x59, 0xfb, 0x1e, 0xff, 0xfd,
+			0x77, 0x9c, 0x1c, 0xbb, 0xea, 0x7e, 0xe6, 0x16,
+			0xb5, 0x06, 0x79, 0x5f, 0xa4, 0xcf, 0xd2, 0x7e,
+			0xaf, 0x5a, 0x34, 0x2a, 0xb1, 0x56, 0xf6, 0x13,
+			0x67, 0x9e, 0x29, 0x0c, 0xa7, 0x80, 0xa9, 0x46,
+			0xaf, 0x3a, 0xc6, 0x58, 0x59, 0xb7, 0xf6, 0x17,
+			0x7f, 0x26, 0x8c, 0xa7, 0x07, 0x45, 0xbc, 0x72,
+			0xa7, 0xc6, 0x3f, 0x58, 0x5a, 0xde, 0xbe, 0xad,
+			0x7a, 0x43, 0x8b, 0x4b, 0x80, 0xd9, 0xbf, 0x97,
+			0xa8, 0x8f, 0xa2, 0x17, 0xba, 0x5a, 0x90, 0x64,
+			0xf8, 0xb8, 0x64, 0xd6, 0x43, 0x3d, 0x9f, 0x51,
+			0xb6, 0x7b, 0xdf, 0xc3, 0xee, 0x82, 0x36, 0x6f,
+			0xe6, 0xc5, 0x2a, 0x58, 0xae, 0xc7, 0x46, 0x0e,
+			0x0e, 0x9f, 0x41, 0x74, 0xc2, 0xcf, 0x1a, 0x45,
+			0x70, 0x45, 0x35, 0x9c, 0x33, 0x4e, 0x45, 0xb6,
+			0xc7, 0xc6, 0xbe, 0x01, 0xff, 0x54, 0x9c, 0xca,
+			0x49, 0x87, 0x6f, 0xbb, 0x8d, 0x92, 0xf0, 0x0c,
+			0xef, 0x63, 0x8d, 0x2b, 0xc0, 0xef, 0x95, 0xd7,
+			0xb1, 0x89, 0xd5, 0xb7, 0x8e, 0xeb, 0x95, 0xbb,
+			0x42, 0x97, 0xcf, 0xfe, 0x8e, 0xfa, 0x35, 0x55,
+			0x48, 0x44, 0xb1, 0x4d, 0xc9, 0x35, 0xc0, 0x50,
+			0x33, 0x41, 0xe0, 0x8a, 0x18, 0x31, 0x19, 0x51,
+			0x47, 0xbb, 0xc0, 0x82, 0x78, 0x5f, 0x62, 0xba,
+			0x89, 0x27, 0xa1, 0x01, 0xce, 0xa7, 0x65, 0x47,
+			0x7c, 0x90, 0xc3, 0xb6, 0x75, 0x06, 0x9e, 0x48,
+			0x56, 0xe5, 0x16, 0xad, 0x90, 0xe9, 0xea, 0xcc,
+			0xd5, 0xfb, 0xf2, 0x5b, 0x33, 0xa6, 0xc4, 0x4c,
+			0xa8, 0x1b, 0xd6, 0x39, 0x80, 0xec, 0x86, 0x71,
+			0x9f, 0x63, 0x8d, 0x15, 0x86, 0x7a, 0xd5, 0xe7,
+			0x78, 0xd3, 0x9b, 0xd0, 0x17, 0xc0, 0xa5, 0x85,
+			0xf8, 0x15, 0x47, 0x50, 0x4b, 0x4a, 0xf1, 0x3d,
+			0xf9, 0x07, 0x01, 0x1c, 0x58, 0x4c, 0x9b, 0x1c,
+			0x31, 0x4f, 0xe7, 0xda, 0x60, 0x68, 0x25, 0x29,
+			0x8c, 0x16, 0x82, 0xc5, 0x61, 0x9f, 0x4d, 0xf3,
+			0x17, 0xd0, 0x94, 0x40, 0x8d, 0xe2, 0xbc, 0xfb,
+			0xd8, 0xb5, 0xf3, 0x18, 0x5d, 0xee, 0x49, 0xff,
+			0x6d, 0x5e, 0x20, 0x9e, 0x42, 0xbb, 0x95, 0xb3,
+			0x24, 0x1b, 0xaa, 0x76, 0x9e, 0x8d, 0xf0, 0xea,
+			0xbc, 0x12, 0x6f, 0xf6, 0x9a, 0x85, 0x18, 0x49,
+			0xfd, 0x73, 0x48, 0x24, 0xe6, 0xfe, 0x00, 0xed,
+			0x63, 0x54, 0x35, 0xdd, 0x90, 0x91, 0x1b, 0x2f,
+			0x12, 0x87, 0x17, 0xd3, 0x18, 0x7a, 0xc0, 0x85,
+			0x17, 0x10, 0x76, 0xbc, 0x60, 0x26, 0x40, 0xae,
+			0xb0, 0xb4, 0x5a, 0x9e, 0x12, 0xb8, 0x1d, 0x19,
+			0x2c, 0x20, 0xd9, 0x52, 0x4b, 0x62, 0xf7, 0x9c,
+			0xd6, 0xfd, 0x71, 0xba, 0xc7, 0x48, 0xa6, 0x0e,
+			0x33, 0x16, 0x6c, 0x9e, 0x54, 0x3b, 0x97, 0xa4,
+			0x42, 0x20, 0xb4, 0x69, 0x37, 0x2b, 0x84, 0x49,
+			0xeb, 0xd7, 0xd9, 0xc1, 0x60, 0x2c, 0xdc, 0x2d,
+			0xa4, 0x24, 0xcc, 0xf8, 0x5e, 0x1b, 0xfb, 0x23,
+			0x21, 0x22, 0x2e, 0x92, 0x8d, 0x54, 0x93, 0x34,
+			0xd1, 0x25, 0x24, 0xb6, 0x4b, 0xfb, 0xd7, 0xf4,
+			0x54, 0x05, 0xab, 0xe8, 0x7e, 0xa3, 0x5b, 0x05,
+			0x0f, 0x55, 0x9e, 0xcf, 0x7e, 0x93, 0xbc, 0x85,
+			0x69, 0xf8, 0x8a, 0x85, 0x02, 0xdc, 0xa2, 0x25,
+			0x01, 0x54, 0xc2, 0xb5, 0xe2, 0x7f, 0xcd, 0xc3,
+			0x68, 0x68, 0x41, 0xc2, 0x3a, 0x5e, 0x47, 0xae,
+			0x74, 0x61, 0x43, 0x02, 0xf8, 0x6e, 0x66, 0x5c,
+			0x7f, 0x98, 0xb5, 0xb5, 0x75, 0xd5, 0x4a, 0x2e,
+			0x98, 0xb1, 0xb7, 0xeb, 0xa2, 0xa6, 0xe8, 0x34,
+			0xa1, 0xe5, 0x05, 0xe7, 0xf3, 0x62, 0x71, 0x4e,
+			0x38, 0xca, 0x60, 0x5b, 0xaa, 0x2e, 0x15, 0x2d,
+			0xff, 0x19, 0x43, 0xe7, 0xce, 0x1a, 0x5d, 0x7e,
+			0x9a, 0xa4, 0x01, 0xe3, 0x3d, 0x01, 0xcd, 0x3e,
+			0x17, 0x84, 0xe9, 0x80, 0x82, 0x7f, 0xc5, 0x3a,
+			0x05, 0x45, 0xfe, 0x19, 0xb0, 0x1e, 0x8b, 0xbb,
+			0xdb, 0xbf, 0x19, 0x38, 0xfa, 0x52, 0xd8, 0x2d,
+			0x6a, 0x23, 0x86, 0xe3, 0x0b, 0x28, 0x94, 0xc8,
+			0xa1, 0xcc, 0x49, 0xc2, 0x98, 0x2d, 0x56, 0x56,
+			0x0b, 0x0d, 0x3e, 0x6d, 0xdc, 0xb9, 0xfa, 0x8e,
+			0x56, 0xab, 0x01, 0x8d, 0x58, 0x3c, 0x4b, 0x04,
+			0x82, 0xb1, 0x97, 0xd0, 0x92, 0xfe, 0xb6, 0xc4,
+			0x5b, 0xe0, 0x37, 0x50, 0xc7, 0xac, 0xe2, 0xf4,
+			0xed, 0xf2, 0x05, 0x8c, 0x9d, 0x78, 0x4d, 0xf7,
+			0x9d, 0x59, 0xdb, 0xaa, 0x67, 0x9a, 0xd5, 0x48,
+			0x27, 0x41, 0x89, 0x5b, 0xea, 0x29, 0x26, 0x41,
+			0x76, 0xa8, 0x5f, 0x6d, 0x34, 0x04, 0xd2, 0x5f,
+			0xb9, 0xdc, 0x20, 0xee, 0x04, 0x82, 0x24, 0x7a,
+			0x09, 0x33, 0xf5, 0x02, 0x46, 0xa1, 0xc3, 0x58,
+			0xb5, 0xb6, 0x1b, 0x44, 0x21, 0x34, 0x12, 0x54,
+			0x23, 0xc6, 0x08, 0xa7, 0x54, 0xe4, 0x85, 0xed,
+			0xe5, 0x50, 0x25, 0x20, 0x19, 0xc4, 0x5a, 0x40,
+			0x9e, 0xde, 0x77, 0xd3, 0xe9, 0x1a, 0xe6, 0x7b,
+			0xfc, 0x94, 0x5c, 0x28, 0xb8, 0x40, 0x9f, 0x85,
+			0xa6, 0xa8, 0x18, 0x48, 0x75, 0x3f, 0x0c, 0x3e,
+			0x8a, 0x34, 0x8f, 0x7e, 0xc2, 0x74, 0x71, 0xc2,
+			0x30, 0x6c, 0x55, 0x3c, 0x11, 0xfc, 0x0c, 0xae,
+			0x30, 0x7f, 0xda, 0x71, 0x29, 0x66, 0xd6, 0x46,
+			0xed, 0x1c, 0xa1, 0xb0, 0x08, 0x63, 0xa4, 0xd4,
+			0xb2, 0xec, 0x16, 0xdb, 0xde, 0x22, 0x20, 0xeb,
+			0xe3, 0x8b, 0x7b, 0x2d, 0xac, 0x49, 0xec, 0x2a,
+			0x06, 0x39, 0xa7, 0xaf, 0x24, 0x8c, 0x58, 0x09,
+			0xe6, 0x58, 0x80, 0x3e, 0x8e, 0x2a, 0x0d, 0xbf,
+			0x9c, 0x51, 0x16, 0xe9, 0x95, 0x4a, 0x98, 0x68,
+			0x52, 0x16, 0xc2, 0x6f, 0x94, 0x2f, 0xdc, 0x3b,
+			0xc6, 0x7e, 0x90, 0x2c, 0xf6, 0x84, 0x10, 0x90,
+			0x9c, 0xe7, 0x31, 0x09, 0x8a, 0xe3, 0xad, 0x1f,
+			0x6d, 0x87, 0x74, 0x02, 0xce, 0x85, 0x47, 0x69,
+			0x3b, 0x33, 0x82, 0x51, 0x2a, 0xc8, 0xb4, 0x48,
+			0x22, 0x95, 0x77, 0xd1, 0x90, 0xa3, 0x80, 0xf4,
+			0x28, 0x74, 0xc1, 0x1d, 0x26, 0x7a, 0x79, 0xeb,
+			0x6d, 0x76, 0x64, 0x34, 0x6f, 0x90, 0xd9, 0xe5,
+			0xd0, 0xa8, 0xd9, 0x3d, 0x2a, 0x23, 0x6b, 0x9c,
+			0x58, 0x49, 0xef, 0xa2, 0x61, 0xdd, 0xcd, 0x5c,
+			0xbf, 0xef, 0x38, 0x3e, 0xa0, 0x2b, 0xe9, 0x71,
+			0x89, 0xd7, 0xfc, 0xa1, 0x0b, 0x70, 0x68, 0xda,
+			0xe5, 0x32, 0x30, 0x51, 0x65, 0xe0, 0x13, 0xd7,
+			0x4f, 0xf0, 0xca, 0xa1, 0x0c, 0x49, 0xaf, 0xde,
+			0x70, 0x52, 0xdc, 0x72, 0x7c, 0x29, 0x6d, 0x1c,
+			0x28, 0x3e, 0x5a, 0x75, 0xec, 0xea, 0xfb, 0x97,
+			0xcb, 0x81, 0xf2, 0x74, 0xd7, 0xe0, 0xc2, 0x8f,
+			0x74, 0x6c, 0x06, 0x65, 0x12, 0x69, 0x3c, 0x26,
+			0xbf, 0x37, 0x4c, 0xd8, 0xb2, 0x39, 0x1c, 0x1a,
+			0x26, 0x27, 0x63, 0xa9, 0x70, 0x45, 0x65, 0x03,
+			0x0a, 0x97, 0x75, 0xad, 0x37, 0xc1, 0x0a, 0xb3,
+			0x16, 0x35, 0x15, 0x81, 0xc3, 0x3f, 0xa5, 0xcd,
+			0x31, 0x27, 0x67, 0x95, 0xb2, 0x78, 0x0c, 0x91,
+			0x12, 0x1a, 0x54, 0xfe, 0x14, 0xac, 0xc9, 0x54,
+			0x04, 0x51, 0xa2, 0x3d, 0x0f, 0xb5, 0x2c, 0xab,
+			0x07, 0x72, 0x01, 0x17, 0xef, 0x5c, 0xe7, 0x05,
+			0x05, 0x08, 0x10, 0xa7, 0xf5, 0x30, 0x7c, 0x3e,
+			0xd5, 0x5d, 0xf2, 0xbd, 0x10, 0x58, 0xd1, 0x26,
+			0x12, 0x04, 0xd1, 0x91, 0x5c, 0x49, 0x90, 0x6f,
+			0xb9, 0x1e, 0x57, 0xf8, 0x58, 0x74, 0x3c, 0xe9,
+			0x6f, 0x92, 0x84, 0x95, 0x2f, 0x23, 0xce, 0x63,
+			0x9c, 0x80, 0xf3, 0x6e, 0xc7, 0xc5, 0x0f, 0xcc,
+			0x76, 0xbf, 0x46, 0xf2, 0x0e, 0xe6, 0xc8, 0x22,
+			0x44, 0x6e, 0xbe, 0x74, 0xd5, 0x12, 0x1b, 0x27,
+			0x55, 0xa4, 0x15, 0x4f, 0x14, 0x46, 0xec, 0xed,
+			0x81, 0x60, 0x19, 0x37, 0xa3, 0x38, 0x72, 0x97,
+			0x5e, 0xcd, 0xe6, 0x6f, 0x70, 0x05, 0x67, 0x46,
+			0x7b, 0xd9, 0x95, 0xc7, 0xe4, 0x1c, 0xa2, 0x81,
+			0x1a, 0x1c, 0x07, 0x6a, 0x3e, 0xfd, 0xe0, 0xd8,
+			0x4d, 0xac, 0xe5, 0x1d, 0xca, 0xd9, 0xca, 0x02,
+			0x64, 0x2b, 0xe5, 0xbe, 0x80, 0x84, 0x72, 0x3a,
+			0x67, 0x0d, 0xd1, 0x70, 0xda, 0xda, 0x4d, 0x40,
+			0xfb, 0x2a, 0x91, 0x5e, 0x7f, 0x87, 0xb8, 0x5d,
+			0xf0, 0x90, 0x9b, 0x86, 0x44, 0x72, 0xfc, 0xb6,
+			0x91, 0x32, 0xcc, 0xe1, 0xbb, 0x17, 0x55, 0xda,
+			0x9f, 0x39, 0x3f, 0x38, 0x44, 0xb7, 0x8c, 0x08,
+			0x86, 0x17, 0xbb, 0xc3, 0xe6, 0x46, 0x1e, 0xe1,
+			0xbd, 0xfd, 0x15, 0xec, 0x4e, 0x16, 0x76, 0xbb,
+			0xed, 0xe0, 0xf2, 0xfe, 0x72, 0xbe, 0xac, 0x05,
+			0xcb, 0x31, 0x3e, 0xb2, 0x97, 0x72, 0xcb, 0x92,
+			0x66, 0x93, 0xc0, 0x91, 0xb0, 0xfa, 0x37, 0x04,
+			0xad, 0x6f, 0x25, 0xe1, 0x70, 0x6d, 0xd3, 0x3d,
+			0x8b, 0xe8, 0xdd, 0x73, 0xd1, 0xb1, 0x67, 0xa9,
+			0x5b, 0x4c, 0xad, 0x71, 0xc5, 0x27, 0x87, 0x01,
+			0x76, 0x9f, 0x4f, 0x9e, 0x56, 0xf0, 0xf0, 0xe4,
+			0xe9, 0x63, 0x08, 0x52, 0xc1, 0x89, 0xbb, 0xb4,
+			0x77, 0x86, 0xa5, 0xf3, 0xc1, 0x3e, 0xd4, 0x3c,
+			0x0f, 0x32, 0x3e, 0x83, 0xed, 0x36, 0x7a, 0x9a,
+			0x83, 0x6c, 0x30, 0x42, 0x23, 0xdd, 0xd9, 0xd2,
+			0xe1, 0x02, 0x44, 0x5c, 0x78, 0x70, 0x35, 0x22,
+			0x3b, 0x8d, 0x05, 0xe8, 0xba, 0x1f, 0x68, 0xa3,
+			0x12, 0x25, 0xe2, 0xc2, 0x71, 0xdc, 0xb9, 0x66,
+			0x28, 0x58, 0x4d, 0x3d, 0x89, 0x69, 0x12, 0xca,
+			0xb2, 0x13, 0x9d, 0x8c, 0x84, 0x91, 0x61, 0x67,
+			0x78, 0xb1, 0xc2, 0x29, 0xe4, 0x66, 0x11, 0xb1,
+			0xf5, 0xb2, 0x02, 0xf2, 0x2a, 0x2b, 0x22, 0xc5,
+			0x63, 0x09, 0x6e, 0xfe, 0x16, 0x3c, 0x9e, 0x99,
+			0xa6, 0x9d, 0xc0, 0x4d, 0x2d, 0x37, 0x6e, 0x04,
+			0x74, 0x3f, 0x21, 0xdb, 0xa9, 0xf9, 0xef, 0x41,
+			0x31, 0x54, 0x94, 0xf9, 0x99, 0xaa, 0x03, 0xa3,
+			0x97, 0xfd, 0x5d, 0xa4, 0xf8, 0xd8, 0xc0, 0x99,
+			0xca, 0xd9, 0x33, 0x32, 0x96, 0x5a, 0x89, 0x27,
+			0xc7, 0x5d, 0x37, 0xe2, 0xd0, 0x5f, 0x2f, 0x06,
+			0xd8, 0x41, 0x84, 0x4e, 0xdc, 0xef, 0x92, 0x62,
+			0x7a, 0xe5, 0x7b, 0x12, 0x75, 0x81, 0xde, 0x95,
+			0x53, 0xca, 0x5b, 0xd0, 0x97, 0x25, 0x5c, 0x2c,
+			0xc7, 0xdc, 0xf6, 0x82, 0x2c, 0x6f, 0x5e, 0xef,
+			0x61, 0x2a, 0x35, 0x1b, 0xb8, 0xb5, 0x23, 0x63,
+			0xd5, 0x05, 0xe2, 0x76, 0x1a, 0xe6, 0xbb, 0xd6,
+			0x92, 0x60, 0x2b, 0x3f, 0x93, 0x92, 0x21, 0xa8,
+			0x4a, 0xe5, 0x6b, 0x6d, 0xcc, 0x80, 0x6a, 0x97,
+			0xf3, 0x32, 0xd1, 0xa3, 0xa4, 0x62, 0x62, 0xcb,
+			0xff, 0x89, 0x1c, 0xdc, 0x3d, 0xb3, 0xdd, 0x48,
+			0x3b, 0xcb, 0x4e, 0xb5, 0x29, 0xfd, 0xe7, 0x08,
+			0xe6, 0xf2, 0xdd, 0x57, 0x9e, 0xc0, 0x0b, 0x92,
+			0xbd, 0x90, 0x43, 0xd4, 0x0c, 0x6d, 0xac, 0x2a,
+			0xcc, 0xab, 0x1d, 0x84, 0x03, 0x1b, 0xe6, 0xf2,
+			0x45, 0x6b, 0x22, 0x6c, 0x9a, 0xf6, 0xdf, 0x53,
+			0x1b, 0x77, 0x12, 0x27, 0xd5, 0x90, 0x76, 0xfd,
+			0x7e, 0x1e, 0x8f, 0x27, 0x94, 0x18, 0xc1, 0x16,
+			0x62, 0x9b, 0xda, 0xd6, 0x71, 0x98, 0x47, 0xe3,
+			0x70, 0xb0, 0xf9, 0x60, 0x3d, 0x58, 0x6f, 0x78,
+			0x75, 0xb5, 0xb0, 0xf9, 0x92, 0x1f, 0x05, 0x65,
+			0x0e, 0x52, 0xe7, 0x5d, 0x39, 0x58, 0x89, 0x08,
+			0x62, 0xe4, 0x5a, 0xe9, 0x93, 0xe4, 0xe4, 0xd0,
+			0xf8, 0x27, 0xc6, 0xe0, 0x96, 0x91, 0x2b, 0xc9,
+			0x67, 0x80, 0x38, 0x85, 0xc9, 0xcc, 0x1b, 0x70,
+			0x44, 0xdc, 0x96, 0xe0, 0x49, 0x41, 0xbf, 0x0e,
+			0x57, 0x76, 0x8f, 0xd7, 0x8d, 0x71, 0xcb, 0x6a,
+			0x1b, 0x92, 0xb3, 0xe7, 0x96, 0xf4, 0xf0, 0x0a,
+			0x0b, 0xe7, 0x9c, 0x16, 0x64, 0xfa, 0xe4, 0xce,
+			0x7a, 0xda, 0x1a, 0xc5, 0x6e, 0x81, 0xc0, 0x21,
+			0x4d, 0x5d, 0xae, 0x74, 0xe3, 0x1b, 0xa4, 0xd3,
+			0x1a, 0x12, 0x7e, 0x65, 0x1b, 0xe7, 0x92, 0xbe,
+			0x1a, 0xc3, 0xf8, 0xd3, 0x84, 0x92, 0xb2, 0x7e,
+			0x5d, 0x40, 0x10, 0xaf, 0x61, 0x60, 0x21, 0x1f,
+			0x54, 0x54, 0xe3, 0x76, 0xa0, 0xa8, 0xda, 0xaa,
+			0x0f, 0x29, 0xa7, 0xa9, 0x99, 0xa9, 0xb3, 0xd2,
+			0xd4, 0xd1, 0xef, 0x8a, 0x94, 0x1d, 0xc5, 0x61,
+			0x54, 0xa2, 0x94, 0xaf, 0xcb, 0xad, 0x4b, 0x23,
+			0x6c, 0xb6, 0x50, 0x33, 0xeb, 0xac, 0x6e, 0x58,
+			0xf1, 0xd4, 0xd3, 0x7a, 0x1f, 0x95, 0x00, 0x9d,
+			0x9c, 0xf6, 0x84, 0x71, 0xe3, 0xe5, 0xd3, 0x4d,
+			0x28, 0x3b, 0x2d, 0xcb, 0x2b, 0xc1, 0x90, 0xf5,
+			0xee, 0x02, 0x22, 0xa2, 0x8a, 0xf1, 0x3c, 0x17,
+			0xeb, 0x40, 0x67, 0xd3, 0x57, 0x62, 0x8b, 0x9b,
+			0xec, 0xc1, 0xeb, 0x96, 0x55, 0xde, 0xa7, 0x6c,
+			0xaf, 0xcb, 0x5f, 0xf3, 0xc3, 0x11, 0x49, 0xae,
+			0x09, 0x3f, 0x66, 0x75, 0xce, 0x3f, 0x0d, 0x95,
+			0xb6, 0x4b, 0xc2, 0xbb, 0x7d, 0x81, 0xea, 0x2a,
+			0x9e, 0x22, 0xac, 0x2f, 0xbd, 0xcf, 0x8b, 0x18,
+			0x82, 0xeb, 0x86, 0xfb, 0x5b, 0x9a, 0x28, 0x0e,
+			0x11, 0xc8, 0x3e, 0x55, 0xd6, 0x1f, 0xe1, 0xe0,
+			0x30, 0x70, 0x4c, 0x54, 0xbf, 0x35, 0xec, 0x2f,
+			0x89, 0x53, 0xab, 0x81, 0x10, 0x7a, 0x42, 0x12,
+			0x6f, 0x3a, 0xec, 0xf7, 0x6b, 0x92, 0x85, 0x01,
+			0xab, 0x97, 0x23, 0x4e, 0xa4, 0xfc, 0x41, 0x2b,
+			0x90, 0xbb, 0x16, 0x73, 0x81, 0xeb, 0xd4, 0xdc,
+			0x84, 0x7f, 0x8a, 0xd8, 0x1f, 0x8d, 0x40, 0xce,
+			0xc0, 0xb5, 0x69, 0x8d, 0x42, 0xed, 0xb7, 0x87,
+			0x84, 0x00, 0x8e, 0x8e, 0x60, 0x46, 0x0a, 0x9e,
+			0x3c, 0xf6, 0x6a, 0xc6, 0x3b, 0x7a, 0x48, 0x64,
+			0x83, 0x7b, 0x3f, 0x02, 0x6e, 0x54, 0xd3, 0xa7,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x2d, 0x76, 0xc8, 0x74, 0x90, 0x71, 0x73, 0x7c,
+			0xd5, 0xa0, 0x78, 0x8f, 0xe9, 0x97, 0x0e, 0x3a,
+			0xdc, 0x3f, 0x38, 0x40, 0x28, 0x39, 0xa2, 0xfe,
+			0xcc, 0xdc, 0x86, 0x77, 0xb5, 0x76, 0xb0, 0x5c,
+			0x25, 0xbd, 0x6d, 0xe1, 0x6d, 0x00, 0x47, 0x6a,
+			0x26, 0xb5, 0xda, 0x38, 0x75, 0x9e, 0xcf, 0xff,
+			0x97, 0x67, 0x36, 0x41, 0xda, 0x9b, 0xa8, 0x1c,
+			0xba, 0x15, 0xa6, 0x65, 0xba, 0x7a, 0x55, 0x73,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x7a, 0x5d, 0xe3, 0x9b, 0x46, 0x7c, 0x10, 0xd8,
+			0x40, 0x60, 0x48, 0x83, 0x19, 0x53, 0xcb, 0xcc,
+			0xff, 0xef, 0x34, 0x9d, 0xdb, 0x02, 0x5f, 0xa8,
+			0x8b, 0x3f, 0xac, 0x51, 0x14, 0x42, 0x9c, 0x3f,
+			0xef, 0xcd, 0x1d, 0x65, 0x34, 0x49, 0xd7, 0xce,
+			0x0f, 0x6a, 0x32, 0xb8, 0x8d, 0x39, 0x1e, 0x8c,
+			0x67, 0x56, 0xa7, 0xa4, 0x64, 0x4c, 0xcd, 0xb5,
+			0x77, 0xf8, 0x64, 0xa9, 0x08, 0x1d, 0xc8, 0x44,
+			0x0a, 0x0b, 0xb2, 0xcf, 0x5b, 0xac, 0x9d, 0xb7,
+			0x88, 0xb8, 0x91, 0x51, 0xb0, 0x91, 0xbd, 0xe1,
+			0x11, 0xc4, 0x7a, 0x02, 0xbf, 0x3b, 0x44, 0x21,
+			0x34, 0x6e, 0x45, 0x00, 0x2e, 0x09, 0x66, 0x04,
+			0xe4, 0x95, 0xc9, 0xe4, 0xee, 0xa8, 0x49, 0x92,
+			0x6a, 0x41, 0x6c, 0x55, 0x4f, 0x17, 0x09, 0x4c,
+			0x84, 0x19, 0xe9, 0xa2, 0xa6, 0x32, 0xb6, 0x1a,
+			0x28, 0x5c, 0x23, 0x93, 0x7f, 0x9a, 0xd0, 0x74,
+			0x47, 0xc4, 0x40, 0xe1, 0xd3, 0xb6, 0x4a, 0x0a,
+			0x39, 0x5a, 0x3d, 0xb1, 0xfe, 0x74, 0xf2, 0xc4,
+			0x4c, 0x42, 0x4f, 0xea, 0x73, 0x1f, 0xd9, 0x03,
+			0xf7, 0x2f, 0x04, 0x0e, 0x52, 0x50, 0x86, 0xc1,
+			0x77, 0x30, 0x8b, 0xdf, 0x94, 0x1c, 0x7d, 0x51,
+			0xdf, 0x3e, 0x46, 0xd4, 0xeb, 0x30, 0x5d, 0xe1,
+			0xea, 0x3a, 0x55, 0xeb, 0xfd, 0xe2, 0xab, 0x02,
+			0x92, 0x79, 0xe7, 0x1a, 0xc7, 0x74, 0xd8, 0x8e,
+			0xf3, 0x65, 0x5f, 0x19, 0x7d, 0x3d, 0x2b, 0xc0,
+			0x75, 0x15, 0x41, 0xe0, 0x6e, 0xf4, 0xe4, 0xea,
+			0xf8, 0xcf, 0x40, 0x51, 0xd4, 0x85, 0xc0, 0xcd,
+			0xe9, 0x2b, 0x12, 0x62, 0x02, 0xf4, 0xf2, 0xc5,
+			0xc4, 0xd2, 0x70, 0x13, 0xa8, 0xee, 0x69, 0x57,
+			0x0b, 0x17, 0x42, 0x99, 0xe9, 0x0f, 0xfa, 0x95,
+			0x2c, 0x32, 0x4e, 0x9e, 0xa4, 0x49, 0xc2, 0x9a,
+			0x19, 0x90, 0xba, 0x3d, 0x7a, 0xc0, 0x7c, 0xeb,
+			0x84, 0xe6, 0x45, 0x86, 0xf6, 0x37, 0x0b, 0xdd,
+			0x20, 0x8a, 0x8d, 0xc4, 0x59, 0x4e, 0x34, 0x91,
+			0x91, 0x39, 0xd1, 0x25, 0x89, 0x0e, 0x78, 0x81,
+			0x28, 0x3c, 0xf0, 0x67, 0x90, 0x30, 0xfe, 0x72,
+			0x53, 0x66, 0xce, 0xcd, 0x17, 0x62, 0xbf, 0x38,
+			0x1c, 0x9f, 0x7f, 0x74, 0x21, 0x94, 0x26, 0xb0,
+			0x2d, 0x20, 0xe3, 0x56, 0x36, 0xa8, 0x6c, 0x7c,
+			0xc3, 0x5d, 0xc1, 0x7d, 0xbd, 0xe1, 0x95, 0xdc,
+			0x7d, 0xc6, 0xf4, 0x93, 0xaf, 0xfc, 0x61, 0x2c,
+			0xcb, 0x4c, 0x10, 0x7f, 0x22, 0xfb, 0xcc, 0x05,
+			0x41, 0x00, 0x8c, 0xf6, 0xfc, 0x25, 0x62, 0xd5,
+			0xc8, 0xbc, 0x69, 0xfd, 0xef, 0xc6, 0x84, 0x89,
+			0x64, 0xcd, 0xa4, 0x5c, 0x5a, 0x7f, 0x0b, 0x55,
+			0xdf, 0x7e, 0x33, 0x14, 0x2f, 0x92, 0xe4, 0x49,
+			0x0c, 0x99, 0x07, 0xe2, 0x59, 0x28, 0xfc, 0x96,
+			0xa9, 0x5a, 0x06, 0xc0, 0xda, 0x18, 0xe8, 0x4b,
+			0x9a, 0x35, 0xbe, 0x36, 0xad, 0x00, 0x46, 0x0a,
+			0xe6, 0x75, 0xcf, 0x8c, 0x98, 0x08, 0x9b, 0x4b,
+			0x0f, 0x78, 0x1a, 0x19, 0x93, 0x8d, 0x72, 0x03,
+			0xe9, 0x21, 0xbe, 0x74, 0x32, 0xb8, 0xa2, 0x10,
+			0xa2, 0x86, 0xc3, 0xb4, 0xf3, 0x8b, 0xd9, 0x1e,
+			0x7b, 0x85, 0x9b, 0x7d, 0x6c, 0x9a, 0x68, 0x01,
+			0x0d, 0x26, 0xf1, 0x93, 0xcc, 0xdd, 0xae, 0xeb,
+			0x89, 0x56, 0x23, 0xcd, 0x05, 0x29, 0x43, 0xa2,
+			0x87, 0xa2, 0x72, 0x99, 0xef, 0xb6, 0x26, 0x2c,
+			0x99, 0x90, 0xb2, 0x89, 0xe8, 0x42, 0xfe, 0x16,
+			0x2d, 0x38, 0xb4, 0xe3, 0xef, 0x6f, 0x3c, 0xd9,
+			0x65, 0x32, 0xed, 0xbd, 0xca, 0x32, 0x82, 0x8a,
+			0xaa, 0x3a, 0x4f, 0xb3, 0xc5, 0xda, 0x82, 0x40,
+			0x51, 0x62, 0xdc, 0xfa, 0xa3, 0xd5, 0x21, 0x67,
+			0x7a, 0x6a, 0xda, 0x0e, 0xea, 0xe0, 0xdb, 0x68,
+			0x51, 0xbe, 0x9c, 0xd5, 0x3a, 0xec, 0xd1, 0xa9,
+			0x73, 0xa1, 0xc8, 0xbf, 0x05, 0x3b, 0xec, 0xe0,
+			0x41, 0xc1, 0x91, 0x8c, 0x3f, 0x31, 0xb5, 0x16,
+			0x68, 0x81, 0xad, 0xdf, 0x63, 0x9d, 0xb7, 0x2c,
+			0x8b, 0x5c, 0x66, 0x01, 0x53, 0x75, 0x4d, 0x90,
+			0xfb, 0x29, 0x17, 0x8e, 0xc5, 0x16, 0x84, 0x8f,
+			0x08, 0xfa, 0x9e, 0x4b, 0xfa, 0xb0, 0xa6, 0x1f,
+			0xd7, 0xa0, 0xf3, 0x7b, 0x9f, 0x26, 0x88, 0x75,
+			0x3a, 0x9a, 0xc8, 0xb7, 0x1c, 0xa1, 0x84, 0xad,
+			0xb4, 0xf4, 0xf2, 0x78, 0xa7, 0xda, 0xeb, 0x55,
+			0x5f, 0x89, 0x69, 0xa8, 0x3f, 0xbb, 0x93, 0x74,
+			0x72, 0xb8, 0x29, 0xc0, 0xb3, 0x4a, 0xb6, 0x06,
+			0x57, 0x79, 0xff, 0xd5, 0xe2, 0x89, 0x7e, 0xa2,
+			0xc2, 0x1a, 0xeb, 0x11, 0xb7, 0x86, 0x26, 0xd6,
+			0x20, 0xa4, 0xd8, 0x1b, 0x03, 0x7b, 0x5c, 0x4a,
+			0x4d, 0x60, 0x90, 0x19, 0x96, 0xa3, 0x64, 0x5f,
+			0x91, 0x6b, 0x03, 0xfb, 0x43, 0xd0, 0xa4, 0x51,
+			0xa2, 0x8a, 0xad, 0x55, 0x61, 0x23, 0xef, 0xe0,
+			0x87, 0xc0, 0xba, 0xe2, 0x3b, 0xdb, 0x11, 0x26,
+			0x94, 0x1f, 0x65, 0xf5, 0x20, 0x67, 0x36, 0xce,
+			0x5a, 0xee, 0x24, 0xad, 0xbe, 0xc0, 0x32, 0xa5,
+			0xa5, 0xf3, 0x92, 0x47, 0x55, 0xee, 0x67, 0xf8,
+			0x1a, 0x8a, 0xd6, 0x69, 0x50, 0x07, 0x96, 0x43,
+			0xcd, 0x01, 0x74, 0x78, 0x71, 0x40, 0xc4, 0x32,
+			0x89, 0x07, 0xe0, 0x16, 0x59, 0x11, 0x41, 0x4a,
+			0x60, 0x19, 0x89, 0xe4, 0xc8, 0x76, 0x02, 0xce,
+			0xd0, 0xa8, 0x26, 0xdd, 0xc1, 0xad, 0xb6, 0x13,
+			0xd1, 0x11, 0x30, 0x32, 0x93, 0xcd, 0xf8, 0xfe,
+			0xcb, 0x78, 0xcf, 0x4c, 0x58, 0xb8, 0x94, 0x22,
+			0xe1, 0x38, 0xa4, 0xb5, 0xbe, 0x78, 0x08, 0x9e,
+			0x15, 0x8a, 0xa9, 0x73, 0x15, 0x6d, 0x5d, 0x2f,
+			0xd0, 0x29, 0x28, 0xa1, 0x8f, 0xde, 0x86, 0x1b,
+			0xbb, 0xc2, 0xb1, 0x6f, 0xea, 0x7b, 0xb0, 0xa5,
+			0x8b, 0x91, 0xb6, 0xee, 0x77, 0xe1, 0xf2, 0x10,
+			0x18, 0xa0, 0x67, 0x88, 0x85, 0x97, 0xb9, 0x26,
+			0x44, 0xdc, 0x37, 0x9a, 0xda, 0xdf, 0xf0, 0x60,
+			0xda, 0x10, 0x7d, 0x03, 0x0d, 0xa1, 0x04, 0x3e,
+			0x2a, 0xd2, 0xaf, 0x46, 0xae, 0x24, 0x57, 0xff,
+			0x7f, 0x8b, 0xb0, 0xb3, 0xd2, 0xb6, 0xe1, 0x09,
+			0x24, 0xe0, 0x65, 0xbd, 0xcf, 0x08, 0x3e, 0xcc,
+			0x93, 0xd5, 0x00, 0x59, 0xf1, 0x71, 0x8d, 0x26,
+			0x10, 0xff, 0xa4, 0x64, 0x50, 0x7d, 0x8d, 0xcc,
+			0xc0, 0x14, 0x10, 0x38, 0x19, 0xe6, 0x3c, 0x5b,
+			0x86, 0xf9, 0xe5, 0xf5, 0x95, 0x56, 0x9b, 0xbb,
+			0x21, 0xbd, 0x61, 0x39, 0xbf, 0xa3, 0xe7, 0xea,
+			0xd7, 0x3d, 0x05, 0xe1, 0x89, 0xce, 0x8e, 0xb5,
+			0x49, 0x47, 0x6c, 0xc5, 0x34, 0x9d, 0x32, 0x9f,
+			0x1f, 0xba, 0x45, 0xef, 0xa1, 0xea, 0x55, 0xac,
+			0xfc, 0x21, 0x71, 0xcd, 0xb2, 0x20, 0x97, 0xfc,
+			0x8e, 0xa4, 0xc7, 0x0c, 0x92, 0x7c, 0x20, 0x0b,
+			0xab, 0xe2, 0xa9, 0xec, 0x30, 0x34, 0x73, 0xbc,
+			0x11, 0x9a, 0xbd, 0xf2, 0x55, 0x98, 0x84, 0xb4,
+			0xfb, 0x01, 0xc4, 0x27, 0xff, 0x40, 0xe5, 0x0c,
+			0x20, 0x46, 0x39, 0x8a, 0x08, 0x06, 0x79, 0x10,
+			0x0b, 0x8c, 0xf9, 0xda, 0x22, 0x56, 0xe4, 0xdb,
+			0x2e, 0xb1, 0x99, 0xae, 0x41, 0x96, 0x43, 0x74,
+			0x4f, 0xcf, 0xf3, 0xba, 0xaf, 0xca, 0xe8, 0xe9,
+			0xd0, 0xbc, 0x7e, 0x28, 0x73, 0x2c, 0xa9, 0x61,
+			0xcf, 0xb0, 0x57, 0xc4, 0x6c, 0x2a, 0xb3, 0xc8,
+			0x47, 0xba, 0x45, 0x14, 0x80, 0xf5, 0x91, 0xb8,
+			0xf5, 0xc8, 0x08, 0x0e, 0x6f, 0x3f, 0x7e, 0xa8,
+			0xc9, 0x60, 0xe2, 0xb0, 0x35, 0xbc, 0xa0, 0x75,
+			0xe7, 0x83, 0x04, 0xa0, 0xfa, 0x79, 0xdd, 0x5d,
+			0x39, 0xf9, 0x8d, 0x37, 0x92, 0x70, 0xa8, 0x87,
+			0xd0, 0xfb, 0x83, 0xa5, 0xaf, 0x4d, 0xa4, 0xcc,
+			0x86, 0xd4, 0xac, 0xfe, 0xae, 0xde, 0x22, 0x1c,
+			0x32, 0xb1, 0x97, 0x62, 0x78, 0x88, 0xd6, 0xbc,
+			0x88, 0x6d, 0x61, 0xda, 0xd5, 0xce, 0xb3, 0x98,
+			0xc4, 0x0f, 0xd3, 0x6e, 0x19, 0xdb, 0x45, 0xa2,
+			0x6d, 0x77, 0xb4, 0x17, 0x2c, 0x95, 0xd0, 0x49,
+			0x38, 0xa1, 0xef, 0xcb, 0x5d, 0x52, 0xc9, 0xcd,
+			0x22, 0xbe, 0x2b, 0x52, 0x9b, 0x25, 0x91, 0x2d,
+			0x24, 0xe4, 0xc6, 0x75, 0xc6, 0xd2, 0x76, 0x73,
+			0xf6, 0x73, 0xbe, 0x87, 0x35, 0x50, 0x7f, 0xeb,
+			0x11, 0x8e, 0x31, 0xb4, 0x9f, 0x00, 0xcb, 0x0b,
+			0x37, 0x77, 0xf7, 0xef, 0x7f, 0x28, 0x1a, 0x5c,
+			0x04, 0xc6, 0x4b, 0x35, 0x47, 0xb4, 0xa3, 0xf1,
+			0xde, 0x9b, 0x2a, 0x11, 0x76, 0xad, 0x1b, 0xa4,
+			0x59, 0xf3, 0xeb, 0x9a, 0xa6, 0xf5, 0xd4, 0x30,
+			0x17, 0x00, 0x44, 0xab, 0x3a, 0x99, 0x6b, 0x5a,
+			0x7a, 0x29, 0x5f, 0xce, 0x78, 0x49, 0x73, 0x7b,
+			0xf1, 0xbf, 0xcf, 0x69, 0xa4, 0x79, 0xa1, 0x45,
+			0x78, 0x95, 0xae, 0xe7, 0x6e, 0x71, 0xb9, 0x47,
+			0x51, 0xb0, 0xa0, 0xac, 0xc5, 0xeb, 0x17, 0x52,
+			0xbf, 0x6e, 0x94, 0xe1, 0x2b, 0x59, 0xca, 0x7d,
+			0xba, 0x40, 0xe2, 0xb0, 0x32, 0xeb, 0x3f, 0x31,
+			0x17, 0x39, 0x2c, 0x9c, 0xe7, 0xf7, 0xb3, 0xc1,
+			0x50, 0x0c, 0x1d, 0xa4, 0x2a, 0x00, 0xb1, 0x8d,
+			0x0c, 0x55, 0x68, 0xb3, 0xf5, 0x45, 0x38, 0x6b,
+			0x6b, 0x5f, 0xcc, 0xa2, 0x16, 0x8e, 0x41, 0xd6,
+			0xa7, 0xee, 0xaf, 0x4c, 0xea, 0x9c, 0x80, 0x46,
+			0x4b, 0x65, 0x06, 0xf4, 0x0b, 0x8e, 0xd1, 0x75,
+			0x3a, 0x7c, 0x4c, 0x1b, 0x3f, 0x65, 0xce, 0x61,
+			0xa8, 0xa3, 0x6e, 0xa8, 0x1d, 0xfe, 0x55, 0xc0,
+			0x96, 0x9d, 0x19, 0xcc, 0x5b, 0x6e, 0x01, 0x8b,
+			0xf7, 0xfe, 0x61, 0x73, 0x48, 0x9d, 0x1c, 0xf8,
+			0xc2, 0xd2, 0x0b, 0x18, 0xde, 0x6c, 0x2c, 0x87,
+			0x89, 0xd4, 0x4e, 0x37, 0x39, 0x67, 0x36, 0xe4,
+			0x23, 0x88, 0x49, 0x5a, 0x0f, 0x43, 0xc6, 0x8c,
+			0x60, 0x9f, 0xb6, 0x04, 0xa0, 0x2d, 0x31, 0xb4,
+			0x8d, 0xef, 0x4b, 0x5c, 0xc7, 0x2b, 0xf5, 0x8f,
+			0x47, 0xf1, 0x4f, 0x47, 0xff, 0x41, 0x06, 0xfa,
+			0x50, 0x4f, 0x7f, 0x1b, 0x87, 0xad, 0xed, 0x2a,
+			0xc5, 0x65, 0x0d, 0x53, 0x5f, 0xc2, 0x71, 0x95,
+			0xa5, 0xeb, 0x59, 0x6b, 0xef, 0xf9, 0x5d, 0x32,
+			0x4a, 0x09, 0xfa, 0x01, 0xaa, 0x3f, 0x70, 0x43,
+			0x1c, 0x16, 0x06, 0x01, 0x28, 0xa1, 0xfb, 0x82,
+			0xd8, 0x60, 0x79, 0xd2, 0x67, 0xd2, 0xcc, 0xd9,
+			0xce, 0xaf, 0x53, 0x45, 0xcd, 0x7d, 0x08, 0xf8,
+			0x22, 0x8e, 0x37, 0x4a, 0x4c, 0x12, 0xf2, 0xe2,
+			0x90, 0x2d, 0xe9, 0x27, 0x53, 0x44, 0x6d, 0x57,
+			0x2f, 0xd6, 0x19, 0x04, 0xe2, 0xe0, 0x3e, 0x23,
+			0x4a, 0xcf, 0x52, 0x1a, 0x9a, 0x0d, 0x7e, 0x62,
+			0xac, 0xd9, 0xee, 0xf2, 0x1d, 0x16, 0x59, 0x4d,
+			0x83, 0x7f, 0x44, 0x5e, 0x4e, 0x39, 0x63, 0x09,
+			0x10, 0xd4, 0xe2, 0xf3, 0x71, 0x54, 0xfd, 0xff,
+			0x2b, 0x82, 0x69, 0x6f, 0x1a, 0x7f, 0x63, 0xdd,
+			0x7f, 0x2a, 0xb6, 0x52, 0x42, 0xbb, 0x43, 0xef,
+			0xf5, 0x25, 0xf7, 0x96, 0xf6, 0x7b, 0x6c, 0x00,
+			0x1f, 0xda, 0xdc, 0x35, 0x1a, 0x44, 0x1b, 0xb5,
+			0xe5, 0x03, 0x97, 0x96, 0x67, 0x19, 0x13, 0x7a,
+			0xda, 0xd9, 0xc2, 0xe8, 0xec, 0xb1, 0xc6, 0x12,
+			0x88, 0xc5, 0x5c, 0xd7, 0x56, 0x76, 0xc2, 0x27,
+			0x0a, 0xf5, 0x94, 0x58, 0x0e, 0x70, 0xf1, 0x63,
+			0xbe, 0x13, 0xe1, 0x41, 0x17, 0xb4, 0x04, 0xe9,
+			0xad, 0x9a, 0x4c, 0x0b, 0x03, 0x1d, 0xe5, 0x7b,
+			0x5a, 0xaf, 0xc1, 0x15, 0x0a, 0xe1, 0x87, 0x2a,
+			0x0b, 0x1c, 0xd1, 0x44, 0x2e, 0x5a, 0x8b, 0x49,
+			0x47, 0xfc, 0xb2, 0x62, 0xd6, 0x16, 0xc8, 0xbf,
+			0x79, 0xab, 0x52, 0x2d, 0xbd, 0x52, 0x3c, 0xbd,
+			0x49, 0x95, 0x2a, 0xd8, 0x9d, 0x2d, 0xd4, 0x5d,
+			0x6b, 0xbb, 0x7e, 0x8e, 0xa0, 0x8f, 0x17, 0xf0,
+			0x48, 0xc7, 0xf3, 0x3a, 0x4e, 0x47, 0x7b, 0x5e,
+			0x1d, 0xb4, 0x45, 0xdd, 0x3c, 0x76, 0x71, 0x07,
+			0x99, 0x7c, 0xd0, 0xbc, 0x91, 0x8a, 0x18, 0x65,
+			0xec, 0xc2, 0x56, 0x65, 0x9b, 0x80, 0x7e, 0x65,
+			0xfc, 0xb2, 0xbb, 0xa3, 0xf3, 0xc2, 0xb1, 0x2a,
+			0xe5, 0x63, 0x7b, 0x15, 0xed, 0x20, 0x33, 0x61,
+			0xe2, 0x97, 0xdc, 0xb6, 0x53, 0x40, 0x11, 0x62,
+			0xf3, 0x17, 0x9a, 0xc9, 0x88, 0x1f, 0xf3, 0xd9,
+			0x3c, 0x9b, 0x66, 0xf5, 0x1c, 0x4a, 0x1e, 0xb5,
+			0x97, 0x14, 0x26, 0x2f, 0xf1, 0x13, 0x24, 0xb1,
+			0xb8, 0x1d, 0x2d, 0x04, 0xf5, 0x20, 0xbb, 0xb5,
+			0x4b, 0x39, 0x6d, 0x4d, 0xb2, 0xdd, 0x29, 0x82,
+			0x71, 0xce, 0x85, 0x20, 0x3c, 0xe3, 0x54, 0x71,
+			0x75, 0xd4, 0x7b, 0x90, 0xe7, 0x60, 0x1a, 0x3c,
+			0x6a, 0x6f, 0xe4, 0x67, 0xd8, 0xec, 0x7e, 0x56,
+			0x09, 0x79, 0x34, 0x1c, 0xd8, 0xf8, 0x76, 0xe2,
+			0xae, 0xef, 0x29, 0x4f, 0xcf, 0xb9, 0xf7, 0x0d,
+			0xd0, 0xd5, 0x89, 0xdd, 0x2c, 0x9a, 0xf0, 0x1a,
+			0xd0, 0x68, 0xc2, 0x31, 0x81, 0x1f, 0xed, 0xc7,
+			0x20, 0xd9, 0xa7, 0x2d, 0xbe, 0xd3, 0x77, 0xb0,
+			0x76, 0x55, 0x00, 0x0a, 0xbd, 0x0c, 0x19, 0x52,
+			0x80, 0x46, 0x5e, 0xec, 0x5f, 0x5b, 0xa5, 0x29,
+			0x5c, 0xaf, 0x41, 0xe3, 0xb8, 0x4e, 0xd3, 0x8d,
+			0xd2, 0xfb, 0x6a, 0xe7, 0xa3, 0x9c, 0xba, 0x41,
+			0xb4, 0x93, 0x90, 0x4d, 0x7d, 0x56, 0x1d, 0x50,
+			0x57, 0xa9, 0x28, 0xd9, 0xf2, 0x9f, 0x51, 0x3d,
+			0x44, 0xdd, 0x39, 0x39, 0x97, 0xd8, 0xc8, 0x52,
+			0xc6, 0xb7, 0xed, 0x50, 0x1e, 0x58, 0x22, 0x7d,
+			0x69, 0xcf, 0xb6, 0x61, 0xf4, 0xd5, 0x10, 0x61,
+			0xa8, 0x13, 0xdb, 0xd0, 0x7c, 0xc1, 0x7f, 0x3b,
+			0x7d, 0x80, 0x43, 0x37, 0x21, 0x44, 0x4a, 0xb7,
+			0x14, 0x63, 0xfa, 0x6a, 0x57, 0x7a, 0x55, 0xb1,
+			0x27, 0x7b, 0x6c, 0x66, 0x97, 0xc9, 0x7b, 0xdf,
+			0x4d, 0x32, 0x2b, 0x85, 0x57, 0x3d, 0x3b, 0x00,
+			0x38, 0xec, 0x8f, 0xba, 0xe3, 0xb6, 0xb9, 0x4c,
+			0x80, 0xc5, 0xe3, 0x8d, 0x73, 0x65, 0x5d, 0x74,
+			0x91, 0xe6, 0x6d, 0xf3, 0x4b, 0xd7, 0xc3, 0x34,
+			0x1b, 0x40, 0xd2, 0xc0, 0x10, 0x7d, 0x74, 0xf2,
+			0xa1, 0x8d, 0xb9, 0x74, 0x84, 0x9e, 0x10, 0xcc,
+			0x53, 0xc9, 0xca, 0x36, 0x9f, 0x4a, 0x86, 0xa8,
+			0xf3, 0x23, 0xea, 0xbe, 0x7c, 0x2a, 0x94, 0x3d,
+			0x2b, 0x35, 0xa2, 0x4c, 0xab, 0xf0, 0x5e, 0x78,
+			0x81, 0x60, 0x74, 0x5f, 0x51, 0xe3, 0x74, 0xe5,
+			0x92, 0xa0, 0x82, 0xbd, 0x92, 0x50, 0xc9, 0x20,
+			0x81, 0xeb, 0x6f, 0xdc, 0x49, 0x56, 0xb8, 0x87,
+			0x27, 0x2c, 0xd7, 0x4b, 0x1e, 0x31, 0x89, 0x85,
+			0x5d, 0x12, 0x9b, 0xcf, 0xf7, 0x7c, 0x51, 0x24,
+			0xce, 0x2d, 0x45, 0x61, 0xbb, 0x72, 0xcb, 0x3b,
+			0xc5, 0xf9, 0x90, 0x80, 0x51, 0x6b, 0x98, 0x09,
+			0xb2, 0x0c, 0xe9, 0x06, 0x64, 0x1f, 0x5d, 0xd9,
+			0x2c, 0xee, 0x35, 0xd5, 0x72, 0xe6, 0xca, 0xfe,
+			0x3d, 0xc6, 0x9a, 0x57, 0x45, 0x2e, 0x60, 0xc3,
+			0xfb, 0xb5, 0x4f, 0x45, 0x68, 0x35, 0x37, 0x5c,
+			0x8b, 0x4b, 0x73, 0x92, 0x1b, 0x14, 0x18, 0x6e,
+			0x51, 0x6b, 0x60, 0x6e, 0x66, 0x5e, 0x45, 0x61,
+			0xf9, 0x56, 0x2f, 0x12, 0xb1, 0x14, 0x0e, 0x42,
+			0xc9, 0xed, 0x53, 0x5c, 0x7c, 0x7a, 0x84, 0xb5,
+			0x6e, 0xff, 0xda, 0xc3, 0xc5, 0x1e, 0x32, 0x67,
+			0x1c, 0x40, 0xdc, 0xc4, 0x7b, 0x9e, 0xac, 0x82,
+			0xe3, 0x22, 0xcb, 0x62, 0x3b, 0xb2, 0x3f, 0xcc,
+			0xc7, 0x29, 0xa4, 0xcc, 0x59, 0x9b, 0xff, 0x74,
+			0x1c, 0x15, 0xd4, 0xd6, 0xc4, 0x8a, 0x4f, 0x04,
+			0xa6, 0xd8, 0x87, 0x6a, 0x37, 0x9c, 0x4f, 0x6d,
+			0xde, 0x39, 0x56, 0xa2, 0x00, 0x19, 0x10, 0x8d,
+			0x3b, 0xa6, 0x79, 0x7a, 0xa0, 0x1b, 0x68, 0x0e,
+			0xff, 0x22, 0x53, 0x48, 0x0a, 0xae, 0x97, 0x17,
+			0x40, 0x13, 0x2d, 0xe1, 0x2e, 0xba, 0x56, 0xd4,
+			0xd7, 0x13, 0xf7, 0x96, 0xdc, 0x29, 0x9a, 0x3b,
+			0x9f, 0x07, 0xf4, 0xe0, 0x4e, 0x9b, 0x1d, 0x6f,
+			0xf7, 0xfd, 0x3a, 0x30, 0xbe, 0xc5, 0x25, 0xb4,
+			0xbc, 0x54, 0xb4, 0x3e, 0xc9, 0x6b, 0xdc, 0x67,
+			0xa4, 0x47, 0xa7, 0xef, 0xad, 0xe7, 0x94, 0x43,
+			0x0e, 0x80, 0xd8, 0xab, 0xee, 0x76, 0x09, 0xc2,
+			0x28, 0x37, 0x63, 0x74, 0x5f, 0xf9, 0x97, 0x54,
+			0xcb, 0x78, 0xbb, 0x6c, 0xc5, 0xdc, 0x7d, 0x45,
+			0x08, 0x25, 0x24, 0xc3, 0xe7, 0x72, 0xc1, 0x6b,
+			0x3d, 0xe5, 0x0f, 0x5d, 0x08, 0x20, 0x7e, 0xa0,
+			0x53, 0x0b, 0x0d, 0x06, 0x0c, 0xed, 0x23, 0xbb,
+			0x39, 0x1a, 0x71, 0x2d, 0x4e, 0xbd, 0x6f, 0xb5,
+			0x44, 0x8d, 0x4b, 0x62, 0x82, 0x43, 0x42, 0x57,
+			0xd1, 0x98, 0x30, 0x16, 0x81, 0x5f, 0xa4, 0x07,
+			0x7e, 0x06, 0xc7, 0x51, 0xf6, 0xa4, 0x4a, 0x1c,
+			0x9d, 0xd7, 0x08, 0x43, 0xcd, 0x72, 0x07, 0xf9,
+			0xc6, 0x96, 0xde, 0x99, 0x6c, 0x9f, 0x0d, 0xb9,
+			0x7e, 0xc7, 0x30, 0x76, 0x26, 0xf7, 0x2c, 0xd9,
+			0x0e, 0xfd, 0xeb, 0x76, 0xea, 0x40, 0xfa, 0x10,
+			0x5f, 0x33, 0x19, 0x82, 0x8c, 0x1c, 0x8c, 0xf8,
+			0xc1, 0x81, 0x33, 0xba, 0xa5, 0x6b, 0xef, 0xb5,
+			0xbe, 0x70, 0xc3, 0x3a, 0xec, 0x7b, 0x7f, 0x44,
+			0xc1, 0x67, 0xf6, 0xd3, 0xa9, 0x6a, 0x7e, 0x52,
+			0x24, 0x9c, 0x9e, 0x80, 0xe1, 0xa9, 0x2f, 0x33,
+			0xfc, 0xd6, 0x1d, 0x20, 0xce, 0x0f, 0x9e, 0xe7,
+			0xdc, 0x10, 0xf7, 0x5c, 0x49, 0x43, 0x4a, 0x08,
+			0x49, 0x83, 0x57, 0x42, 0x4c, 0xce, 0x62, 0x0e,
+			0x66, 0xdd, 0x5d, 0x3f, 0xcb, 0xf6, 0x58, 0x62,
+			0xb9, 0x6c, 0xe3, 0xd3, 0xef, 0xaa, 0x79, 0x57,
+			0xe6, 0xcf, 0xdc, 0x5a, 0x12, 0x2d, 0xca, 0x15,
+			0xb7, 0xcd, 0x4b, 0x0e, 0x1f, 0xdd, 0x02, 0x8f,
+			0xfe, 0x25, 0xdd, 0xe1, 0xdc, 0xe3, 0x45, 0x88,
+			0x3f, 0x43, 0x36, 0x75, 0xaf, 0x2f, 0xed, 0x0a,
+			0x22, 0xc0, 0xfd, 0x1a, 0x06, 0x56, 0x26, 0xf7,
+			0x68, 0xd5, 0x12, 0x02, 0xea, 0xc5, 0x60, 0xef,
+			0x3f, 0x46, 0x8b, 0x3d, 0xb1, 0x40, 0x1d, 0xdc,
+			0xfd, 0x88, 0x83, 0x81, 0xec, 0xfd, 0xf5, 0x21,
+			0xa0, 0x1c, 0x53, 0xfc, 0x79, 0x1e, 0xc5, 0xbe,
+			0x6c, 0x18, 0x9d, 0x7e, 0x40, 0x9a, 0xeb, 0x1a,
+			0x04, 0x41, 0x5f, 0xd9, 0x63, 0xe8, 0x0c, 0x78,
+			0xda, 0xad, 0x0b, 0xbb, 0x91, 0x2f, 0x88, 0x04,
+			0xc3, 0xd5, 0x41, 0x5d, 0x2a, 0x36, 0x71, 0x66,
+			0x61, 0xa3, 0x05, 0xfb, 0xd2, 0xc3, 0x61, 0x05,
+			0x03, 0x64, 0xf0, 0xb8, 0xf2, 0x73, 0xc8, 0xde,
+			0x86, 0xca, 0xad, 0xa4, 0x8c, 0x2b, 0xf5, 0xd2,
+			0x3f, 0x84, 0x82, 0x07, 0xbc, 0x5d, 0x75, 0xb3,
+			0x37, 0xa3, 0x83, 0x99, 0x23, 0x61, 0x27, 0xbc,
+			0xa3, 0x5a, 0x22, 0x01, 0x14, 0x22, 0x88, 0x61,
+			0x7b, 0x42, 0x8f, 0x26, 0xb9, 0x99, 0xda, 0xdb,
+			0x9c, 0xec, 0x14, 0xe2, 0x96, 0x83, 0x66, 0xc7,
+			0xeb, 0x4b, 0xfb, 0xc2, 0x8a, 0x00, 0xf7, 0xac,
+			0x8c, 0x73, 0x1b, 0xc6, 0xd9, 0x6b, 0x6d, 0x37,
+			0x7a, 0x94, 0xf1, 0xeb, 0x1b, 0x52, 0x2e, 0xab,
+			0x8b, 0xfc, 0x77, 0x25, 0x8f, 0x21, 0x4a, 0x07,
+			0x7d, 0x99, 0xf4, 0x55, 0x22, 0xcc, 0x49, 0xdd,
+			0x26, 0x35, 0x15, 0xe7, 0x40, 0xac, 0xac, 0x8c,
+			0xd0, 0x58, 0x9d, 0xd4, 0x72, 0x10, 0x81, 0xc9,
+			0xc0, 0x46, 0x09, 0x2e, 0x12, 0xb9, 0x74, 0x1d,
+			0xa2, 0x80, 0xce, 0x9e, 0x04, 0x42, 0xf6, 0x55,
+			0xc1, 0xe9, 0xc5, 0xe4, 0x92, 0x56, 0xe0, 0xb8,
+			0x7d, 0x3d, 0x21, 0x39, 0x58, 0x05, 0x50, 0xfd,
+			0x54, 0xb8, 0x08, 0xe1, 0xc2, 0x32, 0xe2, 0x89,
+			0xee, 0x0e, 0x8a, 0x57, 0xb0, 0xe2, 0x29, 0x9f,
+			0x78, 0x0f, 0x56, 0x37, 0x5e, 0x34, 0x96, 0xdc,
+			0x6d, 0xde, 0xc0, 0xad, 0x27, 0xf9, 0xa2, 0x57,
+			0xec, 0xa9, 0x30, 0x9e, 0x8e, 0xf1, 0x5c, 0xc5,
+			0xfd, 0x20, 0x83, 0x28, 0x26, 0x2a, 0xbc, 0x22,
+			0x8d, 0x92, 0x65, 0xe2, 0xf7, 0x3d, 0x60, 0xe5,
+			0xeb, 0x44, 0x1c, 0xa0, 0xde, 0x04, 0x07, 0x19,
+			0x52, 0x60, 0xb1, 0x07, 0x34, 0x97, 0xec, 0x81,
+			0x25, 0x9f, 0x59, 0xe9, 0x67, 0x73, 0x5e, 0x40,
+			0xd3, 0xc9, 0x50, 0xa8, 0x6e, 0x2b, 0xff, 0x97,
+			0x40, 0x1d, 0xd0, 0x4b, 0xa4, 0x04, 0x39, 0x01,
+			0x13, 0xe3, 0x30, 0x85, 0x20, 0x0b, 0x76, 0xae,
+			0x40, 0x0f, 0x64, 0x0d, 0x60, 0xcc, 0x84, 0x8e,
+			0xf4, 0x86, 0xc3, 0x3d, 0x8f, 0x38, 0x94, 0xde,
+			0xfc, 0xfe, 0x58, 0xcd, 0x76, 0x67, 0x3d, 0xb0,
+			0xfb, 0x27, 0x4a, 0x1a, 0x8f, 0xe4, 0xad, 0xb7,
+			0x74, 0x81, 0x19, 0x98, 0x3d, 0xea, 0xe3, 0x63,
+			0x78, 0x44, 0xb9, 0x86, 0xcb, 0xe9, 0x79, 0xc6,
+			0x08, 0x55, 0xe4, 0xbf, 0xe7, 0xd3, 0xfb, 0x08,
+			0xd7, 0xfb, 0x96, 0x9a, 0x6b, 0xd1, 0xb4, 0xf3,
+			0x8a, 0xbb, 0xb4, 0xfd, 0x1b, 0x0f, 0x45, 0xf9,
+			0x40, 0xd8, 0x13, 0x68, 0xfa, 0xc4, 0x41, 0xb4,
+			0x3e, 0xe1, 0xbd, 0x7d, 0xfc, 0xa3, 0xb9, 0x7e,
+			0x79, 0x7f, 0x3b, 0x0c, 0xa6, 0x97, 0x80, 0x0b,
+			0x1d, 0x98, 0x80, 0x3f, 0xe4, 0x22, 0x3a, 0xf5,
+			0x48, 0x98, 0x93, 0x41, 0x75, 0x0e, 0x23, 0x11,
+			0xab, 0x39, 0x29, 0x11, 0xfc, 0x5a, 0x1f, 0xde,
+			0x1a, 0x61, 0xa7, 0xbc, 0x54, 0x9d, 0x02, 0xa3,
+			0xb8, 0xd9, 0xdd, 0xb0, 0x13, 0x0f, 0x45, 0x3e,
+			0x0b, 0x18, 0x1b, 0x2b, 0x4a, 0x8b, 0x25, 0x77,
+			0x8d, 0xdf, 0x9f, 0x41, 0xa7, 0xea, 0x09, 0xb4,
+			0x57, 0x11, 0xae, 0x36, 0x92, 0x13, 0x5a, 0xc1,
+			0x1a, 0xf2, 0xa4, 0x22, 0x6e, 0x02, 0x4b, 0xf9,
+			0xa5, 0xbe, 0xda, 0x56, 0x07, 0x4b, 0x5d, 0x39,
+			0xf1, 0x4e, 0xbc, 0xba, 0x03, 0x64, 0x6b, 0xa7,
+			0x51, 0x7e, 0x32, 0x05, 0xe8, 0x39, 0x0b, 0xfa,
+			0x7a, 0x7f, 0xb0, 0x51, 0xe7, 0x7c, 0xe0, 0xd9,
+			0x05, 0x36, 0x25, 0xef, 0xf2, 0xb7, 0x60, 0xec,
+			0x68, 0x25, 0xac, 0xd1, 0xb3, 0x0b, 0xc5, 0x9f,
+			0x73, 0xde, 0xb0, 0xb5, 0x03, 0x68, 0xfb, 0xd6,
+			0xc6, 0x41, 0xce, 0x9b, 0x8e, 0x41, 0x73, 0xa6,
+			0x72, 0x71, 0x5d, 0x15, 0xa6, 0x09, 0xbb, 0x78,
+			0xbd, 0x94, 0x52, 0x2e, 0x59, 0x46, 0x36, 0xbe,
+			0x58, 0x17, 0xa7, 0xbb, 0xbe, 0x95, 0xa4, 0xca,
+			0x25, 0x4f, 0x02, 0xed, 0x09, 0xc4, 0x5e, 0x0f,
+			0xf1, 0x64, 0xd1, 0x36, 0x7b, 0x5c, 0xd6, 0xe7,
+			0xc4, 0xcb, 0x62, 0x00, 0x67, 0xc7, 0x26, 0x4f,
+			0xf1, 0x85, 0x68, 0xef, 0xcc, 0xb3, 0xda, 0xc0,
+			0x70, 0xbf, 0xd6, 0x89, 0x24, 0x28, 0xbd, 0x52,
+			0xf7, 0x45, 0x68, 0xc6, 0x33, 0x5a, 0x35, 0x2c,
+			0xca, 0x3d, 0xac, 0xa3, 0x26, 0xb0, 0x5d, 0xf9,
+			0x15, 0x7b, 0xa7, 0xd4, 0xb6, 0xe4, 0xc9, 0x57,
+			0xdd, 0x04, 0x42, 0xd5, 0x61, 0x1b, 0xe8, 0x29,
+			0xd8, 0x36, 0xf3, 0x2c, 0x5b, 0x6e, 0xc5, 0x13,
+			0xf2, 0x39, 0x79, 0x01, 0x0f, 0xcf, 0x04, 0x4e,
+			0x62, 0x59, 0x40, 0xa9, 0x21, 0x37, 0xb9, 0x8d,
+			0x09, 0x17, 0x6e, 0x3f, 0x09, 0x03, 0xd5, 0x50,
+			0xb3, 0x14, 0x07, 0x1e, 0x38, 0x52, 0x42, 0xbd,
+			0x81, 0x8e, 0xf1, 0xe9, 0x43, 0xe3, 0xc9, 0xbf,
+			0x86, 0x1e, 0xac, 0xcb, 0xa0, 0xa1, 0x3c, 0x2f,
+			0x2b, 0xab, 0xe2, 0x95, 0x48, 0xfb, 0x62, 0xe0,
+			0x29, 0xae, 0x03, 0xaf, 0x67, 0x2e, 0x3c, 0xa8,
+			0xbf, 0xa2, 0xb7, 0x14, 0x79, 0x0d, 0x37, 0x7d,
+			0x0b, 0x95, 0x36, 0x98, 0x72, 0x12, 0x27, 0x60,
+			0xd8, 0x74, 0x66, 0xf2, 0x05, 0xe6, 0x32, 0x7c,
+			0x8c, 0x81, 0x7a, 0x15, 0x68, 0xf1, 0x46, 0x34,
+			0xcd, 0x3c, 0x46, 0x9c, 0xa9, 0x1b, 0x90, 0x17,
+			0xed, 0xd2, 0x2b, 0x85, 0xd9, 0xc4, 0x93, 0x0b,
+			0xa6, 0xb8, 0x60, 0x19, 0x84, 0x02, 0x13, 0xe2,
+			0x8f, 0x5e, 0xa7, 0x9c, 0x20, 0x90, 0x12, 0xda,
+			0xeb, 0x2c, 0xf7, 0x30, 0x29, 0x4b, 0xe6, 0x6d,
+			0xb0, 0xad, 0x9e, 0x1f, 0x92, 0xda, 0x2a, 0xa8,
+			0x3a, 0xa0, 0x10, 0xde, 0x63, 0x67, 0xb5, 0x08,
+			0xff, 0x70, 0xfc, 0xbb, 0x2b, 0x8c, 0x8a, 0xf6,
+			0xac, 0x53, 0x5e, 0xb5, 0x80, 0x23, 0x08, 0x37,
+			0x2b, 0x11, 0xb6, 0x19, 0xaa, 0xd4, 0x36, 0x12,
+			0xbc, 0xfa, 0x5d, 0x80, 0x0d, 0x6e, 0xbf, 0xb9,
+			0xf6, 0x9b, 0x09, 0xd7, 0x9f, 0xc2, 0x5a, 0xef,
+			0x11, 0xd7, 0x86, 0x6e, 0x76, 0xac, 0x08, 0xb1,
+			0x72, 0xb4, 0x3c, 0x60, 0x18, 0x67, 0xa5, 0x68,
+			0x94, 0xac, 0xcf, 0xb2, 0xe6, 0x2d, 0xd6, 0x40,
+			0x8b, 0x1f, 0xc0, 0x47, 0xb8, 0x59, 0x35, 0xdf,
+			0x2d, 0x7c, 0xfc, 0x36, 0x1a, 0xbe, 0x4e, 0xb9,
+			0x6e, 0x86, 0xff, 0x45, 0xc1, 0xcf, 0x67, 0xd2,
+			0xf6, 0x0d, 0x8c, 0x25, 0xc7, 0x3d, 0xee, 0x90,
+			0x07, 0xd8, 0x16, 0x6a, 0xa5, 0xac, 0x1a, 0x58,
+			0xb2, 0xe2, 0x9f, 0x2a, 0x23, 0x66, 0x45, 0xbf,
+			0x1b, 0x2d, 0xed, 0x7a, 0x48, 0x7b, 0x79, 0x54,
+			0x6b, 0xca, 0xe8, 0x17, 0xca, 0x73, 0x55, 0x12,
+			0x0d, 0x37, 0x82, 0xa5, 0x81, 0x65, 0x74, 0x20,
+			0xbe, 0x8e, 0xdd, 0x02, 0x7b, 0x85, 0x4d, 0x5a,
+			0xaa, 0xcc, 0x69, 0xc0, 0x77, 0xb3, 0x34, 0xaf,
+			0x25, 0xab, 0x68, 0xf4, 0x76, 0x8f, 0xf9, 0x33,
+			0x5b, 0x97, 0xd7, 0x2c, 0x60, 0xed, 0xff, 0x49,
+			0xf0, 0xf4, 0xb3, 0x98, 0x0d, 0x88, 0xd4, 0xd8,
+			0xaa, 0x09, 0x59, 0xcb, 0x3a, 0x29, 0x72, 0x60,
+			0x88, 0xe0, 0xd0, 0xd2, 0x03, 0xb5, 0x05, 0xf5,
+			0x1b, 0xa6, 0xc3, 0x02, 0x0a, 0x5c, 0xe2, 0xc1,
+			0xf8, 0x73, 0x22, 0x01, 0x8c, 0x70, 0x1b, 0x9a,
+			0xdb, 0xda, 0x66, 0x64, 0xf2, 0xd1, 0x76, 0xef,
+			0xa4, 0x5b, 0xef, 0xc3, 0x78, 0x0e, 0x83, 0x03,
+			0x23, 0xc4, 0x3d, 0xa3, 0xaf, 0xd4, 0x7e, 0x39,
+			0xf6, 0x30, 0xf5, 0x5c, 0x6d, 0x6b, 0xaa, 0xc8,
+			0x4f, 0xe8, 0xc4, 0xfc, 0xe4, 0x8f, 0xa2, 0x87,
+			0x3c, 0x2b, 0x13, 0x3f, 0xe4, 0x0a, 0xf7, 0x90,
+			0x47, 0x1e, 0x78, 0x58, 0x69, 0x9e, 0x93, 0xa4,
+			0xb0, 0x33, 0x86, 0x3b, 0x0b, 0x4f, 0xaa, 0xb5,
+			0x09, 0xff, 0xa3, 0x25, 0x24, 0x60, 0xed, 0x23,
+			0xa5, 0x63, 0x27, 0x44, 0xf9, 0x82, 0xbd, 0x7b,
+			0x84, 0x1d, 0x50, 0xf4, 0x84, 0xcb, 0x90, 0x45,
+			0xb2, 0x35, 0x30, 0x2a, 0x41, 0x9e, 0x19, 0xc7,
+			0xbe, 0x70, 0x9a, 0xff, 0x94, 0x1d, 0xaf, 0x7f,
+			0xa5, 0x41, 0x85, 0x7a, 0x5b, 0x78, 0x98, 0x0c,
+			0xa6, 0x39, 0x3b, 0xb9, 0xa5, 0xfe, 0xca, 0xd2,
+			0x21, 0x8b, 0x84, 0xc1, 0x2e, 0xa4, 0x0f, 0x59,
+			0x84, 0x51, 0x16, 0xb5, 0xef, 0x62, 0x3f, 0x78,
+			0xc0, 0x7e, 0x2d, 0x5f, 0xd1, 0x88, 0x89, 0x05,
+			0xda, 0xdf, 0x73, 0x1a, 0x04, 0xa1, 0x1b, 0xa4,
+			0x04, 0x29, 0xdf, 0x00, 0x44, 0x02, 0xa9, 0xd6,
+			0x0b, 0x4a, 0x52, 0x65, 0x99, 0x1e, 0x1a, 0x6c,
+			0xc1, 0xc1, 0xb0, 0x36, 0x07, 0x61, 0x92, 0xc2,
+			0x22, 0x12, 0x5a, 0x09, 0x36, 0x66, 0x07, 0xe2,
+			0x6c, 0x84, 0xd4, 0xf3, 0x72, 0x07, 0xf1, 0x49,
+			0x48, 0x20, 0xe3, 0x8d, 0x8b, 0x56, 0xf1, 0xf5,
+			0x9e, 0x93, 0x93, 0x48, 0x42, 0xa3, 0xf9, 0x95,
+			0x6d, 0x9a, 0xd8, 0x1c, 0x06, 0x05, 0x93, 0x4f,
+			0x89, 0x51, 0x1f, 0x41, 0xd8, 0xed, 0x6d, 0x59,
+			0x1c, 0x43, 0x0f, 0x34, 0x78, 0xaf, 0x9b, 0x78,
+			0xe9, 0x48, 0x4f, 0x7f, 0x0d, 0x57, 0x3b, 0x2b,
+			0x47, 0xab, 0x1d, 0xb0, 0xaa, 0x41, 0xbe, 0xd2,
+			0x52, 0x28, 0x27, 0x27, 0xf7, 0xc3, 0x6d, 0x88,
+			0xcd, 0x28, 0x2b, 0x50, 0xa0, 0xc4, 0x1b, 0x47,
+			0xb9, 0x57, 0x7f, 0xec, 0xda, 0x6a, 0xe2, 0xaa,
+			0x39, 0xde, 0x3d, 0x90, 0x04, 0x00, 0x41, 0xd9,
+			0x69, 0xe8, 0x4e, 0x60, 0x56, 0xb5, 0xd8, 0x80,
+			0xf2, 0x32, 0x8c, 0xe0, 0x01, 0x99, 0x2e, 0x4c,
+			0xc0, 0x4f, 0xe0, 0x2c, 0x4a, 0xc7, 0x76, 0xb7,
+			0xbb, 0xa6, 0x5a, 0x69, 0x83, 0x2d, 0xa3, 0xb0,
+			0x01, 0x09, 0xd3, 0x6b, 0x19, 0xb0, 0x41, 0x57,
+			0x4f, 0x2e, 0x14, 0x18, 0xc9, 0xfc, 0x08, 0xd8,
+			0x3c, 0x85, 0xfe, 0x8f, 0xd6, 0xc3, 0x93, 0x6f,
+			0xe0, 0xc1, 0x13, 0x7f, 0x36, 0xc8, 0x0a, 0x58,
+			0x1d, 0x32, 0x72, 0x45, 0xa9, 0x0d, 0xc2, 0x3c,
+			0xc7, 0xa5, 0x3f, 0xf6, 0x1a, 0xd0, 0x35, 0x9e,
+			0x47, 0x85, 0x7c, 0x8c, 0x5c, 0x38, 0xce, 0x9d,
+			0xd5, 0x68, 0xbd, 0x6f, 0x2e, 0x9a, 0xf9, 0x0d,
+			0x51, 0xa3, 0x7e, 0x42, 0x3c, 0x95, 0x4e, 0x19,
+			0xe8, 0x57, 0xd3, 0x29, 0xb8, 0x5c, 0x7b, 0x6b,
+			0x64, 0xb8, 0xa6, 0x9d, 0x7f, 0x95, 0xde, 0x09,
+			0xd1, 0x84, 0x7f, 0x86, 0xe5, 0xfa, 0xb5, 0x66,
+			0x6c, 0x52, 0x9f, 0x59, 0xe5, 0x29, 0x6d, 0x58,
+			0x52, 0x59, 0x2c, 0x2c, 0x10, 0x59, 0xb9, 0x1f,
+			0x92, 0x4e, 0x9e, 0xc2, 0xf7, 0xc5, 0x53, 0xb7,
+			0x4f, 0x48, 0xfa, 0x4e, 0xea, 0x73, 0x93, 0x55,
+			0x97, 0x26, 0x3f, 0xd0, 0xf7, 0x9e, 0x1f, 0xad,
+			0xfb, 0x57, 0x7b, 0x1f, 0x12, 0xcd, 0x81, 0xe1,
+			0x0e, 0x5b, 0x7d, 0xda, 0x97, 0xbd, 0x2a, 0xa3,
+			0x1c, 0xed, 0xc1, 0x83, 0x84, 0x92, 0x09, 0x17,
+			0x14, 0x8c, 0x49, 0xd1, 0x8d, 0x98, 0xf9, 0xdb,
+			0x9d, 0xbf, 0x07, 0x64, 0x12, 0xfa, 0x46, 0x9e,
+			0x22, 0x3a, 0x2d, 0x9a, 0xda, 0xf1, 0x99, 0xb6,
+			0xbf, 0x1e, 0x79, 0x91, 0x2b, 0x2b, 0x86, 0x2d,
+			0xbe, 0x67, 0xb0, 0x0a, 0x46, 0x32, 0xbf, 0x24,
+			0xeb, 0xa7, 0xf0, 0x57, 0x75, 0xa6, 0xf6, 0x3b,
+			0x75, 0x5d, 0x6c, 0x72, 0x0e, 0x70, 0x9c, 0x85,
+			0x6e, 0x26, 0xaa, 0x7d, 0xb8, 0x4d, 0xf5, 0xb4,
+			0x74, 0xb9, 0x05, 0xcc, 0xcb, 0xa6, 0xef, 0x15,
+			0x75, 0x30, 0xab, 0xc9, 0xab, 0x20, 0xc7, 0x58,
+			0xbe, 0x20, 0x0d, 0x5e, 0xaa, 0x37, 0x9c, 0xc8,
+			0x22, 0x39, 0x7b, 0x80, 0xb3, 0xbd, 0xd8, 0x18,
+			0x62, 0x10, 0xd9, 0xa7, 0x1f, 0xee, 0x8e, 0x8b,
+			0x90, 0x52, 0x1f, 0xa3, 0xe0, 0x07, 0xc2, 0x81,
+			0xeb, 0x68, 0x74, 0x6d, 0xef, 0xf8, 0xb4, 0xbb,
+			0xbf, 0x08, 0xe8, 0x8b, 0x21, 0x00, 0xa7, 0x53,
+			0x2b, 0xd6, 0x95, 0x45, 0xb0, 0xb2, 0x3b, 0x08,
+			0xe2, 0x49, 0xf6, 0xb2, 0xae, 0xc1, 0xf6, 0x19,
+			0xd1, 0x0a, 0xf0, 0x73, 0xbd, 0x01, 0x89, 0xd0,
+			0x68, 0xc2, 0xbb, 0xdb, 0x67, 0x6c, 0x8c, 0xe5,
+			0x9f, 0x09, 0xff, 0x80, 0x74, 0x61, 0xe7, 0xa9,
+			0x1a, 0xbe, 0xca, 0x0b, 0x2a, 0x1d, 0x6a, 0x6c,
+			0x04, 0xa0, 0x61, 0x40, 0x70, 0x85, 0x2f, 0x24,
+			0x72, 0xec, 0x1a, 0x4b, 0xa0, 0x35, 0x95, 0x06,
+			0xa9, 0x7c, 0x1f, 0x90, 0x77, 0xd5, 0xb6, 0xdd,
+			0x7f, 0x41, 0x0f, 0xcd, 0x82, 0xd0, 0x19, 0xc4,
+			0x7e, 0x89, 0xd6, 0x33, 0x8a, 0x68, 0x9d, 0x44,
+			0x74, 0x2e, 0x6a, 0x84, 0xb4, 0xe4, 0x86, 0x35,
+			0xd9, 0x19, 0x21, 0x44, 0x57, 0x80, 0x20, 0xb0,
+			0xf0, 0xdb, 0xcd, 0xe7, 0x50, 0x17, 0x0c, 0x00,
+			0x79, 0x28, 0xb6, 0xe0, 0xfa, 0x94, 0xc2, 0x96,
+			0x8d, 0xf9, 0xc4, 0x8c, 0x02, 0xb9, 0x4a, 0x6f,
+			0xa4, 0x57, 0x73, 0x91, 0x1b, 0x31, 0x29, 0xfc,
+			0x7d, 0x53, 0x61, 0x01, 0x95, 0xd8, 0x5c, 0xa6,
+			0x1f, 0xc4, 0x72, 0xf5, 0xd2, 0x98, 0xc6, 0xa9,
+			0x50, 0x2a, 0x40, 0x01, 0xe4, 0xb0, 0x0a, 0x4c,
+			0x38, 0x2c, 0x3a, 0xdc, 0x2a, 0x4e, 0x23, 0x69,
+			0x55, 0x1a, 0x21, 0xcd, 0x14, 0xae, 0x22, 0xe9,
+			0x42, 0x31, 0xa3, 0x0a, 0x73, 0x77, 0x8e, 0x80,
+			0x56, 0xc0, 0x9e, 0xc2, 0xca, 0xb2, 0x0f, 0xb5,
+			0x1e, 0x3a, 0x96, 0xf5, 0x32, 0xc5, 0x46, 0xd1,
+			0x02, 0x96, 0x50, 0x9c, 0x2a, 0xd4, 0xef, 0x06,
+			0x04, 0xc2, 0x61, 0xf6, 0xb8, 0x41, 0x08, 0x74,
+			0x04, 0xbc, 0x4e, 0x18, 0xc8, 0x72, 0x18, 0xc2,
+			0xc8, 0xbe, 0xde, 0x52, 0x7d, 0xc0, 0x83, 0xc0,
+			0x9b, 0xe2, 0xd8, 0xbd, 0x38, 0x38, 0xd9, 0xa3,
+			0xa9, 0x5c, 0x6e, 0xba, 0x38, 0xe6, 0x4e, 0xea,
+			0x7c, 0xb1, 0x10, 0x59, 0x41, 0x9e, 0x64, 0xd9,
+			0x41, 0x01, 0xbc, 0x94, 0x77, 0x0b, 0x12, 0x1e,
+			0xbf, 0x92, 0x98, 0xbc, 0xe9, 0x8b, 0xb0, 0x25,
+			0x1f, 0xb5, 0xe0, 0xcb, 0x7d, 0xd2, 0x15, 0xa3,
+			0x0e, 0x67, 0x50, 0x30, 0x80, 0xe2, 0x83, 0xe2,
+			0x5f, 0xe8, 0xa8, 0x44, 0x84, 0x89, 0x30, 0x2c,
+			0x66, 0x26, 0x7e, 0x22, 0xba, 0xfa, 0xa5, 0xd0,
+			0x15, 0x82, 0x9d, 0x2c, 0x23, 0x49, 0x79, 0x22,
+			0x91, 0x94, 0xc0, 0x73, 0xe8, 0xf8, 0x05, 0x26,
+			0x8c, 0x5c, 0xc4, 0xf0, 0xae, 0x88, 0x53, 0xce,
+			0x5d, 0x7b, 0xaf, 0x39, 0x07, 0x33, 0x7a, 0x3d,
+			0x9b, 0xe3, 0x4a, 0x5a, 0xbe, 0xeb, 0xed, 0x0f,
+			0x3b, 0xfe, 0xe2, 0x44, 0x59, 0x52, 0xdc, 0xab,
+			0x76, 0xfa, 0x44, 0xb8, 0x8e, 0x63, 0x9c, 0x86,
+			0xeb, 0x9e, 0x3f, 0x36, 0x07, 0x49, 0xf5, 0x06,
+			0x70, 0xa2, 0x92, 0x24, 0xff, 0x82, 0x3b, 0xd2,
+			0x31, 0x37, 0x71, 0x66, 0xe4, 0x1d, 0x56, 0x6e,
+			0x55, 0x53, 0xb0, 0x7c, 0x5d, 0x16, 0xa6, 0xb3,
+			0x1d, 0x6f, 0x53, 0x8c, 0x79, 0x2e, 0xe2, 0xe8,
+			0xa5, 0x94, 0x41, 0x33, 0xaf, 0xc6, 0x5c, 0x10,
+			0xd9, 0x2f, 0xa7, 0xf0, 0xbe, 0xf1, 0xe5, 0x3b,
+			0x60, 0x72, 0x74, 0xc3, 0x26, 0x9b, 0x01, 0x6f,
+			0xa2, 0x67, 0xa4, 0xcf, 0x00, 0xb8, 0x31, 0xf5,
+			0xda, 0x6b, 0x69, 0x30, 0x4f, 0x39, 0x37, 0x2c,
+			0x90, 0xf3, 0x2e, 0xff, 0x49, 0x4b, 0xfd, 0x1b,
+			0xd6, 0xa1, 0xfe, 0xbd, 0x14, 0x2d, 0x8f, 0xad,
+			0x73, 0xb0, 0x43, 0xa1, 0x48, 0x85, 0xa0, 0xf0,
+			0x53, 0xcc, 0xd5, 0xf3, 0xe9, 0x58, 0xb2, 0xca,
+			0x53, 0x02, 0x0b, 0x44, 0x86, 0xec, 0xe2, 0x1e,
+			0xc8, 0xca, 0x07, 0x5b, 0x1d, 0xb4, 0x2f, 0x8e,
+			0xe4, 0xf4, 0x38, 0x5b, 0xb0, 0x0a, 0xb9, 0xa3,
+			0xe7, 0xe7, 0x05, 0x98, 0x5a, 0x56, 0x19, 0x59,
+			0x46, 0xd8, 0xa9, 0xd1, 0xd8, 0x45, 0x3c, 0xcb,
+			0x3f, 0xe4, 0xbf, 0x4f, 0x14, 0xfc, 0x88, 0x1d,
+			0xb7, 0x7b, 0xf4, 0x95, 0xb6, 0xcc, 0x79, 0xc3,
+			0x25, 0x9d, 0x7a, 0x95, 0x7a, 0xa2, 0xfb, 0xbf,
+			0xf2, 0x32, 0x3a, 0x7d, 0x18, 0x84, 0x8b, 0xc2,
+			0x1e, 0x9c, 0x86, 0x52, 0x70, 0xe4, 0x4d, 0x74,
+			0x4f, 0xe0, 0xa3, 0x0a, 0x2a, 0x31, 0x03, 0x47,
+			0x0d, 0x3c, 0xab, 0xb9, 0xc0, 0xf5, 0x09, 0x3d,
+			0x5e, 0x5f, 0x62, 0x7c, 0xc0, 0xd4, 0x1f, 0x26,
+			0x4b, 0x53, 0x5f, 0x63, 0x65, 0x7e, 0xb2, 0xba,
+			0xd6, 0x24, 0x60, 0xc8, 0xe8, 0xf7, 0xf9, 0x05,
+			0x34, 0xaf, 0xed, 0xef, 0xf9, 0x3f, 0x75, 0x7b,
+			0x99, 0xa0, 0xc7, 0xca, 0x40, 0x63, 0x67, 0x6c,
+			0x90, 0xa0, 0xb6, 0xe6, 0xed, 0xf1, 0x12, 0x73,
+			0x77, 0x8e, 0x97, 0xa5, 0xa7, 0xb1, 0xd1, 0xf3,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x06, 0x0e, 0x19, 0x1f, 0x25,
+			0x2c, 0x36, 0x40, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0x02, 0xc2, 0x08, 0xda, 0x0f, 0x0e, 0x0c, 0x49,
+			0x39, 0xab, 0x53, 0x31, 0x83, 0x2e, 0x41, 0x5d,
+			0xe4, 0x76, 0x31, 0x1e, 0x65, 0x71, 0xe5, 0xb6,
+			0x8d, 0xe8, 0xb3, 0xa5, 0xd9, 0x9e, 0xb7, 0x99,
+			0x1a, 0x3d, 0x3e, 0xa9, 0x54, 0xf8, 0xb3, 0x74,
+			0xe7, 0x01, 0x02, 0x4e, 0x23, 0xbf, 0x9b, 0xd3,
+			0x2a, 0x03, 0xd6, 0x1a, 0x96, 0x7f, 0xf8, 0xc2,
+			0xc5, 0x36, 0x3b, 0x4f, 0xe1, 0x96, 0x93, 0x59,
+			0x06, 0x28, 0x64, 0xce, 0x2e, 0x73, 0xad, 0xab,
+			0xf6, 0x57, 0xe1, 0x84, 0x1c, 0x7d, 0x7b, 0x9b,
+			0x70, 0x33, 0x12, 0x48, 0x04, 0xe6, 0x1c, 0x6b,
+			0x5b, 0x45, 0x37, 0xcd, 0x5f, 0x00, 0x2e, 0x21,
+			0xb9, 0xd5, 0x86, 0x2d, 0x3e, 0x50, 0x30, 0x42,
+			0x2b, 0x13, 0xf8, 0x7b, 0x81, 0x6c, 0x4e, 0xe6,
+			0x17, 0xa3, 0x5e, 0xa8, 0x34, 0x53, 0x64, 0x15,
+			0xf3, 0xb6, 0xf5, 0x90, 0x8f, 0xa6, 0x23, 0x7f,
+			0x88, 0x71, 0xea, 0x25, 0x0a, 0x17, 0xc9, 0xd1,
+			0x34, 0x2c, 0xb4, 0xc5, 0x14, 0xa4, 0x03, 0xe1,
+			0x07, 0x01, 0xba, 0x22, 0x57, 0x97, 0xcd, 0x3b,
+			0xe0, 0xfc, 0xb1, 0xe5, 0xa4, 0x22, 0x72, 0xcb,
+			0x88, 0xb7, 0xaa, 0x84, 0x75, 0xae, 0x62, 0xff,
+			0x1a, 0x9f, 0x45, 0xd6, 0x2f, 0xd6, 0xad, 0x29,
+			0xa3, 0x4c, 0x9c, 0x7c, 0x55, 0xc5, 0xec, 0x4c,
+			0xc2, 0x7a, 0xad, 0x60, 0x65, 0x06, 0xfc, 0x7d,
+			0xf2, 0x67, 0xce, 0xf8, 0x11, 0xea, 0xbf, 0xd8,
+			0x84, 0x94, 0xf2, 0x13, 0xa2, 0xa8, 0x39, 0xe1,
+			0x0d, 0x47, 0x94, 0x8b, 0x1d, 0x4b, 0x51, 0xd3,
+			0xf9, 0x2f, 0x91, 0x76, 0x20, 0x4e, 0x22, 0xf8,
+			0x81, 0xc4, 0xac, 0xf6, 0xf1, 0x2f, 0x38, 0x2a,
+			0x78, 0x00, 0xa8, 0xbb, 0x9e, 0xfa, 0xa8, 0x1c,
+			0xaa, 0xc4, 0x7e, 0x6e, 0x30, 0xcc, 0x79, 0x17,
+			0xc6, 0x4e, 0x85, 0x9a, 0x96, 0x13, 0xef, 0x85,
+			0x7d, 0x7a, 0x91, 0x61, 0xfa, 0x8b, 0x8b, 0xdb,
+			0x85, 0x22, 0x69, 0x4a, 0x64, 0x36, 0x12, 0xc1,
+			0x9e, 0x13, 0x8e, 0x63, 0xaf, 0x35, 0xf4, 0xc8,
+			0x11, 0x9a, 0x77, 0xfa, 0x52, 0xe3, 0x63, 0x8a,
+			0xdc, 0x62, 0x91, 0xcd, 0xe1, 0x13, 0xe3, 0x4d,
+			0x9d, 0xfc, 0xd1, 0xb1, 0x42, 0xbb, 0x67, 0xcd,
+			0x2c, 0xc8, 0xb3, 0x14, 0x36, 0x95, 0xba, 0x7e,
+			0xbb, 0x84, 0xa0, 0x34, 0x8b, 0x63, 0x5f, 0x8e,
+			0x55, 0xb8, 0xde, 0x9f, 0x09, 0x7b, 0x43, 0x61,
+			0xac, 0x7d, 0x99, 0xa6, 0xc5, 0x2d, 0xb1, 0x2d,
+			0x37, 0xde, 0x54, 0x9a, 0x46, 0x70, 0x2f, 0xc0,
+			0xdf, 0xb8, 0x2b, 0x9c, 0xbe, 0x91, 0x77, 0x10,
+			0xb4, 0xb9, 0x75, 0xe4, 0xe2, 0xb3, 0x70, 0x09,
+			0x5c, 0x34, 0x14, 0x69, 0x9c, 0x00, 0xcf, 0x47,
+			0x4a, 0x2d, 0xf1, 0x14, 0xdb, 0xc1, 0xca, 0xf6,
+			0xcd, 0x8f, 0x2e, 0x03, 0xfc, 0x36, 0xa4, 0x5b,
+			0x11, 0x95, 0x5f, 0x42, 0x77, 0xf9, 0x03, 0x7c,
+			0xe8, 0x2f, 0x99, 0xd7, 0x59, 0x75, 0x62, 0xb1,
+			0x70, 0x01, 0x8d, 0x11, 0x32, 0xe3, 0xbb, 0xad,
+			0x0d, 0x97, 0x0f, 0x1a, 0xe0, 0x36, 0x6b, 0x0c,
+			0x2e, 0xf9, 0x47, 0xfa, 0xb6, 0xae, 0x65, 0x07,
+			0x1e, 0xf6, 0x8a, 0x89, 0x54, 0xbe, 0xa8, 0x98,
+			0xce, 0x08, 0xf2, 0xe5, 0xbf, 0x86, 0xed, 0x35,
+			0x8b, 0xc0, 0x6b, 0x75, 0x06, 0x1f, 0x4a, 0xb1,
+			0x21, 0x95, 0xf3, 0x61, 0xcf, 0x4e, 0x64, 0xab,
+			0x61, 0x34, 0xf4, 0x54, 0x4c, 0xe1, 0x60, 0x8a,
+			0xba, 0x2b, 0x71, 0x7c, 0xf5, 0xe2, 0x38, 0xfa,
+			0x75, 0xad, 0x09, 0x43, 0x45, 0x0d, 0x0d, 0x1b,
+			0x24, 0xe0, 0x92, 0xe8, 0xdf, 0xcd, 0xe6, 0x98,
+			0xde, 0x4b, 0xc1, 0xda, 0x7b, 0x91, 0xc8, 0x80,
+			0x0f, 0xe6, 0xee, 0xeb, 0x77, 0x21, 0xe7, 0xb3,
+			0x7c, 0x30, 0xaa, 0xb0, 0x49, 0xfe, 0x43, 0x40,
+			0xbd, 0x62, 0x24, 0xb3, 0x96, 0xaa, 0x3c, 0x5a,
+			0x3e, 0x7d, 0x5f, 0xc6, 0x7d, 0x5b, 0x09, 0xf0,
+			0x92, 0xdf, 0x07, 0x00, 0xb8, 0xac, 0x46, 0x8f,
+			0x87, 0x5b, 0x18, 0x93, 0x6c, 0x59, 0xf7, 0xdf,
+			0x6a, 0xa3, 0x7a, 0xf6, 0xcb, 0x75, 0x85, 0xee,
+			0x0e, 0x86, 0xd6, 0xb4, 0x0a, 0xa3, 0x29, 0xc9,
+			0x8b, 0x94, 0xc9, 0xa2, 0x6d, 0xbe, 0x4e, 0xd7,
+			0xf9, 0x6e, 0xff, 0xde, 0x01, 0x63, 0x3f, 0x4d,
+			0xd0, 0x4b, 0xb5, 0x8a, 0xfb, 0x8f, 0x9e, 0xd3,
+			0x6d, 0xba, 0x3c, 0x5c, 0x24, 0xae, 0xb1, 0x8e,
+			0x54, 0xfc, 0x3f, 0x62, 0xf3, 0x0e, 0xf7, 0x7b,
+			0x74, 0xc8, 0x4a, 0x88, 0x0a, 0xc1, 0x2f, 0x94,
+			0x6b, 0x30, 0xdd, 0xeb, 0x9f, 0xd6, 0x9c, 0x6d,
+			0x09, 0xf3, 0x78, 0x35, 0x85, 0x24, 0xf2, 0x9f,
+			0xf3, 0xf3, 0x26, 0xc2, 0x18, 0x82, 0x4d, 0xe7,
+			0x78, 0xad, 0x9e, 0x3e, 0x3a, 0xe1, 0xab, 0xe6,
+			0x35, 0x53, 0x8f, 0x1a, 0xf8, 0x07, 0xb6, 0x70,
+			0x9c, 0xd4, 0x2b, 0x36, 0xd4, 0xbd, 0xde, 0xae,
+			0x12, 0x79, 0x1b, 0x25, 0x56, 0x14, 0xea, 0x6e,
+			0x9f, 0x2e, 0xc6, 0xc6, 0xeb, 0xc3, 0x20, 0xc4,
+			0x44, 0x34, 0xda, 0x0a, 0x3f, 0x36, 0x78, 0xdd,
+			0x9f, 0xef, 0xc6, 0x18, 0x34, 0x6d, 0x4f, 0xa3,
+			0x86, 0x26, 0xdb, 0x97, 0x2f, 0x85, 0xee, 0xe1,
+			0x4d, 0xfa, 0xbd, 0x50, 0xc7, 0x5d, 0x2a, 0xaf,
+			0x59, 0x38, 0xca, 0xea, 0xfb, 0x11, 0x50, 0xcb,
+			0x71, 0x8a, 0x4e, 0xcc, 0xe9, 0x5e, 0x2d, 0xf4,
+			0x06, 0xe7, 0x9f, 0x2f, 0xcb, 0xea, 0x49, 0x8a,
+			0x67, 0x9d, 0x07, 0x35, 0xfc, 0x5a, 0x34, 0x73,
+			0xd7, 0x79, 0x3c, 0x93, 0x24, 0xf7, 0x2c, 0x2a,
+			0xe0, 0x23, 0x2c, 0x39, 0x66, 0x8e, 0x17, 0x36,
+			0x29, 0xef, 0xcb, 0xfc, 0x1c, 0xba, 0x25, 0xa3,
+			0xeb, 0x18, 0x25, 0xaa, 0x28, 0x85, 0x51, 0xab,
+			0x83, 0x5f, 0xe3, 0x49, 0x8a, 0xf4, 0x35, 0x81,
+			0x34, 0xd0, 0x03, 0xc8, 0x8c, 0x3e, 0xc3, 0x4c,
+			0x9c, 0xcd, 0x61, 0xfe, 0x1f, 0xf4, 0x69, 0xa1,
+			0x84, 0x27, 0x66, 0x37, 0xf0, 0x50, 0xad, 0x2e,
+			0xcd, 0xa4, 0xe7, 0xf8, 0x8c, 0xc0, 0xcf, 0x45,
+			0xed, 0x91, 0x55, 0xa0, 0x01, 0x88, 0x93, 0xd8,
+			0x28, 0x16, 0x3f, 0x46, 0x1e, 0x06, 0x32, 0x3d,
+			0x0b, 0x71, 0xc2, 0x4b, 0x79, 0xd2, 0x5e, 0xfa,
+			0xea, 0x1c, 0xa9, 0xcd, 0xfe, 0x1e, 0x18, 0x68,
+			0x44, 0x17, 0x02, 0xea, 0x8b, 0xaf, 0xd6, 0xfe,
+			0xb0, 0x67, 0xdb, 0x9f, 0x64, 0x04, 0x29, 0x58,
+			0xd7, 0x74, 0x40, 0x4d, 0x29, 0xee, 0x72, 0x1c,
+			0x11, 0xe9, 0x66, 0x44, 0x49, 0x6c, 0x26, 0x4d,
+			0x0b, 0xec, 0x26, 0x0a, 0x64, 0x89, 0x32, 0x48,
+			0xe4, 0x28, 0x35, 0x0e, 0x42, 0x6a, 0xf0, 0x6b,
+			0x6b, 0x84, 0x0a, 0x3d, 0xf7, 0x42, 0x81, 0x38,
+			0x0d, 0x77, 0x58, 0x6f, 0x41, 0x86, 0x13, 0x5e,
+			0x25, 0x95, 0x3d, 0xb8, 0x22, 0x9f, 0x25, 0xc8,
+			0x65, 0xf2, 0x72, 0x7c, 0xa0, 0xae, 0xa5, 0xfc,
+			0xcb, 0x91, 0x72, 0x5f, 0x04, 0x3a, 0xe1, 0x64,
+			0xea, 0x6c, 0x1b, 0x1d, 0xad, 0xfa, 0x63, 0xdd,
+			0x30, 0x8f, 0x98, 0xb8, 0x8f, 0x17, 0xaf, 0x38,
+			0x5a, 0x12, 0xaa, 0x3f, 0x7b, 0xf4, 0xc2, 0xa3,
+			0x9b, 0x74, 0xa1, 0x98, 0xf3, 0xb5, 0xb1, 0x50,
+			0x74, 0x36, 0x14, 0x6d, 0x9b, 0x8a, 0xae, 0xfe,
+			0xd9, 0x40, 0xf9, 0x59, 0x65, 0x57, 0x38, 0xe8,
+			0x1a, 0xa8, 0x7d, 0xfc, 0xac, 0xd1, 0xd7, 0x45,
+			0x2e, 0x40, 0xfa, 0xdc, 0x33, 0x61, 0x32, 0x30,
+			0x24, 0x20, 0x45, 0x44, 0xbb, 0x0b, 0x04, 0xb3,
+			0xf0, 0x07, 0x0a, 0x4c, 0x27, 0xf6, 0xdb, 0x6d,
+			0x5d, 0x5e, 0x07, 0x1e, 0x52, 0x19, 0x8a, 0x40,
+			0x01, 0x3b, 0xeb, 0x68, 0x90, 0x13, 0xc3, 0x4a,
+			0x7a, 0xe3, 0xb9, 0x3a, 0xd7, 0x19, 0x8d, 0xbb,
+			0xcd, 0x09, 0x10, 0xc7, 0x16, 0x3f, 0x0a, 0xf8,
+			0xdd, 0x32, 0x84, 0x40, 0x0e, 0xe7, 0xc5, 0xf7,
+			0x7e, 0x00, 0x1a, 0xb1, 0x62, 0xa5, 0xcf, 0x2f,
+			0xf8, 0xf2, 0x99, 0x17, 0xd7, 0x4e, 0x76, 0xe0,
+			0x07, 0xe7, 0xd4, 0xc0, 0x50, 0xf8, 0xfb, 0xb9,
+			0xce, 0x1d, 0x3c, 0x6b, 0xbd, 0x4d, 0xc5, 0xfc,
+			0xc9, 0xc0, 0x46, 0xb4, 0xbe, 0x70, 0x9c, 0x5e,
+			0x26, 0xdb, 0x91, 0x75, 0xd1, 0x6d, 0x87, 0x3c,
+			0x97, 0xac, 0x44, 0xac, 0x7b, 0x5a, 0x57, 0xca,
+			0x3d, 0x28, 0x77, 0x51, 0x99, 0x0f, 0x2e, 0x63,
+			0x87, 0x35, 0xed, 0x72, 0x3c, 0x66, 0x01, 0x1e,
+			0xf2, 0x09, 0xc0, 0xa7, 0xf9, 0xe8, 0x63, 0x8a,
+			0x69, 0x4e, 0x39, 0x5e, 0xdd, 0x39, 0x5f, 0x5b,
+			0x82, 0xc9, 0xc4, 0x90, 0x79, 0x76, 0x75, 0x73,
+			0x6e, 0x5e, 0xbc, 0x1a, 0xa5, 0xae, 0x62, 0xd2,
+			0x1b, 0x7d, 0xe0, 0x16, 0xe2, 0x9c, 0x75, 0xc2,
+			0x9c, 0x38, 0x08, 0x5b, 0xe5, 0x41, 0x59, 0x8e,
+			0x6d, 0xd9, 0x0c, 0x32, 0x5e, 0x84, 0x63, 0xb0,
+			0x5e, 0xad, 0x81, 0x7a, 0x4e, 0xfc, 0xcc, 0xfd,
+			0x71, 0x05, 0x91, 0x06, 0x73, 0x34, 0xee, 0xc2,
+			0xba, 0xbb, 0x84, 0x8a, 0x9c, 0xf4, 0x95, 0xc7,
+			0xee, 0x3c, 0xd4, 0xc0, 0xbf, 0x7a, 0x5d, 0x73,
+			0x64, 0x9b, 0xff, 0x6a, 0x51, 0x4b, 0xe4, 0x85,
+			0xbf, 0x77, 0x5e, 0xc0, 0x32, 0x57, 0x3f, 0x0f,
+			0xe3, 0xbc, 0xf2, 0xcf, 0x36, 0x86, 0x85, 0xd4,
+			0x01, 0xd2, 0x99, 0xf7, 0x23, 0xe9, 0x25, 0xa4,
+			0x54, 0x2c, 0xf6, 0x12, 0x97, 0xc3, 0x1b, 0xc4,
+			0x55, 0xc4, 0x59, 0xb7, 0x3b, 0x5d, 0xa0, 0x88,
+			0xa6, 0x80, 0xf7, 0x7f, 0x92, 0x06, 0xd3, 0x47,
+			0x35, 0x7c, 0xbb, 0xf5, 0x0a, 0x01, 0xc9, 0x5a,
+			0xdd, 0x8d, 0x31, 0x2e, 0xe5, 0xcf, 0x09, 0x93,
+			0x76, 0x9c, 0x55, 0xc7, 0xe0, 0x4f, 0xef, 0x4d,
+			0x53, 0x63, 0x5d, 0x4f, 0x2d, 0x00, 0x5a, 0x40,
+			0x83, 0xc4, 0x61, 0xb5, 0x62, 0x5f, 0x95, 0x22,
+			0x02, 0xc9, 0x34, 0xa1, 0x3b, 0xf7, 0x5e, 0x9a,
+			0xbc, 0xaf, 0xba, 0xa1, 0x3b, 0xe1, 0x15, 0x9d,
+			0x29, 0xa9, 0xd5, 0x16, 0x9e, 0x96, 0x1a, 0x4e,
+			0x2a, 0xe0, 0x30, 0x88, 0x56, 0x62, 0x9a, 0x89,
+			0x49, 0x6b, 0x54, 0x02, 0x8d, 0x59, 0x87, 0xc6,
+			0x8b, 0x08, 0xc9, 0xfd, 0x0e, 0x35, 0x64, 0x8f,
+			0xc7, 0x78, 0xde, 0x3b, 0x7f, 0x8a, 0x43, 0xa1,
+			0x18, 0xbc, 0x56, 0xec, 0xab, 0x4e, 0x35, 0x50,
+			0x1f, 0x22, 0x3e, 0xd1, 0x78, 0x07, 0x3d, 0x9e,
+			0xb3, 0xa0, 0x06, 0x7e, 0x59, 0xd7, 0x7f, 0xd6,
+			0xf6, 0xe9, 0xf6, 0x15, 0x9f, 0xf8, 0x51, 0xfb,
+			0xe2, 0x16, 0x62, 0x36, 0xfb, 0xca, 0x9f, 0x36,
+			0x64, 0x6f, 0xba, 0x6b, 0x99, 0x68, 0x43, 0xe6,
+			0xd5, 0x53, 0x84, 0xfa, 0xa9, 0x27, 0x04, 0x5c,
+			0x66, 0x7a, 0x41, 0x63, 0x09, 0x95, 0x4e, 0xa3,
+			0xe6, 0xc9, 0x62, 0x47, 0x3e, 0xb3, 0x50, 0xdf,
+			0x8c, 0xee, 0xe0, 0xe9, 0x02, 0xd0, 0xf3, 0x14,
+			0xc1, 0x26, 0x18, 0xd8, 0xd2, 0xef, 0xa8, 0xac,
+			0x1b, 0x03, 0x49, 0x34, 0x67, 0x1d, 0xd8, 0xb4,
+			0xad, 0x98, 0xdd, 0xd9, 0x47, 0x26, 0x12, 0xd0,
+			0x3c, 0x47, 0x89, 0x09, 0x23, 0xc9, 0x7d, 0xba,
+			0xba, 0x48, 0x65, 0x44, 0xe6, 0x24, 0xcb, 0xb1,
+			0x60, 0x48, 0x44, 0x5c, 0xdb, 0x37, 0x95, 0x7f,
+			0x95, 0xf8, 0x41, 0x92, 0x91, 0x96, 0xd0, 0xf9,
+			0xef, 0x54, 0xdf, 0x88, 0x77, 0x58, 0x8e, 0xae,
+			0x33, 0xea, 0xa4, 0x39, 0x9f, 0x00, 0xf5, 0x6e,
+			0x4e, 0x50, 0x15, 0xe1, 0x9e, 0x09, 0xb7, 0x5d,
+			0xab, 0xb2, 0x4b, 0x00, 0xcc, 0x13, 0x10, 0x44,
+			0x0b, 0xb1, 0xb9, 0x3b, 0xed, 0x8d, 0x8c, 0x53,
+			0x22, 0x5b, 0x78, 0x91, 0xce, 0x0d, 0xa0, 0x85,
+			0x33, 0x5f, 0x93, 0x55, 0xc2, 0xf2, 0xec, 0xef,
+			0x71, 0xb7, 0x61, 0x4f, 0x43, 0x32, 0xfa, 0xf4,
+			0x4b, 0x1d, 0xb8, 0xe0, 0x9b, 0xb8, 0x28, 0xcb,
+			0xc2, 0xa6, 0x76, 0x6c, 0x2c, 0xdd, 0x2d, 0xe3,
+			0x1e, 0x78, 0xc3, 0xd0, 0xe0, 0x64, 0xfd, 0xf9,
+			0x47, 0x2f, 0xd7, 0x7c, 0x9e, 0x12, 0x49, 0x17,
+			0x1a, 0x0c, 0xd2, 0xab, 0xd7, 0xf5, 0x53, 0xb3,
+			0x02, 0x16, 0xc8, 0xd9, 0xdd, 0x1f, 0x4d, 0xaa,
+			0xc1, 0xe6, 0xf5, 0xfd, 0x6b, 0xee, 0xb8, 0x54,
+			0x7c, 0x6b, 0x82, 0x77, 0xd0, 0x94, 0x42, 0xca,
+			0x66, 0xaf, 0xdb, 0x17, 0xae, 0xff, 0x37, 0x83,
+			0x98, 0x59, 0x08, 0x0e, 0xd2, 0xb4, 0x7c, 0x58,
+			0x87, 0xaa, 0xb9, 0xad, 0x75, 0x5e, 0x24, 0xab,
+			0xb9, 0xed, 0xd4, 0x00, 0x7d, 0xb8, 0x68, 0xf4,
+			0xc4, 0x92, 0x97, 0x89, 0x54, 0x2e, 0xd1, 0x1c,
+			0x9a, 0xd8, 0xf4, 0xb2, 0xb1, 0x15, 0xbb, 0x06,
+			0x74, 0x37, 0xb5, 0xb5, 0xcd, 0x7b, 0x77, 0x7f,
+			0x8d, 0xdd, 0x66, 0xd4, 0xd9, 0xd9, 0x25, 0x20,
+			0xbc, 0x87, 0x2a, 0xe2, 0xff, 0x7e, 0xd1, 0x96,
+			0xea, 0x12, 0x48, 0xc6, 0x09, 0xc1, 0x93, 0x2d,
+			0x5f, 0x02, 0x10, 0x90, 0xb3, 0x86, 0x0b, 0x47,
+			0x2e, 0x43, 0xf0, 0xe4, 0x6c, 0xa3, 0x0f, 0x45,
+			0x1c, 0x8e, 0x09, 0x4c, 0x71, 0xde, 0x2d, 0x99,
+			0x90, 0x31, 0x13, 0x60, 0x29, 0x34, 0xef, 0x6d,
+			0x6d, 0x95, 0xab, 0x77, 0x7e, 0xa2, 0xb4, 0x6a,
+			0xa5, 0x63, 0xa8, 0x94, 0x4a, 0xd7, 0x95, 0xf3,
+			0xa5, 0xe1, 0x23, 0x53, 0x51, 0x9d, 0xd7, 0xe4,
+			0xeb, 0xe5, 0xee, 0xdf, 0xbe, 0x96, 0x3a, 0x38,
+			0xef, 0x06, 0xa9, 0x44, 0xf0, 0xad, 0xab, 0x37,
+			0xc2, 0x67, 0xcf, 0x63, 0xc3, 0xd6, 0x22, 0x2e,
+			0x16, 0x3b, 0x5a, 0xa3, 0xf6, 0xf8, 0x0b, 0xdf,
+			0xf8, 0xa5, 0xcb, 0x19, 0x29, 0x65, 0xad, 0x8e,
+			0xec, 0x42, 0xec, 0x0b, 0x1d, 0x16, 0xc9, 0xf7,
+			0x0f, 0x74, 0xd1, 0x26, 0x9e, 0x22, 0xca, 0xc1,
+			0xfb, 0x7d, 0x4f, 0x73, 0x02, 0x44, 0x88, 0x55,
+			0x40, 0x57, 0xfa, 0xc7, 0xaf, 0xfd, 0xb2, 0x9d,
+			0xe0, 0xf9, 0x6c, 0x32, 0xc1, 0x70, 0x51, 0x38,
+			0x1f, 0xce, 0x95, 0x77, 0x55, 0xde, 0xca, 0x0d,
+			0x59, 0x89, 0x3d, 0x88, 0x63, 0x25, 0x77, 0x00,
+			0x3d, 0x96, 0x48, 0x39, 0xde, 0xf5, 0x83, 0x77,
+			0xe3, 0x11, 0x0c, 0x75, 0x0c, 0x89, 0x5c, 0x79,
+			0x75, 0x88, 0x21, 0x6e, 0xdc, 0x01, 0x6f, 0xee,
+			0xb6, 0x16, 0xaa, 0xb1, 0x99, 0x86, 0x30, 0x89,
+			0x8f, 0x95, 0xf4, 0xf1, 0x3b, 0xd3, 0x11, 0xe1,
+			0x48, 0x3a, 0x6c, 0x26, 0x0c, 0x3d, 0x6e, 0x0b,
+			0x6f, 0xf4, 0x21, 0x10, 0x17, 0xf1, 0x11, 0xc3,
+			0xb8, 0xde, 0x69, 0xce, 0x12, 0x26, 0x17, 0xc9,
+			0x66, 0xd7, 0x88, 0x23, 0xd8, 0xd9, 0xe8, 0xe5,
+			0x4b, 0x19, 0x7c, 0x9c, 0xcf, 0x45, 0x76, 0x58,
+			0x3c, 0x55, 0xaa, 0x4d, 0x4a, 0x44, 0xfb, 0x0b,
+			0xf2, 0x0f, 0x4b, 0x50, 0xad, 0xe5, 0x59, 0xda,
+			0x43, 0x25, 0x0f, 0x8b, 0x7c, 0xc6, 0x84, 0xed,
+			0x2f, 0x11, 0xc5, 0x66, 0x71, 0x43, 0x56, 0x03,
+			0x1b, 0xab, 0x30, 0xba, 0x0f, 0x56, 0xa8, 0x14,
+			0x91, 0x85, 0x65, 0x54, 0x8c, 0xbb, 0x6a, 0xa8,
+			0x9d, 0x5d, 0x73, 0xd9, 0xdd, 0xa2, 0x34, 0xb5,
+			0xba, 0x8d, 0x90, 0x1e, 0xf9, 0x3a, 0xc2, 0x7e,
+			0xcf, 0x6e, 0x59, 0x8b, 0xc9, 0x84, 0x4e, 0x8b,
+			0x50, 0x99, 0xa7, 0x5b, 0x4b, 0x7e, 0xc2, 0x1b,
+			0x36, 0xef, 0x8d, 0xce, 0x58, 0x7c, 0xf9, 0xad,
+			0x6a, 0x59, 0xca, 0xbe, 0x8c, 0x78, 0xf6, 0x43,
+			0x1f, 0x32, 0xe3, 0x4a, 0xa1, 0xde, 0x6d, 0xdc,
+			0xc9, 0x54, 0xd8, 0x02, 0x45, 0x96, 0xbe, 0x78,
+			0x0b, 0xfd, 0x81, 0x2d, 0x6c, 0xff, 0xa5, 0x8e,
+			0x57, 0x07, 0x30, 0xa3, 0x00, 0x57, 0x1a, 0x4a,
+			0x52, 0x6c, 0xa1, 0xc2, 0x29, 0xcf, 0x81, 0x4d,
+			0xdb, 0x87, 0xa8, 0x43, 0xa6, 0x5b, 0xe6, 0x86,
+			0x90, 0x5a, 0x46, 0xac, 0x86, 0x35, 0x1d, 0xfe,
+			0x28, 0xc8, 0x56, 0x39, 0xde, 0x31, 0x3a, 0x8d,
+			0x93, 0x77, 0xaa, 0xa0, 0x4e, 0xfd, 0x09, 0xc8,
+			0xf6, 0x22, 0x1f, 0xe9, 0x7a, 0x16, 0xf0, 0x43,
+			0xcc, 0xc7, 0x24, 0x81, 0x9d, 0xfb, 0x62, 0xbd,
+			0xf6, 0xf1, 0x8e, 0x7b, 0xae, 0x59, 0x9d, 0x14,
+			0xb6, 0x1f, 0x27, 0x1b, 0x3f, 0x58, 0x81, 0x8e,
+			0xc3, 0x08, 0xd6, 0x10, 0x9b, 0x44, 0xdb, 0x98,
+			0xd6, 0xec, 0x9e, 0x4a, 0x59, 0xd1, 0xe8, 0xcf,
+			0x36, 0x0c, 0x35, 0x06, 0xbd, 0x5a, 0xdc, 0x51,
+			0xa3, 0x25, 0xe6, 0x50, 0x2b, 0x90, 0x8c, 0x84,
+			0x20, 0xf3, 0x2c, 0xec, 0x36, 0xf7, 0xf9, 0x52,
+			0x2a, 0x8d, 0xb0, 0xba, 0x79, 0x2b, 0xce, 0x9b,
+			0x7f, 0xe8, 0x28, 0x85, 0x0a, 0xa6, 0x7b, 0x59,
+			0xb9, 0x10, 0xe5, 0x3d, 0x2b, 0x3b, 0x98, 0x24,
+			0xe0, 0xe2, 0x72, 0x6b, 0x62, 0x61, 0x2e, 0xe7,
+			0xb4, 0x79, 0xfc, 0x6d, 0x06, 0x6a, 0x70, 0x26,
+			0x6e, 0x60, 0x2d, 0x2f, 0x17, 0xd2, 0xa0, 0xc7,
+			0x5e, 0xca, 0x68, 0x52, 0x15, 0x56, 0x4f, 0x6d,
+			0x18, 0xde, 0x98, 0x14, 0xa2, 0x78, 0xd0, 0xb8,
+			0xc4, 0xab, 0xd3, 0x2a, 0x0e, 0x59, 0x9c, 0xec,
+			0xa6, 0x9d, 0x67, 0xbc, 0x47, 0xd7, 0xc7, 0x86,
+			0xbe, 0x6f, 0x1b, 0xa7, 0x81, 0x87, 0x45, 0x50,
+			0x5e, 0xd7, 0x66, 0x4c, 0x24, 0x28, 0xab, 0xa0,
+			0xe4, 0x59, 0xe5, 0xdb, 0x8b, 0x79, 0x62, 0xa0,
+			0x94, 0xcb, 0x6c, 0x1e, 0xfc, 0xdb, 0xa2, 0x2b,
+			0x02, 0x29, 0xf5, 0xa3, 0xed, 0xfc, 0x00, 0x86,
+			0x19, 0x5f, 0x68, 0x31, 0x86, 0xd9, 0x63, 0x90,
+			0x78, 0xb7, 0xec, 0xbd, 0x84, 0x61, 0xeb, 0xfd,
+			0x8d, 0xcd, 0xfd, 0xa0, 0xeb, 0xb3, 0x76, 0xc0,
+			0x0e, 0x98, 0xc7, 0x4c, 0x42, 0x7d, 0x92, 0xec,
+			0x2e, 0x9a, 0xf7, 0x2a, 0x20, 0x35, 0xe1, 0x3b,
+			0x43, 0x6b, 0xec, 0x0a, 0xd1, 0x4f, 0xc0, 0x59,
+			0x04, 0x9c, 0x2b, 0x38, 0x56, 0xcc, 0x01, 0xdc,
+			0x40, 0x48, 0xf9, 0x9d, 0xa4, 0x08, 0xb9, 0xb5,
+			0x42, 0x45, 0x07, 0x78, 0x52, 0x44, 0x07, 0x29,
+			0x97, 0x1c, 0x0b, 0xc4, 0x1c, 0x69, 0xc8, 0x45,
+			0xa1, 0x2b, 0xbf, 0x40, 0x78, 0x0e, 0xee, 0xc0,
+			0x23, 0xd8, 0x1e, 0x8f, 0x48, 0x85, 0x89, 0x58,
+			0xc0, 0x46, 0x91, 0xd2, 0x88, 0x17, 0x89, 0x9c,
+			0x4b, 0xb6, 0x6b, 0xac, 0xbb, 0x85, 0x99, 0x65,
+			0x16, 0x39, 0xec, 0x3c, 0x76, 0x4f, 0x51, 0x12,
+			0xc3, 0xfc, 0x2f, 0x71, 0x2e, 0x35, 0x77, 0x0d,
+			0x66, 0xab, 0x5b, 0x7f, 0x09, 0x63, 0xfd, 0x12,
+			0xf6, 0xac, 0xe8, 0x1f, 0xdd, 0xd6, 0x25, 0x7e,
+			0x52, 0x52, 0x0d, 0xc9, 0xe5, 0x32, 0x0a, 0x45,
+			0xff, 0x0e, 0x78, 0x8c, 0x72, 0x4f, 0x28, 0xac,
+			0x7b, 0xfa, 0xab, 0x7b, 0x76, 0x42, 0xad, 0x64,
+			0xb6, 0xa3, 0xe6, 0xda, 0x64, 0x1a, 0x17, 0xa5,
+			0x20, 0x00, 0x5c, 0x2a, 0xa9, 0xe5, 0xb3, 0x9e,
+			0x57, 0xf9, 0x65, 0x2b, 0x4a, 0x86, 0xa4, 0x5a,
+			0x36, 0x6e, 0xed, 0x68, 0x72, 0x47, 0xfc, 0xea,
+			0xb1, 0x14, 0x0b, 0xf6, 0x7a, 0x11, 0x1b, 0xe7,
+			0x7d, 0x57, 0xe9, 0x28, 0x10, 0xaf, 0x25, 0x01,
+			0x57, 0x4f, 0x4b, 0x0b, 0x9f, 0xa6, 0xcb, 0x1f,
+			0x20, 0x79, 0x4f, 0xe3, 0xc2, 0xc4, 0xf6, 0x45,
+			0xcf, 0x8c, 0xb7, 0x7b, 0x5e, 0x28, 0x58, 0x39,
+			0xfe, 0xa7, 0xad, 0x55, 0x65, 0x50, 0x6b, 0xd7,
+			0x44, 0x0f, 0x46, 0x24, 0xec, 0xac, 0x9f, 0xf9,
+			0xa0, 0x8a, 0xda, 0xdd, 0x25, 0x01, 0x6d, 0x07,
+			0x5c, 0x31, 0x4c, 0x15, 0xcc, 0x63, 0x23, 0x31,
+			0x10, 0xfa, 0x03, 0x05, 0x6f, 0xc9, 0xe3, 0x1b,
+			0x7a, 0x93, 0x07, 0xa0, 0x1d, 0x06, 0x02, 0x62,
+			0x35, 0xd7, 0x88, 0x62, 0xa5, 0x87, 0x45, 0x6b,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0xb0, 0xfd, 0x6d, 0x90, 0x96, 0x40, 0xee, 0x80,
+			0xa5, 0x07, 0x91, 0x96, 0xd4, 0xe9, 0x23, 0xc2,
+			0x33, 0xd3, 0x66, 0xb8, 0xc9, 0xe0, 0x42, 0xf6,
+			0x4e, 0x58, 0x30, 0x2b, 0xa3, 0xda, 0x04, 0x98,
+			0x0e, 0x08, 0x1b, 0x1c, 0x6a, 0x05, 0xdb, 0xb2,
+			0xa1, 0x45, 0xe4, 0xc2, 0x8f, 0x6e, 0x6d, 0x3a,
+			0x43, 0x78, 0xa7, 0x34, 0x72, 0x6e, 0xb0, 0x1f,
+			0x60, 0x9d, 0x88, 0xbb, 0xf9, 0xf2, 0x37, 0xae,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x25, 0x09, 0x7a, 0x53, 0x87, 0x5b, 0xd7, 0x3d,
+			0xc4, 0xfc, 0xec, 0x46, 0x67, 0xb5, 0x52, 0xbf,
+			0xf0, 0x43, 0x67, 0xd8, 0x55, 0xdc, 0x45, 0xbf,
+			0x0e, 0x71, 0xa0, 0xaf, 0x6d, 0x90, 0x16, 0x62,
+			0x09, 0x50, 0x05, 0x6a, 0xdf, 0xf9, 0x2e, 0x97,
+			0xaa, 0x17, 0x1d, 0x8a, 0xc3, 0xd8, 0x16, 0x80,
+			0xc7, 0xec, 0xed, 0xf7, 0x77, 0x92, 0xaa, 0x7e,
+			0xa0, 0xa9, 0x61, 0xb9, 0x0c, 0xfe, 0x3a, 0x38,
+			0x8a, 0x75, 0xda, 0x7f, 0x21, 0x3d, 0x8a, 0x2c,
+			0x6e, 0x2d, 0xe3, 0xb3, 0x4d, 0xe1, 0xba, 0xa7,
+			0xed, 0xa2, 0xf9, 0x7a, 0x5c, 0xa9, 0xa5, 0x78,
+			0x86, 0xb8, 0x18, 0xb8, 0xe9, 0x62, 0xa8, 0xa6,
+			0x69, 0x34, 0x36, 0xbb, 0x93, 0xb7, 0xf2, 0x6b,
+			0x25, 0x5e, 0x6c, 0x28, 0x8e, 0x92, 0xf7, 0x50,
+			0x81, 0xe7, 0xba, 0x07, 0x75, 0x31, 0xd2, 0xcb,
+			0x6f, 0x50, 0xc4, 0x49, 0x25, 0x6b, 0xd1, 0x07,
+			0x98, 0x40, 0xe3, 0x75, 0x19, 0xe8, 0xad, 0xd2,
+			0x91, 0x30, 0xd3, 0x34, 0xd2, 0xd3, 0x8e, 0x0f,
+			0xc7, 0x13, 0x1f, 0xed, 0xd6, 0x88, 0x13, 0xf0,
+			0x73, 0xd7, 0x65, 0x32, 0xeb, 0xa6, 0x0a, 0x5a,
+			0x17, 0x4f, 0x86, 0xd6, 0x37, 0x24, 0x95, 0xcc,
+			0xdd, 0xd3, 0x76, 0xaf, 0x4e, 0xc7, 0x54, 0xa8,
+			0x8a, 0xbf, 0x7b, 0xb8, 0xf3, 0xe7, 0x45, 0xd7,
+			0x7e, 0x76, 0xd3, 0x24, 0x7b, 0x95, 0xd8, 0xbc,
+			0x52, 0xde, 0xe5, 0x5a, 0x33, 0x6a, 0x2e, 0x3d,
+			0x2a, 0xd6, 0x93, 0x72, 0x74, 0x69, 0xfe, 0x6d,
+			0xb7, 0x26, 0x14, 0x83, 0x6c, 0xc3, 0xa2, 0x1c,
+			0xde, 0x17, 0x1b, 0x09, 0xf7, 0x52, 0x3a, 0x26,
+			0xa1, 0xfa, 0xd3, 0x0d, 0xf2, 0xb7, 0x2f, 0x94,
+			0xcf, 0xdb, 0xf0, 0x58, 0x42, 0x46, 0xf2, 0xc5,
+			0x64, 0xfd, 0x2d, 0x7e, 0x60, 0x7e, 0x13, 0x23,
+			0x46, 0x62, 0xd2, 0xf6, 0x4d, 0x07, 0xf8, 0xd1,
+			0x7c, 0xfc, 0xd2, 0x88, 0x18, 0xb2, 0xe2, 0x68,
+			0xb7, 0x6c, 0xb4, 0x87, 0xee, 0x59, 0x35, 0xd2,
+			0xf5, 0x3e, 0x4e, 0x9e, 0xfc, 0xc2, 0x93, 0x84,
+			0x1a, 0x18, 0x5e, 0x09, 0x70, 0x9e, 0xb9, 0x5a,
+			0xba, 0x9b, 0x68, 0x22, 0x6c, 0x8b, 0xb3, 0x4f,
+			0xc9, 0x9e, 0x7a, 0x77, 0xf4, 0x32, 0x66, 0xa3,
+			0x1b, 0xf7, 0x59, 0x15, 0xa3, 0xfb, 0x92, 0x54,
+			0x6b, 0x56, 0x8b, 0x19, 0x4c, 0x9e, 0x8d, 0x49,
+			0x56, 0x5e, 0x3d, 0x47, 0x99, 0x16, 0x5b, 0x00,
+			0xa0, 0x4e, 0x41, 0xbb, 0x42, 0x9f, 0xbd, 0x31,
+			0x3f, 0xe0, 0x40, 0x22, 0xd8, 0xf7, 0x42, 0x54,
+			0xcc, 0xbd, 0x2b, 0xbf, 0x7d, 0x09, 0x69, 0x18,
+			0xa6, 0x8e, 0x72, 0x3a, 0x8b, 0x69, 0x90, 0x91,
+			0x6f, 0xbb, 0x83, 0x34, 0x47, 0x2d, 0xfe, 0xb8,
+			0x72, 0xe4, 0xe0, 0xfc, 0xf6, 0x41, 0x2e, 0xb5,
+			0xed, 0x17, 0x4f, 0x91, 0xfe, 0x4c, 0xa6, 0xaa,
+			0xec, 0x1c, 0xfd, 0x6f, 0x25, 0x46, 0xf6, 0x84,
+			0xfe, 0x95, 0x03, 0xb3, 0xe1, 0xf3, 0xa7, 0x35,
+			0x18, 0x4d, 0x73, 0x8c, 0x1e, 0xab, 0x7a, 0x0c,
+			0xc7, 0xde, 0x2f, 0x84, 0x91, 0x29, 0x67, 0x95,
+			0x8d, 0xfe, 0x6f, 0x83, 0xb8, 0xd0, 0xba, 0xd5,
+			0xa2, 0xf7, 0xbb, 0xd1, 0xe2, 0x80, 0x8e, 0x62,
+			0xbc, 0xed, 0x56, 0x88, 0x0e, 0x05, 0x0c, 0xa4,
+			0xc6, 0xa7, 0xfb, 0x78, 0xc8, 0x52, 0x51, 0x56,
+			0x7e, 0xa2, 0xa9, 0xeb, 0x0a, 0xc1, 0xb7, 0xc3,
+			0x9f, 0x10, 0x91, 0xe1, 0xb8, 0x82, 0xa9, 0x63,
+			0xd1, 0x11, 0x39, 0x72, 0x45, 0xac, 0x98, 0xbd,
+			0x03, 0x4c, 0xd3, 0x15, 0x4d, 0x87, 0xcd, 0x8b,
+			0x35, 0x3f, 0xd0, 0x8a, 0x6d, 0xb7, 0x34, 0x85,
+			0xb7, 0xcc, 0xe5, 0xc2, 0xfc, 0xb8, 0x6d, 0xb6,
+			0x90, 0x3a, 0xef, 0x6f, 0x53, 0x02, 0x0c, 0x6c,
+			0x7d, 0x79, 0x51, 0xb8, 0xdf, 0x54, 0xa9, 0xf5,
+			0xf6, 0x9b, 0x80, 0xed, 0x97, 0x3b, 0x7e, 0xa1,
+			0xce, 0x3e, 0xa2, 0xd3, 0xce, 0xb2, 0x0c, 0x16,
+			0x28, 0x73, 0xf1, 0x5d, 0xeb, 0xc8, 0x6a, 0x10,
+			0x41, 0xbb, 0x14, 0x65, 0x48, 0x78, 0x18, 0xa3,
+			0x90, 0xb1, 0xc8, 0x5b, 0xf3, 0x65, 0xb3, 0xcb,
+			0x7c, 0x49, 0x87, 0x61, 0xa8, 0xf4, 0xdc, 0x58,
+			0x21, 0x12, 0x4b, 0xb8, 0x04, 0xf1, 0x1c, 0x7e,
+			0x7a, 0xd0, 0xc9, 0xde, 0x3f, 0x72, 0x5e, 0x5e,
+			0x6b, 0xf6, 0x73, 0x3e, 0x7c, 0x3d, 0xaf, 0x39,
+			0x9a, 0x3b, 0xa5, 0x8b, 0xea, 0x13, 0xa6, 0xb5,
+			0x3c, 0x13, 0xa1, 0x98, 0xa0, 0xbb, 0x75, 0xd2,
+			0xca, 0x0e, 0x3d, 0x8a, 0x08, 0x9f, 0x98, 0xb1,
+			0x5c, 0x59, 0x3a, 0xa5, 0x14, 0x3f, 0xc7, 0xfa,
+			0x71, 0xb8, 0xc0, 0x50, 0xa4, 0x35, 0xdd, 0x11,
+			0xaf, 0x10, 0x05, 0xc4, 0x66, 0x1c, 0xae, 0x9b,
+			0x43, 0xf3, 0x4f, 0xbd, 0xb1, 0xac, 0x3f, 0x7d,
+			0xe6, 0x99, 0xfc, 0xd3, 0x54, 0xc7, 0x82, 0xcc,
+			0xdc, 0xda, 0xe4, 0x1b, 0x15, 0x19, 0x70, 0x0a,
+			0xd0, 0x4a, 0xe2, 0x9d, 0x4c, 0xe9, 0x59, 0x12,
+			0x01, 0xab, 0x30, 0xfb, 0xe6, 0xe0, 0x74, 0x54,
+			0x25, 0xb5, 0xd9, 0x0e, 0x79, 0xba, 0x1b, 0x0b,
+			0x02, 0x4b, 0x0e, 0xf8, 0x81, 0x63, 0xf5, 0x54,
+			0xa0, 0xec, 0xf4, 0x80, 0x4a, 0x54, 0x2e, 0xda,
+			0xc4, 0x44, 0x97, 0xe4, 0xcb, 0xd5, 0x5f, 0x5a,
+			0x75, 0x21, 0x8d, 0xfd, 0x78, 0xed, 0x15, 0x97,
+			0x54, 0xd0, 0x77, 0x70, 0x8a, 0x62, 0xc7, 0x74,
+			0xd4, 0x1c, 0x7e, 0x28, 0x63, 0xae, 0x9d, 0xeb,
+			0x9e, 0xba, 0x40, 0x55, 0x52, 0x7e, 0x0d, 0xe9,
+			0x48, 0x20, 0x6d, 0x07, 0x39, 0xd0, 0x1a, 0x08,
+			0x1a, 0xea, 0xca, 0xbc, 0x96, 0x92, 0xaf, 0x34,
+			0xe6, 0x69, 0xe4, 0x23, 0xa7, 0x1e, 0x45, 0xbe,
+			0xd4, 0x7e, 0xd2, 0xb6, 0xb8, 0x86, 0xa3, 0x1d,
+			0xfd, 0x8e, 0xa0, 0x46, 0xca, 0x0e, 0xfe, 0xc9,
+			0xf5, 0x58, 0x44, 0x09, 0xf0, 0x5e, 0x1a, 0xf2,
+			0x0f, 0x88, 0x0f, 0x54, 0xf8, 0xb8, 0xcc, 0x2f,
+			0x1c, 0xd0, 0xe4, 0xd3, 0x21, 0x45, 0x66, 0x2e,
+			0x40, 0x59, 0xb8, 0x1e, 0x51, 0x19, 0x5a, 0x5c,
+			0x58, 0x6b, 0xb0, 0xde, 0xc8, 0x31, 0x77, 0xee,
+			0x02, 0xa0, 0xe3, 0xef, 0x84, 0x36, 0x48, 0xae,
+			0xa9, 0x41, 0x0c, 0x1b, 0xa4, 0xa2, 0xf7, 0x3e,
+			0x5d, 0xab, 0xd0, 0x02, 0x8b, 0x34, 0x4b, 0x42,
+			0x2c, 0xaf, 0x07, 0x32, 0x52, 0xc4, 0x2e, 0x8a,
+			0xbb, 0x37, 0xa5, 0x3c, 0x47, 0x19, 0x29, 0xde,
+			0x04, 0x87, 0xb6, 0x8d, 0xd5, 0x9c, 0x98, 0xa6,
+			0x06, 0x60, 0xf0, 0x37, 0x53, 0x29, 0x54, 0x98,
+			0xf0, 0x52, 0x8a, 0xb0, 0x6a, 0x1b, 0x8a, 0xde,
+			0x32, 0x1d, 0x4f, 0x53, 0x4f, 0x21, 0x48, 0x77,
+			0x97, 0xe6, 0x9e, 0x5a, 0x96, 0x34, 0x11, 0x67,
+			0xb8, 0xef, 0x9c, 0xad, 0x28, 0xee, 0xdf, 0xd2,
+			0x86, 0xdd, 0x0a, 0xfa, 0x5f, 0x2b, 0x39, 0xb3,
+			0x65, 0xda, 0xa6, 0xf7, 0x19, 0x15, 0xd1, 0x8f,
+			0x30, 0x2f, 0xfa, 0x24, 0x2f, 0x8a, 0x78, 0x72,
+			0x91, 0xdd, 0x28, 0x73, 0xfa, 0x2f, 0x6b, 0x1e,
+			0x8f, 0x60, 0x65, 0xa0, 0x93, 0x24, 0x3d, 0xdd,
+			0xc7, 0xed, 0x44, 0xba, 0x45, 0xa8, 0x60, 0xa4,
+			0x70, 0xaf, 0x6e, 0x2f, 0xc0, 0x86, 0xc6, 0x5e,
+			0xed, 0xed, 0xad, 0x7d, 0x10, 0xe4, 0x48, 0x04,
+			0xd7, 0xd8, 0x48, 0xfa, 0xbe, 0x5b, 0x5d, 0x43,
+			0x47, 0x0b, 0xcc, 0x75, 0x31, 0xed, 0x6e, 0x97,
+			0xb8, 0xff, 0x8c, 0x0d, 0x3b, 0x47, 0xdd, 0xff,
+			0x88, 0xd6, 0x98, 0x65, 0x76, 0xc2, 0x1b, 0xf6,
+			0xf0, 0x69, 0xcb, 0xaf, 0xa6, 0x79, 0x49, 0x99,
+			0xaf, 0xae, 0x7e, 0xa1, 0xa7, 0x1b, 0xc8, 0xc5,
+			0xf5, 0x40, 0xf6, 0xc9, 0x6a, 0xa4, 0xc1, 0xcb,
+			0x15, 0x35, 0x09, 0xb7, 0x85, 0x88, 0xc3, 0x6a,
+			0xcb, 0xc2, 0xa7, 0x5e, 0xcd, 0xc2, 0xe5, 0x7b,
+			0x92, 0xab, 0xd3, 0x6f, 0x59, 0x63, 0xe4, 0xb3,
+			0x50, 0x2f, 0x62, 0xad, 0x96, 0x00, 0x34, 0x60,
+			0x47, 0x0c, 0xef, 0x85, 0x70, 0xf9, 0xfd, 0x01,
+			0xaa, 0x3a, 0xcc, 0xc5, 0x22, 0x2e, 0xf7, 0xec,
+			0x4a, 0x5d, 0x08, 0x1d, 0x70, 0xa4, 0xe8, 0x51,
+			0x9a, 0x14, 0xa9, 0xda, 0xa2, 0xb3, 0x63, 0x44,
+			0x2e, 0x58, 0xb3, 0x32, 0xe2, 0x9c, 0x35, 0x0d,
+			0x02, 0x2f, 0x6c, 0xc1, 0xb9, 0xe9, 0x0f, 0x13,
+			0x02, 0x37, 0xdc, 0xc1, 0x97, 0xe2, 0x32, 0x1e,
+			0x6f, 0xba, 0xb8, 0xd1, 0xfd, 0xf0, 0xd5, 0x23,
+			0xe0, 0x7d, 0xae, 0x85, 0x1e, 0x9d, 0x0d, 0x7b,
+			0xfe, 0x40, 0xe8, 0x0d, 0xf1, 0x2c, 0xf0, 0xa9,
+			0xf7, 0x77, 0xbe, 0xb3, 0x8f, 0xe8, 0x47, 0xc2,
+			0x6a, 0x7d, 0x9a, 0xf4, 0x4e, 0xeb, 0x17, 0x8c,
+			0x62, 0xda, 0xcc, 0x85, 0x7b, 0x00, 0x9b, 0xc3,
+			0x14, 0xa4, 0x5b, 0xc6, 0xaf, 0x49, 0x6e, 0xf8,
+			0x2e, 0x76, 0x36, 0x05, 0xce, 0x19, 0x83, 0x7a,
+			0xdb, 0xcd, 0x99, 0x7a, 0x92, 0x0e, 0x1d, 0xd1,
+			0xfe, 0xc9, 0xec, 0x6f, 0xec, 0xdc, 0x96, 0x26,
+			0x71, 0x1b, 0x48, 0x72, 0x22, 0xe2, 0xf6, 0xbf,
+			0xc0, 0x34, 0xfe, 0x6c, 0xff, 0x3b, 0xc2, 0x9a,
+			0x73, 0x52, 0xbf, 0xc8, 0xda, 0x4a, 0xe5, 0xc4,
+			0x89, 0x3c, 0x81, 0x9c, 0x29, 0xa9, 0xee, 0x7d,
+			0x17, 0x71, 0xf0, 0xf6, 0x8d, 0x78, 0xac, 0x8a,
+			0x79, 0xfe, 0xfb, 0x37, 0x7e, 0xb3, 0x1a, 0xff,
+			0xf3, 0xd8, 0xd8, 0xa8, 0x15, 0x0e, 0xa0, 0x40,
+			0xf0, 0x1a, 0xa6, 0x1b, 0xc4, 0x63, 0x47, 0x65,
+			0x91, 0x32, 0xf5, 0x8a, 0x09, 0xe8, 0xb2, 0x14,
+			0xc8, 0xdb, 0x55, 0x66, 0x84, 0x17, 0x70, 0x96,
+			0x59, 0xd4, 0xcb, 0x13, 0xa1, 0x7e, 0x07, 0xa5,
+			0x55, 0x2e, 0xe0, 0xe6, 0xda, 0x4b, 0x7a, 0x6a,
+			0x19, 0x8b, 0x4c, 0x63, 0xc6, 0xaf, 0xe0, 0xeb,
+			0xe0, 0xf7, 0x0a, 0xe2, 0x04, 0x6f, 0xdd, 0xda,
+			0x39, 0xc0, 0xcf, 0xee, 0xab, 0xed, 0xec, 0x33,
+			0xfb, 0xf9, 0xcc, 0xb6, 0xc3, 0xa7, 0xa6, 0xc2,
+			0x22, 0x0c, 0xeb, 0xe1, 0x59, 0x8c, 0x34, 0x78,
+			0xe5, 0xa5, 0x11, 0xca, 0x6d, 0x46, 0x81, 0xbe,
+			0x84, 0x44, 0x8e, 0x31, 0x24, 0x5c, 0x6b, 0xdd,
+			0x2a, 0x13, 0xe1, 0x00, 0x94, 0xbb, 0x3b, 0x16,
+			0xfc, 0x72, 0xa3, 0xc6, 0x24, 0x0a, 0xd1, 0x10,
+			0x03, 0x66, 0x16, 0xb9, 0x94, 0x1b, 0x96, 0xca,
+			0x99, 0x27, 0xd2, 0xb7, 0xb4, 0xfe, 0x3e, 0x25,
+			0xec, 0x57, 0xdf, 0x45, 0x7b, 0x53, 0x01, 0xf3,
+			0x07, 0xb9, 0x77, 0xfa, 0x85, 0x1d, 0x69, 0x69,
+			0x2a, 0xbd, 0xcd, 0x9c, 0x73, 0x07, 0xf8, 0x26,
+			0xce, 0xaf, 0x18, 0x94, 0xd5, 0x08, 0x3e, 0x6c,
+			0xb8, 0x64, 0x57, 0xb8, 0xfc, 0xc1, 0xa2, 0xed,
+			0xf3, 0x20, 0x17, 0xe8, 0x93, 0x27, 0x3e, 0xc6,
+			0x4b, 0xf1, 0x2f, 0x21, 0x16, 0x1f, 0x60, 0x52,
+			0x94, 0x0b, 0x25, 0x42, 0x8a, 0x2e, 0x0b, 0x5d,
+			0x42, 0x91, 0xca, 0x77, 0x52, 0x8e, 0xbd, 0x3d,
+			0x82, 0x2b, 0xd5, 0xed, 0x53, 0x4a, 0x84, 0x9a,
+			0x9d, 0xc4, 0xb1, 0x75, 0x87, 0x95, 0x19, 0xa6,
+			0x46, 0x7f, 0xb8, 0xd0, 0x56, 0x18, 0xf8, 0xa6,
+			0x8f, 0xce, 0x64, 0xcd, 0xa5, 0x34, 0xf4, 0xd7,
+			0x02, 0x5e, 0xe1, 0xb1, 0x8f, 0x42, 0x3b, 0xbe,
+			0x18, 0x4d, 0xf8, 0x26, 0xa4, 0x1e, 0x5c, 0xf0,
+			0xd5, 0x73, 0x28, 0xdf, 0xaa, 0x73, 0x08, 0xee,
+			0x72, 0x52, 0x3d, 0x63, 0xfb, 0x82, 0x71, 0x88,
+			0xe5, 0x35, 0x54, 0xbc, 0xf8, 0x3f, 0xd0, 0x39,
+			0x1c, 0xc7, 0x86, 0x86, 0x80, 0x37, 0x1c, 0x88,
+			0xf0, 0xff, 0x65, 0x3d, 0x94, 0x07, 0x7f, 0x97,
+			0x65, 0xd2, 0xb2, 0xf6, 0xb2, 0xd8, 0x56, 0x23,
+			0xe4, 0xbb, 0xfe, 0xef, 0x80, 0x53, 0x7b, 0xd3,
+			0x44, 0x11, 0xb2, 0x32, 0x8b, 0x93, 0xea, 0x15,
+			0x2d, 0x3b, 0x80, 0x38, 0xdc, 0xfe, 0x80, 0x78,
+			0xd9, 0x01, 0x60, 0xc3, 0x03, 0xce, 0x96, 0x89,
+			0x00, 0x9e, 0x48, 0xa4, 0xfa, 0x33, 0x08, 0xe6,
+			0x1d, 0xca, 0xff, 0xbc, 0xbf, 0x2c, 0xa3, 0xfd,
+			0xf4, 0x6d, 0x25, 0x5c, 0xf7, 0x83, 0x0e, 0x9b,
+			0x97, 0xbf, 0xea, 0x8a, 0xcc, 0x7f, 0x74, 0xac,
+			0x77, 0xc6, 0x99, 0xb7, 0x02, 0xd0, 0xc7, 0x65,
+			0x76, 0x8e, 0x43, 0x0a, 0x23, 0xdc, 0xb5, 0x76,
+			0x85, 0x04, 0x2b, 0xc7, 0xf7, 0x67, 0xc4, 0xa8,
+			0xbc, 0x02, 0x91, 0xdb, 0x24, 0x50, 0xb8, 0x51,
+			0xb5, 0x74, 0xb2, 0x04, 0xeb, 0x83, 0x51, 0x0d,
+			0xa2, 0x74, 0xea, 0x72, 0xc8, 0x2f, 0x08, 0x61,
+			0x46, 0xa5, 0x5a, 0x09, 0x97, 0x9c, 0x2d, 0x81,
+			0xb4, 0x1b, 0x94, 0x75, 0x4a, 0x96, 0x30, 0x26,
+			0xda, 0xf8, 0x32, 0xb3, 0x07, 0xa6, 0xa7, 0x66,
+			0xdf, 0xca, 0xfd, 0xdf, 0x47, 0xcf, 0x66, 0x58,
+			0x81, 0x4c, 0x82, 0x58, 0xba, 0xa9, 0x03, 0xf9,
+			0xa9, 0xed, 0xd2, 0xf6, 0xe5, 0xec, 0x26, 0xf0,
+			0xa6, 0xc9, 0x54, 0x6f, 0x9a, 0x4b, 0x64, 0x93,
+			0xc3, 0xf9, 0xb6, 0x0a, 0xc2, 0x36, 0x5c, 0x23,
+			0xed, 0xfc, 0x0f, 0x6c, 0x91, 0x23, 0x69, 0x48,
+			0xbf, 0x3c, 0x85, 0x41, 0x8d, 0xd0, 0xcf, 0x28,
+			0x3a, 0x71, 0x63, 0x91, 0x04, 0x85, 0x81, 0x70,
+			0x06, 0x3e, 0x6c, 0x73, 0x8a, 0x33, 0xeb, 0x93,
+			0x52, 0xd5, 0x13, 0x55, 0xe5, 0xcb, 0x49, 0x60,
+			0x74, 0x44, 0xe1, 0xaf, 0xe2, 0xd5, 0xae, 0x0f,
+			0x7c, 0x3f, 0x9a, 0x15, 0x05, 0x1f, 0xdf, 0x39,
+			0x51, 0x45, 0xca, 0x26, 0xda, 0x03, 0xd1, 0x90,
+			0x23, 0xd9, 0x35, 0xf8, 0x93, 0x31, 0xec, 0xe3,
+			0xfe, 0x73, 0xe3, 0xbd, 0xa9, 0x33, 0x90, 0x9b,
+			0xcf, 0x5b, 0x31, 0x3d, 0xfe, 0x05, 0x1a, 0xb8,
+			0x69, 0xe3, 0xb6, 0xe8, 0x39, 0xe5, 0x68, 0x98,
+			0x85, 0x8e, 0x90, 0x7b, 0x97, 0x85, 0x2e, 0x98,
+			0x98, 0x17, 0xd8, 0x6f, 0x9c, 0x39, 0x75, 0x1b,
+			0x74, 0x43, 0x53, 0xae, 0x1c, 0xd0, 0xa1, 0x0a,
+			0x66, 0xf0, 0xc9, 0x66, 0xb8, 0xde, 0xcf, 0x15,
+			0xbb, 0x71, 0x73, 0xb0, 0x84, 0xed, 0x0f, 0x0d,
+			0x5e, 0xdc, 0xb8, 0x3f, 0xa5, 0x56, 0xd9, 0x0a,
+			0x24, 0xb5, 0x84, 0x7b, 0xf4, 0x50, 0xd6, 0x88,
+			0x0f, 0x16, 0x35, 0x7f, 0x47, 0xf4, 0xfd, 0xb0,
+			0x0c, 0x03, 0xfc, 0x87, 0x7b, 0xa0, 0x37, 0x0e,
+			0xbd, 0xd5, 0x57, 0x5b, 0xa5, 0x19, 0xec, 0x52,
+			0xd8, 0x57, 0x7e, 0x81, 0xc8, 0x33, 0x6d, 0xc4,
+			0x7f, 0x41, 0xb0, 0x0d, 0xee, 0x53, 0x3b, 0x69,
+			0x14, 0x63, 0x1e, 0xe1, 0xc9, 0xa8, 0x00, 0xb2,
+			0x9f, 0x6a, 0x84, 0x69, 0x49, 0x38, 0x78, 0x0b,
+			0x20, 0xcf, 0x9e, 0x1e, 0x86, 0x41, 0xc8, 0x3f,
+			0x86, 0x65, 0x68, 0x45, 0x1a, 0x8d, 0x56, 0x5b,
+			0x80, 0xf9, 0xad, 0x03, 0x65, 0x32, 0xa0, 0xc6,
+			0x6d, 0x95, 0x81, 0x79, 0x89, 0x98, 0x1d, 0x74,
+			0x61, 0xe2, 0x0a, 0xa9, 0x88, 0x4d, 0xa3, 0x50,
+			0x3c, 0xfd, 0x10, 0x9a, 0x38, 0x06, 0x93, 0xb3,
+			0x2a, 0xef, 0x17, 0xcb, 0x24, 0xa5, 0x41, 0x5b,
+			0xdc, 0xb5, 0x6b, 0x31, 0x8d, 0xa7, 0x58, 0x0b,
+			0xb1, 0xc8, 0xc6, 0x1f, 0x2f, 0x28, 0x0e, 0x76,
+			0x63, 0x49, 0x89, 0x73, 0x23, 0xf8, 0x2b, 0x53,
+			0xc7, 0xd1, 0x9a, 0x69, 0x2c, 0x13, 0xd8, 0x1b,
+			0x99, 0x09, 0x53, 0xd3, 0x7d, 0xc2, 0x59, 0xd4,
+			0x4c, 0x99, 0x4f, 0xb5, 0x55, 0x0b, 0x64, 0xaa,
+			0x61, 0x08, 0x2d, 0xb2, 0x60, 0xe1, 0x69, 0x00,
+			0x24, 0xc9, 0x32, 0x5d, 0xb9, 0x03, 0xe6, 0x84,
+			0xd8, 0xcf, 0xa3, 0xa5, 0x57, 0xc2, 0x88, 0x23,
+			0xf0, 0x4a, 0x11, 0x7f, 0x34, 0xa5, 0x4f, 0xe9,
+			0xda, 0xfb, 0xbc, 0x81, 0x0c, 0xae, 0xaa, 0xa7,
+			0x83, 0xe7, 0xa9, 0x31, 0x2b, 0x69, 0xf3, 0x8a,
+			0x84, 0x0a, 0xeb, 0xf7, 0xb0, 0x3b, 0x48, 0x7d,
+			0x04, 0x0c, 0xb4, 0xaa, 0xb9, 0x16, 0x0e, 0x2c,
+			0xbd, 0x0d, 0x9d, 0x4a, 0x88, 0xe2, 0x80, 0x85,
+			0x2a, 0xd0, 0xb0, 0x65, 0x65, 0x4e, 0xbb, 0xf9,
+			0x33, 0x89, 0x08, 0xdf, 0x30, 0xcb, 0x7e, 0x6b,
+			0x78, 0x3a, 0x7d, 0xeb, 0x64, 0x44, 0x50, 0x22,
+			0xd1, 0xe9, 0x50, 0xc4, 0x7b, 0x5c, 0x86, 0x79,
+			0x88, 0xb5, 0x2a, 0x54, 0xed, 0x37, 0x06, 0x1e,
+			0x08, 0xc5, 0xfb, 0xb1, 0x13, 0xb4, 0x73, 0x0a,
+			0x5e, 0x0a, 0x88, 0x01, 0x57, 0x0c, 0x92, 0x18,
+			0x6c, 0xac, 0x83, 0x45, 0xa0, 0x96, 0x69, 0xdf,
+			0xb5, 0x18, 0xf7, 0x0e, 0x4e, 0x6c, 0x34, 0xe3,
+			0x65, 0x83, 0xde, 0x40, 0xa0, 0xa7, 0x17, 0xfc,
+			0x48, 0x87, 0x82, 0x4c, 0x0d, 0xa0, 0xd4, 0xc4,
+			0x4a, 0x21, 0x1b, 0x75, 0xbd, 0x05, 0x31, 0x9b,
+			0x24, 0x47, 0x0f, 0x44, 0x50, 0x06, 0x6e, 0xac,
+			0x28, 0xd6, 0x2e, 0xf5, 0xce, 0xcf, 0x4c, 0xd2,
+			0x23, 0xf1, 0x8c, 0x79, 0xad, 0x56, 0x64, 0xb1,
+			0x6a, 0x5e, 0x51, 0x16, 0x4e, 0x66, 0xd0, 0xfa,
+			0x34, 0x80, 0xab, 0x10, 0x9c, 0xdf, 0xc5, 0xa3,
+			0x3e, 0xd6, 0xdc, 0x0c, 0x8e, 0x36, 0xc3, 0x5d,
+			0xde, 0x13, 0xea, 0x6e, 0x0a, 0xb4, 0x31, 0x62,
+			0x50, 0x06, 0xad, 0xff, 0x0f, 0xe6, 0x7e, 0x51,
+			0xd9, 0xe8, 0x59, 0x8f, 0x83, 0xf2, 0x7c, 0x4b,
+			0x36, 0x60, 0xb0, 0x3d, 0xa0, 0x74, 0xc9, 0x95,
+			0xb1, 0xd9, 0x8d, 0x4d, 0x03, 0xc9, 0x31, 0xbd,
+			0x50, 0x58, 0xed, 0x8a, 0x73, 0xaf, 0x12, 0x6b,
+			0xa5, 0x1b, 0x87, 0xec, 0xc0, 0xea, 0xc3, 0x30,
+			0x5c, 0x7f, 0xab, 0xec, 0xb1, 0xfd, 0x82, 0x8d,
+			0xf9, 0x12, 0x28, 0xca, 0x62, 0xff, 0x60, 0xfd,
+			0xf1, 0xf0, 0xc9, 0x9a, 0x54, 0xf0, 0x81, 0x48,
+			0xed, 0xe4, 0x08, 0x12, 0xa6, 0x5f, 0x9a, 0xf8,
+			0x96, 0xaa, 0x49, 0x7d, 0xf2, 0x85, 0x6d, 0x4f,
+			0x0b, 0x19, 0xcc, 0xbe, 0x62, 0xaa, 0xbb, 0x15,
+			0xb4, 0x2b, 0x10, 0xb1, 0x4e, 0xcf, 0xe8, 0x31,
+			0xbc, 0xa1, 0x61, 0x8a, 0x31, 0x4e, 0xda, 0x8a,
+			0xcd, 0xe9, 0x81, 0x4f, 0xd5, 0xb5, 0x54, 0xf3,
+			0x93, 0x7d, 0x0c, 0x19, 0x65, 0xc1, 0x3d, 0xa5,
+			0x74, 0xee, 0xe3, 0xe1, 0x53, 0x70, 0x3b, 0xe1,
+			0x01, 0x0b, 0x10, 0xb8, 0x41, 0x89, 0x01, 0x76,
+			0xe9, 0xff, 0x7d, 0x68, 0x86, 0xfc, 0x79, 0x73,
+			0xac, 0xce, 0x6c, 0xc5, 0x90, 0xe1, 0x13, 0x91,
+			0xbd, 0x9b, 0x94, 0xdf, 0x64, 0xba, 0x6c, 0xd1,
+			0x5a, 0x4f, 0x0a, 0xf5, 0x99, 0xaa, 0x2b, 0x2f,
+			0x51, 0xd6, 0x82, 0x52, 0xe8, 0x42, 0x8c, 0xbe,
+			0xed, 0x5c, 0x87, 0x7e, 0xe8, 0xd3, 0x6e, 0x29,
+			0x89, 0x3a, 0x0f, 0xaa, 0xb4, 0x8c, 0x72, 0x31,
+			0x5c, 0x82, 0x4e, 0xaa, 0x21, 0xa3, 0x50, 0x5a,
+			0xa7, 0x89, 0x09, 0x2b, 0xdd, 0x2a, 0xad, 0xb0,
+			0x0a, 0xb9, 0x48, 0x15, 0x4c, 0x4c, 0xd5, 0x08,
+			0x8c, 0x26, 0x6a, 0xd0, 0x06, 0x8b, 0x95, 0xdd,
+			0x81, 0x1d, 0x19, 0x2d, 0x1b, 0xa5, 0x7c, 0x0c,
+			0xb0, 0x68, 0x7d, 0x60, 0x89, 0x6f, 0x41, 0xde,
+			0x90, 0xfc, 0x51, 0x25, 0xe9, 0x1b, 0x3c, 0xe5,
+			0xc0, 0x36, 0xf4, 0x7d, 0x0e, 0x53, 0xa5, 0x78,
+			0xca, 0x06, 0xd9, 0x8d, 0xdf, 0x1c, 0xc6, 0x5a,
+			0x72, 0x8e, 0xcf, 0x4f, 0xc4, 0x5a, 0x79, 0x65,
+			0xe2, 0x71, 0xb8, 0xa9, 0x4a, 0x12, 0x29, 0xcc,
+			0x7e, 0x1b, 0x64, 0x93, 0xc7, 0x5b, 0x2a, 0x12,
+			0x2d, 0x30, 0xc1, 0x55, 0x2f, 0xea, 0xb3, 0xa4,
+			0xfd, 0x2b, 0xa0, 0xc3, 0x65, 0x46, 0x60, 0xaf,
+			0x56, 0xea, 0x79, 0xf2, 0x7e, 0xaf, 0x73, 0xbc,
+			0x91, 0xd2, 0xd4, 0xa5, 0x9e, 0x6f, 0x62, 0x34,
+			0x53, 0x6c, 0x8f, 0x29, 0x17, 0x68, 0x47, 0xea,
+			0xed, 0xec, 0x8a, 0x25, 0x6d, 0x6c, 0x83, 0x16,
+			0x7d, 0x93, 0xd3, 0x44, 0xbd, 0x56, 0x30, 0xbd,
+			0x64, 0x20, 0xa0, 0xfb, 0x40, 0xf5, 0x62, 0x77,
+			0xe6, 0x08, 0x91, 0x35, 0x3a, 0x0a, 0xc4, 0x2d,
+			0x74, 0x76, 0xca, 0x6d, 0x73, 0xb2, 0x23, 0x84,
+			0xe7, 0x4a, 0xc6, 0xd2, 0xa1, 0xbe, 0xd5, 0x71,
+			0xac, 0xfe, 0x19, 0x77, 0xde, 0x6c, 0x40, 0xc4,
+			0x41, 0x34, 0x2c, 0x8f, 0x7c, 0x3d, 0x2d, 0xfe,
+			0x1f, 0x96, 0xf3, 0x5e, 0xfa, 0x33, 0xf8, 0xe6,
+			0xfe, 0x93, 0x88, 0xf6, 0xec, 0x46, 0xf8, 0x5e,
+			0xd7, 0x56, 0xf2, 0x39, 0x8d, 0xee, 0x24, 0x40,
+			0x0e, 0x77, 0xf4, 0xe0, 0xfe, 0x37, 0x15, 0xa8,
+			0x7a, 0x21, 0xbd, 0x13, 0x82, 0x03, 0xa6, 0xb7,
+			0x3c, 0x90, 0xdd, 0xa7, 0x60, 0x20, 0x9f, 0xc4,
+			0xad, 0xfe, 0xaf, 0xb3, 0x6e, 0xe9, 0xc6, 0x29,
+			0x69, 0x47, 0x6d, 0x04, 0x80, 0x5c, 0x9e, 0x76,
+			0x22, 0x93, 0x18, 0x5e, 0x29, 0xec, 0xff, 0xf6,
+			0x0b, 0x99, 0xbc, 0xa8, 0x6e, 0xd7, 0x72, 0xf7,
+			0xb7, 0xbd, 0xb7, 0xd3, 0x8e, 0x85, 0x28, 0xc3,
+			0xb3, 0x96, 0xa9, 0x2c, 0x56, 0x5c, 0xab, 0x9a,
+			0x86, 0x16, 0xb3, 0x55, 0x51, 0x31, 0x1d, 0x2c,
+			0x8a, 0x20, 0xa1, 0x2b, 0xee, 0xd3, 0x2b, 0xf1,
+			0xb6, 0xe3, 0xa8, 0xda, 0x32, 0xd3, 0xae, 0x51,
+			0x75, 0xd1, 0x1c, 0xe9, 0xe1, 0x26, 0xc4, 0x7f,
+			0x68, 0x84, 0xb5, 0xbb, 0xca, 0xae, 0x11, 0x90,
+			0xb1, 0x18, 0x71, 0xab, 0x00, 0x03, 0x6e, 0xff,
+			0x96, 0x33, 0x92, 0x20, 0x3b, 0xdd, 0xd0, 0x4d,
+			0xd1, 0x2b, 0x64, 0x8c, 0xda, 0xf1, 0x93, 0xf6,
+			0xd3, 0xdc, 0x22, 0x88, 0x19, 0xf2, 0xa7, 0x79,
+			0x27, 0xc2, 0x23, 0xa7, 0x4c, 0x4c, 0xd8, 0x5d,
+			0xa5, 0x20, 0xbe, 0x60, 0x2e, 0x75, 0x96, 0xd0,
+			0xbf, 0x39, 0x71, 0xb5, 0x16, 0xce, 0xbf, 0x37,
+			0xb5, 0x5a, 0xfc, 0xfd, 0x14, 0x7a, 0xac, 0x13,
+			0x87, 0x95, 0xcd, 0x1b, 0x89, 0x73, 0xcb, 0xd7,
+			0xdf, 0xee, 0x2e, 0xb1, 0xf3, 0x2a, 0xde, 0x77,
+			0xc9, 0x6c, 0x5c, 0xce, 0x77, 0x0d, 0xdd, 0x71,
+			0x13, 0x7a, 0xa2, 0xfc, 0xd5, 0x66, 0xc8, 0xf7,
+			0xb6, 0x98, 0xf8, 0xf1, 0x3b, 0x3f, 0x6f, 0x0e,
+			0xfe, 0x49, 0xb1, 0xbf, 0xf8, 0x29, 0xc9, 0x4c,
+			0x8b, 0xda, 0xcd, 0x15, 0x6b, 0xa5, 0xac, 0x0d,
+			0x7f, 0x4e, 0x3d, 0x15, 0x48, 0x19, 0x19, 0x59,
+			0x6a, 0xdd, 0xa7, 0x49, 0x91, 0x31, 0xe6, 0x72,
+			0x82, 0xc8, 0x27, 0x53, 0xa0, 0xcb, 0x47, 0xf4,
+			0x58, 0xd2, 0x1f, 0xd8, 0x04, 0x90, 0xc3, 0x5b,
+			0x02, 0xc2, 0x8f, 0x4a, 0x09, 0x81, 0xd0, 0xe6,
+			0x6e, 0x84, 0x82, 0x37, 0xa6, 0xb5, 0x55, 0x7e,
+			0xfd, 0xa2, 0x2b, 0x90, 0xd2, 0x2c, 0x6b, 0xab,
+			0x9b, 0x16, 0xf8, 0xe0, 0xe6, 0x02, 0xcd, 0x29,
+			0x68, 0x99, 0xaa, 0xe5, 0xca, 0x31, 0xe0, 0x7e,
+			0xca, 0x4a, 0xa4, 0xdd, 0x8c, 0x04, 0x43, 0x44,
+			0x3b, 0x73, 0x78, 0x76, 0xa6, 0x4c, 0x02, 0xf1,
+			0x00, 0x4e, 0xbc, 0xfa, 0x2e, 0xc8, 0xbc, 0x82,
+			0x04, 0x9f, 0xf5, 0x17, 0xc4, 0x91, 0x6d, 0x97,
+			0x60, 0xaf, 0xa7, 0x92, 0xd7, 0xd3, 0x19, 0x97,
+			0xba, 0x79, 0x43, 0xa2, 0x62, 0x9a, 0xf6, 0x46,
+			0xa5, 0x13, 0xa8, 0xd9, 0x7c, 0x9a, 0x31, 0x66,
+			0x5b, 0x26, 0x84, 0x69, 0x52, 0x23, 0x09, 0x49,
+			0xc5, 0x8b, 0x79, 0x16, 0x8e, 0xa0, 0x22, 0xd8,
+			0x05, 0xb6, 0x9b, 0xd3, 0xc1, 0x71, 0xec, 0xaa,
+			0xc7, 0xba, 0x07, 0xb3, 0x47, 0xbe, 0x76, 0x3b,
+			0x2b, 0x20, 0x87, 0x8f, 0xcd, 0x35, 0x91, 0x8b,
+			0x28, 0xb9, 0xa7, 0x68, 0x98, 0x82, 0x3f, 0xfb,
+			0xe3, 0x51, 0x17, 0x5c, 0xc6, 0xad, 0x81, 0xe7,
+			0x6d, 0x93, 0xf5, 0xe8, 0xc2, 0x27, 0x1a, 0xf3,
+			0x66, 0x08, 0x41, 0xa2, 0x84, 0x7f, 0x8b, 0x29,
+			0xee, 0xec, 0x77, 0xc7, 0x9b, 0x60, 0x6a, 0xc3,
+			0xb2, 0x97, 0x4b, 0x37, 0xd9, 0x69, 0xf2, 0xfe,
+			0x5f, 0xd7, 0x47, 0xff, 0x5b, 0xe1, 0x9b, 0x14,
+			0x9d, 0xb0, 0x4f, 0xd1, 0xc4, 0xc0, 0x70, 0x56,
+			0xa9, 0x64, 0xa3, 0x1c, 0xf0, 0xbd, 0x4e, 0x25,
+			0x15, 0xa6, 0x39, 0xbd, 0x7c, 0xcd, 0x06, 0x06,
+			0x55, 0x81, 0x56, 0xe7, 0x87, 0xe8, 0xb6, 0xff,
+			0xdf, 0xdd, 0x6c, 0x5f, 0x8a, 0xbb, 0x20, 0x25,
+			0x98, 0xb6, 0xbd, 0x6b, 0x20, 0x79, 0x74, 0x67,
+			0x5e, 0x43, 0xae, 0x3e, 0x9c, 0xca, 0xef, 0xdc,
+			0x1e, 0x7e, 0xaf, 0xa0, 0x63, 0x33, 0xe0, 0xb1,
+			0x32, 0xb7, 0xbc, 0x4e, 0x41, 0x9b, 0x42, 0xe4,
+			0xad, 0xb3, 0x67, 0x79, 0x8b, 0x41, 0xc2, 0xa4,
+			0x84, 0xac, 0x1d, 0xc1, 0xfe, 0xc0, 0xae, 0x35,
+			0x3f, 0xca, 0xc7, 0x2e, 0x02, 0x91, 0xd1, 0x1b,
+			0xfc, 0xa8, 0x12, 0xd2, 0x92, 0xdd, 0x53, 0x40,
+			0xa0, 0x55, 0xbd, 0x23, 0x3a, 0x88, 0xcf, 0x3f,
+			0x76, 0xf1, 0x31, 0x81, 0x7c, 0x0c, 0x17, 0x39,
+			0x94, 0xf6, 0xcc, 0x55, 0x4c, 0xe7, 0x85, 0xa6,
+			0xca, 0xc0, 0x30, 0x9a, 0x7e, 0x11, 0x41, 0x35,
+			0xb6, 0x9c, 0xa0, 0xb4, 0x08, 0xa9, 0xe4, 0x2e,
+			0x0f, 0xa6, 0x8f, 0x73, 0xb5, 0x42, 0x04, 0x7c,
+			0x69, 0x61, 0xc7, 0x5d, 0x67, 0x45, 0x6f, 0x3c,
+			0x82, 0xab, 0xac, 0x21, 0x1c, 0x11, 0x03, 0x98,
+			0x1a, 0xa4, 0xc5, 0x1b, 0x4e, 0x3e, 0xb6, 0x5e,
+			0x0a, 0xb3, 0xc3, 0x25, 0x01, 0xd2, 0x03, 0x78,
+			0xe2, 0x8b, 0x3a, 0xf5, 0xac, 0xbc, 0x48, 0xf5,
+			0x4a, 0x91, 0xc6, 0x69, 0xfb, 0x88, 0x2e, 0x52,
+			0x46, 0x96, 0xd5, 0xf6, 0x07, 0x30, 0x95, 0x85,
+			0x1e, 0xbe, 0x2d, 0x5c, 0x45, 0x72, 0xd4, 0xcc,
+			0xef, 0xfc, 0x28, 0x1b, 0xbe, 0xc4, 0x2c, 0xa5,
+			0x03, 0x15, 0xf9, 0x1e, 0x26, 0x4f, 0x47, 0xc3,
+			0x52, 0xab, 0x4b, 0x93, 0x37, 0xa3, 0x8b, 0x1c,
+			0x13, 0xbe, 0x89, 0xa3, 0x42, 0x65, 0x8c, 0x0d,
+			0x00, 0x2f, 0xce, 0x10, 0x88, 0x6e, 0x02, 0x77,
+			0x45, 0x28, 0xd0, 0xd8, 0xfc, 0xd3, 0xc2, 0x9f,
+			0x76, 0xcb, 0xf1, 0x1e, 0x67, 0xae, 0xa4, 0xde,
+			0xe4, 0xdc, 0x84, 0x12, 0x42, 0x15, 0x04, 0x89,
+			0xa0, 0xe1, 0xfb, 0xfe, 0x16, 0x07, 0x8d, 0x34,
+			0x55, 0xb7, 0x01, 0x2a, 0x6e, 0x8d, 0x50, 0xaa,
+			0x3d, 0x5e, 0x42, 0xf5, 0x6d, 0xa3, 0x0a, 0x9d,
+			0xc2, 0x91, 0xcf, 0x1d, 0x0a, 0x84, 0xbd, 0xb9,
+			0xdc, 0xa6, 0xcc, 0xa6, 0x6a, 0x96, 0x69, 0x79,
+			0xe7, 0x5b, 0xb9, 0xf9, 0x6b, 0x24, 0xf1, 0xc8,
+			0x92, 0xe2, 0x1e, 0x2a, 0x22, 0xa4, 0x7b, 0x70,
+			0xd2, 0xd7, 0xf2, 0xf1, 0x93, 0x79, 0x92, 0x0c,
+			0x4f, 0xc4, 0xad, 0x95, 0x25, 0x29, 0x04, 0xea,
+			0x72, 0xe3, 0xce, 0xd5, 0xd0, 0xc1, 0x23, 0xad,
+			0x6f, 0x3d, 0xd6, 0xa9, 0x39, 0x2b, 0x24, 0x8d,
+			0xa7, 0x72, 0x23, 0xeb, 0xa5, 0xa4, 0x11, 0x10,
+			0x4a, 0x89, 0x2f, 0x7b, 0xe5, 0x06, 0xa2, 0xaa,
+			0xd8, 0xe8, 0x96, 0xeb, 0xf1, 0x7b, 0x74, 0x06,
+			0x65, 0x10, 0x8b, 0xc3, 0xa9, 0x0f, 0xae, 0x73,
+			0xd5, 0xb0, 0xea, 0x25, 0x77, 0xfd, 0xa6, 0x41,
+			0x55, 0x85, 0x72, 0xa6, 0x9d, 0xf3, 0x94, 0x5f,
+			0x00, 0x37, 0x6f, 0x63, 0x64, 0x0c, 0x99, 0xde,
+			0x36, 0x29, 0x89, 0x98, 0x88, 0x9e, 0xd9, 0x97,
+			0x63, 0xd8, 0xfa, 0x13, 0x7a, 0x1f, 0x7e, 0x47,
+			0x6a, 0xe9, 0xac, 0x18, 0x11, 0x69, 0xf4, 0x92,
+			0x04, 0xc9, 0xec, 0x54, 0xaa, 0x69, 0x79, 0x8b,
+			0xbb, 0x49, 0x81, 0x54, 0xeb, 0x3e, 0x87, 0xcc,
+			0x63, 0xee, 0x1b, 0x07, 0x4b, 0x75, 0x93, 0x8a,
+			0x81, 0x1b, 0x5e, 0xc3, 0x05, 0x6d, 0x1d, 0x8d,
+			0x27, 0x59, 0xf7, 0xc6, 0xe9, 0x37, 0xf4, 0x71,
+			0xcd, 0x1e, 0x27, 0x84, 0xd6, 0x4e, 0x1f, 0x07,
+			0x1f, 0xe1, 0xf0, 0xaa, 0xc2, 0x71, 0x6b, 0x4f,
+			0x15, 0xcf, 0x55, 0x62, 0xda, 0xcb, 0xe1, 0x49,
+			0x7c, 0x46, 0xee, 0x58, 0x6e, 0x57, 0x09, 0xd8,
+			0xef, 0xed, 0xa3, 0x8c, 0xa2, 0x63, 0x4a, 0x23,
+			0x55, 0x04, 0x49, 0x0d, 0x47, 0x2a, 0x22, 0xf8,
+			0x1f, 0xfd, 0x99, 0xab, 0x59, 0x18, 0x45, 0x9c,
+			0xce, 0xd5, 0x37, 0x84, 0xc9, 0xe7, 0x5c, 0x9c,
+			0xb8, 0xc8, 0x91, 0x4f, 0xc7, 0x97, 0xd2, 0x1f,
+			0xb0, 0x0f, 0x2e, 0x08, 0xaa, 0x10, 0x1d, 0x21,
+			0xb9, 0xbe, 0xb3, 0xa6, 0x3b, 0x09, 0xe0, 0x40,
+			0x05, 0xc1, 0x93, 0x32, 0x9e, 0xea, 0x73, 0x9e,
+			0x30, 0xe5, 0x74, 0x72, 0xcb, 0xf2, 0xfe, 0xf9,
+			0x83, 0xf5, 0x8c, 0xc8, 0x39, 0xc7, 0x90, 0xe9,
+			0x31, 0x0e, 0xcf, 0x0e, 0xa3, 0x11, 0xee, 0x74,
+			0xd9, 0x13, 0x40, 0x42, 0xd7, 0x04, 0xbd, 0x68,
+			0x60, 0xcd, 0xe5, 0x7c, 0x40, 0x96, 0xee, 0x88,
+			0x5e, 0x1a, 0xea, 0x17, 0x40, 0x5a, 0x95, 0xe6,
+			0xa9, 0xb2, 0x5e, 0xcb, 0x8a, 0x4f, 0xca, 0x18,
+			0x35, 0x62, 0x39, 0x02, 0xdb, 0x7b, 0x92, 0x16,
+			0x03, 0x18, 0xca, 0x84, 0xf0, 0xa5, 0x23, 0xb7,
+			0x82, 0x6e, 0x47, 0x72, 0xaa, 0x07, 0xe5, 0x27,
+			0x9f, 0x8a, 0x78, 0xd8, 0xa3, 0xca, 0xa4, 0x8f,
+			0xee, 0xcc, 0xda, 0x45, 0x8a, 0x56, 0x5e, 0x0f,
+			0x83, 0x10, 0x14, 0x0c, 0x71, 0x2a, 0x8b, 0xc7,
+			0xa5, 0x25, 0x06, 0x07, 0x64, 0x2f, 0x6a, 0xac,
+			0x70, 0x36, 0xce, 0x47, 0xda, 0x1c, 0xc6, 0x80,
+			0xcb, 0xd1, 0x89, 0xd7, 0xdf, 0xfc, 0xd3, 0xb1,
+			0x15, 0xd1, 0x51, 0xa6, 0x25, 0xa0, 0xfa, 0x2d,
+			0x1a, 0x8e, 0xad, 0xc5, 0xa7, 0xeb, 0x26, 0x2c,
+			0x48, 0xf7, 0x26, 0x4e, 0x61, 0x0f, 0x79, 0x3f,
+			0x4c, 0x4d, 0x7d, 0x5c, 0x2e, 0x3d, 0x39, 0x16,
+			0x77, 0x00, 0x31, 0x1d, 0x75, 0xdf, 0xb3, 0x88,
+			0xf7, 0x4b, 0x2e, 0x30, 0x42, 0x8e, 0xbb, 0xd4,
+			0x0b, 0xf7, 0xfd, 0x4d, 0x41, 0xb5, 0x75, 0x50,
+			0xf9, 0x04, 0x3d, 0xf6, 0xbb, 0x0b, 0xf1, 0x5f,
+			0x51, 0xac, 0x3a, 0xb8, 0x95, 0xb3, 0x35, 0xf7,
+			0xea, 0x0f, 0x1b, 0xb5, 0x9c, 0xef, 0xa2, 0x34,
+			0x6e, 0xf4, 0x19, 0x47, 0xb6, 0xc8, 0xfb, 0x63,
+			0x3f, 0x60, 0x5f, 0xc6, 0x6e, 0x29, 0xce, 0x37,
+			0xe6, 0xf9, 0xf4, 0xae, 0xb7, 0xe3, 0x6b, 0x65,
+			0xd8, 0x63, 0xf0, 0x37, 0xbf, 0x53, 0xdf, 0xd4,
+			0xeb, 0xa1, 0xf1, 0xb0, 0x73, 0xe8, 0x0c, 0x12,
+			0xac, 0x71, 0xca, 0xb4, 0x0f, 0x66, 0xf6, 0x1b,
+			0x01, 0xcf, 0x36, 0x33, 0x33, 0xf0, 0xff, 0x56,
+			0x5d, 0x1b, 0x01, 0xb3, 0x12, 0x9d, 0x1e, 0x5f,
+			0x49, 0xd3, 0x56, 0x0a, 0x3d, 0xcf, 0xf7, 0x1e,
+			0x25, 0x39, 0xaf, 0x68, 0xd9, 0xa5, 0xbf, 0x5b,
+			0xed, 0x23, 0x14, 0xfb, 0x0c, 0xed, 0x74, 0x09,
+			0xd2, 0x4b, 0x81, 0x22, 0x1b, 0x4c, 0x38, 0x00,
+			0xae, 0x62, 0xf5, 0xc0, 0x72, 0x3c, 0xa8, 0x83,
+			0x4a, 0xd8, 0x6f, 0x6f, 0xbb, 0x71, 0x18, 0x68,
+			0x9f, 0x44, 0x6a, 0x6a, 0x4f, 0x93, 0x6e, 0x01,
+			0xd1, 0x40, 0x10, 0x2c, 0xaa, 0xf1, 0x94, 0xb6,
+			0x3a, 0x90, 0xb0, 0x8d, 0xa2, 0x4f, 0xaf, 0x70,
+			0xb2, 0x98, 0x4b, 0x40, 0x06, 0x47, 0x04, 0x82,
+			0x6e, 0x93, 0x09, 0x97, 0xd7, 0x96, 0x9c, 0x94,
+			0x76, 0xda, 0x01, 0xad, 0xbd, 0x2a, 0x67, 0xc3,
+			0x31, 0xd6, 0x46, 0x8b, 0x7d, 0x37, 0x4e, 0x1c,
+			0xa3, 0x24, 0xb9, 0x3a, 0x65, 0x19, 0x44, 0x85,
+			0xdf, 0x45, 0x35, 0x10, 0xc4, 0x68, 0x78, 0x45,
+			0x99, 0x60, 0x14, 0x91, 0x0b, 0x3e, 0xe3, 0xa4,
+			0xfe, 0xe6, 0x08, 0x12, 0xae, 0xc3, 0xa2, 0x8d,
+			0x48, 0xd0, 0x11, 0xd7, 0x7a, 0xd4, 0xde, 0x94,
+			0x09, 0xa5, 0xb0, 0xec, 0x3f, 0xf7, 0x49, 0xd0,
+			0x8e, 0x46, 0xf2, 0xc3, 0x3d, 0x6b, 0xaa, 0xca,
+			0x1e, 0xfa, 0x5a, 0xa6, 0x9f, 0x53, 0xca, 0x3c,
+			0xdb, 0x4b, 0xf3, 0xa0, 0xe5, 0xc9, 0xd8, 0x08,
+			0xac, 0xe0, 0x95, 0x49, 0xf0, 0x2a, 0x02, 0x29,
+			0xe0, 0xc1, 0x87, 0x53, 0x8e, 0xa4, 0xab, 0xff,
+			0xc1, 0x3f, 0x2c, 0xaf, 0x0f, 0xbd, 0x0b, 0xfc,
+			0x43, 0x2e, 0xb6, 0x9d, 0xa1, 0x93, 0x87, 0x88,
+			0xc5, 0xc4, 0x47, 0xac, 0x61, 0xa2, 0x62, 0xbf,
+			0x35, 0xab, 0x11, 0x41, 0x5d, 0xf4, 0x3b, 0x3f,
+			0xb4, 0xaa, 0x51, 0x9e, 0xee, 0x6c, 0x70, 0xc3,
+			0x4e, 0xed, 0x49, 0xfc, 0x40, 0xb2, 0x02, 0x34,
+			0x5e, 0x82, 0x30, 0x68, 0x7e, 0x1a, 0xe6, 0xcd,
+			0x84, 0xef, 0xe4, 0x33, 0x45, 0x42, 0xc4, 0x8e,
+			0x54, 0xb9, 0x4c, 0x9d, 0xbf, 0x3b, 0x76, 0xfb,
+			0xfb, 0x27, 0xd8, 0xcd, 0x2f, 0x74, 0x3c, 0xda,
+			0x0f, 0xba, 0x3d, 0x2b, 0x92, 0x48, 0x14, 0x6e,
+			0xec, 0x6d, 0x26, 0xe3, 0xa6, 0x57, 0x55, 0x82,
+			0xd0, 0x38, 0xe2, 0xef, 0xab, 0xa7, 0xb1, 0x2b,
+			0x33, 0xe6, 0xf5, 0xa3, 0x61, 0x48, 0xb2, 0xf0,
+			0x2e, 0x37, 0x94, 0x38, 0x99, 0x39, 0x8c, 0x70,
+			0x4f, 0x50, 0xa6, 0x16, 0x03, 0x45, 0x2c, 0xae,
+			0x8e, 0x75, 0x0d, 0x6e, 0x3c, 0x54, 0xab, 0x15,
+			0xf9, 0x8d, 0xa8, 0x49, 0x54, 0x93, 0x62, 0x4e,
+			0x3d, 0xfb, 0x52, 0x32, 0xb4, 0x5e, 0xe0, 0xd5,
+			0xb9, 0xec, 0x2e, 0x26, 0x5d, 0x6d, 0x3d, 0xf0,
+			0xac, 0x54, 0x3c, 0xb0, 0x9d, 0xcf, 0x63, 0x22,
+			0x8e, 0x2a, 0xe3, 0xe7, 0xf0, 0x4f, 0x51, 0x1b,
+			0xf2, 0x4c, 0xe3, 0xb4, 0xa0, 0x78, 0x2d, 0xdb,
+			0x98, 0x99, 0xc0, 0xb9, 0x43, 0xf9, 0xbe, 0x72,
+			0x90, 0x6f, 0x21, 0x41, 0xff, 0xac, 0x63, 0x61,
+			0x5f, 0x54, 0x65, 0xde, 0x2d, 0x63, 0x76, 0xbc,
+			0x3c, 0x35, 0x62, 0xb8, 0x21, 0xa8, 0x5e, 0x4c,
+			0xf4, 0xfd, 0xa9, 0x73, 0x4f, 0x8b, 0xb9, 0xd1,
+			0x07, 0x64, 0x37, 0x92, 0x66, 0x1f, 0x41, 0xe1,
+			0xa1, 0xc7, 0xd9, 0x04, 0xc7, 0x1c, 0x81, 0x6a,
+			0x7f, 0x6d, 0x80, 0xec, 0xed, 0x84, 0x8b, 0xf3,
+			0xc3, 0xa7, 0xcb, 0x12, 0x2b, 0xd6, 0x27, 0x20,
+			0x20, 0x99, 0x30, 0x37, 0x50, 0xc4, 0xac, 0x63,
+			0x12, 0xb3, 0x8a, 0xcb, 0x16, 0xf1, 0x52, 0x7d,
+			0xa5, 0xab, 0xc4, 0xea, 0x83, 0xdb, 0x52, 0xbb,
+			0x97, 0x4c, 0xf7, 0x3c, 0x81, 0x67, 0x5b, 0xd8,
+			0xf8, 0xbc, 0xab, 0xf5, 0x7c, 0x93, 0x19, 0x41,
+			0x38, 0xa6, 0x0a, 0x78, 0x07, 0x03, 0xfd, 0x66,
+			0x9b, 0x5e, 0xc0, 0x60, 0x3f, 0xf8, 0xe1, 0x12,
+			0xd9, 0x1b, 0x72, 0x80, 0x75, 0xfa, 0x38, 0xc9,
+			0xbb, 0x41, 0x6a, 0x29, 0xd0, 0x26, 0x5d, 0xa9,
+			0xa5, 0x26, 0x05, 0x5e, 0xea, 0x1f, 0x63, 0x8b,
+			0xa0, 0x41, 0x09, 0x58, 0x21, 0xa8, 0x33, 0x02,
+			0x32, 0xaf, 0x86, 0xf7, 0xdd, 0x4d, 0x80, 0xdd,
+			0x48, 0x14, 0x03, 0xe9, 0xbf, 0xed, 0xff, 0xbd,
+			0x11, 0x18, 0x49, 0x63, 0x67, 0x6d, 0x96, 0xc2,
+			0xec, 0xef, 0xf8, 0x6d, 0x7f, 0x8f, 0x99, 0xaf,
+			0xc4, 0x0b, 0x4f, 0x61, 0x67, 0x86, 0x8b, 0x97,
+			0x35, 0x98, 0xd0, 0xd5, 0xfc, 0x0d, 0x35, 0x3d,
+			0x47, 0x55, 0x56, 0x66, 0x68, 0xc5, 0xfd, 0x03,
+			0x52, 0x83, 0xa0, 0xcd, 0xea, 0x05, 0x41, 0x4a,
+			0xa5, 0xe1, 0xec, 0x14, 0x1e, 0x26, 0x29, 0x2c,
+			0x39, 0x51, 0x9c, 0x9e, 0xe5, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x0b, 0x11, 0x18, 0x1d, 0x27,
+			0x2d, 0x33, 0x3d, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa87",
+		.pk_len = DILITHIUM87_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM87_PUBLICKEYBYTES]){
+			0xf0, 0xb2, 0xb4, 0x8a, 0x7e, 0x17, 0x02, 0xdf,
+			0x75, 0xc1, 0x1f, 0xd7, 0x0f, 0xfd, 0x02, 0x86,
+			0x74, 0x08, 0xb2, 0x1a, 0xf6, 0xbd, 0xbe, 0x4e,
+			0xad, 0x38, 0x2c, 0x48, 0x2e, 0x83, 0x71, 0xbb,
+			0xc0, 0x3b, 0xa0, 0x34, 0xd5, 0xfa, 0x3e, 0xfd,
+			0xba, 0x87, 0x19, 0x3a, 0x7f, 0xe0, 0x71, 0x45,
+			0x4d, 0x0a, 0xa2, 0x15, 0x93, 0x4a, 0x0a, 0x0a,
+			0x7e, 0xb5, 0xc7, 0x1b, 0x28, 0xb1, 0x13, 0x7c,
+			0x00, 0xc6, 0x89, 0xaf, 0x7f, 0x9c, 0x44, 0xec,
+			0x31, 0xff, 0x27, 0x53, 0x7b, 0x16, 0x45, 0xe0,
+			0x9f, 0x1d, 0x80, 0x70, 0x00, 0xe2, 0xa8, 0xd7,
+			0x69, 0x7d, 0xfc, 0x43, 0xef, 0x59, 0xaf, 0xfe,
+			0xdb, 0x79, 0x1a, 0x5b, 0xc2, 0x8b, 0x73, 0x1b,
+			0x6f, 0xf0, 0x8a, 0x6f, 0xd2, 0x74, 0x75, 0xbc,
+			0x13, 0xee, 0xb3, 0x70, 0x07, 0x82, 0x66, 0x1a,
+			0xb5, 0xee, 0xa4, 0xec, 0xae, 0xce, 0x3e, 0xc1,
+			0x21, 0xa0, 0x9e, 0xa9, 0x9d, 0x15, 0x5c, 0x9d,
+			0xa8, 0xef, 0xb2, 0x1e, 0x90, 0x41, 0x70, 0xe2,
+			0x39, 0x05, 0xed, 0xb6, 0x8a, 0x09, 0xfd, 0x81,
+			0x6e, 0x9b, 0xf6, 0x77, 0xd6, 0x5c, 0x1d, 0xd2,
+			0x04, 0xb8, 0x2e, 0xae, 0xdc, 0x5e, 0x5a, 0x23,
+			0x4a, 0x07, 0x3f, 0x95, 0x96, 0xc0, 0x94, 0x1f,
+			0xd2, 0x8b, 0x58, 0x17, 0x0b, 0x7b, 0xd3, 0x70,
+			0x90, 0xe2, 0xf9, 0xcf, 0x42, 0x92, 0xc6, 0x3e,
+			0x96, 0x29, 0x4b, 0xd3, 0x76, 0xd5, 0xf3, 0xdc,
+			0xda, 0x33, 0x52, 0xfd, 0x30, 0x72, 0xc8, 0x9c,
+			0xd0, 0xca, 0x3b, 0x52, 0xfa, 0x7c, 0x2f, 0xca,
+			0x99, 0x97, 0xdf, 0x03, 0x62, 0xf2, 0x90, 0x94,
+			0xb4, 0x89, 0xda, 0x72, 0x16, 0x3d, 0xed, 0x0e,
+			0xdc, 0xe0, 0x23, 0x80, 0x43, 0x05, 0xdc, 0x42,
+			0xf8, 0x16, 0xdf, 0x4a, 0xd2, 0xeb, 0x7d, 0xb3,
+			0x5c, 0xb0, 0x86, 0xb8, 0x43, 0xd5, 0x9b, 0x88,
+			0xd0, 0xb3, 0xa0, 0x68, 0x7f, 0x1e, 0x3b, 0xe1,
+			0x2d, 0x1c, 0x3d, 0x9f, 0x12, 0x61, 0xc2, 0x55,
+			0xce, 0xd1, 0xda, 0x6e, 0x1a, 0xd5, 0x10, 0xb3,
+			0x60, 0xde, 0x90, 0x58, 0x87, 0x94, 0x73, 0x40,
+			0xde, 0xdc, 0x0d, 0x8d, 0x36, 0x0b, 0xb5, 0x2a,
+			0x28, 0xae, 0xfb, 0x39, 0x90, 0x04, 0x55, 0xfd,
+			0x88, 0x81, 0x4e, 0x68, 0x0a, 0xf0, 0xed, 0xa7,
+			0x69, 0x25, 0xd2, 0xc3, 0xcd, 0x32, 0x75, 0x49,
+			0xac, 0xc5, 0xc8, 0xb9, 0x02, 0x1a, 0xb3, 0x57,
+			0xa5, 0x30, 0xa7, 0xc1, 0x03, 0x44, 0xcf, 0x58,
+			0x00, 0xeb, 0x23, 0x4b, 0xb6, 0x3b, 0x6b, 0x5e,
+			0x20, 0xcd, 0xac, 0x4a, 0x8e, 0xc6, 0xca, 0x33,
+			0xb6, 0x17, 0x5c, 0x76, 0x15, 0x30, 0xc8, 0xb5,
+			0x6b, 0x4c, 0x68, 0x46, 0x88, 0x31, 0xca, 0xae,
+			0x45, 0xe6, 0x8f, 0x2a, 0x69, 0x29, 0xfd, 0x7c,
+			0x95, 0x31, 0xa0, 0x8b, 0xc9, 0x35, 0x50, 0x24,
+			0xb6, 0xc4, 0x94, 0xf8, 0x74, 0xe0, 0xb0, 0x5a,
+			0xd5, 0x30, 0x11, 0x49, 0x37, 0x8a, 0x53, 0x68,
+			0x9e, 0xc3, 0x9e, 0xc2, 0x4e, 0x51, 0x97, 0xd8,
+			0x1b, 0x03, 0x4f, 0xa3, 0xc8, 0x6d, 0xdf, 0xdb,
+			0x2a, 0xfe, 0xf7, 0x78, 0xf7, 0xc3, 0xa7, 0xc6,
+			0x9e, 0xce, 0xb3, 0x77, 0x8c, 0xf7, 0x95, 0x26,
+			0xe5, 0x84, 0xa0, 0x0d, 0xc6, 0x8c, 0xae, 0x1e,
+			0xed, 0x23, 0xa0, 0x0c, 0xaa, 0xa1, 0x35, 0x63,
+			0x96, 0x4a, 0x8a, 0x83, 0xee, 0x96, 0xdd, 0xf1,
+			0x1d, 0xdb, 0xc3, 0x1c, 0x6d, 0xe7, 0x5b, 0xe6,
+			0x9c, 0x89, 0xe5, 0xe6, 0x8b, 0xf3, 0x61, 0xa4,
+			0xfd, 0x9a, 0xc6, 0xc1, 0x21, 0xb3, 0x39, 0x75,
+			0xcc, 0x1d, 0x84, 0x1f, 0x5b, 0xb9, 0xbd, 0x21,
+			0x6b, 0x3b, 0xdc, 0x7b, 0x52, 0x2d, 0x65, 0xcb,
+			0x1b, 0x47, 0x8c, 0xb6, 0x33, 0x6f, 0x07, 0xb1,
+			0xc8, 0x7e, 0x9a, 0x50, 0x69, 0xfc, 0x04, 0x43,
+			0xf1, 0x79, 0xf1, 0xd6, 0x34, 0x71, 0x35, 0x82,
+			0x8f, 0xdd, 0xab, 0x09, 0xe9, 0x74, 0xa3, 0xdf,
+			0x4a, 0x51, 0x70, 0xe5, 0x68, 0xae, 0x03, 0x3d,
+			0x3c, 0xab, 0x2b, 0x4c, 0x82, 0xfb, 0xd2, 0x3d,
+			0xcc, 0x83, 0x18, 0xaf, 0xc0, 0x0e, 0xa2, 0x0c,
+			0x7a, 0x10, 0x61, 0x8a, 0x2d, 0xc0, 0x69, 0xf5,
+			0x63, 0x3d, 0x46, 0x35, 0x3e, 0xd6, 0x58, 0xe0,
+			0x91, 0xbf, 0xf8, 0xe3, 0xd6, 0xb7, 0xce, 0x93,
+			0xa7, 0xc7, 0x4c, 0x62, 0xb9, 0xc6, 0xba, 0xcf,
+			0x4e, 0x4a, 0xb2, 0x24, 0x6a, 0xab, 0x2e, 0xdb,
+			0x5f, 0x80, 0x6a, 0x6b, 0xfe, 0x5e, 0xe2, 0x94,
+			0x4e, 0x5c, 0xde, 0x5a, 0x19, 0xee, 0xe6, 0xc2,
+			0xe0, 0x22, 0xf6, 0x20, 0x31, 0x5e, 0x33, 0x6a,
+			0xc5, 0xfb, 0xa1, 0x0a, 0x6a, 0x15, 0xde, 0x1c,
+			0x5f, 0xce, 0x3f, 0x33, 0xa7, 0x7e, 0x0f, 0x07,
+			0x57, 0x7e, 0x40, 0x67, 0xd1, 0x95, 0x3f, 0x87,
+			0xb2, 0x9a, 0xef, 0xb0, 0xa2, 0x9c, 0x13, 0xf6,
+			0x45, 0xb2, 0x69, 0x3c, 0x31, 0x09, 0x2d, 0x0d,
+			0x29, 0x87, 0xb1, 0x7a, 0xb5, 0x7a, 0x03, 0x87,
+			0xc6, 0x42, 0x63, 0x72, 0xee, 0x01, 0x0f, 0xda,
+			0xb8, 0x1a, 0x14, 0x2d, 0x5d, 0x83, 0x4f, 0x56,
+			0x04, 0x83, 0xd2, 0x35, 0x37, 0xaa, 0xf8, 0xd3,
+			0xd6, 0xca, 0x2f, 0xcd, 0xfd, 0xef, 0xb3, 0xa9,
+			0x27, 0xbd, 0x93, 0xe3, 0x20, 0xda, 0xb4, 0x9e,
+			0x65, 0x33, 0x39, 0x10, 0xc2, 0x19, 0x0e, 0x6c,
+			0xaa, 0x5d, 0xc6, 0xe6, 0x96, 0x96, 0xa9, 0x78,
+			0xd1, 0x86, 0x09, 0x24, 0x2b, 0x6a, 0xce, 0x79,
+			0xa4, 0x94, 0xe1, 0xc0, 0x57, 0xac, 0x35, 0xb9,
+			0xff, 0xb2, 0x0b, 0xdf, 0x98, 0xc6, 0x0d, 0xbf,
+			0xb1, 0x4b, 0xe7, 0x30, 0x8c, 0x1c, 0x9e, 0x41,
+			0x2c, 0xa8, 0x8c, 0xb3, 0x98, 0xa0, 0x98, 0x43,
+			0x39, 0xb5, 0x0c, 0x6a, 0x6f, 0xa3, 0x1c, 0x32,
+			0xb0, 0x20, 0xe7, 0x52, 0xf2, 0x79, 0x43, 0xa7,
+			0xa8, 0xd5, 0xbc, 0x04, 0x89, 0xf3, 0x2d, 0x77,
+			0xf4, 0x44, 0x54, 0x98, 0xb2, 0xbb, 0x53, 0xbc,
+			0xc5, 0x70, 0x3f, 0x5b, 0xda, 0xcc, 0x14, 0xac,
+			0xad, 0x94, 0xd1, 0x72, 0x3f, 0x0e, 0xaa, 0x52,
+			0xc4, 0xab, 0xe8, 0xf2, 0x2a, 0x9e, 0x22, 0xda,
+			0x5f, 0x02, 0xc8, 0x0d, 0x54, 0x89, 0xfc, 0x3c,
+			0x2b, 0x44, 0x18, 0x38, 0x94, 0xbd, 0x67, 0x74,
+			0x5c, 0x27, 0x13, 0x35, 0xa0, 0x0b, 0x70, 0x19,
+			0xc4, 0xcc, 0xeb, 0xa9, 0xdf, 0xcf, 0x69, 0x9d,
+			0xcf, 0x31, 0x86, 0xa1, 0xfc, 0x0f, 0x99, 0xbe,
+			0xfb, 0xb1, 0x02, 0x0d, 0x62, 0x13, 0xc0, 0x2b,
+			0xa5, 0x53, 0x0c, 0xa1, 0x8c, 0x52, 0x47, 0xe3,
+			0x5d, 0x31, 0xdb, 0xa0, 0xf8, 0xd2, 0x13, 0xc4,
+			0xa0, 0x75, 0x37, 0x46, 0x57, 0x82, 0x50, 0xcd,
+			0x7f, 0x22, 0x93, 0x5d, 0x06, 0x26, 0x32, 0x22,
+			0x49, 0xf6, 0xd5, 0x8f, 0xab, 0x64, 0x1c, 0x63,
+			0x3b, 0xe5, 0xf9, 0xb4, 0x6e, 0x8a, 0xfe, 0x9d,
+			0x14, 0x46, 0x34, 0xc7, 0x79, 0x03, 0x21, 0x44,
+			0xf6, 0x9c, 0xad, 0x67, 0xd4, 0x79, 0x82, 0xf2,
+			0x66, 0x66, 0x8b, 0xd7, 0x9c, 0x1a, 0x83, 0xa0,
+			0xc4, 0x79, 0x9d, 0x37, 0x02, 0x1b, 0x37, 0xb3,
+			0x22, 0xea, 0x59, 0x58, 0xe1, 0x28, 0xa5, 0x7a,
+			0x69, 0x88, 0x00, 0x2f, 0xaf, 0x4f, 0x5a, 0x85,
+			0x9b, 0x17, 0xdd, 0x0e, 0x56, 0x40, 0xb5, 0xde,
+			0x26, 0xfd, 0x31, 0xeb, 0x2a, 0x9f, 0x7d, 0xaf,
+			0x55, 0xfb, 0x10, 0x27, 0xd1, 0x84, 0x2c, 0xab,
+			0xd9, 0xee, 0x1d, 0xff, 0x30, 0x73, 0xdf, 0x34,
+			0x0d, 0xe1, 0x5c, 0x9f, 0xec, 0x46, 0x0f, 0x63,
+			0xd1, 0x7a, 0x59, 0xd2, 0x9b, 0xdb, 0x98, 0xa5,
+			0x5c, 0xbd, 0x09, 0xc5, 0xce, 0xa4, 0x78, 0xf1,
+			0xf5, 0x69, 0x4a, 0x63, 0xbd, 0xae, 0x6b, 0xcb,
+			0x90, 0xa9, 0x68, 0x90, 0x30, 0x04, 0x43, 0xdd,
+			0xba, 0xed, 0xfb, 0x6e, 0xab, 0x9d, 0x35, 0xcc,
+			0x45, 0xa4, 0x07, 0xe1, 0xfd, 0x05, 0x89, 0x93,
+			0xc1, 0x09, 0xe7, 0xc0, 0x3f, 0x91, 0x95, 0xbb,
+			0xba, 0x37, 0xa7, 0x33, 0xef, 0xae, 0x1a, 0x33,
+			0xde, 0xa9, 0x41, 0x9e, 0x4a, 0x98, 0x17, 0x10,
+			0x55, 0x83, 0xee, 0x9c, 0x8e, 0x51, 0x75, 0x87,
+			0x7d, 0xcb, 0xbf, 0x4e, 0x1f, 0x0d, 0xf6, 0x43,
+			0x20, 0x5d, 0x0d, 0xf5, 0x50, 0x9e, 0x6b, 0x47,
+			0x7b, 0x8a, 0xa6, 0xa7, 0xdc, 0x78, 0xde, 0xc1,
+			0x2d, 0x5e, 0x3e, 0x94, 0x41, 0xbe, 0x59, 0x6e,
+			0x76, 0x16, 0x72, 0x31, 0xf2, 0x76, 0xb1, 0x6a,
+			0xa3, 0x74, 0x01, 0x77, 0xc5, 0x6c, 0x32, 0x7c,
+			0xb8, 0xd3, 0x09, 0x57, 0x22, 0xaa, 0x3e, 0x93,
+			0x94, 0x7d, 0x70, 0xc9, 0x81, 0xfb, 0x64, 0x6e,
+			0xaf, 0xcc, 0xe7, 0x97, 0x6b, 0x33, 0x8f, 0x3c,
+			0x82, 0xd4, 0xf6, 0xa0, 0x9a, 0x15, 0x03, 0x94,
+			0xdc, 0x35, 0xf5, 0x00, 0x66, 0xf8, 0xee, 0x85,
+			0x9c, 0xc4, 0xb1, 0xe8, 0x6b, 0x1b, 0xb2, 0x16,
+			0x0c, 0xd8, 0x86, 0xa1, 0x69, 0x34, 0x49, 0xb7,
+			0x5a, 0xe0, 0xff, 0x8b, 0x51, 0xf7, 0xbb, 0x2e,
+			0x35, 0x9e, 0xcf, 0x32, 0x01, 0x1e, 0xd0, 0x6f,
+			0xff, 0x37, 0xfe, 0xcb, 0x29, 0xc2, 0xc4, 0x74,
+			0xcd, 0xea, 0x41, 0x68, 0x06, 0x7b, 0x82, 0x1b,
+			0x23, 0xf6, 0x4a, 0x67, 0xad, 0xe2, 0x6c, 0x69,
+			0x48, 0x1b, 0x10, 0xf8, 0x14, 0x74, 0x8f, 0x87,
+			0x80, 0x2c, 0xfa, 0xd7, 0xb5, 0x3c, 0xdb, 0xbf,
+			0x2a, 0xdb, 0xe3, 0x74, 0x63, 0x36, 0xae, 0x46,
+			0x05, 0xec, 0x14, 0xbf, 0x41, 0x97, 0xea, 0x19,
+			0x49, 0x49, 0x12, 0x1e, 0xab, 0x92, 0x8e, 0x95,
+			0x38, 0x02, 0x06, 0x82, 0x87, 0x52, 0xca, 0x37,
+			0x4c, 0x88, 0x76, 0xe3, 0x0f, 0x19, 0x64, 0x52,
+			0xab, 0x78, 0x11, 0xea, 0x12, 0xa4, 0x1f, 0x75,
+			0x8c, 0x29, 0x0d, 0x78, 0x25, 0x92, 0x32, 0xf5,
+			0xe6, 0xb2, 0x84, 0xfe, 0x4b, 0x9e, 0xbf, 0xbe,
+			0x9a, 0x08, 0x97, 0x0e, 0xaa, 0x1e, 0x1a, 0x4c,
+			0x79, 0xca, 0xe1, 0x47, 0x98, 0xf4, 0xdb, 0xc1,
+			0xe0, 0x09, 0x6f, 0xcf, 0x14, 0xbc, 0x2d, 0x18,
+			0xb5, 0x14, 0x09, 0xdd, 0x27, 0x21, 0xca, 0xa6,
+			0xe8, 0x01, 0xc7, 0xd7, 0xc2, 0xad, 0x77, 0xa7,
+			0x6c, 0xd4, 0x60, 0xfc, 0x32, 0x6d, 0xfe, 0xbd,
+			0x91, 0x06, 0x0e, 0x3d, 0x1f, 0xc8, 0xbf, 0x88,
+			0x69, 0x2d, 0x6f, 0x48, 0x6f, 0x1e, 0x8b, 0xf8,
+			0xa6, 0x81, 0x2e, 0x04, 0x98, 0xb6, 0xbd, 0x0f,
+			0x10, 0x0e, 0x96, 0xf2, 0xbc, 0xfd, 0x54, 0x4e,
+			0xd3, 0x76, 0x18, 0x98, 0x68, 0xc8, 0x7c, 0x33,
+			0x0b, 0x16, 0x35, 0xf8, 0x51, 0x89, 0xd8, 0xe5,
+			0x91, 0x70, 0xac, 0x5a, 0x25, 0x6f, 0xe1, 0xf3,
+			0x1f, 0xe1, 0xd8, 0xf1, 0xd2, 0xb2, 0x03, 0xb2,
+			0xb6, 0x11, 0x58, 0x19, 0xf0, 0x2c, 0xd5, 0x21,
+			0xca, 0x2f, 0xc3, 0x15, 0xb9, 0x8d, 0xfa, 0x52,
+			0x42, 0x4c, 0x9a, 0x78, 0x38, 0xf4, 0x57, 0xee,
+			0x75, 0xbe, 0x33, 0x89, 0x9b, 0x0a, 0xa3, 0xe7,
+			0x97, 0xc4, 0x77, 0xdf, 0xa5, 0xe6, 0x05, 0xf0,
+			0x7a, 0xb9, 0x84, 0x6c, 0xa1, 0x60, 0x51, 0x46,
+			0x9d, 0xce, 0x5b, 0x30, 0x56, 0x42, 0xf2, 0x30,
+			0xf1, 0xe4, 0x5f, 0x18, 0x13, 0xe3, 0xd0, 0xea,
+			0xa1, 0xc8, 0x48, 0xb3, 0x22, 0x3b, 0x32, 0x72,
+			0x92, 0x29, 0xa4, 0xc5, 0x8e, 0xcc, 0xdd, 0x0e,
+			0x6d, 0x8b, 0x49, 0x3e, 0xe9, 0xb5, 0xbd, 0x86,
+			0x9f, 0x8d, 0xa8, 0xf4, 0x24, 0x10, 0xf6, 0x57,
+			0xd1, 0x62, 0x8f, 0xe8, 0x31, 0x8f, 0xec, 0x4b,
+			0x86, 0xc4, 0xd0, 0x33, 0x1b, 0xac, 0x4f, 0xab,
+			0x61, 0x27, 0x1a, 0xb5, 0xa9, 0x0f, 0x30, 0x6f,
+			0x51, 0x42, 0x42, 0xd6, 0x8c, 0x7e, 0x10, 0x6b,
+			0x0b, 0xa1, 0xf9, 0x64, 0x62, 0xc7, 0x9d, 0xbf,
+			0xc6, 0xca, 0x5f, 0x6e, 0xbc, 0xc4, 0xdf, 0x7a,
+			0x5c, 0x62, 0x9e, 0xd9, 0x93, 0x8a, 0x96, 0xaa,
+			0x60, 0x96, 0x30, 0xbc, 0x96, 0xc6, 0x94, 0x15,
+			0xde, 0x12, 0x93, 0x58, 0xb5, 0x5f, 0x75, 0x67,
+			0xf7, 0x0d, 0x52, 0x3a, 0xd1, 0xb1, 0xae, 0xee,
+			0x92, 0x1c, 0x75, 0x56, 0xa3, 0x38, 0x81, 0xe2,
+			0x07, 0x32, 0x44, 0xd4, 0x17, 0xd2, 0x50, 0x9c,
+			0x8e, 0xe2, 0x80, 0x7a, 0xd3, 0x52, 0x8b, 0x33,
+			0xf8, 0xaf, 0x93, 0x93, 0xd5, 0x84, 0x85, 0xf5,
+			0x4d, 0x44, 0x71, 0x35, 0x88, 0x9e, 0x6d, 0x03,
+			0xfa, 0xea, 0x06, 0x06, 0x7c, 0x6c, 0x02, 0x88,
+			0xee, 0xc1, 0xd1, 0xf4, 0xe8, 0x51, 0x39, 0xa1,
+			0x39, 0x05, 0x5e, 0x8b, 0x37, 0x6f, 0x93, 0xf0,
+			0xfb, 0x4a, 0x38, 0x35, 0x5b, 0x6f, 0x75, 0x24,
+			0xbb, 0xa1, 0x42, 0xd5, 0x39, 0xbe, 0x18, 0x58,
+			0x1b, 0x6f, 0xd1, 0xd3, 0x0a, 0x9b, 0xeb, 0xa1,
+			0x6e, 0xa5, 0x69, 0xe8, 0x76, 0xd9, 0x75, 0xf1,
+			0x6d, 0x2f, 0xc2, 0xb7, 0x30, 0x0b, 0x99, 0xe2,
+			0x33, 0x87, 0x88, 0x5a, 0xc2, 0x64, 0x0b, 0x0e,
+			0x06, 0xd6, 0x28, 0x68, 0x8c, 0xaa, 0xaa, 0xf6,
+			0x9a, 0x30, 0xd4, 0x83, 0x90, 0x15, 0x0e, 0x83,
+			0xe7, 0x8d, 0x26, 0x58, 0x6c, 0xff, 0xa3, 0x33,
+			0xcd, 0x19, 0xe8, 0xe8, 0xa6, 0x93, 0x79, 0x45,
+			0x68, 0x85, 0xcb, 0x0a, 0x3b, 0x88, 0x74, 0x40,
+			0x40, 0x1d, 0xbc, 0x08, 0xfb, 0x6b, 0x17, 0xe7,
+			0xf1, 0x9e, 0x2b, 0x98, 0xe1, 0x87, 0xd6, 0x21,
+			0xb1, 0x9d, 0x47, 0xf4, 0xe3, 0x9f, 0xfb, 0xc7,
+			0x97, 0x13, 0x31, 0x59, 0x59, 0x46, 0x69, 0x5c,
+			0xbd, 0xb7, 0xb8, 0x97, 0x4b, 0x6c, 0x46, 0x34,
+			0x49, 0xc6, 0x6e, 0xd7, 0x62, 0x66, 0x54, 0x9f,
+			0x29, 0x66, 0x54, 0x75, 0x67, 0xf0, 0x68, 0x00,
+			0x43, 0x5e, 0xac, 0xf8, 0x24, 0xbf, 0xf5, 0xfd,
+			0xb8, 0xbc, 0x6c, 0x73, 0x7f, 0x34, 0xa4, 0x27,
+			0x31, 0xdd, 0x73, 0x3b, 0x57, 0xa7, 0x76, 0x01,
+			0x98, 0xdc, 0x6c, 0x97, 0x70, 0x60, 0xbb, 0x08,
+			0x53, 0x29, 0x26, 0x53, 0x5f, 0xd6, 0x1d, 0x4e,
+			0x25, 0xa0, 0x02, 0xd3, 0x10, 0x04, 0x96, 0xa2,
+			0xcb, 0x86, 0xb4, 0xd0, 0x91, 0x30, 0xe9, 0xe4,
+			0xe5, 0x2e, 0xe3, 0x22, 0x6c, 0x2c, 0xc8, 0xb2,
+			0xa8, 0xa6, 0x0c, 0xf0, 0x18, 0xf8, 0xf1, 0x76,
+			0x8a, 0x18, 0xd1, 0xc7, 0x98, 0x3c, 0x59, 0x62,
+			0xa2, 0xcb, 0x05, 0xeb, 0xc7, 0x0d, 0xec, 0xf4,
+			0x01, 0x36, 0x94, 0x32, 0x2a, 0xe6, 0x51, 0x77,
+			0xd7, 0x8f, 0x00, 0xea, 0x7a, 0x8e, 0x58, 0x10,
+			0xc1, 0x8a, 0x7d, 0x4c, 0x0d, 0x9c, 0x1e, 0x0d,
+			0xd8, 0x9c, 0x3f, 0xf0, 0xd7, 0xaa, 0xd7, 0xf3,
+			0x43, 0x88, 0x26, 0x30, 0x68, 0xd6, 0xf1, 0x07,
+			0x0e, 0x70, 0x4c, 0xd6, 0xfb, 0x10, 0xe1, 0xd6,
+			0xae, 0x41, 0xdf, 0x78, 0x7a, 0xc6, 0x54, 0x39,
+			0x45, 0x78, 0x1d, 0x26, 0x95, 0x0b, 0x20, 0x66,
+			0x16, 0x54, 0xad, 0x5f, 0x1c, 0x66, 0xf4, 0xc2,
+			0x68, 0x54, 0xfd, 0x3e, 0x61, 0x61, 0x0a, 0xd7,
+			0x23, 0xc4, 0x5b, 0xef, 0x36, 0x3d, 0x31, 0x95,
+			0xf4, 0x42, 0x8a, 0xf7, 0x5a, 0xf8, 0x83, 0x9e,
+			0xe8, 0x68, 0x57, 0x01, 0x4e, 0x18, 0x50, 0x5b,
+			0x82, 0xcd, 0x52, 0x7d, 0xa4, 0xb6, 0x1c, 0xe5,
+			0xd9, 0x8b, 0x9c, 0xd3, 0xfa, 0xfe, 0x5b, 0x6b,
+			0x89, 0x1c, 0x1d, 0xd3, 0xd2, 0x8a, 0xf8, 0xcb,
+			0x6d, 0xcb, 0x30, 0xc4, 0x66, 0x06, 0xfb, 0x83,
+			0xec, 0xc4, 0xae, 0x59, 0xbb, 0x6c, 0xae, 0x0e,
+			0x34, 0xe5, 0x32, 0xbf, 0x1a, 0xd6, 0x72, 0x7f,
+			0x49, 0x43, 0x85, 0x1b, 0x66, 0x22, 0x9b, 0x69,
+			0x8e, 0x46, 0x05, 0x6e, 0x95, 0xa7, 0x20, 0xc0,
+			0xc8, 0x0a, 0x0c, 0x51, 0x3c, 0x70, 0xde, 0x92,
+			0x82, 0xd3, 0x2a, 0x2a, 0x89, 0x8e, 0x9d, 0xc3,
+			0x01, 0xaa, 0x80, 0x61, 0x21, 0x3e, 0x7d, 0x86,
+			0x74, 0x38, 0x78, 0x37, 0x5a, 0x1e, 0xa3, 0x8d,
+			0xa5, 0xdb, 0x05, 0xdc, 0x48, 0x8a, 0x2f, 0x80,
+			0x46, 0x7f, 0xde, 0x4b, 0x99, 0x01, 0x55, 0x0f,
+			0xe7, 0x6c, 0x49, 0x65, 0x66, 0xae, 0xc2, 0xf9,
+			0x86, 0x71, 0x26, 0xf2, 0xbd, 0x00, 0x01, 0x38,
+			0x80, 0x9a, 0x42, 0xcc, 0xb0, 0xae, 0xda, 0x5f,
+			0xf6, 0xab, 0x27, 0xa6, 0x89, 0x6a, 0xce, 0x49,
+			0xbe, 0x5d, 0x3d, 0xc3, 0xde, 0x4c, 0xc7, 0x85,
+			0x39, 0x44, 0xe0, 0x33, 0x0a, 0x05, 0x96, 0x2f,
+			0x6f, 0xfa, 0x58, 0xf3, 0x63, 0xbf, 0x28, 0xc3,
+			0xef, 0xf6, 0xcb, 0xf1, 0xee, 0x36, 0x15, 0x3f,
+			0xc2, 0x94, 0xc3, 0xe0, 0xa9, 0x5f, 0x2e, 0x1d,
+			0x35, 0xc5, 0xf8, 0xb0, 0xf9, 0xde, 0xd7, 0xcd,
+			0xbd, 0x11, 0x04, 0x37, 0x72, 0x40, 0x9c, 0x33,
+			0xff, 0x17, 0xed, 0x3b, 0x0e, 0xbc, 0x02, 0x43,
+			0xe1, 0x09, 0xa0, 0xb8, 0x13, 0x7c, 0xcc, 0xe5,
+			0x0d, 0x1a, 0xdf, 0x0a, 0x88, 0xff, 0x6c, 0xfc,
+			0x01, 0x86, 0x51, 0x7a, 0x7e, 0x4b, 0x7b, 0x98,
+			0x45, 0xed, 0x32, 0xbf, 0x3c, 0x15, 0xef, 0xa7,
+			0x08, 0xa2, 0x34, 0x9f, 0xf5, 0x0b, 0x05, 0xed,
+			0x71, 0x2d, 0x1e, 0xa5, 0xe6, 0xe7, 0x74, 0x69,
+			0x9e, 0x3e, 0x64, 0x56, 0xf5, 0x4f, 0x4f, 0xf7,
+			0x77, 0x89, 0x1b, 0xd2, 0x73, 0xaa, 0x04, 0x73,
+			0x6d, 0x23, 0xd6, 0x60, 0x17, 0x1f, 0x95, 0xdd,
+			0x38, 0xa1, 0x9a, 0x1b, 0x4f, 0x53, 0x09, 0x8c,
+			0x59, 0xa0, 0x14, 0xd4, 0x92, 0x52, 0x4f, 0x0e,
+			0x43, 0x85, 0x2d, 0xfb, 0x98, 0x1a, 0x20, 0x46,
+			0x10, 0x81, 0xbb, 0x76, 0x17, 0xa2, 0xb2, 0xc8,
+			0xc7, 0xf5, 0xc2, 0xe5, 0x64, 0xbf, 0x53, 0xe5,
+			0x66, 0xd7, 0x08, 0x45, 0xa9, 0xb3, 0x79, 0xde,
+			0x5f, 0x2d, 0xbf, 0x96, 0xfd, 0x06, 0x51, 0xc9,
+			0x92, 0x78, 0x9b, 0x85, 0xdc, 0x77, 0x9f, 0xb7,
+			0x21, 0x52, 0xaf, 0x4b, 0x39, 0x10, 0x33, 0xef,
+			0x8c, 0x80, 0xac, 0x3e, 0x7b, 0x8a, 0x0f, 0x42,
+			0xed, 0x8f, 0xe1, 0xbc, 0x34, 0x32, 0x3b, 0xbd,
+			0xed, 0x94, 0x38, 0xa6, 0x77, 0x1a, 0xbf, 0xf6,
+			0x85, 0x22, 0xb7, 0x19, 0x9f, 0x27, 0xdf, 0x7a,
+			0x17, 0xcf, 0xc3, 0x61, 0x0d, 0xd5, 0x13, 0x6c,
+			0x3b, 0xa7, 0xb4, 0x26, 0x7b, 0x24, 0xf6, 0xd2,
+			0x6f, 0xdc, 0x48, 0xb3, 0xfc, 0x21, 0x68, 0x9f,
+			0xb3, 0xaf, 0x1e, 0x55, 0x7e, 0x7c, 0x2c, 0xa9,
+			0xb7, 0x19, 0x65, 0xf0, 0xc5, 0x79, 0x4b, 0x2c,
+			0x66, 0x83, 0xb7, 0xef, 0x00, 0x80, 0x8e, 0x1b,
+			0xc7, 0x62, 0xaf, 0x4d, 0x01, 0x96, 0x83, 0xb2,
+			0xda, 0x70, 0x0d, 0x18, 0xfa, 0x46, 0x2f, 0xaa,
+			0xaa, 0x2f, 0x99, 0x09, 0xa4, 0x85, 0x8a, 0xf7,
+			0x09, 0x20, 0xba, 0x08, 0x9c, 0xba, 0x87, 0xa1,
+			0x8c, 0xb0, 0x73, 0xee, 0x38, 0xb8, 0xde, 0x17,
+			0xe1, 0x8c, 0xcf, 0xa1, 0x2b, 0x98, 0xcf, 0x51,
+			0x7c, 0x60, 0x80, 0x26, 0x4a, 0x16, 0x0f, 0x50,
+			0x96, 0xab, 0x1e, 0x92, 0x12, 0xd3, 0x83, 0x4e,
+			0x50, 0x93, 0x19, 0x21, 0xdb, 0x69, 0x06, 0xf4,
+			0x69, 0xea, 0xc7, 0x1c, 0x86, 0xe5, 0x76, 0xb4,
+			0x4e, 0xc3, 0x15, 0xf8, 0x8a, 0xa9, 0xea, 0x1c,
+			0x41, 0x8f, 0xb1, 0xc4, 0x94, 0x8e, 0xed, 0x3a,
+			0xc0, 0xdf, 0x72, 0x6a, 0x49, 0x84, 0x2a, 0xa6,
+			0xe4, 0x14, 0x6d, 0xa1, 0x46, 0xa1, 0x0e, 0x61,
+			0xda, 0x38, 0xd3, 0x09, 0x8e, 0x03, 0xdf, 0x3c,
+			0xd9, 0x16, 0x34, 0x41, 0x8a, 0xb8, 0x71, 0x8f,
+			0x30, 0x44, 0x8f, 0x8f, 0xdf, 0x8d, 0x58, 0x30,
+			0xe1, 0xdc, 0x87, 0xf5, 0x74, 0xd3, 0xb9, 0xb0,
+			0xc9, 0xdd, 0x51, 0x2c, 0x4c, 0x2b, 0x56, 0xb3,
+			0xf8, 0xbe, 0x70, 0x21, 0xb4, 0x67, 0xc7, 0x06,
+			0x9b, 0xbd, 0x89, 0xb6, 0xfb, 0x7b, 0x5e, 0x37,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0xa2, 0xec, 0x18, 0x06, 0x52, 0x37, 0x8a, 0x91,
+			0x70, 0xea, 0x93, 0x79, 0xad, 0x55, 0x5f, 0x11,
+			0xe6, 0x4a, 0xc7, 0x80, 0x05, 0x18, 0x36, 0xfd,
+			0x12, 0xa6, 0x8b, 0x61, 0x5c, 0xf8, 0xea, 0xb0,
+			0x34, 0x02, 0xc2, 0x5a, 0x1b, 0x22, 0x61, 0x78,
+			0xb2, 0x97, 0xb8, 0xd5, 0x5a, 0x9b, 0x6d, 0x09,
+			0xb6, 0xaf, 0x84, 0x0b, 0xb2, 0x51, 0x6e, 0x9f,
+			0x9e, 0x30, 0xec, 0x80, 0x79, 0xda, 0x14, 0x22,
+			},
+		.sig_len = DILITHIUM87_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM87_CRYPTO_BYTES]){
+			0x48, 0x35, 0xc3, 0x69, 0x56, 0x2d, 0xef, 0xbf,
+			0xd9, 0x1b, 0x71, 0xce, 0x99, 0x94, 0x1c, 0x02,
+			0xc6, 0x8c, 0x36, 0xc6, 0x76, 0x91, 0x59, 0xfa,
+			0xbf, 0x68, 0xf3, 0x68, 0xe4, 0x6c, 0x75, 0x1c,
+			0x5d, 0x63, 0xbb, 0x33, 0x55, 0x39, 0x83, 0x85,
+			0xeb, 0x76, 0x5d, 0x84, 0xf5, 0x46, 0x42, 0x89,
+			0x69, 0xf7, 0x51, 0x5c, 0xf9, 0x83, 0x77, 0xde,
+			0xbb, 0xfe, 0x08, 0xb2, 0x63, 0x2e, 0x91, 0x6b,
+			0x76, 0x88, 0x3a, 0xea, 0xcd, 0xd5, 0x70, 0x84,
+			0x06, 0x5d, 0xab, 0x55, 0x51, 0x75, 0x8e, 0xfa,
+			0x09, 0xea, 0x73, 0x38, 0xe4, 0xf8, 0xbc, 0x98,
+			0x26, 0x2f, 0x1f, 0x61, 0x93, 0x86, 0xd8, 0x1d,
+			0xcf, 0x2d, 0xa5, 0x60, 0x16, 0x91, 0x9a, 0xc2,
+			0x04, 0xc3, 0x26, 0x56, 0xf2, 0x1d, 0x68, 0x87,
+			0xaa, 0xdd, 0xf8, 0xff, 0x80, 0xaa, 0x63, 0x1e,
+			0xa8, 0x6e, 0xed, 0xff, 0xbf, 0x2c, 0x69, 0x35,
+			0x41, 0x77, 0xa3, 0x5f, 0x1e, 0xb1, 0xb9, 0x2b,
+			0x60, 0x7e, 0x9d, 0x4e, 0xee, 0x3d, 0x52, 0x88,
+			0x23, 0x58, 0xf8, 0x35, 0x19, 0x5d, 0x74, 0x7c,
+			0x84, 0xac, 0x16, 0xa6, 0x77, 0xfd, 0x2c, 0xee,
+			0x1a, 0xdc, 0x98, 0xe4, 0x05, 0xbb, 0xd3, 0x2c,
+			0x57, 0xd9, 0x25, 0x6d, 0x0f, 0x7f, 0x7c, 0xd8,
+			0xa7, 0x16, 0x37, 0xc9, 0x34, 0x12, 0xb0, 0xb3,
+			0x33, 0x82, 0x26, 0xb7, 0x60, 0xec, 0xbf, 0xde,
+			0x39, 0xe7, 0x2f, 0x8c, 0x9f, 0x50, 0xce, 0x65,
+			0x86, 0xd1, 0xe8, 0x5b, 0x35, 0x87, 0x1a, 0xc0,
+			0x30, 0x34, 0x3c, 0xef, 0x06, 0x07, 0x97, 0x8c,
+			0x4d, 0x9b, 0x75, 0x15, 0xce, 0x70, 0x87, 0xd3,
+			0xd0, 0x7f, 0xfd, 0x08, 0xfe, 0x51, 0x23, 0xed,
+			0x07, 0x6c, 0xc4, 0x44, 0x47, 0x45, 0xf7, 0x15,
+			0x0c, 0x52, 0xe9, 0xfe, 0x16, 0xbc, 0x0f, 0x7d,
+			0x2a, 0x96, 0x0f, 0xa2, 0xf8, 0x4d, 0x7f, 0x27,
+			0x0f, 0x2a, 0xa4, 0xab, 0x73, 0x96, 0x68, 0xe1,
+			0xe8, 0xdb, 0x6a, 0xa1, 0x0e, 0x64, 0x08, 0x1d,
+			0x71, 0xb9, 0x79, 0x04, 0x72, 0xe1, 0x7c, 0x29,
+			0x3d, 0xe4, 0x41, 0xd2, 0x34, 0x15, 0x08, 0x68,
+			0xdc, 0x7b, 0x79, 0x19, 0xab, 0xb9, 0xcb, 0x0a,
+			0x6a, 0x56, 0x3c, 0x56, 0xbd, 0xe3, 0x9b, 0xea,
+			0xc4, 0x09, 0xae, 0xf8, 0x8b, 0xe0, 0x2d, 0xb0,
+			0xff, 0x3c, 0xd3, 0xc5, 0xe2, 0x5b, 0xf6, 0xfa,
+			0x5e, 0x58, 0xa6, 0x72, 0xcf, 0xa3, 0xdb, 0x66,
+			0x2e, 0x21, 0x71, 0x76, 0xfd, 0x68, 0x07, 0xea,
+			0x21, 0xaf, 0xa0, 0xc5, 0x17, 0x32, 0x6e, 0x10,
+			0x60, 0xeb, 0x86, 0xe9, 0x02, 0x43, 0x32, 0xcf,
+			0x81, 0x64, 0x0c, 0xff, 0xcc, 0x92, 0x19, 0xbd,
+			0x73, 0x99, 0x0e, 0xd3, 0x4b, 0xdd, 0xc6, 0x7b,
+			0xc5, 0xff, 0xef, 0x04, 0xc0, 0x79, 0x7e, 0x88,
+			0x17, 0xcf, 0x09, 0x37, 0x5c, 0x87, 0x18, 0xd4,
+			0xd0, 0x21, 0x68, 0xc0, 0xea, 0x47, 0xec, 0xcf,
+			0xec, 0xab, 0x98, 0x61, 0x88, 0xec, 0x02, 0x4f,
+			0x22, 0x8c, 0x77, 0xbb, 0x6e, 0x5b, 0xfc, 0xfc,
+			0xd0, 0x0d, 0xca, 0x49, 0xda, 0x37, 0x0a, 0x0a,
+			0xdf, 0x6f, 0xab, 0x75, 0xba, 0xbe, 0x7c, 0x70,
+			0x09, 0x83, 0x56, 0xcd, 0x12, 0x56, 0x25, 0x31,
+			0xbd, 0x41, 0x50, 0x93, 0x1f, 0x18, 0x74, 0x48,
+			0xbd, 0x7c, 0x19, 0x03, 0x0a, 0x06, 0x97, 0x28,
+			0x51, 0x4f, 0x5b, 0x8e, 0xa6, 0xf6, 0x7f, 0x50,
+			0x15, 0x69, 0xee, 0x56, 0xa0, 0x97, 0x9d, 0x76,
+			0x40, 0x5e, 0x7d, 0x10, 0x23, 0xd5, 0xba, 0x0b,
+			0x2a, 0x9e, 0x8f, 0x57, 0xf8, 0x58, 0x12, 0x0f,
+			0x0b, 0x4c, 0xee, 0x39, 0x77, 0xec, 0x86, 0xb6,
+			0x1e, 0xb9, 0x5d, 0x11, 0x9d, 0xac, 0x4d, 0x15,
+			0xa9, 0x6f, 0x45, 0xbf, 0xb0, 0x56, 0xd2, 0xc0,
+			0xc8, 0x63, 0xf2, 0x53, 0x90, 0xf3, 0x68, 0x88,
+			0xc8, 0xc9, 0xdd, 0x9b, 0xdd, 0x6c, 0x4e, 0x6e,
+			0xd0, 0x63, 0xd7, 0x6f, 0x8a, 0x39, 0xd9, 0x96,
+			0xf9, 0x0d, 0x4e, 0x0a, 0xf3, 0xc6, 0x80, 0x34,
+			0x10, 0xab, 0xfd, 0xc2, 0x52, 0xec, 0xc7, 0x00,
+			0x34, 0xb4, 0xbc, 0xc9, 0x11, 0xdd, 0x6d, 0xa0,
+			0xba, 0x94, 0xe8, 0xa2, 0xf9, 0x2d, 0x58, 0x70,
+			0xd5, 0x92, 0xa9, 0xae, 0x7f, 0x8b, 0x32, 0x44,
+			0x9b, 0xf6, 0x17, 0x23, 0x03, 0x7c, 0x06, 0x55,
+			0x91, 0xdc, 0x85, 0x1b, 0x13, 0x44, 0x9c, 0x36,
+			0xbb, 0x19, 0x0b, 0xc8, 0x05, 0x96, 0xbe, 0xf3,
+			0x1e, 0xd1, 0x9d, 0xbb, 0xf8, 0x4f, 0x5a, 0xd8,
+			0x95, 0x90, 0x49, 0xab, 0x23, 0x95, 0x3b, 0x63,
+			0x4c, 0xcb, 0x6b, 0x61, 0xf7, 0x2b, 0x88, 0xce,
+			0x42, 0x6d, 0x7e, 0x57, 0x4e, 0xfd, 0x43, 0xc5,
+			0xe5, 0xe0, 0xd3, 0xe4, 0x87, 0x63, 0xdd, 0xe8,
+			0x36, 0x58, 0x41, 0x4e, 0x46, 0x44, 0x3b, 0x9d,
+			0x85, 0xba, 0x29, 0xe0, 0xad, 0x21, 0x17, 0x1b,
+			0xd4, 0x7a, 0xa6, 0xb6, 0xf7, 0x0e, 0x9a, 0xc3,
+			0x29, 0xd1, 0x9e, 0xba, 0x16, 0x4c, 0xee, 0xd5,
+			0x8d, 0x73, 0xf7, 0xe3, 0xe9, 0xbb, 0x2a, 0xad,
+			0x3e, 0xe2, 0x32, 0xfa, 0x9f, 0x5a, 0x2f, 0x59,
+			0x06, 0x49, 0x8b, 0x73, 0xa0, 0x2c, 0xd2, 0xa4,
+			0x79, 0xa1, 0x9b, 0xf1, 0x4a, 0x19, 0x8e, 0x68,
+			0x18, 0xf1, 0xd7, 0x5d, 0x43, 0xa6, 0xcd, 0x69,
+			0x9e, 0xda, 0x2b, 0x4f, 0x61, 0x5b, 0x48, 0xb5,
+			0x09, 0x3c, 0x91, 0x44, 0x6d, 0x99, 0xc4, 0xaf,
+			0xae, 0x83, 0x74, 0x66, 0xe8, 0x06, 0x6e, 0x54,
+			0x6b, 0x5b, 0x4e, 0x7f, 0xaf, 0xbb, 0x18, 0x43,
+			0x62, 0xc2, 0xb6, 0xd6, 0x23, 0x77, 0x02, 0xdc,
+			0x3a, 0x1c, 0x24, 0x74, 0x3d, 0x6f, 0x01, 0x1a,
+			0xc0, 0x52, 0xa0, 0xe8, 0xa8, 0xe8, 0xc1, 0xd4,
+			0x64, 0xc1, 0x9f, 0x92, 0xcd, 0x14, 0x9c, 0x86,
+			0x01, 0x4c, 0xf0, 0x77, 0x64, 0x97, 0xdf, 0xd5,
+			0xd7, 0x37, 0x72, 0x3a, 0x25, 0x9a, 0x36, 0xb0,
+			0xc1, 0x6e, 0x1a, 0xc2, 0x3d, 0x3f, 0x49, 0xf3,
+			0x89, 0x98, 0xb9, 0x35, 0x0f, 0x8f, 0x53, 0x49,
+			0x4e, 0x65, 0xa9, 0xe1, 0x30, 0x9f, 0xa6, 0x2c,
+			0xbe, 0xd2, 0x60, 0x4a, 0x57, 0x51, 0xb9, 0x16,
+			0x7c, 0x72, 0x82, 0xf4, 0x93, 0x4e, 0x34, 0xeb,
+			0x60, 0xb2, 0x2f, 0x2a, 0xe5, 0x43, 0x14, 0xa7,
+			0x9c, 0x04, 0xf3, 0x76, 0xfe, 0x7d, 0xf7, 0x9e,
+			0xb3, 0xe7, 0xbb, 0x16, 0x0c, 0xb0, 0xb3, 0x4f,
+			0xd0, 0x18, 0x2e, 0x57, 0x2c, 0x93, 0xaf, 0xed,
+			0xf3, 0x4a, 0x2b, 0x91, 0xfe, 0x29, 0x0e, 0x83,
+			0x9d, 0x6a, 0x20, 0xe4, 0x3e, 0x42, 0x64, 0x54,
+			0x0b, 0xce, 0x78, 0xaa, 0xf6, 0x86, 0x21, 0xf8,
+			0xf4, 0x81, 0x75, 0xe2, 0xb1, 0xb9, 0x6d, 0x00,
+			0xb4, 0x5f, 0x7a, 0x1c, 0xd3, 0x1b, 0x7b, 0x76,
+			0xd1, 0x62, 0x6f, 0xb0, 0xb7, 0x41, 0xfc, 0xea,
+			0xa2, 0xd0, 0xc2, 0x37, 0x14, 0xaf, 0x89, 0x61,
+			0x78, 0x23, 0x2b, 0x35, 0x65, 0xf9, 0xab, 0xfe,
+			0xeb, 0xe2, 0x34, 0x02, 0x55, 0x65, 0xe1, 0xa9,
+			0x3b, 0xe5, 0x5e, 0x45, 0xce, 0x17, 0x91, 0xd6,
+			0x68, 0xb2, 0x9d, 0xa1, 0x2f, 0x4a, 0x4b, 0xdb,
+			0x23, 0xfb, 0xbc, 0x73, 0x04, 0x0d, 0x42, 0x24,
+			0x37, 0x22, 0x22, 0x76, 0x74, 0xc7, 0xc9, 0xfc,
+			0xb0, 0x4b, 0x62, 0x85, 0xd5, 0x12, 0xa4, 0x65,
+			0xb7, 0xb0, 0x88, 0xe1, 0x0f, 0xec, 0xaa, 0x81,
+			0xcd, 0x76, 0x10, 0x0f, 0x53, 0x62, 0x23, 0x0a,
+			0xf6, 0xb2, 0x1a, 0xe6, 0xf4, 0xb9, 0xef, 0xb1,
+			0x3d, 0x16, 0x8a, 0xef, 0x6d, 0x7b, 0xfb, 0x42,
+			0x27, 0xbf, 0x16, 0x7d, 0xab, 0xb0, 0x4e, 0x57,
+			0x32, 0x31, 0x96, 0x65, 0xac, 0xf3, 0x43, 0x3e,
+			0xa1, 0x8a, 0xbb, 0xa9, 0xcc, 0x2c, 0x7e, 0xbd,
+			0xda, 0x0a, 0x65, 0x91, 0x83, 0x17, 0x02, 0x3f,
+			0x4f, 0xe6, 0xa2, 0xf9, 0x69, 0x3b, 0xeb, 0xb7,
+			0xea, 0x05, 0x9e, 0x8f, 0x38, 0xd1, 0x2b, 0xa1,
+			0x0a, 0x6c, 0x0c, 0xb2, 0x17, 0xe5, 0x71, 0x77,
+			0x93, 0xdc, 0x94, 0x70, 0x1d, 0x65, 0x41, 0x9d,
+			0x49, 0xde, 0xb7, 0xf9, 0x23, 0x2a, 0xd4, 0x0a,
+			0xa9, 0x25, 0x4f, 0x87, 0xec, 0x31, 0x7b, 0x7e,
+			0x1c, 0x3c, 0xf6, 0x62, 0x2e, 0x76, 0x5a, 0x83,
+			0x2b, 0x41, 0x9b, 0xb0, 0x44, 0xbd, 0x11, 0xf2,
+			0x67, 0x53, 0xcb, 0x52, 0x38, 0xcd, 0xed, 0x23,
+			0xd6, 0xd1, 0x95, 0xb0, 0xa5, 0x83, 0x50, 0x41,
+			0x0c, 0x1b, 0x87, 0xa1, 0xed, 0x99, 0x10, 0x8c,
+			0x3f, 0x44, 0x68, 0xc2, 0x76, 0x99, 0x07, 0x3d,
+			0x5c, 0x67, 0x57, 0x5f, 0x66, 0xfc, 0x74, 0x2d,
+			0xae, 0xec, 0x90, 0xa3, 0x09, 0x54, 0xc8, 0xbd,
+			0xbe, 0xd1, 0x57, 0x99, 0xc1, 0xdf, 0x8c, 0xa1,
+			0xf2, 0x29, 0x5d, 0xc0, 0xbe, 0x2c, 0x08, 0x35,
+			0x46, 0x3d, 0x37, 0x8c, 0xde, 0x9f, 0xff, 0x4c,
+			0x0d, 0xc4, 0x6b, 0xf9, 0x57, 0x17, 0xf0, 0x9d,
+			0xa8, 0x32, 0xa8, 0xfa, 0xe0, 0x98, 0x8f, 0x7f,
+			0x91, 0x77, 0xc7, 0x9c, 0x2e, 0x8d, 0x4d, 0x27,
+			0x66, 0xbf, 0x6b, 0x0a, 0x74, 0x74, 0x70, 0xdb,
+			0x03, 0x6e, 0x0f, 0x36, 0xd7, 0xa5, 0x7d, 0x93,
+			0x32, 0xa7, 0xde, 0xa9, 0xe1, 0x97, 0xd8, 0x63,
+			0x11, 0x34, 0x20, 0x1b, 0x57, 0xbc, 0x90, 0xd5,
+			0x40, 0x83, 0xdc, 0xae, 0xb0, 0x47, 0x81, 0x7c,
+			0x4c, 0x9b, 0x4d, 0xa8, 0x34, 0xba, 0x14, 0xe1,
+			0x1e, 0xee, 0x3b, 0xfd, 0xb4, 0x20, 0xdb, 0x6a,
+			0xd9, 0x15, 0x41, 0xf6, 0x8c, 0xa6, 0x87, 0x63,
+			0xc6, 0x95, 0xae, 0x65, 0x40, 0x33, 0x26, 0x8a,
+			0x78, 0x86, 0x97, 0x25, 0xac, 0xb4, 0xe8, 0xf8,
+			0x96, 0xd3, 0x3b, 0xd4, 0x92, 0xaf, 0xa9, 0x60,
+			0x21, 0x3c, 0xb5, 0x92, 0x9d, 0xa8, 0x87, 0x82,
+			0xcc, 0x25, 0xe2, 0x1b, 0xbb, 0x99, 0xfe, 0x68,
+			0x6f, 0x0b, 0x44, 0x47, 0x3c, 0x90, 0x89, 0x12,
+			0xb8, 0xd7, 0xcf, 0x87, 0x82, 0x6c, 0xb0, 0x00,
+			0x79, 0xf0, 0xe1, 0xcf, 0xfe, 0x85, 0xec, 0x58,
+			0x8e, 0x47, 0xd6, 0x65, 0xcd, 0xe4, 0xc3, 0x4f,
+			0x80, 0xeb, 0xf6, 0xd1, 0x01, 0x9f, 0xe1, 0x08,
+			0xae, 0x44, 0x9e, 0x29, 0xa3, 0x6d, 0xad, 0xd7,
+			0x7e, 0x32, 0x83, 0x29, 0x9a, 0x65, 0xbd, 0xfe,
+			0x9a, 0x3f, 0x8f, 0xa5, 0x72, 0x63, 0xd2, 0xf7,
+			0xe0, 0x99, 0x61, 0x0f, 0xbb, 0xb7, 0x76, 0xe6,
+			0xf7, 0xa7, 0x49, 0x51, 0xc4, 0x0c, 0xea, 0xfb,
+			0xd3, 0xc7, 0xbd, 0x47, 0x9b, 0xf9, 0x5d, 0x6e,
+			0xe0, 0x44, 0xcb, 0xbc, 0x2c, 0x44, 0xd2, 0x1e,
+			0xae, 0xb6, 0x89, 0x2b, 0xfa, 0x51, 0x75, 0xdf,
+			0x81, 0x70, 0x5f, 0x6b, 0x4e, 0x15, 0xb4, 0x6c,
+			0xfd, 0xfb, 0x1c, 0x58, 0x22, 0xbd, 0xee, 0xab,
+			0xc9, 0x59, 0x81, 0xcf, 0x82, 0x3c, 0xe3, 0x6f,
+			0x6c, 0xb9, 0xcc, 0xcc, 0x3d, 0x77, 0x48, 0x4b,
+			0x8a, 0xee, 0x0c, 0x8d, 0x8a, 0xcb, 0x5a, 0x31,
+			0x0c, 0x7e, 0xe2, 0x08, 0xeb, 0x02, 0x13, 0xe8,
+			0xa9, 0x3c, 0xd7, 0xd5, 0x89, 0x5a, 0x36, 0xd4,
+			0x49, 0x4c, 0xc3, 0x48, 0x21, 0x4c, 0x7d, 0x00,
+			0x78, 0xc3, 0x6c, 0xc3, 0x89, 0xdc, 0x20, 0xf1,
+			0xcf, 0xb1, 0x91, 0x8a, 0x4f, 0x4d, 0x4a, 0x22,
+			0xb7, 0xec, 0xff, 0x8e, 0xd2, 0xd1, 0x5f, 0x3e,
+			0x78, 0x6b, 0x32, 0xd6, 0x76, 0x12, 0x4f, 0x33,
+			0xe7, 0x02, 0xf6, 0xbe, 0xc8, 0xd8, 0x27, 0x0b,
+			0xc9, 0xef, 0x1a, 0x30, 0x44, 0x4a, 0xb1, 0x55,
+			0x5f, 0xbc, 0xc6, 0x5b, 0x57, 0x9f, 0xa9, 0x5a,
+			0x3c, 0xec, 0xb5, 0x3a, 0x20, 0xdc, 0xae, 0xeb,
+			0x1c, 0x66, 0xc9, 0x84, 0x05, 0xb3, 0x18, 0xcc,
+			0x07, 0x93, 0xed, 0xd3, 0xf3, 0x6c, 0x2b, 0xe9,
+			0x38, 0x1a, 0x0f, 0xc8, 0x19, 0x63, 0xa4, 0x9b,
+			0x95, 0x07, 0x8c, 0x26, 0xa2, 0x68, 0x78, 0x1b,
+			0xbf, 0x8f, 0x90, 0xfd, 0xdd, 0x96, 0xf5, 0xe2,
+			0xc7, 0x25, 0xc8, 0xbc, 0x80, 0x3e, 0x49, 0x05,
+			0xf5, 0x62, 0xc4, 0x57, 0xe5, 0xa0, 0x42, 0xee,
+			0xd6, 0xfe, 0x3d, 0xf4, 0x9e, 0x61, 0xf8, 0x6e,
+			0x34, 0x7b, 0xea, 0x75, 0x9c, 0x29, 0xf0, 0xff,
+			0xd0, 0x45, 0xf2, 0x9c, 0x0a, 0x0f, 0x05, 0xc1,
+			0x71, 0xed, 0x42, 0xb4, 0x46, 0x2b, 0x22, 0xce,
+			0x06, 0xad, 0x67, 0x64, 0x7f, 0x2c, 0x7d, 0x07,
+			0x54, 0x12, 0x01, 0xee, 0x35, 0xd8, 0xbd, 0x66,
+			0x1c, 0xc8, 0x2f, 0xe8, 0x9a, 0xda, 0x40, 0xb7,
+			0x31, 0xdf, 0x59, 0x35, 0x3e, 0x67, 0xf2, 0xf2,
+			0x10, 0x31, 0x11, 0x60, 0x2b, 0x2d, 0x85, 0x88,
+			0x71, 0xfd, 0x34, 0x03, 0x83, 0x98, 0xf7, 0x11,
+			0x2b, 0xc0, 0x25, 0x0b, 0x39, 0xe4, 0xd0, 0xa9,
+			0x00, 0xa9, 0xa8, 0x88, 0x38, 0x87, 0x64, 0xc0,
+			0xb3, 0xc3, 0x5f, 0x9f, 0xd3, 0x48, 0x4c, 0xc3,
+			0x4c, 0x5f, 0x42, 0x6f, 0x2d, 0xfd, 0xb1, 0x52,
+			0x35, 0xf8, 0xf1, 0x83, 0x94, 0x89, 0xf0, 0x9a,
+			0xc0, 0x70, 0x66, 0xa6, 0x06, 0x6b, 0x7b, 0x4d,
+			0xe1, 0xb5, 0x37, 0xc6, 0xa8, 0xe3, 0x67, 0xdb,
+			0x23, 0x40, 0x98, 0xd4, 0xf0, 0x5d, 0x6f, 0xe9,
+			0x21, 0x28, 0x13, 0xe5, 0xbb, 0x06, 0x9e, 0xc6,
+			0x11, 0xa4, 0xa3, 0x2c, 0x0f, 0x31, 0x15, 0x75,
+			0xe2, 0x95, 0x04, 0x0c, 0xc5, 0x94, 0x7e, 0xea,
+			0x77, 0x05, 0x47, 0xe9, 0x9b, 0x71, 0x80, 0xd6,
+			0x01, 0xa4, 0x78, 0x9f, 0xdc, 0x62, 0xc3, 0x0f,
+			0x8b, 0x6f, 0x4c, 0x7e, 0xc1, 0x97, 0x87, 0x01,
+			0x9c, 0xc1, 0x46, 0x45, 0x98, 0xa6, 0x65, 0x93,
+			0xc5, 0x3c, 0xa1, 0x55, 0x3a, 0x7d, 0xf7, 0xa6,
+			0x31, 0x7c, 0x5d, 0x2c, 0x4c, 0xe7, 0x74, 0xb2,
+			0x02, 0x1f, 0xb4, 0x2e, 0x24, 0x5f, 0x8c, 0xa0,
+			0x7c, 0xd1, 0xc4, 0x29, 0x14, 0x49, 0xfa, 0x4b,
+			0x09, 0x97, 0x8e, 0x30, 0xea, 0x3f, 0xd9, 0x16,
+			0x1c, 0x38, 0x72, 0x3c, 0xe9, 0x2a, 0x84, 0x20,
+			0xb4, 0xa7, 0x34, 0x52, 0x5b, 0xa6, 0x68, 0x49,
+			0xa6, 0xd6, 0xe0, 0x72, 0xa9, 0x28, 0x83, 0xf7,
+			0x4f, 0x96, 0xbc, 0x7f, 0x97, 0x07, 0xe2, 0x9a,
+			0xdf, 0xe0, 0x89, 0xdd, 0x0c, 0x37, 0xb8, 0x90,
+			0xde, 0xc8, 0x53, 0x51, 0xb1, 0x36, 0xcf, 0xd3,
+			0x42, 0xf6, 0xed, 0x7c, 0x3f, 0xd2, 0x05, 0x67,
+			0xe0, 0x23, 0x6c, 0x4e, 0xae, 0x3c, 0xa4, 0x8b,
+			0x67, 0x0e, 0xda, 0x62, 0xd4, 0xf0, 0x3f, 0x33,
+			0xdb, 0x23, 0x00, 0x0e, 0xc8, 0x2e, 0xd0, 0xb0,
+			0x7a, 0x58, 0x66, 0xa1, 0x62, 0x02, 0x84, 0xf2,
+			0xad, 0xf8, 0xf6, 0xf0, 0x0a, 0xd8, 0xc4, 0xa9,
+			0x58, 0x50, 0x45, 0xf6, 0x56, 0x58, 0x26, 0x95,
+			0xb2, 0xe1, 0x5b, 0x5d, 0x8a, 0x2b, 0x94, 0x6d,
+			0xc1, 0xf5, 0xbe, 0xdb, 0xef, 0x67, 0x1d, 0x1f,
+			0xff, 0xb3, 0x28, 0x14, 0x9d, 0xe2, 0xcf, 0xc2,
+			0xf2, 0x84, 0xbc, 0xf1, 0xd1, 0x49, 0xc4, 0x26,
+			0x57, 0x88, 0xf9, 0x53, 0xb8, 0x62, 0xf4, 0x07,
+			0x7b, 0xf4, 0xf8, 0x77, 0x4b, 0x4d, 0x54, 0x56,
+			0xbe, 0xff, 0x7f, 0x18, 0x5f, 0xc2, 0x7e, 0x3a,
+			0x32, 0x92, 0x69, 0x3b, 0xbf, 0x8e, 0xde, 0xa0,
+			0x40, 0xd3, 0x13, 0xa4, 0xdb, 0x3b, 0x92, 0x7a,
+			0x9d, 0x72, 0x05, 0xdd, 0x8e, 0x1a, 0x6a, 0x53,
+			0xa0, 0x56, 0x74, 0x63, 0x5a, 0x32, 0xd4, 0x6c,
+			0xad, 0xad, 0xd1, 0x16, 0x3a, 0xb7, 0x34, 0x34,
+			0x19, 0xf1, 0x16, 0x53, 0xf9, 0x3a, 0x28, 0xde,
+			0xb3, 0x69, 0x53, 0x9e, 0xad, 0x25, 0xbc, 0xcf,
+			0xae, 0xda, 0xae, 0x77, 0xa8, 0xc8, 0x80, 0x70,
+			0x3c, 0x8e, 0xf8, 0x97, 0x16, 0x95, 0x2e, 0xd2,
+			0xf9, 0xe3, 0x73, 0xf8, 0x70, 0xd4, 0x70, 0x90,
+			0xdf, 0xd3, 0x60, 0x3f, 0x92, 0xd7, 0x7f, 0xb9,
+			0xd7, 0xce, 0x6c, 0x6a, 0x08, 0xb7, 0x78, 0x16,
+			0x9b, 0x5e, 0x7b, 0x73, 0xeb, 0x76, 0x4f, 0x13,
+			0xbd, 0x1b, 0xf9, 0x7c, 0xfa, 0x3d, 0x36, 0x0f,
+			0x04, 0x04, 0xe5, 0x07, 0x45, 0xfc, 0xda, 0x4d,
+			0xc6, 0x4c, 0x64, 0xc1, 0xc5, 0x1a, 0x52, 0xb8,
+			0x38, 0x34, 0x46, 0xda, 0x4f, 0xeb, 0x46, 0x9f,
+			0x33, 0x35, 0x02, 0xbb, 0xc5, 0x3c, 0xb0, 0xa7,
+			0x25, 0x7f, 0xf4, 0xdd, 0x75, 0x65, 0x65, 0x4c,
+			0x23, 0xce, 0x68, 0x88, 0xe7, 0xde, 0xdd, 0x14,
+			0x7b, 0x9f, 0xb0, 0x42, 0xdf, 0x81, 0x8c, 0xa8,
+			0xa8, 0xd5, 0xfd, 0x01, 0xdf, 0xd1, 0x85, 0xec,
+			0xdd, 0x57, 0xfe, 0xcc, 0x60, 0x5e, 0x10, 0x42,
+			0x82, 0xa1, 0x12, 0x45, 0x56, 0x53, 0x35, 0x49,
+			0x4e, 0xa3, 0xbe, 0xd3, 0xae, 0x86, 0x79, 0x3d,
+			0xa0, 0x2f, 0xbc, 0xb4, 0x2d, 0x06, 0xb9, 0x92,
+			0x96, 0x0e, 0x1c, 0xba, 0xea, 0x1a, 0x72, 0xa1,
+			0xe1, 0xc7, 0x90, 0xcb, 0x6f, 0xbc, 0x05, 0x32,
+			0x91, 0x5f, 0xa2, 0x67, 0xd6, 0x9f, 0x3a, 0xce,
+			0x70, 0x60, 0x6a, 0xfd, 0xcf, 0xd1, 0x46, 0xd6,
+			0x7d, 0x25, 0x7f, 0xee, 0x88, 0x6d, 0xe6, 0x87,
+			0x51, 0xf0, 0x5a, 0xf8, 0xfe, 0x0d, 0xb8, 0x5a,
+			0xd7, 0xb1, 0x33, 0x34, 0xa3, 0x63, 0xa2, 0x48,
+			0xa2, 0x77, 0x94, 0x4f, 0x61, 0x53, 0x05, 0x75,
+			0x30, 0xfe, 0x03, 0x67, 0xf8, 0xef, 0xb7, 0x4a,
+			0x36, 0x0d, 0xed, 0x6c, 0xfa, 0x6a, 0x0f, 0x93,
+			0xb1, 0xd5, 0xbc, 0xe9, 0x0c, 0x45, 0x58, 0x0d,
+			0x02, 0xc0, 0x4b, 0x1f, 0x86, 0x59, 0x7b, 0x50,
+			0x4c, 0x20, 0xc8, 0xf6, 0x7b, 0xf0, 0x36, 0xf1,
+			0xa6, 0x81, 0xa1, 0x1e, 0x55, 0x9f, 0x94, 0x6c,
+			0xa2, 0xa8, 0xe7, 0xcd, 0x27, 0xa3, 0xc5, 0x71,
+			0x69, 0xf2, 0x0d, 0x91, 0xba, 0x75, 0x9e, 0xbc,
+			0x01, 0x27, 0x27, 0x72, 0xe7, 0xd6, 0xb1, 0x93,
+			0x39, 0xde, 0x13, 0xbf, 0x68, 0x7a, 0xd0, 0xa3,
+			0xc8, 0x1d, 0x9f, 0x81, 0x66, 0x59, 0x3c, 0x3e,
+			0x5d, 0xe4, 0xb5, 0x25, 0x10, 0xb2, 0x06, 0xb8,
+			0x5c, 0x28, 0x07, 0x39, 0x64, 0x40, 0xd2, 0x75,
+			0xee, 0x9c, 0x1c, 0xed, 0xad, 0xb4, 0xa0, 0x68,
+			0xad, 0xb0, 0x69, 0xe6, 0xb2, 0x66, 0x9b, 0x44,
+			0x4d, 0xe1, 0xb9, 0xa6, 0xc5, 0x0b, 0xdc, 0x52,
+			0x31, 0x22, 0xd4, 0xec, 0x03, 0xd4, 0xa4, 0x9b,
+			0x26, 0x3b, 0xfc, 0x2b, 0x90, 0x3c, 0x76, 0xda,
+			0x11, 0xd2, 0x97, 0x8b, 0x08, 0x18, 0xf0, 0x7b,
+			0xfe, 0x12, 0x28, 0x3a, 0x95, 0x38, 0xc9, 0x0f,
+			0x01, 0x65, 0xad, 0xf2, 0xc9, 0xe0, 0xbf, 0x56,
+			0x85, 0x0e, 0x17, 0x69, 0x38, 0x26, 0x39, 0x07,
+			0x60, 0xc3, 0xb8, 0x27, 0x86, 0x4d, 0x80, 0xea,
+			0x71, 0xac, 0xb7, 0xad, 0x08, 0xf9, 0xbb, 0xd7,
+			0x9a, 0x16, 0x01, 0xb8, 0x51, 0x5f, 0xb4, 0x82,
+			0xd0, 0x20, 0x00, 0x47, 0x37, 0x15, 0xa7, 0x92,
+			0x33, 0x06, 0x9d, 0xd0, 0xcc, 0x1c, 0xa6, 0xa3,
+			0x8c, 0x47, 0x4e, 0xcf, 0x67, 0xbf, 0x6c, 0x3a,
+			0xc2, 0x9b, 0x93, 0xfc, 0x81, 0x21, 0xb1, 0xc9,
+			0x8a, 0x46, 0x46, 0xbe, 0x38, 0x36, 0x21, 0x1b,
+			0x4a, 0x5a, 0xa8, 0xb8, 0x85, 0xd7, 0x55, 0x60,
+			0x51, 0xf2, 0xee, 0x51, 0x32, 0xf7, 0x32, 0x87,
+			0x6c, 0x2e, 0xfb, 0x9d, 0x6d, 0x73, 0x98, 0x26,
+			0xde, 0x21, 0x9c, 0xc1, 0x7e, 0x99, 0x0e, 0xdc,
+			0x34, 0x95, 0xd3, 0x72, 0x0e, 0x1d, 0xae, 0xca,
+			0xca, 0xdf, 0x75, 0x67, 0x6a, 0x86, 0x97, 0x27,
+			0x18, 0x47, 0x33, 0x2d, 0xc6, 0x99, 0x6f, 0x89,
+			0x1c, 0xfb, 0xf3, 0x1d, 0xfd, 0xf1, 0x68, 0x22,
+			0x23, 0xfd, 0xb7, 0x9d, 0x7d, 0x5b, 0xe2, 0xaf,
+			0x4d, 0xa9, 0x87, 0xeb, 0x05, 0x5e, 0xa0, 0x52,
+			0x16, 0x61, 0x47, 0xb7, 0x07, 0xc8, 0x54, 0x86,
+			0x8d, 0x7e, 0xcb, 0x8d, 0xb4, 0x04, 0x4d, 0x9c,
+			0x51, 0x96, 0xd3, 0x4f, 0x87, 0x80, 0x69, 0x1c,
+			0x73, 0x57, 0xef, 0x39, 0x1c, 0xdc, 0x17, 0xe2,
+			0xfd, 0xed, 0x9d, 0x93, 0xb8, 0x7d, 0x5c, 0x7a,
+			0x16, 0xb6, 0x30, 0xa1, 0xd6, 0x75, 0xf8, 0x74,
+			0xe7, 0x0d, 0xbd, 0xd6, 0x44, 0x0d, 0x5d, 0x15,
+			0xad, 0x02, 0xa1, 0x8c, 0x82, 0xb6, 0xb2, 0x94,
+			0xf6, 0x0a, 0x5c, 0xda, 0x2b, 0x0d, 0x9c, 0x1e,
+			0x38, 0x1e, 0x42, 0xad, 0xa4, 0x7f, 0x8f, 0x9d,
+			0x60, 0xfd, 0x84, 0xec, 0x30, 0x72, 0x65, 0x59,
+			0xb8, 0xf6, 0xd9, 0x10, 0xe2, 0xae, 0x26, 0xcd,
+			0x09, 0x01, 0x88, 0x70, 0x59, 0x02, 0xde, 0xee,
+			0x77, 0x6d, 0x73, 0xd2, 0xf7, 0x6e, 0xfd, 0x9d,
+			0xf3, 0x0f, 0x9a, 0xfa, 0x21, 0x54, 0x2a, 0xb5,
+			0xbe, 0x7b, 0x0d, 0x53, 0x93, 0x59, 0xa5, 0x54,
+			0xab, 0xdb, 0x4d, 0x08, 0x52, 0xdd, 0xaf, 0xda,
+			0xa4, 0x81, 0x8a, 0xa2, 0x66, 0x22, 0xdb, 0x51,
+			0x82, 0xd6, 0x0d, 0xbe, 0x3f, 0x8c, 0xd9, 0x90,
+			0xc9, 0x2e, 0x93, 0x5c, 0x2a, 0x6a, 0x47, 0x47,
+			0xe6, 0x7f, 0x29, 0x1d, 0xa8, 0x17, 0x81, 0x02,
+			0x98, 0xb9, 0xce, 0x8c, 0xb9, 0x4f, 0xe7, 0x25,
+			0x7c, 0x6c, 0x1e, 0xf0, 0x14, 0x1e, 0xae, 0x77,
+			0x31, 0xd5, 0x69, 0x81, 0x77, 0x25, 0x59, 0x4e,
+			0x71, 0xf3, 0xf4, 0x3a, 0x1a, 0xd1, 0x1b, 0xbd,
+			0xd9, 0x08, 0x2d, 0x14, 0x3a, 0xb9, 0x8d, 0xb2,
+			0x30, 0xf8, 0xfe, 0x74, 0x18, 0xb7, 0x63, 0x05,
+			0x16, 0x07, 0xfc, 0x79, 0x54, 0x95, 0xbc, 0x0d,
+			0x4d, 0x3b, 0xa4, 0x26, 0x2e, 0x22, 0xd7, 0x47,
+			0x9c, 0x75, 0x43, 0x4e, 0xe3, 0xca, 0x65, 0xe6,
+			0xd6, 0x8d, 0xac, 0xd7, 0xb7, 0xbd, 0x10, 0x1d,
+			0x5e, 0x96, 0x35, 0x49, 0x04, 0x43, 0x2b, 0xe5,
+			0x33, 0x3a, 0xfc, 0x80, 0x6c, 0xfa, 0xad, 0x27,
+			0x57, 0xef, 0xa0, 0xc9, 0xef, 0x4a, 0x37, 0x1b,
+			0xab, 0xaa, 0x51, 0x02, 0xe2, 0xe8, 0x56, 0xea,
+			0xa4, 0x4a, 0x54, 0xe5, 0x80, 0xd6, 0xc4, 0x8e,
+			0xb8, 0x18, 0x52, 0x4f, 0xe9, 0x6f, 0x79, 0xcc,
+			0x24, 0x79, 0xfb, 0x47, 0x87, 0xef, 0xcd, 0x90,
+			0x76, 0x70, 0x8c, 0x2a, 0xce, 0xef, 0x10, 0xbb,
+			0xd7, 0x10, 0x9b, 0xb8, 0x59, 0x89, 0x95, 0x9b,
+			0x81, 0xe5, 0x7e, 0x15, 0xae, 0xc8, 0x93, 0xd5,
+			0x12, 0x4a, 0xba, 0x78, 0xde, 0x04, 0xd8, 0x0f,
+			0x34, 0xbb, 0xa0, 0xb8, 0x85, 0xe9, 0x90, 0x02,
+			0xeb, 0x92, 0x26, 0xe8, 0xda, 0x92, 0x6d, 0x45,
+			0x31, 0x30, 0x5d, 0xd3, 0x6f, 0x51, 0x34, 0x9c,
+			0x62, 0x2b, 0xbb, 0xc0, 0xc2, 0xa6, 0x3a, 0xd3,
+			0xfd, 0xfe, 0x7e, 0x71, 0x21, 0xf0, 0xfe, 0x74,
+			0x2f, 0xba, 0x2c, 0xdc, 0x15, 0xc2, 0xaf, 0xc2,
+			0xee, 0x90, 0x84, 0x5b, 0x40, 0x02, 0xba, 0xcb,
+			0xc4, 0x71, 0x58, 0x8c, 0xa7, 0x1f, 0x7a, 0xe2,
+			0xf6, 0x66, 0xae, 0x0d, 0x17, 0x4c, 0x25, 0x16,
+			0x39, 0x1b, 0xbe, 0x04, 0x87, 0x14, 0x30, 0xe9,
+			0x17, 0x36, 0x23, 0xa8, 0x6f, 0x86, 0x00, 0xb3,
+			0x2a, 0x64, 0xdc, 0xb4, 0xd2, 0xaa, 0xf0, 0xb4,
+			0x4f, 0x73, 0xf6, 0xc2, 0x7e, 0x48, 0x46, 0xd4,
+			0xb3, 0x08, 0xa9, 0x33, 0x9c, 0xb9, 0x95, 0x67,
+			0xa9, 0xa6, 0x0f, 0xc4, 0x2a, 0xc0, 0xe9, 0x45,
+			0xf5, 0x7f, 0x1d, 0x08, 0x02, 0x3b, 0x09, 0xb0,
+			0x04, 0x57, 0xca, 0xf9, 0x21, 0x97, 0x03, 0x51,
+			0xd4, 0xfb, 0x58, 0xb1, 0x9f, 0xb4, 0xf0, 0x97,
+			0xdc, 0xa8, 0x93, 0x38, 0x8f, 0xd0, 0x1a, 0x54,
+			0x41, 0xe1, 0x0e, 0xd3, 0xba, 0xb2, 0x21, 0xaa,
+			0x8e, 0x42, 0x2d, 0x60, 0x20, 0x9c, 0x39, 0xf3,
+			0x4f, 0xe6, 0x03, 0xce, 0xdd, 0xfc, 0xc6, 0x27,
+			0x9b, 0x87, 0x4d, 0xd8, 0x9e, 0x09, 0x56, 0x15,
+			0xfd, 0xbe, 0x86, 0xed, 0xfa, 0x91, 0x04, 0x1b,
+			0xf8, 0x34, 0x30, 0xba, 0xc3, 0x0c, 0x90, 0x88,
+			0x48, 0x32, 0x43, 0x2d, 0x30, 0xf1, 0xf1, 0xec,
+			0xdd, 0x06, 0x02, 0xe6, 0x45, 0xa4, 0xac, 0x5a,
+			0x3e, 0x1c, 0x27, 0x63, 0xd9, 0x62, 0x78, 0x68,
+			0xc8, 0x91, 0x0d, 0x70, 0xff, 0xb4, 0xee, 0xc6,
+			0xac, 0x3e, 0x66, 0x76, 0x15, 0xc2, 0x90, 0x02,
+			0xb6, 0x80, 0x80, 0x52, 0xb4, 0xb4, 0x64, 0x4b,
+			0xef, 0x9b, 0xa9, 0xf3, 0x4e, 0x49, 0x10, 0x47,
+			0xa9, 0x0a, 0x5d, 0x27, 0xe3, 0x86, 0xdc, 0xf6,
+			0xfd, 0xe3, 0xc4, 0x90, 0xfb, 0x11, 0xd9, 0x38,
+			0x62, 0x81, 0xaa, 0xed, 0x61, 0xd5, 0x0f, 0x7a,
+			0x27, 0x1c, 0x7a, 0x4d, 0x7b, 0xe6, 0xd0, 0x60,
+			0x35, 0xf5, 0xd3, 0x40, 0x47, 0x08, 0xba, 0x3f,
+			0x11, 0x29, 0xd7, 0x22, 0x47, 0xde, 0x1d, 0x9e,
+			0x19, 0xa5, 0x1f, 0x12, 0xea, 0xe8, 0xef, 0x72,
+			0x77, 0x6c, 0x8d, 0xf3, 0x05, 0x5a, 0xee, 0xdc,
+			0x6b, 0xf6, 0xc0, 0x81, 0x08, 0x0f, 0xa9, 0x84,
+			0x79, 0x5e, 0x68, 0xc3, 0x22, 0x21, 0x82, 0x94,
+			0x1b, 0xbb, 0x81, 0x09, 0x9a, 0x06, 0x15, 0xf5,
+			0xf6, 0x6d, 0xb2, 0x36, 0x84, 0x22, 0xfa, 0xc7,
+			0xbb, 0x0d, 0x17, 0x20, 0x16, 0x82, 0xa2, 0xc8,
+			0x8a, 0xe7, 0x5d, 0x7a, 0x8a, 0xa8, 0x0c, 0x4a,
+			0x23, 0xe5, 0x27, 0xad, 0xf4, 0x15, 0x4c, 0x61,
+			0xae, 0x00, 0x79, 0x54, 0x1d, 0x1c, 0x6e, 0x26,
+			0x02, 0x99, 0xf0, 0x0a, 0xeb, 0xe9, 0x10, 0xd2,
+			0xf9, 0x17, 0x75, 0xd0, 0x6a, 0x88, 0xaa, 0xbc,
+			0x64, 0xe3, 0x07, 0xff, 0x4f, 0xc2, 0xf1, 0xd2,
+			0xfe, 0x2a, 0xae, 0x68, 0xb8, 0xa6, 0x4b, 0x50,
+			0x6f, 0xc0, 0x7d, 0x94, 0xe2, 0xc7, 0x25, 0xad,
+			0x31, 0xcf, 0x3a, 0xe7, 0xca, 0x2c, 0x5f, 0x56,
+			0x3a, 0xe7, 0x8d, 0x63, 0xe3, 0xfe, 0x88, 0x34,
+			0xf5, 0xf8, 0xcd, 0x9f, 0x7d, 0x76, 0x0b, 0x3e,
+			0xf6, 0xda, 0xae, 0x74, 0xb2, 0x4a, 0x0f, 0xfd,
+			0x60, 0x9f, 0x6f, 0xa6, 0xfa, 0xef, 0xc1, 0xdd,
+			0x79, 0x8f, 0xe8, 0x0d, 0x76, 0xc6, 0xd9, 0x34,
+			0x06, 0x72, 0x8e, 0xf8, 0xda, 0xb9, 0x60, 0xa6,
+			0x01, 0xdd, 0xae, 0x30, 0x35, 0xf7, 0xf9, 0xac,
+			0x22, 0xb1, 0x67, 0xd7, 0x2f, 0x5f, 0x68, 0xef,
+			0x4c, 0xe7, 0xc9, 0xd1, 0x00, 0xbb, 0x27, 0x98,
+			0x98, 0x7e, 0x40, 0xae, 0x14, 0x38, 0x8e, 0x1b,
+			0xcd, 0x78, 0x86, 0xa2, 0xb1, 0x04, 0x9c, 0x04,
+			0xc4, 0xa6, 0x46, 0x3a, 0xc8, 0x1f, 0x33, 0x69,
+			0xe5, 0x2b, 0xf1, 0x03, 0x09, 0x44, 0x7f, 0x60,
+			0x49, 0xd2, 0x9c, 0x61, 0x0e, 0xf1, 0x8c, 0x13,
+			0x68, 0x2f, 0x9b, 0x18, 0x03, 0x69, 0xed, 0xc6,
+			0x8e, 0xf2, 0x84, 0x72, 0xaa, 0xa8, 0x5b, 0x2d,
+			0x3a, 0xfd, 0x0a, 0x71, 0xbe, 0xef, 0x07, 0xb8,
+			0xdb, 0xc2, 0x66, 0x05, 0x14, 0xf8, 0x29, 0x38,
+			0x0e, 0x7f, 0xae, 0xf1, 0xc3, 0x41, 0x8a, 0xe2,
+			0x6f, 0xac, 0x20, 0x80, 0xcf, 0x18, 0xf1, 0x97,
+			0x09, 0xba, 0x86, 0x25, 0xb9, 0x4b, 0xca, 0x7e,
+			0x8e, 0x75, 0x30, 0x6d, 0x11, 0x96, 0xb5, 0xf2,
+			0x60, 0x75, 0xf6, 0x9b, 0x8d, 0xca, 0x3c, 0x9e,
+			0x7f, 0xd4, 0xf3, 0x25, 0x5c, 0x09, 0x92, 0x31,
+			0x9a, 0x54, 0x2c, 0x3a, 0xc6, 0x62, 0x52, 0xb4,
+			0x9f, 0x38, 0x1a, 0xc4, 0x69, 0x27, 0xe4, 0xe0,
+			0x01, 0x74, 0x57, 0xe7, 0x35, 0xbc, 0x36, 0x8e,
+			0xdc, 0xd3, 0x17, 0x4d, 0x6a, 0x67, 0xe7, 0x8f,
+			0x8d, 0x78, 0x26, 0x13, 0x37, 0x21, 0xa9, 0x41,
+			0x81, 0x75, 0xde, 0x04, 0xaf, 0x9c, 0xa6, 0xab,
+			0xb3, 0x6a, 0x51, 0xba, 0xb2, 0xd5, 0xb4, 0x64,
+			0x5c, 0xae, 0x2a, 0xec, 0x92, 0x17, 0xdd, 0x7a,
+			0x26, 0x44, 0x46, 0x73, 0xdc, 0x51, 0x94, 0x26,
+			0x1c, 0xc0, 0x6d, 0xff, 0xa8, 0x43, 0x5c, 0xc5,
+			0xec, 0x51, 0x93, 0xb5, 0x27, 0x13, 0x75, 0xef,
+			0x6f, 0xc3, 0xe1, 0x7c, 0xbd, 0x72, 0x07, 0x7b,
+			0xae, 0xa5, 0x9f, 0xe3, 0x5f, 0x67, 0xd4, 0xad,
+			0x65, 0x19, 0x92, 0x6b, 0x10, 0xf8, 0xc2, 0xa3,
+			0x39, 0xa5, 0x96, 0x7a, 0xf5, 0x9d, 0x49, 0xd6,
+			0x62, 0x81, 0x0e, 0x63, 0x2e, 0xe7, 0x12, 0x5b,
+			0x9e, 0xd8, 0xde, 0x15, 0x86, 0x22, 0x6e, 0x9a,
+			0xe9, 0xae, 0x5a, 0x35, 0x8f, 0xe0, 0x40, 0xdd,
+			0x59, 0x15, 0x77, 0x40, 0x09, 0xa0, 0x50, 0xef,
+			0x8c, 0xca, 0x4c, 0x61, 0x24, 0x9a, 0x5e, 0x75,
+			0x9d, 0x6d, 0xae, 0x76, 0x04, 0xa7, 0xd5, 0x84,
+			0xde, 0xf4, 0xd5, 0xbb, 0xea, 0x2b, 0x87, 0xaa,
+			0x0e, 0xa1, 0x17, 0x90, 0x33, 0xb6, 0x0e, 0xa1,
+			0x05, 0xce, 0xb9, 0x7d, 0x92, 0x51, 0x87, 0xe2,
+			0x6f, 0xf5, 0xad, 0xb2, 0x77, 0xe8, 0x0a, 0xb8,
+			0xb3, 0xef, 0x9c, 0x19, 0x6b, 0x11, 0xdf, 0x23,
+			0xb5, 0xe4, 0xe3, 0xbf, 0xba, 0xf7, 0x4e, 0x80,
+			0x1c, 0xc7, 0x86, 0xfe, 0xce, 0x75, 0xfb, 0xa3,
+			0xa8, 0x78, 0x15, 0xb8, 0x72, 0x76, 0x1a, 0x20,
+			0x2f, 0xec, 0xde, 0x0f, 0x8d, 0xa8, 0xb6, 0x58,
+			0xf4, 0x95, 0x0e, 0x81, 0x2b, 0x31, 0x0d, 0x54,
+			0x41, 0xd7, 0x6c, 0xb3, 0xa7, 0xe5, 0x73, 0x94,
+			0x6f, 0xa2, 0x54, 0x34, 0xfa, 0xdc, 0xfc, 0x9c,
+			0x1b, 0x56, 0xea, 0x58, 0x1d, 0xdd, 0xd2, 0x0e,
+			0xef, 0x2b, 0x73, 0xdb, 0x19, 0xa7, 0x7a, 0x5c,
+			0x7a, 0x49, 0x85, 0x27, 0x25, 0x42, 0x5a, 0x7c,
+			0xf2, 0x7f, 0x3e, 0xde, 0x1d, 0x07, 0x5d, 0x59,
+			0xdd, 0xe8, 0x1d, 0x29, 0xe4, 0x66, 0x45, 0x0b,
+			0xfe, 0x8e, 0xf4, 0x30, 0x1e, 0x31, 0x21, 0x3c,
+			0x14, 0xa2, 0xfd, 0x74, 0xda, 0xb0, 0xd8, 0xb7,
+			0x71, 0x90, 0x9a, 0x6e, 0x04, 0x90, 0x71, 0x4f,
+			0x40, 0x47, 0xb1, 0x36, 0x33, 0xdd, 0x57, 0xcc,
+			0x05, 0xe4, 0x7b, 0xcd, 0xf3, 0x17, 0xad, 0xe3,
+			0x7c, 0x92, 0xdd, 0x28, 0x8d, 0xce, 0x16, 0xba,
+			0xbb, 0x71, 0x76, 0x53, 0x73, 0x5e, 0x2e, 0xb5,
+			0x4e, 0xc9, 0x89, 0xd4, 0x61, 0x6e, 0xe9, 0x08,
+			0x10, 0xfe, 0x4a, 0xbe, 0xc5, 0xef, 0xcb, 0xd2,
+			0x0d, 0x29, 0x0f, 0x10, 0xc7, 0x3c, 0xbd, 0xdd,
+			0x84, 0x11, 0x40, 0x97, 0xb1, 0xfb, 0x10, 0x59,
+			0x02, 0xce, 0xef, 0x8b, 0xa6, 0x99, 0xf3, 0x37,
+			0x85, 0x3e, 0x84, 0x65, 0x3e, 0x06, 0xbb, 0x4c,
+			0x0b, 0x72, 0xcb, 0x51, 0x5d, 0x4c, 0x24, 0x16,
+			0x19, 0xd4, 0x96, 0xe7, 0x64, 0xe3, 0x05, 0x1d,
+			0x99, 0xa8, 0x23, 0x3f, 0xe2, 0x0b, 0xd6, 0x24,
+			0xc2, 0x67, 0xc8, 0xb8, 0x48, 0xe7, 0xe8, 0x5a,
+			0x7d, 0x5b, 0x53, 0xa1, 0xe6, 0xde, 0x9f, 0x59,
+			0x4f, 0xf2, 0x28, 0x77, 0x79, 0xcd, 0xe2, 0xab,
+			0x7d, 0x9e, 0xfa, 0xb0, 0x62, 0xf9, 0xe7, 0xf8,
+			0xd9, 0x17, 0xd8, 0x74, 0xfc, 0x07, 0xd2, 0x82,
+			0xd0, 0xe9, 0x6c, 0x92, 0xf8, 0x81, 0x1c, 0xfc,
+			0x1b, 0xbf, 0x68, 0xbc, 0x65, 0xe9, 0xe3, 0x83,
+			0xe3, 0x16, 0x76, 0x85, 0xd7, 0xe0, 0x65, 0xc1,
+			0x61, 0xa6, 0x87, 0x4e, 0x6d, 0x5c, 0x0f, 0x08,
+			0x2f, 0xcb, 0xc6, 0xd0, 0x63, 0x5c, 0x2a, 0xa0,
+			0x8e, 0xfa, 0x46, 0x9f, 0xe7, 0x3b, 0xf3, 0x0e,
+			0x60, 0xeb, 0x0d, 0x96, 0x6f, 0x4c, 0xd1, 0x36,
+			0x67, 0xce, 0x4c, 0x5b, 0xec, 0x36, 0xd1, 0x69,
+			0x0b, 0x1c, 0x3e, 0x39, 0x9e, 0xbe, 0x11, 0xae,
+			0xe4, 0x4e, 0xa7, 0xe8, 0x81, 0x19, 0xe7, 0xab,
+			0x27, 0x5f, 0xd1, 0x0a, 0x89, 0xb6, 0x8f, 0x04,
+			0x5a, 0xb5, 0x3e, 0x30, 0x11, 0xf7, 0xb2, 0xb2,
+			0xf8, 0x7d, 0x65, 0x1c, 0x01, 0x5c, 0xfe, 0x57,
+			0x96, 0x04, 0x8c, 0x80, 0x62, 0x4c, 0xa8, 0x57,
+			0xf2, 0x56, 0x74, 0x83, 0xce, 0xff, 0xf9, 0xaa,
+			0xca, 0x0b, 0x04, 0xfe, 0x2c, 0xc2, 0x14, 0x49,
+			0x8d, 0xf2, 0x1f, 0xa0, 0xb0, 0xa1, 0x16, 0x16,
+			0x9a, 0xce, 0x73, 0xd4, 0x04, 0x8a, 0x3f, 0x52,
+			0x95, 0xf7, 0x8d, 0x13, 0x69, 0xb4, 0xc7, 0x20,
+			0x9e, 0x61, 0xcf, 0x3f, 0x51, 0xee, 0xc7, 0x67,
+			0x86, 0x3e, 0x15, 0xb4, 0xb9, 0x33, 0x72, 0xea,
+			0xe9, 0xd7, 0xf0, 0x34, 0xdc, 0xde, 0x42, 0xd0,
+			0xba, 0x30, 0x8f, 0x93, 0xa0, 0xdd, 0x9b, 0x00,
+			0xb0, 0x25, 0x08, 0x59, 0x2f, 0x9b, 0xed, 0x46,
+			0x3e, 0x60, 0x18, 0xce, 0x1d, 0xa3, 0x92, 0x2b,
+			0xec, 0x10, 0xa8, 0xf4, 0x0c, 0x62, 0xba, 0x27,
+			0xfb, 0x0d, 0xcc, 0x51, 0xb4, 0xa0, 0x70, 0x63,
+			0xd4, 0xf7, 0xda, 0x79, 0x21, 0x69, 0x49, 0x5e,
+			0xd9, 0x50, 0xd6, 0x2a, 0x74, 0xea, 0xce, 0x4c,
+			0xe9, 0x70, 0x51, 0x37, 0xf8, 0x11, 0xef, 0x11,
+			0x1a, 0x5c, 0x38, 0xec, 0x30, 0xbc, 0xd6, 0x90,
+			0xaa, 0x84, 0x2e, 0x14, 0xd5, 0x5a, 0xe0, 0xb5,
+			0xb6, 0xbd, 0x2c, 0xb8, 0x4d, 0x89, 0xa6, 0x6d,
+			0xfe, 0x9f, 0xcd, 0x9e, 0xb7, 0xa2, 0x1b, 0x0f,
+			0x84, 0xb0, 0x91, 0x38, 0x9a, 0xac, 0xcd, 0xa5,
+			0xbe, 0x70, 0x54, 0x98, 0x1c, 0x07, 0x64, 0x68,
+			0xeb, 0x55, 0x52, 0x8e, 0x35, 0x97, 0x74, 0x7f,
+			0x2d, 0x15, 0x62, 0x3f, 0xbe, 0x11, 0x57, 0x11,
+			0x4d, 0xa7, 0x99, 0x53, 0xc3, 0xd9, 0xcd, 0xd0,
+			0xe6, 0x53, 0xb5, 0xfd, 0x2b, 0xaa, 0x29, 0x3e,
+			0x69, 0x03, 0xef, 0x11, 0xe9, 0x88, 0x2f, 0x0d,
+			0xed, 0x5f, 0xd4, 0x3a, 0x31, 0xf0, 0x4c, 0x3a,
+			0xfb, 0xe8, 0x01, 0x61, 0x47, 0x95, 0xf5, 0xd2,
+			0x7d, 0x1a, 0xab, 0x7e, 0xc9, 0xd1, 0xd5, 0x13,
+			0x0a, 0xed, 0xc5, 0x62, 0xee, 0x0b, 0x3f, 0x1d,
+			0xd1, 0x46, 0xc9, 0x62, 0x25, 0xd2, 0x13, 0x1d,
+			0x51, 0xee, 0xb2, 0x2d, 0x4b, 0x42, 0x33, 0xe5,
+			0x50, 0xe5, 0x21, 0x80, 0xac, 0x4f, 0xd0, 0x7a,
+			0x67, 0x62, 0x1c, 0x74, 0x51, 0x04, 0x69, 0x54,
+			0x5b, 0x5d, 0x39, 0xfb, 0x17, 0x5f, 0xee, 0xd5,
+			0x9a, 0xb1, 0xaa, 0x9f, 0xed, 0x45, 0xf4, 0x2e,
+			0x6b, 0x45, 0xba, 0xc3, 0xec, 0x45, 0xba, 0x6e,
+			0x44, 0x92, 0x9f, 0xc4, 0xe1, 0xf5, 0xd0, 0x67,
+			0xab, 0x19, 0xfd, 0x64, 0x31, 0x4a, 0xfa, 0xfc,
+			0x1c, 0xb9, 0x41, 0x41, 0xbf, 0xdc, 0x84, 0xe1,
+			0x06, 0x84, 0xab, 0x79, 0xdc, 0x32, 0xc4, 0x3b,
+			0xcd, 0xfe, 0x0e, 0x3d, 0x41, 0xd9, 0xdb, 0x89,
+			0xb4, 0x3c, 0x05, 0xab, 0xd3, 0x03, 0x05, 0x96,
+			0x03, 0xfb, 0x24, 0x2a, 0x9a, 0xfc, 0x2c, 0xce,
+			0x32, 0x47, 0x46, 0xa1, 0x9f, 0xca, 0x5f, 0x2b,
+			0xdd, 0x15, 0xd7, 0x02, 0x1d, 0x30, 0x54, 0x42,
+			0xcf, 0x77, 0xf9, 0xd1, 0x26, 0xf4, 0xa6, 0x84,
+			0xce, 0x69, 0x58, 0xba, 0xd3, 0xd6, 0xa6, 0x6c,
+			0xcd, 0x57, 0x0e, 0x6c, 0xa3, 0x98, 0xaf, 0xe1,
+			0x5f, 0x59, 0x5a, 0x7b, 0xf2, 0x2f, 0x3d, 0xf9,
+			0x0b, 0xf2, 0xb0, 0xda, 0x37, 0x94, 0x6a, 0xf8,
+			0x7f, 0x51, 0xfa, 0x48, 0x73, 0xa6, 0xe0, 0x12,
+			0x05, 0x36, 0x38, 0x3a, 0x43, 0x57, 0x67, 0x81,
+			0x95, 0xb5, 0xcb, 0xf8, 0x01, 0x0a, 0x13, 0x17,
+			0x2d, 0x67, 0xae, 0xbc, 0xed, 0x5d, 0xaf, 0xb9,
+			0xce, 0xcf, 0xd1, 0x0b, 0x19, 0x90, 0xab, 0xe0,
+			0x30, 0x48, 0x62, 0x73, 0x75, 0x8d, 0x93, 0x98,
+			0xab, 0xdf, 0xe9, 0xf4, 0x1a, 0x60, 0x6c, 0x70,
+			0xa8, 0xb4, 0xe0, 0xe6, 0xf2, 0xff, 0x0b, 0x62,
+			0x6a, 0x87, 0x8a, 0xb0, 0xcf, 0xe6, 0xee, 0x38,
+			0x79, 0x7c, 0x80, 0x84, 0xa9, 0xe2, 0xe4, 0xe7,
+			0x00, 0x00, 0x00, 0x0c, 0x15, 0x1b, 0x20, 0x2c,
+			0x36, 0x3f, 0x48, },
+	},
diff --git a/crypto/ml_dsa/dilithium_selftest.c b/crypto/ml_dsa/dilithium_selftest.c
index 5179adbce99a..9c0365bd9213 100644
--- a/crypto/ml_dsa/dilithium_selftest.c
+++ b/crypto/ml_dsa/dilithium_selftest.c
@@ -38,6 +38,9 @@ static const struct dilithium_testvector dilithium44_testvectors[] = {
 static const struct dilithium_testvector dilithium65_testvectors[] = {
 #include "dilithium_pure_rejection_vectors_65.h"
 };
+static const struct dilithium_testvector dilithium87_testvectors[] = {
+#include "dilithium_pure_rejection_vectors_87.h"
+};
 
 /*
  * Allow kunit to free a crypto signature processing object.
@@ -113,9 +116,21 @@ static void dilithium65_kunit_test(struct kunit *test)
 	KUNIT_SUCCEED(test);
 }
 
+static void dilithium87_kunit_test(struct kunit *test)
+{
+	const struct dilithium_testvector *tc = dilithium87_testvectors;
+	int count = ARRAY_SIZE(dilithium87_testvectors);
+
+	for (int index = 0; index < count; index++)
+		dilithium_sigver_test_one(test, index, &tc[index]);
+
+	KUNIT_SUCCEED(test);
+}
+
 static struct kunit_case __refdata dilithium_kunit_cases[] = {
 	KUNIT_CASE(dilithium44_kunit_test),
 	KUNIT_CASE(dilithium65_kunit_test),
+	KUNIT_CASE(dilithium87_kunit_test),
 	{}
 };
 


^ permalink raw reply related

* [PATCH v7 4/8] crypto: Add ML-DSA-65 pure rejection test vectors as a kunit test
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Add the "Pure rejection tests" from Stephan Mueller's Leancrypto
implementation of ML-DSA/Dilithium 65 to the kernel as a kunit test.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Jason A. Donenfeld <Jason@zx2c4.com>
cc: Ard Biesheuvel <ardb@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: linux-crypto@vger.kernel.org
---
 .../dilithium_pure_rejection_vectors_65.h     | 4741 +++++++++++++++++
 crypto/ml_dsa/dilithium_selftest.c            |   15 +
 2 files changed, 4756 insertions(+)
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_65.h

diff --git a/crypto/ml_dsa/dilithium_pure_rejection_vectors_65.h b/crypto/ml_dsa/dilithium_pure_rejection_vectors_65.h
new file mode 100644
index 000000000000..ed552ed6868f
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_pure_rejection_vectors_65.h
@@ -0,0 +1,4741 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+	{
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0x9f, 0x55, 0x1e, 0x7f, 0x9c, 0x08, 0xb2, 0x83,
+			0xfd, 0x5b, 0xa2, 0xac, 0x4f, 0x26, 0xc2, 0xf5,
+			0x06, 0x05, 0x96, 0x08, 0x24, 0xad, 0xec, 0xe4,
+			0x99, 0xcc, 0x6c, 0xbd, 0x55, 0x37, 0x15, 0x94,
+			0xab, 0x31, 0x9e, 0x56, 0xe5, 0xe4, 0x55, 0xec,
+			0x4d, 0x49, 0x5b, 0x5a, 0x7a, 0xe8, 0xc3, 0x4a,
+			0x08, 0x44, 0x4a, 0xc2, 0x2d, 0xe4, 0x61, 0x33,
+			0x90, 0x20, 0x71, 0x45, 0xa5, 0x45, 0xd0, 0x83,
+			0x2b, 0x32, 0x6c, 0xa7, 0x9e, 0x76, 0xcd, 0xfb,
+			0x58, 0x15, 0x9e, 0x74, 0x0d, 0x67, 0x57, 0xb1,
+			0x06, 0x5b, 0x5d, 0xd5, 0x1c, 0xbb, 0x95, 0x40,
+			0x1c, 0x71, 0x31, 0x03, 0xef, 0xff, 0x04, 0x6b,
+			0xdd, 0xa2, 0xf0, 0x32, 0x00, 0x72, 0xbc, 0x87,
+			0xb6, 0x2c, 0x1f, 0x90, 0x7f, 0x92, 0xa0, 0xb2,
+			0x04, 0xdd, 0xa9, 0xaf, 0x7f, 0x01, 0x28, 0x4c,
+			0xb2, 0x57, 0x2d, 0x56, 0x93, 0xd0, 0xc7, 0x54,
+			0x02, 0x90, 0x57, 0x70, 0x23, 0x57, 0xe8, 0xe7,
+			0x33, 0x32, 0x98, 0xfc, 0x9b, 0x8e, 0x6e, 0x7b,
+			0xaa, 0x5d, 0xb5, 0x4e, 0xe0, 0x5d, 0x97, 0xa3,
+			0xea, 0x43, 0x7e, 0xb3, 0xa4, 0x8c, 0xcf, 0xdc,
+			0xc0, 0x51, 0xa7, 0x99, 0x45, 0x3d, 0x3c, 0xa0,
+			0xba, 0xc5, 0xff, 0xe1, 0x89, 0xb3, 0x7d, 0xc3,
+			0xdc, 0xe2, 0x23, 0x81, 0xff, 0xa9, 0xc7, 0x93,
+			0xc6, 0x67, 0xad, 0x94, 0xcf, 0xeb, 0x91, 0x78,
+			0x15, 0x25, 0xf7, 0xf5, 0x06, 0x08, 0x2f, 0x0c,
+			0xee, 0x0b, 0x6a, 0x06, 0x59, 0xe0, 0x1f, 0x2e,
+			0x5a, 0x12, 0x06, 0xf5, 0xf4, 0x8e, 0x75, 0x57,
+			0xa9, 0x33, 0x23, 0x0f, 0xc2, 0x6f, 0x02, 0xf8,
+			0x68, 0x0f, 0x62, 0x02, 0x81, 0xfe, 0x03, 0x7c,
+			0xaf, 0xd7, 0x42, 0x5b, 0xcc, 0xe7, 0x2b, 0xea,
+			0x49, 0xab, 0x03, 0x6d, 0x0a, 0x02, 0xae, 0x47,
+			0x79, 0xce, 0xfd, 0x18, 0x76, 0x07, 0x9e, 0xa6,
+			0xbf, 0x7e, 0x8d, 0x73, 0xf9, 0x44, 0xeb, 0x8c,
+			0xc5, 0x59, 0xb7, 0x19, 0xf6, 0x73, 0x53, 0x42,
+			0x2a, 0x55, 0x7b, 0xb4, 0x56, 0x49, 0x08, 0x9e,
+			0x9a, 0x65, 0x60, 0x70, 0x1d, 0xbd, 0xc6, 0x85,
+			0x29, 0xde, 0xfe, 0x44, 0xae, 0xdf, 0x25, 0xfd,
+			0x5b, 0x74, 0x6c, 0x96, 0xe6, 0x81, 0x37, 0x80,
+			0xe0, 0x9e, 0xf3, 0x75, 0x63, 0xb4, 0xc9, 0x2f,
+			0x71, 0xe6, 0xeb, 0xdf, 0xaf, 0x7e, 0xff, 0x9e,
+			0xe0, 0xbf, 0xca, 0xca, 0x11, 0xed, 0xc6, 0x04,
+			0xd8, 0x49, 0x13, 0x2c, 0x63, 0xf1, 0xb3, 0x17,
+			0x74, 0xd9, 0x50, 0x3f, 0xb9, 0x29, 0x0e, 0x48,
+			0xa7, 0xf0, 0xdc, 0x78, 0x18, 0x0e, 0x9f, 0xb7,
+			0xde, 0x36, 0x79, 0x67, 0xa4, 0x23, 0x08, 0xe7,
+			0x62, 0xe8, 0xa4, 0xe5, 0xcf, 0xff, 0x35, 0x55,
+			0x36, 0x2e, 0x3a, 0xe4, 0x45, 0x6a, 0x80, 0xf2,
+			0xca, 0xe7, 0x40, 0x79, 0x14, 0xc4, 0x62, 0x38,
+			0xbb, 0xd0, 0x4e, 0x6c, 0xb5, 0x85, 0x42, 0x3f,
+			0x35, 0xf7, 0xd7, 0x54, 0xb8, 0x2b, 0x8b, 0xd5,
+			0x6f, 0x16, 0x61, 0x27, 0x23, 0xac, 0xdb, 0xea,
+			0x9b, 0x3b, 0x99, 0xcd, 0x79, 0xe6, 0x12, 0x09,
+			0x99, 0x09, 0xa4, 0xe1, 0x88, 0x25, 0x00, 0x9e,
+			0x60, 0x16, 0x63, 0xd7, 0x42, 0x9b, 0xcc, 0x36,
+			0x9a, 0x8d, 0xa3, 0x75, 0x36, 0xa1, 0xa8, 0xfc,
+			0xa2, 0xfe, 0x29, 0x26, 0x4c, 0x93, 0x21, 0x44,
+			0x6b, 0x1c, 0xba, 0xbd, 0xef, 0xff, 0x6d, 0x1f,
+			0x2b, 0x6c, 0x66, 0x81, 0x9a, 0x3a, 0x1d, 0x0b,
+			0xd7, 0x24, 0xd4, 0xb8, 0x93, 0xb5, 0x22, 0xf9,
+			0xd2, 0xf4, 0xa5, 0x05, 0x78, 0x38, 0xae, 0x58,
+			0xf6, 0x50, 0x8f, 0x47, 0x1d, 0xf3, 0xfb, 0x0d,
+			0x04, 0x14, 0xd1, 0xd6, 0xd8, 0x2e, 0xf2, 0xbd,
+			0xf5, 0x71, 0x86, 0x4c, 0xdd, 0x61, 0x24, 0x18,
+			0x5b, 0x54, 0xf5, 0xcd, 0x99, 0x89, 0x01, 0x8e,
+			0xd1, 0x19, 0x52, 0xbc, 0x45, 0xed, 0x0e, 0xec,
+			0x72, 0x2f, 0x5a, 0xe7, 0xdf, 0x36, 0x1c, 0x57,
+			0x9f, 0xb2, 0x8b, 0xf2, 0x78, 0x1b, 0x3e, 0xc5,
+			0x48, 0x1f, 0x27, 0x04, 0x76, 0x10, 0x44, 0xee,
+			0x5c, 0x68, 0x8f, 0xca, 0xd7, 0x31, 0xfc, 0x5c,
+			0x40, 0x03, 0x2e, 0xbd, 0x1d, 0x59, 0x13, 0x57,
+			0xbc, 0x33, 0xc6, 0xa1, 0xa3, 0xe5, 0x55, 0x79,
+			0x9b, 0x7e, 0x49, 0xbb, 0x23, 0x96, 0xc3, 0x1c,
+			0xfe, 0x66, 0xeb, 0x5b, 0x5f, 0xe5, 0x03, 0xc9,
+			0xa4, 0xac, 0x4d, 0xc4, 0x50, 0xbb, 0xd3, 0xc1,
+			0x91, 0x48, 0xe0, 0x93, 0x92, 0x2a, 0xdb, 0x41,
+			0x37, 0x98, 0xbc, 0xa2, 0x7a, 0x09, 0x92, 0x0b,
+			0x1c, 0xe6, 0x4b, 0x1e, 0x8e, 0x78, 0x81, 0x74,
+			0x7d, 0x6b, 0x71, 0xd5, 0xe7, 0x0e, 0x7b, 0xc2,
+			0x74, 0x5d, 0x89, 0xf1, 0xfa, 0x59, 0xaa, 0xf7,
+			0x86, 0x66, 0x7e, 0xc2, 0x9c, 0xf4, 0xd5, 0x8d,
+			0xc0, 0xb7, 0xb7, 0xa2, 0xd5, 0xcd, 0x51, 0xc3,
+			0x7d, 0xa9, 0x5e, 0x46, 0xba, 0x06, 0xa3, 0x4d,
+			0x60, 0xd6, 0x68, 0xc6, 0xf9, 0x63, 0x88, 0x17,
+			0x5c, 0x20, 0xe1, 0xc4, 0x0f, 0x3f, 0xc1, 0xa9,
+			0xa7, 0x3e, 0x39, 0xef, 0x2f, 0xaf, 0xc4, 0x69,
+			0x29, 0xe3, 0xd4, 0x8d, 0xe0, 0x0e, 0x88, 0xc2,
+			0x93, 0x43, 0xfb, 0x28, 0xcf, 0x5d, 0x85, 0x50,
+			0xf7, 0xeb, 0x42, 0xf5, 0x87, 0xde, 0xa5, 0x65,
+			0xef, 0x43, 0x0c, 0x57, 0x76, 0x09, 0xf4, 0x5f,
+			0xde, 0x81, 0x0a, 0xd9, 0x59, 0x41, 0xa4, 0x6a,
+			0xb7, 0x05, 0xc7, 0xa5, 0xfe, 0x49, 0xd5, 0x9b,
+			0x57, 0x13, 0x14, 0x66, 0xe2, 0xb9, 0xcc, 0x09,
+			0x35, 0xd4, 0xb0, 0xe0, 0xd1, 0x0d, 0x7e, 0x50,
+			0x48, 0x45, 0x21, 0x00, 0x67, 0xb2, 0xad, 0xa7,
+			0x46, 0xe2, 0x6f, 0x70, 0xe5, 0x3c, 0x88, 0x04,
+			0xaa, 0x21, 0xde, 0x03, 0xb6, 0x6f, 0xfe, 0x43,
+			0x51, 0xdc, 0x2e, 0x5c, 0x6c, 0x77, 0x8f, 0x8e,
+			0x9d, 0x1a, 0x5b, 0x35, 0xc5, 0xe4, 0x48, 0x82,
+			0x17, 0x4b, 0xf0, 0xea, 0xc9, 0x0e, 0xd2, 0x8f,
+			0xcd, 0xd5, 0x01, 0xbd, 0x7f, 0x0f, 0xf5, 0xae,
+			0x92, 0x28, 0x1e, 0x2c, 0xf4, 0xe9, 0x03, 0xf7,
+			0x0a, 0xeb, 0x84, 0x18, 0xa1, 0x37, 0x38, 0x8a,
+			0x11, 0xa2, 0x5d, 0x8c, 0xf6, 0xe4, 0x3f, 0x5b,
+			0x87, 0x07, 0x6b, 0xb4, 0x07, 0xe0, 0x8f, 0x30,
+			0xc4, 0xfa, 0x27, 0xae, 0xfc, 0x02, 0xd1, 0x21,
+			0x5c, 0xbc, 0x0b, 0x93, 0x6e, 0x7e, 0xf9, 0x6b,
+			0x80, 0x7a, 0x25, 0x84, 0x20, 0xf1, 0x6a, 0xfa,
+			0x75, 0xed, 0x57, 0x61, 0x62, 0xa7, 0xf6, 0x5b,
+			0xe1, 0xb0, 0x38, 0xc8, 0xe9, 0x6d, 0x3f, 0xef,
+			0x1e, 0x99, 0x0b, 0xb7, 0xc8, 0x9f, 0x76, 0x5c,
+			0x04, 0x1f, 0x02, 0x92, 0x00, 0xa7, 0x38, 0x3d,
+			0x00, 0x3b, 0xa7, 0xbc, 0x39, 0x6e, 0xab, 0xf5,
+			0x10, 0xa8, 0xba, 0xd6, 0x28, 0x6b, 0x0e, 0x00,
+			0x48, 0xf9, 0x3b, 0x5c, 0xde, 0x59, 0x93, 0x46,
+			0xd6, 0x61, 0x52, 0x81, 0x71, 0x0f, 0x0e, 0x61,
+			0xac, 0xc6, 0x7f, 0x15, 0x93, 0xa7, 0xc1, 0x16,
+			0xb5, 0xef, 0x85, 0xd1, 0xa7, 0x61, 0xc2, 0x85,
+			0x1d, 0x61, 0xc6, 0xae, 0xb3, 0x9e, 0x8d, 0x23,
+			0xa3, 0xc8, 0xd5, 0xf2, 0xc7, 0x1b, 0x7e, 0xef,
+			0xd2, 0xdf, 0x25, 0xaf, 0x4e, 0x81, 0x15, 0x59,
+			0xe5, 0x36, 0xb1, 0xf1, 0xd5, 0xda, 0x58, 0xd8,
+			0xd9, 0x0d, 0x6d, 0xc9, 0x25, 0xb5, 0xe8, 0x1d,
+			0x3b, 0xca, 0x2d, 0xab, 0xf2, 0xe2, 0xe9, 0x55,
+			0xd7, 0xf4, 0xc7, 0xd0, 0x57, 0x7a, 0x86, 0x15,
+			0x0a, 0x5a, 0x8b, 0xd7, 0x3f, 0x66, 0x0f, 0x80,
+			0xb4, 0xe0, 0x5c, 0x33, 0xed, 0xaf, 0x1b, 0x3b,
+			0x6d, 0x1c, 0xd9, 0x8c, 0xb5, 0x96, 0xa3, 0xfb,
+			0xcf, 0xcc, 0x97, 0x1c, 0xae, 0x06, 0x19, 0x41,
+			0x61, 0xf8, 0x97, 0x6b, 0x82, 0x5e, 0x1c, 0xbf,
+			0x6f, 0x43, 0x3d, 0xe5, 0x00, 0xf5, 0xfe, 0x66,
+			0x48, 0x26, 0x31, 0xa1, 0x72, 0x67, 0x6e, 0xd4,
+			0x5b, 0x6f, 0x66, 0xde, 0x70, 0x8b, 0x2b, 0xc3,
+			0xa2, 0x30, 0xe9, 0x55, 0xc8, 0xff, 0xf8, 0xd0,
+			0xdd, 0xa9, 0x21, 0x85, 0x6e, 0x6c, 0x82, 0x66,
+			0xcc, 0x52, 0xf0, 0x9e, 0x1e, 0xb5, 0x3a, 0xff,
+			0x4c, 0xf3, 0xae, 0x02, 0xc3, 0x4b, 0x76, 0x25,
+			0xbd, 0xb0, 0x21, 0x54, 0x61, 0xda, 0x16, 0xd3,
+			0x23, 0x86, 0x41, 0xa1, 0x4c, 0x59, 0x15, 0x95,
+			0x65, 0x85, 0xb6, 0x8e, 0xa6, 0x37, 0xc0, 0xa2,
+			0x71, 0x1d, 0x67, 0x44, 0x7b, 0xe5, 0x4c, 0x4f,
+			0xb6, 0x2c, 0x46, 0xf7, 0x29, 0xa5, 0xf2, 0xd3,
+			0x51, 0x19, 0x91, 0x4d, 0xa7, 0xb5, 0x05, 0xb9,
+			0x6e, 0x61, 0x6e, 0xf8, 0xc0, 0x01, 0xe5, 0x41,
+			0x0a, 0x89, 0x64, 0x77, 0xf2, 0xc8, 0x63, 0x2d,
+			0x9d, 0x27, 0x7f, 0x47, 0x30, 0x39, 0xdf, 0xb6,
+			0x6e, 0x4f, 0x00, 0x3f, 0x15, 0xc6, 0xaf, 0x62,
+			0xdf, 0x3f, 0x47, 0xe8, 0x42, 0x90, 0x77, 0x23,
+			0x7a, 0xaa, 0x99, 0x53, 0x03, 0x63, 0x60, 0x59,
+			0x07, 0x52, 0x3c, 0xb5, 0x67, 0x59, 0xfe, 0x08,
+			0xe6, 0x43, 0x0f, 0x3b, 0x08, 0x7c, 0xc7, 0x07,
+			0x3c, 0xfa, 0x65, 0xea, 0x69, 0x51, 0x41, 0x31,
+			0xb3, 0x05, 0x69, 0xba, 0x2c, 0xbf, 0x89, 0x25,
+			0x9e, 0xfe, 0x07, 0x13, 0x78, 0x0e, 0x16, 0x54,
+			0xdf, 0x23, 0xdf, 0x10, 0x69, 0x79, 0xd0, 0x33,
+			0xd7, 0x21, 0x8b, 0xc8, 0x2a, 0xd0, 0x74, 0x0a,
+			0xfa, 0xb1, 0x6f, 0xa3, 0xcb, 0x1d, 0xca, 0x4f,
+			0x00, 0x46, 0x6c, 0x42, 0x09, 0xe0, 0x30, 0x89,
+			0x08, 0x33, 0x9b, 0x7b, 0x7b, 0x0f, 0x69, 0x5c,
+			0x0d, 0x34, 0x91, 0xfc, 0xfe, 0x22, 0x82, 0x02,
+			0xcd, 0xfa, 0x97, 0xe8, 0x28, 0x1d, 0xbc, 0x13,
+			0x0b, 0xfd, 0x47, 0xa1, 0x7e, 0xa2, 0x86, 0x4d,
+			0x6f, 0x12, 0x51, 0x35, 0x7d, 0x76, 0x8a, 0x58,
+			0x05, 0xb6, 0x39, 0xa1, 0x2f, 0xd7, 0xda, 0xaf,
+			0x00, 0xa0, 0x1a, 0x94, 0xd8, 0x23, 0x34, 0x99,
+			0x5c, 0xaf, 0xcc, 0x15, 0x4b, 0x56, 0xb2, 0xd2,
+			0x81, 0x07, 0xd3, 0xf3, 0x47, 0xa2, 0x45, 0x93,
+			0xcb, 0xae, 0xa7, 0x6b, 0x3f, 0xf9, 0xea, 0xfc,
+			0x0e, 0x64, 0xf2, 0x93, 0x7f, 0x24, 0x22, 0x73,
+			0x86, 0xc7, 0x2d, 0x75, 0x9b, 0x41, 0x8b, 0xfb,
+			0x3b, 0x26, 0x2a, 0xe5, 0x0b, 0xd4, 0x00, 0xe3,
+			0x2c, 0x69, 0x49, 0x62, 0x6c, 0x13, 0x58, 0x6e,
+			0xac, 0x43, 0xe5, 0x2b, 0x3b, 0x88, 0xdc, 0xd4,
+			0x41, 0xe8, 0xee, 0x4e, 0xc3, 0x28, 0x91, 0x17,
+			0x9a, 0x5a, 0xdb, 0x80, 0x8b, 0x4d, 0x64, 0xcc,
+			0xbe, 0x66, 0xa4, 0x62, 0xfb, 0x13, 0x44, 0x10,
+			0xd9, 0xe4, 0xd5, 0xa5, 0xae, 0x9e, 0x42, 0x50,
+			0xfc, 0x78, 0xad, 0xfa, 0xc4, 0xd0, 0x5a, 0x60,
+			0x9b, 0x45, 0x2b, 0x61, 0x5c, 0x57, 0xb5, 0x92,
+			0x28, 0xe9, 0xf5, 0x35, 0x67, 0xc1, 0x5e, 0xa8,
+			0x1c, 0x99, 0x36, 0x38, 0xb8, 0x5c, 0xff, 0x3d,
+			0xa0, 0xfc, 0xb0, 0xbc, 0x3d, 0x2c, 0xb4, 0x36,
+			0x17, 0xb4, 0x6d, 0xb5, 0x39, 0x45, 0xa9, 0x2a,
+			0x6b, 0xa2, 0x24, 0x44, 0x30, 0xab, 0x2c, 0x82,
+			0x36, 0xdc, 0xd6, 0x36, 0x5d, 0x0a, 0xdc, 0xee,
+			0x0f, 0x2b, 0x28, 0x99, 0xdc, 0x67, 0x0d, 0xea,
+			0x6e, 0x42, 0xb9, 0x45, 0x7f, 0xd2, 0x96, 0x1e,
+			0x60, 0x42, 0xeb, 0x1e, 0x5f, 0x8e, 0xa9, 0xdc,
+			0xd3, 0x8a, 0xd6, 0xbd, 0x4e, 0x1f, 0x42, 0x75,
+			0x1d, 0xe2, 0xc6, 0x11, 0xc9, 0x80, 0x1f, 0xfe,
+			0x99, 0x52, 0x4d, 0x7b, 0x35, 0xf7, 0xb7, 0xc3,
+			0xee, 0xd6, 0x94, 0xf5, 0x74, 0xa0, 0x69, 0xcd,
+			0x1f, 0x2b, 0xd0, 0x87, 0xf7, 0x8c, 0x69, 0xc5,
+			0x96, 0x70, 0x91, 0xe8, 0x3d, 0xd2, 0xcc, 0xf1,
+			0x4c, 0xcd, 0xe2, 0x14, 0x00, 0x10, 0x4a, 0xd9,
+			0x6a, 0x5d, 0x65, 0x2c, 0x4b, 0x79, 0x0c, 0xc4,
+			0x78, 0x5e, 0xc8, 0xc5, 0x37, 0x74, 0x6d, 0x50,
+			0x5c, 0x34, 0x1f, 0xe0, 0xf4, 0xe3, 0xe1, 0x86,
+			0x68, 0xb1, 0xea, 0x70, 0xf0, 0xae, 0xe4, 0x59,
+			0xa1, 0x08, 0x7e, 0x35, 0xa3, 0x16, 0xd2, 0xb0,
+			0xa3, 0xd4, 0xb0, 0x74, 0x8c, 0x05, 0x79, 0x73,
+			0xfb, 0xe6, 0x65, 0x96, 0x15, 0x07, 0xd5, 0xaf,
+			0x88, 0x9e, 0x6b, 0xf0, 0xbb, 0x3f, 0xe6, 0xd1,
+			0x6a, 0xe7, 0xc9, 0xae, 0xd9, 0xb0, 0x16, 0x1c,
+			0x40, 0xeb, 0xdb, 0xc1, 0xbf, 0x83, 0xdb, 0x8a,
+			0x4f, 0x96, 0xca, 0xd7, 0x22, 0x06, 0x87, 0x08,
+			0x9d, 0x65, 0x2f, 0xd9, 0x8e, 0x95, 0x6c, 0xcc,
+			0xbf, 0x76, 0x2a, 0xea, 0x5c, 0x8e, 0x5b, 0x17,
+			0x0f, 0x75, 0x7b, 0xfa, 0xf9, 0xfb, 0xaa, 0x92,
+			0xc7, 0x7e, 0x63, 0x63, 0x54, 0xa4, 0xff, 0xf6,
+			0xc0, 0xc0, 0xf5, 0x70, 0xd8, 0xe3, 0xa4, 0x79,
+			0x16, 0xf0, 0x6f, 0x90, 0x5e, 0xb7, 0xab, 0x6f,
+			0xab, 0x75, 0x3b, 0xe1, 0x4c, 0xa8, 0x0b, 0x72,
+			0x5f, 0x5f, 0x11, 0x22, 0x36, 0x71, 0x20, 0xd3,
+			0x5b, 0x5e, 0x07, 0x06, 0x76, 0x1a, 0xcc, 0x5e,
+			0x7c, 0x97, 0x7d, 0xb2, 0x6b, 0xf8, 0x39, 0x89,
+			0x37, 0xb6, 0x6d, 0xea, 0x74, 0x57, 0x28, 0xd7,
+			0x0e, 0x9b, 0xeb, 0x28, 0x88, 0x90, 0xfd, 0x2d,
+			0x16, 0x21, 0x74, 0x26, 0xc5, 0xb8, 0x44, 0xad,
+			0x9f, 0x97, 0xf9, 0x65, 0x36, 0xd8, 0x00, 0x59,
+			0x17, 0x49, 0xf9, 0xc7, 0xb3, 0x84, 0xb9, 0xe2,
+			0x95, 0xe0, 0xd1, 0x7f, 0x5f, 0xaa, 0xd7, 0xfd,
+			0x6a, 0x6a, 0x83, 0x14, 0x46, 0x1d, 0x12, 0x8d,
+			0x09, 0xc3, 0xa5, 0xca, 0x72, 0xa3, 0x25, 0x65,
+			0xb6, 0x40, 0x25, 0x04, 0x51, 0xab, 0x22, 0xeb,
+			0xd7, 0x69, 0xc9, 0x22, 0x9c, 0xa0, 0x19, 0x5c,
+			0x1a, 0xfd, 0x41, 0x8f, 0x98, 0xc5, 0x71, 0xb8,
+			0x6f, 0x76, 0xae, 0xfa, 0x9b, 0x03, 0xab, 0x43,
+			0x81, 0x3b, 0x66, 0xae, 0xf0, 0xd2, 0xb7, 0xee,
+			0x9a, 0xe3, 0xae, 0x45, 0xc1, 0x86, 0xb0, 0xce,
+			0x9e, 0x2b, 0xec, 0xb8, 0xcf, 0xca, 0x0e, 0x8c,
+			0x33, 0xfa, 0xa7, 0xef, 0xf7, 0xfc, 0xa1, 0x41,
+			0x49, 0xd3, 0x6d, 0xb5, 0x58, 0xe4, 0x0e, 0x24,
+			0xd2, 0x8a, 0x74, 0xc9, 0x56, 0x2e, 0x53, 0xc7,
+			0x7a, 0x38, 0x0f, 0x4b, 0xd9, 0xf9, 0x2f, 0xfa,
+			0x7d, 0xee, 0x14, 0x18, 0xce, 0x75, 0x42, 0x6c,
+			0x03, 0x34, 0xce, 0x80, 0xec, 0xf2, 0x05, 0xf0,
+			0xdf, 0xcd, 0xf8, 0xdb, 0x26, 0x7d, 0xb6, 0x3d,
+			0x28, 0x24, 0x7e, 0x7e, 0x39, 0x9f, 0xa6, 0xc6,
+			0xeb, 0x2a, 0xc8, 0x17, 0x94, 0xa9, 0x89, 0xf5,
+			0xdf, 0xcb, 0x77, 0xfd, 0xc9, 0x9e, 0x68, 0x98,
+			0x7d, 0x04, 0x50, 0x3c, 0x64, 0x1d, 0x66, 0xb0,
+			0x97, 0x06, 0xb6, 0x08, 0x5b, 0xe4, 0x17, 0x44,
+			0xd6, 0x94, 0x39, 0x6b, 0x03, 0x2c, 0xcb, 0x5a,
+			0x8d, 0x86, 0x08, 0x23, 0x4f, 0x95, 0xa8, 0x1a,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x1a, 0x84, 0x21, 0x0d, 0x35, 0x7a, 0x88, 0xc8,
+			0x6a, 0x11, 0xe3, 0x15, 0x24, 0xec, 0x0d, 0x2e,
+			0x76, 0xb9, 0xcf, 0x2b, 0x04, 0x25, 0x16, 0xae,
+			0x62, 0x42, 0xa0, 0x20, 0x68, 0x25, 0x3e, 0xb4,
+			0x75, 0xa7, 0x1d, 0x64, 0xc3, 0xd1, 0x08, 0x07,
+			0x67, 0xb6, 0xf7, 0x76, 0x76, 0xf6, 0xd6, 0x62,
+			0x66, 0x04, 0x89, 0x0c, 0x8f, 0x07, 0xac, 0xc8,
+			0x51, 0x77, 0xd9, 0x47, 0x5e, 0xb5, 0x22, 0x20,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0xda, 0xcf, 0x8d, 0x67, 0x59, 0x60, 0x6c, 0x39,
+			0x2d, 0x89, 0xb6, 0xa1, 0xf3, 0x8c, 0x70, 0xcf,
+			0x25, 0x86, 0x21, 0xa1, 0x9f, 0x20, 0x9e, 0xf5,
+			0xd2, 0xdd, 0xbd, 0x99, 0xfa, 0xe4, 0xab, 0x77,
+			0x31, 0x65, 0x18, 0xa1, 0xd1, 0x3f, 0x21, 0x70,
+			0x36, 0xe1, 0xf9, 0x5c, 0x28, 0xb6, 0x7d, 0x34,
+			0xae, 0x66, 0xc9, 0x1c, 0x8e, 0xc6, 0xf9, 0x45,
+			0x8c, 0xa9, 0xb2, 0xfb, 0x0f, 0x5b, 0xb8, 0xf9,
+			0xf5, 0xe2, 0x37, 0x79, 0x12, 0xda, 0xa7, 0x72,
+			0x9e, 0x0d, 0xf8, 0x88, 0x5b, 0x34, 0x49, 0x6c,
+			0xed, 0xa3, 0x7f, 0x86, 0xd3, 0xd9, 0x2f, 0x44,
+			0x08, 0x0d, 0xb7, 0xdb, 0x4a, 0xce, 0x02, 0x14,
+			0x02, 0xd6, 0x40, 0x75, 0xe3, 0xc0, 0x97, 0xfc,
+			0x6c, 0x6a, 0x88, 0x29, 0x0c, 0xe2, 0x3a, 0x2b,
+			0x28, 0x82, 0x8f, 0x27, 0x09, 0x69, 0x91, 0xc6,
+			0xc3, 0xb7, 0x07, 0x61, 0x86, 0x8d, 0x89, 0x8a,
+			0xd5, 0x00, 0x3b, 0x4b, 0xfc, 0x6f, 0xb3, 0x3f,
+			0x4c, 0x93, 0x31, 0xfc, 0x88, 0x53, 0x26, 0xea,
+			0xe5, 0x3a, 0xfc, 0xc1, 0x59, 0x16, 0xf0, 0xb7,
+			0xac, 0xde, 0x1e, 0xd8, 0x74, 0x85, 0x72, 0xd9,
+			0xbb, 0xbe, 0x76, 0x32, 0x25, 0x9d, 0x21, 0xbc,
+			0xfd, 0x8d, 0x32, 0xfe, 0xae, 0x24, 0xe5, 0x4a,
+			0xcc, 0x5d, 0x15, 0x23, 0xd3, 0x57, 0xe7, 0xa9,
+			0x2c, 0x31, 0xd7, 0xc5, 0x6b, 0x70, 0x6c, 0x22,
+			0x5a, 0x13, 0x1f, 0x76, 0x13, 0x78, 0x6f, 0xac,
+			0x42, 0x4c, 0x46, 0x81, 0xa2, 0x20, 0x91, 0x30,
+			0xed, 0xcb, 0x90, 0xfe, 0x3c, 0xa3, 0xc7, 0xb4,
+			0x1f, 0x21, 0x1d, 0x98, 0x74, 0x6a, 0x3e, 0xc8,
+			0xcc, 0xd2, 0x68, 0x87, 0x69, 0xa9, 0xdf, 0x50,
+			0xd5, 0x0a, 0x8e, 0x10, 0x54, 0xab, 0xea, 0x65,
+			0x2a, 0x52, 0xd7, 0x22, 0xae, 0x2f, 0x1e, 0xc3,
+			0x16, 0x58, 0x20, 0x18, 0x6d, 0x35, 0x46, 0x31,
+			0x43, 0x5d, 0x62, 0xfb, 0xb1, 0x47, 0x32, 0xfa,
+			0x14, 0xcc, 0x51, 0xa3, 0xcd, 0x99, 0x4f, 0x97,
+			0x0f, 0xca, 0x24, 0x93, 0x17, 0xea, 0xa3, 0xf3,
+			0x1f, 0xbe, 0xb5, 0xa3, 0xac, 0x80, 0xcc, 0x20,
+			0x3b, 0xa6, 0xd3, 0x32, 0x72, 0x4e, 0xd9, 0x25,
+			0xf9, 0xc2, 0x24, 0x15, 0xbd, 0x1e, 0x1e, 0x41,
+			0x8c, 0x18, 0x8c, 0x58, 0xe8, 0x75, 0x20, 0xff,
+			0xa3, 0xf4, 0xd4, 0xab, 0x75, 0x78, 0x4e, 0xbb,
+			0x7c, 0x94, 0x93, 0x28, 0x5b, 0x07, 0x3a, 0x3c,
+			0xc9, 0xf1, 0x55, 0x3e, 0x33, 0xed, 0xf8, 0x72,
+			0x55, 0xab, 0x5a, 0xea, 0xbe, 0x65, 0xfa, 0x81,
+			0x50, 0xc0, 0x9d, 0x2d, 0xfb, 0x04, 0x25, 0x7c,
+			0xb9, 0xee, 0xe2, 0xa3, 0x00, 0x44, 0xd3, 0x9d,
+			0xee, 0x4f, 0x80, 0x77, 0xfb, 0x26, 0x6b, 0x07,
+			0xd0, 0xff, 0x82, 0x39, 0x0e, 0x2b, 0x47, 0xa3,
+			0xe7, 0x3e, 0xc5, 0x4e, 0x15, 0x8a, 0x48, 0x28,
+			0xfb, 0xf7, 0xa4, 0x86, 0xfb, 0x77, 0x60, 0xcd,
+			0xc5, 0x68, 0x96, 0xd7, 0x4c, 0x3c, 0xf2, 0x51,
+			0x71, 0x79, 0x2e, 0x2e, 0x57, 0x10, 0xa7, 0xfc,
+			0xd1, 0xd4, 0x61, 0x71, 0x81, 0x85, 0x74, 0x09,
+			0x7d, 0x80, 0xd0, 0xc2, 0xe9, 0xff, 0xb7, 0x88,
+			0x53, 0x74, 0x1e, 0xb0, 0xca, 0x65, 0x48, 0x8e,
+			0xdb, 0x59, 0x3a, 0xcb, 0x80, 0xeb, 0xfd, 0xd2,
+			0xc9, 0x38, 0x43, 0xae, 0x76, 0xf2, 0xbb, 0x51,
+			0xb2, 0xcb, 0xe6, 0x85, 0x31, 0xb5, 0x62, 0xd4,
+			0x5e, 0x48, 0x08, 0xf1, 0x40, 0x5b, 0x16, 0x83,
+			0x5e, 0xa5, 0x9c, 0x6b, 0x91, 0x49, 0x44, 0xff,
+			0x3b, 0xa9, 0x2b, 0xf3, 0x06, 0x33, 0x9e, 0x6e,
+			0x3c, 0x66, 0x7e, 0x27, 0xa2, 0x59, 0x7b, 0xe3,
+			0xb6, 0xb4, 0x28, 0xeb, 0x93, 0x35, 0x87, 0xac,
+			0x0e, 0x0b, 0x7e, 0xbc, 0x35, 0x28, 0x72, 0x1f,
+			0x26, 0x59, 0xd0, 0x1f, 0x63, 0xe4, 0x86, 0x5d,
+			0x70, 0xf3, 0xa8, 0xa4, 0xb8, 0xcd, 0xb3, 0xf8,
+			0x8d, 0xaa, 0x41, 0xd2, 0xcc, 0x0b, 0x15, 0x66,
+			0x22, 0x83, 0x92, 0xe3, 0x0b, 0xf9, 0xea, 0xa0,
+			0x33, 0xa1, 0x4e, 0x92, 0xae, 0x81, 0x95, 0xa4,
+			0x58, 0x3f, 0xa9, 0x15, 0x52, 0xf9, 0xda, 0xb7,
+			0x10, 0x8d, 0xc6, 0xab, 0x77, 0xe9, 0xbe, 0xad,
+			0xc9, 0x3a, 0x6a, 0x8d, 0x92, 0x6c, 0x69, 0xff,
+			0x31, 0x49, 0x25, 0x04, 0xc8, 0x93, 0x6f, 0xc8,
+			0xe7, 0x60, 0x7a, 0x76, 0xb5, 0xc1, 0x07, 0xef,
+			0xa3, 0x39, 0xa6, 0xf2, 0x36, 0x04, 0xde, 0x3c,
+			0x4a, 0x4e, 0x96, 0xbd, 0x64, 0x26, 0x80, 0x01,
+			0x88, 0x47, 0xd2, 0xa4, 0x46, 0xcd, 0xe1, 0x30,
+			0x7f, 0xa3, 0x00, 0x11, 0x38, 0x55, 0xfa, 0xeb,
+			0x10, 0xeb, 0xa0, 0x65, 0x04, 0x09, 0xc8, 0xde,
+			0x9c, 0x73, 0xba, 0x0c, 0xbd, 0xd3, 0xa5, 0x84,
+			0x5e, 0xb9, 0x3b, 0xd4, 0x94, 0xbd, 0xa6, 0x53,
+			0xbe, 0x93, 0x69, 0x3e, 0xaa, 0x32, 0x31, 0x06,
+			0xc8, 0x1b, 0x4a, 0x48, 0xb5, 0x17, 0x85, 0xbf,
+			0x72, 0xec, 0xf5, 0x29, 0x8a, 0xd8, 0xeb, 0x99,
+			0x8b, 0x74, 0x84, 0x57, 0x8c, 0xe1, 0x85, 0x94,
+			0xa0, 0xbc, 0x7a, 0x14, 0xf0, 0xf4, 0x8b, 0x25,
+			0x37, 0x43, 0xa1, 0x34, 0x09, 0x71, 0xca, 0x5c,
+			0x9f, 0x08, 0x38, 0xd9, 0x9c, 0x0c, 0x0e, 0xcb,
+			0xe4, 0xad, 0x4b, 0x2a, 0x89, 0x67, 0xf8, 0x29,
+			0x6c, 0x69, 0x0e, 0x5d, 0xca, 0xfa, 0xa6, 0x6b,
+			0x0e, 0xb5, 0x94, 0x17, 0x71, 0xf0, 0xc9, 0xcd,
+			0x02, 0x1d, 0xa5, 0xd5, 0xc6, 0xa7, 0xbc, 0x5f,
+			0x6e, 0x67, 0x43, 0x68, 0xce, 0xac, 0x54, 0x81,
+			0x2a, 0x25, 0x22, 0x52, 0x35, 0xad, 0x7b, 0xd5,
+			0x06, 0x8c, 0x00, 0xfb, 0xca, 0xc4, 0x0a, 0x49,
+			0x1e, 0xc8, 0xeb, 0x77, 0xc1, 0x63, 0x23, 0x96,
+			0xbd, 0x35, 0xfa, 0x13, 0xae, 0xbf, 0x1d, 0x1e,
+			0x69, 0x8d, 0xb3, 0xe3, 0x07, 0xde, 0x4e, 0xd0,
+			0x12, 0xa9, 0xc3, 0x36, 0x30, 0x46, 0xef, 0x92,
+			0x76, 0x17, 0x8f, 0x10, 0xe7, 0xba, 0x99, 0x4b,
+			0xdf, 0xad, 0xb8, 0x11, 0x80, 0xdf, 0xe7, 0xfd,
+			0x80, 0x64, 0xf7, 0x2a, 0xac, 0x60, 0x2a, 0x54,
+			0x8f, 0x4f, 0xaf, 0xaf, 0x60, 0xf9, 0x67, 0x20,
+			0x80, 0x53, 0x5c, 0xb6, 0x81, 0xa6, 0x2a, 0x74,
+			0x2d, 0xc5, 0x74, 0x2a, 0x95, 0x26, 0x13, 0x17,
+			0x01, 0xdd, 0x31, 0xac, 0x5a, 0x05, 0xda, 0xde,
+			0xba, 0xf6, 0x37, 0x13, 0x8d, 0xe4, 0xa8, 0x93,
+			0x46, 0x9e, 0xa9, 0x82, 0x24, 0x7e, 0xc8, 0xda,
+			0x63, 0x89, 0xcd, 0x33, 0xc9, 0xf7, 0xf9, 0x71,
+			0x35, 0xe6, 0xa5, 0x5f, 0x6b, 0x3b, 0xbb, 0x0c,
+			0xe0, 0xa4, 0x0b, 0xe3, 0x29, 0xc0, 0xae, 0x8e,
+			0xce, 0x03, 0x09, 0x73, 0x0e, 0x1e, 0x9c, 0xe9,
+			0x59, 0xb6, 0x8b, 0x78, 0x67, 0x32, 0x8b, 0xf1,
+			0x93, 0xcc, 0x72, 0x1b, 0x6f, 0xa2, 0xf1, 0x04,
+			0x9c, 0xfa, 0x98, 0x02, 0xca, 0xdf, 0x35, 0x3c,
+			0x38, 0xac, 0xa8, 0xdb, 0x90, 0xae, 0xaa, 0xf9,
+			0x70, 0xfb, 0xed, 0xbd, 0xa6, 0x25, 0x14, 0x58,
+			0x09, 0x8a, 0x36, 0xaf, 0x41, 0x09, 0x19, 0xcb,
+			0xd3, 0x25, 0x5d, 0x0e, 0xe6, 0x20, 0x14, 0x71,
+			0x24, 0x79, 0x19, 0x55, 0xaf, 0x51, 0x5b, 0xa4,
+			0xc0, 0x93, 0x9e, 0xdd, 0x88, 0x31, 0x13, 0x96,
+			0xbf, 0xca, 0x0a, 0xd7, 0xbc, 0xc4, 0x00, 0xa1,
+			0x10, 0x2d, 0x92, 0x79, 0xf9, 0x14, 0xdb, 0xd2,
+			0xba, 0x74, 0xfa, 0xa8, 0xe5, 0x40, 0x14, 0xc2,
+			0x56, 0x3c, 0x7f, 0x50, 0x07, 0x60, 0x86, 0x93,
+			0x51, 0x2e, 0xf9, 0x70, 0x61, 0x70, 0x0e, 0xa4,
+			0x87, 0x75, 0xcc, 0x6c, 0x72, 0xb7, 0x68, 0x23,
+			0xb7, 0x3d, 0x76, 0xaf, 0x96, 0x9b, 0x4a, 0xe5,
+			0x12, 0x28, 0x4a, 0x8f, 0x79, 0x34, 0xff, 0xec,
+			0x92, 0xeb, 0x6b, 0xaf, 0xc9, 0xbd, 0xc1, 0x77,
+			0x07, 0xd0, 0xfa, 0x55, 0x57, 0x10, 0x0c, 0xad,
+			0x29, 0x2a, 0x79, 0xd6, 0x09, 0x9e, 0x7d, 0x18,
+			0xd4, 0xd6, 0xdd, 0x72, 0x1a, 0x8f, 0x24, 0x11,
+			0x70, 0xd2, 0x52, 0x36, 0x0f, 0x38, 0x79, 0x38,
+			0x4a, 0x02, 0x4f, 0x73, 0x2a, 0xaa, 0x6a, 0xb5,
+			0x0c, 0x72, 0x32, 0x85, 0x21, 0x76, 0x1a, 0x8a,
+			0x7d, 0x51, 0x0e, 0xf1, 0xf9, 0x19, 0xfa, 0x6b,
+			0x9b, 0x22, 0x71, 0x8c, 0x13, 0xcc, 0xba, 0x7d,
+			0xee, 0xd8, 0x34, 0xf6, 0x85, 0x60, 0xe1, 0xe4,
+			0x59, 0x6e, 0x32, 0x60, 0xd9, 0xfa, 0xb7, 0x56,
+			0x54, 0x25, 0xd1, 0x73, 0x6a, 0xf2, 0xa0, 0xc7,
+			0xa0, 0x67, 0x10, 0x89, 0x9c, 0x27, 0x5f, 0x7f,
+			0x2e, 0x5a, 0x29, 0x70, 0x7a, 0x7b, 0xaf, 0x21,
+			0xd0, 0xf4, 0x06, 0xb9, 0x2d, 0xf1, 0xb8, 0x32,
+			0xed, 0xc5, 0xc9, 0xac, 0x2f, 0x54, 0x0a, 0xf9,
+			0x08, 0x39, 0x39, 0x7d, 0x1d, 0xaf, 0xb4, 0x5f,
+			0x4d, 0x75, 0xc3, 0xe8, 0x52, 0x3a, 0x47, 0x72,
+			0x2c, 0xa9, 0x2d, 0xcb, 0x74, 0x06, 0xfe, 0x69,
+			0xd3, 0xf3, 0x1a, 0xb2, 0xd3, 0x01, 0xed, 0x6c,
+			0xc1, 0xca, 0x4f, 0xaf, 0x11, 0x9b, 0xa2, 0x27,
+			0x2a, 0x59, 0x56, 0x58, 0xdf, 0x79, 0x8b, 0xc9,
+			0x87, 0xe9, 0x58, 0x81, 0x48, 0xc6, 0xb6, 0x7d,
+			0x60, 0x54, 0x87, 0x9c, 0x61, 0xbb, 0x4b, 0xbb,
+			0x61, 0xac, 0x0a, 0x5a, 0x66, 0x7e, 0x70, 0x8b,
+			0xfd, 0x92, 0x76, 0x4a, 0xa9, 0xa5, 0xc3, 0xf4,
+			0xf2, 0x93, 0x48, 0xc4, 0xf3, 0x91, 0x2b, 0x60,
+			0x04, 0x0e, 0xb0, 0x6b, 0x60, 0x5e, 0xf0, 0xf1,
+			0x54, 0x41, 0x56, 0xdc, 0x25, 0x57, 0xc3, 0xb6,
+			0x0b, 0x5e, 0x15, 0xb5, 0x2a, 0x36, 0x4f, 0xe7,
+			0x1d, 0x70, 0xa8, 0xa7, 0xec, 0xd6, 0x74, 0xba,
+			0xa4, 0x79, 0x83, 0x7c, 0x9e, 0x1a, 0x5d, 0x32,
+			0xc8, 0xcb, 0x41, 0xca, 0x04, 0xec, 0x0b, 0x18,
+			0x54, 0xe1, 0x67, 0xbf, 0xa8, 0x7a, 0xc3, 0x0f,
+			0x27, 0x2a, 0xaf, 0x2a, 0x41, 0x19, 0x1f, 0xe8,
+			0xa2, 0xe8, 0xfa, 0xfc, 0x88, 0x41, 0x46, 0xc3,
+			0x1c, 0x44, 0xe5, 0xee, 0x47, 0xec, 0xfe, 0xbf,
+			0xb8, 0x29, 0x2e, 0xae, 0x47, 0x0a, 0x42, 0x69,
+			0x8a, 0x9a, 0x94, 0x97, 0x9e, 0xf5, 0xb6, 0x37,
+			0x1c, 0x10, 0xc2, 0x99, 0xa8, 0xe9, 0x9e, 0x0e,
+			0x6e, 0xb5, 0xbe, 0xba, 0x1f, 0x77, 0xa6, 0x35,
+			0x02, 0x1e, 0x8c, 0xe6, 0x02, 0x53, 0xe2, 0x9a,
+			0xdd, 0x09, 0x6e, 0x9b, 0x7a, 0x36, 0x4f, 0x38,
+			0x8d, 0x4c, 0xa4, 0xb4, 0xff, 0x90, 0x76, 0x0d,
+			0x11, 0x7d, 0xe1, 0xe9, 0x7f, 0x2a, 0x4a, 0x80,
+			0xe0, 0xd8, 0x3c, 0x23, 0xd2, 0xa5, 0xe5, 0x39,
+			0x77, 0xbf, 0x3d, 0x71, 0x0d, 0x45, 0xbb, 0x39,
+			0x66, 0x1a, 0x4d, 0x59, 0xb7, 0xd0, 0x0a, 0xee,
+			0x87, 0xee, 0x1f, 0xcf, 0x6f, 0xc2, 0x50, 0xb1,
+			0xa5, 0x4c, 0xee, 0x40, 0x69, 0xd7, 0x36, 0x38,
+			0x14, 0xcd, 0x6a, 0x9a, 0x90, 0x40, 0xad, 0x76,
+			0xf1, 0xa6, 0xd4, 0x3c, 0x75, 0x10, 0xba, 0xcb,
+			0xab, 0x22, 0x28, 0x5f, 0x0c, 0xe0, 0xee, 0xf4,
+			0xfd, 0x61, 0x52, 0x0a, 0x59, 0xfe, 0x61, 0xc5,
+			0x40, 0xf9, 0x91, 0x8e, 0x36, 0x29, 0x63, 0x6c,
+			0x6e, 0x45, 0xa5, 0x42, 0xe3, 0x36, 0x90, 0xe7,
+			0x90, 0x9f, 0x58, 0xbb, 0xf9, 0x1b, 0xee, 0x2c,
+			0xbb, 0x3a, 0xfd, 0x3d, 0xbe, 0x3d, 0x45, 0xf0,
+			0xc2, 0x18, 0xaa, 0x46, 0x10, 0x23, 0xe9, 0x63,
+			0xba, 0x7f, 0xc2, 0xe1, 0xf4, 0x05, 0xdd, 0x4a,
+			0x7c, 0xa8, 0xab, 0xa9, 0xbd, 0x6f, 0xdf, 0x48,
+			0x59, 0x11, 0xd4, 0xba, 0x75, 0xb6, 0x22, 0xd4,
+			0xd7, 0x35, 0x6f, 0x27, 0x70, 0xc7, 0x3d, 0x90,
+			0x06, 0x39, 0x2a, 0x16, 0xd0, 0x8b, 0xd7, 0xfb,
+			0x5e, 0x85, 0x2e, 0xb0, 0xd8, 0xc7, 0xdb, 0xe5,
+			0x24, 0x3a, 0x6e, 0xc4, 0x5e, 0xd4, 0x22, 0x25,
+			0x14, 0xee, 0xa5, 0x30, 0x8b, 0xd6, 0x27, 0x61,
+			0x33, 0x13, 0x46, 0x0b, 0x26, 0x45, 0xa6, 0xb4,
+			0xfa, 0x8d, 0xa3, 0xf2, 0x27, 0xd2, 0xc5, 0x04,
+			0xaa, 0x96, 0xa4, 0x55, 0xfa, 0x40, 0xf1, 0xfc,
+			0x66, 0x33, 0x9e, 0x4b, 0x39, 0x75, 0xae, 0x7f,
+			0x52, 0x87, 0x7b, 0x8a, 0xf9, 0x7d, 0x5f, 0x8a,
+			0x7e, 0xf7, 0xfe, 0xc4, 0x7f, 0xf4, 0xf6, 0x9a,
+			0x86, 0x78, 0x21, 0x02, 0x94, 0x9e, 0x50, 0x2d,
+			0xdc, 0xd6, 0xa5, 0x53, 0xf1, 0xef, 0x06, 0xe8,
+			0xb5, 0x46, 0x81, 0xcc, 0x91, 0x4f, 0x37, 0xee,
+			0x27, 0xcb, 0x91, 0xad, 0xff, 0x1d, 0xd1, 0x00,
+			0xa8, 0x96, 0x22, 0xaa, 0x63, 0x23, 0x2a, 0x7a,
+			0x75, 0x6f, 0xe9, 0x2d, 0x26, 0xde, 0x11, 0x97,
+			0x4b, 0x17, 0x3f, 0xde, 0x51, 0x1a, 0x22, 0xed,
+			0x38, 0x6f, 0x3e, 0x7a, 0xd0, 0xd6, 0x60, 0x06,
+			0x7e, 0x3f, 0xa4, 0x29, 0xfa, 0x18, 0x91, 0xda,
+			0x73, 0x38, 0xe3, 0xe3, 0xb5, 0xc0, 0x5b, 0x4e,
+			0xe8, 0x94, 0xea, 0x45, 0x6e, 0x5b, 0x50, 0xaa,
+			0x38, 0xb6, 0x6f, 0xdb, 0x90, 0x1b, 0x3b, 0x82,
+			0xbb, 0x0d, 0x38, 0xe3, 0xca, 0xd9, 0xf1, 0x2e,
+			0x27, 0x4c, 0x2c, 0x5a, 0x42, 0xdf, 0x44, 0xc8,
+			0x07, 0xe4, 0x95, 0xb5, 0xec, 0x91, 0x34, 0x1c,
+			0x9a, 0x0c, 0x50, 0x1a, 0xce, 0x67, 0xe4, 0x4b,
+			0x87, 0x61, 0x43, 0x95, 0x95, 0xb8, 0x8a, 0xf4,
+			0xc9, 0x92, 0x33, 0x33, 0xe3, 0xfe, 0x98, 0x2a,
+			0xae, 0x8e, 0xf2, 0x6b, 0x13, 0x7c, 0xe4, 0x44,
+			0x40, 0x66, 0xea, 0x0c, 0xe4, 0xdb, 0x16, 0x65,
+			0xa8, 0x8b, 0x37, 0x08, 0xec, 0x1e, 0xfc, 0xa6,
+			0xd0, 0x9b, 0x9e, 0x0a, 0xd2, 0xe3, 0xcf, 0x5d,
+			0xb2, 0xaf, 0x8e, 0x05, 0x7d, 0x8d, 0x84, 0xbc,
+			0x9f, 0xb1, 0xe6, 0x6a, 0x2e, 0x4b, 0x6d, 0x64,
+			0x91, 0x17, 0x9d, 0xb5, 0x35, 0x15, 0x02, 0xe9,
+			0x1b, 0x85, 0xc1, 0x89, 0xc2, 0x5a, 0x32, 0x3a,
+			0x80, 0x78, 0x5e, 0xcc, 0x50, 0x26, 0xf5, 0x11,
+			0x01, 0x79, 0xf3, 0xaf, 0xb6, 0x40, 0x00, 0x73,
+			0x8f, 0xeb, 0x5a, 0xd1, 0x26, 0x00, 0xe2, 0xa3,
+			0xcd, 0xfd, 0xaa, 0x15, 0x5b, 0x98, 0x2a, 0x76,
+			0x41, 0x07, 0xc2, 0xde, 0xb6, 0x71, 0xe7, 0xc3,
+			0xe9, 0x92, 0xb3, 0xd8, 0xfe, 0xaf, 0x12, 0x61,
+			0x86, 0x5b, 0x6e, 0x74, 0x45, 0x7b, 0x9b, 0x6f,
+			0x1a, 0x13, 0x84, 0xf6, 0x31, 0x5f, 0x5b, 0x6c,
+			0xde, 0x47, 0xb8, 0x73, 0x32, 0xc7, 0x94, 0x92,
+			0xa5, 0xc3, 0x65, 0xdf, 0x96, 0x6c, 0xfd, 0xb7,
+			0x80, 0xfb, 0x47, 0xba, 0x6e, 0x43, 0xb3, 0x7e,
+			0x86, 0xc9, 0x97, 0x45, 0xde, 0x3f, 0x3a, 0xf6,
+			0xb0, 0x9e, 0x9a, 0xcb, 0xfd, 0xf2, 0x5c, 0xba,
+			0x6e, 0x3f, 0xed, 0xfa, 0x74, 0x84, 0xe2, 0xb1,
+			0xae, 0x66, 0x57, 0x0b, 0x96, 0x6c, 0x77, 0xe4,
+			0x8a, 0x67, 0x97, 0xc7, 0xe0, 0x44, 0xb2, 0x83,
+			0x2d, 0x3c, 0x2e, 0x01, 0x19, 0x2e, 0x4c, 0x74,
+			0xe1, 0x35, 0x73, 0xeb, 0x85, 0x63, 0x8c, 0x3a,
+			0xb8, 0xbc, 0x25, 0x6a, 0x8d, 0xaf, 0xd2, 0xfb,
+			0xef, 0xd3, 0x12, 0x93, 0x0b, 0x39, 0xfa, 0x66,
+			0xbe, 0x3b, 0xfd, 0x6c, 0x0b, 0xbb, 0xb2, 0x5a,
+			0x78, 0xa1, 0xcf, 0x8c, 0x7d, 0x60, 0x55, 0xeb,
+			0x33, 0x4e, 0x8e, 0xf9, 0x19, 0x4d, 0x42, 0xd4,
+			0xf8, 0xd8, 0xba, 0xad, 0x0a, 0x6e, 0x62, 0xd4,
+			0xe1, 0x6a, 0xcc, 0xea, 0x09, 0x91, 0x8e, 0x62,
+			0xc9, 0x1e, 0x9e, 0x48, 0xaa, 0xde, 0xf7, 0xa2,
+			0x5a, 0xcb, 0x83, 0x20, 0xe8, 0xf5, 0xd1, 0xfe,
+			0x9d, 0x18, 0x2f, 0xd6, 0xf8, 0x97, 0x17, 0xce,
+			0xc2, 0x05, 0x08, 0xef, 0x61, 0x70, 0x9d, 0x95,
+			0x79, 0x59, 0x4c, 0x06, 0x24, 0x3d, 0x24, 0x69,
+			0xff, 0x46, 0xda, 0xbc, 0x71, 0x7a, 0x74, 0x93,
+			0x58, 0xf5, 0xc8, 0x91, 0xfb, 0x66, 0xed, 0x78,
+			0x8f, 0xf8, 0x28, 0xa8, 0x1d, 0xa5, 0x3a, 0x13,
+			0x76, 0xc2, 0xcc, 0xba, 0xb9, 0x56, 0x29, 0x74,
+			0xd6, 0x14, 0x75, 0x58, 0xe6, 0x2e, 0x79, 0x6e,
+			0x9d, 0x41, 0x94, 0x8a, 0xcf, 0xf1, 0xb1, 0xe0,
+			0x36, 0xe5, 0x89, 0x9a, 0x95, 0xa1, 0x11, 0xd1,
+			0xbe, 0x45, 0xe4, 0xb3, 0xb0, 0x62, 0x32, 0x1d,
+			0xba, 0xe0, 0xde, 0x57, 0x81, 0x0e, 0x01, 0x9b,
+			0x52, 0x3d, 0xd5, 0xde, 0x3b, 0x3a, 0xdd, 0x8f,
+			0xe3, 0x2e, 0xce, 0x1e, 0x89, 0x4d, 0x81, 0xf0,
+			0xf6, 0x20, 0x63, 0x7a, 0x4c, 0xbb, 0x66, 0xe0,
+			0xbe, 0x2b, 0xee, 0xd0, 0x3b, 0x60, 0x1e, 0x65,
+			0xd1, 0x2c, 0x7c, 0x5c, 0x6c, 0x16, 0x5b, 0x90,
+			0xc8, 0x05, 0x10, 0xf2, 0xde, 0x33, 0x90, 0x35,
+			0x69, 0x24, 0x3f, 0xc1, 0x8f, 0x1e, 0x4a, 0x60,
+			0xf1, 0x03, 0x65, 0x46, 0x40, 0x76, 0xe9, 0x83,
+			0x97, 0xda, 0x0b, 0xb8, 0x22, 0xfa, 0x55, 0x99,
+			0xfd, 0x18, 0x24, 0xd2, 0x66, 0xb0, 0x7b, 0x70,
+			0x56, 0x93, 0xad, 0x09, 0x95, 0x8e, 0x1f, 0x2f,
+			0xe8, 0x12, 0x55, 0xd4, 0x1f, 0xde, 0x09, 0x85,
+			0x05, 0xd1, 0xd5, 0x10, 0x2c, 0x8c, 0x6b, 0x53,
+			0x28, 0xce, 0x06, 0xc5, 0x52, 0x0f, 0xfa, 0x09,
+			0x09, 0x23, 0x1b, 0xe3, 0xbf, 0xb1, 0x89, 0x72,
+			0x26, 0x0d, 0xa6, 0xbb, 0x7d, 0x9e, 0xdc, 0xf8,
+			0xf5, 0x0b, 0x8c, 0xe0, 0xbc, 0x97, 0x3b, 0x72,
+			0xdd, 0xf5, 0x9d, 0xc5, 0xb6, 0x37, 0x2c, 0x76,
+			0x5b, 0x58, 0x67, 0xdb, 0xed, 0x3b, 0x6e, 0xe5,
+			0xe5, 0x6d, 0x6f, 0x0d, 0x7e, 0xff, 0xa9, 0x57,
+			0x4a, 0x84, 0x85, 0x82, 0xac, 0x00, 0x50, 0xa3,
+			0x4f, 0x87, 0xfe, 0x2a, 0x40, 0x52, 0x54, 0x81,
+			0x69, 0x42, 0x0b, 0x0c, 0xd7, 0x18, 0x98, 0x01,
+			0x8c, 0x5a, 0xa2, 0xf4, 0xe8, 0x61, 0xd1, 0x38,
+			0xfd, 0x0f, 0x63, 0x75, 0xd3, 0x4b, 0x1d, 0xdc,
+			0xdf, 0xb2, 0xeb, 0x94, 0x97, 0x5c, 0x2a, 0xb4,
+			0x12, 0x5c, 0x49, 0x2b, 0xfc, 0xd0, 0x8d, 0xfb,
+			0xe7, 0xb3, 0xcb, 0x0f, 0x3c, 0x2e, 0x04, 0x36,
+			0xa8, 0x03, 0xc9, 0xd7, 0x11, 0x2d, 0x2a, 0x93,
+			0xff, 0xda, 0x26, 0xb0, 0x54, 0x7e, 0xaf, 0x30,
+			0x7d, 0xce, 0x46, 0x8a, 0x3d, 0x7c, 0xa4, 0x7a,
+			0x2c, 0xfa, 0xba, 0xa1, 0xc9, 0x41, 0xd3, 0xb8,
+			0x84, 0x03, 0x78, 0xdd, 0xe9, 0x57, 0x19, 0x62,
+			0x62, 0xff, 0x5b, 0x3b, 0x48, 0x62, 0x0e, 0xee,
+			0x19, 0xb0, 0x32, 0x6e, 0x6a, 0x07, 0xd8, 0x4e,
+			0x25, 0x76, 0xa7, 0xe3, 0x98, 0xa1, 0x6f, 0xb6,
+			0x99, 0x32, 0x67, 0x7d, 0x46, 0x42, 0x4a, 0x82,
+			0xd1, 0x29, 0x1b, 0x87, 0xeb, 0x4b, 0x9e, 0xdf,
+			0x69, 0x75, 0xbd, 0x4f, 0xd3, 0xde, 0xc9, 0x83,
+			0xe6, 0xd6, 0xea, 0x03, 0x81, 0x12, 0xf3, 0x5d,
+			0x99, 0xf1, 0xb1, 0xd9, 0x3e, 0xbe, 0xf3, 0xa8,
+			0xdc, 0xb6, 0xf8, 0x4b, 0x9e, 0x26, 0x3f, 0xf0,
+			0x7c, 0xb3, 0xf4, 0xca, 0x00, 0x6c, 0x6c, 0xe5,
+			0x43, 0xa1, 0xfd, 0x3a, 0xf8, 0x8e, 0xe3, 0x9f,
+			0x88, 0xc5, 0x44, 0xfd, 0x24, 0x69, 0x76, 0xd5,
+			0xcb, 0xdc, 0x9d, 0x12, 0xf3, 0x13, 0x7e, 0xe7,
+			0xc3, 0xa8, 0x6a, 0xb2, 0xe0, 0xb3, 0x1d, 0xab,
+			0x3b, 0xc9, 0x77, 0x3d, 0x0f, 0xc3, 0xbe, 0x4b,
+			0x8b, 0x28, 0xbd, 0x7c, 0xe6, 0xb2, 0x06, 0x1f,
+			0xf9, 0x8f, 0x16, 0x62, 0xbf, 0xc7, 0x55, 0x73,
+			0xd4, 0xf1, 0x5a, 0x95, 0x80, 0xa3, 0x4e, 0xaa,
+			0x60, 0x17, 0x3c, 0xc9, 0x5e, 0xd4, 0x0c, 0x56,
+			0x7a, 0x77, 0x8e, 0x7f, 0x67, 0x08, 0x2f, 0xd9,
+			0x21, 0x19, 0xfd, 0x86, 0x8c, 0x23, 0x8d, 0xf6,
+			0x92, 0x1f, 0x36, 0x2c, 0x7c, 0x83, 0xbd, 0x2f,
+			0x6c, 0x63, 0x7c, 0xb7, 0x93, 0x74, 0x1b, 0xc2,
+			0x95, 0x34, 0x26, 0x1e, 0x07, 0x87, 0x3a, 0xb6,
+			0xe2, 0x39, 0x71, 0x9b, 0x20, 0xcd, 0x63, 0xf0,
+			0xbf, 0x48, 0xb5, 0x0e, 0x49, 0x86, 0x50, 0x80,
+			0xbd, 0xd6, 0x0e, 0xab, 0xd5, 0x69, 0x1b, 0xa4,
+			0xb3, 0x63, 0x3c, 0x8f, 0xcb, 0x42, 0xdb, 0xd7,
+			0x1a, 0xf4, 0xdf, 0x9e, 0x25, 0xfc, 0xd4, 0x00,
+			0xcb, 0xec, 0x57, 0x69, 0x30, 0x15, 0x4d, 0x7a,
+			0x69, 0x28, 0x2f, 0x2b, 0x34, 0x26, 0xd1, 0xe7,
+			0x01, 0x42, 0x5e, 0x02, 0xe2, 0x75, 0xe8, 0x52,
+			0x8a, 0xb4, 0x71, 0xfa, 0xc3, 0x3d, 0xe6, 0xac,
+			0xeb, 0xf3, 0x93, 0xe0, 0x37, 0xcd, 0x66, 0x92,
+			0x66, 0x2c, 0xfe, 0x4b, 0xd6, 0x3c, 0xf1, 0x57,
+			0xe5, 0xcf, 0xf5, 0xd0, 0xdb, 0x0e, 0x1f, 0x82,
+			0x65, 0x3b, 0xab, 0x69, 0x42, 0x53, 0x7d, 0xa4,
+			0x7c, 0xb7, 0x86, 0xeb, 0x23, 0x45, 0xa8, 0x4a,
+			0x73, 0xfc, 0x38, 0xc6, 0xe5, 0x2c, 0xab, 0x80,
+			0xfb, 0x23, 0xb2, 0x0c, 0x53, 0x28, 0x21, 0x37,
+			0x54, 0x9c, 0x72, 0x51, 0x0f, 0x44, 0x50, 0xd3,
+			0xe1, 0xd5, 0xb2, 0x27, 0x83, 0xb6, 0xe9, 0x4d,
+			0x64, 0x5c, 0x17, 0x0f, 0xe0, 0x13, 0xe4, 0x26,
+			0x6b, 0xd0, 0xd8, 0x25, 0xe3, 0x69, 0x6a, 0x95,
+			0x3f, 0x4a, 0x4e, 0xa0, 0x58, 0xbc, 0x28, 0x47,
+			0x8b, 0x68, 0xe4, 0x41, 0x90, 0x46, 0x1b, 0x84,
+			0xa0, 0x7b, 0x46, 0x46, 0x03, 0xee, 0x21, 0x0d,
+			0x34, 0xed, 0xff, 0x15, 0x57, 0x06, 0xdf, 0x71,
+			0x09, 0xb2, 0x66, 0x0d, 0x6e, 0xcc, 0xa5, 0x0c,
+			0xaf, 0x3f, 0x24, 0x8f, 0xd1, 0xc8, 0x44, 0x86,
+			0xaf, 0xbf, 0xeb, 0x2f, 0xb9, 0xee, 0xa7, 0xcf,
+			0xe4, 0xe8, 0xec, 0x47, 0x09, 0xd8, 0x95, 0x9e,
+			0x3c, 0xda, 0x92, 0x41, 0x61, 0xf5, 0xc3, 0xec,
+			0x00, 0xe4, 0xa3, 0x0d, 0x4a, 0xb3, 0xf6, 0x82,
+			0x05, 0x38, 0x70, 0x6a, 0xd1, 0x28, 0x2c, 0xb3,
+			0xc6, 0xbb, 0x38, 0xb3, 0x06, 0x7f, 0xd6, 0x4c,
+			0xe7, 0xfb, 0xef, 0x0d, 0x52, 0x66, 0xbe, 0xd8,
+			0xa6, 0x6f, 0xe8, 0xd9, 0x42, 0x4f, 0xad, 0xe8,
+			0xe8, 0x6c, 0xf9, 0xe9, 0x42, 0xd9, 0x66, 0x6e,
+			0xec, 0xfe, 0xf5, 0x91, 0xbf, 0x0a, 0x98, 0xd8,
+			0x7b, 0x23, 0x12, 0xa6, 0x04, 0xa8, 0xb3, 0x61,
+			0x13, 0x65, 0xc0, 0xe2, 0x82, 0xb9, 0xb2, 0x38,
+			0x07, 0x06, 0xca, 0x64, 0x6c, 0x23, 0x93, 0x60,
+			0x1d, 0x4d, 0x38, 0x5e, 0x8e, 0x90, 0x16, 0x4a,
+			0xfd, 0xb3, 0xcd, 0x84, 0x9c, 0xa5, 0xfa, 0x73,
+			0x2d, 0xcb, 0x87, 0x31, 0x3d, 0xf8, 0xfc, 0xeb,
+			0xa7, 0x56, 0x2f, 0x5b, 0x95, 0x9a, 0xc6, 0x82,
+			0x29, 0x86, 0x47, 0xe2, 0xc2, 0x84, 0x01, 0xaf,
+			0xc8, 0x0b, 0x2d, 0xfb, 0x34, 0xba, 0x5d, 0x9d,
+			0xd1, 0x85, 0xd5, 0x1e, 0x63, 0xcb, 0x3c, 0xa8,
+			0xfa, 0x79, 0xef, 0x12, 0xa6, 0xb5, 0xdb, 0xc5,
+			0x1d, 0x6a, 0xa7, 0x54, 0x58, 0x0c, 0xbe, 0x61,
+			0xe5, 0x96, 0x7f, 0x4a, 0x3b, 0x59, 0x32, 0x2d,
+			0x06, 0x44, 0x83, 0x5c, 0xad, 0xe9, 0xfe, 0x7c,
+			0xd7, 0x5b, 0x34, 0xa1, 0xa3, 0xad, 0x9a, 0xbf,
+			0xd5, 0x30, 0xf0, 0x22, 0xfc, 0x94, 0x7f, 0xd4,
+			0xa4, 0xca, 0x88, 0x31, 0xe7, 0xf2, 0x89, 0x2d,
+			0xda, 0xe6, 0x91, 0xa6, 0x27, 0x22, 0x74, 0x9f,
+			0xc6, 0x72, 0x4f, 0xf6, 0xa9, 0xfe, 0x7a, 0xf0,
+			0xa8, 0x6b, 0x6c, 0x9f, 0xe9, 0x2a, 0x9b, 0x23,
+			0x9e, 0xb8, 0x2b, 0x29, 0x65, 0xa7, 0x5d, 0xbd,
+			0x10, 0xe4, 0x56, 0x02, 0x94, 0xdd, 0xd1, 0xab,
+			0x9b, 0x82, 0x2d, 0x8d, 0xf6, 0xd3, 0x65, 0x63,
+			0x4a, 0xc4, 0x86, 0x61, 0x37, 0x9f, 0xdb, 0x4b,
+			0x34, 0x20, 0x0a, 0xca, 0x45, 0x6c, 0x06, 0xc4,
+			0x9c, 0x74, 0x4d, 0x83, 0x6a, 0x8d, 0xad, 0xc6,
+			0x61, 0x3a, 0x8d, 0xde, 0x6c, 0xf9, 0x8e, 0x33,
+			0xa2, 0xee, 0x99, 0xc7, 0xe4, 0x52, 0xb2, 0x44,
+			0x6f, 0x2f, 0x0f, 0x41, 0xa9, 0x1a, 0xd3, 0x96,
+			0x42, 0xc6, 0x49, 0x12, 0x6a, 0xf0, 0x29, 0xa9,
+			0x0c, 0x9c, 0x50, 0x5d, 0x1d, 0xd1, 0x42, 0x7e,
+			0x6f, 0x36, 0x48, 0x0f, 0x58, 0x14, 0x94, 0xc0,
+			0x10, 0x1e, 0xe0, 0xb2, 0xdd, 0xba, 0x57, 0x91,
+			0x4d, 0xd5, 0xdc, 0xa6, 0x4c, 0x68, 0x00, 0x6c,
+			0xb3, 0x5d, 0x32, 0x13, 0xbe, 0xa8, 0xc3, 0xfb,
+			0xd4, 0x19, 0x40, 0xf5, 0x6f, 0x63, 0xa1, 0x07,
+			0xbf, 0xa2, 0x8b, 0xfc, 0xfe, 0xf8, 0xa1, 0x33,
+			0x70, 0x07, 0x6d, 0xc5, 0x72, 0xa0, 0x39, 0xd6,
+			0xd7, 0x76, 0x6c, 0xfa, 0x1f, 0x04, 0xd6, 0x23,
+			0xbf, 0x66, 0x78, 0x92, 0x00, 0x11, 0x8a, 0x75,
+			0x67, 0x44, 0xa6, 0x7c, 0xd0, 0x14, 0xe6, 0xd0,
+			0x31, 0x6d, 0xdb, 0xc5, 0xb1, 0xa7, 0x99, 0xc3,
+			0xaf, 0x18, 0x7a, 0x26, 0x46, 0xad, 0x6d, 0x0c,
+			0xb6, 0xb5, 0xad, 0xc1, 0xcf, 0x60, 0x99, 0xf5,
+			0x9f, 0x88, 0xaf, 0x0e, 0x37, 0x15, 0xf9, 0x2b,
+			0x1a, 0x5f, 0xfb, 0xc9, 0xf8, 0xd4, 0xf0, 0x97,
+			0xd2, 0x91, 0xf4, 0x94, 0xa2, 0xd3, 0x3b, 0x8b,
+			0x0c, 0x22, 0xa0, 0xac, 0xb3, 0xb5, 0xdf, 0xf2,
+			0x27, 0x38, 0x47, 0x53, 0x5b, 0x6e, 0x8f, 0x98,
+			0x9e, 0xad, 0xb6, 0xf5, 0x0e, 0x17, 0x20, 0x35,
+			0x54, 0x6b, 0x73, 0xa6, 0x64, 0x65, 0xac, 0xb8,
+			0xc1, 0xd3, 0xf7, 0x07, 0x82, 0x93, 0x9d, 0xcb,
+			0xcc, 0xe9, 0x0c, 0x51, 0x52, 0x85, 0x8b, 0x95,
+			0xa6, 0xb1, 0xce, 0xdc, 0xfa, 0x00, 0x00, 0x08,
+			0x14, 0x1c, 0x23, 0x2a, 0x35, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0x51, 0xbc, 0x81, 0x7c, 0x36, 0x6a, 0x18, 0xc5,
+			0x5e, 0xb6, 0x89, 0xf9, 0xf2, 0xaf, 0xba, 0x61,
+			0x34, 0x2b, 0x1e, 0xe1, 0xae, 0xb1, 0xa2, 0x6f,
+			0x5a, 0x6b, 0x6e, 0xc6, 0x01, 0x23, 0x2a, 0x47,
+			0xd8, 0x3a, 0xec, 0x87, 0x93, 0x62, 0x3b, 0x4b,
+			0xcf, 0x37, 0x7c, 0x9a, 0x95, 0xff, 0xf1, 0xc1,
+			0x2b, 0xfc, 0x2f, 0x53, 0xbd, 0x90, 0x93, 0x3d,
+			0xc4, 0xb8, 0x43, 0xeb, 0xd9, 0x0d, 0x74, 0x4c,
+			0xca, 0x65, 0x02, 0x8c, 0x2c, 0x60, 0xc6, 0x11,
+			0xe5, 0xbe, 0xcd, 0xea, 0x0e, 0xc0, 0x4f, 0x82,
+			0x1f, 0xad, 0xa5, 0x65, 0xd9, 0xc9, 0x69, 0xa3,
+			0x23, 0xb7, 0x12, 0xb5, 0xc3, 0x9e, 0x78, 0x68,
+			0x5b, 0x6b, 0x21, 0x59, 0x5b, 0x49, 0x02, 0xfb,
+			0xda, 0x35, 0x8c, 0x8c, 0x74, 0x41, 0x8b, 0x46,
+			0xdc, 0x7b, 0xd8, 0x1e, 0x03, 0x47, 0x96, 0xc2,
+			0x96, 0xdc, 0x56, 0x0f, 0x86, 0xed, 0x95, 0xee,
+			0xf0, 0x27, 0xed, 0x82, 0x9d, 0x32, 0x72, 0x13,
+			0x49, 0x76, 0xf4, 0xc3, 0x04, 0xca, 0x4c, 0x16,
+			0x22, 0xf1, 0xab, 0x00, 0x8f, 0x15, 0x5a, 0xf7,
+			0x72, 0xf0, 0x79, 0x5a, 0x46, 0x57, 0xc8, 0x2f,
+			0xa2, 0x1f, 0x34, 0x6d, 0x20, 0x28, 0x14, 0x1d,
+			0x2e, 0x14, 0x31, 0x9b, 0x58, 0xac, 0x25, 0x0f,
+			0x91, 0x6f, 0xd6, 0xd7, 0xca, 0x34, 0x06, 0x32,
+			0x24, 0x5d, 0x65, 0x65, 0x50, 0x90, 0x4f, 0x11,
+			0x5a, 0xee, 0x36, 0xc7, 0x72, 0x34, 0xbb, 0x9d,
+			0xe9, 0xd5, 0xf2, 0x84, 0xa9, 0xa7, 0x04, 0xd5,
+			0x2d, 0xb0, 0x8b, 0x78, 0x0b, 0x87, 0x86, 0xa0,
+			0xff, 0x07, 0x1f, 0x61, 0x08, 0xdb, 0x41, 0x22,
+			0x3e, 0xe3, 0x97, 0x4b, 0x13, 0x70, 0x8e, 0x8a,
+			0x96, 0x04, 0xae, 0x73, 0x3d, 0x43, 0x5b, 0x86,
+			0x9f, 0xa7, 0xba, 0xa6, 0xaf, 0x5c, 0x94, 0xfd,
+			0xcb, 0xc3, 0x77, 0xc8, 0x5f, 0xe3, 0x33, 0x1f,
+			0x8b, 0x5a, 0xb1, 0x20, 0xc7, 0x96, 0xd5, 0xb3,
+			0xc2, 0xb7, 0xa6, 0x59, 0x0b, 0x13, 0x2f, 0xca,
+			0xe5, 0xb6, 0x17, 0x40, 0xa7, 0xba, 0xa3, 0xe0,
+			0x80, 0xdc, 0xf4, 0xe7, 0x9b, 0xd3, 0x53, 0xc5,
+			0xe4, 0x08, 0xa3, 0x72, 0xd3, 0x65, 0xf3, 0xd3,
+			0xdd, 0x72, 0xe8, 0x5c, 0xdd, 0xed, 0x11, 0x20,
+			0x84, 0xf9, 0x54, 0x9e, 0xce, 0xcb, 0x30, 0x81,
+			0xa1, 0xf1, 0x05, 0x16, 0xb0, 0x69, 0x57, 0x4d,
+			0xd5, 0x24, 0xd2, 0x8d, 0xd6, 0x46, 0x8e, 0x96,
+			0xb5, 0x4b, 0xcc, 0x80, 0x2f, 0x37, 0x2a, 0x7a,
+			0x2e, 0x4a, 0x94, 0x5d, 0x6a, 0x40, 0x95, 0x48,
+			0xc3, 0x34, 0x9c, 0xac, 0xe5, 0xcd, 0x91, 0xd9,
+			0x34, 0x51, 0x01, 0x67, 0x56, 0xfe, 0x9b, 0x16,
+			0x64, 0x1e, 0xed, 0x42, 0xc9, 0xc6, 0xa3, 0xf9,
+			0xd6, 0x7b, 0xf8, 0x36, 0xad, 0x1c, 0xd0, 0x10,
+			0x9c, 0x07, 0xe8, 0xb2, 0x2f, 0x86, 0xcd, 0xe7,
+			0x1d, 0xa3, 0xb8, 0x45, 0xca, 0x3b, 0x53, 0x79,
+			0xc9, 0x25, 0x73, 0x8f, 0x83, 0x75, 0x62, 0x90,
+			0x6a, 0x70, 0x8c, 0xf3, 0xed, 0x0b, 0x95, 0x37,
+			0xe4, 0xb2, 0xae, 0x5f, 0xa1, 0xd7, 0x0b, 0x10,
+			0xfe, 0xda, 0x49, 0xe2, 0x2e, 0x03, 0x08, 0x55,
+			0xed, 0x7c, 0x42, 0x3e, 0xd7, 0xc2, 0x96, 0x87,
+			0x65, 0x67, 0x7e, 0x46, 0x48, 0x74, 0x89, 0xdc,
+			0x3c, 0x91, 0x72, 0x14, 0x7a, 0x4f, 0xac, 0x47,
+			0xe5, 0x9f, 0x7d, 0x9f, 0xe6, 0xf7, 0xf8, 0x5d,
+			0xd7, 0x36, 0xe9, 0xe1, 0x2d, 0x64, 0x77, 0xd3,
+			0x53, 0x99, 0x45, 0xdd, 0xbf, 0x2e, 0xb5, 0x61,
+			0xe1, 0x56, 0xce, 0x51, 0x2e, 0x10, 0x1f, 0xef,
+			0xd8, 0x76, 0xc3, 0x1a, 0x2f, 0x06, 0x85, 0xb7,
+			0x89, 0x31, 0xbd, 0x31, 0x75, 0x90, 0x22, 0xba,
+			0x52, 0x5e, 0x10, 0xb0, 0x22, 0x39, 0x64, 0xa3,
+			0x22, 0x2e, 0x88, 0x0b, 0xc1, 0x33, 0xd3, 0xa3,
+			0xef, 0x7f, 0xca, 0x7e, 0x07, 0xc8, 0xe6, 0x64,
+			0xd8, 0x53, 0x83, 0x28, 0x2a, 0x10, 0x3a, 0x77,
+			0x85, 0x22, 0xdb, 0x61, 0xd8, 0x49, 0x20, 0x76,
+			0x97, 0x0d, 0xf7, 0x07, 0x2c, 0x9a, 0xbf, 0x66,
+			0x04, 0x49, 0x50, 0xb6, 0x70, 0xb5, 0x17, 0x95,
+			0xef, 0xe6, 0x9d, 0x7a, 0xdd, 0xed, 0x6b, 0x22,
+			0x5e, 0x89, 0x65, 0x72, 0xf1, 0xf6, 0x86, 0xcb,
+			0x76, 0x84, 0x7d, 0x22, 0x3b, 0x5c, 0x84, 0x48,
+			0x48, 0x7a, 0x00, 0x83, 0x03, 0x97, 0x01, 0x47,
+			0x46, 0x8f, 0x2a, 0x40, 0x61, 0xd6, 0x32, 0xd8,
+			0x3d, 0x59, 0x10, 0x78, 0xaf, 0x22, 0x33, 0xe5,
+			0x44, 0x63, 0x78, 0x5d, 0x56, 0x01, 0x24, 0x59,
+			0x19, 0x8d, 0x52, 0xb4, 0xc3, 0x7b, 0x97, 0x5f,
+			0x61, 0xcb, 0x48, 0x78, 0xa6, 0x7c, 0x1d, 0x06,
+			0xb2, 0x4b, 0xdf, 0x7a, 0x31, 0xa9, 0xb2, 0x53,
+			0xe5, 0x3e, 0x3e, 0xfe, 0xbf, 0x71, 0x18, 0x69,
+			0x86, 0x4c, 0xf5, 0x30, 0x89, 0xaa, 0xa8, 0x6c,
+			0x78, 0x64, 0xc8, 0x33, 0x3b, 0x2d, 0x63, 0xbd,
+			0x24, 0x30, 0xfa, 0x8a, 0x3c, 0xd7, 0x82, 0xa5,
+			0x31, 0x84, 0x96, 0x1b, 0xb3, 0x3b, 0x7b, 0x9e,
+			0x80, 0xef, 0xbb, 0xaf, 0x1e, 0x88, 0xa3, 0x75,
+			0x0d, 0x73, 0xbf, 0xf4, 0x36, 0x42, 0x2a, 0x98,
+			0xda, 0x7d, 0x9b, 0xab, 0x15, 0x26, 0xe4, 0x0b,
+			0x0c, 0x95, 0xaf, 0x8b, 0x8d, 0x8d, 0x67, 0x5b,
+			0x1f, 0x42, 0xce, 0xb0, 0x47, 0x94, 0x94, 0x57,
+			0x15, 0xba, 0xa4, 0x82, 0x5d, 0xc4, 0x71, 0x6b,
+			0xeb, 0xc6, 0xdf, 0x22, 0xef, 0xd8, 0x89, 0xd8,
+			0xfb, 0xc5, 0xce, 0xf2, 0xf3, 0x94, 0x64, 0xe1,
+			0xc1, 0x17, 0x2d, 0x3e, 0xa5, 0xb6, 0xf5, 0x65,
+			0xf6, 0xb3, 0xeb, 0xa9, 0x5d, 0xfa, 0x3e, 0xff,
+			0x1c, 0xbb, 0x52, 0xd8, 0x80, 0x09, 0x1c, 0x18,
+			0x25, 0x57, 0x4b, 0x4b, 0x30, 0xfe, 0xb2, 0xe5,
+			0x03, 0x87, 0x6f, 0x6c, 0x2b, 0x83, 0x5a, 0xf3,
+			0x37, 0x72, 0x11, 0xe4, 0xfd, 0x76, 0x1e, 0x28,
+			0xe6, 0x65, 0x12, 0x4e, 0xb8, 0xcd, 0x90, 0xba,
+			0xdf, 0x6e, 0x4e, 0xc9, 0x4b, 0xf5, 0x7c, 0x9f,
+			0xb3, 0xe6, 0xab, 0xd5, 0xcd, 0x26, 0xe4, 0x74,
+			0x65, 0xe7, 0x84, 0x9c, 0x28, 0x7a, 0x6f, 0x1f,
+			0x6c, 0xbe, 0xcc, 0xa7, 0xf3, 0x2e, 0x56, 0x92,
+			0x88, 0xfb, 0x99, 0x1f, 0xed, 0xed, 0xf0, 0xc1,
+			0x1a, 0x75, 0x13, 0x47, 0x0c, 0x88, 0x3c, 0x99,
+			0x72, 0x02, 0x36, 0x40, 0x48, 0x26, 0x31, 0xc4,
+			0xa0, 0x80, 0x79, 0x40, 0x1f, 0xfb, 0xff, 0xab,
+			0x7f, 0xe6, 0x45, 0x71, 0xed, 0x8e, 0x12, 0x1b,
+			0x4c, 0x4f, 0xa1, 0xd1, 0xc8, 0x94, 0xa4, 0xe8,
+			0x2a, 0x76, 0xe3, 0x19, 0x52, 0xad, 0x4e, 0x4c,
+			0x97, 0xf7, 0xc8, 0x67, 0x90, 0x49, 0x36, 0x0b,
+			0x54, 0xf5, 0xe0, 0xce, 0x25, 0x27, 0x9c, 0xa6,
+			0x9c, 0x2d, 0xd5, 0xaa, 0x58, 0x19, 0x14, 0x62,
+			0x19, 0x9d, 0xe6, 0x54, 0xda, 0x47, 0x0b, 0x24,
+			0xf1, 0xb5, 0xe0, 0x55, 0xaf, 0x5d, 0x30, 0x93,
+			0x1c, 0x95, 0xda, 0xa5, 0x94, 0xf9, 0x3d, 0xa7,
+			0x40, 0x92, 0xcd, 0x18, 0xa7, 0x3f, 0x3f, 0xa5,
+			0x9e, 0xe2, 0x01, 0xe0, 0xae, 0xd1, 0xe8, 0xdb,
+			0xc2, 0x79, 0x7a, 0x6e, 0x5b, 0xd4, 0x1d, 0x68,
+			0x39, 0xd8, 0xea, 0xa1, 0x4b, 0x95, 0xb4, 0xed,
+			0x94, 0x96, 0x37, 0x5f, 0xb4, 0x3d, 0x97, 0x4a,
+			0x77, 0x51, 0xf8, 0x57, 0x74, 0xc8, 0xe2, 0x62,
+			0x17, 0x53, 0x23, 0x0e, 0x47, 0x6c, 0xd5, 0x4a,
+			0x87, 0x7d, 0xe8, 0x97, 0x0b, 0x23, 0x24, 0x80,
+			0x6b, 0x56, 0x04, 0x5e, 0xbf, 0x0d, 0x22, 0x18,
+			0xac, 0xc8, 0xbc, 0xe0, 0xfa, 0x57, 0x80, 0xa7,
+			0x99, 0xca, 0xdc, 0xe9, 0xe6, 0x8a, 0x11, 0x7c,
+			0x99, 0x41, 0xb8, 0x76, 0xe7, 0x91, 0x72, 0x85,
+			0x97, 0xe7, 0xd3, 0x8e, 0xee, 0x16, 0x3c, 0x47,
+			0x9c, 0xef, 0x02, 0x61, 0x18, 0x71, 0x9b, 0xf8,
+			0xae, 0x55, 0x89, 0x5d, 0x4a, 0xcd, 0x5b, 0x9c,
+			0x0b, 0x97, 0xef, 0x5c, 0xbc, 0xad, 0x72, 0xf9,
+			0x4f, 0xfe, 0xa3, 0x13, 0xd6, 0x0f, 0x5d, 0x3a,
+			0x87, 0x46, 0xf3, 0x40, 0x37, 0xd0, 0x99, 0xfe,
+			0xa5, 0xc7, 0x1d, 0xb4, 0x95, 0xb0, 0x55, 0x3a,
+			0x47, 0x66, 0x0a, 0xc8, 0x4e, 0xe0, 0xcb, 0xc5,
+			0x80, 0x6d, 0x34, 0x91, 0x39, 0xc1, 0x71, 0xb9,
+			0x54, 0x5e, 0xb4, 0xfd, 0x6c, 0x54, 0xc3, 0x9c,
+			0xde, 0x83, 0xb4, 0x5d, 0x4b, 0xa9, 0x1c, 0x25,
+			0x0e, 0x8e, 0x51, 0x3e, 0xa5, 0x59, 0x5f, 0x20,
+			0x5b, 0x43, 0xf8, 0xa4, 0x7d, 0x7f, 0x0c, 0xb2,
+			0x87, 0x2b, 0xf1, 0xdc, 0xf2, 0xd5, 0x2b, 0x19,
+			0x4d, 0x60, 0x18, 0x25, 0x4b, 0x31, 0xa5, 0x08,
+			0x6b, 0x4d, 0x0e, 0xec, 0x0a, 0x65, 0x31, 0xc5,
+			0x1a, 0xf3, 0x4d, 0x16, 0xed, 0x24, 0x89, 0xeb,
+			0xfe, 0xe2, 0x7c, 0xb1, 0x64, 0xc7, 0x10, 0x2e,
+			0x27, 0x44, 0x7e, 0xb3, 0x60, 0x88, 0x5d, 0x0a,
+			0xb0, 0x1c, 0x62, 0xda, 0x94, 0x63, 0xfe, 0xf3,
+			0x82, 0x32, 0xc3, 0x44, 0x56, 0x46, 0x8f, 0xc4,
+			0x81, 0x86, 0xf2, 0x89, 0x19, 0x6f, 0xfc, 0x09,
+			0x57, 0x56, 0xba, 0xcb, 0xbf, 0x0d, 0xf0, 0x4b,
+			0x2f, 0x63, 0x6f, 0x18, 0x22, 0x5f, 0xa7, 0x86,
+			0x5b, 0x0d, 0x1e, 0x05, 0xf5, 0x33, 0x0b, 0xbe,
+			0x62, 0xc7, 0xe0, 0xdf, 0xb0, 0x17, 0xec, 0x68,
+			0x0f, 0x2c, 0x77, 0x68, 0x6c, 0xad, 0xdb, 0xdd,
+			0x36, 0xab, 0x8c, 0xd7, 0xd0, 0xa9, 0xff, 0x4c,
+			0x7c, 0x53, 0x18, 0x25, 0x8c, 0x6d, 0xec, 0x4d,
+			0x81, 0xce, 0x00, 0x56, 0xda, 0x23, 0x8d, 0xea,
+			0xbf, 0x68, 0x04, 0x16, 0xff, 0x6b, 0xc1, 0x61,
+			0xfb, 0x80, 0x79, 0x81, 0x65, 0xec, 0x99, 0xfd,
+			0xb2, 0xba, 0x41, 0x11, 0xf5, 0xbd, 0x79, 0xcc,
+			0x37, 0x5f, 0xa6, 0xde, 0x29, 0x16, 0x3f, 0x2e,
+			0x93, 0xd0, 0x5d, 0xad, 0xff, 0x67, 0x05, 0x70,
+			0x65, 0xa1, 0x3d, 0xb1, 0xe0, 0x46, 0x87, 0x62,
+			0x4f, 0xf7, 0xec, 0x51, 0x60, 0x5f, 0x83, 0x68,
+			0x3a, 0xd8, 0x89, 0x90, 0x1e, 0x12, 0x8b, 0xfa,
+			0x3d, 0xb9, 0x8b, 0xff, 0x91, 0xe9, 0xa7, 0x6f,
+			0x2e, 0x04, 0xfd, 0xd8, 0xeb, 0x58, 0x90, 0x68,
+			0x6d, 0xdb, 0x2f, 0xeb, 0x34, 0x9b, 0x3a, 0xb9,
+			0x07, 0xba, 0xa0, 0x71, 0xcc, 0xc4, 0xe2, 0xc3,
+			0xf1, 0x8d, 0xd0, 0x6e, 0x79, 0xf5, 0x8d, 0xda,
+			0x51, 0x57, 0xe8, 0x9d, 0x2c, 0xe1, 0x81, 0xf7,
+			0x1e, 0x30, 0x28, 0x5d, 0x09, 0x85, 0x25, 0x2d,
+			0x44, 0x18, 0xef, 0x1c, 0x3a, 0x5d, 0x84, 0x2b,
+			0xbe, 0x5c, 0x78, 0x90, 0x4c, 0xfe, 0x9a, 0x3d,
+			0x1d, 0x3c, 0xac, 0x05, 0x9a, 0xca, 0x8a, 0x17,
+			0x53, 0x61, 0xd7, 0x97, 0x6b, 0xab, 0xec, 0xff,
+			0xe5, 0x2c, 0x0f, 0xe7, 0x34, 0x57, 0x17, 0x40,
+			0xeb, 0xed, 0x8f, 0xe4, 0x72, 0xd0, 0xbe, 0xb1,
+			0xbe, 0xd3, 0x09, 0x3d, 0x4d, 0xf4, 0xdd, 0x5f,
+			0x95, 0x98, 0x54, 0x85, 0x72, 0x50, 0x99, 0xec,
+			0x63, 0xba, 0x18, 0xa0, 0x1e, 0x81, 0x45, 0x4c,
+			0x8e, 0xd3, 0x67, 0x90, 0xa2, 0xd6, 0x45, 0x5e,
+			0x30, 0x68, 0xa0, 0x16, 0x0f, 0x90, 0xbb, 0x04,
+			0x85, 0x5e, 0x90, 0xf7, 0x1b, 0x52, 0xaf, 0x55,
+			0x47, 0xcf, 0x75, 0x11, 0x73, 0xc4, 0xec, 0x4f,
+			0x0f, 0x44, 0x4d, 0xd3, 0x92, 0xdf, 0x5d, 0x9d,
+			0x12, 0x38, 0x72, 0x38, 0xaa, 0x06, 0xf2, 0x45,
+			0xf5, 0xa8, 0xdd, 0x8f, 0xd2, 0x7a, 0x96, 0x0f,
+			0x3f, 0xca, 0xa3, 0x79, 0xe2, 0xed, 0x12, 0x62,
+			0x62, 0x7a, 0x01, 0x7a, 0xa0, 0xc5, 0x31, 0x1f,
+			0x49, 0x2b, 0x87, 0x49, 0xd6, 0x90, 0xfd, 0xfc,
+			0xdc, 0xac, 0x4c, 0x15, 0x1a, 0xe1, 0x66, 0xf2,
+			0xfa, 0xe9, 0x58, 0x6d, 0x57, 0x24, 0x90, 0x78,
+			0x7a, 0x05, 0x73, 0x9f, 0x96, 0x30, 0x5b, 0xa8,
+			0x69, 0x18, 0xa2, 0x24, 0x5c, 0xf2, 0xc3, 0xb0,
+			0x8d, 0xa6, 0x71, 0x28, 0x46, 0x94, 0x33, 0x0a,
+			0x95, 0xd9, 0x32, 0xc9, 0x93, 0x7f, 0xa4, 0xee,
+			0x8e, 0x3f, 0x21, 0x1b, 0xa2, 0xfe, 0x09, 0x03,
+			0xe0, 0x63, 0xb0, 0xbe, 0xa8, 0x19, 0x16, 0xd1,
+			0x38, 0x81, 0xdf, 0x9b, 0x89, 0x47, 0x00, 0x7f,
+			0xaa, 0xe9, 0xb7, 0x51, 0xab, 0x27, 0x4c, 0xdd,
+			0x50, 0xf0, 0x45, 0xaf, 0x26, 0x4c, 0xe3, 0x33,
+			0x79, 0x43, 0x87, 0x59, 0xbf, 0x6e, 0x38, 0xdb,
+			0x28, 0x3b, 0x99, 0x12, 0xc2, 0x3a, 0xca, 0x6f,
+			0x9d, 0x99, 0x10, 0x4d, 0x0c, 0xdf, 0xc3, 0xc3,
+			0x4f, 0xb0, 0xe5, 0x62, 0xd1, 0xca, 0x27, 0x14,
+			0xc7, 0xf5, 0x65, 0x86, 0x69, 0x92, 0x59, 0xf3,
+			0xd9, 0x51, 0x67, 0x45, 0x5f, 0x33, 0xc8, 0xd9,
+			0x41, 0xe5, 0x45, 0x5d, 0x80, 0x58, 0x6d, 0x9a,
+			0xf7, 0xa9, 0xc9, 0xb1, 0x36, 0x3b, 0xd2, 0xb0,
+			0x25, 0xdb, 0x58, 0x5c, 0x77, 0x7a, 0xb0, 0x51,
+			0x2f, 0xb5, 0xa3, 0xdc, 0x1a, 0xfd, 0x48, 0x76,
+			0x89, 0x5f, 0x25, 0x00, 0xe6, 0x89, 0x6a, 0xf7,
+			0x95, 0xfd, 0x13, 0x6b, 0xe9, 0xdf, 0x28, 0x8c,
+			0x73, 0x2c, 0x08, 0x67, 0x8f, 0x3f, 0x0f, 0x92,
+			0xb0, 0xb6, 0x73, 0xb9, 0xca, 0xa6, 0x55, 0xe8,
+			0x5e, 0xc5, 0xb0, 0x68, 0xbd, 0x96, 0x6b, 0xab,
+			0x43, 0x29, 0xcb, 0x28, 0xc4, 0x03, 0xf5, 0x6f,
+			0xef, 0x74, 0x7b, 0x50, 0xb8, 0x2f, 0xac, 0x61,
+			0xad, 0xe9, 0x90, 0x7f, 0x78, 0xcd, 0xa1, 0xed,
+			0x9e, 0x64, 0xf2, 0x95, 0x5f, 0x05, 0xae, 0xe5,
+			0x57, 0x77, 0x31, 0x05, 0x75, 0xdc, 0xaa, 0x30,
+			0x43, 0x12, 0x5f, 0x5b, 0xcb, 0x78, 0x31, 0x6e,
+			0xd0, 0x92, 0x60, 0x61, 0xdb, 0x60, 0xe4, 0xe5,
+			0xce, 0x35, 0x8f, 0x0c, 0xb3, 0xc1, 0xb9, 0x4f,
+			0xe5, 0xc6, 0xf2, 0x5e, 0xcc, 0xf4, 0xf8, 0x9b,
+			0x49, 0xa9, 0xed, 0xc8, 0xcb, 0x73, 0x4d, 0xc6,
+			0x63, 0xad, 0xb1, 0xdb, 0x65, 0xa9, 0x8e, 0x81,
+			0x26, 0x16, 0x7e, 0x7b, 0x46, 0xcc, 0xb2, 0x21,
+			0x45, 0x1e, 0xce, 0x77, 0x01, 0x7c, 0x88, 0x10,
+			0xfe, 0x9d, 0x7e, 0x63, 0xe0, 0x36, 0x0b, 0xcf,
+			0x24, 0x06, 0x21, 0x34, 0x4f, 0x98, 0x38, 0x90,
+			0xdc, 0xe1, 0x03, 0x25, 0x32, 0xcf, 0x72, 0xb8,
+			0xd0, 0x48, 0xf8, 0x9b, 0xaa, 0xde, 0xc5, 0xfc,
+			0x9d, 0xa6, 0x1c, 0xcb, 0x8e, 0xaa, 0x1b, 0x87,
+			0xd4, 0x22, 0x3d, 0x47, 0x5e, 0x60, 0xc3, 0xa4,
+			0xc5, 0xf6, 0x5e, 0x88, 0xf1, 0x15, 0xcf, 0x42,
+			0x3d, 0xd3, 0x47, 0x24, 0x11, 0x32, 0x74, 0x98,
+			0xda, 0x9b, 0x23, 0x79, 0x20, 0xf1, 0xd8, 0x0c,
+			0x59, 0x8f, 0x61, 0x22, 0xda, 0x16, 0x60, 0xa0,
+			0x4d, 0x46, 0x30, 0x09, 0x59, 0xf5, 0xe1, 0xee,
+			0xe6, 0x72, 0x3a, 0xc2, 0x86, 0xa1, 0x17, 0x36,
+			0x21, 0x91, 0xff, 0x55, 0x9c, 0x73, 0xdf, 0xd8,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x67, 0x9b, 0x88, 0xb9, 0xc3, 0x30, 0x50, 0x56,
+			0x3f, 0x8c, 0x56, 0xfc, 0x3a, 0x65, 0x9e, 0x59,
+			0xc8, 0xcc, 0xb2, 0xe7, 0xa9, 0x1b, 0x5b, 0xf6,
+			0xbc, 0xef, 0xee, 0xac, 0x24, 0xca, 0x97, 0xa4,
+			0xb4, 0xfe, 0xcd, 0x0a, 0x7e, 0x90, 0x3d, 0x73,
+			0xc8, 0xfa, 0xd6, 0xc7, 0xaa, 0x94, 0x97, 0x2b,
+			0x0c, 0x7f, 0x38, 0xd3, 0x28, 0xea, 0x7c, 0xf6,
+			0x30, 0x55, 0x8a, 0x37, 0xc3, 0x3d, 0x38, 0x2e,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0xbe, 0xa1, 0x82, 0x06, 0xcd, 0x1f, 0xc3, 0x9c,
+			0x02, 0x01, 0x40, 0x4a, 0xfe, 0x12, 0xc2, 0xe4,
+			0x5a, 0x4b, 0xa0, 0x7b, 0xdb, 0x88, 0x6b, 0x60,
+			0x78, 0x82, 0xa6, 0x91, 0x2b, 0x11, 0x55, 0xd2,
+			0x44, 0x54, 0x7d, 0x5f, 0x18, 0xc5, 0xf6, 0xe7,
+			0x68, 0xf2, 0x2b, 0x6c, 0x97, 0xe5, 0x09, 0x54,
+			0xa3, 0x81, 0x41, 0x0c, 0xd4, 0x9a, 0x74, 0xa1,
+			0x97, 0xb2, 0xc3, 0xde, 0x26, 0xa6, 0xda, 0x03,
+			0xdc, 0xa6, 0x60, 0x96, 0xc4, 0x01, 0xf4, 0x0a,
+			0xe8, 0x22, 0xfb, 0x67, 0xdb, 0xa3, 0x2e, 0x0f,
+			0x79, 0xf7, 0x81, 0xb9, 0x1d, 0xbe, 0xb0, 0x80,
+			0x84, 0x6e, 0x2d, 0xa4, 0xba, 0x8b, 0xc2, 0xb1,
+			0x60, 0x78, 0xe1, 0xd9, 0xf4, 0x19, 0xd5, 0x25,
+			0x34, 0x22, 0xc9, 0x18, 0x08, 0xdf, 0x59, 0x66,
+			0x38, 0x87, 0xed, 0x5d, 0xe1, 0x0d, 0xba, 0x76,
+			0xbe, 0x02, 0x5c, 0x70, 0xcb, 0xfa, 0xa1, 0x72,
+			0x65, 0x91, 0xce, 0x4b, 0x72, 0x1b, 0x66, 0x83,
+			0x06, 0x0f, 0x14, 0x71, 0x95, 0xdc, 0x19, 0xde,
+			0x73, 0x84, 0xa2, 0x07, 0xa6, 0xc4, 0x1d, 0x32,
+			0xb0, 0x6e, 0xae, 0x3f, 0xf1, 0xce, 0x08, 0x30,
+			0xc6, 0xaa, 0xef, 0x6f, 0xee, 0xfc, 0x31, 0xf9,
+			0xd5, 0xc3, 0x03, 0xbe, 0xec, 0x37, 0xa9, 0x7e,
+			0x9f, 0x99, 0xcb, 0xe5, 0xd0, 0xea, 0x11, 0x33,
+			0x7f, 0xae, 0xe8, 0x3e, 0x70, 0x2f, 0x41, 0x50,
+			0xe5, 0xd4, 0xb5, 0xe6, 0x2b, 0xc0, 0x17, 0xf6,
+			0x79, 0x7c, 0xdc, 0x59, 0xf6, 0x34, 0xef, 0xcb,
+			0x90, 0x7e, 0x80, 0xb6, 0xf9, 0x90, 0xa9, 0x3f,
+			0xd4, 0xde, 0x9d, 0x87, 0x7f, 0xbe, 0x22, 0xe1,
+			0x80, 0x97, 0xfa, 0x4c, 0x09, 0x6e, 0x0a, 0xe5,
+			0x55, 0xf5, 0xe2, 0xe0, 0x71, 0x17, 0xb9, 0x3d,
+			0x0b, 0x8d, 0x4a, 0x79, 0xaf, 0xe9, 0xf8, 0x31,
+			0xb6, 0x79, 0x34, 0x15, 0x7b, 0x22, 0xe0, 0x6a,
+			0xeb, 0xc7, 0xc2, 0x98, 0x11, 0x6a, 0x6e, 0xf7,
+			0xef, 0x14, 0x72, 0x20, 0xf9, 0x5c, 0x0c, 0x04,
+			0x40, 0x45, 0x54, 0x20, 0x52, 0xe5, 0xed, 0x25,
+			0x57, 0x3b, 0x9e, 0x65, 0x82, 0xd4, 0x1a, 0x16,
+			0x7a, 0x7d, 0x9e, 0x7e, 0xcc, 0xa9, 0xb0, 0xf9,
+			0xc1, 0x23, 0x9e, 0x3b, 0xde, 0x85, 0x20, 0x54,
+			0x31, 0x3e, 0x70, 0xe7, 0x56, 0x7b, 0xc2, 0x83,
+			0x0e, 0xfd, 0x25, 0x48, 0x1d, 0x95, 0x38, 0x92,
+			0x48, 0xf2, 0xbe, 0x60, 0xa2, 0x5d, 0x7b, 0x9a,
+			0x23, 0x0a, 0xf7, 0xf8, 0xc4, 0xd4, 0x88, 0x96,
+			0x9b, 0x53, 0xb2, 0x96, 0x8a, 0x23, 0xfb, 0xe0,
+			0x9a, 0x25, 0x1c, 0x18, 0x4b, 0xb2, 0xa1, 0x82,
+			0x14, 0x41, 0xdd, 0xd2, 0x86, 0xbf, 0x3e, 0xbb,
+			0x83, 0xf9, 0x62, 0xba, 0xe2, 0x07, 0xcd, 0x55,
+			0xfc, 0xd3, 0x2a, 0xec, 0x6f, 0x87, 0x86, 0xfe,
+			0xc4, 0x6d, 0x61, 0xd9, 0x7c, 0xe3, 0x02, 0x0c,
+			0x1f, 0x85, 0xa3, 0xd7, 0x19, 0xda, 0xf7, 0xeb,
+			0xda, 0x6a, 0x27, 0x82, 0xb9, 0xf6, 0xd5, 0xe8,
+			0x5a, 0x2e, 0x49, 0x59, 0x91, 0xda, 0x6c, 0x05,
+			0x65, 0x5e, 0xfd, 0x85, 0xdb, 0x6d, 0x58, 0x9c,
+			0xdd, 0x25, 0xa8, 0x63, 0x3a, 0xe7, 0x62, 0xa1,
+			0x46, 0x69, 0x44, 0x61, 0x4e, 0x1a, 0x8b, 0x30,
+			0x08, 0xa9, 0xcc, 0x0f, 0x34, 0x34, 0x9a, 0xb4,
+			0x63, 0x09, 0x0d, 0x30, 0x60, 0x11, 0x62, 0xff,
+			0x49, 0x56, 0xe3, 0xca, 0x0a, 0x57, 0xb4, 0x2b,
+			0x37, 0xbb, 0x5b, 0x5f, 0x7f, 0x07, 0xf6, 0x1b,
+			0x32, 0xf8, 0xfb, 0x5b, 0xda, 0x4a, 0x29, 0xdf,
+			0x5e, 0x4e, 0xe9, 0xe0, 0x35, 0x92, 0x44, 0xa6,
+			0x39, 0x53, 0x13, 0x39, 0xb5, 0x34, 0x58, 0x3b,
+			0xec, 0x7c, 0x64, 0xcb, 0x0c, 0x11, 0x79, 0x2d,
+			0xef, 0xd6, 0x76, 0x3c, 0x76, 0x01, 0x5f, 0xa2,
+			0x95, 0xce, 0xb8, 0x11, 0x9a, 0xc8, 0x68, 0x36,
+			0x0f, 0x1d, 0xe4, 0xf4, 0x95, 0x97, 0x36, 0x82,
+			0x89, 0x46, 0x55, 0xfc, 0xa6, 0x9d, 0xcc, 0x0a,
+			0x66, 0xcc, 0x6f, 0xd6, 0xa3, 0xcd, 0x1d, 0xd2,
+			0xaa, 0xa0, 0x87, 0xe6, 0xbf, 0xde, 0xa3, 0x6f,
+			0x09, 0xfd, 0xa2, 0x5f, 0xb0, 0x63, 0xe5, 0xb2,
+			0x20, 0x51, 0x44, 0xfe, 0x22, 0xc4, 0x9c, 0xac,
+			0xc7, 0x50, 0x2c, 0x72, 0x18, 0xf9, 0x5d, 0xef,
+			0x14, 0x90, 0xb1, 0x72, 0xc9, 0xb2, 0x5b, 0x4d,
+			0xa0, 0x8c, 0x72, 0x83, 0xa3, 0x92, 0x68, 0x7d,
+			0xad, 0x16, 0x79, 0x49, 0x4a, 0xae, 0xbb, 0xbb,
+			0xb4, 0x67, 0x18, 0xb9, 0x50, 0x35, 0x75, 0x60,
+			0x9f, 0x98, 0xde, 0xe6, 0x67, 0x41, 0xcf, 0x6a,
+			0xc8, 0x3c, 0x3c, 0x62, 0xef, 0x0a, 0x3a, 0xd3,
+			0x01, 0xf1, 0x74, 0xfa, 0x7a, 0x5c, 0x83, 0x2f,
+			0x6e, 0x54, 0xf3, 0xd2, 0xe5, 0xc8, 0xe5, 0x79,
+			0xef, 0xcb, 0x39, 0xc3, 0x54, 0xbc, 0x38, 0x34,
+			0xc3, 0x91, 0x6b, 0xb5, 0xc2, 0xdc, 0x52, 0xc1,
+			0x4e, 0xd4, 0xf5, 0x31, 0x04, 0xbc, 0xbb, 0x3c,
+			0x9c, 0x88, 0x15, 0x8e, 0x97, 0x8e, 0x6c, 0xaa,
+			0xe1, 0x57, 0xf5, 0xaa, 0xb6, 0xc3, 0xd8, 0xf7,
+			0xe5, 0x80, 0xe3, 0x6b, 0x35, 0x9e, 0x21, 0x49,
+			0xb2, 0x0a, 0x0e, 0x2b, 0x7f, 0xc8, 0x3c, 0x92,
+			0xab, 0xe0, 0x56, 0x88, 0x64, 0xdc, 0x00, 0x6c,
+			0xb8, 0x9b, 0x6b, 0xec, 0x5a, 0x59, 0x05, 0xd9,
+			0x7e, 0xe7, 0x91, 0xf6, 0xe5, 0xa2, 0xe3, 0x0b,
+			0x7b, 0x3b, 0x22, 0x43, 0x33, 0xc1, 0x9a, 0x3e,
+			0xdc, 0x41, 0xb2, 0x62, 0x75, 0x24, 0xce, 0xba,
+			0xf6, 0x5a, 0xda, 0x52, 0xf3, 0x66, 0x5a, 0x89,
+			0x8b, 0xea, 0x0a, 0xdd, 0xb4, 0xc3, 0xfe, 0xbc,
+			0x52, 0x01, 0xb6, 0x72, 0xdc, 0xf7, 0xb1, 0x50,
+			0xfc, 0xce, 0xdd, 0xba, 0xd4, 0xe9, 0xd0, 0x3f,
+			0x9e, 0xca, 0xc2, 0x33, 0xa6, 0xe3, 0xc1, 0x4d,
+			0x03, 0xba, 0xb8, 0xc7, 0x0b, 0xf2, 0xd0, 0x5a,
+			0x3e, 0x28, 0x2b, 0x3d, 0xde, 0x26, 0x33, 0x86,
+			0xce, 0x0e, 0x9c, 0x7d, 0xcc, 0x18, 0x09, 0x47,
+			0x37, 0xd6, 0x7b, 0x52, 0xe0, 0x2b, 0x6e, 0x8e,
+			0xd0, 0x52, 0x07, 0x63, 0x62, 0xec, 0x92, 0x9f,
+			0xe4, 0xd0, 0xda, 0xea, 0x4e, 0x31, 0xc8, 0xfa,
+			0x5e, 0xec, 0xcd, 0x13, 0x9f, 0x09, 0xd8, 0xb8,
+			0x1e, 0x46, 0x25, 0x8c, 0x47, 0x0f, 0xdf, 0x19,
+			0x58, 0x57, 0x1c, 0xe3, 0x06, 0xf9, 0x87, 0x9c,
+			0x91, 0x7c, 0xb1, 0x9c, 0xc8, 0xad, 0xd6, 0x0d,
+			0xa3, 0x2e, 0x20, 0x04, 0xf3, 0xb2, 0xd0, 0x48,
+			0x0d, 0x13, 0xc4, 0xeb, 0x87, 0xec, 0x29, 0x17,
+			0x7f, 0xa6, 0x5a, 0x56, 0xae, 0x4c, 0xcd, 0xb5,
+			0xb0, 0x19, 0x93, 0xdb, 0xb2, 0x55, 0x4a, 0x3c,
+			0xd7, 0x1f, 0x86, 0x19, 0x8d, 0x7c, 0x9b, 0xb5,
+			0x24, 0x89, 0xda, 0xf7, 0xc4, 0x67, 0x1b, 0x80,
+			0x16, 0x1e, 0x30, 0x4f, 0x9e, 0xb7, 0x12, 0x58,
+			0x54, 0xda, 0xaf, 0x78, 0xe9, 0x6e, 0x7c, 0x98,
+			0x0d, 0x3a, 0x41, 0xcf, 0xcc, 0xbc, 0x4c, 0x9f,
+			0x1a, 0xf6, 0xd8, 0x6f, 0x61, 0x55, 0xdd, 0x00,
+			0x64, 0xf3, 0x71, 0x2b, 0x55, 0x8f, 0xd4, 0xed,
+			0xb1, 0x57, 0x8b, 0x39, 0x3e, 0x0d, 0xf5, 0x56,
+			0x5f, 0x47, 0x5d, 0x8d, 0x6c, 0x8b, 0x33, 0x44,
+			0xaf, 0x3e, 0x7c, 0x95, 0x4c, 0x45, 0x31, 0x12,
+			0x4f, 0x94, 0x47, 0xc9, 0x57, 0x4b, 0x6d, 0x05,
+			0xb9, 0x8d, 0x30, 0x54, 0x2a, 0xfd, 0x44, 0x40,
+			0xd6, 0x59, 0xab, 0x5c, 0x5d, 0x6f, 0xbb, 0xab,
+			0x4a, 0xff, 0x28, 0x60, 0xef, 0x49, 0x4b, 0x4d,
+			0x3c, 0x21, 0x5a, 0xb1, 0x56, 0x48, 0x3d, 0x60,
+			0x50, 0x83, 0x57, 0x98, 0xe8, 0x3a, 0x7f, 0xd4,
+			0xe2, 0x17, 0x82, 0xcb, 0xd6, 0x34, 0xf4, 0x57,
+			0x31, 0x1c, 0xc6, 0xc8, 0x00, 0x8d, 0x7f, 0xb0,
+			0x78, 0x47, 0x61, 0xf1, 0xd5, 0xec, 0x3b, 0x5b,
+			0x83, 0x91, 0x30, 0x58, 0x8f, 0x94, 0xc2, 0xf0,
+			0xa8, 0x61, 0xd1, 0xfa, 0x95, 0x89, 0x6c, 0x21,
+			0x76, 0xd8, 0x52, 0xf1, 0xdf, 0x85, 0xc3, 0xe6,
+			0x4f, 0x6f, 0x9f, 0xee, 0x48, 0x11, 0xbd, 0x4f,
+			0xff, 0xa9, 0xec, 0x8b, 0xf0, 0x4f, 0x67, 0x05,
+			0xb0, 0x13, 0x11, 0x39, 0x7e, 0x7c, 0xc5, 0x99,
+			0xa6, 0x73, 0x20, 0xff, 0x4b, 0x01, 0xc7, 0xc1,
+			0xf6, 0x7c, 0x0a, 0x02, 0x57, 0x0b, 0xe3, 0x75,
+			0xcc, 0x1b, 0x7a, 0xca, 0x33, 0x92, 0xdc, 0x5b,
+			0xa1, 0x9e, 0xdd, 0x9e, 0xfd, 0x38, 0xc7, 0xa1,
+			0x27, 0x81, 0xf5, 0xb4, 0x80, 0xf8, 0x0d, 0xfc,
+			0xbd, 0x2d, 0x43, 0xe0, 0x28, 0xec, 0xc4, 0x04,
+			0x00, 0x58, 0x76, 0x28, 0xb7, 0x78, 0x6c, 0xc7,
+			0x01, 0x16, 0x53, 0x47, 0xe0, 0x15, 0xe0, 0xc3,
+			0xe3, 0x34, 0x75, 0xec, 0xfb, 0x32, 0x10, 0x8f,
+			0xd5, 0x0e, 0xf7, 0xfa, 0x02, 0x1e, 0xc9, 0x14,
+			0x3b, 0x4f, 0x1d, 0xc5, 0x96, 0xac, 0x75, 0x78,
+			0x69, 0x94, 0x82, 0xd8, 0x7f, 0x10, 0xe6, 0x50,
+			0x5d, 0xef, 0x07, 0xcb, 0x64, 0x73, 0xf6, 0x34,
+			0x35, 0x22, 0x94, 0x78, 0xf0, 0x5d, 0xd7, 0x37,
+			0x74, 0xbf, 0x54, 0x3f, 0x3a, 0x6d, 0xd6, 0x6b,
+			0x1a, 0x77, 0x29, 0xee, 0x1b, 0x63, 0x54, 0xc3,
+			0x2d, 0x72, 0xf1, 0xbc, 0xc1, 0x0a, 0xe5, 0xbd,
+			0xf8, 0x1f, 0x15, 0x05, 0x8b, 0x06, 0x1e, 0x6c,
+			0xc7, 0x59, 0x48, 0xf5, 0x02, 0x39, 0x38, 0x3e,
+			0x98, 0x75, 0x65, 0xc1, 0x88, 0x32, 0xa4, 0x29,
+			0xfb, 0x2a, 0xbb, 0xfd, 0x51, 0x7e, 0x11, 0x52,
+			0x08, 0xc4, 0x0b, 0xb2, 0xba, 0xe8, 0x57, 0x6a,
+			0x2a, 0xf7, 0x41, 0x62, 0xf2, 0x40, 0xbf, 0xdc,
+			0x7d, 0x6e, 0x1c, 0xd4, 0x49, 0x20, 0x84, 0x98,
+			0x23, 0xb0, 0x3c, 0x79, 0xe8, 0x7d, 0xee, 0xc5,
+			0xb5, 0x72, 0xb1, 0xbd, 0x9b, 0x77, 0x9a, 0x40,
+			0xc2, 0xd8, 0x16, 0x56, 0x89, 0x80, 0x21, 0x43,
+			0x01, 0xbc, 0x70, 0x5b, 0x32, 0x4b, 0x3f, 0xaf,
+			0x5e, 0x49, 0x24, 0x63, 0x59, 0xa5, 0x18, 0x66,
+			0x47, 0x9c, 0x14, 0x94, 0x44, 0xab, 0x5d, 0x62,
+			0xb8, 0x86, 0x61, 0x13, 0xd3, 0x41, 0x69, 0xee,
+			0x16, 0x60, 0x48, 0xec, 0xd8, 0xaf, 0x6e, 0x83,
+			0x4b, 0x59, 0x73, 0x5c, 0xa5, 0xe5, 0xf3, 0x98,
+			0xbf, 0x7b, 0xdc, 0x51, 0xfa, 0x64, 0xab, 0x8d,
+			0x99, 0x5b, 0x29, 0x63, 0x5b, 0x3f, 0x8a, 0xaa,
+			0xca, 0xd3, 0x24, 0x76, 0x2a, 0xe8, 0xbb, 0xfc,
+			0x46, 0xc2, 0x93, 0xc5, 0xa7, 0xf0, 0x9d, 0x7d,
+			0x4c, 0x77, 0x4e, 0xfd, 0xe0, 0xad, 0x25, 0xff,
+			0x70, 0x94, 0xcb, 0x64, 0xe4, 0x4e, 0x57, 0x59,
+			0xd8, 0xc4, 0x2a, 0x8f, 0xb3, 0x95, 0xc2, 0xc4,
+			0x74, 0x0b, 0x35, 0x3c, 0x0f, 0xd3, 0x65, 0x77,
+			0x6d, 0x51, 0x4d, 0x83, 0xa8, 0x9c, 0x7a, 0xde,
+			0x8b, 0x3e, 0xda, 0x50, 0xf8, 0x3d, 0x96, 0xc9,
+			0xa8, 0x1c, 0xc1, 0xd2, 0xa7, 0x03, 0x66, 0xb9,
+			0x50, 0x20, 0xfc, 0xfc, 0xe2, 0x61, 0xff, 0x53,
+			0x3c, 0xc0, 0xae, 0xa5, 0xdd, 0x51, 0xed, 0x55,
+			0x89, 0x14, 0xb6, 0x9f, 0x86, 0xd3, 0xd4, 0xb1,
+			0x67, 0xc6, 0xd7, 0xeb, 0x59, 0xf3, 0x6a, 0x2c,
+			0x6c, 0x9a, 0x39, 0x0b, 0x92, 0x2a, 0x40, 0x14,
+			0xa2, 0xd1, 0x05, 0x2d, 0x58, 0x86, 0x6d, 0x74,
+			0xd9, 0x5c, 0x09, 0xcf, 0xb5, 0x3c, 0x91, 0x73,
+			0x56, 0x05, 0xbb, 0x6d, 0x23, 0x8b, 0xf2, 0xa4,
+			0x7b, 0x83, 0xc8, 0x7c, 0x92, 0x14, 0x32, 0xb9,
+			0x1b, 0xfe, 0x28, 0xb9, 0x1f, 0xcf, 0x4b, 0x58,
+			0x98, 0x0e, 0x30, 0xd1, 0xe5, 0x51, 0xb1, 0x51,
+			0x75, 0xdf, 0x3f, 0x3f, 0x39, 0xd0, 0xc5, 0xc8,
+			0x58, 0x6e, 0x5b, 0xf8, 0x10, 0x04, 0xa4, 0x58,
+			0xd4, 0xbf, 0x4e, 0x36, 0x3e, 0xb5, 0x11, 0xb1,
+			0x62, 0x57, 0xd2, 0xbb, 0xf7, 0x1e, 0xf1, 0xdc,
+			0x23, 0x8d, 0xb4, 0x5c, 0xef, 0xba, 0x3b, 0x83,
+			0xe3, 0xbf, 0xa4, 0xbc, 0x71, 0x15, 0xe8, 0xde,
+			0x05, 0x13, 0x10, 0xde, 0xec, 0xf7, 0x37, 0xfa,
+			0xec, 0x1b, 0x89, 0x6f, 0x3d, 0x10, 0xfa, 0x2a,
+			0xe2, 0x1c, 0x4a, 0x4a, 0xe8, 0x12, 0x36, 0x11,
+			0x99, 0x56, 0xd2, 0xd1, 0xf2, 0xc7, 0x98, 0xcd,
+			0xb1, 0xfd, 0xbb, 0xc0, 0x2e, 0xa0, 0x05, 0x2c,
+			0xe5, 0x6d, 0x1c, 0x25, 0x7d, 0x97, 0xa9, 0x29,
+			0x19, 0x92, 0xaf, 0x52, 0x5b, 0xd9, 0x05, 0x68,
+			0xae, 0x30, 0xb7, 0x38, 0x07, 0xcd, 0xc6, 0xd5,
+			0x24, 0x61, 0xc8, 0x6e, 0x26, 0x92, 0xcc, 0x34,
+			0x68, 0x52, 0x91, 0x5e, 0x5f, 0xc8, 0x67, 0x7f,
+			0xe5, 0x02, 0x35, 0x1e, 0xf3, 0x1f, 0xcc, 0x1e,
+			0x2b, 0x07, 0xbe, 0x20, 0x00, 0x5f, 0x06, 0x3e,
+			0xc4, 0x5e, 0x75, 0xc0, 0xd1, 0x04, 0x03, 0xa1,
+			0x52, 0x87, 0x77, 0x0d, 0x4a, 0xf0, 0x9a, 0xd1,
+			0x3e, 0x67, 0x59, 0x8e, 0x9e, 0x86, 0xc2, 0x89,
+			0xb8, 0xdb, 0x07, 0xca, 0xd8, 0xcb, 0x23, 0x57,
+			0x38, 0xc5, 0x22, 0x1d, 0xea, 0x44, 0xfe, 0xb1,
+			0xe2, 0xe5, 0x69, 0xd5, 0x59, 0x3b, 0x82, 0x6c,
+			0xcb, 0x02, 0x5b, 0x28, 0xe0, 0xa4, 0x02, 0x61,
+			0x8c, 0x4a, 0x23, 0x45, 0x4a, 0x61, 0xe1, 0x45,
+			0x44, 0xcd, 0x9f, 0xad, 0x5f, 0xc8, 0x1b, 0x7b,
+			0x8e, 0x39, 0x20, 0xbb, 0xc6, 0x3b, 0x76, 0x85,
+			0x56, 0xb6, 0xd2, 0xa0, 0x8f, 0x1e, 0xfa, 0xe3,
+			0xcf, 0x32, 0x42, 0x32, 0x19, 0x05, 0xdc, 0x56,
+			0x8f, 0xe3, 0x4e, 0xd9, 0x0c, 0x07, 0x54, 0x8d,
+			0x65, 0xdc, 0x08, 0x59, 0xfd, 0x9a, 0x1b, 0x1e,
+			0xf3, 0xdc, 0x32, 0x64, 0xaf, 0x17, 0xc4, 0x2c,
+			0x7e, 0x72, 0x5f, 0x3e, 0x46, 0xb7, 0xdd, 0x40,
+			0x49, 0x5b, 0x9c, 0x32, 0x92, 0x1c, 0x6c, 0x9d,
+			0x58, 0x79, 0xc2, 0xb8, 0x20, 0xbb, 0x39, 0xd9,
+			0x86, 0x7c, 0x06, 0xf3, 0x5b, 0xcb, 0x0f, 0xd0,
+			0x2d, 0x7c, 0x2e, 0x05, 0x34, 0xfc, 0xa1, 0x1f,
+			0x66, 0xba, 0x17, 0xdb, 0x3d, 0x3d, 0x2f, 0x7e,
+			0x25, 0x20, 0xa7, 0xb9, 0xd1, 0x2f, 0xea, 0x06,
+			0x33, 0x5d, 0x69, 0xe8, 0xb9, 0x05, 0x72, 0x85,
+			0x7a, 0x09, 0x99, 0x5a, 0x17, 0x57, 0x1d, 0xd7,
+			0xb1, 0xe4, 0x7e, 0x8e, 0x7a, 0x9c, 0xdf, 0xcf,
+			0x4d, 0x09, 0x53, 0x4c, 0x84, 0x57, 0xc9, 0x7b,
+			0x7f, 0x66, 0x77, 0xa6, 0xc0, 0xc9, 0x3a, 0xb1,
+			0x1f, 0xe4, 0xfc, 0x8e, 0xdd, 0x7c, 0x50, 0xe4,
+			0xdb, 0xf9, 0x35, 0x8e, 0x43, 0x3e, 0x38, 0xb1,
+			0x1b, 0x6f, 0xde, 0xab, 0xcc, 0xb4, 0x5b, 0xec,
+			0x42, 0x10, 0xc6, 0x3a, 0xd4, 0xa6, 0xc4, 0x98,
+			0xe8, 0x81, 0x30, 0x58, 0x03, 0xc6, 0xea, 0xc9,
+			0xee, 0x45, 0x1b, 0x84, 0x3d, 0x80, 0x06, 0x7f,
+			0xdf, 0x8a, 0x8c, 0xac, 0xc1, 0x33, 0x98, 0xd4,
+			0x2a, 0xdc, 0xa9, 0xe0, 0xd7, 0xd8, 0x3a, 0x4f,
+			0xd7, 0xb6, 0x5c, 0x1c, 0x4b, 0x06, 0x3e, 0x01,
+			0x62, 0xfc, 0x50, 0x64, 0xe7, 0x04, 0x59, 0x1c,
+			0x9c, 0x92, 0x81, 0xb8, 0x1f, 0x4b, 0x7e, 0xba,
+			0xfc, 0x7b, 0x2d, 0x67, 0x56, 0xfc, 0xbd, 0x41,
+			0xa9, 0xbd, 0x90, 0x25, 0xc0, 0x60, 0x0f, 0xe6,
+			0x3b, 0xcf, 0x42, 0xf2, 0xdd, 0xab, 0xd5, 0xe1,
+			0xf0, 0xbb, 0x88, 0x50, 0xf0, 0xde, 0x26, 0x91,
+			0xa7, 0x93, 0xfb, 0xe7, 0xea, 0x75, 0xf0, 0x2a,
+			0x5b, 0x97, 0xd3, 0xe2, 0x61, 0x0e, 0x4b, 0xba,
+			0x99, 0x97, 0xba, 0xbe, 0x0c, 0x86, 0x89, 0x27,
+			0x7e, 0xd4, 0xc7, 0x2d, 0xdf, 0x4b, 0x0d, 0x5c,
+			0xa9, 0x64, 0x77, 0xaf, 0xfe, 0x63, 0xc8, 0x9b,
+			0x1f, 0xfb, 0xf0, 0x86, 0xd7, 0x58, 0x7f, 0xbb,
+			0x4b, 0x07, 0x16, 0x85, 0x09, 0x3c, 0x93, 0x9a,
+			0x2d, 0x3b, 0xfe, 0xd6, 0xb0, 0x30, 0xd1, 0x0b,
+			0x87, 0xb2, 0xc6, 0xf4, 0x23, 0x36, 0x08, 0x04,
+			0xf3, 0x2d, 0x44, 0x6b, 0xbd, 0x65, 0x64, 0x14,
+			0xd2, 0x08, 0x41, 0xa9, 0xf4, 0x53, 0xd3, 0xe8,
+			0x01, 0xaa, 0xcc, 0xf6, 0xa4, 0x74, 0x53, 0x87,
+			0x84, 0x84, 0xe4, 0x49, 0xc6, 0xf8, 0xed, 0xa9,
+			0x0d, 0xdf, 0x06, 0x03, 0xbf, 0x55, 0x46, 0xa5,
+			0xb7, 0x1b, 0x24, 0xaa, 0xf2, 0x01, 0x8e, 0x25,
+			0x66, 0xe4, 0xad, 0x19, 0x89, 0x86, 0x0f, 0xf9,
+			0x5f, 0x5b, 0x78, 0x7b, 0xf2, 0xdb, 0xfd, 0x1e,
+			0xbf, 0xcb, 0x9a, 0xa4, 0x38, 0x38, 0x14, 0x91,
+			0x68, 0xda, 0x17, 0x93, 0x24, 0x42, 0xdf, 0x94,
+			0x77, 0x75, 0xb5, 0xe3, 0x05, 0x29, 0xc9, 0xfa,
+			0x31, 0x63, 0x87, 0x2d, 0x9d, 0x8d, 0xe5, 0x81,
+			0xaf, 0x0c, 0xc5, 0x25, 0xdc, 0xf4, 0xcf, 0x69,
+			0x7a, 0xe1, 0x6d, 0x26, 0x7a, 0xc6, 0xdd, 0x54,
+			0x01, 0xb3, 0x21, 0x57, 0x5b, 0xaf, 0x83, 0xa1,
+			0x15, 0x38, 0xbf, 0x02, 0x78, 0xc2, 0x8d, 0xc6,
+			0xed, 0xb1, 0xd3, 0x97, 0x97, 0xae, 0xf3, 0x90,
+			0x6a, 0xed, 0x1f, 0xb5, 0x52, 0x06, 0x58, 0xf4,
+			0x16, 0xe7, 0xde, 0x6e, 0xfc, 0x12, 0x1a, 0x8f,
+			0x72, 0xbd, 0xed, 0x13, 0x81, 0x57, 0x66, 0xf2,
+			0x1e, 0x29, 0xa0, 0x37, 0xfd, 0xa9, 0x3b, 0xec,
+			0xde, 0xb1, 0x8d, 0xb7, 0x16, 0xf6, 0xc4, 0x8b,
+			0x09, 0x32, 0xdd, 0x49, 0x0e, 0x8b, 0xbc, 0xc3,
+			0xa6, 0xd3, 0x9b, 0x8c, 0xe7, 0x1b, 0xb0, 0x71,
+			0xb9, 0x5d, 0x83, 0x59, 0xca, 0x28, 0x50, 0x70,
+			0xa1, 0x95, 0x12, 0xe9, 0xf5, 0x5d, 0x74, 0x5b,
+			0xd7, 0x55, 0xb9, 0xc4, 0xf6, 0x89, 0x19, 0x2c,
+			0x8e, 0x4a, 0x86, 0x8a, 0x4d, 0x05, 0x05, 0x85,
+			0x57, 0xc8, 0x9b, 0xf1, 0x35, 0xe0, 0xd3, 0x00,
+			0x46, 0xe6, 0x02, 0xed, 0x1e, 0xdb, 0x46, 0xb7,
+			0x22, 0xa4, 0x4b, 0xa4, 0xbd, 0x69, 0xd0, 0x89,
+			0xd6, 0x97, 0x37, 0x6c, 0xd8, 0x5e, 0x60, 0xe1,
+			0xfe, 0x4e, 0x79, 0xa9, 0x27, 0x8f, 0xf1, 0x79,
+			0xc6, 0x2b, 0x64, 0x84, 0xc0, 0x1b, 0x08, 0xe7,
+			0x83, 0xdb, 0xc0, 0x76, 0x18, 0xf3, 0x5f, 0x68,
+			0xa5, 0x67, 0x56, 0x9f, 0x38, 0x13, 0x52, 0xf0,
+			0xe3, 0x80, 0xbd, 0x85, 0x0d, 0x89, 0x1c, 0x4a,
+			0x5b, 0x29, 0x51, 0x44, 0x9c, 0xbe, 0x7d, 0x74,
+			0xb3, 0x14, 0xae, 0x1b, 0x1c, 0x33, 0x47, 0x2c,
+			0xaa, 0xdd, 0xff, 0x6f, 0xf1, 0x69, 0xf5, 0xb1,
+			0x44, 0x56, 0x4d, 0xc3, 0xb7, 0x6f, 0x29, 0xa7,
+			0x99, 0x49, 0xce, 0xa4, 0x52, 0x36, 0xa7, 0x4e,
+			0xb3, 0xad, 0x46, 0x8a, 0xa8, 0xf2, 0x8f, 0x0b,
+			0xbd, 0xd7, 0x1d, 0x79, 0x76, 0x8e, 0x0a, 0x63,
+			0xf2, 0x71, 0x90, 0xc9, 0xa2, 0x32, 0x1a, 0x05,
+			0xa5, 0x5d, 0x57, 0xb2, 0xba, 0x20, 0x10, 0x66,
+			0xac, 0x1c, 0xde, 0x4d, 0x12, 0xfc, 0xb3, 0x85,
+			0xe3, 0x12, 0xb4, 0x27, 0x8f, 0xa4, 0xc9, 0x59,
+			0x44, 0x4f, 0xdc, 0x3a, 0x74, 0x95, 0x44, 0xa5,
+			0xb1, 0x74, 0x6b, 0xbb, 0x42, 0xd8, 0x2e, 0x27,
+			0x2e, 0xc1, 0x23, 0xa3, 0x5c, 0x09, 0x1d, 0xbf,
+			0x81, 0x57, 0xa2, 0x86, 0x9d, 0xcc, 0xd9, 0x39,
+			0x76, 0x29, 0xdd, 0xde, 0x19, 0xff, 0xe8, 0x65,
+			0x70, 0xa2, 0x00, 0xd8, 0x0e, 0x50, 0xc9, 0xf7,
+			0x36, 0x19, 0x66, 0x54, 0x61, 0x9b, 0x60, 0x4d,
+			0xe0, 0xac, 0xf4, 0x8f, 0x67, 0x96, 0x27, 0x62,
+			0x4c, 0xa1, 0xfa, 0x80, 0xb5, 0x43, 0x6c, 0x61,
+			0x77, 0x07, 0x47, 0xc4, 0x6b, 0xcc, 0x23, 0x13,
+			0x9f, 0x98, 0xf7, 0x34, 0x84, 0x06, 0x3c, 0x31,
+			0xfb, 0xb5, 0x9c, 0x44, 0x51, 0xa0, 0xe7, 0x78,
+			0x7c, 0x86, 0x11, 0x55, 0xd7, 0xd8, 0x30, 0x43,
+			0x58, 0xaf, 0x9e, 0x26, 0x8c, 0x12, 0x5f, 0xce,
+			0xa7, 0xe7, 0x53, 0x3d, 0xaa, 0xf7, 0x0d, 0xf5,
+			0x9b, 0x91, 0xba, 0xac, 0xec, 0x4a, 0xb9, 0xaf,
+			0x94, 0x34, 0xb3, 0x8c, 0xf0, 0xf2, 0xce, 0x14,
+			0x2b, 0xc5, 0x35, 0x25, 0x2b, 0xcb, 0xbf, 0x5e,
+			0x91, 0x48, 0xf7, 0x01, 0x42, 0x5d, 0x17, 0x89,
+			0xeb, 0xea, 0x75, 0x5b, 0x44, 0x73, 0xa6, 0xeb,
+			0x1b, 0x8d, 0xb5, 0x95, 0xed, 0xca, 0xf3, 0x5f,
+			0xf8, 0x80, 0xc4, 0xc7, 0x2d, 0xf3, 0xf0, 0x86,
+			0x8f, 0x88, 0x6c, 0x67, 0xea, 0xd0, 0x38, 0x7a,
+			0x1b, 0x7e, 0x9e, 0xf6, 0x5f, 0x56, 0x4f, 0x94,
+			0xf2, 0xf8, 0xbb, 0x96, 0xb1, 0x9e, 0x0f, 0x90,
+			0x92, 0xe5, 0x5d, 0x16, 0xea, 0x2e, 0xab, 0x0b,
+			0x4c, 0x9b, 0x40, 0xa0, 0x35, 0x12, 0x7b, 0x88,
+			0xa6, 0xbe, 0x1d, 0x05, 0x51, 0x79, 0xe1, 0xae,
+			0x06, 0x42, 0xe7, 0xe8, 0xed, 0x36, 0xcb, 0x5f,
+			0xff, 0x05, 0x3a, 0xc3, 0x80, 0x51, 0x51, 0x14,
+			0xe0, 0x6f, 0x0d, 0x8f, 0x3a, 0xa3, 0xd0, 0x99,
+			0xb0, 0xc9, 0x02, 0x42, 0xd8, 0x26, 0xbe, 0x51,
+			0xee, 0x42, 0x7d, 0x73, 0xc2, 0xc5, 0x0b, 0xb9,
+			0x03, 0x26, 0x8e, 0xac, 0x65, 0x41, 0xbf, 0xaa,
+			0xf4, 0x34, 0xfe, 0xe1, 0xf3, 0xdb, 0x3c, 0x0b,
+			0x5c, 0x72, 0x2c, 0x0b, 0x6c, 0x83, 0x9c, 0xa4,
+			0x8f, 0xac, 0x15, 0x76, 0x23, 0xf3, 0x5b, 0xa9,
+			0x25, 0x71, 0xe1, 0x7d, 0x85, 0x41, 0xd0, 0xc8,
+			0x48, 0x93, 0x7b, 0xa0, 0x59, 0x02, 0xb9, 0xe9,
+			0x6f, 0x8c, 0xda, 0xa9, 0x0d, 0x0c, 0x95, 0x33,
+			0xfe, 0x13, 0xc0, 0xdc, 0xad, 0x36, 0xe1, 0xd0,
+			0x91, 0x4c, 0xe4, 0xa8, 0x2f, 0xf5, 0xd1, 0x66,
+			0x8a, 0x2c, 0x5d, 0xcc, 0xfb, 0xb2, 0xa9, 0x1a,
+			0x2b, 0x04, 0x9b, 0x83, 0x72, 0xb2, 0xd6, 0x43,
+			0x53, 0xcd, 0x28, 0x7f, 0x8a, 0x95, 0xb5, 0x93,
+			0x54, 0xf7, 0xcc, 0x95, 0xca, 0x8a, 0xec, 0xb2,
+			0x49, 0x46, 0x11, 0xc6, 0x4e, 0x60, 0xe5, 0xcd,
+			0x42, 0x29, 0xdf, 0x14, 0x47, 0x42, 0x6d, 0xd9,
+			0x46, 0xcb, 0x07, 0xd9, 0xf9, 0x3d, 0xa6, 0x60,
+			0x71, 0x80, 0xbb, 0xe8, 0xfd, 0x73, 0x22, 0x1a,
+			0x67, 0x5f, 0x16, 0x95, 0x81, 0x74, 0x03, 0xbe,
+			0xd7, 0x20, 0x27, 0xaf, 0xd3, 0x48, 0x62, 0x20,
+			0xca, 0x0b, 0xff, 0xd5, 0x41, 0xa5, 0xd4, 0xa9,
+			0x22, 0x51, 0x68, 0x67, 0xe3, 0x5d, 0xc1, 0x70,
+			0xc2, 0x5f, 0x79, 0xf9, 0x27, 0x4d, 0x96, 0x92,
+			0xd4, 0xd9, 0x03, 0xef, 0x50, 0xd0, 0x99, 0x69,
+			0x78, 0xe2, 0xec, 0x7d, 0x09, 0x6b, 0x96, 0xfd,
+			0x62, 0x61, 0xf4, 0xb8, 0x86, 0x09, 0xa5, 0xcf,
+			0x41, 0x67, 0x6e, 0xbe, 0x3c, 0x3f, 0xb6, 0x58,
+			0xe2, 0xe7, 0x97, 0xda, 0xde, 0x2c, 0x82, 0x12,
+			0xee, 0x44, 0xd2, 0x87, 0x91, 0x11, 0x46, 0xaf,
+			0x16, 0xf7, 0xc0, 0x8e, 0x7d, 0x71, 0x03, 0xd6,
+			0x76, 0x5c, 0x0d, 0x28, 0x16, 0x03, 0xbd, 0xc0,
+			0x7a, 0xc0, 0x44, 0x3a, 0xf0, 0xc7, 0x75, 0xc8,
+			0xad, 0x28, 0x5c, 0xd7, 0x18, 0x53, 0x5f, 0xcf,
+			0xe2, 0x72, 0x7d, 0xa6, 0xb6, 0x09, 0xf6, 0x2d,
+			0xc0, 0xaa, 0x25, 0x35, 0x2f, 0xa3, 0xbe, 0x9e,
+			0x91, 0x68, 0x57, 0xa8, 0x69, 0xa5, 0x45, 0x43,
+			0xdb, 0x58, 0xc8, 0xee, 0x05, 0x62, 0x1d, 0x7b,
+			0x0d, 0x66, 0x83, 0x44, 0x26, 0x0c, 0xdf, 0x8b,
+			0x6e, 0x72, 0x60, 0x2f, 0xd6, 0x77, 0x5d, 0x62,
+			0xc0, 0x56, 0xe3, 0x18, 0x0a, 0x85, 0x79, 0x43,
+			0x9f, 0x5c, 0x2d, 0x42, 0xd2, 0x47, 0xb2, 0xa7,
+			0x48, 0x5e, 0x29, 0x95, 0x1a, 0xd7, 0x0c, 0x65,
+			0xcd, 0x8d, 0xd9, 0xfb, 0x7d, 0xad, 0x3e, 0x93,
+			0x1c, 0x18, 0x5c, 0xaf, 0x9b, 0x24, 0x63, 0xe3,
+			0xc9, 0x90, 0x5e, 0x45, 0x51, 0x35, 0x59, 0x44,
+			0x35, 0x6b, 0xe4, 0xb1, 0x89, 0xcc, 0xc7, 0xd3,
+			0x54, 0x62, 0xa2, 0x1a, 0xc0, 0x60, 0x57, 0x9e,
+			0x70, 0x85, 0x42, 0xbe, 0x2b, 0x44, 0xe9, 0xfe,
+			0x0c, 0xa2, 0xd7, 0x49, 0xc3, 0x50, 0xd3, 0x3f,
+			0x0a, 0xa4, 0xbd, 0xf6, 0x01, 0x9b, 0x5a, 0x1f,
+			0xdf, 0xe6, 0x3f, 0x56, 0xa0, 0xc8, 0x14, 0xff,
+			0xd1, 0xd5, 0x8d, 0xab, 0x7d, 0x20, 0x82, 0x12,
+			0xe6, 0x75, 0x4e, 0xc4, 0x21, 0xd7, 0x14, 0x74,
+			0xa0, 0xb4, 0x46, 0x07, 0xd4, 0xb8, 0xc2, 0x40,
+			0xf2, 0x99, 0x33, 0xfe, 0x60, 0xe1, 0x6a, 0x69,
+			0xf2, 0x35, 0xda, 0x95, 0x57, 0x7b, 0x30, 0xe3,
+			0x34, 0x09, 0xe2, 0xf5, 0x57, 0xd7, 0x3e, 0x19,
+			0x23, 0x1c, 0x86, 0xf9, 0x9e, 0xe6, 0xb3, 0x0d,
+			0x04, 0x37, 0x1e, 0x26, 0x9f, 0xd9, 0xf6, 0xd0,
+			0x8d, 0x85, 0xa6, 0xa3, 0x27, 0x94, 0x82, 0x2b,
+			0x1f, 0x4a, 0x5f, 0xe7, 0xfb, 0x16, 0xa6, 0xab,
+			0xf9, 0x62, 0x96, 0xb9, 0x48, 0x70, 0x9a, 0xd8,
+			0x10, 0xac, 0xae, 0xc4, 0x39, 0x48, 0xfb, 0x79,
+			0x91, 0x56, 0x4c, 0x26, 0x48, 0x73, 0x90, 0x00,
+			0xf9, 0x15, 0x1b, 0x59, 0x14, 0x0b, 0x11, 0x62,
+			0xf7, 0x42, 0xc6, 0x08, 0xd6, 0xb3, 0xc2, 0x68,
+			0xd0, 0x39, 0x17, 0x6c, 0x27, 0x21, 0x53, 0xb5,
+			0x21, 0x4d, 0x85, 0x87, 0xda, 0x1b, 0x2e, 0x67,
+			0x77, 0xb7, 0xbb, 0xfc, 0x1d, 0x50, 0x8c, 0x9f,
+			0x2e, 0xae, 0xda, 0x35, 0x42, 0x56, 0x59, 0x9c,
+			0xc0, 0x04, 0x12, 0x36, 0x7e, 0x8f, 0x99, 0xb1,
+			0xe6, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+			0x0c, 0x10, 0x13, 0x19, 0x22, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0xef, 0x23, 0x61, 0xd2, 0x13, 0x8e, 0xaf, 0x16,
+			0xdf, 0x67, 0x8a, 0x3e, 0xe8, 0x05, 0x1d, 0x36,
+			0xda, 0x1b, 0xb5, 0x12, 0xfd, 0xe1, 0x0d, 0x87,
+			0x63, 0x31, 0xf1, 0xff, 0xb5, 0x66, 0x63, 0x9e,
+			0x14, 0x7a, 0x48, 0x84, 0xd9, 0x35, 0x40, 0x0a,
+			0x4c, 0x15, 0x07, 0xce, 0x20, 0x68, 0x6b, 0xfb,
+			0x23, 0x2e, 0xf6, 0x40, 0xcd, 0xb6, 0x2c, 0xb3,
+			0xa0, 0x3b, 0x95, 0x13, 0xb3, 0x21, 0x4d, 0xca,
+			0xee, 0x8a, 0x3e, 0x6b, 0xb1, 0x65, 0x44, 0x7e,
+			0xac, 0x91, 0x7d, 0xcd, 0xda, 0x9f, 0xa8, 0xce,
+			0x91, 0x99, 0x2a, 0x13, 0xb9, 0xf0, 0xed, 0xd9,
+			0x00, 0x52, 0x54, 0x09, 0xde, 0xeb, 0x79, 0x41,
+			0xc3, 0x15, 0x66, 0x8b, 0x0b, 0xf3, 0x89, 0x56,
+			0x7c, 0xaa, 0xf2, 0x36, 0x16, 0x6e, 0xc5, 0x1d,
+			0x61, 0x78, 0xbb, 0x4e, 0x8d, 0x49, 0xf5, 0x6c,
+			0x7c, 0x7b, 0xe9, 0x5a, 0x58, 0xe5, 0x5d, 0x37,
+			0x23, 0x1c, 0x68, 0xb2, 0x18, 0x09, 0x1c, 0xd0,
+			0xbf, 0x7f, 0x0b, 0x39, 0xb9, 0x83, 0x15, 0xc7,
+			0x80, 0xd0, 0xed, 0xdb, 0xec, 0xed, 0x36, 0x7d,
+			0x8f, 0x5b, 0xdf, 0xa2, 0x02, 0xf7, 0x4f, 0x61,
+			0x42, 0xc2, 0xb7, 0xce, 0xe4, 0x36, 0xbb, 0x5a,
+			0x37, 0x97, 0x57, 0x4e, 0xa1, 0x03, 0x71, 0x8a,
+			0x4c, 0x69, 0x26, 0x3c, 0x4c, 0xc9, 0xfc, 0xaf,
+			0x8d, 0x0e, 0x65, 0x89, 0xef, 0xab, 0x73, 0x5c,
+			0x50, 0xed, 0x1e, 0xd6, 0x7f, 0x65, 0x85, 0xe1,
+			0xac, 0x01, 0xed, 0x59, 0xad, 0x4a, 0x80, 0xb4,
+			0x71, 0xd0, 0xea, 0x80, 0xdd, 0x37, 0xfe, 0xa8,
+			0x96, 0x0d, 0xab, 0x02, 0x42, 0x56, 0xdc, 0x3f,
+			0x9b, 0x00, 0x4e, 0x6c, 0xbb, 0x7a, 0xd1, 0x17,
+			0x40, 0x11, 0xed, 0x92, 0xc0, 0x6c, 0xfa, 0xdb,
+			0x01, 0x5b, 0x74, 0x72, 0x9d, 0xa3, 0x5b, 0x23,
+			0x86, 0x20, 0x20, 0xc5, 0x04, 0x5e, 0xbd, 0x69,
+			0xba, 0x19, 0x67, 0x41, 0x07, 0x50, 0xd0, 0x3f,
+			0x32, 0xcf, 0xce, 0x51, 0xc1, 0x9a, 0x1e, 0xa6,
+			0x99, 0x23, 0x5a, 0xf6, 0x24, 0x6d, 0xb7, 0xd8,
+			0xd9, 0x12, 0x84, 0x5e, 0x3e, 0x05, 0xc4, 0xe4,
+			0x0b, 0x52, 0x7a, 0x0f, 0xd0, 0x38, 0x69, 0x31,
+			0x02, 0xc2, 0xfb, 0x06, 0x8f, 0xbb, 0x1b, 0xb7,
+			0x96, 0x21, 0xdf, 0x45, 0xdc, 0x8c, 0x1a, 0x16,
+			0xb5, 0xa2, 0x07, 0x68, 0xdb, 0x09, 0xf3, 0xe8,
+			0x78, 0x89, 0x0f, 0x6c, 0x1a, 0x0b, 0x5e, 0xb5,
+			0xb8, 0x07, 0xb0, 0x14, 0x2a, 0x50, 0xae, 0x4c,
+			0xe4, 0x8b, 0xbc, 0x5f, 0x52, 0x4d, 0x1f, 0xe8,
+			0x77, 0xc4, 0x8c, 0x46, 0xe8, 0x81, 0x3b, 0x6a,
+			0x60, 0xcc, 0x82, 0xcd, 0x04, 0x22, 0x38, 0x77,
+			0x3f, 0x95, 0x95, 0x55, 0x55, 0xa9, 0x4a, 0x65,
+			0x8d, 0x92, 0x8b, 0x61, 0xbc, 0xae, 0xe0, 0x16,
+			0x49, 0x8c, 0x08, 0x4f, 0xb0, 0x70, 0x76, 0xcc,
+			0xec, 0xee, 0x4a, 0x5e, 0x4b, 0x2b, 0x53, 0x03,
+			0xc3, 0x67, 0xf6, 0x4f, 0x2f, 0xd3, 0x8c, 0x18,
+			0xf0, 0x74, 0x26, 0xd7, 0x57, 0xef, 0x39, 0x6f,
+			0x13, 0x07, 0x1c, 0xfd, 0x98, 0x97, 0x61, 0x08,
+			0xbc, 0x24, 0xd3, 0xd6, 0x43, 0x2e, 0x6b, 0x06,
+			0x7a, 0x27, 0x2a, 0x94, 0xfc, 0x21, 0x83, 0xc6,
+			0xd6, 0xe6, 0x52, 0xd1, 0x62, 0x48, 0x0e, 0x93,
+			0x06, 0x08, 0xb6, 0x41, 0x4c, 0x76, 0x78, 0x98,
+			0x2b, 0xb8, 0x68, 0x81, 0x36, 0xb6, 0x12, 0x3c,
+			0x47, 0xae, 0x54, 0xb9, 0xa1, 0xca, 0x9e, 0x6e,
+			0x54, 0x64, 0x91, 0x4a, 0x4f, 0xd8, 0xee, 0xb4,
+			0xdb, 0x80, 0xc4, 0xa7, 0x49, 0x62, 0xdf, 0xb3,
+			0xc4, 0xd7, 0xf4, 0xbf, 0xab, 0xe8, 0xcb, 0xb9,
+			0xc4, 0x70, 0xf2, 0xbf, 0x77, 0xac, 0xe7, 0xdb,
+			0x09, 0xd7, 0x9e, 0x1f, 0x00, 0x5a, 0x2b, 0xb1,
+			0xfb, 0x89, 0x2e, 0x14, 0xe1, 0x2a, 0xf2, 0xae,
+			0x11, 0x44, 0xa6, 0xa2, 0x31, 0x2e, 0x60, 0xb2,
+			0x3e, 0xb0, 0x10, 0x2f, 0x18, 0x17, 0xff, 0x32,
+			0xf1, 0xc9, 0x21, 0xb8, 0xf3, 0x50, 0xf3, 0x3d,
+			0xb0, 0xf3, 0xeb, 0xd1, 0x10, 0x21, 0x53, 0x9a,
+			0xbd, 0xf2, 0x18, 0x4d, 0xfb, 0x1e, 0xab, 0x2e,
+			0xb6, 0x9b, 0xf6, 0x7c, 0xd4, 0xfc, 0x1e, 0xbe,
+			0xee, 0xae, 0x57, 0xee, 0xde, 0xd2, 0xb1, 0x06,
+			0x3c, 0xcc, 0x36, 0x10, 0xc1, 0xc9, 0xc1, 0x47,
+			0x15, 0x4f, 0x1b, 0x10, 0x0f, 0xaf, 0xc3, 0x7b,
+			0x25, 0x2d, 0xe5, 0x9a, 0x6e, 0xef, 0xf1, 0xa9,
+			0x25, 0xe6, 0xf3, 0x28, 0x82, 0x73, 0x4b, 0x44,
+			0x56, 0x30, 0x9b, 0xe0, 0xfb, 0xfc, 0x5c, 0x84,
+			0xd8, 0xe7, 0xf3, 0x0d, 0x43, 0x8b, 0xdc, 0xae,
+			0x97, 0xeb, 0x45, 0x9f, 0x0e, 0xb7, 0x58, 0x65,
+			0x86, 0x9e, 0x24, 0x2f, 0xd7, 0x4f, 0x21, 0x9c,
+			0x67, 0x76, 0x91, 0x27, 0xed, 0x9f, 0xa3, 0xa6,
+			0x15, 0x5e, 0xa8, 0x13, 0x58, 0x53, 0x1c, 0x7c,
+			0x24, 0x85, 0xbf, 0xea, 0xba, 0x01, 0xd5, 0xf3,
+			0x29, 0xa4, 0xd0, 0x34, 0x04, 0x67, 0xf8, 0xb2,
+			0xd0, 0x2c, 0x08, 0xd3, 0xb4, 0x6b, 0x42, 0xec,
+			0xd0, 0x1e, 0x2e, 0x02, 0xcc, 0xeb, 0xa6, 0x9f,
+			0x2b, 0x3a, 0x1b, 0x45, 0x83, 0x53, 0xeb, 0xb1,
+			0x8f, 0x51, 0x3d, 0xee, 0xf3, 0x5f, 0x05, 0x10,
+			0xfa, 0x15, 0x15, 0x3f, 0x0a, 0x7b, 0xfe, 0xf4,
+			0x11, 0x72, 0xc1, 0xe9, 0x99, 0x15, 0x25, 0x74,
+			0xf9, 0xe0, 0x14, 0xc6, 0x2b, 0x49, 0x4b, 0x1b,
+			0xa2, 0x42, 0x75, 0xd6, 0x0f, 0x3e, 0xc6, 0x74,
+			0xbb, 0x44, 0x1f, 0xc4, 0x09, 0x8b, 0x91, 0x9e,
+			0x55, 0x5d, 0x4b, 0xaa, 0xe8, 0x16, 0x33, 0x6d,
+			0x3d, 0xe5, 0x5d, 0x94, 0xb7, 0x66, 0x5a, 0xf6,
+			0x4e, 0x5b, 0x04, 0x16, 0x7b, 0xd3, 0x31, 0x3d,
+			0x7a, 0x98, 0xb6, 0x93, 0x69, 0x40, 0x42, 0x1c,
+			0xcd, 0x07, 0xc9, 0x80, 0xb0, 0xd4, 0xce, 0x70,
+			0x98, 0x19, 0xad, 0x3d, 0xd1, 0x7b, 0xad, 0x8d,
+			0x01, 0x4b, 0x26, 0x12, 0x5b, 0xbc, 0x83, 0xbf,
+			0xc5, 0x4d, 0xf1, 0xf7, 0xaf, 0xaf, 0xdf, 0xc7,
+			0x3c, 0x8a, 0x6c, 0x65, 0xd0, 0x0c, 0x2e, 0x6b,
+			0x77, 0xd2, 0xb7, 0x2e, 0xd4, 0xe5, 0xf6, 0x90,
+			0xd3, 0x3b, 0xd4, 0xee, 0xe0, 0x10, 0x65, 0x81,
+			0x28, 0x24, 0x77, 0xd6, 0x87, 0x94, 0x87, 0x80,
+			0xe0, 0xf1, 0x43, 0x7b, 0xc0, 0x9e, 0xa9, 0x74,
+			0xfe, 0xa2, 0xf2, 0x85, 0x47, 0x64, 0xe1, 0x31,
+			0xe0, 0x5a, 0x99, 0x67, 0x77, 0x82, 0x4e, 0x01,
+			0x56, 0xac, 0x28, 0x6d, 0xb8, 0x92, 0x57, 0x7b,
+			0x86, 0xb2, 0x78, 0x2d, 0x98, 0x9b, 0x8f, 0x59,
+			0xfa, 0xe2, 0x46, 0x91, 0xfe, 0x64, 0xa3, 0x2e,
+			0xa4, 0x4c, 0xca, 0xdc, 0x29, 0xb2, 0xb7, 0x4a,
+			0x91, 0x95, 0x08, 0x7b, 0x7e, 0x45, 0x7a, 0x37,
+			0xc7, 0x67, 0xcf, 0x59, 0x63, 0x78, 0xa1, 0x85,
+			0x35, 0xa6, 0x35, 0x15, 0x91, 0x9b, 0x31, 0x3f,
+			0x66, 0x23, 0x01, 0x29, 0x9b, 0x04, 0x54, 0x01,
+			0x5c, 0x1f, 0x47, 0x51, 0x90, 0x6c, 0x16, 0x56,
+			0xe9, 0x76, 0x4e, 0x89, 0x91, 0x13, 0xa0, 0x2b,
+			0xcf, 0x33, 0x95, 0xac, 0x83, 0x42, 0x16, 0x1c,
+			0xc5, 0xda, 0x1b, 0xe2, 0x60, 0xc6, 0x31, 0x97,
+			0x28, 0x2a, 0x40, 0x92, 0x02, 0x65, 0x06, 0x3c,
+			0xe9, 0x06, 0x3a, 0xa6, 0xc2, 0x3e, 0x6b, 0x22,
+			0x4b, 0x99, 0x04, 0x9d, 0x01, 0x5a, 0x88, 0x25,
+			0x6f, 0xa5, 0x9a, 0xc4, 0x86, 0x5e, 0x37, 0xcd,
+			0x86, 0x0e, 0x19, 0xb6, 0xcb, 0xa8, 0xf1, 0x46,
+			0xf9, 0x0d, 0x8c, 0x76, 0x74, 0xf6, 0x71, 0x93,
+			0x5b, 0x2a, 0xec, 0xe2, 0xc5, 0x05, 0x42, 0x2b,
+			0x67, 0xb7, 0x8d, 0xb6, 0x9e, 0x14, 0x09, 0xd7,
+			0x1d, 0x91, 0xa6, 0x03, 0x90, 0x0e, 0x68, 0xcc,
+			0xf2, 0x35, 0x31, 0xed, 0x0b, 0xc1, 0xaf, 0x41,
+			0x7a, 0x6e, 0xc9, 0x9b, 0xa0, 0x24, 0x6d, 0xe7,
+			0xbe, 0x89, 0x0f, 0x52, 0xbc, 0xe6, 0x4d, 0xa6,
+			0x73, 0xc5, 0x54, 0x60, 0xd1, 0xbe, 0xf1, 0x61,
+			0x03, 0x73, 0x46, 0x71, 0x3e, 0x18, 0x16, 0x07,
+			0xd0, 0x01, 0xed, 0x53, 0xd8, 0x95, 0x4e, 0xf9,
+			0x23, 0xae, 0xfc, 0xd7, 0xd3, 0x7d, 0x7e, 0xf2,
+			0x99, 0x31, 0x99, 0xda, 0xe8, 0xb8, 0x19, 0x12,
+			0xf4, 0x48, 0x5f, 0xfd, 0x90, 0x29, 0x82, 0x1d,
+			0x48, 0xab, 0xe6, 0x05, 0xfa, 0x94, 0x45, 0x04,
+			0x4c, 0x4d, 0x44, 0xde, 0x51, 0xc4, 0xf7, 0x79,
+			0x4b, 0xe1, 0xd5, 0xd1, 0x86, 0x1a, 0xc3, 0x53,
+			0xfa, 0xe7, 0x1b, 0x0f, 0x3e, 0x4a, 0x26, 0x09,
+			0xa2, 0xa0, 0x8d, 0xc7, 0x2b, 0x20, 0xa1, 0x16,
+			0x7b, 0xd3, 0xa5, 0xb9, 0xd9, 0x7a, 0x21, 0x12,
+			0x36, 0xf3, 0xc6, 0xa4, 0x7f, 0x4a, 0x92, 0xf0,
+			0xdb, 0xdc, 0x4c, 0x81, 0xf1, 0x2f, 0x41, 0xb3,
+			0xed, 0x0c, 0x08, 0xf8, 0x5d, 0x23, 0x8c, 0x41,
+			0x7a, 0xf1, 0x51, 0xb7, 0x72, 0x81, 0xa3, 0x0b,
+			0xf8, 0xab, 0x05, 0x44, 0xb2, 0xb1, 0x01, 0x64,
+			0xdd, 0x9f, 0x6b, 0x27, 0x55, 0xd2, 0xa6, 0x56,
+			0xcd, 0x76, 0xf0, 0x77, 0x05, 0x4d, 0x08, 0xc4,
+			0x46, 0xc4, 0x83, 0xa3, 0x27, 0x24, 0x79, 0x8d,
+			0xd9, 0x3f, 0x5b, 0xd3, 0xaa, 0x7a, 0x6e, 0x04,
+			0xb2, 0x8c, 0xe7, 0xe6, 0xce, 0xa8, 0x55, 0xc9,
+			0x12, 0x7e, 0xd1, 0x78, 0x2e, 0xed, 0xbf, 0x04,
+			0x1b, 0x73, 0x21, 0x66, 0xa7, 0xf4, 0x07, 0xe1,
+			0x74, 0x2e, 0x22, 0x00, 0xd5, 0x8e, 0x84, 0x89,
+			0x60, 0x60, 0x4f, 0xda, 0xfb, 0x9a, 0xda, 0xd8,
+			0x45, 0x41, 0x95, 0x77, 0x22, 0x89, 0x10, 0x9b,
+			0xb0, 0x64, 0xc3, 0x0a, 0x1c, 0x61, 0x4a, 0xdb,
+			0x84, 0xca, 0x19, 0x47, 0x9e, 0x82, 0xbe, 0x56,
+			0x22, 0xe3, 0xf5, 0xc7, 0x91, 0x6e, 0x67, 0x26,
+			0x04, 0xa4, 0x31, 0x5b, 0xf7, 0x2f, 0x6a, 0x01,
+			0xad, 0xd4, 0x7c, 0x4e, 0x74, 0xa6, 0x87, 0x23,
+			0x31, 0x37, 0x08, 0xd2, 0x2c, 0x0d, 0x94, 0x1c,
+			0x96, 0x52, 0xe0, 0x56, 0x23, 0x23, 0x31, 0x59,
+			0x8c, 0xaf, 0x48, 0xe6, 0x07, 0x8e, 0x0d, 0x6c,
+			0x09, 0x0b, 0xf2, 0xad, 0x33, 0x14, 0xcd, 0x91,
+			0xe7, 0x48, 0xc9, 0x45, 0xcf, 0xad, 0xac, 0xe1,
+			0x0a, 0x5b, 0x81, 0x7a, 0xc9, 0x9a, 0xb5, 0x98,
+			0x3d, 0xad, 0xb2, 0x1c, 0x79, 0xa9, 0x5f, 0xbb,
+			0x2b, 0x4e, 0x53, 0x2f, 0xff, 0x8f, 0x9e, 0xb1,
+			0x46, 0x07, 0x1c, 0x48, 0x16, 0xb6, 0xdd, 0x7b,
+			0x6a, 0x32, 0xb5, 0x46, 0xfe, 0xb8, 0x51, 0x3f,
+			0xfc, 0xfc, 0x24, 0x1a, 0xe8, 0x29, 0x05, 0x81,
+			0x31, 0xc2, 0x2a, 0x09, 0x1d, 0xfb, 0xc9, 0x7c,
+			0x6c, 0x23, 0x18, 0xa5, 0x2f, 0x69, 0xca, 0xfb,
+			0xd6, 0xb0, 0x29, 0xd3, 0xe6, 0x18, 0xb6, 0x2b,
+			0x38, 0x23, 0x15, 0x75, 0xc6, 0x37, 0x2a, 0xa4,
+			0x24, 0x38, 0x84, 0x54, 0xbc, 0xa4, 0x29, 0x4d,
+			0x2a, 0x04, 0x45, 0x05, 0xc2, 0x10, 0x03, 0x69,
+			0xc7, 0x27, 0x5c, 0x49, 0xcf, 0xc0, 0x7d, 0xbb,
+			0x09, 0xa9, 0x0b, 0x6e, 0xea, 0x80, 0xb2, 0x0e,
+			0x60, 0x98, 0x1f, 0xf3, 0x27, 0x8c, 0x17, 0x23,
+			0x50, 0x98, 0xae, 0x1a, 0x7c, 0xbf, 0x48, 0xdd,
+			0x8b, 0x77, 0x62, 0x23, 0xcd, 0x34, 0x17, 0x39,
+			0x96, 0x23, 0x47, 0x08, 0x12, 0xb7, 0x8e, 0x74,
+			0xce, 0x4f, 0xf9, 0x26, 0x25, 0x57, 0xa4, 0x28,
+			0x36, 0x8e, 0xac, 0x98, 0x13, 0x0f, 0xe3, 0x5f,
+			0x24, 0x15, 0x9f, 0xee, 0xb5, 0xfa, 0x8e, 0x39,
+			0xcc, 0xaf, 0x14, 0x04, 0x51, 0xd0, 0x1f, 0xea,
+			0x2f, 0xd3, 0xc8, 0xe4, 0xd4, 0xe9, 0xfe, 0x68,
+			0xe6, 0xe5, 0x96, 0x78, 0x95, 0xaa, 0x9a, 0x62,
+			0x11, 0x76, 0x06, 0x1f, 0x07, 0xec, 0xdb, 0xe2,
+			0x89, 0x73, 0x3c, 0xe7, 0xc6, 0xda, 0x7d, 0x79,
+			0x22, 0x58, 0x65, 0x8a, 0xaf, 0xbf, 0xd7, 0xb2,
+			0x3e, 0x8b, 0x08, 0x34, 0x8b, 0x0e, 0x85, 0x58,
+			0x0b, 0xb1, 0x05, 0x7a, 0x11, 0x41, 0x55, 0x75,
+			0x6c, 0x1c, 0xb7, 0x59, 0x7c, 0x80, 0x02, 0xae,
+			0xa8, 0xea, 0xda, 0xe2, 0xfd, 0x60, 0xc5, 0x98,
+			0xc5, 0x53, 0xb4, 0xf6, 0x9f, 0x21, 0x7a, 0x29,
+			0xe0, 0x48, 0x59, 0xed, 0xc9, 0x96, 0x1e, 0xbe,
+			0x59, 0xeb, 0x7e, 0x1f, 0x11, 0x23, 0x2a, 0x05,
+			0x09, 0x9d, 0x9d, 0x6f, 0xef, 0xa1, 0xf1, 0xd1,
+			0xce, 0x3b, 0x86, 0xd3, 0xa7, 0x46, 0xae, 0x35,
+			0x1d, 0x88, 0x7d, 0x69, 0x1a, 0x75, 0xc3, 0x13,
+			0x4c, 0x39, 0xed, 0x89, 0x56, 0x74, 0xc8, 0x0a,
+			0xd6, 0x5d, 0x9d, 0x7b, 0x65, 0x85, 0x95, 0xa2,
+			0x4a, 0xdc, 0x6b, 0xb1, 0x44, 0xda, 0x05, 0x1b,
+			0x7e, 0x61, 0x28, 0x36, 0x4f, 0xcd, 0xc4, 0x00,
+			0x30, 0x8c, 0x0c, 0xb6, 0x36, 0xfb, 0x5d, 0xf2,
+			0x1b, 0x3e, 0x88, 0x2c, 0x10, 0xaf, 0xd0, 0x07,
+			0x85, 0xd1, 0xd7, 0x81, 0xd0, 0xb7, 0xb4, 0xf1,
+			0xe4, 0x3c, 0xb1, 0xcf, 0x13, 0x58, 0xc6, 0x94,
+			0x10, 0xc2, 0x66, 0xd9, 0xda, 0x4c, 0x88, 0x56,
+			0xf5, 0xe6, 0x1b, 0x6a, 0xb7, 0x0a, 0xb6, 0xec,
+			0x09, 0x2e, 0x12, 0x7d, 0x96, 0x7c, 0x75, 0x3b,
+			0x7c, 0x71, 0x92, 0xa2, 0xa1, 0xab, 0x10, 0xc7,
+			0x2d, 0x18, 0xfb, 0x52, 0x8a, 0x87, 0x7e, 0x76,
+			0xc2, 0xe0, 0x4f, 0x24, 0x5a, 0xd8, 0x04, 0xf5,
+			0xcb, 0xf1, 0x42, 0x4b, 0xd8, 0xb0, 0x98, 0x18,
+			0x48, 0xe7, 0x44, 0xba, 0xb7, 0x0d, 0xf6, 0xb7,
+			0xd0, 0x1a, 0x67, 0x82, 0xfc, 0xa0, 0x70, 0x5e,
+			0x13, 0xce, 0xf5, 0x13, 0xf9, 0x66, 0x59, 0xd8,
+			0xa9, 0xfa, 0x40, 0x16, 0xb1, 0xef, 0x09, 0x18,
+			0xa6, 0xa6, 0xee, 0xda, 0x2d, 0xfa, 0x57, 0x3b,
+			0xda, 0x92, 0x1c, 0xd7, 0x01, 0xa2, 0xca, 0x3d,
+			0xe9, 0x06, 0xa6, 0x0b, 0xd3, 0x52, 0xd3, 0x8c,
+			0xc8, 0xff, 0x0a, 0x92, 0x56, 0x41, 0x98, 0xd1,
+			0xaa, 0xc9, 0x6f, 0x96, 0xe8, 0xec, 0x68, 0xc0,
+			0x91, 0x7c, 0x0b, 0xd5, 0xc1, 0x25, 0x45, 0x2b,
+			0x84, 0x28, 0xa4, 0x46, 0x78, 0x58, 0xa1, 0xbf,
+			0x52, 0xd0, 0x48, 0xc4, 0xfc, 0x37, 0xf2, 0x41,
+			0x23, 0x14, 0x37, 0x32, 0x01, 0x2e, 0xbc, 0xe1,
+			0xa1, 0x30, 0x13, 0x26, 0x40, 0x23, 0x80, 0x7c,
+			0x92, 0x80, 0x06, 0x83, 0x6e, 0xb7, 0x25, 0x67,
+			0x41, 0x01, 0x34, 0x4a, 0x8e, 0x8a, 0xb0, 0x81,
+			0x47, 0xbb, 0x52, 0x61, 0x04, 0x6a, 0x8f, 0x1b,
+			0xac, 0x84, 0xfd, 0x59, 0x48, 0xfe, 0xdf, 0x49,
+			0x96, 0xfb, 0x21, 0x4b, 0x5d, 0xf4, 0x5e, 0x40,
+			0x85, 0x1f, 0x23, 0x05, 0x90, 0x69, 0xdc, 0x57,
+			0x78, 0x65, 0x7f, 0x1d, 0x3c, 0xfa, 0x8e, 0x59,
+			0xde, 0xa4, 0xf9, 0x38, 0xc5, 0x5f, 0xa1, 0x8e,
+			0xff, 0x58, 0x2e, 0x29, 0x59, 0x4a, 0x47, 0x52,
+			0xa7, 0xaa, 0xda, 0xeb, 0xdd, 0x76, 0x0a, 0x0e,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x67, 0x6f, 0x8e, 0xb2, 0xcd, 0xfd, 0x17, 0xfb,
+			0xdb, 0xbc, 0x03, 0xa0, 0xe9, 0xfd, 0x3e, 0x7a,
+			0x94, 0xea, 0x50, 0xd5, 0x1c, 0xfb, 0xec, 0x7a,
+			0x3e, 0xe0, 0xde, 0x78, 0x58, 0xe8, 0x31, 0x8a,
+			0x8a, 0x07, 0x6f, 0xd6, 0xb0, 0xad, 0x10, 0xaa,
+			0xac, 0x1d, 0x6d, 0xcc, 0xea, 0x45, 0xba, 0x40,
+			0xb4, 0x2c, 0x4d, 0x31, 0x85, 0x86, 0xb7, 0x4d,
+			0x64, 0xa1, 0xa6, 0xef, 0x18, 0x77, 0xd0, 0xf0,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0x0c, 0x79, 0x06, 0x52, 0x49, 0x9c, 0x28, 0x59,
+			0xcd, 0x66, 0x15, 0x4e, 0xe9, 0x6d, 0x6d, 0x25,
+			0x57, 0x32, 0x31, 0x59, 0xa7, 0xf8, 0xe1, 0x6c,
+			0xbb, 0xa0, 0xdf, 0x01, 0x3f, 0xfa, 0xe0, 0x9a,
+			0xa9, 0x28, 0x0e, 0x83, 0x13, 0x91, 0x5f, 0x30,
+			0xa9, 0x71, 0xd5, 0x7e, 0x77, 0xf1, 0x7e, 0xe4,
+			0xb1, 0x30, 0x14, 0x8d, 0x5b, 0x0b, 0x59, 0xe0,
+			0x17, 0xe3, 0x97, 0xa6, 0x60, 0x9c, 0x66, 0xf4,
+			0xdb, 0x20, 0xf1, 0xc7, 0x1b, 0x64, 0x02, 0x6f,
+			0x4e, 0x6b, 0xcc, 0xa6, 0xf7, 0x99, 0x61, 0xd2,
+			0x2f, 0x70, 0x4b, 0x24, 0x3e, 0x35, 0x04, 0xe6,
+			0xf1, 0xf3, 0x97, 0x86, 0xb3, 0xe8, 0x2c, 0x00,
+			0xaf, 0xb6, 0x11, 0xb0, 0x6c, 0x2e, 0x56, 0x10,
+			0xf0, 0x30, 0x94, 0x1d, 0x1a, 0x4f, 0xd3, 0xed,
+			0x94, 0x0e, 0x9c, 0xd8, 0xeb, 0xd3, 0x26, 0x5c,
+			0x77, 0x51, 0x2e, 0x47, 0xc3, 0xcf, 0x7e, 0x94,
+			0xcd, 0x47, 0x48, 0x90, 0xee, 0x51, 0x4d, 0xf1,
+			0xce, 0xc5, 0xe2, 0x41, 0x61, 0xbf, 0x8a, 0xb8,
+			0x47, 0x2d, 0x0f, 0xff, 0x9b, 0x1b, 0x1b, 0xaf,
+			0xc0, 0x54, 0x1e, 0x41, 0xce, 0x28, 0xc7, 0x0a,
+			0xe6, 0x0a, 0xa2, 0x1a, 0x86, 0xe8, 0x6c, 0x6d,
+			0xec, 0xb6, 0xf8, 0x5f, 0x52, 0x5a, 0x14, 0xc6,
+			0x96, 0xe3, 0xc0, 0xe7, 0x41, 0x37, 0x02, 0x3d,
+			0x38, 0xe8, 0x16, 0x09, 0x88, 0xe2, 0xa9, 0x28,
+			0x28, 0x68, 0x14, 0x07, 0xd9, 0xb6, 0x36, 0xce,
+			0x2a, 0xc1, 0xf1, 0xc4, 0x08, 0x54, 0x38, 0xc0,
+			0x77, 0x9f, 0x7c, 0x63, 0xde, 0x3f, 0x0c, 0xbc,
+			0xd2, 0xef, 0xeb, 0xf4, 0x9e, 0x8e, 0xb0, 0x9c,
+			0x5a, 0xa1, 0xcb, 0x62, 0x4c, 0x0e, 0x1c, 0xe5,
+			0xdb, 0x23, 0x85, 0xde, 0xf8, 0x21, 0x1e, 0x2d,
+			0xcc, 0x9f, 0x1f, 0xb3, 0xe7, 0x27, 0x8a, 0x5a,
+			0xfc, 0x02, 0xe2, 0x72, 0x71, 0x30, 0x01, 0x71,
+			0xd0, 0x3e, 0x90, 0xaf, 0x5d, 0x9d, 0x38, 0xa8,
+			0xc4, 0xfc, 0xa1, 0x3a, 0xfb, 0xf7, 0x69, 0x26,
+			0x5c, 0x13, 0xb4, 0x2c, 0x5b, 0x31, 0xcd, 0x8c,
+			0x26, 0x99, 0xed, 0x62, 0x5b, 0x39, 0x8e, 0x59,
+			0xb1, 0xe5, 0xf5, 0xdc, 0x36, 0xe8, 0x87, 0x0a,
+			0xe4, 0x82, 0x60, 0x48, 0x70, 0xb1, 0x08, 0x68,
+			0xf4, 0xeb, 0x86, 0x28, 0x45, 0xfc, 0x5a, 0x60,
+			0x3f, 0x5e, 0x82, 0xc0, 0x3b, 0x18, 0xd2, 0x0e,
+			0xa8, 0xf2, 0xb0, 0x07, 0xf4, 0xbd, 0xab, 0x23,
+			0x0c, 0x4e, 0xe0, 0xae, 0x38, 0xe6, 0x93, 0x4f,
+			0x58, 0xcd, 0x0b, 0x67, 0xe5, 0xb3, 0xdd, 0x81,
+			0x33, 0x9e, 0xdc, 0xd5, 0xc0, 0x1a, 0xde, 0x22,
+			0x02, 0xf9, 0x3e, 0xd6, 0x53, 0x39, 0x79, 0xc8,
+			0x9f, 0x8a, 0xc5, 0xc9, 0xb0, 0x2a, 0xcb, 0x73,
+			0x86, 0xd1, 0xc1, 0xa7, 0x90, 0xe9, 0xc2, 0x37,
+			0x3f, 0x9f, 0x5a, 0x09, 0xd5, 0x99, 0x4b, 0xd6,
+			0x37, 0x3b, 0xa5, 0x78, 0x97, 0xaf, 0xa9, 0x37,
+			0xe4, 0x3a, 0x64, 0x46, 0x6b, 0x6b, 0xd4, 0x11,
+			0x2e, 0x24, 0x98, 0xd6, 0x15, 0x36, 0x77, 0x64,
+			0x27, 0x84, 0x67, 0x84, 0x12, 0xa6, 0x93, 0x0d,
+			0x53, 0x05, 0xff, 0x52, 0x54, 0x4b, 0x22, 0xab,
+			0x28, 0xcd, 0x37, 0x05, 0x0b, 0x65, 0x97, 0xd0,
+			0x74, 0xaa, 0xa6, 0x16, 0x5c, 0x89, 0x55, 0x08,
+			0xbd, 0xf4, 0x77, 0x68, 0xab, 0x5c, 0x7d, 0xc4,
+			0x58, 0x46, 0x15, 0x6e, 0x7f, 0x94, 0xf2, 0xd9,
+			0x4f, 0xe9, 0x75, 0x83, 0x01, 0xca, 0xc2, 0x8d,
+			0x30, 0x63, 0x3a, 0xda, 0x27, 0x16, 0x3b, 0x9d,
+			0x45, 0x04, 0x64, 0xe0, 0x76, 0xec, 0x6e, 0x4f,
+			0x76, 0x88, 0x21, 0xe3, 0x73, 0xa8, 0x0a, 0xe3,
+			0x72, 0xd0, 0x73, 0x41, 0xba, 0x06, 0x79, 0x90,
+			0xf5, 0x5c, 0xb6, 0x23, 0x57, 0xca, 0x62, 0xca,
+			0x0a, 0xe9, 0xd4, 0x20, 0x16, 0xe7, 0xc3, 0x2c,
+			0x92, 0x4c, 0x3a, 0x14, 0xe3, 0x9a, 0x67, 0x80,
+			0x14, 0x41, 0x80, 0x1b, 0xe2, 0x8b, 0x00, 0xa0,
+			0xb6, 0xc3, 0x78, 0x58, 0xf0, 0x29, 0xa9, 0x0f,
+			0x2e, 0x1b, 0x17, 0x3b, 0x07, 0x70, 0xc0, 0x41,
+			0x39, 0x06, 0x67, 0x91, 0x60, 0x3a, 0x43, 0xc9,
+			0x1e, 0x1d, 0x39, 0xe8, 0xde, 0xc1, 0x62, 0x58,
+			0xf6, 0x63, 0xf5, 0xed, 0x83, 0x5e, 0x15, 0xf1,
+			0x41, 0xcf, 0x8c, 0x71, 0x64, 0xf6, 0x76, 0xbb,
+			0xb6, 0xb4, 0x8e, 0x2a, 0x95, 0x5c, 0x0b, 0xe4,
+			0x92, 0x79, 0x56, 0x69, 0xd9, 0x2b, 0x71, 0x61,
+			0xa7, 0x1b, 0x48, 0x07, 0x2d, 0xb6, 0x3a, 0x0b,
+			0xf9, 0xc2, 0xc1, 0x6f, 0x69, 0x5c, 0x47, 0xa8,
+			0x99, 0x20, 0x05, 0xd5, 0x54, 0x32, 0xdb, 0xbc,
+			0x88, 0xb1, 0xa3, 0x10, 0x85, 0xf7, 0x98, 0xbd,
+			0x89, 0xa9, 0xf0, 0x6c, 0x7e, 0xe7, 0xda, 0x56,
+			0xc1, 0x61, 0x50, 0x79, 0x79, 0x71, 0xb5, 0x83,
+			0xd5, 0x2a, 0xd2, 0xd6, 0x41, 0x31, 0x1e, 0x8a,
+			0x1f, 0x3d, 0xad, 0xf9, 0xb8, 0x5e, 0x7a, 0x80,
+			0xc7, 0x9d, 0x07, 0x14, 0xe5, 0xde, 0x28, 0x39,
+			0x17, 0x2c, 0xed, 0x2b, 0x5f, 0xe5, 0x3d, 0x3e,
+			0x54, 0x4f, 0x0d, 0x9c, 0xa1, 0x83, 0xd7, 0xaf,
+			0x7a, 0x39, 0xf1, 0xaa, 0xa7, 0x5d, 0xd9, 0x2a,
+			0x7c, 0xbe, 0x4f, 0xb4, 0xb8, 0x85, 0xcf, 0xbf,
+			0x0e, 0x42, 0x90, 0x90, 0x48, 0xc5, 0x96, 0x26,
+			0xbb, 0x7e, 0x94, 0x90, 0x25, 0x3b, 0x25, 0xb9,
+			0xa9, 0xa1, 0xed, 0x18, 0xfa, 0x9a, 0x46, 0xe4,
+			0xca, 0x3d, 0x27, 0xc4, 0x7e, 0x9f, 0x3e, 0xdc,
+			0x6f, 0x5f, 0x71, 0x6e, 0xc0, 0x41, 0x55, 0x38,
+			0x9c, 0x9c, 0x28, 0x85, 0xe3, 0xf0, 0xc4, 0xea,
+			0xc7, 0x7f, 0x7c, 0x66, 0x22, 0x89, 0xea, 0xc3,
+			0xfa, 0x5a, 0x09, 0x70, 0x1b, 0xc5, 0x30, 0xd5,
+			0x71, 0x08, 0x5b, 0x3f, 0x60, 0xa2, 0x75, 0x80,
+			0x84, 0x70, 0x14, 0xde, 0x9b, 0x46, 0xbd, 0x53,
+			0x98, 0x67, 0xcc, 0x55, 0x4b, 0xed, 0x18, 0x5f,
+			0xd6, 0x07, 0x17, 0xcb, 0xcf, 0xde, 0x2a, 0x37,
+			0x37, 0x07, 0x5b, 0xa9, 0x88, 0x0c, 0xa2, 0xb9,
+			0xf3, 0xe5, 0x3a, 0x7c, 0xa3, 0x09, 0xeb, 0xf6,
+			0xab, 0x42, 0x57, 0xf9, 0xc4, 0xab, 0x0a, 0x97,
+			0xea, 0x96, 0x4c, 0x58, 0xe9, 0xe4, 0x8f, 0xcc,
+			0x35, 0x7f, 0x01, 0x0f, 0x5c, 0x7e, 0xaa, 0x0a,
+			0x0c, 0xf2, 0x3c, 0x3e, 0x5c, 0x4f, 0xb6, 0x1f,
+			0x08, 0xd7, 0x0a, 0x68, 0xef, 0xf4, 0x95, 0xa5,
+			0x59, 0xd6, 0x41, 0xee, 0x31, 0xab, 0x28, 0xd1,
+			0x3a, 0xc7, 0xc4, 0xb1, 0x5f, 0xf6, 0x10, 0xef,
+			0x59, 0xda, 0x48, 0x7b, 0x9d, 0x50, 0x4b, 0xb9,
+			0xe0, 0x90, 0x9d, 0xf9, 0x2f, 0x4e, 0x55, 0xe8,
+			0x49, 0xfc, 0x40, 0xa5, 0x33, 0x86, 0xf8, 0x32,
+			0x16, 0x60, 0x83, 0x1c, 0x6b, 0x7f, 0xe4, 0xf1,
+			0xa1, 0x84, 0x1d, 0x21, 0xbb, 0xca, 0x2d, 0x1a,
+			0x3f, 0x7a, 0xd4, 0x8a, 0xcb, 0x7e, 0x3c, 0x3c,
+			0xe6, 0x86, 0x8d, 0x08, 0x2f, 0x71, 0x45, 0x46,
+			0xeb, 0xd6, 0x4e, 0xf5, 0xf8, 0x46, 0xf3, 0x25,
+			0x8e, 0x6b, 0x29, 0x92, 0xa4, 0x47, 0x46, 0xe2,
+			0x72, 0xf2, 0x22, 0x64, 0x9a, 0xd1, 0xd7, 0x83,
+			0x99, 0x44, 0x1f, 0xe6, 0x48, 0xd5, 0xfc, 0xc7,
+			0x7c, 0xb4, 0x3d, 0x3c, 0x21, 0x5d, 0x0a, 0xea,
+			0xec, 0x16, 0xf7, 0xb3, 0xef, 0x0f, 0x4a, 0xa6,
+			0x91, 0x4d, 0x7e, 0xb1, 0x01, 0x3b, 0xff, 0x94,
+			0xb8, 0xd5, 0x91, 0x39, 0x4b, 0x2b, 0x8b, 0x0b,
+			0x19, 0x94, 0x64, 0xd7, 0x27, 0x11, 0x71, 0xfc,
+			0xc3, 0x80, 0x97, 0x0e, 0x7a, 0x36, 0x31, 0xad,
+			0x43, 0x3a, 0x9f, 0xdb, 0x5b, 0x70, 0x29, 0x10,
+			0xf3, 0x1a, 0x7a, 0x6e, 0x13, 0x7d, 0x64, 0x36,
+			0x95, 0x15, 0x80, 0x15, 0xf5, 0x94, 0xbb, 0xc3,
+			0xfa, 0x72, 0x7e, 0x93, 0x68, 0xb2, 0x55, 0xaf,
+			0xff, 0x27, 0xeb, 0xa3, 0x0c, 0x27, 0x3a, 0xd1,
+			0x00, 0xff, 0x97, 0xe6, 0xff, 0x96, 0x29, 0xce,
+			0xd9, 0xba, 0x4d, 0xe4, 0xc2, 0x69, 0x81, 0x04,
+			0x6a, 0x0c, 0x89, 0xbf, 0x0e, 0x22, 0xb9, 0x0c,
+			0x77, 0x7e, 0xf5, 0x46, 0xc5, 0x53, 0xe3, 0x16,
+			0xc4, 0x0c, 0x72, 0xfa, 0x56, 0x9f, 0x2e, 0xf5,
+			0xab, 0xa0, 0xeb, 0xa1, 0x8f, 0xce, 0xf0, 0x6b,
+			0x10, 0xbd, 0x59, 0x7e, 0x54, 0x1c, 0x6e, 0xd3,
+			0x2f, 0x80, 0x4e, 0x9d, 0xf3, 0x47, 0xb2, 0xac,
+			0x42, 0x70, 0xac, 0xa8, 0x8d, 0x4c, 0xba, 0x8f,
+			0x1a, 0x07, 0x68, 0xbe, 0x3c, 0xd9, 0x74, 0x61,
+			0x74, 0x34, 0xcc, 0x7a, 0x63, 0x74, 0xd0, 0x09,
+			0x21, 0xed, 0x2a, 0x93, 0x0a, 0x74, 0xab, 0xac,
+			0xeb, 0xa9, 0xd9, 0xe6, 0x22, 0xa9, 0x1c, 0x24,
+			0x23, 0xd4, 0x87, 0x88, 0x78, 0x86, 0x35, 0xb2,
+			0xc6, 0x98, 0x2e, 0x0b, 0xa2, 0x07, 0xac, 0x87,
+			0x01, 0xfa, 0xa3, 0x54, 0xa6, 0x09, 0xb0, 0x2f,
+			0xe1, 0x57, 0x3d, 0x61, 0x6b, 0x2d, 0x82, 0x07,
+			0x2e, 0x6e, 0x14, 0x0d, 0x23, 0xa6, 0x14, 0x56,
+			0xc9, 0x3f, 0x65, 0x0d, 0x4f, 0x07, 0xac, 0x22,
+			0xd7, 0xc9, 0x29, 0xc6, 0x9b, 0x85, 0x55, 0x2f,
+			0xa4, 0x02, 0xfa, 0x2c, 0x3a, 0xea, 0xde, 0xb4,
+			0x89, 0x93, 0xc6, 0xa2, 0x4a, 0x13, 0x07, 0x57,
+			0x07, 0xb1, 0x6d, 0x7d, 0x80, 0x6c, 0x51, 0x9d,
+			0xec, 0x91, 0xdf, 0xbc, 0xcb, 0x3b, 0x17, 0xad,
+			0xcf, 0x64, 0x46, 0x6b, 0xf8, 0x79, 0x73, 0x05,
+			0x1e, 0x9e, 0x75, 0x6c, 0xa0, 0x3c, 0x64, 0x12,
+			0x1f, 0x3e, 0x09, 0x36, 0x2e, 0xe9, 0x4c, 0xc2,
+			0x29, 0x3c, 0xf2, 0x21, 0x24, 0x89, 0x98, 0x79,
+			0xa2, 0x12, 0x33, 0x22, 0x8f, 0x7f, 0x3a, 0x34,
+			0x1b, 0x3a, 0x69, 0x70, 0x40, 0x50, 0x02, 0x56,
+			0xb0, 0x68, 0xed, 0x4d, 0x36, 0x40, 0x87, 0xd5,
+			0x2d, 0xe9, 0x74, 0x41, 0x35, 0xd0, 0x56, 0x45,
+			0xb7, 0x59, 0xe1, 0x0c, 0x0b, 0x73, 0x9e, 0xb7,
+			0x59, 0x1a, 0xd0, 0xbe, 0x7e, 0xca, 0x24, 0x12,
+			0x94, 0x67, 0x5a, 0x28, 0xe0, 0x29, 0x50, 0x0e,
+			0xca, 0x1b, 0x8a, 0xcd, 0x56, 0xe8, 0xa1, 0xb9,
+			0x5c, 0xb0, 0x9a, 0x36, 0x0e, 0xf9, 0x5e, 0x4f,
+			0x6b, 0xde, 0x03, 0x18, 0x77, 0x41, 0x98, 0x0f,
+			0x6e, 0x03, 0x74, 0x8f, 0xd6, 0x38, 0x3c, 0xdc,
+			0xe9, 0xc0, 0x5c, 0x92, 0x48, 0xa8, 0x46, 0x29,
+			0x1c, 0xab, 0x76, 0x55, 0x21, 0x56, 0x10, 0x16,
+			0x14, 0x8b, 0x80, 0x3b, 0xc8, 0x15, 0xf0, 0xb5,
+			0x3b, 0xfe, 0xb5, 0x56, 0x8b, 0x45, 0x73, 0xf4,
+			0x23, 0xf0, 0x68, 0xdd, 0x4e, 0x27, 0xfc, 0xac,
+			0xf5, 0x81, 0x05, 0xd8, 0x89, 0x24, 0xba, 0xb9,
+			0xcf, 0xd6, 0x06, 0xb4, 0xfd, 0x12, 0x00, 0xca,
+			0x18, 0x44, 0xb4, 0x90, 0xcf, 0xc8, 0xb0, 0x6d,
+			0xcb, 0x72, 0xa3, 0xcd, 0x2e, 0x54, 0x56, 0x86,
+			0x4b, 0xd3, 0x3a, 0x96, 0x23, 0x4c, 0xd1, 0xf9,
+			0x1c, 0xa9, 0x9c, 0x37, 0xe4, 0x04, 0x04, 0x72,
+			0x7f, 0x71, 0xdf, 0xfd, 0x47, 0x86, 0x9b, 0x37,
+			0x69, 0x1c, 0xc9, 0xa9, 0x51, 0x13, 0xd7, 0xcf,
+			0xc5, 0xc3, 0x08, 0x9b, 0x3b, 0x94, 0xed, 0xfd,
+			0x06, 0x75, 0xb7, 0x39, 0x86, 0x98, 0x6d, 0x84,
+			0x38, 0x45, 0x39, 0xd1, 0x97, 0xef, 0x1f, 0x2e,
+			0x50, 0xb5, 0xf2, 0xe0, 0x72, 0xfd, 0x72, 0xd8,
+			0xf9, 0x83, 0xa6, 0x16, 0x83, 0xbf, 0x87, 0x12,
+			0x2c, 0x47, 0x82, 0xac, 0x59, 0x68, 0x61, 0xe6,
+			0xa1, 0x00, 0xc2, 0x5a, 0x4b, 0xf0, 0xac, 0x79,
+			0x33, 0x42, 0x8b, 0x9b, 0x81, 0x9e, 0x44, 0xd5,
+			0x21, 0x94, 0xf8, 0xbd, 0xb6, 0xe0, 0xe8, 0x80,
+			0x87, 0x4d, 0x76, 0xad, 0x08, 0x40, 0xb4, 0x4c,
+			0x8a, 0x32, 0x58, 0xed, 0x7c, 0x46, 0xb5, 0x54,
+			0xa8, 0x30, 0xf5, 0xe8, 0x98, 0xed, 0xf9, 0x36,
+			0x8c, 0x21, 0x9f, 0x1f, 0xc4, 0x50, 0x4c, 0xe8,
+			0x99, 0xfb, 0x15, 0xb5, 0x60, 0xaa, 0xde, 0xec,
+			0xfa, 0x1b, 0x40, 0xd5, 0x7f, 0xda, 0xed, 0xef,
+			0xc6, 0xe0, 0x1b, 0xf1, 0x80, 0x38, 0x00, 0xe7,
+			0x44, 0x2d, 0x89, 0xa0, 0x12, 0x9d, 0x26, 0xbb,
+			0x33, 0x6e, 0xdd, 0xd1, 0xb3, 0xb5, 0x8f, 0x39,
+			0x8e, 0xc3, 0x1f, 0x68, 0x37, 0xb6, 0x09, 0x55,
+			0x35, 0x3d, 0x60, 0xfa, 0x71, 0x1a, 0x3f, 0x77,
+			0xe5, 0xcc, 0xd0, 0x56, 0x9c, 0x73, 0x06, 0xcd,
+			0xf9, 0xab, 0x4e, 0xb8, 0x99, 0x2a, 0xdc, 0x5e,
+			0xe7, 0x83, 0xe5, 0x35, 0x34, 0x9f, 0xc8, 0x30,
+			0x37, 0xb4, 0x01, 0xc2, 0xb3, 0xc4, 0x1a, 0x7f,
+			0x01, 0x1f, 0x3a, 0xbf, 0x39, 0x83, 0xad, 0xc2,
+			0x9e, 0x4d, 0xae, 0x0f, 0x46, 0x0e, 0x2e, 0x89,
+			0xe8, 0xdb, 0x4d, 0x3f, 0x2c, 0xb0, 0x62, 0x1e,
+			0x8b, 0xda, 0x21, 0x2d, 0xff, 0x7d, 0x26, 0xa4,
+			0x83, 0x8b, 0xa0, 0x46, 0xdb, 0x56, 0x91, 0xbe,
+			0x00, 0x4c, 0xc5, 0x31, 0x46, 0xf5, 0x68, 0x42,
+			0x91, 0x69, 0xe6, 0xf3, 0x84, 0xce, 0x20, 0xb1,
+			0xfd, 0xbf, 0x58, 0x9e, 0xf9, 0x30, 0x5c, 0xf5,
+			0xc7, 0xdf, 0xe1, 0x20, 0x9f, 0x3c, 0xdd, 0x25,
+			0xd8, 0xf8, 0xb2, 0x59, 0x54, 0x25, 0x20, 0x9d,
+			0x38, 0xf1, 0xbe, 0x0e, 0x5a, 0x30, 0xd4, 0x44,
+			0x3d, 0xb5, 0x75, 0xae, 0xb0, 0xbb, 0x1a, 0x8b,
+			0x4c, 0xe6, 0x05, 0x1c, 0xa7, 0x47, 0x01, 0xb2,
+			0x45, 0x5c, 0x39, 0x77, 0xc7, 0x80, 0x3b, 0xc6,
+			0xe7, 0x3e, 0xe7, 0xd0, 0x10, 0x96, 0x81, 0x1b,
+			0x67, 0xda, 0xf7, 0x87, 0xf4, 0x49, 0xd0, 0xe2,
+			0x21, 0x33, 0x9f, 0xdf, 0x56, 0x68, 0x03, 0x69,
+			0xa7, 0x35, 0x30, 0x0f, 0xfb, 0x68, 0x91, 0xe2,
+			0x20, 0x85, 0x90, 0x56, 0x73, 0x3c, 0x1a, 0xa6,
+			0xae, 0x71, 0x84, 0xe5, 0x73, 0x8a, 0x3a, 0x30,
+			0x1d, 0xee, 0x96, 0x25, 0xa4, 0xa6, 0xde, 0x69,
+			0x7b, 0xfb, 0xf4, 0x7f, 0xc6, 0xea, 0x65, 0x29,
+			0x4a, 0xce, 0xf9, 0xb5, 0x23, 0x85, 0x16, 0x29,
+			0xcd, 0x7c, 0xf1, 0x95, 0xaf, 0x5e, 0xb9, 0xbf,
+			0xb0, 0x22, 0x92, 0xfe, 0x9e, 0xca, 0x16, 0x52,
+			0x04, 0x77, 0x37, 0x78, 0x3d, 0xed, 0x9c, 0x28,
+			0x0b, 0xaa, 0x04, 0x9f, 0xe2, 0x2c, 0x5d, 0xfc,
+			0x5c, 0xde, 0x39, 0x57, 0x75, 0x1c, 0x0e, 0x10,
+			0x26, 0x9a, 0xf2, 0x40, 0x92, 0xcd, 0x10, 0x96,
+			0xcc, 0x5d, 0x84, 0x11, 0xae, 0x05, 0x21, 0x5b,
+			0x36, 0xd0, 0x51, 0x40, 0x06, 0x8d, 0x47, 0xb1,
+			0xcc, 0x82, 0xde, 0xf6, 0x14, 0x24, 0x9b, 0xc4,
+			0xbf, 0x4f, 0x8d, 0x53, 0x48, 0x0b, 0xee, 0x14,
+			0x6f, 0x8e, 0x1d, 0x09, 0x74, 0x25, 0xd9, 0x28,
+			0xe0, 0x1f, 0x5d, 0x24, 0x34, 0x06, 0x94, 0x65,
+			0xd4, 0x93, 0x1b, 0xcd, 0x36, 0xbc, 0x9e, 0xc5,
+			0x37, 0x57, 0x52, 0xda, 0xcc, 0x72, 0x58, 0x5b,
+			0x5c, 0x7a, 0x99, 0x08, 0xe5, 0x28, 0x44, 0x1a,
+			0xff, 0x8e, 0xad, 0xc9, 0x0c, 0x53, 0x64, 0xcc,
+			0xcc, 0xc5, 0x9f, 0x83, 0x1e, 0x32, 0x26, 0x53,
+			0xbb, 0x7e, 0xf1, 0xab, 0x73, 0xfb, 0x47, 0x7d,
+			0x7a, 0xb7, 0x8e, 0x10, 0xbc, 0x3b, 0x39, 0x9a,
+			0x7f, 0x9a, 0x2c, 0x01, 0xa4, 0x9e, 0x70, 0xac,
+			0x4d, 0x15, 0x00, 0x78, 0x67, 0xfc, 0xca, 0x2a,
+			0xf9, 0x40, 0xbc, 0xbb, 0x12, 0x55, 0x35, 0xa3,
+			0xce, 0x17, 0x72, 0xfe, 0xfd, 0x37, 0x58, 0xdb,
+			0x8c, 0x4f, 0xe9, 0x46, 0x67, 0x7d, 0xe8, 0x10,
+			0x83, 0x86, 0xd8, 0x46, 0xf6, 0x73, 0x28, 0xdd,
+			0xbd, 0x35, 0xfc, 0xbc, 0x92, 0x19, 0x51, 0x24,
+			0xbe, 0x0c, 0x82, 0xb3, 0xaa, 0x91, 0xa3, 0x2b,
+			0xd6, 0x62, 0xa6, 0x6e, 0xe5, 0xdc, 0x37, 0xfb,
+			0x29, 0x93, 0x60, 0xbc, 0x4f, 0x7e, 0x4c, 0x89,
+			0xa1, 0x58, 0xed, 0x77, 0xef, 0x1e, 0x0f, 0x54,
+			0x4a, 0x8b, 0x36, 0x22, 0x29, 0x8a, 0x30, 0xe3,
+			0x26, 0x2c, 0x9e, 0x13, 0x01, 0x5e, 0x53, 0x44,
+			0xe4, 0xe3, 0x95, 0xa4, 0xc1, 0x9b, 0xe5, 0x26,
+			0x9b, 0x97, 0x4a, 0x5e, 0xbf, 0x07, 0x3e, 0x49,
+			0x2e, 0x6d, 0xf2, 0x13, 0xde, 0xf3, 0xbf, 0x44,
+			0x1e, 0xfc, 0x6b, 0x92, 0x25, 0xe2, 0x84, 0xd4,
+			0x55, 0x0d, 0x36, 0x6c, 0x03, 0x8b, 0x24, 0x6b,
+			0x75, 0x8d, 0x15, 0x33, 0xeb, 0xcd, 0x09, 0xaa,
+			0x27, 0x2c, 0x37, 0x37, 0xd9, 0xea, 0x8b, 0x4b,
+			0x0b, 0x8b, 0xa2, 0x3b, 0xbe, 0xb5, 0xad, 0xaa,
+			0x13, 0xda, 0x70, 0x81, 0x8a, 0x1c, 0xe6, 0x38,
+			0xaf, 0x2a, 0xce, 0x38, 0xc8, 0x14, 0xf0, 0xc7,
+			0x4a, 0x09, 0x4d, 0xbb, 0x12, 0xca, 0x78, 0xc1,
+			0x87, 0x8c, 0x76, 0x36, 0xb8, 0x13, 0xd9, 0xe6,
+			0xe2, 0x8b, 0x95, 0x81, 0x08, 0xf7, 0xa4, 0x7d,
+			0xae, 0x8d, 0xa9, 0x77, 0x0f, 0x56, 0x96, 0x57,
+			0x61, 0x76, 0x1a, 0xb3, 0x5a, 0x8f, 0x59, 0xd4,
+			0xa6, 0xa7, 0xb4, 0x33, 0xc4, 0x4b, 0x46, 0x68,
+			0xe6, 0xed, 0x0d, 0x5c, 0xe6, 0x96, 0xb2, 0x72,
+			0x48, 0x3c, 0x89, 0x15, 0xe8, 0x0f, 0xeb, 0x6b,
+			0x72, 0xdd, 0xcc, 0x01, 0x75, 0xea, 0x0c, 0xf0,
+			0xe4, 0x82, 0xda, 0x53, 0xb3, 0x0c, 0x41, 0xe4,
+			0x87, 0x82, 0x7d, 0x88, 0xee, 0x98, 0x03, 0xad,
+			0xf5, 0x5e, 0xbb, 0x5e, 0x70, 0x98, 0x59, 0x2f,
+			0xec, 0x79, 0xfe, 0x03, 0xd5, 0x29, 0x85, 0x48,
+			0x86, 0x1b, 0x4e, 0xe2, 0x02, 0xdb, 0xba, 0xa6,
+			0x15, 0x87, 0x69, 0x70, 0xbb, 0x69, 0x9f, 0x92,
+			0xfc, 0x56, 0xc0, 0x35, 0xfa, 0xbf, 0xee, 0xa3,
+			0x34, 0x7e, 0xa6, 0xa0, 0x89, 0xf1, 0x38, 0x99,
+			0x59, 0xb0, 0x5d, 0x1c, 0x1e, 0x7c, 0x2b, 0x35,
+			0x14, 0xfa, 0xd0, 0x91, 0xe8, 0xd4, 0xed, 0x4c,
+			0x4c, 0x84, 0x8b, 0xe1, 0x34, 0xa7, 0xdd, 0x0c,
+			0x34, 0xde, 0xc2, 0xae, 0x1c, 0x05, 0xf4, 0x80,
+			0xe0, 0xf8, 0x80, 0x95, 0x21, 0x0c, 0x17, 0x22,
+			0xc6, 0xd7, 0xee, 0x00, 0x83, 0x5e, 0xf9, 0x0a,
+			0x1c, 0x5c, 0x91, 0xdc, 0x21, 0x67, 0x68, 0x9e,
+			0x70, 0xac, 0x37, 0x13, 0xd2, 0x49, 0x1a, 0x71,
+			0x63, 0xc3, 0x0f, 0x38, 0x7d, 0x5f, 0x1d, 0xe1,
+			0xb0, 0x9a, 0x77, 0x14, 0x0f, 0x14, 0x2e, 0xd5,
+			0x65, 0x55, 0x36, 0xae, 0xf6, 0x96, 0xa4, 0x85,
+			0x30, 0x0b, 0x24, 0x87, 0x40, 0x4d, 0x74, 0xb7,
+			0xcb, 0x04, 0xa5, 0x14, 0xfa, 0x9c, 0xb6, 0x9a,
+			0x11, 0xe0, 0xac, 0xb0, 0x13, 0x32, 0x32, 0x33,
+			0x3e, 0xb0, 0x95, 0xac, 0x64, 0xac, 0x59, 0xab,
+			0x96, 0xea, 0x1e, 0x2f, 0x3c, 0xcc, 0xed, 0x54,
+			0x1f, 0x40, 0xb9, 0xa4, 0xd7, 0xe3, 0x0b, 0xef,
+			0x04, 0xcb, 0xaa, 0x03, 0x2b, 0x02, 0x20, 0x8e,
+			0x7e, 0x3e, 0xbf, 0x66, 0x09, 0x31, 0x18, 0x9f,
+			0x4b, 0x77, 0x27, 0x51, 0xb2, 0xc9, 0xf1, 0xe4,
+			0xf1, 0xaf, 0xaf, 0xd4, 0x87, 0x05, 0xed, 0x8d,
+			0x60, 0x72, 0x36, 0x9e, 0x05, 0xc3, 0x3e, 0xcf,
+			0xa5, 0x23, 0x8b, 0xb7, 0x7e, 0xcd, 0xdb, 0x2c,
+			0xde, 0xbc, 0xeb, 0x67, 0x6e, 0x2c, 0x59, 0x4d,
+			0x7f, 0x4a, 0xd8, 0x4e, 0x69, 0xff, 0xea, 0xb4,
+			0x00, 0xc6, 0x2b, 0x31, 0x26, 0x9e, 0x35, 0x7a,
+			0xc5, 0x86, 0x02, 0x98, 0xdb, 0xf7, 0xc5, 0x96,
+			0xd2, 0x2e, 0x2a, 0xc5, 0x04, 0xc0, 0x9c, 0xb3,
+			0x07, 0x86, 0x77, 0x7c, 0x7f, 0x82, 0x97, 0x87,
+			0x64, 0xf9, 0xb5, 0x70, 0x39, 0x3c, 0x39, 0x2b,
+			0xfe, 0xa7, 0x24, 0xdd, 0x5f, 0xf0, 0x25, 0xe0,
+			0x74, 0x69, 0x35, 0x22, 0x9a, 0xaf, 0xa4, 0x80,
+			0x77, 0x75, 0x7f, 0x5e, 0xbd, 0xbf, 0xb9, 0x06,
+			0x0a, 0x68, 0xd1, 0x2e, 0x8b, 0xc8, 0xa2, 0x76,
+			0x68, 0xa5, 0x94, 0xb7, 0xda, 0x41, 0xd1, 0xa4,
+			0xfe, 0x86, 0xe4, 0x86, 0xb6, 0xfc, 0x70, 0x81,
+			0x37, 0x10, 0x7b, 0x9b, 0xf2, 0x07, 0x33, 0x60,
+			0x56, 0x74, 0xbf, 0xc4, 0x66, 0x16, 0xe5, 0xe3,
+			0xed, 0x13, 0x72, 0x2b, 0x01, 0x04, 0x13, 0x74,
+			0x22, 0xe9, 0xd3, 0x14, 0xd5, 0xd9, 0xa1, 0x66,
+			0xb9, 0xb7, 0x0d, 0x30, 0x09, 0xa8, 0xf6, 0xf7,
+			0xe8, 0xa8, 0xe8, 0x8b, 0x1e, 0x61, 0xa9, 0xdd,
+			0x11, 0x55, 0xb2, 0x48, 0xd1, 0xb3, 0xa4, 0x97,
+			0xab, 0xe9, 0x43, 0x0b, 0x46, 0x10, 0xd0, 0xac,
+			0x88, 0xe4, 0xcd, 0xa3, 0x67, 0x45, 0xbb, 0xc8,
+			0x5e, 0x23, 0x2a, 0x09, 0xf5, 0x6f, 0x55, 0x22,
+			0xc2, 0x7a, 0x23, 0xc3, 0x36, 0x28, 0x52, 0xa9,
+			0xe9, 0x59, 0xca, 0x04, 0x9c, 0xf7, 0x36, 0x49,
+			0x6b, 0xef, 0x07, 0xd0, 0x0c, 0xf3, 0xba, 0x28,
+			0x24, 0x3f, 0x19, 0xdc, 0xd3, 0x84, 0xba, 0xbf,
+			0x6b, 0x73, 0xef, 0x0b, 0x4d, 0xfe, 0x80, 0x43,
+			0xbe, 0x5b, 0x6c, 0xf6, 0x8e, 0x94, 0x04, 0x7d,
+			0x49, 0x72, 0xa1, 0x83, 0x27, 0x7e, 0x20, 0x20,
+			0xcf, 0xb1, 0x04, 0x87, 0xd2, 0x6d, 0x01, 0x14,
+			0xa5, 0x17, 0x31, 0x61, 0x4e, 0xf7, 0xf3, 0xde,
+			0x42, 0x98, 0xa4, 0x9a, 0x3b, 0xa6, 0xd1, 0xfe,
+			0x47, 0x84, 0xf9, 0xbf, 0x44, 0x95, 0xcf, 0xa1,
+			0x3c, 0xa4, 0x1a, 0x42, 0x96, 0x0b, 0x6d, 0x94,
+			0x70, 0xb4, 0xbc, 0xc8, 0x4b, 0x4b, 0x23, 0xd4,
+			0x95, 0xe2, 0x1e, 0x70, 0x1c, 0xe7, 0x15, 0xf2,
+			0xc8, 0x17, 0x01, 0xa0, 0x10, 0x03, 0xfe, 0x03,
+			0x80, 0xb3, 0xda, 0x43, 0x6b, 0x13, 0xab, 0x3a,
+			0xb6, 0x27, 0x94, 0x52, 0xfc, 0x51, 0xe1, 0x04,
+			0x18, 0xff, 0xd4, 0x62, 0xd4, 0x62, 0x8f, 0x04,
+			0xa0, 0x41, 0x10, 0xa3, 0x3e, 0x1f, 0xb1, 0x5c,
+			0x9d, 0xb2, 0x6f, 0x1e, 0x8f, 0x76, 0x8d, 0xbd,
+			0xff, 0x7d, 0xc5, 0x48, 0xee, 0xef, 0x6d, 0x82,
+			0xc1, 0x6a, 0xcc, 0xa8, 0xbd, 0x05, 0x7e, 0x7c,
+			0x1f, 0x95, 0x39, 0xde, 0xa8, 0x19, 0x47, 0x45,
+			0xd7, 0x4a, 0x43, 0x52, 0x3e, 0x1b, 0x86, 0xee,
+			0x2f, 0x1e, 0x7e, 0x3c, 0xf1, 0x27, 0xe9, 0x35,
+			0x00, 0x6b, 0xf8, 0x56, 0x1f, 0xae, 0x18, 0xe3,
+			0x40, 0x1f, 0x7c, 0x95, 0x83, 0x55, 0xe7, 0x78,
+			0x98, 0x86, 0x8a, 0x96, 0xb8, 0x87, 0x88, 0x04,
+			0x9f, 0x4d, 0x62, 0x40, 0xc7, 0xcf, 0xfa, 0x90,
+			0xdf, 0xeb, 0x60, 0xbe, 0xdc, 0x99, 0xdf, 0xae,
+			0x4b, 0x96, 0xfc, 0xd6, 0xaf, 0x8c, 0xcb, 0x1b,
+			0x38, 0xbc, 0xa3, 0x48, 0xce, 0xd3, 0xa9, 0xd7,
+			0xec, 0x1d, 0xbc, 0x22, 0xd9, 0x34, 0xdf, 0xcb,
+			0x62, 0x95, 0xe2, 0x32, 0x7d, 0xd3, 0x01, 0x61,
+			0x46, 0x9f, 0x2e, 0x26, 0x4b, 0x79, 0xf1, 0x39,
+			0xf6, 0x22, 0xad, 0xcf, 0xb1, 0x5a, 0x57, 0xf1,
+			0xca, 0x95, 0xc7, 0x20, 0xab, 0x1a, 0xad, 0xf4,
+			0xdd, 0x96, 0x0b, 0xb1, 0xae, 0xb6, 0x45, 0xad,
+			0x26, 0x2a, 0xbd, 0x17, 0x5e, 0x27, 0x12, 0x6f,
+			0x43, 0x43, 0x0a, 0x84, 0x68, 0xb0, 0x11, 0x74,
+			0xe3, 0xbe, 0xb2, 0x2c, 0xb2, 0xa2, 0xf4, 0xcf,
+			0xd4, 0x0d, 0xd0, 0x21, 0x84, 0x56, 0xc5, 0xbf,
+			0xf0, 0x76, 0xb4, 0x44, 0x29, 0xf4, 0x25, 0x5e,
+			0x9b, 0x31, 0x56, 0x7a, 0xb9, 0xe2, 0x6b, 0x6c,
+			0x7c, 0x7e, 0x03, 0xb6, 0x23, 0xe2, 0xc9, 0xb6,
+			0xca, 0xbc, 0xbb, 0x0c, 0x07, 0x4c, 0x2a, 0xea,
+			0x0d, 0xb9, 0x55, 0x4f, 0x68, 0xc0, 0x58, 0x2a,
+			0xcd, 0xe6, 0xb8, 0x17, 0x6d, 0x1f, 0xb3, 0x31,
+			0x28, 0xd3, 0x20, 0x47, 0x54, 0x85, 0x64, 0x13,
+			0xfc, 0x99, 0x61, 0x36, 0xc1, 0xb2, 0x9c, 0x68,
+			0x4e, 0x5d, 0xdc, 0x0f, 0xdb, 0x68, 0xa9, 0xa9,
+			0xc3, 0xbf, 0xd3, 0xbc, 0x03, 0x7a, 0x6e, 0x6c,
+			0x3b, 0xa6, 0xf7, 0xc0, 0xb1, 0x64, 0xe3, 0x12,
+			0x6d, 0x0c, 0x1f, 0x9e, 0x74, 0x1c, 0xab, 0x15,
+			0x0f, 0x4c, 0xbd, 0xfa, 0x0b, 0x39, 0x9c, 0x9c,
+			0xb0, 0x50, 0x78, 0x03, 0x8b, 0x25, 0xfb, 0x66,
+			0xdd, 0x50, 0xe7, 0x0a, 0xba, 0x2f, 0x2d, 0x93,
+			0x1e, 0xa5, 0xaf, 0xd8, 0xcc, 0x9c, 0x13, 0x64,
+			0xef, 0xae, 0x23, 0xdc, 0x44, 0xc8, 0x7e, 0x17,
+			0x93, 0x37, 0x8d, 0xcb, 0xc7, 0x8c, 0x30, 0x0a,
+			0x3a, 0x08, 0x35, 0x5b, 0xb3, 0xc9, 0x45, 0x17,
+			0xfb, 0x80, 0x27, 0x7c, 0xc7, 0xc2, 0x57, 0x7c,
+			0xac, 0x73, 0xc8, 0x5f, 0xd0, 0xcc, 0xe9, 0x5c,
+			0x55, 0xe2, 0x63, 0x25, 0xaf, 0x89, 0x96, 0x81,
+			0x5b, 0x4d, 0x0d, 0xa6, 0x65, 0x2f, 0xd4, 0x3a,
+			0x9b, 0xb7, 0x09, 0xad, 0x47, 0xe3, 0xf7, 0x15,
+			0x41, 0xc0, 0xcf, 0xec, 0x9d, 0xd4, 0xac, 0x57,
+			0xfd, 0xd6, 0x91, 0xbe, 0x30, 0x52, 0x2b, 0x86,
+			0xdf, 0x54, 0x4b, 0x95, 0x45, 0x76, 0x87, 0x3d,
+			0x56, 0x47, 0x2b, 0xfe, 0x6b, 0x6d, 0x9a, 0x3e,
+			0x72, 0xfb, 0x22, 0x8b, 0x3d, 0x92, 0x1d, 0x62,
+			0x77, 0x6e, 0x91, 0xd4, 0x37, 0x5c, 0x97, 0x0e,
+			0x07, 0x4c, 0x5c, 0x74, 0xdb, 0x05, 0x5e, 0x9f,
+			0xe1, 0xf0, 0x1a, 0x24, 0x67, 0x8f, 0x0f, 0x20,
+			0xe9, 0x3e, 0x45, 0x5a, 0x6a, 0xb5, 0xb9, 0xee,
+			0xf4, 0x1d, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+			0x0a, 0x0e, 0x11, 0x19, 0x1b, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0x54, 0xa5, 0x5c, 0x8e, 0x72, 0x11, 0xf9, 0x67,
+			0x89, 0x19, 0x57, 0x17, 0xa9, 0x03, 0x7b, 0xc6,
+			0xd9, 0xaf, 0x99, 0x14, 0xe8, 0x8f, 0xd4, 0xa7,
+			0xcd, 0x17, 0x8c, 0x67, 0x5f, 0x45, 0x62, 0xc1,
+			0xdd, 0xd0, 0x6d, 0x7d, 0xd0, 0xfd, 0x74, 0x98,
+			0x35, 0x93, 0x95, 0x9c, 0xfb, 0x2f, 0x0c, 0xb9,
+			0xcf, 0x05, 0x28, 0x47, 0x22, 0xe8, 0x2b, 0x17,
+			0xfa, 0x42, 0x60, 0x67, 0x13, 0x2f, 0x9b, 0x03,
+			0xce, 0xce, 0x62, 0x41, 0x12, 0xbe, 0x8d, 0xbb,
+			0xf9, 0x53, 0x25, 0xca, 0x10, 0xf8, 0x73, 0xa6,
+			0x52, 0x32, 0x7a, 0x06, 0xb2, 0x4d, 0x58, 0x0c,
+			0x68, 0xfc, 0x02, 0xf1, 0x93, 0xb4, 0xca, 0x45,
+			0xab, 0xf5, 0xc4, 0xab, 0x93, 0x6c, 0x1b, 0x24,
+			0xd0, 0xeb, 0xe6, 0xb3, 0x90, 0x5e, 0xf4, 0xe7,
+			0x60, 0xdd, 0x90, 0x1e, 0xdf, 0x77, 0xf5, 0x8a,
+			0x4a, 0xf5, 0xc8, 0x7a, 0xc0, 0x04, 0xc4, 0x07,
+			0x76, 0xae, 0x14, 0x47, 0xe1, 0xec, 0x4f, 0x76,
+			0xa5, 0xae, 0x9a, 0xac, 0x73, 0x83, 0x4a, 0xbb,
+			0xa8, 0x58, 0x1a, 0x54, 0xd1, 0xdf, 0xaf, 0x5b,
+			0xd1, 0x21, 0x81, 0x4d, 0xa1, 0x40, 0xd1, 0xe3,
+			0xd2, 0x35, 0x5d, 0x9b, 0x1f, 0x37, 0x77, 0xd6,
+			0xa4, 0xb6, 0x1a, 0x9a, 0xd4, 0xdc, 0xe9, 0x00,
+			0x47, 0xf5, 0x69, 0x27, 0xd4, 0x0b, 0x22, 0x4d,
+			0x8e, 0x2f, 0xfb, 0x7f, 0xdd, 0xe9, 0xe9, 0xb3,
+			0xde, 0xae, 0x7d, 0x8a, 0x8b, 0xe1, 0xc8, 0x1f,
+			0x50, 0x21, 0xb7, 0x32, 0x7a, 0x5a, 0x08, 0x02,
+			0xaf, 0x07, 0x98, 0xb3, 0xd9, 0xc5, 0x96, 0xab,
+			0xfe, 0xff, 0xa9, 0xb8, 0x54, 0x02, 0x42, 0x68,
+			0x68, 0xba, 0x89, 0x3a, 0x12, 0x31, 0xd3, 0x95,
+			0xf6, 0x7a, 0xae, 0xda, 0x0d, 0x08, 0x0d, 0xb3,
+			0x4e, 0xde, 0x9c, 0x3b, 0x6d, 0x1e, 0x94, 0x2a,
+			0x7a, 0x46, 0x8e, 0x26, 0xe4, 0xde, 0xd1, 0x81,
+			0xc6, 0x81, 0x4e, 0x38, 0x77, 0x36, 0xf7, 0x38,
+			0xed, 0xf6, 0xd0, 0x44, 0x1c, 0x6d, 0x1a, 0xa0,
+			0xc4, 0xf5, 0x21, 0x71, 0xbd, 0xf3, 0xa2, 0x9b,
+			0xa9, 0x13, 0x8c, 0x8f, 0x60, 0x99, 0x2d, 0x86,
+			0xc1, 0xe0, 0xf4, 0x4d, 0x75, 0x6e, 0x14, 0xe1,
+			0x5f, 0x12, 0xb9, 0xe6, 0xd2, 0xda, 0xa9, 0x4e,
+			0xc7, 0x97, 0x86, 0xd2, 0x77, 0x32, 0x67, 0xe1,
+			0x8f, 0x23, 0xb8, 0xd3, 0x70, 0x8f, 0x87, 0x2b,
+			0xa2, 0xf1, 0x31, 0x1d, 0x50, 0x09, 0xf3, 0xa3,
+			0x0f, 0x19, 0x9f, 0xde, 0xe7, 0xfb, 0x2e, 0x4a,
+			0x9c, 0x63, 0x4c, 0x56, 0x98, 0x87, 0x0a, 0x05,
+			0x00, 0xfb, 0xe7, 0x22, 0x75, 0x42, 0xca, 0xd6,
+			0x45, 0x35, 0x77, 0x80, 0x22, 0xf2, 0x75, 0x18,
+			0xee, 0xb1, 0x36, 0xdc, 0xbe, 0x0a, 0x11, 0x11,
+			0xae, 0x94, 0xaa, 0xec, 0x56, 0xbb, 0x72, 0x47,
+			0xcb, 0xc5, 0xa2, 0x8e, 0x3d, 0x3f, 0x34, 0x83,
+			0x55, 0xc1, 0x39, 0x40, 0xb7, 0xb0, 0x37, 0x21,
+			0xe1, 0xc4, 0x0c, 0x80, 0x98, 0xeb, 0x3d, 0x9b,
+			0xc3, 0x74, 0x8d, 0x9f, 0x58, 0x9d, 0x03, 0xab,
+			0x3d, 0x6c, 0xe0, 0xf6, 0x13, 0x31, 0x6c, 0x00,
+			0x65, 0xda, 0x8e, 0x84, 0x14, 0x4f, 0x44, 0x75,
+			0xa8, 0x1d, 0xb9, 0xdd, 0xe6, 0x39, 0xc9, 0x36,
+			0x89, 0x19, 0x5a, 0xfd, 0x87, 0x00, 0xad, 0xa7,
+			0x0b, 0xb9, 0x22, 0x6f, 0x35, 0x88, 0xf5, 0x7a,
+			0x9b, 0x69, 0x6e, 0xf4, 0x5b, 0xc8, 0x6f, 0xdc,
+			0x13, 0xa1, 0x28, 0xf8, 0x1d, 0x7c, 0x8a, 0x7a,
+			0xe6, 0x04, 0xe8, 0x0b, 0xf5, 0x10, 0x90, 0x48,
+			0xc7, 0xe6, 0x20, 0xc1, 0x2c, 0xab, 0x46, 0x9d,
+			0x1d, 0x54, 0x6e, 0x37, 0x89, 0xd2, 0x25, 0x18,
+			0x3f, 0x82, 0x5c, 0x68, 0x31, 0x0b, 0x39, 0xe1,
+			0xfc, 0xfb, 0x72, 0x50, 0x4c, 0xc5, 0xca, 0x45,
+			0x7b, 0x7c, 0x87, 0x2f, 0x42, 0xdc, 0xd6, 0xdc,
+			0x00, 0x45, 0x06, 0x44, 0xec, 0xda, 0x55, 0x32,
+			0x03, 0xf9, 0x1d, 0x9c, 0x51, 0x28, 0x49, 0x42,
+			0xc7, 0x98, 0x74, 0xe2, 0x33, 0x14, 0xcc, 0x32,
+			0x4d, 0xfa, 0x0a, 0x99, 0xa8, 0x9a, 0x74, 0xfb,
+			0xee, 0x3e, 0x22, 0xda, 0x5f, 0x0e, 0x85, 0x63,
+			0x46, 0xd4, 0x44, 0x31, 0x3d, 0x66, 0x99, 0x89,
+			0xb0, 0xed, 0xd7, 0x9d, 0x9f, 0x23, 0x96, 0xc4,
+			0x9a, 0xed, 0x5b, 0x13, 0x6a, 0x3b, 0xea, 0x23,
+			0xbc, 0x8c, 0x1b, 0x31, 0xd2, 0x64, 0xcc, 0x99,
+			0x2e, 0x36, 0x1b, 0x1a, 0xed, 0xbe, 0xc0, 0x1d,
+			0xa4, 0x77, 0xfc, 0x9b, 0x19, 0x24, 0x62, 0x29,
+			0xbd, 0xaa, 0xb2, 0x7f, 0xd0, 0x47, 0xb8, 0x00,
+			0x77, 0xe5, 0xda, 0x50, 0x7c, 0x89, 0x1d, 0xf9,
+			0x65, 0xec, 0xa5, 0x94, 0xe9, 0x3e, 0x00, 0x2a,
+			0x3b, 0x1e, 0x91, 0x8b, 0x54, 0x0f, 0x67, 0xad,
+			0x30, 0xdf, 0x67, 0xc8, 0x86, 0xb1, 0x80, 0x52,
+			0xbd, 0x14, 0x0c, 0x36, 0x73, 0xf7, 0xe0, 0x25,
+			0x97, 0x62, 0xbc, 0x28, 0xa1, 0x62, 0xbe, 0xb1,
+			0xde, 0x65, 0x14, 0xb7, 0x16, 0xc6, 0x5b, 0xad,
+			0xb2, 0xae, 0x90, 0x93, 0x4f, 0xd1, 0x3f, 0x5d,
+			0xae, 0x7b, 0x6c, 0x1e, 0x0e, 0x77, 0x20, 0x0f,
+			0xfb, 0xd3, 0x2b, 0x98, 0x14, 0x22, 0x7f, 0x25,
+			0x51, 0x07, 0x97, 0xc4, 0x7e, 0x9a, 0x14, 0x8f,
+			0x99, 0x51, 0xb8, 0x9d, 0xf4, 0xbe, 0xb0, 0x3e,
+			0x86, 0x6f, 0x38, 0x19, 0x50, 0xc6, 0xe6, 0xa8,
+			0xa4, 0xd8, 0x67, 0xc7, 0x1f, 0x19, 0xca, 0xc8,
+			0x3c, 0xe9, 0xa2, 0x5e, 0xde, 0x0c, 0x0c, 0xa1,
+			0x97, 0xc0, 0xa6, 0xc5, 0x35, 0x5a, 0xf7, 0x9b,
+			0xb7, 0x1b, 0xec, 0x0c, 0x22, 0x74, 0xbb, 0xf1,
+			0x78, 0xa9, 0x1c, 0xbf, 0xf4, 0xa2, 0xed, 0xe9,
+			0x56, 0x74, 0x12, 0x77, 0xe6, 0x13, 0xbd, 0xa6,
+			0x28, 0xd3, 0x94, 0x83, 0x4f, 0x2f, 0x09, 0xec,
+			0x21, 0xee, 0xd2, 0x43, 0xb8, 0x27, 0x21, 0xd7,
+			0x9d, 0x26, 0xc6, 0xca, 0xf0, 0x21, 0x33, 0xb1,
+			0x66, 0x80, 0x62, 0xaf, 0x29, 0x97, 0x0b, 0xb9,
+			0x09, 0xdf, 0x53, 0x72, 0x48, 0x57, 0x3f, 0xe4,
+			0xbf, 0x85, 0xef, 0x17, 0xc8, 0x21, 0x15, 0x0a,
+			0x6e, 0x29, 0xae, 0xbe, 0x43, 0x6a, 0xd1, 0x1f,
+			0xff, 0xca, 0xbf, 0x24, 0x34, 0x03, 0x14, 0xdf,
+			0x6f, 0xc0, 0x00, 0xd4, 0x33, 0x41, 0x2f, 0xf5,
+			0x38, 0x2a, 0x07, 0x64, 0x47, 0x59, 0xe0, 0x45,
+			0x79, 0xbb, 0x25, 0x3f, 0xff, 0x21, 0x21, 0xa1,
+			0xe1, 0x06, 0xa9, 0x1d, 0x7e, 0xf9, 0xde, 0x17,
+			0x29, 0x82, 0x7b, 0x13, 0x71, 0xa7, 0xaa, 0xb9,
+			0x58, 0x3e, 0x5a, 0x1b, 0xcd, 0x80, 0xc0, 0x02,
+			0xd2, 0x8a, 0x3b, 0xd7, 0xe0, 0x8b, 0x44, 0x19,
+			0x01, 0x41, 0xf7, 0x11, 0xd4, 0x66, 0xfc, 0x01,
+			0x10, 0x0c, 0x74, 0x20, 0x38, 0xe8, 0x00, 0x37,
+			0xf5, 0xd4, 0xa1, 0xa3, 0x4e, 0xd4, 0xbd, 0x0d,
+			0xaa, 0x7f, 0x54, 0x1c, 0xfa, 0x33, 0x66, 0xd6,
+			0xc2, 0x8d, 0x2e, 0xeb, 0x52, 0x6b, 0x65, 0x10,
+			0x8a, 0xab, 0x15, 0xa5, 0xf2, 0x4c, 0x73, 0xf3,
+			0x00, 0x99, 0x49, 0xee, 0x5a, 0xe7, 0xab, 0x52,
+			0x0f, 0x0a, 0xed, 0xfb, 0x93, 0x45, 0xc9, 0xf9,
+			0x36, 0x5c, 0x5b, 0x6a, 0x1f, 0x1c, 0x46, 0xde,
+			0x0b, 0x6f, 0x40, 0xd6, 0x1c, 0xec, 0x11, 0x47,
+			0x63, 0xe5, 0xbd, 0x47, 0xda, 0xe8, 0x3d, 0xff,
+			0x8b, 0x8d, 0x3d, 0x0c, 0x0f, 0x3a, 0x9c, 0xef,
+			0xec, 0x49, 0xed, 0x90, 0x1a, 0x21, 0x3f, 0xc6,
+			0xab, 0x13, 0x87, 0x96, 0x24, 0x8c, 0x57, 0x60,
+			0x81, 0x02, 0x56, 0xc8, 0xae, 0x95, 0x9b, 0x5d,
+			0x6f, 0x96, 0xf0, 0x26, 0x0d, 0x32, 0x97, 0x9f,
+			0xdb, 0xf8, 0x20, 0x8f, 0x32, 0xfc, 0x31, 0x90,
+			0x2d, 0x0a, 0x38, 0xfc, 0x4f, 0x46, 0xfa, 0xf3,
+			0x6e, 0x60, 0x9f, 0xb1, 0x68, 0x78, 0xac, 0xc8,
+			0x53, 0x07, 0x1e, 0xc6, 0xe7, 0x31, 0xa3, 0x92,
+			0xb1, 0x29, 0x7b, 0x7a, 0x33, 0x07, 0x78, 0xec,
+			0x51, 0x2b, 0xf5, 0xf3, 0x4d, 0x09, 0x18, 0x21,
+			0x91, 0x3c, 0x85, 0x03, 0xe0, 0x0f, 0x76, 0xb8,
+			0x6f, 0xe4, 0x81, 0x94, 0xc6, 0x32, 0x55, 0xb8,
+			0xbf, 0x5c, 0xfe, 0x57, 0x4e, 0xf1, 0x5c, 0x2d,
+			0x6e, 0x6d, 0x22, 0xa8, 0xa9, 0x55, 0x49, 0x7d,
+			0xda, 0x89, 0x7b, 0xc5, 0xfc, 0xf4, 0xae, 0xec,
+			0x91, 0x69, 0x92, 0xaf, 0x26, 0x1c, 0x64, 0x88,
+			0x23, 0xeb, 0x2f, 0x2a, 0x5f, 0x0b, 0xd1, 0x51,
+			0x5f, 0x4a, 0x8f, 0x2f, 0x22, 0x3b, 0x79, 0x2a,
+			0xf6, 0x00, 0xd5, 0xf5, 0x4c, 0xbf, 0x3f, 0xd3,
+			0x94, 0xeb, 0x1e, 0x86, 0xed, 0x45, 0x93, 0x51,
+			0xf7, 0x42, 0x2d, 0x89, 0x40, 0x4a, 0x30, 0xf7,
+			0x32, 0x3f, 0xa6, 0x6f, 0x7a, 0xa8, 0xd2, 0xdf,
+			0x79, 0x3b, 0x76, 0x19, 0x36, 0x1a, 0xf3, 0x3f,
+			0x39, 0x14, 0x4a, 0xc3, 0x64, 0xfb, 0x51, 0x3f,
+			0x8c, 0xc6, 0x15, 0xee, 0x41, 0x3b, 0xd4, 0xc1,
+			0x3d, 0x0f, 0x0c, 0x74, 0xd6, 0x3f, 0xac, 0x12,
+			0x9c, 0xf6, 0x44, 0x2e, 0x5f, 0x54, 0xd2, 0xdb,
+			0xc8, 0xb1, 0x24, 0xbf, 0xe3, 0x9b, 0x00, 0x64,
+			0x4e, 0x34, 0x37, 0xde, 0x7d, 0x43, 0xbf, 0xb4,
+			0x85, 0x5d, 0x50, 0x55, 0xcc, 0x8f, 0xf8, 0x9a,
+			0xf2, 0x97, 0xd7, 0xb8, 0xc1, 0xd4, 0x8f, 0xd8,
+			0xf6, 0xe0, 0x79, 0x5f, 0xc1, 0xc1, 0xf4, 0x5e,
+			0xd7, 0x74, 0xe9, 0x13, 0xd8, 0x4d, 0x44, 0x9e,
+			0x4a, 0xe1, 0x29, 0x67, 0xe2, 0x38, 0x27, 0xbf,
+			0xf1, 0x4c, 0x34, 0x7b, 0xf7, 0xcd, 0xe3, 0x6c,
+			0xd2, 0x49, 0x18, 0x09, 0x4a, 0x9b, 0x56, 0xd6,
+			0xd0, 0xb8, 0x0a, 0x35, 0xa0, 0x6b, 0xee, 0x71,
+			0x92, 0xd6, 0x87, 0x4b, 0x54, 0x0b, 0x35, 0x8b,
+			0x86, 0x82, 0x17, 0x11, 0xa8, 0x3d, 0x58, 0x04,
+			0x48, 0xc4, 0xf7, 0x4b, 0x96, 0x97, 0x0e, 0x68,
+			0xdb, 0x54, 0x30, 0xea, 0x39, 0x58, 0x3f, 0x64,
+			0xfd, 0x35, 0x7a, 0x07, 0x48, 0xbf, 0xdd, 0xad,
+			0x99, 0x72, 0xef, 0x90, 0x93, 0x58, 0xb4, 0xe8,
+			0x6a, 0x72, 0xcf, 0x7a, 0x03, 0xf0, 0xfa, 0x74,
+			0xc5, 0xc3, 0xc8, 0xe4, 0x08, 0xba, 0xed, 0x1f,
+			0xb4, 0xd4, 0x00, 0x12, 0x18, 0xaf, 0x37, 0x78,
+			0x45, 0x8c, 0x8e, 0xae, 0x1c, 0x6e, 0x90, 0xf5,
+			0x13, 0x8c, 0xcc, 0x3d, 0x40, 0x63, 0xa3, 0xc1,
+			0x8f, 0xe1, 0xc7, 0x47, 0xd7, 0x9c, 0xde, 0x14,
+			0x1b, 0x8f, 0xca, 0x0b, 0xd7, 0xd3, 0x9a, 0x05,
+			0x81, 0x37, 0x61, 0xaa, 0x37, 0xee, 0x67, 0xbf,
+			0xef, 0x17, 0x01, 0x99, 0x6f, 0xc4, 0xd8, 0x9b,
+			0x92, 0x76, 0x9b, 0x23, 0xe9, 0xba, 0x6d, 0xa2,
+			0xfc, 0x4b, 0xe4, 0x3b, 0xa8, 0x64, 0xb7, 0x45,
+			0x49, 0xe5, 0x3b, 0x20, 0x77, 0x80, 0x08, 0x94,
+			0x9e, 0x70, 0xc8, 0x1b, 0x7a, 0x21, 0x59, 0x11,
+			0x20, 0x43, 0x80, 0xf5, 0xcf, 0x0d, 0x70, 0x63,
+			0x92, 0x4e, 0x4e, 0xd5, 0x58, 0xb1, 0x97, 0xaa,
+			0x2e, 0x26, 0xbb, 0xb3, 0x15, 0x02, 0x87, 0x53,
+			0xd1, 0xd9, 0x3d, 0x95, 0xa1, 0xed, 0x3a, 0x67,
+			0xe4, 0xa0, 0x53, 0xeb, 0x6b, 0x7d, 0x8d, 0x80,
+			0x77, 0xb7, 0x38, 0xd3, 0x96, 0xd5, 0x97, 0x7c,
+			0xd6, 0x33, 0x15, 0x78, 0xc5, 0x38, 0x27, 0x8b,
+			0xbd, 0x4a, 0x5d, 0xdc, 0x31, 0xbb, 0x2d, 0xe6,
+			0x24, 0x6a, 0xcb, 0x33, 0x4c, 0x58, 0xb2, 0x52,
+			0xe9, 0xc1, 0xb6, 0x21, 0xca, 0xc1, 0x07, 0xcf,
+			0x62, 0xdd, 0xc4, 0x5d, 0x7c, 0x6d, 0xce, 0xbb,
+			0xd6, 0xcc, 0x89, 0x6a, 0x4e, 0x2c, 0xe0, 0xcb,
+			0x9e, 0xc9, 0x9c, 0xd5, 0x14, 0xd3, 0xc5, 0xb4,
+			0xbc, 0x48, 0x33, 0x6e, 0x10, 0x00, 0xeb, 0x1a,
+			0x91, 0xea, 0x9e, 0xe0, 0x37, 0xf9, 0xc3, 0x9a,
+			0x4d, 0x1a, 0x5c, 0x99, 0xd1, 0x6c, 0x3e, 0x38,
+			0x40, 0x61, 0x8e, 0x66, 0x04, 0x09, 0xc3, 0x66,
+			0x13, 0xb7, 0x1b, 0xa4, 0x4a, 0x73, 0xb9, 0x11,
+			0x53, 0x2e, 0x19, 0xaa, 0x41, 0xa4, 0xf4, 0x89,
+			0x22, 0xc0, 0x0c, 0xec, 0x8f, 0xfd, 0x6a, 0xe3,
+			0x6c, 0x03, 0xe6, 0x01, 0xb5, 0xcd, 0x92, 0x89,
+			0x8a, 0x6f, 0xca, 0xf2, 0x28, 0x03, 0xac, 0xd1,
+			0x00, 0xe4, 0x98, 0x56, 0x4a, 0xd5, 0x60, 0x78,
+			0x6d, 0x00, 0xaa, 0x87, 0xbc, 0x42, 0x49, 0xd7,
+			0xfe, 0x0c, 0xa4, 0xa6, 0xaa, 0x96, 0x7e, 0xe3,
+			0xd5, 0x71, 0xb9, 0x2b, 0xb7, 0x10, 0x7d, 0xf7,
+			0x34, 0xd4, 0x2f, 0x2b, 0xb3, 0x6d, 0xe2, 0x2a,
+			0xaa, 0xb6, 0xba, 0x42, 0x94, 0xf4, 0xfa, 0xc3,
+			0xa7, 0x55, 0x2c, 0xcd, 0xba, 0xc7, 0xfe, 0x12,
+			0x6e, 0x16, 0x29, 0xa7, 0x04, 0x8f, 0xca, 0x84,
+			0xee, 0xce, 0xa4, 0xaa, 0x62, 0x10, 0xb5, 0x6d,
+			0x23, 0x61, 0x78, 0xc9, 0xca, 0x8e, 0x23, 0xbb,
+			0x7d, 0xd8, 0x57, 0x32, 0xe6, 0xd8, 0x4b, 0x87,
+			0xa6, 0x70, 0xac, 0x53, 0x6f, 0x82, 0xad, 0x7d,
+			0x89, 0xc6, 0x51, 0xc9, 0x6f, 0xf2, 0x70, 0x07,
+			0x4d, 0xa8, 0x16, 0xfd, 0x31, 0x7f, 0x0e, 0x3d,
+			0x62, 0x03, 0x13, 0xaf, 0x1e, 0x61, 0x2a, 0xdf,
+			0xc0, 0x8b, 0x68, 0xe1, 0x74, 0xd3, 0xeb, 0x3b,
+			0x51, 0x36, 0x27, 0x90, 0x9e, 0x64, 0x29, 0x66,
+			0x01, 0xae, 0x4d, 0x07, 0xca, 0xcd, 0xa1, 0x54,
+			0x31, 0x0b, 0x32, 0x68, 0x67, 0x4e, 0xac, 0xd1,
+			0x05, 0x35, 0x4e, 0x1b, 0x9c, 0xd9, 0xd0, 0xb1,
+			0x45, 0x15, 0x3f, 0xde, 0xa9, 0xa3, 0xd1, 0xa3,
+			0x81, 0x64, 0xab, 0x2b, 0x15, 0x6a, 0xb8, 0x5b,
+			0x77, 0xd2, 0x96, 0xe8, 0x1c, 0x1a, 0x8b, 0xda,
+			0x94, 0x29, 0x4c, 0x73, 0x30, 0x7a, 0x12, 0xdc,
+			0xfd, 0xd4, 0xb4, 0x4c, 0x0b, 0xcb, 0x9f, 0x21,
+			0x28, 0x86, 0xb7, 0x7c, 0xa0, 0xf6, 0x81, 0xe3,
+			0x4d, 0x70, 0x9e, 0xb0, 0xbf, 0xa7, 0x55, 0x23,
+			0x99, 0xc2, 0x29, 0x74, 0x9e, 0x4f, 0x9f, 0x12,
+			0xeb, 0x0c, 0xa6, 0xd7, 0x60, 0x04, 0x99, 0xa3,
+			0x82, 0x9a, 0xcc, 0x0d, 0xe5, 0x9a, 0xd3, 0xec,
+			0x84, 0x1d, 0x7a, 0x6c, 0x76, 0xf8, 0x05, 0x3d,
+			0x94, 0x70, 0xbb, 0xae, 0x87, 0x2d, 0x25, 0xba,
+			0xe5, 0x38, 0x60, 0x85, 0x2c, 0x83, 0x22, 0xa0,
+			0xf7, 0xec, 0x56, 0xa9, 0x39, 0x48, 0x77, 0x42,
+			0x65, 0xba, 0x57, 0xf6, 0xa9, 0x99, 0x7b, 0xb8,
+			0xa0, 0x03, 0xca, 0x5c, 0x06, 0x6c, 0xae, 0x8a,
+			0xa1, 0xbc, 0x9a, 0xb4, 0x15, 0x35, 0xf1, 0x8f,
+			0x6a, 0x76, 0x1d, 0xe7, 0x09, 0xfa, 0xa7, 0x42,
+			0x94, 0x5e, 0x4e, 0xc6, 0xd2, 0x24, 0xd2, 0xa9,
+			0xe3, 0x16, 0x7f, 0xd6, 0xbf, 0x06, 0x98, 0x0f,
+			0x8b, 0x61, 0xd8, 0xd1, 0x6d, 0xa9, 0xc3, 0xb7,
+			0x54, 0x34, 0x26, 0x7a, 0x6d, 0xa2, 0x04, 0x7e,
+			0xe8, 0x98, 0x47, 0x4a, 0x4b, 0x15, 0xc0, 0xaa,
+			0x24, 0x8c, 0xbd, 0xfd, 0x6a, 0x53, 0x06, 0x2a,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x7e, 0x0b, 0xd4, 0x8d, 0x8a, 0x62, 0x74, 0xc7,
+			0xe6, 0x2f, 0x31, 0xd8, 0x09, 0x11, 0xba, 0x1d,
+			0x6e, 0xc8, 0xe5, 0xac, 0x5f, 0x11, 0xd2, 0xf1,
+			0x75, 0x22, 0xd3, 0x45, 0x14, 0x0b, 0x6b, 0x25,
+			0xf4, 0xbf, 0x8d, 0x0d, 0x94, 0xf2, 0xa6, 0x0d,
+			0x2c, 0x24, 0x5a, 0xb5, 0x83, 0x2d, 0x12, 0xd4,
+			0xe1, 0xf5, 0xa4, 0x01, 0xb2, 0x8a, 0x18, 0xfd,
+			0x49, 0x29, 0x9f, 0x3c, 0x37, 0xb6, 0xbf, 0x0a,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0xff, 0x81, 0xe9, 0xbe, 0xa3, 0x89, 0x9d, 0x73,
+			0xdf, 0x13, 0xd3, 0xcf, 0xba, 0x36, 0xe8, 0xa1,
+			0xf9, 0x52, 0x5f, 0x33, 0xd8, 0xfd, 0xc5, 0xb0,
+			0x7a, 0x5a, 0xff, 0x65, 0x1d, 0x84, 0x31, 0x3c,
+			0x53, 0xe2, 0xc8, 0x9c, 0xf4, 0xef, 0x15, 0x3b,
+			0xd0, 0x4d, 0x90, 0x2f, 0x5c, 0x8d, 0x0e, 0x03,
+			0xd6, 0x50, 0xb3, 0xb5, 0x20, 0xa2, 0x57, 0xcc,
+			0x48, 0x6f, 0xc9, 0x49, 0x29, 0x2d, 0xc9, 0x53,
+			0x05, 0x91, 0x08, 0x56, 0x9a, 0x25, 0xb2, 0x43,
+			0x3e, 0x9c, 0x38, 0x75, 0x84, 0xc1, 0x04, 0xdf,
+			0xd5, 0x36, 0x5d, 0x7b, 0x9c, 0x85, 0x3f, 0xd3,
+			0x52, 0xef, 0xb2, 0x3a, 0xa6, 0x3c, 0xa0, 0x64,
+			0xb9, 0xe0, 0x69, 0x89, 0xf4, 0xc7, 0x56, 0x6e,
+			0x21, 0xfd, 0x99, 0x39, 0x1b, 0x08, 0xd4, 0xb4,
+			0xed, 0x5d, 0x8c, 0xf1, 0x27, 0x3f, 0x0c, 0x60,
+			0x74, 0x63, 0x6d, 0xb8, 0xbf, 0xb4, 0xaa, 0xfd,
+			0x92, 0xe5, 0x9a, 0xfa, 0xed, 0xf0, 0x9f, 0x1c,
+			0x8b, 0x73, 0xfe, 0x6d, 0xff, 0xb9, 0xc0, 0xb7,
+			0xba, 0x3d, 0x0e, 0xbc, 0x4e, 0x4b, 0xd4, 0xdb,
+			0x1e, 0x9c, 0xe7, 0xb1, 0xc6, 0xe7, 0x78, 0x22,
+			0xe1, 0x0a, 0x01, 0xcb, 0x34, 0x93, 0xf2, 0x42,
+			0xa8, 0x50, 0xaf, 0x46, 0xa2, 0x7c, 0xc6, 0xe2,
+			0xea, 0xfd, 0x6d, 0x71, 0x8d, 0xaf, 0x28, 0x56,
+			0x37, 0xf8, 0x1a, 0x4e, 0xd7, 0xf0, 0xff, 0xf5,
+			0xd9, 0xec, 0xe4, 0x7d, 0xa0, 0xed, 0x36, 0x1d,
+			0x6f, 0xde, 0x94, 0x6d, 0x6d, 0xee, 0xa4, 0xfd,
+			0xb6, 0xc3, 0x89, 0xa3, 0x82, 0xd5, 0x12, 0x5c,
+			0xcd, 0x54, 0x1d, 0x68, 0x95, 0xe5, 0x38, 0x35,
+			0x81, 0xfb, 0xa7, 0x20, 0xe6, 0x26, 0x2f, 0xfd,
+			0x36, 0xc6, 0x23, 0xf5, 0xe0, 0x36, 0xbd, 0xdd,
+			0xc7, 0xf2, 0x9b, 0x94, 0x00, 0x87, 0xca, 0xf0,
+			0x64, 0x03, 0x6c, 0xc8, 0xa3, 0xc0, 0x3e, 0x0c,
+			0x71, 0x21, 0x70, 0x9a, 0x4e, 0xe6, 0x18, 0x27,
+			0x24, 0x5a, 0xbc, 0x18, 0xe6, 0x15, 0xe8, 0x5b,
+			0x44, 0xac, 0x31, 0x38, 0xe4, 0xfa, 0xe3, 0x8e,
+			0xc8, 0x7b, 0x2c, 0x56, 0x8b, 0x10, 0xad, 0xad,
+			0x6d, 0xf3, 0xad, 0x12, 0x01, 0xbe, 0x6b, 0x5b,
+			0x95, 0x5f, 0xfe, 0xdc, 0xc8, 0x0d, 0x8b, 0x97,
+			0x0e, 0x3c, 0xda, 0x8f, 0xbf, 0x5d, 0x9a, 0x33,
+			0x46, 0x83, 0x89, 0xed, 0xb2, 0x87, 0xb7, 0x11,
+			0xb9, 0x07, 0xd3, 0x69, 0xc9, 0x1e, 0x92, 0x92,
+			0x6a, 0x4d, 0x2b, 0xfe, 0xd8, 0x2c, 0x2b, 0xf9,
+			0x59, 0x81, 0x7a, 0xff, 0xf7, 0x3f, 0x27, 0x39,
+			0x43, 0x03, 0xcf, 0x68, 0xc2, 0x37, 0x65, 0x83,
+			0x87, 0x06, 0xc7, 0xb1, 0x42, 0x7c, 0x7c, 0xe1,
+			0x78, 0x1c, 0xdb, 0xaf, 0x33, 0xb1, 0x35, 0xc6,
+			0xff, 0x94, 0xc2, 0x93, 0x29, 0x1a, 0x3c, 0xc5,
+			0xf1, 0xd1, 0xda, 0x0f, 0x1b, 0xae, 0x1f, 0xf6,
+			0x2b, 0xa0, 0x68, 0x4f, 0x02, 0xeb, 0x2a, 0xe8,
+			0xa4, 0xfa, 0x30, 0x92, 0x0c, 0x36, 0x0c, 0xaa,
+			0xef, 0x0c, 0x78, 0x40, 0x96, 0xcc, 0xbb, 0x65,
+			0xba, 0x84, 0x42, 0x7e, 0x97, 0xf4, 0x07, 0x67,
+			0x00, 0x80, 0x9a, 0x27, 0xfd, 0x8f, 0x18, 0x83,
+			0xad, 0x0d, 0x40, 0x30, 0xd7, 0x62, 0x9d, 0xf3,
+			0xc6, 0x43, 0xd5, 0x92, 0x9e, 0x26, 0xf5, 0xfb,
+			0xda, 0xed, 0x8e, 0x2c, 0x71, 0xea, 0x78, 0xbf,
+			0xd7, 0xe3, 0x86, 0xc3, 0x9a, 0xda, 0x89, 0x86,
+			0x98, 0x41, 0xb7, 0x9e, 0x4a, 0x2e, 0xb0, 0x80,
+			0x00, 0xff, 0x68, 0xbf, 0x86, 0x3f, 0x8b, 0x1c,
+			0x11, 0xe4, 0x5f, 0xf6, 0xb0, 0x70, 0xf9, 0xb9,
+			0x2e, 0xe9, 0x21, 0xe0, 0x40, 0xef, 0xf8, 0xe3,
+			0x65, 0x45, 0x18, 0xf7, 0x92, 0x21, 0x3b, 0xc7,
+			0xe9, 0x6d, 0xb4, 0x2d, 0x01, 0xf9, 0xec, 0x33,
+			0x0d, 0xa7, 0x19, 0x8f, 0xf5, 0x0d, 0x49, 0xa5,
+			0x45, 0xb6, 0x92, 0x90, 0x4b, 0xe5, 0x12, 0x6c,
+			0x1a, 0xf3, 0x51, 0x06, 0x29, 0x2e, 0xd1, 0xfe,
+			0xbf, 0xe1, 0x67, 0x2c, 0x98, 0x45, 0x8a, 0x38,
+			0xd0, 0x50, 0x6f, 0xa8, 0x81, 0xf2, 0x27, 0xb4,
+			0x9f, 0x15, 0x14, 0x12, 0x98, 0x1c, 0x93, 0x64,
+			0xf8, 0x01, 0x91, 0x37, 0x31, 0xb3, 0x04, 0x0a,
+			0xc4, 0x7b, 0x84, 0x03, 0x2c, 0xbf, 0x90, 0xd7,
+			0x7c, 0xa3, 0xcf, 0x1d, 0x6a, 0x7c, 0x9c, 0x35,
+			0x9b, 0xf1, 0x95, 0x2c, 0x02, 0x55, 0x24, 0xb7,
+			0x23, 0x87, 0x3b, 0xf6, 0x9f, 0xfd, 0x04, 0xfe,
+			0xad, 0x40, 0xe0, 0x95, 0xf7, 0xcc, 0x8b, 0xae,
+			0x53, 0x7b, 0x16, 0x9f, 0x47, 0xad, 0x29, 0x66,
+			0xd2, 0x37, 0x0f, 0x54, 0x4f, 0x7d, 0xb0, 0x04,
+			0x45, 0xed, 0x52, 0xe5, 0xdb, 0x1a, 0xb4, 0x26,
+			0x40, 0x62, 0x62, 0x4f, 0xf4, 0x92, 0x55, 0xf9,
+			0x78, 0xd9, 0xdd, 0xdb, 0x42, 0x40, 0x5a, 0x5e,
+			0xe5, 0xe0, 0x71, 0x7b, 0xd1, 0x96, 0x57, 0x47,
+			0x7e, 0x79, 0x80, 0xee, 0xe4, 0xdc, 0xac, 0xcd,
+			0xb1, 0xbf, 0x28, 0xd8, 0x13, 0xec, 0xdf, 0x71,
+			0x13, 0x88, 0xf1, 0xb7, 0x9f, 0x6b, 0xb2, 0xd0,
+			0xf2, 0x0d, 0xfa, 0x75, 0xa3, 0xa9, 0xa2, 0x6f,
+			0x1d, 0x4b, 0xe4, 0xd8, 0x8b, 0x08, 0x7a, 0x84,
+			0xa8, 0x82, 0xf6, 0x09, 0xf0, 0x30, 0xa1, 0xb9,
+			0xe4, 0x03, 0xe4, 0xf8, 0xeb, 0xcf, 0x6c, 0xb5,
+			0xe4, 0xc0, 0x4b, 0xb4, 0xf4, 0x30, 0x3b, 0xa6,
+			0xc8, 0x5b, 0x29, 0x84, 0xde, 0xc7, 0xa8, 0x32,
+			0xe8, 0xee, 0x2e, 0x8b, 0x85, 0x2b, 0x9f, 0xfd,
+			0x65, 0x5e, 0x6d, 0xf1, 0x89, 0x7a, 0x45, 0x08,
+			0xc1, 0x1d, 0xfe, 0xa4, 0x88, 0x7f, 0x77, 0xae,
+			0xa6, 0x28, 0x70, 0x3d, 0x6b, 0xb8, 0x8d, 0x7a,
+			0xee, 0x40, 0x9f, 0x05, 0xb0, 0xf1, 0x2c, 0x59,
+			0x79, 0x7c, 0xa9, 0x3f, 0x6e, 0xca, 0x96, 0x9e,
+			0xdf, 0x6d, 0xd8, 0x8c, 0xa3, 0x33, 0x16, 0xea,
+			0x0e, 0xae, 0x06, 0x51, 0x13, 0xf9, 0x08, 0x44,
+			0x32, 0xcc, 0xef, 0x5a, 0x2b, 0x09, 0x87, 0x85,
+			0xa2, 0xfb, 0xb3, 0xb4, 0xcb, 0xf2, 0xdb, 0x51,
+			0x59, 0x02, 0x87, 0x5f, 0x8e, 0xe6, 0x65, 0xe3,
+			0x37, 0x4f, 0x53, 0x16, 0xc3, 0x78, 0x4e, 0xba,
+			0x23, 0xef, 0x58, 0xfd, 0x90, 0x3c, 0xe6, 0xfb,
+			0xe0, 0x79, 0xbb, 0xc6, 0x48, 0x18, 0x79, 0xce,
+			0xf8, 0x0e, 0x10, 0xbc, 0x63, 0x1d, 0x77, 0xcd,
+			0x18, 0xd9, 0xe9, 0x8c, 0x15, 0x8a, 0x8f, 0x86,
+			0x1d, 0x86, 0x48, 0xd0, 0x53, 0x05, 0x69, 0x5a,
+			0x29, 0xb3, 0x11, 0xc8, 0x1e, 0x0c, 0x4c, 0xfa,
+			0x7d, 0x13, 0x12, 0x93, 0x01, 0xcf, 0x9f, 0xb2,
+			0x5d, 0xc0, 0xe6, 0x73, 0x8b, 0xf8, 0x39, 0xbd,
+			0xfe, 0xf4, 0x57, 0xd8, 0x38, 0xbe, 0x9e, 0x0b,
+			0x1d, 0xea, 0x1e, 0x18, 0x64, 0xb3, 0x74, 0x5c,
+			0x0f, 0x02, 0x51, 0x89, 0x7e, 0x7f, 0x4a, 0xcc,
+			0xff, 0xb1, 0xf6, 0x1b, 0x69, 0xb0, 0xdd, 0x1c,
+			0x31, 0x9e, 0xc4, 0x6e, 0x70, 0xd2, 0xad, 0x22,
+			0x7b, 0x80, 0xc5, 0xe0, 0xc2, 0x07, 0xd5, 0x02,
+			0x04, 0xb7, 0x15, 0x63, 0xb5, 0x55, 0x6e, 0x35,
+			0x3c, 0x48, 0xab, 0x29, 0xef, 0x1c, 0xe5, 0x64,
+			0x93, 0xab, 0x62, 0xb2, 0xd6, 0x7b, 0x1e, 0xe1,
+			0x6d, 0xd5, 0xe2, 0x6e, 0xaf, 0x9f, 0x59, 0x7d,
+			0xab, 0xef, 0xd4, 0xbd, 0x17, 0x13, 0xea, 0xb7,
+			0x43, 0xde, 0x90, 0x0f, 0x85, 0x31, 0x1b, 0x9f,
+			0xf5, 0x09, 0x96, 0x88, 0x99, 0xbc, 0x96, 0xc9,
+			0x58, 0x0d, 0x77, 0x33, 0xd2, 0x99, 0x55, 0xe6,
+			0xac, 0xe5, 0xa4, 0x53, 0x26, 0x23, 0xd0, 0xab,
+			0x0c, 0x05, 0xfc, 0xb4, 0xc0, 0x68, 0x7e, 0x99,
+			0x42, 0x76, 0x1d, 0x68, 0xf1, 0xb4, 0x70, 0xc3,
+			0xd5, 0xb4, 0x0f, 0xee, 0x4b, 0xb4, 0x95, 0x2f,
+			0x62, 0x64, 0x08, 0x20, 0x4e, 0xa5, 0xd1, 0xcb,
+			0x92, 0x61, 0x5c, 0xc7, 0x39, 0xfb, 0x21, 0x25,
+			0x01, 0x53, 0x11, 0xa2, 0x4a, 0x02, 0xcb, 0xae,
+			0x91, 0x90, 0xdb, 0xcb, 0x0b, 0x7b, 0x04, 0xcb,
+			0x41, 0x23, 0x4c, 0x89, 0x10, 0xb1, 0xa6, 0x5d,
+			0xd6, 0xba, 0x9f, 0xc6, 0x87, 0x08, 0xb9, 0x85,
+			0xb2, 0x97, 0x66, 0xe6, 0x97, 0xb2, 0xcc, 0xbd,
+			0x99, 0x7d, 0x48, 0xfe, 0xc3, 0x65, 0xa2, 0x13,
+			0x61, 0xce, 0x6a, 0xd4, 0x6b, 0x75, 0x38, 0x5a,
+			0xd2, 0xab, 0xff, 0xe6, 0xcb, 0x0f, 0xa6, 0x35,
+			0xc8, 0xfe, 0x08, 0x3f, 0x56, 0xac, 0xbd, 0x37,
+			0x20, 0xde, 0x1e, 0xc7, 0x44, 0xd3, 0xc3, 0x26,
+			0xeb, 0x2a, 0xb8, 0x3a, 0xb4, 0x24, 0x00, 0x77,
+			0x72, 0x00, 0xc7, 0x26, 0xfc, 0x2c, 0xd3, 0x35,
+			0xb0, 0x7c, 0x75, 0xe8, 0x4d, 0xec, 0xdc, 0xaf,
+			0xf1, 0x99, 0x81, 0x40, 0x05, 0x59, 0x23, 0x19,
+			0xa2, 0x4c, 0x1a, 0xf0, 0x59, 0x8e, 0xd6, 0x16,
+			0x61, 0x88, 0x09, 0x2b, 0x7e, 0x51, 0x0b, 0xcf,
+			0x5a, 0x6c, 0xca, 0x13, 0x87, 0x18, 0x16, 0x64,
+			0x51, 0xe4, 0x2a, 0x0f, 0xc0, 0x94, 0x1b, 0x74,
+			0xe9, 0x20, 0xbb, 0x4b, 0x13, 0xb1, 0xd3, 0xea,
+			0xf9, 0xcf, 0x56, 0x66, 0x5f, 0x2c, 0x98, 0x6e,
+			0x5d, 0x4b, 0x9c, 0x06, 0x0f, 0xd5, 0xdb, 0x84,
+			0xeb, 0x63, 0xb0, 0xa7, 0x15, 0xb3, 0x88, 0xf3,
+			0x2b, 0xf2, 0x5b, 0x09, 0x4a, 0xde, 0x17, 0xcc,
+			0x6b, 0x60, 0xe6, 0xfd, 0xc6, 0xaa, 0xa3, 0xb3,
+			0x6d, 0x1b, 0xdf, 0x2d, 0x03, 0xe5, 0xb3, 0x62,
+			0xae, 0x1f, 0x89, 0x8a, 0xc0, 0x21, 0x99, 0xb1,
+			0xce, 0x35, 0x6e, 0xdd, 0x15, 0x6a, 0x1e, 0xe6,
+			0x9a, 0x9f, 0x81, 0x68, 0xc2, 0xb3, 0x43, 0x33,
+			0x5d, 0xb3, 0x2f, 0x53, 0xfe, 0x26, 0x31, 0x7a,
+			0xf7, 0xda, 0xf5, 0x41, 0xd5, 0x13, 0x21, 0x9e,
+			0xb5, 0x0a, 0x61, 0xcf, 0xbe, 0xbf, 0x4c, 0x0a,
+			0xc5, 0xaa, 0xf1, 0x25, 0x6f, 0xd3, 0xee, 0xeb,
+			0x15, 0x92, 0xfb, 0x47, 0x8b, 0xe4, 0xc2, 0x3d,
+			0xf6, 0xfb, 0xa3, 0xdf, 0x6a, 0xcc, 0x87, 0x87,
+			0xfa, 0x0f, 0x32, 0xcb, 0xfe, 0x99, 0xe4, 0xc9,
+			0xf2, 0x93, 0x12, 0x11, 0xcd, 0xe7, 0x8c, 0x07,
+			0x1d, 0xc7, 0x31, 0x40, 0x04, 0x12, 0xf4, 0xb3,
+			0x05, 0x9d, 0x0e, 0x2e, 0x5a, 0x4c, 0xc8, 0x31,
+			0x35, 0xe4, 0xc5, 0x93, 0xc0, 0xe9, 0x26, 0x95,
+			0x7f, 0x9b, 0xe9, 0x9b, 0x50, 0x88, 0x7b, 0x75,
+			0x3b, 0x5c, 0x11, 0x53, 0xcd, 0x6d, 0x8d, 0x0d,
+			0x31, 0x18, 0x10, 0xcd, 0x9d, 0x06, 0xe3, 0x8f,
+			0xd3, 0x04, 0xa1, 0x8e, 0x7f, 0x4c, 0x31, 0xc9,
+			0xd0, 0x56, 0xb7, 0xf4, 0xdf, 0xef, 0x45, 0xd2,
+			0xba, 0xa8, 0x8a, 0x6d, 0xf5, 0xa0, 0x48, 0x58,
+			0xb5, 0xeb, 0x80, 0x41, 0xfb, 0x8b, 0xc1, 0xf5,
+			0x9e, 0x99, 0x7a, 0x02, 0x32, 0x90, 0x7b, 0xc6,
+			0xb7, 0x4d, 0xaf, 0xc1, 0x30, 0xfc, 0xb5, 0x79,
+			0xf0, 0xea, 0xd0, 0x9f, 0xc8, 0xb4, 0xb2, 0xb6,
+			0x8a, 0x69, 0x29, 0xcc, 0x81, 0x46, 0x47, 0xca,
+			0x92, 0x9b, 0xfb, 0x26, 0xa6, 0xae, 0x07, 0xdc,
+			0x24, 0x2d, 0xba, 0x63, 0x8f, 0x43, 0x31, 0x45,
+			0xcc, 0x91, 0x07, 0x15, 0x9f, 0x4a, 0x85, 0x76,
+			0x37, 0xc0, 0xc4, 0x04, 0x54, 0xc6, 0xce, 0x4f,
+			0x8d, 0xce, 0xa8, 0xe6, 0x67, 0x3f, 0xaa, 0xe4,
+			0x12, 0x48, 0x92, 0xec, 0x83, 0xf4, 0xe4, 0x6a,
+			0x94, 0x85, 0x23, 0xfb, 0x0b, 0xc9, 0x40, 0x57,
+			0xb3, 0x5c, 0x92, 0x17, 0xe5, 0x30, 0x35, 0xe1,
+			0x5f, 0x98, 0xb5, 0x28, 0x12, 0xce, 0x03, 0xfc,
+			0x9e, 0xe6, 0xef, 0x07, 0xf7, 0x72, 0x52, 0xc5,
+			0x56, 0xed, 0x80, 0xbd, 0x48, 0xba, 0xec, 0x9d,
+			0x12, 0xff, 0x6b, 0x56, 0x32, 0x26, 0x3e, 0xa8,
+			0x11, 0x58, 0xd9, 0x84, 0x7b, 0x26, 0x37, 0xff,
+			0xfe, 0xb5, 0x38, 0x3a, 0x99, 0xe1, 0xc1, 0x65,
+			0x8e, 0xe6, 0x03, 0xdf, 0x68, 0x3b, 0xf8, 0x5c,
+			0x8c, 0x41, 0xe4, 0x0f, 0x46, 0x12, 0xaa, 0xa3,
+			0xfd, 0xe5, 0x0e, 0x48, 0x70, 0x7d, 0x97, 0x37,
+			0xa4, 0x5a, 0x56, 0x76, 0x35, 0xff, 0xca, 0xb7,
+			0xf4, 0xbf, 0xb4, 0x53, 0x8f, 0x3e, 0xa8, 0xd6,
+			0xb5, 0x0f, 0xe8, 0x1a, 0x07, 0x8e, 0xeb, 0x79,
+			0x30, 0x68, 0xbf, 0xd3, 0x20, 0x2f, 0x43, 0x9d,
+			0x8f, 0x0f, 0xd3, 0x77, 0x83, 0x18, 0x00, 0x2b,
+			0xa2, 0xc8, 0xe7, 0xdf, 0x53, 0x3b, 0xf3, 0x73,
+			0x09, 0x83, 0x14, 0x35, 0xda, 0xe9, 0x53, 0x5e,
+			0x6e, 0x0d, 0xf4, 0xd3, 0xc1, 0xd5, 0x11, 0x2f,
+			0x68, 0xb3, 0x52, 0x61, 0xd3, 0x0b, 0x17, 0xf5,
+			0x0a, 0x89, 0xa0, 0x16, 0x17, 0x0c, 0xfe, 0x0f,
+			0x01, 0x0c, 0x1f, 0x94, 0xe2, 0xb0, 0x20, 0x72,
+			0xe2, 0xc3, 0x1d, 0x22, 0xa7, 0x69, 0x6d, 0x6e,
+			0x12, 0xe9, 0xc3, 0x8e, 0xea, 0x84, 0x37, 0xa4,
+			0xd2, 0xdf, 0x9e, 0xc0, 0xeb, 0xc2, 0xd2, 0x78,
+			0xeb, 0xfa, 0x8e, 0x71, 0x7a, 0xb9, 0xdf, 0x98,
+			0x33, 0xf0, 0x6d, 0xd8, 0xcf, 0xb9, 0x55, 0xd9,
+			0x37, 0xa7, 0x97, 0x97, 0xb7, 0x7f, 0xcf, 0x88,
+			0x33, 0xda, 0xf3, 0xb8, 0xd9, 0x7f, 0x2f, 0xe1,
+			0x19, 0xe7, 0xf1, 0xb8, 0xb1, 0xaa, 0x96, 0x34,
+			0xde, 0x3b, 0x1e, 0x7c, 0xfb, 0xfc, 0xc2, 0x36,
+			0xe7, 0xca, 0xf4, 0xa3, 0x10, 0x18, 0x74, 0xdb,
+			0x85, 0xe9, 0xe0, 0xfd, 0x0e, 0x13, 0x9c, 0x54,
+			0x93, 0x2d, 0x08, 0x34, 0x76, 0xf2, 0x4f, 0xb8,
+			0x7b, 0xb5, 0xc6, 0xee, 0xf3, 0x03, 0xb9, 0xd1,
+			0x9f, 0xf8, 0xd0, 0x36, 0x58, 0xee, 0xf1, 0x12,
+			0x40, 0x85, 0x01, 0x02, 0x84, 0x95, 0xdc, 0x62,
+			0xe4, 0xe2, 0xd3, 0x5c, 0x2b, 0xab, 0x93, 0xcd,
+			0x82, 0x93, 0x2d, 0xe8, 0x7b, 0x89, 0x61, 0xbf,
+			0xf9, 0xc9, 0x5a, 0xb1, 0x28, 0x99, 0xa6, 0x15,
+			0x77, 0x61, 0x64, 0xab, 0xd5, 0xc4, 0x91, 0xb4,
+			0x37, 0x91, 0xbc, 0xfa, 0xd9, 0xe7, 0xed, 0x7d,
+			0x6d, 0x1a, 0xdf, 0x9a, 0xb0, 0xe1, 0x6f, 0xf3,
+			0x4c, 0x2a, 0x3c, 0x42, 0xd0, 0xde, 0x1c, 0x32,
+			0x83, 0xbb, 0xa7, 0xdc, 0x09, 0x4c, 0x76, 0xad,
+			0xe3, 0x13, 0x1f, 0xab, 0x2e, 0x3b, 0x04, 0x17,
+			0x72, 0xcd, 0xd8, 0xc4, 0x73, 0x61, 0x65, 0xec,
+			0x38, 0x72, 0xd5, 0x30, 0x74, 0x91, 0xba, 0x2b,
+			0x9c, 0xe0, 0xeb, 0x63, 0x2a, 0x59, 0xab, 0x0b,
+			0x74, 0x96, 0xc1, 0x0b, 0x73, 0xed, 0x73, 0x27,
+			0x7d, 0x6f, 0x0d, 0x82, 0x11, 0xda, 0x6d, 0x7a,
+			0xce, 0xea, 0xf7, 0xbf, 0xad, 0x16, 0x07, 0x2c,
+			0xb1, 0x07, 0x73, 0x82, 0xc6, 0x88, 0x77, 0xcf,
+			0x7c, 0x64, 0x64, 0xc5, 0xba, 0xca, 0x94, 0xe6,
+			0x79, 0x39, 0x84, 0xf2, 0x3f, 0xc8, 0x7a, 0x7b,
+			0x0e, 0x25, 0xf7, 0xe9, 0xaf, 0xdb, 0x95, 0x76,
+			0xc8, 0x97, 0x85, 0xe7, 0xb6, 0xf7, 0x03, 0x19,
+			0x0c, 0x10, 0xf7, 0xca, 0x2c, 0xc2, 0xcb, 0x4d,
+			0x98, 0x2b, 0x88, 0x89, 0x23, 0x3b, 0x21, 0x55,
+			0xc9, 0xf3, 0xfe, 0x98, 0x9b, 0xf4, 0x88, 0x5e,
+			0xbb, 0x03, 0xf8, 0x44, 0x3a, 0xd7, 0x58, 0xa7,
+			0xde, 0xec, 0x97, 0x0d, 0xc2, 0xe0, 0x11, 0xf1,
+			0x86, 0x2b, 0x1d, 0xe2, 0x59, 0x2a, 0x86, 0xe5,
+			0x8f, 0x58, 0xd2, 0x37, 0x87, 0x43, 0x1d, 0xeb,
+			0xe5, 0x3a, 0xbe, 0xeb, 0x54, 0x81, 0xf3, 0x24,
+			0xc9, 0xb6, 0x6e, 0xd5, 0xb8, 0x50, 0x22, 0xc8,
+			0x0f, 0x02, 0x1a, 0x6e, 0x77, 0x4d, 0x21, 0x6d,
+			0x4c, 0x43, 0x75, 0x62, 0x32, 0xe6, 0x2a, 0x23,
+			0xe9, 0x07, 0x87, 0xca, 0x85, 0x52, 0x02, 0xd9,
+			0x41, 0x01, 0x39, 0x44, 0x2e, 0x87, 0xbc, 0xfa,
+			0x02, 0x29, 0xb6, 0x46, 0xb5, 0x00, 0xb5, 0x0c,
+			0x08, 0x61, 0x66, 0xd9, 0xf0, 0x45, 0x19, 0xc2,
+			0xac, 0x84, 0x81, 0x5a, 0x17, 0x5c, 0x4e, 0x0c,
+			0x7e, 0xa2, 0xd3, 0x1d, 0xd7, 0xc4, 0xa3, 0x7b,
+			0x51, 0x2b, 0x61, 0x15, 0x14, 0xa9, 0x6c, 0x33,
+			0x30, 0x1b, 0x27, 0xc4, 0xd0, 0x57, 0xda, 0x3d,
+			0x85, 0x87, 0xa0, 0xb4, 0x0d, 0x80, 0xc1, 0x8e,
+			0x95, 0x23, 0x35, 0xa9, 0xde, 0xa7, 0x6c, 0x8b,
+			0x7c, 0xb5, 0xd3, 0xd5, 0x08, 0x05, 0x80, 0x98,
+			0xfa, 0x65, 0xef, 0x98, 0xb5, 0x22, 0x7c, 0x30,
+			0xf6, 0xf0, 0x5e, 0x1c, 0x53, 0x5e, 0x30, 0x4c,
+			0x4c, 0xf8, 0x3a, 0xd4, 0x46, 0x61, 0x88, 0xb0,
+			0x22, 0x65, 0xa8, 0xc4, 0x10, 0xbd, 0xf9, 0x27,
+			0x39, 0xec, 0x36, 0xe5, 0xe4, 0x19, 0x68, 0x1b,
+			0x4b, 0xb5, 0xd3, 0x47, 0x9b, 0x72, 0x6c, 0xa0,
+			0x6c, 0x2e, 0xf4, 0xe3, 0xef, 0x99, 0xb9, 0x86,
+			0x71, 0x7a, 0x87, 0xa9, 0x36, 0xb3, 0x2e, 0xa3,
+			0xad, 0xe3, 0xb6, 0x8d, 0xc8, 0x1b, 0xc0, 0x3e,
+			0x82, 0xec, 0xeb, 0xe8, 0x8f, 0xf8, 0x61, 0xed,
+			0x7a, 0xe2, 0xd9, 0x6e, 0x87, 0x0e, 0xcf, 0x83,
+			0x08, 0x2c, 0xf7, 0x0c, 0x51, 0x5e, 0x06, 0xca,
+			0x22, 0xa2, 0x04, 0x5d, 0x31, 0xb5, 0x6d, 0xb5,
+			0x2a, 0xed, 0xf9, 0xb7, 0x24, 0xb6, 0x9e, 0xa1,
+			0xe2, 0xed, 0x56, 0x29, 0x1f, 0x5e, 0x56, 0xb1,
+			0xf6, 0xe2, 0x61, 0x95, 0xdf, 0xdd, 0xe7, 0x6e,
+			0x33, 0x1b, 0x38, 0xdd, 0xbb, 0x5c, 0x6c, 0x42,
+			0x52, 0x9e, 0x21, 0x20, 0x9e, 0x5b, 0xd5, 0x2b,
+			0x22, 0x4a, 0x85, 0xd0, 0x09, 0x7c, 0x47, 0x4b,
+			0xdd, 0xe5, 0xd7, 0x26, 0x55, 0x86, 0x98, 0x76,
+			0x37, 0xdf, 0x43, 0x7f, 0x3a, 0x54, 0xbc, 0x61,
+			0xef, 0x26, 0xfe, 0xc0, 0xe6, 0xc3, 0xc9, 0xca,
+			0xd1, 0x46, 0xdf, 0x53, 0xd3, 0xb6, 0xbf, 0x37,
+			0x58, 0x8e, 0x2e, 0x02, 0xa4, 0xfc, 0x82, 0xef,
+			0x96, 0xfc, 0x07, 0x7a, 0x0f, 0x91, 0xe3, 0xbf,
+			0x32, 0x8a, 0xc8, 0xee, 0xf1, 0x6d, 0xac, 0xd4,
+			0x3e, 0x58, 0xa9, 0x26, 0x29, 0x8a, 0xdd, 0x5a,
+			0x7c, 0xdd, 0xc1, 0x6a, 0x04, 0x52, 0x04, 0x69,
+			0x09, 0x53, 0xe1, 0xb2, 0x48, 0x6e, 0xd7, 0x96,
+			0xa4, 0x1b, 0xcf, 0xf0, 0x75, 0x11, 0xe0, 0xa3,
+			0xca, 0x5d, 0xd9, 0x9a, 0xa7, 0xee, 0xc5, 0x13,
+			0x41, 0x2b, 0x3b, 0xed, 0xca, 0xec, 0xc6, 0x7b,
+			0x0a, 0x72, 0x56, 0x1a, 0x47, 0x19, 0xc1, 0xf5,
+			0x36, 0x37, 0xab, 0x23, 0x8e, 0xed, 0xdc, 0x3d,
+			0xf6, 0xc9, 0xb1, 0x17, 0x36, 0xd6, 0xba, 0x63,
+			0x62, 0x7e, 0xbd, 0x83, 0xfa, 0xbe, 0x36, 0x26,
+			0x3e, 0xb3, 0xec, 0x59, 0xbd, 0xaf, 0xd3, 0x9e,
+			0x38, 0xca, 0x62, 0x04, 0x95, 0x77, 0x5c, 0xf4,
+			0xb4, 0x2a, 0x4c, 0xcb, 0x91, 0x83, 0xe8, 0xcf,
+			0x04, 0x6c, 0x0a, 0x02, 0x41, 0x18, 0x5d, 0x75,
+			0xf1, 0xa5, 0x11, 0x38, 0x0e, 0x65, 0x83, 0x76,
+			0x83, 0xa5, 0xf3, 0xd7, 0xd1, 0x81, 0xf6, 0xf8,
+			0x51, 0xb0, 0xd7, 0x5d, 0x88, 0x3e, 0xe9, 0xcf,
+			0xcd, 0xe0, 0x8a, 0x1c, 0x00, 0xb7, 0x40, 0x3d,
+			0x55, 0x67, 0xbd, 0x3a, 0x93, 0x16, 0x58, 0xb5,
+			0xe0, 0xaa, 0xe3, 0x66, 0x33, 0xe2, 0x25, 0x78,
+			0x5c, 0xec, 0x02, 0xd1, 0x7b, 0x2e, 0xea, 0xd0,
+			0x4e, 0xe7, 0x5a, 0xc5, 0xc6, 0x15, 0xe5, 0xfe,
+			0xad, 0x46, 0x72, 0xd0, 0x57, 0x68, 0x8d, 0x63,
+			0xcb, 0x8a, 0x0a, 0x76, 0xa0, 0xd0, 0x71, 0xa1,
+			0x49, 0xc6, 0xb8, 0x20, 0x4c, 0x65, 0xee, 0x60,
+			0x1c, 0xeb, 0x2a, 0x94, 0xe9, 0x51, 0x13, 0x17,
+			0xcc, 0x37, 0xaf, 0x05, 0x4e, 0x0c, 0x97, 0xb9,
+			0x6e, 0xae, 0x84, 0x05, 0x44, 0x1f, 0x02, 0xc3,
+			0x94, 0x2b, 0xfa, 0x8e, 0xe5, 0xb0, 0x5e, 0x4d,
+			0xf8, 0xc0, 0x6b, 0xa5, 0x88, 0x08, 0xc3, 0x39,
+			0x7a, 0x06, 0xc0, 0x70, 0xe4, 0xa5, 0x75, 0xa6,
+			0xaf, 0x6f, 0x72, 0xc6, 0x01, 0x64, 0xee, 0xf0,
+			0xa0, 0xd5, 0x29, 0x2c, 0x98, 0x1e, 0xf9, 0x9a,
+			0xfe, 0x26, 0x14, 0xb9, 0xe0, 0x20, 0x07, 0xf9,
+			0x79, 0x5a, 0x24, 0xce, 0xe9, 0xe0, 0x24, 0xd6,
+			0xc4, 0x66, 0x79, 0x0f, 0x33, 0x83, 0x5f, 0x65,
+			0x3e, 0xf8, 0xb3, 0x9c, 0x25, 0x6e, 0xe9, 0x58,
+			0x1e, 0x6c, 0xae, 0x97, 0x2d, 0xb0, 0x20, 0x5f,
+			0x5b, 0x00, 0x68, 0x2e, 0x5c, 0x02, 0x3d, 0x97,
+			0x03, 0x83, 0xb7, 0xae, 0xc5, 0x50, 0x70, 0x7b,
+			0xc9, 0x57, 0xa8, 0x8e, 0xc7, 0x89, 0x46, 0xa8,
+			0xf4, 0x69, 0x12, 0x82, 0x62, 0x0d, 0x11, 0xe6,
+			0x00, 0xc8, 0xd0, 0xdc, 0xe6, 0x0d, 0xb2, 0xa8,
+			0x4c, 0xbd, 0xe2, 0x51, 0x07, 0x79, 0x61, 0x50,
+			0xa7, 0xb0, 0x08, 0x3c, 0xd3, 0x77, 0xdb, 0x20,
+			0xf8, 0x26, 0x81, 0x60, 0xfa, 0xd8, 0xeb, 0x66,
+			0x36, 0xce, 0x6c, 0x18, 0x2e, 0xaf, 0x97, 0xa4,
+			0xa6, 0x10, 0x06, 0x30, 0x71, 0xee, 0x59, 0x6e,
+			0x0c, 0x70, 0x0f, 0x0e, 0x64, 0xf9, 0x8a, 0x54,
+			0x66, 0xa8, 0x53, 0xaa, 0x0c, 0x7c, 0xf8, 0xda,
+			0x63, 0xd8, 0x0d, 0x04, 0xff, 0xfd, 0xbb, 0x61,
+			0x88, 0x65, 0x14, 0xd7, 0x7a, 0x9a, 0x90, 0xdd,
+			0x04, 0xe6, 0xf6, 0x15, 0xf8, 0xef, 0xf4, 0x26,
+			0x5c, 0xdb, 0x20, 0x5a, 0x65, 0x25, 0x4b, 0x55,
+			0xb6, 0x7a, 0x91, 0x9c, 0xb0, 0x24, 0x28, 0x35,
+			0xaa, 0xea, 0x02, 0xcc, 0x87, 0x4a, 0x06, 0xd3,
+			0xc6, 0x59, 0xd3, 0xfe, 0x35, 0xe6, 0x49, 0xf6,
+			0x99, 0x14, 0x99, 0x50, 0xd9, 0x25, 0xc3, 0x01,
+			0x47, 0xcd, 0xbc, 0x06, 0x9a, 0xb8, 0x8e, 0x79,
+			0xe9, 0xeb, 0xa6, 0x3c, 0x12, 0xf7, 0xca, 0xda,
+			0x28, 0x22, 0x85, 0x13, 0xe9, 0x3f, 0x37, 0xc5,
+			0x9c, 0x04, 0x54, 0xab, 0x49, 0x73, 0xe7, 0xb4,
+			0xd1, 0xf4, 0x22, 0x85, 0x88, 0xb2, 0xdd, 0xb0,
+			0x2d, 0xfa, 0xcb, 0xa8, 0xd2, 0xc4, 0x22, 0xda,
+			0xb7, 0x9f, 0xf4, 0x8c, 0xf4, 0xac, 0xd6, 0xef,
+			0x81, 0x46, 0x68, 0x61, 0x2b, 0xef, 0xab, 0xc3,
+			0x9b, 0x99, 0xb0, 0x05, 0x4e, 0xce, 0x92, 0x76,
+			0x0c, 0xb3, 0x6f, 0xe6, 0x6b, 0xd8, 0xb0, 0x8f,
+			0x0a, 0x23, 0xff, 0x82, 0x91, 0xa0, 0x5f, 0x15,
+			0xc6, 0xf9, 0x6e, 0x6a, 0x82, 0x58, 0xbf, 0xbd,
+			0xb0, 0x37, 0x18, 0xd8, 0xe5, 0x1a, 0x7d, 0x60,
+			0x1a, 0xc3, 0x91, 0xa5, 0xa5, 0x2b, 0x21, 0x71,
+			0x7b, 0xa7, 0x4f, 0xb0, 0xfd, 0x7f, 0x6b, 0xaa,
+			0x4d, 0xc1, 0x47, 0xf9, 0x9f, 0x41, 0xbe, 0x94,
+			0x7c, 0x45, 0x02, 0xb1, 0xb5, 0x01, 0xb2, 0xd3,
+			0xaf, 0xcd, 0x98, 0x80, 0x26, 0x9b, 0x6d, 0x87,
+			0xd4, 0xe7, 0x6f, 0x34, 0x49, 0x33, 0x4f, 0x62,
+			0x06, 0x99, 0x02, 0x82, 0x66, 0x45, 0xaa, 0x9a,
+			0x8c, 0x1c, 0x37, 0x1d, 0xfe, 0x32, 0x0f, 0x74,
+			0x0f, 0x51, 0x3a, 0x55, 0x9b, 0xcb, 0x9d, 0xb7,
+			0x64, 0x49, 0xe9, 0xe9, 0x74, 0xaf, 0x40, 0xde,
+			0x0b, 0x8b, 0xb4, 0x8f, 0x6e, 0x3d, 0x4e, 0x04,
+			0xd7, 0x1e, 0xb9, 0xee, 0xd1, 0x7e, 0xa9, 0x65,
+			0x80, 0x2a, 0xb1, 0x85, 0xec, 0xaa, 0x67, 0x3b,
+			0x07, 0x5c, 0xdb, 0x49, 0xd1, 0xbb, 0x4b, 0x56,
+			0x3b, 0x3e, 0x48, 0xbf, 0x82, 0xd0, 0x1a, 0xd6,
+			0x43, 0xe2, 0xf1, 0x56, 0x32, 0xc1, 0xad, 0x02,
+			0xf3, 0xac, 0x5d, 0x5b, 0x30, 0x18, 0xcf, 0x17,
+			0x47, 0x72, 0x36, 0x2c, 0x23, 0xed, 0x0f, 0x23,
+			0xa4, 0xb5, 0x6f, 0x95, 0x6a, 0xde, 0x62, 0xd8,
+			0xeb, 0x33, 0xb0, 0x50, 0x2b, 0x50, 0xcf, 0xab,
+			0x5d, 0x0b, 0x43, 0x09, 0x55, 0xb8, 0xe7, 0xba,
+			0xb4, 0xa1, 0xae, 0x74, 0x0a, 0x96, 0x15, 0xf8,
+			0xe5, 0x67, 0xd0, 0x90, 0xeb, 0x31, 0x65, 0xe9,
+			0x5c, 0x9f, 0x84, 0x96, 0xb4, 0x09, 0xad, 0xc1,
+			0x61, 0x85, 0x32, 0xe5, 0xcd, 0xfc, 0x3e, 0xf5,
+			0xde, 0xe4, 0x37, 0xa4, 0x58, 0xc6, 0xfa, 0xea,
+			0xba, 0x4c, 0x93, 0x73, 0xfd, 0x3a, 0x33, 0x9e,
+			0x13, 0x36, 0xfd, 0x36, 0x0c, 0x17, 0xc8, 0x78,
+			0xee, 0x18, 0xc3, 0x1c, 0xb5, 0x43, 0x04, 0xb5,
+			0xa2, 0x45, 0xbd, 0xf6, 0x7e, 0x26, 0xce, 0xa5,
+			0x46, 0xc7, 0x3f, 0x9d, 0x80, 0x24, 0x41, 0x45,
+			0xd2, 0xa3, 0xec, 0x2d, 0x92, 0xbc, 0x77, 0xd2,
+			0x45, 0xc9, 0x7e, 0x89, 0xc7, 0x40, 0xfd, 0xe9,
+			0x59, 0x02, 0x28, 0x8c, 0x73, 0x6f, 0xeb, 0x1a,
+			0x6a, 0x4e, 0x79, 0x23, 0x92, 0xed, 0xc9, 0x56,
+			0x25, 0xb3, 0x13, 0x76, 0x3c, 0xee, 0x7f, 0x14,
+			0x2f, 0xa1, 0x8f, 0x28, 0x3d, 0xbe, 0x7f, 0xbe,
+			0x1a, 0x10, 0xa7, 0x68, 0xf9, 0x5d, 0x48, 0x71,
+			0xaa, 0x1e, 0x42, 0x91, 0x3c, 0x47, 0xb6, 0xf5,
+			0x48, 0x1d, 0x8f, 0xa8, 0x8a, 0x9e, 0xa4, 0xea,
+			0x4b, 0xcb, 0xea, 0x96, 0xe6, 0x67, 0xa4, 0xf9,
+			0x3c, 0xba, 0x7a, 0x5a, 0x9e, 0x5e, 0xee, 0x11,
+			0xdd, 0xaa, 0xda, 0xa2, 0xf2, 0xf9, 0xa6, 0x5b,
+			0xbd, 0x62, 0x23, 0x2b, 0x7c, 0x7f, 0x23, 0xec,
+			0x1a, 0x2c, 0x49, 0x52, 0xa0, 0xd6, 0x08, 0x12,
+			0x22, 0x2d, 0x3e, 0x3f, 0x90, 0x99, 0xbf, 0xf2,
+			0x40, 0x54, 0x73, 0x7c, 0xe5, 0xf7, 0x1f, 0x43,
+			0x92, 0xaf, 0xb3, 0xd7, 0x3d, 0x53, 0x62, 0x68,
+			0x79, 0xea, 0x50, 0x7e, 0x82, 0x83, 0xa8, 0xae,
+			0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
+			0x10, 0x16, 0x1c, 0x22, 0x29, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0xe8, 0xd0, 0x2e, 0x36, 0x7d, 0x73, 0x4e, 0xc4,
+			0x1c, 0xf6, 0xda, 0x86, 0x13, 0xcf, 0xfd, 0x49,
+			0xcd, 0x53, 0xd2, 0x13, 0x5f, 0xfa, 0x28, 0xf0,
+			0x49, 0x2d, 0x0c, 0x20, 0x21, 0x02, 0xdc, 0x87,
+			0x87, 0x9c, 0x19, 0xe8, 0x97, 0x51, 0x5a, 0x02,
+			0x30, 0x57, 0x9c, 0x68, 0xc0, 0x56, 0x0d, 0x2c,
+			0x75, 0x36, 0xa4, 0x4d, 0x76, 0x6e, 0x60, 0xb8,
+			0x6a, 0x0a, 0x2a, 0xb7, 0x8d, 0x6f, 0x44, 0x0e,
+			0xd1, 0xdb, 0xd5, 0x63, 0x87, 0xa4, 0xc2, 0xcb,
+			0x7b, 0x46, 0x28, 0x4e, 0xd9, 0xf7, 0x9d, 0x8e,
+			0xc4, 0xc0, 0x61, 0x93, 0x2d, 0xa1, 0xf8, 0x56,
+			0x10, 0xdf, 0xbb, 0x7a, 0xac, 0x79, 0x9a, 0x2f,
+			0xd3, 0xe7, 0x2f, 0xd1, 0x1c, 0xee, 0xa9, 0xe2,
+			0x82, 0x45, 0x9e, 0x8a, 0x6b, 0x91, 0xcd, 0x91,
+			0x3c, 0xcd, 0x73, 0x85, 0x83, 0x60, 0x57, 0x4e,
+			0x86, 0x59, 0x5f, 0x5b, 0xa7, 0xf9, 0x00, 0x2b,
+			0xba, 0x4e, 0x4c, 0xc6, 0x0e, 0x7d, 0x1b, 0xef,
+			0x11, 0x23, 0x1b, 0x48, 0x4f, 0xba, 0x5a, 0x40,
+			0xb2, 0xea, 0x86, 0xcf, 0xc0, 0xb2, 0x69, 0x19,
+			0x43, 0x75, 0x95, 0x5b, 0x7f, 0xd7, 0x12, 0x39,
+			0xcd, 0xf5, 0x92, 0xad, 0xda, 0xc9, 0xc1, 0x4b,
+			0xde, 0xcb, 0x99, 0xbf, 0xa8, 0x19, 0x5b, 0x68,
+			0x0d, 0xd1, 0x11, 0xa9, 0x39, 0x0f, 0xb4, 0x00,
+			0xa0, 0xf3, 0xd8, 0x51, 0xd0, 0x4d, 0xfe, 0x07,
+			0xe4, 0x10, 0x76, 0x24, 0xf5, 0xec, 0x1a, 0xd5,
+			0xad, 0x52, 0x13, 0xe7, 0x39, 0xfb, 0x53, 0x0f,
+			0x62, 0xff, 0xfd, 0xa0, 0xd4, 0x9b, 0xb2, 0x53,
+			0xce, 0xfa, 0xcd, 0x7a, 0xce, 0x8e, 0x65, 0xf1,
+			0xcf, 0x9c, 0x97, 0x64, 0xd8, 0x37, 0xfe, 0xa5,
+			0xa8, 0x46, 0xdf, 0xba, 0xc6, 0xdb, 0x35, 0xc0,
+			0xf4, 0x0b, 0x3b, 0xa7, 0xdd, 0x75, 0x7a, 0x06,
+			0x78, 0x53, 0x95, 0xd3, 0x96, 0x89, 0x53, 0x4d,
+			0x2c, 0xc6, 0xcf, 0xfa, 0xab, 0x1d, 0xb9, 0x2e,
+			0x79, 0x25, 0xe4, 0x30, 0x1d, 0x75, 0x8f, 0x5a,
+			0x93, 0x86, 0xd0, 0x2b, 0xb3, 0x0a, 0x7d, 0xec,
+			0x46, 0xde, 0x32, 0x3b, 0x61, 0xea, 0xae, 0x93,
+			0x94, 0xa3, 0xd2, 0x38, 0xc9, 0x0f, 0x34, 0x5a,
+			0xed, 0x84, 0x31, 0xcf, 0x78, 0x9a, 0xcd, 0xf8,
+			0xf3, 0x98, 0xf2, 0x4e, 0x89, 0xa2, 0xbb, 0x7b,
+			0xdb, 0x1c, 0xa5, 0xcc, 0x37, 0x4a, 0x28, 0xaf,
+			0xdc, 0xe7, 0x1c, 0x3c, 0x65, 0x7d, 0xad, 0xb2,
+			0xa1, 0x1e, 0x07, 0x22, 0x66, 0x48, 0x89, 0x14,
+			0x0c, 0x0e, 0xba, 0xef, 0x54, 0xbc, 0xb5, 0xcb,
+			0xa5, 0x2b, 0x3b, 0x59, 0x9e, 0x7c, 0xc9, 0x01,
+			0xa8, 0xcb, 0xf4, 0x34, 0x01, 0x33, 0x7d, 0x61,
+			0x12, 0x49, 0x63, 0x8b, 0xba, 0x81, 0xf2, 0xd9,
+			0x2b, 0x94, 0xdf, 0xbb, 0xe2, 0x7c, 0x22, 0x92,
+			0xd3, 0x49, 0xd6, 0x84, 0x28, 0x50, 0x8e, 0xf0,
+			0x1d, 0x5a, 0x69, 0xd9, 0x7a, 0xc1, 0x29, 0x83,
+			0x89, 0x0e, 0xfc, 0xd0, 0xb0, 0xf1, 0x1d, 0xb6,
+			0x92, 0xa4, 0xbb, 0x38, 0x2e, 0x57, 0x44, 0x11,
+			0xba, 0x5c, 0x9e, 0xba, 0x56, 0x27, 0xa2, 0xf4,
+			0xb5, 0xe6, 0x29, 0x19, 0x05, 0x3b, 0xb1, 0x4e,
+			0x42, 0x37, 0x7c, 0x3c, 0xde, 0x7d, 0x57, 0x27,
+			0x15, 0x63, 0xf6, 0x9f, 0xa6, 0xdd, 0x6c, 0xfb,
+			0xde, 0x86, 0xa3, 0x40, 0xbf, 0xf0, 0x37, 0xcf,
+			0x8a, 0x65, 0x5c, 0x95, 0xdb, 0x0c, 0x9d, 0xf7,
+			0x8d, 0x8f, 0xe1, 0x21, 0x9b, 0x5e, 0x99, 0xba,
+			0xb0, 0x95, 0x71, 0x4c, 0x83, 0x0b, 0x53, 0x21,
+			0xee, 0x17, 0x3f, 0x9e, 0xf7, 0x88, 0x29, 0x68,
+			0x22, 0x8f, 0xd2, 0x68, 0x47, 0x8c, 0x4d, 0x6e,
+			0xf8, 0x4d, 0xc2, 0x6d, 0xcd, 0x46, 0x99, 0x4c,
+			0x97, 0xe7, 0x57, 0x39, 0xfb, 0x80, 0x49, 0x4a,
+			0x44, 0x8d, 0x54, 0x2e, 0x8e, 0x22, 0x24, 0x3f,
+			0x98, 0x64, 0x34, 0x1d, 0x49, 0xa9, 0xe1, 0x2a,
+			0x64, 0x40, 0xde, 0x06, 0x9b, 0xf6, 0x3f, 0x9d,
+			0x34, 0x5b, 0x39, 0x54, 0x45, 0x08, 0x78, 0x88,
+			0xd7, 0x1c, 0x72, 0xe0, 0xe3, 0x0d, 0x12, 0x4e,
+			0x11, 0x2c, 0xe2, 0xe4, 0xa8, 0x53, 0xd1, 0x6a,
+			0x81, 0x71, 0x80, 0x8a, 0xde, 0x47, 0x62, 0x22,
+			0x54, 0x8a, 0x87, 0xf8, 0x31, 0xb9, 0x3e, 0x38,
+			0x9e, 0xfc, 0xc0, 0xc7, 0x67, 0x5c, 0x1f, 0xa0,
+			0xff, 0xc1, 0x43, 0xa2, 0xc6, 0x8e, 0xfd, 0xde,
+			0x0b, 0xde, 0xb3, 0xd8, 0xb4, 0xd2, 0xfd, 0xc6,
+			0x9c, 0x81, 0xe9, 0x00, 0xc0, 0x46, 0x98, 0x09,
+			0xdb, 0x73, 0xfe, 0x97, 0xd1, 0x4d, 0xff, 0x3a,
+			0xbf, 0xd4, 0xd7, 0x2b, 0x4f, 0x90, 0xf6, 0xd5,
+			0x12, 0x49, 0xbc, 0xb9, 0xab, 0x8f, 0x44, 0xf1,
+			0xaa, 0xef, 0x6b, 0x6f, 0x68, 0x05, 0x96, 0x1c,
+			0x09, 0x83, 0x3c, 0x76, 0xa9, 0xe4, 0x22, 0x00,
+			0x9c, 0x76, 0xa6, 0x9d, 0xe5, 0xdb, 0xb5, 0x91,
+			0xa2, 0x67, 0x8c, 0xb6, 0xda, 0xb0, 0xe2, 0xb5,
+			0x80, 0x42, 0x23, 0x3a, 0x8d, 0xca, 0x8f, 0x77,
+			0xf3, 0x13, 0x18, 0x4f, 0xc7, 0x68, 0xaf, 0x5e,
+			0x68, 0x04, 0xc7, 0x6b, 0xa9, 0x88, 0x03, 0x3d,
+			0xb4, 0x0f, 0x2d, 0x60, 0x0d, 0x5b, 0xa4, 0x03,
+			0xd8, 0x97, 0x1a, 0x38, 0x24, 0x05, 0x1b, 0x6a,
+			0xd8, 0x25, 0x34, 0xe4, 0x53, 0xab, 0x80, 0xcc,
+			0x71, 0x17, 0x82, 0x3f, 0xa8, 0x67, 0xb8, 0x84,
+			0xde, 0xab, 0x2f, 0xf7, 0x5d, 0x63, 0xba, 0xd6,
+			0x1b, 0x94, 0xae, 0x06, 0x93, 0xea, 0x7e, 0xc6,
+			0x7c, 0x22, 0x6d, 0xaa, 0xc6, 0xf2, 0xee, 0x38,
+			0x1b, 0x24, 0x7e, 0x6e, 0x7d, 0xcf, 0x68, 0xcd,
+			0x30, 0xb1, 0x8e, 0x42, 0x8b, 0xd8, 0x97, 0xb2,
+			0xfb, 0x03, 0x99, 0x07, 0xf6, 0x13, 0x0e, 0xda,
+			0x3f, 0x50, 0x4b, 0x94, 0x7f, 0x41, 0x63, 0x1d,
+			0xa6, 0xcc, 0x8e, 0xff, 0xf7, 0x7d, 0x05, 0x1f,
+			0x73, 0x7e, 0xaf, 0xbc, 0x14, 0xdd, 0x3c, 0x61,
+			0xbd, 0x96, 0xa1, 0x12, 0xd5, 0xb0, 0xc2, 0xeb,
+			0x27, 0x3b, 0x97, 0x0d, 0xc6, 0x78, 0xfa, 0x97,
+			0x63, 0xee, 0xce, 0xfe, 0xe2, 0x33, 0x66, 0x36,
+			0xd6, 0x41, 0x52, 0xfa, 0xd1, 0x6a, 0xb3, 0x62,
+			0x01, 0x07, 0xd8, 0x12, 0xc3, 0xc0, 0xe3, 0xd7,
+			0x40, 0x86, 0xe3, 0x13, 0xa1, 0x11, 0xc6, 0x05,
+			0xe3, 0x84, 0xa3, 0x76, 0xa2, 0x0c, 0x60, 0xca,
+			0x42, 0xbe, 0x0c, 0x3d, 0x04, 0x91, 0xe3, 0xc2,
+			0xd3, 0xbd, 0x0c, 0xd3, 0x0d, 0x24, 0x7b, 0x5f,
+			0x19, 0xe4, 0x79, 0x59, 0xf1, 0x47, 0x1a, 0xd4,
+			0x4c, 0xc6, 0x23, 0x5e, 0x4f, 0x3e, 0x54, 0x0d,
+			0x06, 0x70, 0xb4, 0x50, 0x7e, 0xe8, 0xfb, 0x78,
+			0x5c, 0x09, 0x26, 0x1a, 0x3f, 0xf7, 0x24, 0x70,
+			0x9c, 0x54, 0xc7, 0xdd, 0x27, 0x5f, 0x11, 0x75,
+			0x96, 0x5c, 0xad, 0xfe, 0x5f, 0x7c, 0x42, 0x4f,
+			0x3d, 0xa7, 0x1e, 0x6f, 0x7e, 0x6f, 0xdc, 0xd7,
+			0xad, 0x0f, 0xf9, 0x6f, 0xb1, 0xfd, 0xca, 0xdf,
+			0xcf, 0x59, 0xe4, 0x86, 0x69, 0x37, 0x34, 0xaa,
+			0xc8, 0xe2, 0xca, 0x3b, 0xcc, 0x48, 0x86, 0xe3,
+			0xee, 0xea, 0x25, 0x54, 0x94, 0x1b, 0x30, 0xbd,
+			0x39, 0xb0, 0xe3, 0x41, 0xa5, 0xab, 0x03, 0x7b,
+			0x12, 0xfb, 0x1f, 0x6e, 0x4e, 0xaa, 0xf5, 0x41,
+			0xa0, 0x5c, 0xa2, 0xaa, 0xc4, 0x6b, 0xc9, 0xa6,
+			0xca, 0x61, 0x78, 0xcb, 0xcd, 0x2a, 0x47, 0x31,
+			0xf8, 0x8a, 0x90, 0x4f, 0x88, 0xb3, 0x3e, 0x4d,
+			0x6b, 0x75, 0x74, 0x4d, 0x00, 0x7c, 0xc8, 0x29,
+			0x9b, 0xe9, 0xf7, 0x6f, 0xec, 0xa3, 0xf0, 0x43,
+			0x10, 0x05, 0x88, 0xee, 0x3a, 0x5f, 0x96, 0x31,
+			0xfa, 0xe3, 0xca, 0x31, 0x38, 0x48, 0x9b, 0x9d,
+			0xe9, 0x4e, 0x5f, 0x45, 0xc1, 0xc0, 0x70, 0x70,
+			0xec, 0x1b, 0x95, 0x77, 0x14, 0xda, 0xe2, 0xf1,
+			0x0c, 0xba, 0xf5, 0x38, 0xc5, 0x0e, 0x07, 0xbe,
+			0x54, 0x1f, 0x70, 0x22, 0x79, 0x88, 0xc8, 0x4b,
+			0xd7, 0xae, 0x5b, 0x5a, 0x15, 0xbc, 0xa5, 0x1c,
+			0x5d, 0xee, 0xcf, 0x9a, 0xa2, 0xde, 0x79, 0x77,
+			0x40, 0xb3, 0x32, 0xd5, 0x31, 0x50, 0x91, 0x30,
+			0x56, 0xbc, 0x26, 0xa2, 0x50, 0x44, 0x1d, 0xdc,
+			0xa8, 0x5c, 0xbf, 0x7b, 0x19, 0xfb, 0x0f, 0xc3,
+			0x78, 0x12, 0x29, 0xbe, 0xc0, 0x74, 0xd5, 0xc2,
+			0xac, 0xce, 0xf9, 0x34, 0xb3, 0x6d, 0x9b, 0xfd,
+			0x55, 0x10, 0x3d, 0xa5, 0x05, 0xee, 0x03, 0x52,
+			0xc8, 0x05, 0xd0, 0x22, 0xc0, 0xee, 0x7a, 0x19,
+			0x17, 0x19, 0x28, 0x01, 0xfc, 0x08, 0x04, 0x27,
+			0x62, 0x61, 0xf8, 0xc3, 0x91, 0x68, 0xd9, 0xb6,
+			0x9d, 0x9f, 0xa4, 0x40, 0xd2, 0x5d, 0xfe, 0xb5,
+			0xae, 0x94, 0xee, 0x07, 0x52, 0x59, 0xf6, 0x63,
+			0x23, 0xb9, 0xf0, 0xc9, 0xd3, 0x55, 0xca, 0xbc,
+			0xfa, 0x80, 0x5f, 0x96, 0x5b, 0x5e, 0x64, 0x0e,
+			0x1c, 0x47, 0x56, 0xc6, 0xee, 0x75, 0x7c, 0x90,
+			0xd4, 0x2f, 0x97, 0xce, 0x85, 0x9a, 0x84, 0x37,
+			0xb6, 0x0d, 0x79, 0x65, 0x3f, 0xb5, 0xa3, 0xe8,
+			0xff, 0xac, 0xeb, 0x2b, 0x11, 0x40, 0xb3, 0xb3,
+			0x9c, 0xf6, 0x0e, 0xde, 0xb1, 0x76, 0x63, 0x84,
+			0xd3, 0x29, 0x52, 0x69, 0x6a, 0x3a, 0xc0, 0x7f,
+			0x81, 0xf0, 0x87, 0xc6, 0x92, 0xd3, 0x5f, 0xb1,
+			0x48, 0x92, 0x98, 0x25, 0xc0, 0x43, 0x19, 0x1c,
+			0x68, 0xf1, 0x2a, 0x5b, 0xfb, 0x3c, 0xd3, 0xc6,
+			0x19, 0x7b, 0x9e, 0x66, 0xe0, 0xbe, 0x74, 0x57,
+			0x35, 0x6e, 0x6e, 0xf9, 0x03, 0x76, 0x7c, 0x1c,
+			0xce, 0x44, 0x5f, 0x6d, 0xd5, 0xea, 0x8f, 0x4a,
+			0x0c, 0x85, 0x3b, 0xa2, 0xf7, 0x51, 0x27, 0x41,
+			0x95, 0x5d, 0x00, 0x06, 0x44, 0x9f, 0x98, 0x61,
+			0x7b, 0x48, 0x36, 0xa5, 0xb4, 0xb6, 0x0f, 0x27,
+			0x1a, 0xac, 0x63, 0x24, 0xf6, 0x46, 0x51, 0xc5,
+			0x44, 0xba, 0x39, 0x71, 0x69, 0x33, 0x20, 0x1f,
+			0xc3, 0x50, 0xbe, 0xc3, 0xd3, 0x55, 0x59, 0x43,
+			0xc9, 0x4e, 0x68, 0xdf, 0x1d, 0xca, 0x0b, 0xe2,
+			0x11, 0x61, 0x01, 0xe2, 0x5a, 0xd5, 0xed, 0x6b,
+			0xbf, 0x76, 0x02, 0x88, 0x9e, 0xf0, 0x1c, 0x57,
+			0x1c, 0xb0, 0x99, 0x89, 0x4d, 0xd9, 0xcf, 0x10,
+			0x49, 0x9b, 0x26, 0x0f, 0xfb, 0xf8, 0x10, 0x6c,
+			0x3f, 0x41, 0x78, 0x0d, 0xa3, 0xdc, 0x5d, 0x18,
+			0xe7, 0x3c, 0xa8, 0x4f, 0x70, 0xf7, 0x82, 0xef,
+			0x15, 0xcf, 0x5c, 0x00, 0x15, 0x41, 0x38, 0x56,
+			0x3c, 0x4c, 0x2e, 0xbc, 0xb1, 0x34, 0x35, 0xce,
+			0x18, 0xc4, 0xa2, 0xb4, 0xea, 0xc2, 0xac, 0x0e,
+			0x63, 0x23, 0x20, 0xa1, 0x72, 0x19, 0x6a, 0x21,
+			0x75, 0xcd, 0xab, 0xcc, 0xdb, 0x92, 0xc9, 0x55,
+			0x1c, 0x60, 0xcc, 0xcd, 0xa1, 0x33, 0x28, 0x4a,
+			0x83, 0x79, 0x14, 0x0a, 0x79, 0x40, 0x15, 0x4b,
+			0x13, 0x1b, 0x50, 0x95, 0x4b, 0x78, 0x0f, 0x9d,
+			0x56, 0x18, 0xa1, 0x4e, 0x5f, 0x82, 0x85, 0x2f,
+			0xa0, 0x54, 0x11, 0xad, 0x58, 0xe0, 0x2d, 0x37,
+			0x87, 0x2c, 0xec, 0x35, 0xe2, 0xa4, 0xf1, 0x53,
+			0x31, 0xbb, 0xa9, 0xd4, 0x86, 0x2f, 0x80, 0xe9,
+			0x03, 0x1e, 0xe4, 0x72, 0x98, 0x1a, 0x98, 0x83,
+			0xf4, 0x27, 0x64, 0xf5, 0xc7, 0x8c, 0x9e, 0xec,
+			0x22, 0xe4, 0x37, 0x6a, 0xef, 0x3e, 0x7f, 0x11,
+			0x0e, 0xdd, 0x32, 0xf9, 0xf5, 0x43, 0x21, 0x27,
+			0x7d, 0x6d, 0xa3, 0xe8, 0x75, 0xf4, 0x06, 0x9e,
+			0xda, 0x53, 0x49, 0x07, 0x87, 0x91, 0xbe, 0xe9,
+			0xf2, 0xae, 0xa3, 0x26, 0x1a, 0xc2, 0x35, 0x07,
+			0x21, 0x9b, 0x60, 0x56, 0xfb, 0xce, 0xf8, 0x9f,
+			0x8b, 0x46, 0xef, 0x2d, 0x24, 0x70, 0x12, 0xb2,
+			0x9d, 0x3c, 0x6b, 0xed, 0xa4, 0xe4, 0x74, 0x98,
+			0xc0, 0xd2, 0x49, 0xea, 0x52, 0x91, 0x47, 0x5d,
+			0x60, 0xf5, 0x5c, 0x81, 0x86, 0xe6, 0x70, 0xcb,
+			0x6c, 0xe4, 0xa3, 0x0d, 0x1f, 0xe7, 0xd0, 0x90,
+			0xb0, 0xe7, 0x8a, 0xa6, 0x87, 0x96, 0xaa, 0xd2,
+			0xf4, 0x3b, 0xaa, 0x3b, 0xfc, 0xf3, 0x29, 0xdd,
+			0xd3, 0xce, 0x4c, 0xfa, 0x52, 0x7a, 0xef, 0xf0,
+			0x27, 0x16, 0x15, 0x23, 0x9b, 0x40, 0x01, 0x4c,
+			0x66, 0x80, 0xc1, 0xdd, 0x00, 0x31, 0xfa, 0x23,
+			0xa2, 0x24, 0x72, 0xa7, 0xd2, 0x50, 0xf4, 0x26,
+			0x83, 0x31, 0xd1, 0x7d, 0xeb, 0xef, 0x4f, 0x1d,
+			0xa5, 0xf4, 0xde, 0x8e, 0x45, 0x48, 0x3c, 0x62,
+			0xde, 0x86, 0x40, 0x1b, 0xbe, 0xd1, 0xa4, 0xb7,
+			0xa7, 0x5b, 0x6d, 0xe9, 0x26, 0x68, 0x0d, 0xc8,
+			0x22, 0xa8, 0x62, 0x90, 0x33, 0xce, 0x9d, 0xaf,
+			0x58, 0x6b, 0x4d, 0x14, 0x5b, 0x09, 0xfb, 0xfc,
+			0x14, 0xc8, 0xa8, 0xbf, 0xb9, 0x4c, 0xc3, 0x7d,
+			0x0c, 0x89, 0x2d, 0x37, 0xca, 0x65, 0x12, 0x83,
+			0xb4, 0x6c, 0x08, 0x46, 0x28, 0x86, 0x07, 0x2c,
+			0x37, 0x1a, 0xaf, 0xf4, 0xfc, 0x6d, 0x71, 0x4c,
+			0xbd, 0x1f, 0xec, 0xe0, 0x2a, 0xbd, 0x11, 0xdd,
+			0x41, 0xff, 0x85, 0xe0, 0x18, 0xf0, 0x5c, 0x54,
+			0x29, 0x98, 0x24, 0xb0, 0x3d, 0x93, 0xc0, 0xe9,
+			0x7f, 0x42, 0x22, 0x08, 0x5c, 0x61, 0xc8, 0x00,
+			0x66, 0xa9, 0x1f, 0x20, 0xf1, 0xa7, 0xf4, 0x4d,
+			0x91, 0xb9, 0xbe, 0xdb, 0x98, 0x42, 0xfc, 0xfb,
+			0xe8, 0x23, 0xdc, 0x2a, 0x93, 0x4c, 0xdf, 0xd2,
+			0x12, 0x14, 0x56, 0xe7, 0x13, 0x23, 0xf3, 0x5f,
+			0x3c, 0x3f, 0xa4, 0x09, 0x0a, 0x3f, 0xe1, 0x86,
+			0x87, 0x7f, 0x7a, 0xbd, 0xda, 0x97, 0x1b, 0x71,
+			0x1d, 0xd6, 0x9e, 0xe0, 0x13, 0x72, 0x8b, 0x5a,
+			0x62, 0x1c, 0xb1, 0x6e, 0xbb, 0x58, 0xac, 0x6e,
+			0x0c, 0x0f, 0xe7, 0x56, 0xb0, 0xeb, 0x38, 0x23,
+			0x9c, 0xd9, 0x3b, 0x09, 0xf1, 0xd4, 0xb0, 0xef,
+			0x79, 0xb1, 0x2d, 0xf1, 0x53, 0xc7, 0xe1, 0xc5,
+			0xb0, 0x6e, 0x82, 0x70, 0x56, 0xd2, 0x99, 0x0c,
+			0x5d, 0x65, 0x7f, 0x6d, 0xb1, 0x41, 0x8b, 0xb1,
+			0xa5, 0x8d, 0x02, 0xf4, 0x5a, 0x9d, 0x48, 0x10,
+			0x11, 0xa4, 0xc8, 0x11, 0x5a, 0xfb, 0x68, 0x58,
+			0x9d, 0xef, 0x13, 0xdd, 0x61, 0x63, 0x14, 0xba,
+			0x4d, 0xd8, 0x05, 0x0e, 0x13, 0xe8, 0x60, 0xf3,
+			0x2b, 0x44, 0xea, 0x3f, 0x37, 0x6b, 0x10, 0x32,
+			0x16, 0x3c, 0xbf, 0xf1, 0x4a, 0xf3, 0x4d, 0xe1,
+			0x6c, 0xcf, 0xb0, 0xbe, 0xc1, 0x67, 0xf8, 0x6d,
+			0xcd, 0xda, 0x1e, 0x32, 0x0b, 0xc0, 0x92, 0x7b,
+			0x65, 0xf3, 0x22, 0x1a, 0xb7, 0xbe, 0xaf, 0xeb,
+			0xf1, 0x83, 0x84, 0x9c, 0x6e, 0xc6, 0xd8, 0x22,
+			0xb0, 0xbb, 0x74, 0x9f, 0xe8, 0x53, 0x50, 0x75,
+			0xf4, 0x0a, 0xfc, 0x89, 0x70, 0x0b, 0xc4, 0x4e,
+			0x2b, 0x0b, 0xce, 0xbc, 0x31, 0xe7, 0xb6, 0x41,
+			0x8c, 0xcb, 0x7d, 0x92, 0x13, 0x01, 0xf0, 0x1f,
+			0x2f, 0x54, 0xb3, 0xa8, 0x78, 0xb5, 0x49, 0xb1,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x54, 0x5e, 0x06, 0xb5, 0x8a, 0xf2, 0x75, 0x69,
+			0x99, 0x4a, 0x48, 0x31, 0x65, 0x6e, 0xd1, 0x74,
+			0x71, 0x15, 0x24, 0x9f, 0x88, 0x74, 0xec, 0x97,
+			0x99, 0x29, 0x41, 0x37, 0xea, 0xff, 0x40, 0xf5,
+			0xe8, 0x1e, 0x4c, 0x13, 0x4f, 0x30, 0x6c, 0x5a,
+			0x3d, 0x45, 0x06, 0x9f, 0xf1, 0x45, 0x7e, 0xd9,
+			0xac, 0x30, 0x4b, 0x05, 0x41, 0xf1, 0x40, 0xd4,
+			0x32, 0xcb, 0x1d, 0x0b, 0x9a, 0x1d, 0x83, 0xb2,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0x70, 0x83, 0xff, 0x2b, 0xe7, 0x9f, 0x04, 0x25,
+			0xa4, 0xd2, 0xeb, 0x78, 0x1f, 0x60, 0x16, 0xc2,
+			0xa5, 0x65, 0x3c, 0x2f, 0x6f, 0x0f, 0xbb, 0x07,
+			0x9b, 0xe5, 0x13, 0xe2, 0xaa, 0x3f, 0x7a, 0xa9,
+			0xfc, 0xc7, 0x5a, 0x5d, 0xb6, 0x86, 0xd7, 0xdd,
+			0xb6, 0x26, 0xac, 0xb3, 0x43, 0x54, 0x35, 0x5d,
+			0x8f, 0x3f, 0xd3, 0xc5, 0xf3, 0x2b, 0x7b, 0xc1,
+			0xf8, 0x47, 0x67, 0x33, 0x25, 0x59, 0x8d, 0x19,
+			0x5e, 0xd8, 0xb1, 0x9f, 0x07, 0x47, 0xc8, 0x48,
+			0x88, 0x68, 0x75, 0x2c, 0x58, 0xd2, 0xc0, 0xc9,
+			0x4a, 0x5c, 0xc1, 0x4e, 0xa2, 0xa1, 0x2d, 0x1f,
+			0x1f, 0xa4, 0x7f, 0x64, 0x73, 0x11, 0xe2, 0xac,
+			0xb4, 0xf1, 0x90, 0xcb, 0xbf, 0xac, 0x3c, 0x76,
+			0x4d, 0x7f, 0x4c, 0x3a, 0x75, 0x3c, 0xa9, 0x41,
+			0xf2, 0xee, 0x5c, 0x38, 0x5c, 0xaa, 0x54, 0x83,
+			0x46, 0xb1, 0x42, 0xf5, 0xc0, 0x85, 0xea, 0xcd,
+			0x49, 0x81, 0xc1, 0x51, 0x3e, 0x01, 0x03, 0xe3,
+			0x33, 0x3f, 0x93, 0xc3, 0x8b, 0xb6, 0x62, 0xe6,
+			0x8b, 0x54, 0xc5, 0xee, 0x49, 0x4d, 0x63, 0x52,
+			0xa5, 0xd7, 0x51, 0x7a, 0x41, 0x87, 0x71, 0xdc,
+			0x87, 0xce, 0xbe, 0x6e, 0xc1, 0xf4, 0xf2, 0x48,
+			0x3e, 0x16, 0xab, 0x7c, 0xd8, 0xd6, 0x26, 0x8f,
+			0x2a, 0x90, 0x6b, 0x9f, 0x01, 0x0f, 0x2d, 0xdb,
+			0x5f, 0x41, 0x18, 0x6d, 0x59, 0x27, 0xa1, 0x3d,
+			0xe8, 0x7e, 0x56, 0x82, 0x32, 0x1c, 0x44, 0x2f,
+			0x6d, 0x6a, 0x62, 0x5e, 0xbf, 0x4c, 0x72, 0x2d,
+			0xaa, 0x03, 0x49, 0xd9, 0xda, 0xcb, 0x21, 0xc0,
+			0xa0, 0x95, 0x6f, 0xc9, 0x6c, 0x4f, 0x86, 0x1c,
+			0x77, 0x41, 0x0d, 0xd6, 0xd7, 0xac, 0x6e, 0x05,
+			0xbc, 0x94, 0x24, 0x6c, 0xd0, 0x91, 0x68, 0xfd,
+			0xfc, 0x61, 0x83, 0x46, 0x9c, 0xb0, 0xbb, 0x6a,
+			0x6e, 0xc6, 0xf1, 0x71, 0x44, 0xc5, 0x05, 0x87,
+			0x99, 0x16, 0x0c, 0xc3, 0xf9, 0x69, 0xc5, 0xb5,
+			0x53, 0x60, 0x5c, 0x0c, 0x7e, 0xff, 0x84, 0x1f,
+			0xc5, 0xea, 0x15, 0x1d, 0xea, 0xa0, 0xe3, 0x64,
+			0x58, 0x81, 0x67, 0xa2, 0x7c, 0x37, 0x17, 0x7d,
+			0xaf, 0x75, 0xbb, 0x22, 0x9b, 0x55, 0x7b, 0x34,
+			0x83, 0x8d, 0x52, 0xf6, 0xf7, 0x7d, 0x29, 0xc6,
+			0x68, 0x71, 0xf3, 0x5c, 0x23, 0x6e, 0x6c, 0x13,
+			0xf3, 0x07, 0x52, 0x49, 0x54, 0xde, 0x89, 0x5a,
+			0x58, 0x9e, 0xa4, 0x87, 0xd4, 0x9b, 0xb1, 0x5b,
+			0x44, 0xc0, 0xc9, 0x7c, 0x33, 0x90, 0x9c, 0x11,
+			0x52, 0x67, 0x51, 0xe8, 0x31, 0x99, 0x6d, 0x49,
+			0x93, 0xf4, 0xc7, 0x93, 0xca, 0x5b, 0x39, 0x2a,
+			0xae, 0x47, 0x94, 0x8a, 0xf5, 0x07, 0xe2, 0x21,
+			0x1e, 0xcc, 0xdd, 0x7a, 0x0d, 0xa1, 0x30, 0xda,
+			0x9c, 0xb6, 0x2b, 0x8c, 0x2f, 0xe6, 0xa6, 0xea,
+			0xe9, 0x11, 0x03, 0x05, 0x1c, 0x17, 0x71, 0xaa,
+			0x26, 0x3c, 0x26, 0x7c, 0xce, 0xe1, 0x4c, 0x96,
+			0xf7, 0xba, 0xa5, 0x56, 0x17, 0x07, 0x30, 0xca,
+			0x8a, 0x24, 0xdd, 0x2c, 0xeb, 0xbf, 0x3f, 0x41,
+			0xe5, 0xdf, 0xd5, 0xfe, 0x57, 0x6e, 0xd6, 0x2b,
+			0xc5, 0x4a, 0x4e, 0xb3, 0xe2, 0x71, 0xce, 0x76,
+			0x8a, 0x6f, 0xdb, 0xe6, 0x04, 0xf6, 0xe1, 0xe1,
+			0xaa, 0x5b, 0x22, 0x76, 0xde, 0x77, 0xae, 0x0c,
+			0x5d, 0xe0, 0xd1, 0x98, 0xd3, 0xf5, 0xd0, 0x03,
+			0x29, 0x53, 0xd3, 0xe6, 0x9a, 0xcd, 0x3e, 0xd3,
+			0x4a, 0x7e, 0x82, 0x1b, 0x4f, 0xdf, 0x0c, 0x73,
+			0x54, 0xee, 0x4d, 0x1f, 0xb2, 0xef, 0x89, 0xb5,
+			0xd8, 0x60, 0xa8, 0x60, 0x23, 0x6d, 0x5c, 0xbe,
+			0xf6, 0xa5, 0x39, 0xbb, 0x38, 0xff, 0x29, 0xfe,
+			0x6b, 0xed, 0xca, 0xbe, 0xf9, 0x48, 0xef, 0xf0,
+			0xb1, 0xb6, 0x3a, 0x38, 0xa3, 0x09, 0x48, 0x6a,
+			0xb4, 0x66, 0x25, 0xcc, 0xeb, 0xbd, 0x5e, 0x22,
+			0xf5, 0xc8, 0xe5, 0x81, 0xc2, 0xfd, 0x45, 0x2a,
+			0x2d, 0x62, 0x0d, 0x6f, 0xcd, 0x18, 0x86, 0x45,
+			0xb4, 0x94, 0x96, 0x48, 0xa8, 0x42, 0x14, 0xb7,
+			0xc2, 0x3d, 0x21, 0x02, 0xc2, 0xec, 0x53, 0xcb,
+			0x76, 0xab, 0x3c, 0x56, 0x55, 0x8c, 0xa6, 0x1f,
+			0x6a, 0xf5, 0x61, 0xbf, 0xc2, 0x72, 0x28, 0xb6,
+			0xce, 0x38, 0x7c, 0xb4, 0xbe, 0x71, 0x0b, 0x4d,
+			0x0a, 0x0e, 0x13, 0x33, 0x2e, 0x97, 0x3a, 0x2b,
+			0x9f, 0x7e, 0x92, 0xf6, 0x11, 0x93, 0xf6, 0x30,
+			0x1a, 0x9d, 0x2b, 0x89, 0x7c, 0x61, 0x24, 0x7b,
+			0x0f, 0xa6, 0xd7, 0x78, 0x59, 0xd3, 0x12, 0xe8,
+			0x73, 0x1d, 0xb5, 0x54, 0x89, 0xcf, 0x4b, 0x2c,
+			0xe6, 0xa8, 0x10, 0x08, 0xe2, 0x28, 0x93, 0xa0,
+			0xa8, 0x7a, 0x16, 0xdc, 0x41, 0x54, 0x49, 0x83,
+			0xd9, 0x3e, 0x42, 0xf9, 0x34, 0x00, 0xcd, 0x22,
+			0xdb, 0xec, 0x96, 0xa7, 0xbb, 0xd0, 0x6e, 0x17,
+			0xa2, 0x1c, 0x00, 0xf5, 0xd8, 0x0d, 0x04, 0xf8,
+			0x71, 0x9c, 0x66, 0x26, 0xe9, 0xbc, 0x33, 0xdb,
+			0x3f, 0x99, 0xd4, 0x37, 0x9c, 0xfa, 0x98, 0x2b,
+			0xc9, 0x34, 0x14, 0xd2, 0x4d, 0x36, 0x27, 0x4a,
+			0xf8, 0x05, 0xfb, 0x86, 0xfb, 0xd8, 0x48, 0xf2,
+			0x00, 0x55, 0x4c, 0xe0, 0x8c, 0x17, 0xb8, 0xfc,
+			0x26, 0x37, 0x82, 0x89, 0x32, 0xcc, 0x5b, 0xf9,
+			0xdb, 0x8c, 0xe8, 0x56, 0x64, 0x53, 0x9b, 0xeb,
+			0xb2, 0xdd, 0xc0, 0x3f, 0x82, 0x63, 0xaf, 0x75,
+			0x51, 0xfc, 0xa2, 0xd8, 0x73, 0x5f, 0xf9, 0x3e,
+			0xc3, 0x4a, 0x62, 0x1d, 0x72, 0x45, 0x87, 0xc2,
+			0x56, 0x2f, 0x84, 0x80, 0x91, 0x26, 0xcc, 0x3d,
+			0xb6, 0x2a, 0x23, 0xd0, 0x44, 0x54, 0xaa, 0x57,
+			0x70, 0x2c, 0xe6, 0xa0, 0x52, 0x72, 0x22, 0xad,
+			0x72, 0xa1, 0x8c, 0x76, 0x25, 0x94, 0x9e, 0xad,
+			0x04, 0x3c, 0x2b, 0x91, 0x04, 0xd7, 0xd7, 0xd2,
+			0x52, 0xcb, 0x2b, 0x47, 0x0c, 0x72, 0xa6, 0x76,
+			0x60, 0xf2, 0xdf, 0x3a, 0xa5, 0xb5, 0x26, 0x70,
+			0xd8, 0x5c, 0xd4, 0xce, 0x8a, 0xd5, 0x20, 0x9d,
+			0x88, 0x92, 0xac, 0x88, 0x70, 0x03, 0x3c, 0x75,
+			0x65, 0x1c, 0xd6, 0xba, 0x4f, 0x60, 0xa5, 0x43,
+			0xa6, 0x56, 0x02, 0x46, 0xe0, 0x62, 0xfe, 0xde,
+			0x2d, 0xe1, 0x2c, 0x9a, 0xfc, 0x17, 0xa1, 0x6d,
+			0x17, 0xa1, 0x1e, 0xd5, 0x0a, 0x9c, 0xa1, 0x6e,
+			0x7d, 0x6d, 0x30, 0x2f, 0x31, 0xcf, 0xe5, 0xd0,
+			0x9a, 0xae, 0xc0, 0x8e, 0x95, 0xea, 0xe8, 0xef,
+			0xd1, 0x56, 0x1d, 0xe4, 0x7f, 0x93, 0x89, 0xab,
+			0x05, 0x29, 0x08, 0xd5, 0x05, 0x67, 0x6a, 0xf3,
+			0x7a, 0x81, 0x01, 0x2e, 0xca, 0xe7, 0xc1, 0xd2,
+			0xf9, 0x20, 0xcf, 0xcd, 0xb7, 0xc1, 0x83, 0x7d,
+			0xdb, 0x12, 0x2b, 0x4a, 0x76, 0xef, 0xd3, 0x40,
+			0xa5, 0xb4, 0xca, 0x18, 0xde, 0xbd, 0xb8, 0x4d,
+			0xb8, 0x77, 0xb4, 0xb6, 0x06, 0x50, 0xc4, 0x15,
+			0x5f, 0x08, 0x5a, 0x19, 0x21, 0xdf, 0x3b, 0xa9,
+			0x07, 0xe9, 0x2c, 0xa3, 0x86, 0xfd, 0x94, 0xba,
+			0x77, 0x54, 0x65, 0xc1, 0x19, 0x27, 0xcc, 0x51,
+			0xa6, 0x27, 0x1b, 0x24, 0x10, 0x44, 0x07, 0x64,
+			0xc3, 0xd5, 0xfe, 0x97, 0xcd, 0xa6, 0x78, 0x89,
+			0xa4, 0x49, 0xde, 0xa7, 0xaa, 0x2a, 0x9e, 0x38,
+			0x3e, 0xfe, 0x15, 0x20, 0x0f, 0x0a, 0x4f, 0x2e,
+			0xcb, 0xab, 0xfd, 0xe6, 0x54, 0x6c, 0x77, 0x0a,
+			0xad, 0x7a, 0x45, 0x86, 0xf9, 0xb7, 0xfe, 0x7c,
+			0xe9, 0x51, 0x9e, 0x9e, 0x2b, 0x05, 0xff, 0x38,
+			0xf1, 0x44, 0x3a, 0x20, 0x41, 0xdd, 0xad, 0x9c,
+			0x5b, 0x06, 0xfe, 0x33, 0xfe, 0x19, 0x0a, 0x0d,
+			0x6a, 0x9c, 0x6f, 0x69, 0xbb, 0x36, 0x82, 0xa7,
+			0x8f, 0xe9, 0x57, 0x6b, 0xe6, 0x8a, 0xad, 0xe7,
+			0xbb, 0x12, 0xed, 0xd0, 0xc5, 0x29, 0xad, 0xc8,
+			0x32, 0xa5, 0x90, 0x21, 0xce, 0x37, 0x26, 0x84,
+			0x14, 0xd8, 0xa2, 0x4d, 0x0a, 0xba, 0x16, 0xae,
+			0x20, 0x1d, 0xa6, 0x5c, 0x07, 0xcd, 0x05, 0x7b,
+			0x83, 0xe8, 0x42, 0xf6, 0xf6, 0x9c, 0x80, 0xa7,
+			0xa1, 0x45, 0xd1, 0x09, 0x4c, 0x0b, 0x9e, 0x1e,
+			0xf8, 0x3a, 0xe8, 0x62, 0x95, 0x7b, 0xfa, 0x71,
+			0x3d, 0x07, 0x95, 0xdc, 0x13, 0x8e, 0xb1, 0x55,
+			0xf1, 0xc5, 0x31, 0x2f, 0xf9, 0x60, 0x35, 0x7d,
+			0x49, 0xef, 0x24, 0xc1, 0x6c, 0x4b, 0x97, 0xd8,
+			0xaf, 0x83, 0x43, 0x99, 0x77, 0x37, 0xf5, 0x01,
+			0x22, 0x47, 0xa0, 0x9b, 0xa1, 0x66, 0xc0, 0x92,
+			0xc9, 0x83, 0xb2, 0x97, 0xc1, 0xc5, 0xc2, 0x64,
+			0x8a, 0x3a, 0xdb, 0x3d, 0x85, 0xdf, 0x79, 0xf4,
+			0x29, 0xd0, 0x31, 0x51, 0xc1, 0x3b, 0xde, 0xa8,
+			0xad, 0xb7, 0x52, 0x14, 0xbd, 0x1a, 0xe6, 0xae,
+			0x2d, 0x1a, 0x60, 0x99, 0x37, 0xd3, 0x02, 0x81,
+			0x29, 0x39, 0xd8, 0xf8, 0xf0, 0xab, 0x53, 0x45,
+			0x87, 0x41, 0x83, 0x85, 0x29, 0xc1, 0xea, 0xc6,
+			0x73, 0x06, 0xe9, 0x67, 0x08, 0xcf, 0x10, 0x2a,
+			0xd0, 0xe8, 0x18, 0xd1, 0x13, 0x0e, 0xa7, 0xd2,
+			0xcb, 0xd7, 0x15, 0x86, 0x4c, 0x8c, 0x3f, 0x5b,
+			0x55, 0x46, 0x02, 0xbc, 0x42, 0xd4, 0x15, 0x01,
+			0xdf, 0xbd, 0x62, 0x79, 0xc6, 0x1d, 0x0c, 0xbf,
+			0x76, 0x58, 0x86, 0x41, 0x03, 0xb9, 0x5a, 0xf7,
+			0xde, 0xa5, 0xcb, 0x46, 0x04, 0x1a, 0x00, 0x52,
+			0xc8, 0x6c, 0x7f, 0xbd, 0xb7, 0x2b, 0xfd, 0xda,
+			0x9e, 0x98, 0xe0, 0x92, 0x99, 0xbb, 0x4f, 0xf1,
+			0x05, 0x49, 0x6c, 0xc4, 0x7d, 0xe6, 0x4b, 0x28,
+			0x8c, 0x44, 0x11, 0x31, 0x42, 0x0f, 0xba, 0x13,
+			0x1e, 0x5f, 0x12, 0xeb, 0xbf, 0x03, 0x0d, 0x9f,
+			0xfe, 0x2e, 0x35, 0x50, 0x54, 0xe5, 0xb9, 0xfb,
+			0x1f, 0xa9, 0xf0, 0xd1, 0xc5, 0x16, 0x5c, 0x89,
+			0x59, 0x62, 0x34, 0xe1, 0x8c, 0x7b, 0x7c, 0x77,
+			0x11, 0x6a, 0x4d, 0x77, 0xf1, 0xcc, 0x61, 0xde,
+			0x6b, 0xa0, 0x4b, 0x50, 0x01, 0xcc, 0xba, 0x8a,
+			0x6f, 0xc7, 0x6d, 0xdb, 0x04, 0x74, 0x52, 0xe9,
+			0xbb, 0x1f, 0xe0, 0xcb, 0x18, 0x62, 0x42, 0xfb,
+			0xa5, 0xaf, 0x6f, 0x65, 0x14, 0x01, 0xea, 0x01,
+			0x1d, 0xd4, 0xa1, 0x98, 0x44, 0x91, 0x19, 0x9e,
+			0xe3, 0x45, 0x1d, 0x95, 0x5b, 0xb1, 0x88, 0xf7,
+			0x12, 0xf1, 0xf7, 0xc5, 0x1f, 0x50, 0x19, 0x0b,
+			0x29, 0x9b, 0x9e, 0xce, 0x18, 0xd5, 0xdf, 0xa1,
+			0x5d, 0xe0, 0x70, 0x8e, 0x82, 0x75, 0xfa, 0x8d,
+			0x7d, 0x5f, 0x60, 0x7d, 0xb5, 0xf3, 0xa0, 0xe4,
+			0x0c, 0x69, 0xc3, 0x83, 0x5f, 0x49, 0xe4, 0x9f,
+			0xde, 0xdb, 0x93, 0x44, 0x43, 0xf7, 0xaa, 0x11,
+			0x8c, 0x46, 0xa8, 0x32, 0x1a, 0x93, 0xc9, 0xe6,
+			0xb8, 0x4e, 0xe9, 0x5c, 0x93, 0x99, 0xb7, 0x40,
+			0xf6, 0x8f, 0x56, 0xbd, 0x3f, 0x33, 0x63, 0x3d,
+			0x21, 0x61, 0xec, 0x83, 0xf5, 0xb4, 0x97, 0x74,
+			0x63, 0x13, 0x9a, 0x4e, 0x5b, 0xf8, 0x67, 0xd3,
+			0x04, 0xca, 0xff, 0x69, 0xfa, 0x9d, 0x43, 0xa8,
+			0xb9, 0x3a, 0xda, 0xe1, 0x40, 0x8f, 0x05, 0x57,
+			0xc6, 0xc5, 0x78, 0x73, 0xfe, 0xae, 0x93, 0xa9,
+			0x65, 0xc0, 0xf3, 0x2b, 0x1e, 0x66, 0x0c, 0x19,
+			0x35, 0x78, 0xfa, 0xbc, 0x91, 0xa9, 0xa6, 0xf2,
+			0xaf, 0x6b, 0x93, 0xd0, 0x6c, 0xd2, 0xd8, 0x0d,
+			0xe6, 0x61, 0x5d, 0x44, 0x9e, 0x94, 0xac, 0x9e,
+			0x19, 0xad, 0xfa, 0xe2, 0xc3, 0xa3, 0x46, 0x30,
+			0xf2, 0xb8, 0x90, 0xe7, 0x1b, 0xc6, 0x4b, 0xbb,
+			0xe6, 0xf3, 0x47, 0x54, 0x4d, 0x4c, 0xe4, 0xbc,
+			0xf8, 0x69, 0x90, 0x39, 0xab, 0x03, 0x43, 0xf4,
+			0x64, 0x55, 0x9b, 0xec, 0x95, 0x8b, 0x13, 0x03,
+			0xdf, 0x58, 0x5e, 0x2c, 0xf8, 0x53, 0xe5, 0x42,
+			0x9c, 0x5f, 0x9d, 0x36, 0x4b, 0xad, 0x5f, 0x2c,
+			0xc4, 0x2b, 0x07, 0x43, 0xc4, 0xa3, 0x91, 0xf1,
+			0xf4, 0xf6, 0x3a, 0xef, 0xe7, 0x0b, 0x43, 0xc5,
+			0xc5, 0xef, 0x3f, 0xf7, 0x29, 0xf2, 0x74, 0xae,
+			0x47, 0x0c, 0x7f, 0x6a, 0x75, 0x56, 0x48, 0x06,
+			0x56, 0x4e, 0x73, 0x14, 0x91, 0xd7, 0x27, 0x2b,
+			0x64, 0xe1, 0xd3, 0x68, 0x84, 0x9d, 0x56, 0xc6,
+			0xac, 0xa9, 0xf7, 0x8f, 0x2e, 0xa2, 0x12, 0x48,
+			0xad, 0x28, 0xa7, 0x1a, 0x58, 0x44, 0xcc, 0x69,
+			0xa8, 0x42, 0x32, 0x79, 0xd7, 0x77, 0xee, 0xeb,
+			0x97, 0x13, 0x82, 0x4d, 0xac, 0xb0, 0x08, 0x64,
+			0x34, 0x59, 0xfa, 0xe8, 0x48, 0x12, 0x11, 0x93,
+			0x8d, 0x7d, 0x94, 0x9f, 0x14, 0xd0, 0x06, 0x62,
+			0x4b, 0x51, 0x74, 0x5d, 0x7b, 0x1c, 0x70, 0x68,
+			0x82, 0xab, 0xf2, 0x41, 0xdc, 0xc9, 0x19, 0x64,
+			0x71, 0xa0, 0xcf, 0xd0, 0x16, 0x46, 0x9a, 0x93,
+			0x40, 0x87, 0xa3, 0x7e, 0x1a, 0x19, 0x25, 0x6b,
+			0xe1, 0x72, 0xd4, 0x4a, 0xf2, 0x8a, 0xdf, 0x96,
+			0x9d, 0xfc, 0xb2, 0xe1, 0x53, 0xd1, 0x31, 0x3e,
+			0xeb, 0xd0, 0xdf, 0xde, 0x3f, 0xb1, 0xc3, 0x92,
+			0xdb, 0xd1, 0x7e, 0x0f, 0x4b, 0xac, 0x09, 0x28,
+			0xa4, 0xaf, 0x3c, 0x74, 0x67, 0x19, 0xf0, 0xe5,
+			0xe6, 0x44, 0x3e, 0x47, 0x44, 0x51, 0x31, 0x9e,
+			0xda, 0x3e, 0x4b, 0xd8, 0xd1, 0xba, 0x93, 0x6f,
+			0x62, 0x59, 0xdc, 0x25, 0x35, 0x2c, 0x0c, 0xa6,
+			0xca, 0x28, 0x0a, 0xd5, 0x4c, 0x96, 0x72, 0xd9,
+			0x89, 0xbd, 0xd1, 0x49, 0x70, 0xe1, 0xc6, 0xe7,
+			0x7f, 0xf8, 0x45, 0x39, 0xe3, 0xa5, 0x9d, 0xd2,
+			0xae, 0xf7, 0xd6, 0x19, 0x57, 0x17, 0x57, 0x76,
+			0x31, 0x29, 0xdf, 0x3b, 0xa9, 0x89, 0x72, 0xb0,
+			0x45, 0xea, 0xc9, 0xcf, 0x6d, 0x8e, 0xf7, 0xf1,
+			0x94, 0x98, 0x6a, 0x8b, 0xf7, 0x83, 0xe9, 0xa9,
+			0xda, 0x34, 0xf1, 0x58, 0x90, 0xe5, 0xaf, 0x98,
+			0x42, 0x72, 0xe4, 0x87, 0xff, 0x5d, 0xb6, 0x26,
+			0x35, 0x40, 0x3b, 0xe6, 0x8f, 0xc8, 0x43, 0xe2,
+			0xe7, 0xf9, 0x35, 0x03, 0x27, 0xdb, 0xfc, 0xc1,
+			0x2b, 0x8b, 0xed, 0x3c, 0xaa, 0x1a, 0xb5, 0xc9,
+			0x98, 0xea, 0x58, 0x5c, 0x12, 0x27, 0xc8, 0x6d,
+			0xc8, 0xea, 0x40, 0x01, 0x5c, 0x28, 0x3e, 0x2d,
+			0x4a, 0x98, 0x03, 0x0b, 0xfb, 0xc1, 0x04, 0x0e,
+			0x15, 0x55, 0x5d, 0x9c, 0x19, 0x2d, 0x7d, 0x85,
+			0x0b, 0x33, 0x22, 0x93, 0x11, 0x07, 0x22, 0x66,
+			0x76, 0x3e, 0x49, 0x5d, 0xdf, 0xb7, 0x3e, 0x49,
+			0x3a, 0x27, 0x4b, 0xdd, 0x4d, 0x71, 0xe7, 0x75,
+			0x69, 0xc4, 0xfc, 0x59, 0x26, 0xdf, 0xa8, 0x59,
+			0x9f, 0xff, 0x86, 0xed, 0x25, 0x89, 0x51, 0xae,
+			0x42, 0x62, 0x41, 0x08, 0x42, 0x1f, 0x20, 0x0a,
+			0x0e, 0x50, 0x56, 0xb5, 0x54, 0xb8, 0xd7, 0x59,
+			0xe1, 0x3a, 0x57, 0x63, 0x45, 0x2d, 0xcd, 0x3f,
+			0x10, 0xb8, 0xfd, 0xd8, 0xb0, 0xd4, 0xe4, 0x90,
+			0x96, 0x9a, 0x5b, 0x8d, 0x1e, 0x6c, 0x6f, 0x7d,
+			0x78, 0x2b, 0x13, 0x51, 0xfd, 0xbc, 0x9e, 0xc2,
+			0x05, 0x2a, 0x08, 0xa2, 0x4d, 0x5c, 0x81, 0xec,
+			0xdd, 0x15, 0xba, 0xa1, 0x27, 0x60, 0xa0, 0x92,
+			0x34, 0x6a, 0x33, 0x7c, 0xf2, 0x6f, 0xdc, 0xce,
+			0x5d, 0x20, 0x27, 0x32, 0xcd, 0xa2, 0x71, 0x46,
+			0xc5, 0x1c, 0x90, 0xd1, 0x56, 0x4b, 0xe7, 0xe8,
+			0x3f, 0x08, 0x91, 0x2f, 0x3c, 0x01, 0x9d, 0x15,
+			0x50, 0x2c, 0x9b, 0x6e, 0xfb, 0xc5, 0x75, 0x3b,
+			0xdc, 0x90, 0x9e, 0xf0, 0x8e, 0x15, 0x3c, 0x33,
+			0x0f, 0x52, 0x53, 0x4f, 0x0f, 0xdc, 0x63, 0xc6,
+			0xa7, 0x0d, 0x99, 0x76, 0xef, 0x8c, 0x34, 0x13,
+			0x3d, 0xdf, 0xc3, 0x5b, 0xea, 0x70, 0x7b, 0x67,
+			0x90, 0xed, 0xfb, 0x3c, 0x3d, 0xf9, 0x71, 0x62,
+			0xae, 0x45, 0x00, 0xb1, 0x22, 0x45, 0x23, 0xd7,
+			0x5e, 0xdf, 0xfb, 0xb3, 0x55, 0x37, 0x5c, 0x40,
+			0xda, 0x83, 0xc1, 0x0f, 0x75, 0x39, 0xc3, 0xd0,
+			0x9e, 0x49, 0xa7, 0x2b, 0xf5, 0xc1, 0x56, 0xc1,
+			0x9a, 0x90, 0x94, 0x81, 0x9b, 0xd6, 0x97, 0x43,
+			0x96, 0x5b, 0x37, 0xf5, 0x70, 0x75, 0x82, 0xbc,
+			0x55, 0xe6, 0x90, 0xc7, 0x98, 0x93, 0x0f, 0xfb,
+			0xde, 0x8c, 0xc8, 0x72, 0x93, 0xb5, 0xdb, 0xc6,
+			0xef, 0x34, 0xf9, 0xcd, 0x17, 0x73, 0xc8, 0xb5,
+			0xba, 0x75, 0x70, 0xd5, 0x41, 0xb3, 0xac, 0x60,
+			0x3f, 0xa5, 0x27, 0xcf, 0x0a, 0x17, 0x6d, 0x8f,
+			0xcd, 0xf7, 0x33, 0x29, 0xf6, 0x37, 0xdd, 0x81,
+			0x71, 0x75, 0xb2, 0x71, 0x95, 0x28, 0x36, 0x76,
+			0x7d, 0xb0, 0xaa, 0x19, 0xa9, 0xfb, 0xb6, 0xd2,
+			0xec, 0xf6, 0x13, 0xaf, 0x40, 0x8a, 0x23, 0x89,
+			0x2f, 0x8f, 0xe0, 0x83, 0xcd, 0xa7, 0x3d, 0x0a,
+			0xeb, 0x64, 0x07, 0xcc, 0x2a, 0x2d, 0xe7, 0x1f,
+			0x77, 0x65, 0x3b, 0xf1, 0xb7, 0xfb, 0x31, 0x32,
+			0xa3, 0x2b, 0xf5, 0xb2, 0x5c, 0x6b, 0xf7, 0x64,
+			0xaa, 0xd5, 0xe7, 0x14, 0x32, 0xbf, 0x3c, 0xec,
+			0xe0, 0x63, 0xb4, 0x9c, 0x44, 0xed, 0x4b, 0x96,
+			0x03, 0xc0, 0x8c, 0x99, 0x62, 0xcb, 0xe1, 0xd5,
+			0xa3, 0x16, 0x5f, 0x95, 0x78, 0x4a, 0x98, 0x19,
+			0x4b, 0x4e, 0x74, 0x92, 0x12, 0x41, 0x4f, 0xd0,
+			0xf3, 0x4b, 0x24, 0x68, 0xd3, 0xcb, 0xda, 0x35,
+			0x61, 0xda, 0x6f, 0xa6, 0x80, 0x93, 0x82, 0xd0,
+			0xd3, 0x11, 0x9a, 0xb4, 0xbf, 0xb8, 0x8f, 0x68,
+			0x84, 0x7b, 0x27, 0x96, 0xce, 0x7c, 0x11, 0x06,
+			0x44, 0x2b, 0x6e, 0x39, 0x37, 0x36, 0x55, 0xe6,
+			0x21, 0x44, 0x63, 0xce, 0x80, 0x0f, 0xdc, 0xad,
+			0xef, 0xc9, 0x30, 0x05, 0x3a, 0x40, 0x1f, 0x8e,
+			0x5b, 0x79, 0x41, 0xcd, 0x6a, 0x57, 0xd0, 0xf2,
+			0xee, 0x65, 0xdf, 0xb0, 0xac, 0x89, 0xd9, 0x4b,
+			0xe5, 0xf2, 0xce, 0x85, 0xdf, 0x80, 0x7f, 0x9b,
+			0x86, 0xd4, 0x00, 0x7a, 0x3e, 0xfa, 0xcd, 0xbd,
+			0xe2, 0xcb, 0xa2, 0x5f, 0x1d, 0x04, 0xa2, 0x1e,
+			0xf5, 0xc7, 0x07, 0x5b, 0x17, 0xd3, 0xfb, 0xd1,
+			0x95, 0x8e, 0xe3, 0x6e, 0xbc, 0xff, 0xd4, 0xe0,
+			0x97, 0xd6, 0x8c, 0xab, 0x11, 0x1e, 0x53, 0x16,
+			0x40, 0x0a, 0x06, 0x23, 0x50, 0x15, 0x82, 0x87,
+			0x19, 0xcf, 0xee, 0x44, 0x5b, 0x3c, 0x60, 0x78,
+			0xe7, 0xcd, 0x13, 0xf6, 0x03, 0x9f, 0x23, 0xa0,
+			0x74, 0x0b, 0x4c, 0xfe, 0x7f, 0x21, 0xa4, 0x11,
+			0xf9, 0x62, 0xeb, 0xe3, 0xe3, 0x5d, 0x5a, 0x7b,
+			0x54, 0xc5, 0x10, 0x5c, 0x42, 0x2a, 0x10, 0x7e,
+			0x82, 0x3c, 0x9a, 0x8f, 0xa1, 0x75, 0xac, 0x4c,
+			0xe7, 0x2b, 0xfc, 0xd7, 0xd0, 0x7b, 0x05, 0x42,
+			0xc6, 0xa3, 0x8e, 0x9b, 0x68, 0xfd, 0x45, 0x4e,
+			0xec, 0x25, 0x01, 0x0e, 0x45, 0x26, 0x31, 0x5a,
+			0x7b, 0x8b, 0xe1, 0x69, 0xd0, 0x80, 0xc9, 0xb8,
+			0xd0, 0xc2, 0x6c, 0xb6, 0x76, 0xff, 0x1f, 0xa8,
+			0x26, 0xed, 0x51, 0xa6, 0xde, 0x93, 0x18, 0x8c,
+			0x21, 0xf1, 0x58, 0x9d, 0x58, 0xfd, 0xaa, 0x95,
+			0x98, 0xbd, 0x4c, 0xe6, 0xe8, 0xa6, 0x0a, 0x2d,
+			0x9e, 0x0e, 0x1b, 0x58, 0x72, 0xe6, 0xe4, 0xdd,
+			0x38, 0x69, 0x8e, 0x87, 0x05, 0x41, 0x40, 0xd6,
+			0x63, 0xab, 0xef, 0x52, 0x39, 0x5e, 0x13, 0xc2,
+			0x5a, 0x70, 0x27, 0x17, 0xb7, 0x3f, 0x93, 0x85,
+			0x0d, 0x7c, 0x20, 0x7c, 0xc3, 0xdb, 0xfe, 0x8e,
+			0x33, 0x11, 0x2c, 0x6e, 0x73, 0xb0, 0x6b, 0xfb,
+			0xa8, 0x87, 0xaa, 0x1b, 0x07, 0xfd, 0x43, 0x7e,
+			0x87, 0xe8, 0xb9, 0xca, 0x44, 0x8c, 0xc2, 0x01,
+			0xfa, 0xa6, 0x9a, 0x48, 0x44, 0xd7, 0x60, 0x1c,
+			0x62, 0x5b, 0xa0, 0xe9, 0xaf, 0xf5, 0x1f, 0xad,
+			0xa7, 0x2d, 0x68, 0xbc, 0xcb, 0x24, 0xa2, 0x5d,
+			0x5d, 0x87, 0x0a, 0x9b, 0xae, 0x77, 0x73, 0xf8,
+			0x7b, 0x91, 0x31, 0x23, 0x29, 0xd4, 0x1f, 0xb7,
+			0xf1, 0xfb, 0x75, 0x84, 0x09, 0xd6, 0xc2, 0x7d,
+			0x11, 0x8b, 0x69, 0xae, 0xdc, 0x83, 0xb7, 0xb4,
+			0xbd, 0xc3, 0x97, 0x59, 0xac, 0xf5, 0x25, 0x6d,
+			0xd1, 0x00, 0x6a, 0xb8, 0xf3, 0xf6, 0x7e, 0x62,
+			0x29, 0x56, 0xe3, 0x5b, 0xa2, 0x5b, 0xb1, 0x66,
+			0xb6, 0x6f, 0x2f, 0x6c, 0xdc, 0xf2, 0x7d, 0x6a,
+			0x96, 0x45, 0x8a, 0x88, 0x0d, 0x47, 0x65, 0xe3,
+			0x53, 0xb0, 0x54, 0x3b, 0xa2, 0xd9, 0xe5, 0x4b,
+			0x1d, 0xde, 0xf4, 0xac, 0xbf, 0xb5, 0x2f, 0xcc,
+			0x68, 0x06, 0x77, 0x14, 0xfb, 0x95, 0x69, 0x65,
+			0x77, 0xf4, 0xa6, 0xa0, 0x5c, 0x45, 0x18, 0xc3,
+			0x10, 0x74, 0x22, 0x4a, 0xe3, 0x78, 0xce, 0x75,
+			0x82, 0xf6, 0x89, 0x85, 0x11, 0x60, 0x8e, 0xa8,
+			0x80, 0x39, 0x7b, 0xd2, 0xde, 0xe6, 0x4d, 0x92,
+			0xdc, 0xbf, 0x1e, 0x78, 0x58, 0xde, 0xfc, 0xe7,
+			0x0f, 0x16, 0x6d, 0xbd, 0xa6, 0x61, 0x98, 0x8b,
+			0x2b, 0xd3, 0xeb, 0xa7, 0x5a, 0xb6, 0x94, 0x8b,
+			0xdf, 0xf8, 0x65, 0x4f, 0x4d, 0xd2, 0x43, 0xdb,
+			0x16, 0x44, 0x08, 0xc7, 0x58, 0xca, 0x50, 0xdd,
+			0x0d, 0xe3, 0xc6, 0x96, 0x8c, 0x02, 0xb5, 0xcc,
+			0x0c, 0x5b, 0x28, 0x95, 0x03, 0x00, 0x13, 0xa7,
+			0x9a, 0x65, 0xad, 0xdd, 0x11, 0x18, 0x99, 0x2f,
+			0xd4, 0x45, 0x38, 0x4e, 0x37, 0x82, 0x29, 0x70,
+			0x6a, 0x3b, 0xaf, 0x9a, 0x89, 0x66, 0x79, 0x57,
+			0xfe, 0x73, 0x71, 0x56, 0x92, 0xc9, 0x76, 0x02,
+			0x63, 0x1e, 0xa8, 0x24, 0x1a, 0xeb, 0x9e, 0xac,
+			0x0a, 0xd8, 0x86, 0x5c, 0x75, 0xb1, 0x05, 0x9c,
+			0xd3, 0x4f, 0x4b, 0x90, 0x76, 0xb3, 0xf1, 0x91,
+			0x76, 0xb4, 0x77, 0xee, 0x4c, 0x10, 0x49, 0x20,
+			0xc8, 0x9f, 0x80, 0xd0, 0xbd, 0x78, 0xa8, 0xc9,
+			0x92, 0x6c, 0x66, 0x77, 0x1a, 0xe2, 0x62, 0x0c,
+			0x71, 0x32, 0xd9, 0xf9, 0x83, 0x8b, 0x3c, 0xbd,
+			0x22, 0xb6, 0xf9, 0xe8, 0x72, 0xf4, 0xab, 0x17,
+			0x50, 0x92, 0xf2, 0xf6, 0x8c, 0x6c, 0x09, 0x03,
+			0x68, 0xfc, 0x6a, 0x31, 0x9f, 0x62, 0xeb, 0x4b,
+			0xb5, 0x4a, 0xfa, 0xd9, 0xe3, 0x9e, 0xfb, 0x90,
+			0xa4, 0x52, 0xe4, 0x43, 0xb3, 0x2d, 0x82, 0x66,
+			0x85, 0x45, 0x00, 0x51, 0x3f, 0x36, 0x08, 0x37,
+			0x1e, 0x72, 0xa1, 0xf3, 0x1c, 0x86, 0xdf, 0xd9,
+			0x49, 0x64, 0xa3, 0xf4, 0x46, 0x86, 0xae, 0x62,
+			0x3a, 0x26, 0x7b, 0x22, 0xfb, 0xef, 0x06, 0xb5,
+			0x2d, 0x86, 0xc6, 0xd4, 0x71, 0x76, 0x8c, 0xfd,
+			0xf8, 0x9f, 0x2d, 0xe2, 0xf5, 0x1c, 0x01, 0x98,
+			0xd9, 0xfb, 0xbd, 0xd1, 0xd6, 0x28, 0xc9, 0xe8,
+			0x7c, 0x2c, 0x19, 0xfa, 0x7e, 0x68, 0x0d, 0x92,
+			0x84, 0x0f, 0xb2, 0xca, 0xbb, 0x44, 0x9c, 0xf2,
+			0xd6, 0x6f, 0xa8, 0x00, 0xe9, 0xac, 0x54, 0x93,
+			0x59, 0x17, 0x48, 0x35, 0xba, 0xfb, 0x13, 0x1b,
+			0x78, 0x47, 0x08, 0x9b, 0x22, 0x66, 0xbf, 0x6a,
+			0xef, 0xfb, 0xd5, 0xe9, 0x59, 0xe6, 0x41, 0xd9,
+			0x62, 0x3b, 0xfa, 0x48, 0x1a, 0x18, 0xf7, 0x20,
+			0x64, 0x34, 0xbc, 0xa6, 0x60, 0x2b, 0xbf, 0xad,
+			0x84, 0x8c, 0x9c, 0x79, 0xb7, 0x99, 0xc4, 0xd0,
+			0xf7, 0xe7, 0x30, 0x86, 0xe7, 0xc7, 0x41, 0xcb,
+			0x25, 0x47, 0x47, 0x5a, 0x94, 0x3d, 0x6d, 0x18,
+			0x72, 0xdb, 0xdd, 0x0f, 0x07, 0xd3, 0x4c, 0x3e,
+			0x30, 0x36, 0xa8, 0x81, 0x02, 0xe0, 0x55, 0xc2,
+			0xbc, 0x06, 0xc9, 0x78, 0x82, 0xd4, 0xc8, 0x99,
+			0x77, 0x0b, 0x5d, 0xd4, 0x6c, 0x56, 0x08, 0x1c,
+			0x80, 0x5d, 0x80, 0x30, 0x7b, 0x82, 0xa1, 0x38,
+			0xf8, 0x96, 0xdf, 0xc2, 0xd9, 0xe8, 0x76, 0xc6,
+			0xa9, 0x62, 0xa8, 0x7e, 0xc2, 0x5a, 0x03, 0x66,
+			0xc0, 0x22, 0x20, 0x81, 0xd9, 0xec, 0x62, 0x1d,
+			0x06, 0x58, 0x88, 0x23, 0xfb, 0x84, 0x32, 0x99,
+			0x1e, 0x2d, 0xd2, 0xe2, 0xed, 0x4f, 0x85, 0xbb,
+			0x36, 0xfc, 0x98, 0x34, 0xa7, 0x44, 0x30, 0x29,
+			0x53, 0xbe, 0x24, 0x40, 0x87, 0xc9, 0xd5, 0xbf,
+			0x1a, 0xe4, 0x35, 0x19, 0x66, 0x70, 0x3b, 0xc6,
+			0x3c, 0x2a, 0x12, 0x11, 0xbf, 0xa3, 0x59, 0x58,
+			0x07, 0x1a, 0xdc, 0x94, 0x04, 0xf2, 0xbc, 0xd7,
+			0xf4, 0xeb, 0x07, 0xbb, 0x1a, 0x64, 0x76, 0xd4,
+			0xa1, 0x4a, 0xbe, 0xca, 0xbf, 0x7d, 0xba, 0xa4,
+			0x16, 0x24, 0xf3, 0xc2, 0x66, 0xa2, 0x03, 0xc9,
+			0x59, 0xaa, 0xd1, 0x5b, 0xa7, 0xd5, 0x52, 0x7b,
+			0x50, 0x72, 0x97, 0xa7, 0x74, 0x0c, 0xc6, 0xde,
+			0xe5, 0x7c, 0xc6, 0x48, 0x2d, 0x68, 0x26, 0x38,
+			0x2d, 0x08, 0x3c, 0xf5, 0x1d, 0xcb, 0x45, 0x06,
+			0x5b, 0xaa, 0xe0, 0x87, 0x0c, 0x45, 0xd3, 0x5a,
+			0xe4, 0xab, 0x22, 0xa4, 0xe5, 0x38, 0xda, 0xbf,
+			0x89, 0x4b, 0x39, 0xa0, 0x65, 0xe1, 0x7f, 0xcb,
+			0x82, 0xd1, 0xb8, 0xe4, 0x66, 0xdf, 0xeb, 0x8c,
+			0xbb, 0xa5, 0x2a, 0x4d, 0x85, 0x3a, 0xef, 0xab,
+			0x66, 0x13, 0x55, 0xa9, 0x9b, 0x2f, 0xb6, 0x7e,
+			0x03, 0x3e, 0x45, 0x63, 0xda, 0x25, 0x39, 0x3f,
+			0x8a, 0x8d, 0x9a, 0xd6, 0x01, 0x64, 0x7f, 0x93,
+			0x9c, 0xa3, 0xb6, 0x06, 0x18, 0x3b, 0x43, 0x5b,
+			0x76, 0x7b, 0xb8, 0xb9, 0xf4, 0x38, 0x3d, 0x3e,
+			0x4e, 0x51, 0x66, 0x9a, 0xb3, 0xc3, 0x05, 0xa2,
+			0xbc, 0xca, 0xce, 0xff, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+			0x0c, 0x13, 0x1d, 0x26, 0x2c, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0xba, 0x4a, 0xf9, 0x35, 0xb4, 0x45, 0x33, 0x86,
+			0xd2, 0xb6, 0xc1, 0x3a, 0x55, 0x85, 0xc1, 0xff,
+			0xca, 0xe0, 0x0e, 0x26, 0x01, 0x6b, 0x1d, 0x88,
+			0x7d, 0x67, 0x6c, 0xa8, 0xac, 0x6d, 0x90, 0xdb,
+			0x60, 0xf2, 0x21, 0xe8, 0x24, 0x95, 0x8c, 0x0d,
+			0x16, 0x41, 0x46, 0x59, 0x08, 0x24, 0xbe, 0x15,
+			0x50, 0x63, 0xf6, 0xe2, 0x2a, 0x36, 0xf4, 0x55,
+			0x2e, 0xb0, 0xab, 0x5b, 0xe0, 0xc0, 0x82, 0x98,
+			0xe3, 0x2f, 0x40, 0x99, 0x4e, 0x8f, 0x1c, 0x08,
+			0x0c, 0xfc, 0x6b, 0x32, 0xbb, 0x5a, 0x28, 0xd1,
+			0xdd, 0xab, 0xc4, 0xf5, 0x04, 0x01, 0x68, 0x26,
+			0x02, 0xb9, 0x76, 0x87, 0x32, 0xed, 0xfc, 0x4c,
+			0x5e, 0x4c, 0xa0, 0x87, 0x87, 0xdb, 0x58, 0x95,
+			0x11, 0x5c, 0x38, 0x42, 0x17, 0xed, 0x16, 0xe2,
+			0xaf, 0x4e, 0x91, 0x4c, 0x3e, 0xe0, 0x57, 0x24,
+			0x60, 0x19, 0x67, 0x39, 0xb9, 0x45, 0x2e, 0x9e,
+			0x20, 0xeb, 0x66, 0x0b, 0xd9, 0xd3, 0x70, 0x82,
+			0x1f, 0xf9, 0xff, 0xe1, 0x5e, 0x1b, 0x83, 0x4d,
+			0x12, 0x3e, 0xe8, 0xdc, 0x33, 0xec, 0x11, 0x3e,
+			0x2b, 0x37, 0x4f, 0xaf, 0x2a, 0x3d, 0x18, 0x63,
+			0x14, 0x8a, 0x8e, 0xfd, 0xd4, 0x75, 0x0a, 0x12,
+			0xb3, 0x02, 0x3f, 0x64, 0x36, 0xfa, 0x4e, 0x9a,
+			0xed, 0x95, 0x37, 0x3c, 0x0d, 0x21, 0x7c, 0xd3,
+			0x90, 0x44, 0xc9, 0xfb, 0x19, 0x19, 0x98, 0xd8,
+			0x5a, 0xe0, 0x74, 0xad, 0x0e, 0xa6, 0xda, 0x2f,
+			0x09, 0xba, 0xe2, 0x77, 0x54, 0xa8, 0xbc, 0xe8,
+			0x13, 0xb2, 0xc3, 0x46, 0x45, 0x9b, 0xc3, 0x08,
+			0x73, 0xf1, 0x53, 0x82, 0xfd, 0x81, 0xca, 0x3e,
+			0xe2, 0x09, 0xa1, 0x73, 0x27, 0x94, 0xd5, 0x76,
+			0xf2, 0xe8, 0x09, 0x0d, 0xaf, 0xe5, 0x4c, 0xa9,
+			0xa3, 0x13, 0x9a, 0xe6, 0xd2, 0x04, 0x87, 0x3d,
+			0x5e, 0x34, 0x65, 0xbf, 0xdc, 0x4b, 0x4b, 0xf5,
+			0xab, 0x28, 0x44, 0x28, 0x76, 0x4a, 0xe4, 0xd2,
+			0x71, 0x03, 0xd3, 0xc2, 0x97, 0x29, 0x19, 0xcf,
+			0xfd, 0x16, 0xad, 0x52, 0x07, 0x50, 0x65, 0x07,
+			0xc6, 0x7e, 0x69, 0x0d, 0xec, 0x26, 0x81, 0x13,
+			0xbf, 0x7c, 0x5e, 0x8a, 0xf0, 0xee, 0xbd, 0x97,
+			0xe5, 0xce, 0x3d, 0x17, 0x9f, 0x38, 0xcf, 0x30,
+			0xe2, 0xf9, 0xd9, 0xc5, 0x1f, 0xf5, 0x20, 0x81,
+			0x79, 0x10, 0x9b, 0xee, 0x8f, 0xed, 0x0c, 0x9b,
+			0x96, 0x87, 0x89, 0x4d, 0xc5, 0x01, 0x19, 0x38,
+			0x11, 0x11, 0x36, 0x71, 0x0f, 0x9f, 0x0f, 0xfb,
+			0x9b, 0x1e, 0xf1, 0x26, 0x3b, 0x10, 0x43, 0xe9,
+			0x4f, 0x14, 0xef, 0xef, 0x34, 0xfc, 0x59, 0xfe,
+			0x82, 0x9e, 0xaa, 0x31, 0x6d, 0x0b, 0xae, 0xb6,
+			0x9e, 0xef, 0xe2, 0xcc, 0x19, 0x27, 0xf0, 0xe9,
+			0xf5, 0xab, 0x03, 0xeb, 0x1f, 0xef, 0x42, 0x75,
+			0x5d, 0xf2, 0x9f, 0x7f, 0xdd, 0xf8, 0x07, 0x45,
+			0x27, 0x8b, 0x6e, 0xb8, 0x25, 0x86, 0xc7, 0xe8,
+			0x4e, 0x1e, 0x60, 0x08, 0xf9, 0x90, 0x9e, 0xf2,
+			0xad, 0xca, 0xdf, 0x56, 0x4f, 0xf6, 0x0a, 0xc3,
+			0x53, 0x2c, 0xf9, 0x2c, 0xdd, 0xd6, 0xf2, 0x9d,
+			0x6d, 0x33, 0x61, 0x2e, 0xb0, 0x3f, 0x16, 0xa0,
+			0x18, 0x8e, 0xcb, 0x33, 0x32, 0x0f, 0x51, 0x6d,
+			0xfe, 0x8a, 0x07, 0x0d, 0x06, 0x42, 0x66, 0x6d,
+			0x67, 0x36, 0xb7, 0x8c, 0x26, 0x27, 0x90, 0xd8,
+			0xe8, 0xd9, 0xc1, 0x97, 0x0f, 0xe3, 0x73, 0x0d,
+			0xa8, 0x47, 0xa8, 0xea, 0x46, 0x8e, 0x52, 0x12,
+			0x2a, 0x67, 0xeb, 0x90, 0xb7, 0x78, 0x47, 0x0c,
+			0x78, 0x22, 0xed, 0xe0, 0xac, 0xdd, 0x9b, 0x2b,
+			0xf1, 0x4c, 0x7d, 0xfb, 0x7f, 0x33, 0xc9, 0xcd,
+			0x73, 0x6d, 0x65, 0x7a, 0xe9, 0xf8, 0xdc, 0xd0,
+			0x09, 0x49, 0x1d, 0x03, 0xed, 0x24, 0xa4, 0xdd,
+			0x0f, 0x68, 0xff, 0x08, 0xe8, 0x01, 0x43, 0xf9,
+			0x42, 0x59, 0x21, 0xf0, 0x21, 0xc5, 0x1b, 0xc4,
+			0x84, 0x8b, 0x5f, 0x6c, 0x31, 0xe7, 0x44, 0x92,
+			0x42, 0xe0, 0xc5, 0x4c, 0x01, 0x05, 0x87, 0xb8,
+			0xda, 0xad, 0x57, 0xb8, 0xb8, 0x55, 0xf5, 0x44,
+			0xac, 0xea, 0xd3, 0xd1, 0x46, 0xe2, 0x89, 0xe2,
+			0x7c, 0x16, 0x25, 0x9a, 0xca, 0x9a, 0xdb, 0x10,
+			0xf1, 0x73, 0x6e, 0xef, 0xca, 0x71, 0x86, 0xeb,
+			0xe3, 0xd6, 0x95, 0xc0, 0xc0, 0x9b, 0xb5, 0x47,
+			0x12, 0x75, 0x27, 0x7c, 0x65, 0xfe, 0x5d, 0x62,
+			0xaa, 0x55, 0x47, 0x8a, 0x9b, 0xbf, 0x18, 0xcb,
+			0x52, 0x57, 0x5e, 0x2c, 0xda, 0xd1, 0x49, 0x1f,
+			0x8f, 0x75, 0x6a, 0x38, 0x75, 0x7a, 0x82, 0x41,
+			0x46, 0x1c, 0xd4, 0xf3, 0xdb, 0xf8, 0x4a, 0x0c,
+			0x55, 0x21, 0x87, 0xfc, 0xf4, 0x71, 0x0a, 0x3d,
+			0x07, 0xea, 0x79, 0x18, 0x89, 0xdd, 0x97, 0x9f,
+			0x52, 0x30, 0x78, 0xb0, 0x54, 0x7f, 0xfc, 0x6c,
+			0x8c, 0x4f, 0xc9, 0xbd, 0x22, 0x00, 0xef, 0xd8,
+			0x27, 0x26, 0xb3, 0x5f, 0x60, 0x14, 0xad, 0x69,
+			0x46, 0x84, 0xdc, 0x38, 0xbd, 0xfb, 0x4e, 0x46,
+			0xec, 0xa6, 0x90, 0x25, 0xe5, 0x31, 0xff, 0xd5,
+			0xce, 0x74, 0x1f, 0xca, 0xae, 0x4b, 0x5a, 0x2f,
+			0x53, 0x13, 0xd7, 0x6f, 0x32, 0x25, 0x57, 0xb1,
+			0x88, 0x0b, 0x9c, 0xad, 0x54, 0x00, 0xcd, 0x2c,
+			0xec, 0x5d, 0x46, 0x4c, 0xbc, 0x93, 0x5b, 0xb1,
+			0xde, 0xf3, 0x05, 0x96, 0x60, 0x4a, 0xd1, 0xa9,
+			0x52, 0xd5, 0xfd, 0x0a, 0xd0, 0x84, 0x06, 0x91,
+			0x00, 0xf9, 0xf4, 0x47, 0x1c, 0xc8, 0x46, 0x99,
+			0xcb, 0x25, 0x23, 0x64, 0x9c, 0xa2, 0x79, 0xe3,
+			0x04, 0xe9, 0x90, 0x83, 0xb6, 0xe6, 0x3f, 0xac,
+			0x1a, 0x46, 0xa3, 0x9b, 0x07, 0xeb, 0xbd, 0xf8,
+			0x3d, 0xc0, 0xd1, 0x2c, 0x35, 0x29, 0x58, 0xf9,
+			0x24, 0x49, 0xef, 0xff, 0x33, 0x84, 0x21, 0xb0,
+			0x71, 0x67, 0x4a, 0xb8, 0xa6, 0x81, 0x9f, 0xe8,
+			0x1a, 0x27, 0xf6, 0x8e, 0xfa, 0xda, 0xda, 0x0a,
+			0xdf, 0xd8, 0x96, 0x9e, 0xd2, 0x09, 0x82, 0x09,
+			0x5b, 0x39, 0xcd, 0x92, 0x24, 0xf8, 0xea, 0x60,
+			0x7c, 0x84, 0x51, 0x62, 0x00, 0xc1, 0xc9, 0x29,
+			0x75, 0xa5, 0x53, 0x5c, 0x19, 0xe1, 0xdd, 0x21,
+			0xd8, 0x9a, 0xa5, 0x42, 0x85, 0xd6, 0x03, 0x92,
+			0x13, 0x68, 0x09, 0x11, 0xae, 0x60, 0xb4, 0x61,
+			0xf5, 0xf0, 0x72, 0xc6, 0xb8, 0x02, 0x1e, 0xb6,
+			0xa1, 0xd5, 0x52, 0xfa, 0xde, 0xf9, 0x41, 0xc3,
+			0x45, 0xb9, 0xe1, 0x1b, 0xa8, 0xb9, 0xff, 0xff,
+			0x05, 0x38, 0xef, 0x61, 0x97, 0x87, 0x18, 0x4f,
+			0x65, 0x77, 0xef, 0x70, 0xfe, 0x14, 0x21, 0xd6,
+			0x1a, 0x39, 0x92, 0xbf, 0x66, 0xfa, 0xb8, 0xf4,
+			0x3d, 0xba, 0x86, 0x92, 0x13, 0xfe, 0x43, 0x4f,
+			0x92, 0xc0, 0x3d, 0x17, 0x47, 0x19, 0xe6, 0xfc,
+			0xa0, 0x6e, 0x6b, 0x6a, 0xb3, 0x44, 0x03, 0x3b,
+			0x43, 0xe3, 0x4c, 0x9a, 0x0f, 0xb9, 0xbe, 0x71,
+			0xc4, 0x87, 0x0c, 0xdb, 0xa3, 0x87, 0xf6, 0x33,
+			0x35, 0x12, 0xa1, 0x78, 0xda, 0x9b, 0x46, 0x9f,
+			0x1b, 0x3a, 0x61, 0x49, 0x60, 0xab, 0x72, 0x88,
+			0x43, 0x82, 0xe5, 0x2d, 0xc9, 0xa9, 0x13, 0xb2,
+			0xd6, 0x01, 0xf1, 0xa9, 0xd3, 0x33, 0xca, 0xcd,
+			0x03, 0x1b, 0x2c, 0x8b, 0x42, 0xb7, 0x4d, 0xba,
+			0x6c, 0x03, 0xc9, 0x64, 0x8f, 0xe0, 0xd0, 0x4f,
+			0xa4, 0x0c, 0xad, 0x8a, 0x49, 0x45, 0x95, 0x9d,
+			0xcb, 0x50, 0x30, 0x82, 0x01, 0x9c, 0xf2, 0x71,
+			0xfd, 0xf3, 0x71, 0xfb, 0xe6, 0xa2, 0x2e, 0xd2,
+			0xe4, 0x69, 0x2e, 0x66, 0x48, 0x86, 0xd1, 0x49,
+			0xf7, 0xa8, 0x31, 0x61, 0xa7, 0xe0, 0xfd, 0x09,
+			0xa8, 0x04, 0x6c, 0x2f, 0xdf, 0xdd, 0x15, 0x21,
+			0xd9, 0x4f, 0xaa, 0x7e, 0x29, 0xd8, 0x54, 0x6b,
+			0xf1, 0x12, 0x96, 0x52, 0x73, 0x23, 0xbd, 0x63,
+			0xaa, 0xb0, 0xb5, 0x6c, 0x6b, 0x21, 0x00, 0xa0,
+			0xc8, 0x13, 0xd4, 0xe1, 0xab, 0x0b, 0xf9, 0x79,
+			0xe8, 0x53, 0x2b, 0x1f, 0x57, 0xc4, 0x4d, 0x7d,
+			0x85, 0x30, 0xb4, 0x6a, 0x04, 0x2b, 0x56, 0x21,
+			0xd5, 0xd1, 0x3d, 0x86, 0xf0, 0x53, 0xbe, 0x89,
+			0x00, 0xdc, 0x84, 0x3e, 0x4b, 0x65, 0xb2, 0x30,
+			0x24, 0xa3, 0x57, 0x42, 0x77, 0x33, 0x5d, 0xc7,
+			0x8c, 0xa7, 0x89, 0xf2, 0xa8, 0x2c, 0x0c, 0xf5,
+			0x15, 0xd4, 0xe6, 0x89, 0x69, 0x9b, 0xb0, 0x9b,
+			0x72, 0xd7, 0x1c, 0xc0, 0xaf, 0x35, 0x31, 0x0d,
+			0xee, 0x92, 0x7b, 0x90, 0x32, 0x3a, 0x93, 0x0a,
+			0xd1, 0x73, 0x39, 0x37, 0x4f, 0xd0, 0x7d, 0x9f,
+			0x40, 0x2e, 0x86, 0xff, 0xb5, 0xf6, 0x02, 0x32,
+			0x39, 0x0a, 0x1f, 0x1a, 0x4e, 0xcc, 0xf2, 0xae,
+			0x74, 0x46, 0x76, 0xc7, 0xef, 0xff, 0xf2, 0xf7,
+			0x05, 0x30, 0xc4, 0xa6, 0x84, 0x0f, 0x8d, 0x4b,
+			0xfd, 0x63, 0x84, 0x82, 0x3f, 0xdb, 0x2f, 0x9c,
+			0x58, 0x81, 0xc5, 0x5c, 0x92, 0x5a, 0x3d, 0x6b,
+			0xf1, 0x26, 0xc6, 0xc4, 0xaa, 0x10, 0x99, 0x63,
+			0xe5, 0x66, 0xf7, 0x14, 0xfc, 0xed, 0x51, 0xce,
+			0x0e, 0x59, 0x83, 0xd6, 0xc7, 0x9a, 0xe4, 0xeb,
+			0x8a, 0x5e, 0x84, 0xd1, 0x51, 0xd9, 0xc4, 0x34,
+			0xe7, 0x21, 0x68, 0x34, 0x04, 0xb4, 0x9b, 0x4f,
+			0x8b, 0xa6, 0xd6, 0x19, 0x83, 0x68, 0xd4, 0x12,
+			0xac, 0xf9, 0xad, 0xb2, 0x4f, 0x42, 0x7d, 0xe2,
+			0x57, 0x00, 0x94, 0xf8, 0xdb, 0xeb, 0xe9, 0xcb,
+			0xb2, 0x24, 0x61, 0x28, 0x99, 0x80, 0x06, 0x50,
+			0x20, 0x87, 0xd9, 0x71, 0xc6, 0xcb, 0x11, 0x8c,
+			0x3f, 0x41, 0xdb, 0x17, 0xa6, 0xd0, 0x3c, 0x42,
+			0xbe, 0x31, 0x83, 0xe8, 0x3e, 0x09, 0x1d, 0xb3,
+			0x42, 0x51, 0xcf, 0x8e, 0x13, 0xc0, 0xed, 0x0f,
+			0x73, 0x13, 0x3c, 0x19, 0x99, 0xd7, 0xe4, 0x61,
+			0x13, 0x23, 0x8f, 0x77, 0x20, 0xcc, 0x4b, 0xf1,
+			0x0c, 0xc2, 0xc6, 0xef, 0xad, 0x1f, 0x29, 0xa6,
+			0x34, 0x73, 0xc5, 0x12, 0x5a, 0x7c, 0x6b, 0x2f,
+			0x69, 0x4d, 0xb5, 0x75, 0xf6, 0x67, 0xb5, 0x06,
+			0x2c, 0xed, 0x32, 0xd1, 0x78, 0xd4, 0x9a, 0xdb,
+			0x47, 0x40, 0xe7, 0xa9, 0x8b, 0xd6, 0x8a, 0xd2,
+			0xf1, 0x70, 0xe3, 0xa8, 0xe1, 0x66, 0xa0, 0xe7,
+			0x18, 0x65, 0x5f, 0xe7, 0x0c, 0xf9, 0xd7, 0x90,
+			0x28, 0xf0, 0x5e, 0x9c, 0x80, 0x69, 0xac, 0x2b,
+			0x65, 0x09, 0xe6, 0xde, 0x32, 0xf1, 0x5e, 0xa3,
+			0x6d, 0xb0, 0x49, 0xe0, 0x45, 0xcf, 0xaa, 0xd2,
+			0x06, 0x6b, 0x97, 0x5c, 0xb7, 0xb3, 0x40, 0x3c,
+			0xb8, 0x86, 0x5f, 0x21, 0x82, 0xf4, 0x01, 0x24,
+			0x11, 0xa9, 0x35, 0x37, 0x09, 0x66, 0xa6, 0x1f,
+			0x85, 0xc5, 0x7a, 0xb9, 0xf9, 0xfe, 0x1c, 0x47,
+			0x47, 0xfe, 0xa2, 0x9b, 0x65, 0xd4, 0x68, 0xe3,
+			0x32, 0x23, 0x84, 0x2c, 0x17, 0x8e, 0x24, 0x2e,
+			0x1e, 0xd3, 0xbb, 0xd1, 0x3a, 0x8b, 0xe8, 0x08,
+			0xf0, 0x0c, 0x78, 0xdc, 0x51, 0xf0, 0x6a, 0xdd,
+			0xa4, 0xf9, 0x89, 0x07, 0x06, 0xf5, 0x10, 0xd2,
+			0x6b, 0x4a, 0xfd, 0x38, 0xb0, 0x72, 0xe4, 0xb1,
+			0xd2, 0x92, 0x96, 0xe6, 0xc9, 0xae, 0xab, 0xee,
+			0x5d, 0x64, 0xa0, 0x60, 0xf5, 0x48, 0x0a, 0xab,
+			0x59, 0x68, 0xc7, 0x3c, 0x0c, 0x56, 0xad, 0x6d,
+			0xc3, 0x2c, 0xed, 0xcf, 0x5d, 0xbd, 0xd7, 0xf3,
+			0x7d, 0x8d, 0x6a, 0x8d, 0x28, 0xbc, 0x4f, 0x0c,
+			0xab, 0x06, 0xc6, 0x32, 0xe6, 0x8a, 0xba, 0xa8,
+			0xba, 0x2a, 0x5d, 0xc7, 0xbf, 0xc8, 0xf5, 0x69,
+			0x7b, 0x37, 0x38, 0xe8, 0x4d, 0xf6, 0xb8, 0xe3,
+			0x94, 0x84, 0xba, 0x76, 0x3a, 0x2c, 0xa4, 0x06,
+			0xdd, 0xbd, 0xbc, 0x2b, 0x26, 0x8f, 0x92, 0x7a,
+			0x7e, 0xa4, 0x3a, 0xb1, 0xf6, 0x5f, 0x38, 0x85,
+			0xd3, 0xf6, 0x95, 0x6d, 0xb9, 0x1d, 0xe8, 0x5f,
+			0xda, 0x22, 0x22, 0xcc, 0x1f, 0x5e, 0x79, 0xd9,
+			0xab, 0x03, 0x5c, 0xb9, 0x16, 0xcd, 0x3c, 0x16,
+			0xcd, 0x2e, 0x49, 0xe3, 0x94, 0x58, 0x05, 0x2c,
+			0xd7, 0x6c, 0x10, 0xd6, 0x40, 0x4f, 0xa4, 0x7c,
+			0xec, 0xac, 0x2b, 0xb2, 0xef, 0x39, 0x2e, 0x6b,
+			0x01, 0x6d, 0x13, 0x07, 0x46, 0x31, 0xe6, 0xf7,
+			0x33, 0xdd, 0x5b, 0x58, 0x62, 0x84, 0xc2, 0xdf,
+			0xf0, 0x83, 0xcb, 0xa3, 0x87, 0xdb, 0x31, 0x70,
+			0x48, 0x8c, 0xd0, 0xcf, 0xa8, 0x94, 0x21, 0x6a,
+			0xe6, 0xb9, 0x18, 0xdb, 0x3a, 0x44, 0x79, 0x92,
+			0x6d, 0xec, 0x25, 0xa9, 0xde, 0x32, 0xa2, 0x70,
+			0x0a, 0x65, 0x96, 0x35, 0x7f, 0xde, 0xe5, 0xc4,
+			0x80, 0xb8, 0x78, 0x4b, 0x95, 0xff, 0xf6, 0xe7,
+			0x2f, 0x44, 0x52, 0x49, 0x98, 0x1c, 0x8a, 0xe2,
+			0x76, 0x62, 0x28, 0x96, 0x87, 0xde, 0xce, 0xef,
+			0x43, 0xf8, 0x04, 0x2f, 0xdf, 0x4a, 0x04, 0xfd,
+			0xb3, 0x83, 0xcd, 0xd4, 0x60, 0xa8, 0xcc, 0x94,
+			0x0d, 0x30, 0xe7, 0x79, 0xfd, 0x93, 0xe0, 0x1e,
+			0xc9, 0xd6, 0x34, 0x3a, 0x1f, 0x52, 0x50, 0x14,
+			0xc9, 0x97, 0xc0, 0xad, 0x78, 0xa2, 0x47, 0xcc,
+			0x7c, 0xb2, 0xb6, 0x17, 0xee, 0x37, 0xcc, 0x9a,
+			0x14, 0xc2, 0x27, 0xf8, 0xf9, 0x28, 0x5e, 0xfb,
+			0x44, 0xf7, 0xe0, 0x75, 0x19, 0xb7, 0x0f, 0x96,
+			0xb2, 0xef, 0x51, 0xac, 0x2e, 0x50, 0xbb, 0x93,
+			0x44, 0x69, 0xcc, 0x1c, 0xa5, 0xc5, 0xa2, 0x39,
+			0xa3, 0x00, 0x5e, 0x72, 0x20, 0x77, 0x1d, 0x6c,
+			0x46, 0x41, 0xe6, 0x89, 0x70, 0x2d, 0xfd, 0x4c,
+			0xe5, 0xc4, 0xce, 0xbf, 0x94, 0x01, 0xbd, 0x34,
+			0xd2, 0x9d, 0xea, 0xe7, 0x75, 0xcf, 0x3b, 0x0a,
+			0xf2, 0x58, 0x7b, 0x6a, 0x16, 0xef, 0x98, 0xae,
+			0x52, 0x57, 0xd5, 0x4a, 0x4d, 0xc1, 0xb3, 0xb9,
+			0x17, 0x96, 0x1d, 0xa8, 0xe0, 0x91, 0x07, 0xea,
+			0x50, 0xc1, 0x00, 0x0a, 0xa0, 0xa5, 0x5e, 0x45,
+			0x5a, 0xe4, 0xa8, 0x96, 0xc7, 0x8a, 0x70, 0xea,
+			0x88, 0x8d, 0x25, 0xef, 0xec, 0xd8, 0x88, 0x81,
+			0xa7, 0xa3, 0xbc, 0x5a, 0x4f, 0xc1, 0x7a, 0x91,
+			0x41, 0x8c, 0x01, 0xdf, 0x30, 0xda, 0x29, 0x5d,
+			0xdb, 0x46, 0xe3, 0x23, 0x61, 0x61, 0x91, 0x76,
+			0x42, 0xce, 0xb7, 0xdb, 0xe1, 0xb3, 0x9b, 0xbc,
+			0x74, 0x05, 0x03, 0x07, 0x97, 0xaf, 0x27, 0x3a,
+			0x82, 0x2a, 0xcc, 0x8d, 0x01, 0xae, 0x79, 0x0b,
+			0x8c, 0xdc, 0x24, 0x81, 0x3c, 0xe1, 0xbf, 0xc3,
+			0x89, 0xad, 0x6d, 0x8f, 0x22, 0xd6, 0x11, 0x77,
+			0xc4, 0xf7, 0x2f, 0x51, 0xe0, 0x00, 0x5c, 0x80,
+			0x76, 0x97, 0x0c, 0xd9, 0xd4, 0x98, 0xd6, 0x34,
+			0x42, 0x9c, 0xd6, 0x48, 0x62, 0x05, 0x81, 0x10,
+			0x86, 0x6e, 0xd5, 0x84, 0x29, 0x87, 0xf0, 0x43,
+			0x09, 0x13, 0x0f, 0x81, 0x1b, 0x60, 0xfc, 0xac,
+			0x99, 0x90, 0xea, 0xa1, 0x54, 0x84, 0x3b, 0x4e,
+			0xa6, 0xe4, 0xf6, 0xf9, 0xa6, 0x7d, 0x7c, 0xfe,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x16, 0x02, 0xe1, 0xd5, 0xb2, 0x06, 0x9b, 0x7c,
+			0x7c, 0x48, 0xd3, 0x12, 0x2a, 0xc3, 0xa0, 0x1f,
+			0x88, 0xef, 0xfa, 0x08, 0x15, 0x37, 0xcd, 0x04,
+			0x1d, 0x13, 0x67, 0x03, 0x94, 0xa5, 0x78, 0x2c,
+			0xfb, 0xb6, 0xd6, 0x62, 0x59, 0x47, 0x1c, 0x7a,
+			0xba, 0xf2, 0x88, 0x3c, 0x45, 0x93, 0xa8, 0x8d,
+			0x3d, 0x8d, 0x4b, 0x09, 0x6d, 0x66, 0x9a, 0x6a,
+			0xee, 0xec, 0x6e, 0x31, 0x42, 0xff, 0xcf, 0x38,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0x3d, 0x5e, 0x39, 0x2c, 0xd1, 0x70, 0x40, 0x56,
+			0x81, 0x94, 0x18, 0xae, 0x2d, 0xc8, 0x5e, 0x56,
+			0x69, 0x3b, 0x55, 0xcd, 0x09, 0xf2, 0x8f, 0xf6,
+			0xdc, 0xff, 0x95, 0xd2, 0x9c, 0xff, 0x3a, 0xd8,
+			0xcc, 0x3e, 0x2f, 0x77, 0x25, 0xb8, 0xd1, 0x50,
+			0xc3, 0x96, 0x5b, 0x78, 0xb3, 0x25, 0x7c, 0x53,
+			0x58, 0xb9, 0x3a, 0x56, 0x4b, 0xeb, 0x31, 0x7c,
+			0x8f, 0xd4, 0xc8, 0xd2, 0x9e, 0xe7, 0xe5, 0x0d,
+			0x33, 0xff, 0xf2, 0xb8, 0x78, 0xf0, 0x6c, 0xa4,
+			0xb4, 0xec, 0xe9, 0xc8, 0x93, 0xcd, 0xc0, 0xde,
+			0x85, 0xcf, 0x2d, 0x07, 0xdd, 0xee, 0xd7, 0xff,
+			0x23, 0xb7, 0x13, 0x96, 0x63, 0xbf, 0x18, 0xce,
+			0x84, 0x4f, 0x68, 0x88, 0xc0, 0x65, 0x97, 0x1e,
+			0x6e, 0x95, 0xff, 0xbe, 0xed, 0xaa, 0x93, 0xa3,
+			0x8e, 0xd0, 0x14, 0xbc, 0x6f, 0x11, 0x66, 0x69,
+			0x75, 0x90, 0x4f, 0x81, 0xbf, 0xa2, 0x64, 0x39,
+			0x78, 0x56, 0x9a, 0xa9, 0x92, 0xe6, 0x56, 0x2a,
+			0xa1, 0x15, 0xf9, 0xdc, 0xc9, 0x0d, 0xf5, 0x7a,
+			0x70, 0x82, 0x2c, 0x9d, 0xde, 0x73, 0x2e, 0x0c,
+			0xc9, 0x2a, 0x41, 0x64, 0xee, 0x4c, 0xe7, 0xb8,
+			0xc6, 0x76, 0xab, 0xb0, 0xab, 0xec, 0x11, 0x7f,
+			0x19, 0xdf, 0x49, 0x6e, 0x7e, 0x35, 0x47, 0x3f,
+			0x16, 0x08, 0x75, 0x30, 0x18, 0x1f, 0x55, 0x96,
+			0x46, 0xb7, 0x31, 0x54, 0xa8, 0x8f, 0xa8, 0x61,
+			0xc4, 0x45, 0xec, 0x54, 0x09, 0xe1, 0x52, 0xf7,
+			0x71, 0x29, 0x11, 0xb8, 0xea, 0x81, 0xd9, 0x55,
+			0x03, 0xea, 0x73, 0x4a, 0x3b, 0x55, 0x23, 0x0e,
+			0x65, 0x85, 0xed, 0x8f, 0x76, 0xda, 0x73, 0x50,
+			0x69, 0x44, 0xa4, 0xae, 0x0c, 0x6c, 0x4e, 0x3a,
+			0x70, 0x7b, 0x8c, 0xee, 0xef, 0x6c, 0x9a, 0x6b,
+			0xca, 0x96, 0x4e, 0x77, 0x8a, 0x02, 0xa0, 0x28,
+			0x6c, 0xab, 0x4b, 0xe1, 0x5e, 0x88, 0x4b, 0x47,
+			0x9a, 0x9b, 0x8c, 0x93, 0xa9, 0x78, 0x38, 0xff,
+			0x42, 0x36, 0xe8, 0xd9, 0xcc, 0x9f, 0xf4, 0x34,
+			0xa7, 0xb4, 0x2d, 0xe0, 0x2c, 0xd6, 0x2a, 0xf8,
+			0x48, 0xe8, 0xbb, 0x0b, 0x82, 0xa7, 0xb8, 0xc2,
+			0x51, 0xdc, 0x29, 0x3c, 0x76, 0x16, 0x81, 0xdd,
+			0xfa, 0x15, 0x7c, 0xc3, 0xd5, 0xd2, 0x8f, 0xde,
+			0xcd, 0x40, 0x14, 0x65, 0x21, 0x79, 0x9c, 0x71,
+			0x81, 0xf6, 0x37, 0x2b, 0x75, 0xf7, 0x33, 0xb4,
+			0x98, 0xe9, 0x02, 0xa7, 0xb5, 0xd7, 0xa4, 0xbe,
+			0xeb, 0x98, 0xbb, 0x5a, 0x37, 0x69, 0x5e, 0xb6,
+			0x11, 0x5c, 0xef, 0xef, 0xf8, 0x2e, 0xb0, 0x1d,
+			0x3f, 0xc6, 0x4a, 0xe6, 0x1a, 0x9a, 0xcd, 0xe9,
+			0x89, 0x93, 0x3f, 0xbd, 0x89, 0xeb, 0x7f, 0xbb,
+			0x9a, 0x8d, 0x8e, 0xd6, 0x5a, 0xe9, 0x45, 0xfd,
+			0xf1, 0x20, 0x56, 0x5c, 0x60, 0x89, 0x60, 0x79,
+			0xaa, 0x96, 0x70, 0xa6, 0xf8, 0xf3, 0xd5, 0x79,
+			0xf4, 0x3d, 0xfb, 0xe0, 0xa3, 0x3b, 0x17, 0x14,
+			0xf7, 0xe8, 0x21, 0x20, 0x02, 0xf3, 0x9d, 0x09,
+			0x5b, 0xc3, 0xb4, 0xe8, 0x47, 0x6e, 0xab, 0xc9,
+			0xd1, 0x8c, 0xba, 0x58, 0x45, 0x2a, 0x38, 0x9b,
+			0xdb, 0xb9, 0xf7, 0x67, 0x9d, 0x44, 0x5b, 0x95,
+			0xdd, 0x13, 0x1a, 0x27, 0x1b, 0xf7, 0xfb, 0x6b,
+			0xb7, 0x53, 0x44, 0x23, 0x06, 0x69, 0x55, 0x05,
+			0x82, 0xd2, 0xcf, 0x04, 0xe2, 0x85, 0x3d, 0x5c,
+			0xdf, 0xfd, 0xcb, 0xa3, 0x74, 0x51, 0x1a, 0x93,
+			0xc2, 0x64, 0x22, 0xae, 0x7c, 0x85, 0x09, 0xca,
+			0xb2, 0xe2, 0x9f, 0xaf, 0xde, 0x69, 0xc8, 0x44,
+			0xdf, 0x78, 0x49, 0x01, 0x3d, 0xbf, 0x99, 0x29,
+			0x81, 0x31, 0x54, 0x03, 0x99, 0x2f, 0x14, 0x75,
+			0x02, 0x8a, 0x77, 0x71, 0x3d, 0xb7, 0x6c, 0x12,
+			0x26, 0x08, 0x9a, 0x59, 0x59, 0xc0, 0x77, 0xd0,
+			0xc1, 0x63, 0xb9, 0x41, 0xf8, 0x90, 0x02, 0xdb,
+			0x0e, 0x00, 0xa9, 0xa7, 0xfd, 0xa7, 0x31, 0x2e,
+			0x14, 0xee, 0xd8, 0x69, 0x0a, 0x60, 0x01, 0xca,
+			0x11, 0x91, 0x1a, 0xd1, 0x40, 0x03, 0x2f, 0x43,
+			0xaf, 0x09, 0xe7, 0x65, 0x47, 0x6e, 0x14, 0xff,
+			0x36, 0xdc, 0x1d, 0xd8, 0xaf, 0x5e, 0xff, 0x47,
+			0x4f, 0x2c, 0x81, 0x7c, 0xa5, 0x1e, 0x3a, 0x31,
+			0xce, 0xea, 0x2b, 0x5a, 0x42, 0x06, 0x0b, 0x3c,
+			0xc1, 0x12, 0x0e, 0x14, 0xcc, 0xc7, 0x45, 0xe5,
+			0x44, 0x96, 0x41, 0x23, 0x1e, 0x31, 0xa1, 0xd3,
+			0xfc, 0x54, 0x47, 0x3a, 0xa6, 0xbe, 0x7b, 0x00,
+			0x23, 0x28, 0x32, 0x7d, 0x76, 0xfb, 0x98, 0xad,
+			0xbc, 0x96, 0x57, 0xdf, 0xfe, 0x28, 0xdd, 0x16,
+			0x95, 0xd2, 0x8f, 0x1f, 0x74, 0x02, 0x05, 0xd2,
+			0x9f, 0x83, 0xf0, 0xf4, 0xc1, 0xd6, 0x31, 0x3d,
+			0x03, 0xe6, 0xec, 0xc7, 0x53, 0xba, 0x21, 0x18,
+			0x88, 0x61, 0x00, 0x98, 0x74, 0x25, 0xde, 0x75,
+			0xc1, 0xd9, 0xf7, 0x36, 0xa2, 0xbd, 0x1d, 0xe3,
+			0xe2, 0x0b, 0xb1, 0xf6, 0xeb, 0xea, 0x03, 0x5c,
+			0xfd, 0x98, 0x97, 0xdd, 0x7e, 0x9f, 0xcf, 0x8f,
+			0x76, 0x37, 0xc1, 0x1f, 0xbd, 0x69, 0x77, 0x9c,
+			0xd9, 0xa9, 0xc6, 0xf1, 0x25, 0xbe, 0x85, 0xde,
+			0x3c, 0x08, 0xda, 0x88, 0xeb, 0xcd, 0xcb, 0x91,
+			0xb1, 0x83, 0x79, 0xa8, 0x9b, 0x1f, 0xd8, 0x5d,
+			0x06, 0xee, 0x16, 0x63, 0xc4, 0x4c, 0xdb, 0xc3,
+			0x9c, 0x49, 0x9e, 0xb8, 0x90, 0x4f, 0x0c, 0x59,
+			0x34, 0xe0, 0x6d, 0x8d, 0x91, 0x24, 0x9b, 0x7d,
+			0xa3, 0xa4, 0xb9, 0xa5, 0xc9, 0x77, 0x0b, 0x9c,
+			0x6e, 0xfa, 0x76, 0x43, 0x8b, 0x41, 0x88, 0x6d,
+			0x5e, 0x74, 0x64, 0x6c, 0xd8, 0x4e, 0xe0, 0x78,
+			0x9d, 0x52, 0x85, 0xd7, 0x8a, 0x90, 0xec, 0xe8,
+			0x55, 0x54, 0x8e, 0x99, 0xc0, 0xa3, 0xad, 0x31,
+			0x26, 0x9a, 0x29, 0x2a, 0xef, 0xf2, 0xac, 0x9e,
+			0x84, 0xd8, 0x9d, 0xcf, 0x9e, 0x36, 0xd0, 0x3d,
+			0xcd, 0x69, 0x1f, 0x49, 0x91, 0xc3, 0xea, 0xd5,
+			0xd4, 0xde, 0x70, 0x67, 0xe9, 0x92, 0x90, 0xd3,
+			0x41, 0x76, 0xc2, 0xf6, 0x78, 0xcf, 0x3d, 0x9c,
+			0xac, 0xdf, 0x47, 0xd3, 0x80, 0x4f, 0x03, 0xa4,
+			0x04, 0x70, 0x9a, 0xd8, 0x96, 0xc2, 0x28, 0xd9,
+			0x4b, 0xe4, 0xc6, 0x2b, 0x91, 0x1b, 0x96, 0xe8,
+			0x29, 0x87, 0xcc, 0x82, 0x2e, 0xbb, 0xb0, 0xd6,
+			0x3a, 0xc0, 0xa8, 0xbc, 0xf8, 0x28, 0x75, 0x1f,
+			0xf8, 0x99, 0x12, 0xb5, 0x85, 0xa0, 0x15, 0x6c,
+			0x89, 0x24, 0x97, 0xec, 0x8d, 0x4f, 0xcc, 0x95,
+			0x8a, 0x81, 0x9c, 0xb8, 0x3d, 0x15, 0x16, 0x7b,
+			0x3c, 0x30, 0x9a, 0xba, 0x00, 0xfa, 0x37, 0x8c,
+			0x6c, 0x89, 0x07, 0x6c, 0x68, 0x67, 0xea, 0x7e,
+			0xa3, 0x66, 0x82, 0x96, 0x92, 0x63, 0x92, 0x3a,
+			0x50, 0xc7, 0xe2, 0xb0, 0xd5, 0x76, 0xda, 0xa3,
+			0xa0, 0xa3, 0x28, 0x35, 0x68, 0x11, 0xe9, 0xcb,
+			0xdd, 0xa2, 0xbe, 0x56, 0x83, 0xa1, 0x90, 0x17,
+			0x6d, 0x16, 0x0f, 0x67, 0xfa, 0xd8, 0xef, 0x69,
+			0x97, 0xdc, 0xbd, 0xaa, 0x66, 0xcd, 0x8e, 0x4b,
+			0x8d, 0x5e, 0x7c, 0xb2, 0x13, 0x22, 0x09, 0xce,
+			0x93, 0x7e, 0x01, 0xa1, 0x2b, 0x0c, 0x94, 0x68,
+			0x1e, 0xa4, 0x64, 0x8f, 0x8f, 0x75, 0x9b, 0xa6,
+			0x0f, 0x6e, 0x52, 0x09, 0x3b, 0x56, 0x97, 0x25,
+			0x2c, 0x94, 0x0c, 0xc2, 0xdb, 0x37, 0x0e, 0x9b,
+			0xac, 0x57, 0x49, 0x36, 0xd5, 0x13, 0x18, 0xd9,
+			0xf4, 0x76, 0xf6, 0x2b, 0xaf, 0x07, 0xd0, 0x0d,
+			0x94, 0xc9, 0xf9, 0x0c, 0xd5, 0x7f, 0x76, 0xe1,
+			0x88, 0xc6, 0xce, 0xdb, 0x98, 0x2b, 0x18, 0xa8,
+			0x42, 0x8f, 0x74, 0x9e, 0x51, 0x00, 0xf8, 0x06,
+			0x06, 0x2d, 0xcc, 0x89, 0xb4, 0xec, 0x53, 0xba,
+			0xee, 0x4b, 0x42, 0x8d, 0x6f, 0x7c, 0xca, 0x35,
+			0xb9, 0x53, 0xc0, 0x65, 0xb0, 0x86, 0x97, 0xbd,
+			0xf6, 0x33, 0x54, 0x16, 0xfb, 0x92, 0x61, 0x60,
+			0xf0, 0xfd, 0x90, 0x13, 0xa6, 0xb8, 0x94, 0x35,
+			0x6a, 0xd7, 0x0b, 0xe4, 0x37, 0x1e, 0x12, 0x44,
+			0x1b, 0xb3, 0xda, 0x65, 0x08, 0x1c, 0x22, 0x3a,
+			0x0e, 0x72, 0x7e, 0xec, 0x57, 0x4d, 0x8d, 0x1f,
+			0x7d, 0xb8, 0xf8, 0x37, 0x67, 0x93, 0xc2, 0x9a,
+			0xac, 0x17, 0xd3, 0xfe, 0x10, 0x7c, 0xe9, 0xcb,
+			0x3e, 0x79, 0xba, 0x0e, 0x61, 0xe7, 0x6b, 0xb2,
+			0x97, 0x6f, 0xe1, 0x37, 0x8c, 0x45, 0x50, 0xd7,
+			0x0f, 0x26, 0x5c, 0xee, 0xa4, 0xf3, 0x90, 0xe2,
+			0x72, 0xf6, 0x4b, 0x5e, 0x6c, 0x44, 0x90, 0x2b,
+			0xbd, 0x7e, 0x25, 0xaf, 0xfc, 0xc4, 0xe7, 0xb4,
+			0x25, 0xac, 0x68, 0x01, 0x72, 0x38, 0x31, 0xfe,
+			0x02, 0x29, 0xaf, 0x90, 0x68, 0x2f, 0xbf, 0xe8,
+			0xc4, 0x81, 0x77, 0xc2, 0xe0, 0xd3, 0xe9, 0x5b,
+			0xb8, 0x21, 0xbf, 0xb2, 0xe5, 0x4f, 0x14, 0xcd,
+			0x93, 0xee, 0x0e, 0x8a, 0x24, 0x9e, 0x95, 0x01,
+			0x5b, 0x76, 0xc7, 0x9f, 0x04, 0xdb, 0x6e, 0x00,
+			0xbe, 0x5a, 0xe0, 0x77, 0xde, 0xa5, 0xe4, 0x16,
+			0xec, 0xbb, 0xc7, 0xd7, 0xd2, 0xd4, 0x65, 0xc2,
+			0xc1, 0xa3, 0x36, 0x7e, 0x8a, 0x40, 0xb8, 0x7f,
+			0xb3, 0x5c, 0x17, 0x2e, 0xcd, 0xeb, 0xf8, 0x8b,
+			0x0c, 0x01, 0xf8, 0x3d, 0x33, 0x6b, 0x81, 0x9e,
+			0x19, 0x89, 0x22, 0x41, 0x88, 0x32, 0x1a, 0xa7,
+			0x14, 0xbc, 0x4a, 0x45, 0xca, 0x06, 0x9c, 0xe4,
+			0x72, 0x64, 0x74, 0xcc, 0x29, 0xeb, 0x06, 0x1e,
+			0xe2, 0x74, 0x82, 0xd5, 0xc6, 0x3c, 0x11, 0xe1,
+			0xa6, 0x91, 0x78, 0xe4, 0xef, 0xd1, 0xd3, 0xc0,
+			0xbf, 0xdc, 0x08, 0xa8, 0xdb, 0x45, 0xb6, 0x8e,
+			0x32, 0x69, 0x37, 0xbc, 0x26, 0xdf, 0xb0, 0x57,
+			0xa5, 0x11, 0xa7, 0x06, 0x5b, 0x4c, 0xe0, 0xda,
+			0x62, 0x8b, 0xe0, 0x29, 0x16, 0x4e, 0x69, 0x80,
+			0xe5, 0x40, 0x15, 0xb6, 0xda, 0xcd, 0xf4, 0xcc,
+			0x40, 0xd5, 0x8d, 0x4d, 0x18, 0x33, 0x67, 0xd9,
+			0xf8, 0xc5, 0x5d, 0x7a, 0xae, 0xb1, 0xe3, 0xa4,
+			0x3d, 0x46, 0x7d, 0x53, 0xf1, 0xb9, 0x3b, 0x0e,
+			0xa2, 0xa8, 0x89, 0x14, 0x82, 0x3f, 0x3a, 0x8d,
+			0xda, 0x95, 0xfd, 0x96, 0x5b, 0x4a, 0xa5, 0xab,
+			0x48, 0xa9, 0x27, 0x19, 0xb6, 0x67, 0xdd, 0xcd,
+			0x04, 0xb1, 0x88, 0xb6, 0x41, 0xba, 0x85, 0xa2,
+			0x8e, 0x30, 0x4c, 0x71, 0x07, 0xf6, 0x72, 0x58,
+			0x4c, 0x7f, 0x98, 0xfa, 0xd7, 0x02, 0xb8, 0xe8,
+			0x10, 0xaf, 0xca, 0xc4, 0xc7, 0x77, 0x50, 0x70,
+			0xf3, 0xc6, 0x76, 0xae, 0xc3, 0xc1, 0xa4, 0x67,
+			0xd2, 0xef, 0xd4, 0x99, 0xc5, 0xf5, 0x0a, 0x99,
+			0x1b, 0x01, 0xd6, 0xa2, 0xb9, 0xb4, 0x82, 0x33,
+			0x97, 0x00, 0x68, 0xf9, 0x66, 0xa5, 0x83, 0xd9,
+			0x57, 0x1f, 0x1a, 0xdd, 0xc3, 0x00, 0x32, 0xd4,
+			0x2c, 0xbe, 0x85, 0x5d, 0xbf, 0x37, 0xef, 0x7b,
+			0xe1, 0x44, 0x27, 0xa3, 0xa2, 0x67, 0x86, 0xed,
+			0x17, 0x2a, 0xc1, 0x06, 0x9a, 0x99, 0x97, 0xfb,
+			0x12, 0x6f, 0xe0, 0x62, 0x70, 0xe5, 0x7c, 0x8c,
+			0xc8, 0x1d, 0x30, 0x94, 0xbc, 0x94, 0xef, 0x19,
+			0x6b, 0x07, 0xb4, 0x6a, 0xe3, 0x24, 0x56, 0x0b,
+			0x6f, 0xbb, 0x4f, 0x8f, 0xb8, 0x22, 0x9e, 0xaf,
+			0xef, 0x0d, 0x3c, 0x40, 0x31, 0xfa, 0xc2, 0x60,
+			0xfa, 0x9e, 0xea, 0xef, 0x61, 0x88, 0x4c, 0x0c,
+			0xba, 0xcb, 0xa8, 0x90, 0x6d, 0xd5, 0xef, 0x95,
+			0xaa, 0x4d, 0x85, 0x64, 0x1a, 0x64, 0xac, 0x91,
+			0x58, 0x08, 0xee, 0x37, 0xce, 0x3c, 0x4a, 0xe7,
+			0x25, 0x54, 0x57, 0xa5, 0x59, 0xab, 0xdf, 0x24,
+			0x9f, 0x89, 0x15, 0x1d, 0x9c, 0xce, 0x7b, 0xe7,
+			0xb6, 0xc9, 0xc7, 0x4b, 0xfc, 0x5c, 0x25, 0xa2,
+			0xba, 0x2e, 0x3e, 0x19, 0x82, 0x20, 0x57, 0x52,
+			0xa0, 0x3f, 0x93, 0xce, 0x20, 0x85, 0xf0, 0x4e,
+			0x0d, 0x4b, 0x53, 0xb7, 0x6b, 0x66, 0x1a, 0xae,
+			0x45, 0x47, 0xdf, 0xbc, 0x39, 0x83, 0x8a, 0xe4,
+			0xdb, 0x97, 0x72, 0xcb, 0x83, 0xbf, 0x8e, 0x47,
+			0x55, 0xbf, 0x1a, 0x5b, 0x66, 0xe4, 0x76, 0xc7,
+			0xb4, 0xf1, 0xc6, 0x3e, 0x84, 0x5d, 0x74, 0x6d,
+			0x7b, 0xab, 0x80, 0x89, 0xda, 0x8d, 0x4a, 0x1e,
+			0x5c, 0x31, 0xc2, 0x26, 0xce, 0x69, 0x29, 0xc3,
+			0x87, 0xe1, 0x3b, 0x1c, 0x42, 0xff, 0xef, 0x8c,
+			0x4d, 0x5c, 0x52, 0xac, 0x6e, 0x60, 0x49, 0xb6,
+			0xe1, 0x09, 0x12, 0xa7, 0xd0, 0x19, 0x0c, 0x5d,
+			0x8b, 0xf2, 0xfe, 0x3b, 0x40, 0xf2, 0xaa, 0x4b,
+			0x71, 0xc0, 0xf4, 0xe3, 0x7e, 0x83, 0xf9, 0xfb,
+			0x00, 0x23, 0x33, 0x84, 0x0c, 0x88, 0x52, 0x30,
+			0x3b, 0x29, 0x6d, 0x95, 0x86, 0xf5, 0x67, 0xfe,
+			0x84, 0x26, 0x56, 0x57, 0x50, 0x7f, 0x1a, 0x8b,
+			0x53, 0xfa, 0xf6, 0x64, 0xa2, 0x57, 0xc2, 0x69,
+			0xa2, 0x18, 0xd1, 0xc1, 0xab, 0xfc, 0xb9, 0x8e,
+			0x21, 0x20, 0x0b, 0x4d, 0xff, 0xf7, 0x28, 0x0b,
+			0xf8, 0xd5, 0x7d, 0xe7, 0xbf, 0x15, 0x0e, 0x58,
+			0x2b, 0xdd, 0xe0, 0xec, 0x9f, 0x25, 0x02, 0xf7,
+			0x43, 0x69, 0x66, 0x79, 0x0b, 0x89, 0xcb, 0x72,
+			0x03, 0x48, 0xdf, 0xe2, 0xcc, 0x93, 0x47, 0x5f,
+			0x61, 0x34, 0x41, 0xcb, 0x23, 0x88, 0xca, 0xcb,
+			0xc3, 0x72, 0xe3, 0x28, 0xdf, 0x73, 0x63, 0x06,
+			0x1c, 0x82, 0x7d, 0x5b, 0x8b, 0x63, 0x09, 0x11,
+			0x03, 0x59, 0xc6, 0xac, 0x18, 0x8a, 0xa1, 0x66,
+			0x2d, 0x26, 0xd9, 0x95, 0x3f, 0x7d, 0x82, 0x59,
+			0xdf, 0x36, 0xb5, 0x8d, 0x5e, 0x59, 0xec, 0x9a,
+			0xee, 0x25, 0x8d, 0x3e, 0x3c, 0x62, 0x6f, 0xc8,
+			0x0a, 0x19, 0x4c, 0xa7, 0x1b, 0xf8, 0xcd, 0x08,
+			0x7e, 0xf1, 0xf2, 0xf1, 0x76, 0x15, 0x4c, 0xf8,
+			0x1e, 0xb6, 0x58, 0xac, 0xe7, 0x86, 0xd2, 0xac,
+			0x36, 0x38, 0xb0, 0x60, 0x08, 0x8a, 0x4a, 0x42,
+			0xcc, 0xf8, 0x03, 0x0a, 0xf6, 0xa9, 0xa9, 0x38,
+			0x63, 0xb9, 0x68, 0x69, 0xd3, 0x21, 0x6c, 0x19,
+			0x00, 0x93, 0x46, 0xd5, 0x6e, 0x4b, 0x5c, 0x69,
+			0xa9, 0x74, 0xf3, 0xb8, 0xec, 0x14, 0x29, 0x8c,
+			0x25, 0x2d, 0xf2, 0x2f, 0x2a, 0x1c, 0xcc, 0x57,
+			0x76, 0x74, 0x8e, 0x6a, 0xcf, 0x93, 0x62, 0x93,
+			0x24, 0x03, 0x24, 0x09, 0xa3, 0xa5, 0x1a, 0x95,
+			0x99, 0xe5, 0x52, 0x82, 0x1d, 0x22, 0x65, 0x30,
+			0x47, 0x27, 0x0e, 0xf9, 0xe4, 0xce, 0xb8, 0xad,
+			0x34, 0x61, 0x21, 0x77, 0xf5, 0x17, 0xcb, 0x70,
+			0xa9, 0x72, 0x22, 0x49, 0x16, 0x4c, 0xb4, 0x35,
+			0x76, 0x97, 0x99, 0x66, 0xff, 0x2e, 0x81, 0x46,
+			0xbe, 0x56, 0xad, 0x70, 0xf2, 0x9a, 0x44, 0xe8,
+			0x3a, 0x2d, 0x6c, 0xbb, 0x89, 0x28, 0x76, 0x49,
+			0x25, 0xf6, 0x49, 0x8b, 0x67, 0xe7, 0xb4, 0xed,
+			0x28, 0x21, 0x0c, 0xb0, 0xe9, 0x23, 0xc6, 0xd1,
+			0x29, 0x5c, 0xe4, 0xc4, 0x97, 0xc6, 0x04, 0xc3,
+			0xd8, 0x6c, 0xb6, 0x73, 0x13, 0x20, 0x0c, 0x98,
+			0xde, 0x28, 0xe0, 0x74, 0x75, 0x58, 0xff, 0x67,
+			0xe8, 0x6d, 0x03, 0x41, 0xb4, 0xe3, 0xda, 0xe4,
+			0xc7, 0x54, 0x66, 0x8c, 0x02, 0x8c, 0x10, 0xbe,
+			0x6c, 0xac, 0x92, 0xe9, 0x73, 0x57, 0x89, 0xc6,
+			0x8d, 0xa0, 0x61, 0xe3, 0x5c, 0x30, 0x92, 0xa8,
+			0xc3, 0xf7, 0xb3, 0xf2, 0x86, 0xd3, 0xae, 0x5d,
+			0x91, 0xba, 0x06, 0x51, 0x54, 0xd9, 0x83, 0xf5,
+			0xd9, 0x9b, 0xd9, 0x8b, 0x73, 0xbf, 0x9a, 0x94,
+			0x45, 0x39, 0xc4, 0x3a, 0x35, 0xea, 0xf9, 0x25,
+			0x7d, 0x6a, 0xee, 0x78, 0xa7, 0x50, 0x50, 0x1d,
+			0x7e, 0xaf, 0x09, 0xf1, 0x86, 0xae, 0x93, 0x69,
+			0xd5, 0x41, 0x1e, 0x87, 0xc3, 0x41, 0xb8, 0xc5,
+			0x4f, 0x2d, 0x90, 0x4f, 0xa8, 0xe6, 0xbc, 0xc6,
+			0xbf, 0x59, 0x32, 0x97, 0xc7, 0x30, 0x2d, 0xea,
+			0xdd, 0x25, 0x5a, 0x1e, 0x38, 0x93, 0x58, 0x12,
+			0x2f, 0x98, 0x31, 0x30, 0xa8, 0xfa, 0x35, 0x61,
+			0x11, 0x63, 0x4c, 0xf8, 0x72, 0x3f, 0xaf, 0xd5,
+			0xa7, 0xf3, 0x92, 0x35, 0xb5, 0x17, 0x15, 0x3d,
+			0x78, 0x4a, 0x47, 0xf7, 0xfa, 0xa2, 0xff, 0x36,
+			0x61, 0x5b, 0x18, 0x77, 0xf0, 0xd5, 0x76, 0xee,
+			0x2b, 0x8a, 0x18, 0xe3, 0x54, 0xb3, 0x1f, 0x29,
+			0x0e, 0xa7, 0x3d, 0x75, 0x5b, 0x2b, 0x68, 0x13,
+			0x89, 0xb3, 0xc7, 0x42, 0x13, 0x3d, 0x72, 0x6c,
+			0xb5, 0xc9, 0x0b, 0xea, 0xbe, 0xc2, 0x0e, 0x44,
+			0xcd, 0x22, 0x63, 0x01, 0xd0, 0x1c, 0x93, 0x82,
+			0x3f, 0x7b, 0xa9, 0x72, 0xd5, 0x90, 0xe6, 0xac,
+			0x9c, 0x3d, 0x56, 0x3a, 0x8d, 0x0e, 0xd6, 0x8e,
+			0x8e, 0x52, 0xd0, 0x81, 0x15, 0xca, 0xf2, 0x09,
+			0xc0, 0xfe, 0x94, 0x1d, 0x22, 0x55, 0x11, 0xb5,
+			0x2c, 0x48, 0x22, 0xa2, 0x60, 0xf2, 0xc2, 0xa2,
+			0x0b, 0x0c, 0x4b, 0xac, 0xbf, 0x40, 0x6e, 0xfd,
+			0x97, 0x10, 0xcb, 0x04, 0x3b, 0xc4, 0x5f, 0x7c,
+			0x6c, 0xf2, 0xb5, 0x48, 0xb8, 0xfa, 0x5f, 0x32,
+			0xe4, 0xef, 0xc9, 0xad, 0x2d, 0xb5, 0xac, 0xc5,
+			0xee, 0xf7, 0xb2, 0x81, 0xa7, 0xe9, 0x9c, 0xf9,
+			0xc9, 0xd1, 0x14, 0xc0, 0xa9, 0x1e, 0xd8, 0x50,
+			0x44, 0x8a, 0x02, 0xf2, 0xad, 0x6d, 0xe4, 0xa1,
+			0x7e, 0x88, 0xd3, 0x2d, 0xad, 0x75, 0x17, 0x35,
+			0xe6, 0x8a, 0xf5, 0xd7, 0x35, 0x1a, 0xb4, 0x13,
+			0x36, 0x8a, 0x0f, 0xa3, 0x99, 0x57, 0x7f, 0x85,
+			0x99, 0x6c, 0xae, 0xc5, 0xe7, 0x85, 0xff, 0xb5,
+			0xb0, 0xad, 0x87, 0x03, 0x41, 0x11, 0xc5, 0x16,
+			0x2d, 0x95, 0x1d, 0x26, 0xaf, 0x43, 0xa6, 0x76,
+			0xae, 0x17, 0xca, 0x10, 0x65, 0x64, 0xc6, 0x43,
+			0x4a, 0x2c, 0x7b, 0x55, 0xde, 0x3d, 0x93, 0xc5,
+			0x46, 0x17, 0xc1, 0xc2, 0xd7, 0xcb, 0xec, 0xc7,
+			0x8e, 0xce, 0x0c, 0x65, 0x27, 0x0d, 0x0e, 0xaf,
+			0x76, 0x65, 0xea, 0xcd, 0xe9, 0x39, 0xe3, 0xd4,
+			0xbc, 0x6f, 0xc3, 0x87, 0xca, 0x9c, 0x4c, 0xc9,
+			0xbb, 0x38, 0xa8, 0xc7, 0xea, 0xc0, 0xcf, 0x9b,
+			0x33, 0xfd, 0xfe, 0x50, 0x1b, 0x86, 0xeb, 0x1f,
+			0x75, 0xb0, 0x61, 0xd9, 0xb4, 0xfc, 0xb2, 0x5a,
+			0x2f, 0xcb, 0x11, 0xd0, 0x2a, 0xa2, 0x7b, 0x4b,
+			0x65, 0x0c, 0x2f, 0x43, 0xea, 0xe2, 0x4d, 0xd4,
+			0x11, 0xf9, 0x94, 0x24, 0xbd, 0x89, 0x1a, 0xb9,
+			0x86, 0x81, 0xca, 0x39, 0x66, 0xc3, 0xdb, 0x7a,
+			0x72, 0xd8, 0xe2, 0x5e, 0x80, 0xf9, 0x19, 0x0b,
+			0x7c, 0xb3, 0xfe, 0xeb, 0x81, 0x93, 0x7e, 0x54,
+			0xd1, 0xdd, 0x0d, 0x74, 0x43, 0x8b, 0x0d, 0x11,
+			0xd4, 0xe8, 0x32, 0xf1, 0xf4, 0x02, 0xcc, 0xac,
+			0x2f, 0x1e, 0xd7, 0x68, 0xf1, 0x30, 0xbd, 0xe2,
+			0x58, 0xf4, 0x97, 0xe5, 0x0f, 0xb6, 0x38, 0xd1,
+			0xa3, 0x49, 0x4b, 0x0e, 0x4e, 0x88, 0x3f, 0x2b,
+			0x0e, 0xb6, 0x96, 0xc9, 0x14, 0xb5, 0x8d, 0xd3,
+			0xc8, 0xaa, 0xe0, 0x2c, 0x11, 0x83, 0x09, 0x9b,
+			0xfe, 0x91, 0x5f, 0xfc, 0xc5, 0x01, 0x36, 0x20,
+			0x44, 0x89, 0x5d, 0x2a, 0x40, 0x62, 0xd3, 0x0d,
+			0x2a, 0x2d, 0x05, 0xca, 0xce, 0xf1, 0x25, 0x79,
+			0x5d, 0x8b, 0xe8, 0x54, 0x97, 0x9a, 0x2a, 0x7d,
+			0x0d, 0x38, 0x2e, 0x37, 0xf1, 0xf8, 0xe9, 0xf3,
+			0x11, 0xe9, 0x94, 0x31, 0x2a, 0x7b, 0x9f, 0xa7,
+			0xfe, 0x9b, 0x3f, 0x04, 0xf0, 0x22, 0xec, 0xc7,
+			0x6c, 0x6e, 0x6f, 0x1f, 0x8b, 0xb7, 0xd0, 0xdc,
+			0xec, 0xe5, 0xbd, 0xe0, 0x3e, 0x18, 0x20, 0x2a,
+			0x55, 0xe7, 0xf4, 0xcb, 0xaf, 0x48, 0x39, 0x36,
+			0x4d, 0xa2, 0xac, 0x41, 0x32, 0x12, 0x7b, 0x29,
+			0xdc, 0x28, 0x3d, 0x05, 0xa7, 0x32, 0xbe, 0x67,
+			0x03, 0x26, 0x4f, 0x5a, 0x3f, 0x4b, 0xf4, 0xf4,
+			0x17, 0x67, 0xb9, 0x21, 0x18, 0x36, 0xf7, 0x63,
+			0xa7, 0x7e, 0x4f, 0x5f, 0x43, 0x83, 0x6f, 0x70,
+			0x01, 0xec, 0x0c, 0x15, 0x28, 0x14, 0x49, 0xc3,
+			0xf8, 0xa1, 0xa0, 0xed, 0x04, 0x59, 0x22, 0xbd,
+			0xdc, 0x8b, 0xe2, 0x7e, 0x43, 0xf3, 0x46, 0x7b,
+			0x5c, 0xa7, 0x91, 0xf7, 0xb0, 0xd4, 0x6d, 0x81,
+			0x23, 0x46, 0xdc, 0x3a, 0x23, 0x99, 0x3f, 0x02,
+			0xce, 0x4f, 0x9a, 0xfc, 0x50, 0x6d, 0x2c, 0x80,
+			0xf0, 0xc6, 0x5e, 0x60, 0x48, 0x7b, 0x40, 0x0b,
+			0xca, 0x1e, 0xef, 0x36, 0xf0, 0xfa, 0x5d, 0xcd,
+			0x83, 0x8d, 0x53, 0xb8, 0xa8, 0x6c, 0x5f, 0x68,
+			0xcc, 0xb7, 0x77, 0x05, 0xaa, 0x02, 0xec, 0x32,
+			0x8b, 0xe9, 0xb5, 0xdf, 0xd1, 0xab, 0x03, 0x90,
+			0xec, 0x5d, 0x0c, 0xea, 0xf5, 0xa4, 0xc7, 0x48,
+			0xbf, 0x54, 0xc0, 0xb6, 0xaf, 0x3a, 0x3c, 0xe9,
+			0xcb, 0x87, 0xde, 0x75, 0xf2, 0xbb, 0x12, 0x6c,
+			0xdf, 0x62, 0x36, 0xca, 0x27, 0x6c, 0x6e, 0xfd,
+			0x8e, 0xad, 0xf0, 0x38, 0x22, 0x61, 0xbf, 0xbd,
+			0x14, 0x4d, 0x17, 0xf1, 0xb6, 0x16, 0x12, 0xce,
+			0x43, 0x3b, 0xc8, 0x35, 0x7b, 0x09, 0x7d, 0x3f,
+			0x8e, 0xdd, 0xdd, 0x89, 0x0d, 0x55, 0xec, 0xad,
+			0x79, 0x50, 0xfb, 0x08, 0x53, 0x9d, 0x08, 0x2d,
+			0xb3, 0x4b, 0xd7, 0x2a, 0xbf, 0xb5, 0xa2, 0xa4,
+			0x6f, 0x9c, 0x04, 0x41, 0xe3, 0xe4, 0xaf, 0xc3,
+			0xec, 0xcf, 0xa0, 0xc0, 0x06, 0xc2, 0x3e, 0x24,
+			0x95, 0x37, 0x11, 0xaf, 0x98, 0xa7, 0x98, 0x22,
+			0x68, 0x00, 0xe7, 0x66, 0xf4, 0xf2, 0x56, 0x6b,
+			0x6b, 0x6b, 0x6c, 0x7c, 0x58, 0x00, 0xa4, 0x69,
+			0xe3, 0xd5, 0x65, 0x88, 0x04, 0xc6, 0xd6, 0x10,
+			0xb3, 0x6e, 0xdf, 0x16, 0xb3, 0x5f, 0x40, 0x38,
+			0xf3, 0x68, 0x61, 0xd8, 0x97, 0x4b, 0x0f, 0x6a,
+			0xc0, 0x47, 0x4f, 0xeb, 0xd3, 0xda, 0x16, 0xdf,
+			0xf5, 0x4e, 0xc1, 0x0e, 0xcf, 0x27, 0xf2, 0x3d,
+			0x35, 0xfc, 0x70, 0xfd, 0x52, 0xb8, 0x56, 0xcf,
+			0x8b, 0x14, 0x30, 0x17, 0x2e, 0x1e, 0x65, 0x0e,
+			0xc9, 0x3d, 0x52, 0xcf, 0xef, 0x4b, 0x94, 0xa0,
+			0x80, 0x3e, 0x7e, 0x55, 0xaf, 0x06, 0x8a, 0x13,
+			0xef, 0x34, 0x11, 0x95, 0xf8, 0x6f, 0x6b, 0xde,
+			0xc6, 0x75, 0x17, 0x10, 0x5e, 0x73, 0x14, 0x14,
+			0x7b, 0xad, 0xa0, 0xe6, 0x52, 0xce, 0xfd, 0xf1,
+			0x20, 0x42, 0x22, 0x98, 0x00, 0x5c, 0x5a, 0xa1,
+			0x47, 0x5e, 0xa3, 0x59, 0x16, 0x43, 0x45, 0x8d,
+			0xa5, 0x3b, 0x25, 0x65, 0xdc, 0xeb, 0xb7, 0xbf,
+			0x03, 0x77, 0xf7, 0xca, 0x7f, 0x6e, 0xd0, 0x8c,
+			0xf5, 0xf9, 0x8e, 0x87, 0x71, 0x9d, 0x82, 0xc5,
+			0x5e, 0x97, 0x12, 0x3d, 0x6e, 0x95, 0xca, 0xe2,
+			0xdf, 0x87, 0xa3, 0x05, 0x7f, 0x72, 0x88, 0xc2,
+			0xbd, 0xfa, 0x44, 0xde, 0x86, 0x67, 0xed, 0xbf,
+			0x53, 0x98, 0xd5, 0xb6, 0x01, 0xc1, 0x75, 0x58,
+			0x6f, 0x16, 0x0d, 0x78, 0x8f, 0x8d, 0x95, 0x95,
+			0x44, 0x46, 0x6d, 0x93, 0xfb, 0xfa, 0x59, 0xd6,
+			0x9d, 0x9b, 0x02, 0x1e, 0xf7, 0xdb, 0xfd, 0x0f,
+			0x48, 0xa5, 0xaa, 0x76, 0xc3, 0xfd, 0xd3, 0x4d,
+			0x0f, 0x70, 0x2e, 0x01, 0x1a, 0x55, 0xe8, 0x25,
+			0xed, 0x73, 0xe8, 0x44, 0xee, 0x32, 0x1f, 0xfc,
+			0x7e, 0xd5, 0xc4, 0x17, 0x42, 0x59, 0x34, 0xac,
+			0x44, 0x68, 0x4b, 0x64, 0x6e, 0xc2, 0xec, 0x5a,
+			0x16, 0x11, 0xe8, 0xc0, 0x06, 0x03, 0xcf, 0xc9,
+			0x90, 0xe9, 0x6e, 0xae, 0xe7, 0x62, 0x5c, 0x08,
+			0x39, 0x59, 0xf8, 0xc3, 0x83, 0xa1, 0xde, 0xcd,
+			0xc9, 0x65, 0x83, 0x1c, 0x80, 0x3e, 0x98, 0x05,
+			0xe1, 0x0f, 0x4e, 0x0f, 0xf8, 0x62, 0x51, 0x42,
+			0x01, 0xd0, 0x86, 0x17, 0xc2, 0x44, 0xef, 0x01,
+			0xfd, 0xe5, 0x6c, 0x6a, 0x04, 0xd1, 0x2d, 0x38,
+			0x49, 0xf0, 0xe3, 0xd6, 0x2e, 0x0b, 0xe0, 0xe4,
+			0xd9, 0x1b, 0xb3, 0xc6, 0x6a, 0x3e, 0x2d, 0x7c,
+			0xc2, 0x86, 0x20, 0x46, 0x1d, 0xef, 0x14, 0xe9,
+			0xea, 0x8e, 0x9c, 0x45, 0xd0, 0x3f, 0x80, 0x0b,
+			0x24, 0x5f, 0x1c, 0xa4, 0x3b, 0xdb, 0xbf, 0xa2,
+			0x6c, 0xeb, 0x7f, 0x3c, 0x5d, 0x23, 0x08, 0x6c,
+			0x21, 0xc5, 0xba, 0xc0, 0x98, 0xd2, 0x46, 0x5a,
+			0x32, 0x52, 0x58, 0x3f, 0x23, 0xfd, 0xeb, 0x89,
+			0x3e, 0x12, 0x9a, 0xa6, 0x8e, 0x17, 0x01, 0xa1,
+			0x0f, 0x26, 0x1a, 0x4a, 0x16, 0x0e, 0x29, 0x55,
+			0xb3, 0xb6, 0x85, 0xd9, 0x38, 0x42, 0x70, 0x8d,
+			0x0a, 0xd5, 0x9e, 0x3c, 0xf7, 0x1d, 0x40, 0x45,
+			0x39, 0x6c, 0x4c, 0x78, 0xc4, 0xe7, 0x7c, 0x1c,
+			0x35, 0x0a, 0x1f, 0xc7, 0x2a, 0x5a, 0x7b, 0x37,
+			0xf6, 0xa2, 0x97, 0x1f, 0x93, 0xa2, 0x9f, 0x8e,
+			0xf4, 0xd2, 0xd3, 0x94, 0x9e, 0x33, 0xa4, 0xf8,
+			0x79, 0x79, 0xab, 0xd0, 0x03, 0x16, 0x6b, 0xd8,
+			0x06, 0xac, 0x0c, 0x20, 0x28, 0xff, 0x98, 0xa1,
+			0xa1, 0x9b, 0x0f, 0x73, 0x31, 0xdd, 0x32, 0xee,
+			0x0d, 0x4a, 0x73, 0x4e, 0xf9, 0x35, 0x3d, 0x5b,
+			0x9e, 0xbe, 0xde, 0xe3, 0xed, 0x20, 0x2d, 0x53,
+			0x83, 0x86, 0xd6, 0xde, 0x17, 0x60, 0x62, 0x65,
+			0x76, 0x8e, 0xa9, 0xaa, 0xb6, 0xcf, 0xde, 0xe3,
+			0xec, 0xfd, 0x43, 0x5a, 0x97, 0xa2, 0xcc, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+			0x05, 0x0d, 0x14, 0x22, 0x27, },
+	}, {
+		.what = "pure rejection vector",
+		.algo = "ml-dsa65",
+		.pk_len = DILITHIUM65_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM65_PUBLICKEYBYTES]){
+			0x25, 0x5b, 0x8f, 0x59, 0xb9, 0x03, 0xe7, 0x6d,
+			0x1b, 0x3d, 0xa3, 0x94, 0xea, 0x35, 0x79, 0x55,
+			0x3f, 0xed, 0x5c, 0xfc, 0x93, 0x5d, 0x95, 0x30,
+			0x2c, 0x68, 0xee, 0xc5, 0x24, 0x7e, 0xec, 0xb9,
+			0x70, 0xf5, 0xd9, 0x76, 0xbb, 0x65, 0x90, 0xef,
+			0xcf, 0xf1, 0xb4, 0x69, 0xae, 0xf0, 0xcd, 0xbd,
+			0xf0, 0x2f, 0x69, 0xda, 0xec, 0xf7, 0x6a, 0x36,
+			0xba, 0x86, 0xf6, 0x22, 0xa5, 0x9d, 0x49, 0x02,
+			0xc2, 0x34, 0xd5, 0xdc, 0x0f, 0xa2, 0x44, 0x0d,
+			0x37, 0x21, 0x29, 0xa5, 0x88, 0xd9, 0x19, 0xdd,
+			0x2f, 0x6e, 0x39, 0x37, 0xe5, 0x53, 0x03, 0x22,
+			0xc4, 0xde, 0xd6, 0xe9, 0xa8, 0x36, 0x28, 0xa2,
+			0x13, 0x9f, 0x76, 0x8f, 0x2d, 0xc2, 0xe7, 0x3f,
+			0x3a, 0x48, 0x07, 0x17, 0x4d, 0x39, 0xfd, 0x7b,
+			0xa4, 0x85, 0x55, 0x6a, 0x0c, 0xfd, 0xcb, 0x3e,
+			0xab, 0x95, 0x1a, 0x7d, 0xda, 0xf9, 0x75, 0xc9,
+			0x43, 0x86, 0xba, 0xf8, 0xae, 0xae, 0xee, 0x27,
+			0x1e, 0x08, 0x0e, 0x8d, 0x55, 0xaa, 0xc6, 0x96,
+			0xe3, 0xa2, 0x40, 0x7b, 0x8f, 0xe3, 0x59, 0x46,
+			0xa9, 0x3a, 0x38, 0xa6, 0x01, 0x8f, 0xae, 0xdb,
+			0xa3, 0x3b, 0x09, 0xb2, 0x6b, 0x05, 0x18, 0x13,
+			0xf5, 0xd8, 0xca, 0x51, 0x2b, 0xb5, 0x28, 0x36,
+			0xe2, 0xa6, 0x53, 0x52, 0x41, 0x47, 0xd7, 0x4a,
+			0xa1, 0x1a, 0x1d, 0x91, 0x8b, 0x61, 0x86, 0x7e,
+			0x22, 0x76, 0xcb, 0x30, 0x6c, 0x67, 0xb3, 0x8e,
+			0x2e, 0xaf, 0x93, 0xe2, 0x3b, 0x0a, 0xd4, 0x22,
+			0xc7, 0xa5, 0xbc, 0x4c, 0xec, 0xd3, 0x38, 0x86,
+			0x22, 0x78, 0xdf, 0xa1, 0xa7, 0x2b, 0x80, 0xfa,
+			0x43, 0xd5, 0x47, 0xb9, 0x6a, 0xaf, 0xc6, 0x7e,
+			0x9a, 0x2d, 0xb8, 0x17, 0x58, 0x2f, 0xfd, 0x77,
+			0x37, 0x18, 0xf3, 0x9f, 0x84, 0xca, 0x6e, 0x00,
+			0x4b, 0xba, 0xa5, 0xe7, 0x0f, 0x87, 0x86, 0x31,
+			0xe9, 0xd1, 0x41, 0x53, 0x28, 0x8f, 0x2f, 0x46,
+			0x96, 0x0b, 0x6d, 0x3e, 0x6d, 0x20, 0x4c, 0xb0,
+			0x43, 0x74, 0x44, 0xdd, 0xe9, 0x33, 0x94, 0x1c,
+			0x3b, 0x69, 0x49, 0x15, 0x36, 0xbd, 0x6c, 0xb7,
+			0x0d, 0xb5, 0xf5, 0xfb, 0x23, 0x19, 0x0e, 0x6a,
+			0x45, 0x65, 0x1c, 0xa7, 0x66, 0x48, 0xb5, 0xa2,
+			0x52, 0x91, 0x43, 0x7b, 0x20, 0x21, 0x5e, 0x16,
+			0xc2, 0xba, 0x78, 0xfa, 0xd3, 0x88, 0xb8, 0x64,
+			0x08, 0x17, 0x89, 0x9c, 0x4f, 0xfa, 0xb9, 0xfe,
+			0x3e, 0x39, 0x6a, 0x28, 0xd2, 0x28, 0x95, 0xab,
+			0x54, 0xde, 0xfb, 0x76, 0x32, 0x96, 0xb3, 0xbb,
+			0x9f, 0xef, 0x0b, 0x6b, 0xe8, 0xd7, 0x17, 0x4d,
+			0x5e, 0x9b, 0x25, 0x3f, 0x3e, 0x6a, 0x93, 0xa1,
+			0xe9, 0x09, 0xc2, 0x34, 0x8e, 0x2f, 0xe9, 0x19,
+			0x69, 0xc2, 0xcb, 0x5c, 0x29, 0x8d, 0x4d, 0x81,
+			0x01, 0xff, 0xde, 0x02, 0x7d, 0xeb, 0xc2, 0x6e,
+			0x15, 0x78, 0xe8, 0x10, 0x0a, 0x1a, 0x91, 0x96,
+			0x56, 0x24, 0x35, 0x74, 0x3d, 0x02, 0x50, 0x13,
+			0xd8, 0x1b, 0x94, 0xcd, 0xc8, 0x60, 0xc8, 0x6f,
+			0x28, 0x77, 0x3b, 0x76, 0x86, 0xa0, 0x39, 0xaa,
+			0x3a, 0x3e, 0x15, 0x47, 0xa0, 0x3b, 0xc3, 0xec,
+			0xe2, 0x15, 0x84, 0xba, 0xdf, 0x1d, 0x42, 0x5b,
+			0xcd, 0x97, 0x51, 0x92, 0x15, 0x64, 0xd7, 0x5c,
+			0xe2, 0xe2, 0x60, 0xe9, 0xbe, 0xdc, 0x1c, 0x12,
+			0x62, 0x15, 0x6b, 0xe6, 0xf1, 0x23, 0xb8, 0x81,
+			0x87, 0x15, 0xf4, 0x9a, 0x35, 0xd7, 0x18, 0x64,
+			0x92, 0xc4, 0xec, 0xcf, 0x5c, 0xd4, 0xf7, 0x6a,
+			0xf9, 0xe6, 0x7e, 0x71, 0x3d, 0x3e, 0xd0, 0x17,
+			0x72, 0x28, 0xd3, 0x22, 0x97, 0x14, 0x5d, 0x90,
+			0xca, 0x0b, 0x4f, 0x2c, 0x18, 0xc0, 0x45, 0x39,
+			0x87, 0x4f, 0xd9, 0x74, 0xef, 0x9f, 0xc7, 0xc7,
+			0x59, 0x04, 0x62, 0x31, 0xcc, 0x37, 0x78, 0x76,
+			0xdd, 0xc6, 0x9b, 0xff, 0xf7, 0x77, 0x87, 0x6a,
+			0xfb, 0x7b, 0xb0, 0xdf, 0x64, 0x75, 0xdb, 0xee,
+			0x2b, 0x45, 0x45, 0x45, 0x5b, 0xed, 0x89, 0xd9,
+			0xfe, 0x71, 0xc6, 0xd5, 0xc7, 0x75, 0xe7, 0x2f,
+			0x4e, 0x5b, 0xa2, 0xcf, 0x07, 0xbe, 0x4b, 0x5e,
+			0x3a, 0x76, 0x9b, 0x59, 0x8f, 0x1e, 0xac, 0x21,
+			0xf8, 0x90, 0x57, 0x3e, 0x25, 0x4b, 0x8c, 0x9d,
+			0x4f, 0xe8, 0x14, 0xfd, 0xcb, 0xaa, 0x86, 0x6a,
+			0x0c, 0x5c, 0x20, 0xa1, 0x03, 0xe4, 0x69, 0x84,
+			0xb1, 0x38, 0x16, 0x92, 0xd8, 0xd3, 0x68, 0x7e,
+			0x8e, 0x85, 0x25, 0x83, 0x38, 0x3a, 0xe2, 0x3d,
+			0x76, 0x31, 0xbf, 0x4d, 0x74, 0xc0, 0xa6, 0xa2,
+			0xeb, 0xaa, 0x8e, 0x70, 0xa6, 0x6f, 0x67, 0xd4,
+			0xb4, 0x81, 0xd6, 0xbc, 0xe6, 0xda, 0xa2, 0xd1,
+			0x93, 0xc6, 0xf6, 0x54, 0x05, 0x4c, 0x51, 0x1e,
+			0x97, 0xc9, 0x82, 0x9f, 0x45, 0x6d, 0x67, 0x17,
+			0xc0, 0x6c, 0xb0, 0x7a, 0x83, 0xeb, 0xdc, 0xb0,
+			0xf0, 0x09, 0x4f, 0xed, 0xbc, 0xe0, 0xf8, 0x26,
+			0xf4, 0xe3, 0x2a, 0xdb, 0xef, 0xcc, 0xf1, 0x3f,
+			0x71, 0xc1, 0x07, 0x3f, 0x19, 0x8a, 0xe5, 0xb3,
+			0x33, 0x7c, 0x7a, 0xa4, 0x89, 0x57, 0x46, 0x17,
+			0x5d, 0x2c, 0x91, 0xc3, 0xac, 0x34, 0x49, 0x14,
+			0x73, 0x7c, 0x01, 0x32, 0xf2, 0x20, 0x11, 0x18,
+			0x95, 0xc2, 0x36, 0x63, 0x61, 0xd6, 0xba, 0x65,
+			0x62, 0x9a, 0xcc, 0xed, 0x03, 0x8a, 0xd0, 0x88,
+			0xb2, 0x3e, 0xdc, 0x82, 0xd0, 0x29, 0xd2, 0xd3,
+			0xcb, 0x5b, 0x96, 0xa1, 0x34, 0xde, 0xd2, 0x64,
+			0xc7, 0x40, 0xcb, 0x1f, 0xd6, 0x63, 0xe8, 0x52,
+			0xd7, 0xbd, 0x42, 0xdc, 0x0d, 0x1c, 0x98, 0xa5,
+			0x03, 0x73, 0x96, 0xae, 0x1c, 0xa4, 0x7c, 0x45,
+			0x4b, 0x03, 0x7f, 0xe3, 0x10, 0xe0, 0xa4, 0x10,
+			0x9f, 0x2d, 0x3b, 0x1f, 0x75, 0x00, 0x90, 0xf0,
+			0x4a, 0x49, 0x68, 0xbf, 0xa5, 0xf2, 0x79, 0xa4,
+			0xaf, 0x08, 0xb0, 0xbf, 0xed, 0x0c, 0x5e, 0xf2,
+			0x6c, 0xfb, 0xcf, 0x7d, 0xcd, 0xbf, 0xf2, 0x8d,
+			0x51, 0x32, 0xd2, 0x18, 0xfb, 0xfb, 0x8c, 0xf4,
+			0x6e, 0x99, 0x43, 0x46, 0x51, 0x0f, 0x0b, 0x99,
+			0xd4, 0x9f, 0x01, 0xf3, 0x14, 0xb5, 0xdc, 0xad,
+			0x41, 0x6f, 0x23, 0x90, 0x44, 0xab, 0x30, 0x97,
+			0xf7, 0x43, 0xd2, 0x7c, 0x60, 0xbc, 0x5b, 0x9b,
+			0x8a, 0x28, 0x59, 0x34, 0xd3, 0x3e, 0xb9, 0x68,
+			0x7e, 0x9a, 0x2e, 0xe0, 0x5f, 0x5b, 0x3c, 0xe5,
+			0x91, 0x02, 0xe1, 0xdd, 0x29, 0x62, 0x1e, 0x14,
+			0x2c, 0x01, 0xe5, 0x4f, 0x18, 0x04, 0x9e, 0x0f,
+			0xb0, 0x60, 0x7a, 0x70, 0x1c, 0x8c, 0x45, 0xa1,
+			0x1b, 0xb7, 0x42, 0x6b, 0xb6, 0x79, 0xb6, 0x1a,
+			0x26, 0x6f, 0xdb, 0x7e, 0xd6, 0xfa, 0xbe, 0x18,
+			0xf1, 0xd1, 0x81, 0xab, 0x8d, 0x92, 0x3d, 0x65,
+			0x30, 0x48, 0x7a, 0x5b, 0x95, 0x2f, 0x98, 0xe3,
+			0x75, 0x29, 0x26, 0xd0, 0x9d, 0x6f, 0x45, 0x28,
+			0x93, 0x1c, 0xbd, 0x8c, 0x5c, 0x8d, 0x52, 0xac,
+			0xc3, 0xaa, 0x48, 0x85, 0xfc, 0x08, 0x15, 0x7e,
+			0x98, 0xfb, 0xce, 0x40, 0x33, 0x16, 0xfa, 0xca,
+			0x63, 0xfb, 0x21, 0xcf, 0x6c, 0xab, 0x7f, 0xf8,
+			0xb3, 0x57, 0xab, 0x84, 0x23, 0x0b, 0x4c, 0x90,
+			0x2b, 0x29, 0xe3, 0xa3, 0x9b, 0x04, 0x54, 0xda,
+			0xd2, 0x34, 0x11, 0xdd, 0xf3, 0x31, 0x68, 0x17,
+			0xd0, 0x5a, 0xc5, 0xe4, 0xf6, 0x70, 0xeb, 0xfa,
+			0xc9, 0xd3, 0xa6, 0x6e, 0x26, 0x41, 0x2c, 0x9b,
+			0x21, 0xbd, 0x83, 0xd6, 0x71, 0xf1, 0x1b, 0x6d,
+			0x3b, 0xe9, 0x39, 0xac, 0x8b, 0xbd, 0x2f, 0xb4,
+			0xe3, 0xc9, 0xfb, 0xe1, 0x71, 0xd2, 0xee, 0x7b,
+			0x4e, 0x40, 0xde, 0xde, 0xaf, 0x9f, 0xff, 0xfe,
+			0x37, 0xd8, 0x5f, 0xbc, 0x6c, 0xc6, 0xc5, 0x21,
+			0xd6, 0x05, 0xc9, 0x23, 0x55, 0xb3, 0x33, 0xe1,
+			0x06, 0xf6, 0xff, 0xa9, 0x8d, 0x04, 0xec, 0x6f,
+			0xb2, 0x64, 0x01, 0x09, 0x40, 0xaf, 0x83, 0xc4,
+			0xd5, 0x73, 0xbd, 0xb8, 0xe1, 0xe7, 0xb9, 0x5e,
+			0x3c, 0x57, 0x1f, 0xa2, 0xe6, 0xb0, 0x79, 0x49,
+			0x14, 0x49, 0x69, 0xcf, 0x6e, 0x77, 0x05, 0xeb,
+			0xf8, 0x4c, 0x92, 0xf3, 0xda, 0x08, 0xf8, 0xdb,
+			0x44, 0x48, 0x73, 0xbf, 0xf0, 0xa9, 0x88, 0x49,
+			0x07, 0x8f, 0x3a, 0x6b, 0x13, 0x2c, 0xd2, 0x24,
+			0xc1, 0x6a, 0x1f, 0x25, 0x70, 0x7d, 0x29, 0xc5,
+			0x32, 0x84, 0x4a, 0xc4, 0xe6, 0x9c, 0x46, 0xa8,
+			0x99, 0x3b, 0x2d, 0x80, 0x5f, 0x20, 0xaa, 0x3c,
+			0x60, 0x52, 0x7f, 0x67, 0x9e, 0x87, 0xb9, 0x7b,
+			0x57, 0xa5, 0x97, 0xbb, 0x70, 0x29, 0x9f, 0x5c,
+			0xd5, 0x76, 0xd2, 0x99, 0xab, 0x9e, 0xb9, 0xbd,
+			0x67, 0x8a, 0xda, 0x91, 0x9e, 0xea, 0xdf, 0x64,
+			0x09, 0x08, 0x4d, 0xad, 0xb7, 0x8f, 0x5a, 0x15,
+			0x27, 0xaf, 0xc2, 0xf7, 0xeb, 0xf4, 0x39, 0x42,
+			0xdc, 0xe5, 0x6a, 0x5e, 0xcc, 0xe6, 0x77, 0x4e,
+			0x0b, 0x20, 0x48, 0x1d, 0x65, 0x4d, 0xd1, 0xe1,
+			0x01, 0x85, 0x52, 0x32, 0x7d, 0x51, 0x2f, 0x0e,
+			0x00, 0xe3, 0x40, 0x70, 0x26, 0x46, 0xa6, 0xbf,
+			0xc8, 0x85, 0x0d, 0xac, 0x9f, 0x8d, 0x79, 0x9c,
+			0x6f, 0x58, 0x96, 0xe9, 0xe5, 0xb2, 0xff, 0x4a,
+			0xde, 0x91, 0x0b, 0x3d, 0x85, 0x69, 0xa7, 0xa8,
+			0x1a, 0xa8, 0x21, 0x3e, 0x8d, 0xf8, 0xba, 0x5a,
+			0xc6, 0xd7, 0x3a, 0xcb, 0x04, 0x0e, 0xdf, 0x36,
+			0xeb, 0xbc, 0xca, 0x59, 0x24, 0x48, 0xe7, 0xec,
+			0x14, 0x7c, 0x7d, 0xb7, 0x26, 0x98, 0x1a, 0x85,
+			0xc1, 0x6c, 0x90, 0x9f, 0x4b, 0x90, 0x7c, 0x6d,
+			0xa6, 0xba, 0x58, 0xb9, 0xa3, 0x7f, 0x7f, 0x88,
+			0xce, 0xb4, 0x40, 0x73, 0xa7, 0x72, 0x3a, 0xbc,
+			0xea, 0x99, 0xef, 0x04, 0xbd, 0x08, 0xc5, 0x0d,
+			0x6e, 0x68, 0x2f, 0x33, 0x05, 0x5b, 0xeb, 0x6a,
+			0xeb, 0x80, 0x30, 0xf0, 0x7d, 0xad, 0x7b, 0x80,
+			0x7c, 0xb9, 0x13, 0x0c, 0x08, 0x74, 0x5b, 0x7c,
+			0xec, 0x8a, 0xdb, 0xe8, 0xe0, 0xea, 0x70, 0xa4,
+			0x9e, 0x88, 0x06, 0xd4, 0xde, 0x8e, 0xb8, 0x93,
+			0xa3, 0x89, 0x2c, 0xe5, 0x07, 0xbb, 0x81, 0x88,
+			0x7f, 0x9e, 0x1d, 0xb2, 0x8e, 0x8d, 0x59, 0xae,
+			0xe4, 0xcf, 0x2d, 0x2f, 0xdf, 0x52, 0xad, 0x7c,
+			0xe8, 0x73, 0x0f, 0xee, 0xcc, 0xa0, 0x67, 0x88,
+			0x61, 0xc0, 0xcc, 0x06, 0xe0, 0x48, 0xee, 0x93,
+			0xf6, 0x56, 0xbe, 0x8a, 0x23, 0x1b, 0x86, 0x7c,
+			0x9a, 0xaa, 0x57, 0x83, 0x03, 0x6c, 0x5c, 0x08,
+			0xb2, 0xea, 0x1b, 0x98, 0xa5, 0x4d, 0xb3, 0x6b,
+			0x27, 0x52, 0xff, 0xbd, 0xb7, 0x53, 0x14, 0x8d,
+			0xd1, 0x06, 0xfc, 0xdc, 0x08, 0x59, 0x7b, 0x74,
+			0xbf, 0xb4, 0x39, 0x8b, 0x4a, 0x00, 0xdf, 0xe6,
+			0x88, 0x00, 0x36, 0x4d, 0xb0, 0x1a, 0x40, 0x13,
+			0x45, 0xe8, 0x38, 0x40, 0x49, 0x0c, 0x7a, 0x57,
+			0xca, 0x35, 0x66, 0xcf, 0xc7, 0xbe, 0x43, 0x4b,
+			0xe9, 0x35, 0x49, 0xfc, 0x08, 0x04, 0xac, 0x00,
+			0x39, 0x1f, 0x45, 0xd7, 0x87, 0x1f, 0x57, 0xec,
+			0xd4, 0x0b, 0xaa, 0x70, 0x90, 0xdd, 0x90, 0xd2,
+			0x65, 0xc4, 0xc0, 0x78, 0x96, 0xed, 0x81, 0xb1,
+			0x33, 0xea, 0xe5, 0x28, 0xa4, 0x96, 0x14, 0xe3,
+			0x55, 0x41, 0xc5, 0xbe, 0xef, 0xb3, 0x15, 0xcb,
+			0xec, 0xf5, 0xd5, 0x9c, 0x30, 0x96, 0x90, 0x51,
+			0x47, 0x71, 0x34, 0xce, 0x0b, 0xb1, 0x3f, 0xdd,
+			0x0f, 0x8f, 0xa8, 0xe1, 0xea, 0x64, 0x03, 0xdf,
+			0x04, 0xed, 0x32, 0xd6, 0xdd, 0x0b, 0xf1, 0xeb,
+			0x92, 0x7e, 0x12, 0xba, 0x15, 0x6f, 0x66, 0xe3,
+			0x5f, 0xa8, 0xb7, 0x29, 0x0b, 0x23, 0x1b, 0x8f,
+			0x44, 0x75, 0x92, 0xd6, 0xb3, 0x02, 0x1f, 0xe0,
+			0xb9, 0x98, 0xf9, 0xfa, 0xe5, 0x98, 0xb4, 0xae,
+			0xa8, 0x17, 0xbd, 0xbe, 0xb1, 0x52, 0x87, 0x5c,
+			0x3a, 0x20, 0x39, 0x1b, 0x8d, 0xc4, 0x9d, 0x7e,
+			0x05, 0x18, 0xf5, 0x3d, 0xda, 0x47, 0x0d, 0xd2,
+			0xfd, 0xcd, 0x00, 0x83, 0x6e, 0xdc, 0x00, 0x81,
+			0x9b, 0x8e, 0x85, 0x3f, 0x95, 0xb3, 0x6b, 0x5a,
+			0x2b, 0x21, 0xbf, 0xb5, 0xcf, 0xc7, 0x4d, 0xa4,
+			0x74, 0x84, 0xab, 0xc2, 0xbb, 0xa3, 0x61, 0x7f,
+			0xe4, 0x70, 0x68, 0x83, 0x2a, 0x9f, 0x67, 0x33,
+			0xe8, 0x2e, 0x5c, 0xef, 0xc3, 0x28, 0x5d, 0xd1,
+			0xf3, 0x15, 0x1d, 0x2d, 0x85, 0xd7, 0xeb, 0x47,
+			0xf3, 0x25, 0x76, 0x7a, 0xd5, 0xb7, 0x6c, 0xab,
+			0x09, 0xd1, 0xad, 0xe5, 0xe3, 0xcc, 0x78, 0xe7,
+			0x91, 0xd1, 0x60, 0x26, 0xce, 0xf4, 0x9f, 0xc9,
+			0x93, 0x30, 0x5e, 0x59, 0xef, 0x83, 0x29, 0xa3,
+			0x6e, 0x61, 0x10, 0x35, 0x18, 0x22, 0xd0, 0xec,
+			0x73, 0x71, 0xbd, 0xbd, 0x86, 0xd5, 0xbd, 0xc6,
+			0x46, 0x73, 0x19, 0x5c, 0x73, 0xa9, 0x7c, 0xde,
+			0x09, 0xe2, 0xeb, 0x23, 0x67, 0x55, 0xfa, 0xc1,
+			0x87, 0xcd, 0x77, 0xf8, 0x83, 0xdd, 0xca, 0xbc,
+			0x15, 0xa4, 0x5c, 0x0c, 0x9d, 0x71, 0x1a, 0xea,
+			0x65, 0x65, 0x9c, 0xef, 0xd8, 0x99, 0x4b, 0xe4,
+			0xea, 0x8d, 0xca, 0x70, 0x62, 0x33, 0x65, 0x13,
+			0xed, 0xbe, 0x9b, 0x3a, 0x23, 0x10, 0x58, 0x65,
+			0x6b, 0x6d, 0x0d, 0x3c, 0x7b, 0x54, 0xf5, 0x63,
+			0x2b, 0xb9, 0xd7, 0xac, 0x5f, 0x43, 0x05, 0x53,
+			0xe4, 0x6c, 0xff, 0xb0, 0x20, 0xab, 0xff, 0xf1,
+			0x24, 0x94, 0x87, 0xab, 0x8a, 0xec, 0x86, 0xfe,
+			0x2c, 0x4f, 0xd2, 0x89, 0x0e, 0xe0, 0x76, 0xe9,
+			0x73, 0x64, 0xda, 0x2d, 0xcd, 0x33, 0xe1, 0xa6,
+			0x9e, 0xd0, 0xc3, 0x90, 0xfd, 0x22, 0x55, 0x73,
+			0x3b, 0xd6, 0xd3, 0x29, 0xc5, 0x84, 0xb3, 0x84,
+			0xfb, 0x60, 0x98, 0x1d, 0x65, 0x2a, 0x9d, 0x1e,
+			0xf7, 0x5a, 0x67, 0x25, 0x5d, 0xe6, 0x02, 0x17,
+			0x8c, 0x7e, 0x64, 0x17, 0x44, 0xef, 0x19, 0xbe,
+			0xda, 0xd9, 0x83, 0x94, 0x2b, 0x4c, 0xa3, 0x3c,
+			0xfa, 0x00, 0x6f, 0xef, 0x98, 0xdf, 0x0d, 0x13,
+			0x08, 0x7a, 0xeb, 0x2d, 0xa7, 0x6d, 0x0d, 0x4f,
+			0x17, 0x2e, 0x08, 0x59, 0xa2, 0x96, 0x13, 0xa2,
+			0x5d, 0x97, 0xc3, 0x62, 0xc6, 0xd0, 0x31, 0x28,
+			0x86, 0x75, 0x08, 0x0f, 0x77, 0x36, 0xba, 0xea,
+			0x8c, 0x34, 0x83, 0xa2, 0x35, 0x7b, 0xda, 0x1b,
+			0x70, 0xe7, 0xc0, 0xdb, 0x03, 0x07, 0x97, 0x91,
+			0xa9, 0x68, 0x93, 0x89, 0x8d, 0x54, 0x6f, 0x19,
+			0xf9, 0xe0, 0xe7, 0x19, 0xef, 0x4a, 0xda, 0x80,
+			0x5a, 0x64, 0x11, 0x33, 0xdd, 0x59, 0x37, 0x7d,
+			0x81, 0xf6, 0x76, 0xbe, 0x9e, 0x3a, 0x49, 0x4e,
+			0xc4, 0xb6, 0xc5, 0x25, 0x74, 0x5e, 0x1e, 0x8c,
+			0x9b, 0xf8, 0x8f, 0x58, 0xfc, 0xb3, 0x6b, 0x4e,
+			0xea, 0xc4, 0x26, 0xea, 0xd9, 0xbf, 0xe1, 0x4a,
+			0xaf, 0x50, 0x91, 0x4f, 0xae, 0xd9, 0x29, 0x67,
+			},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x86, 0x8d, 0xae, 0x88, 0x78, 0x21, 0xba, 0x42,
+			0xe2, 0xb1, 0x14, 0xf5, 0x44, 0xea, 0x64, 0x75,
+			0xe7, 0xca, 0xdd, 0xf1, 0x57, 0xd3, 0x8a, 0x45,
+			0xed, 0x97, 0x20, 0x55, 0xd3, 0xd3, 0xfa, 0x9c,
+			0x5b, 0x79, 0x0b, 0xb4, 0x50, 0x53, 0x77, 0xd1,
+			0xb4, 0xaa, 0x20, 0xf3, 0xd1, 0xf0, 0x4e, 0x20,
+			0xb4, 0x4b, 0x5f, 0xa8, 0xd6, 0xbc, 0xdc, 0x06,
+			0xb6, 0xcc, 0xfe, 0x00, 0x7f, 0xa0, 0x76, 0x7b,
+			},
+		.sig_len = DILITHIUM65_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM65_CRYPTO_BYTES]){
+			0x9a, 0x88, 0x40, 0x11, 0x8c, 0xf3, 0x42, 0xf0,
+			0xa5, 0xd6, 0xcb, 0x40, 0xf7, 0x2a, 0xab, 0xac,
+			0x0c, 0x61, 0x19, 0x89, 0x07, 0x56, 0x10, 0x75,
+			0xed, 0xed, 0x7b, 0xef, 0xf1, 0xeb, 0x5c, 0x9c,
+			0x51, 0x5b, 0x2d, 0x03, 0x6a, 0xc7, 0x90, 0xaa,
+			0x71, 0x70, 0x16, 0xfd, 0x63, 0xbc, 0x37, 0x05,
+			0x83, 0x30, 0x63, 0xf2, 0xf8, 0x70, 0x53, 0x1c,
+			0x27, 0xc6, 0x8f, 0x49, 0x47, 0x31, 0xa1, 0xc9,
+			0x3b, 0x7e, 0x84, 0x96, 0xb7, 0x96, 0x13, 0x80,
+			0xab, 0xd1, 0x35, 0x27, 0x27, 0x1c, 0xbf, 0x9b,
+			0xef, 0x0c, 0x90, 0xb6, 0x49, 0xb6, 0x7c, 0x84,
+			0xe1, 0xf3, 0xad, 0x7c, 0xab, 0x16, 0xe9, 0x8a,
+			0xea, 0xed, 0xbc, 0x0d, 0x59, 0x72, 0x5a, 0xf6,
+			0x77, 0xdc, 0x75, 0x24, 0xf8, 0x3d, 0xb0, 0x74,
+			0xad, 0x58, 0x3b, 0xaf, 0xd3, 0xa5, 0x09, 0xa5,
+			0x9e, 0xc8, 0xf1, 0xef, 0x6d, 0x52, 0x02, 0xb1,
+			0x1f, 0x5d, 0xb2, 0x42, 0xfc, 0x92, 0xe6, 0xdb,
+			0x24, 0x4d, 0xc8, 0xa5, 0x05, 0x3d, 0xb5, 0x3a,
+			0x4f, 0xab, 0xed, 0xc7, 0xd9, 0x0c, 0x48, 0x3f,
+			0x36, 0xcd, 0x2a, 0x71, 0xbd, 0x28, 0x86, 0xbc,
+			0x1c, 0x42, 0x13, 0xab, 0xf9, 0xa3, 0xfb, 0x36,
+			0xd7, 0xd7, 0xf4, 0x11, 0xaa, 0xb4, 0x7e, 0xe6,
+			0x5d, 0x62, 0x16, 0x91, 0x79, 0x3b, 0x92, 0xde,
+			0x87, 0x41, 0x54, 0x94, 0xb2, 0x4b, 0x0e, 0x72,
+			0xdf, 0x35, 0xd1, 0x05, 0x4e, 0xad, 0xcd, 0xaa,
+			0x9f, 0x90, 0x42, 0x55, 0xf0, 0x33, 0x1e, 0x89,
+			0x36, 0x96, 0x6a, 0x3c, 0x37, 0xed, 0x35, 0x1f,
+			0x8e, 0x30, 0xbb, 0xdb, 0xae, 0xf5, 0x04, 0x5d,
+			0x0f, 0x9b, 0x93, 0xc1, 0x40, 0x58, 0x86, 0x3b,
+			0xe9, 0xe7, 0x14, 0x29, 0x67, 0xdc, 0x3f, 0x86,
+			0xec, 0x9c, 0x23, 0x38, 0x2c, 0x62, 0xd3, 0x69,
+			0xf1, 0xec, 0xac, 0x8b, 0x32, 0xa5, 0x33, 0x77,
+			0x9b, 0x2e, 0xc7, 0xcc, 0x55, 0x48, 0x20, 0x25,
+			0x39, 0x6c, 0x80, 0x2e, 0x87, 0x5f, 0xc5, 0x17,
+			0x28, 0x78, 0x4e, 0xb0, 0xd5, 0x9c, 0x5f, 0x1a,
+			0x82, 0xe0, 0x6f, 0xa3, 0x8a, 0x87, 0x78, 0x57,
+			0x4b, 0x35, 0xc0, 0x4f, 0x15, 0x24, 0x2a, 0x57,
+			0xaa, 0x1c, 0xd0, 0xe6, 0xe7, 0xed, 0x8f, 0x9e,
+			0xca, 0xe2, 0x8c, 0x11, 0x8c, 0x07, 0xf5, 0x6c,
+			0x83, 0xd0, 0x17, 0x3c, 0xb4, 0x0e, 0xe9, 0xae,
+			0xdb, 0xa2, 0xc8, 0x8a, 0xce, 0x76, 0x81, 0x94,
+			0x2f, 0x40, 0x29, 0xdf, 0x7c, 0x6d, 0xac, 0x8a,
+			0x52, 0xc1, 0xd1, 0xde, 0x30, 0x9b, 0x47, 0xff,
+			0x50, 0xa1, 0x1e, 0x44, 0x5b, 0xc3, 0xce, 0xc4,
+			0x96, 0xbd, 0xe7, 0x15, 0xac, 0xd3, 0x06, 0x8e,
+			0xcd, 0x51, 0x0e, 0x9a, 0xc0, 0xc6, 0xc6, 0xcb,
+			0xc3, 0x35, 0xd0, 0xb1, 0x06, 0xaf, 0x6a, 0x75,
+			0xab, 0xc0, 0xa1, 0x0f, 0xb9, 0xb6, 0xbd, 0x47,
+			0x85, 0x33, 0x80, 0x9f, 0xa2, 0xf4, 0xff, 0x25,
+			0xd1, 0x8e, 0x2f, 0x68, 0x87, 0x50, 0x98, 0xea,
+			0x0d, 0x9f, 0x81, 0x7d, 0xd1, 0xa8, 0xd6, 0x7b,
+			0x4f, 0x18, 0x34, 0xd0, 0xe0, 0xe8, 0x18, 0x39,
+			0x01, 0xbe, 0xaa, 0x94, 0xeb, 0xe3, 0x6d, 0xa4,
+			0x22, 0xc4, 0x92, 0x97, 0x51, 0xb5, 0x65, 0xe2,
+			0x3a, 0x39, 0x1c, 0x80, 0x3c, 0x3f, 0x18, 0x4c,
+			0x4f, 0xda, 0xd8, 0xa5, 0x77, 0xda, 0xc2, 0xe6,
+			0xe8, 0x5f, 0xa5, 0x1c, 0xb4, 0x9c, 0x8c, 0x96,
+			0x78, 0xdf, 0xed, 0xb5, 0xb0, 0x06, 0x69, 0x7a,
+			0x23, 0xd5, 0x1a, 0xdd, 0xce, 0x2e, 0x61, 0x15,
+			0x28, 0x09, 0xd2, 0x5c, 0xb0, 0xef, 0x2b, 0x41,
+			0x89, 0x6b, 0x83, 0x69, 0xdb, 0x23, 0xcd, 0x18,
+			0xa2, 0x77, 0x40, 0x67, 0xa4, 0x7d, 0xf2, 0x55,
+			0xcf, 0x1d, 0xaa, 0x89, 0x08, 0x38, 0xfa, 0x42,
+			0x69, 0x28, 0x3f, 0x05, 0xe2, 0x5e, 0xaa, 0x2f,
+			0x46, 0x83, 0x4a, 0x12, 0x89, 0x8e, 0x0d, 0x33,
+			0x40, 0x88, 0x5a, 0x4f, 0x2d, 0x5d, 0xdf, 0xbc,
+			0x23, 0xc3, 0x82, 0xff, 0x2b, 0xa4, 0xa4, 0xe4,
+			0x16, 0x8a, 0xb2, 0xf0, 0x68, 0x9b, 0x34, 0x95,
+			0x2b, 0x5b, 0xb1, 0x42, 0x06, 0xb8, 0x33, 0x93,
+			0x36, 0x5b, 0xf7, 0x7c, 0x30, 0xab, 0xb1, 0x8b,
+			0x52, 0xe8, 0x8d, 0x9b, 0xcf, 0x4a, 0x1e, 0x95,
+			0x9d, 0x8c, 0x40, 0x54, 0x5b, 0x57, 0x1b, 0xcc,
+			0xca, 0xcf, 0xfb, 0x44, 0x6e, 0xfa, 0x45, 0x13,
+			0xc8, 0xd0, 0x0f, 0xe3, 0x89, 0xd8, 0x43, 0x30,
+			0xd2, 0x2a, 0x79, 0x33, 0x34, 0xbc, 0xd2, 0xd1,
+			0x6a, 0xc3, 0x66, 0xb1, 0x4c, 0xdc, 0xc7, 0x64,
+			0x84, 0xf9, 0x05, 0x61, 0x43, 0x64, 0xf5, 0xd0,
+			0x8a, 0x32, 0x30, 0xec, 0x90, 0xb2, 0xf9, 0xd7,
+			0x53, 0x62, 0x8b, 0x71, 0xbf, 0xd6, 0xa2, 0xf6,
+			0x59, 0x60, 0xc6, 0x67, 0x82, 0xef, 0x1d, 0x59,
+			0x0d, 0xa1, 0xa4, 0x7e, 0x9d, 0x6b, 0x95, 0x74,
+			0xf0, 0x3d, 0x3a, 0xe8, 0xc8, 0xf4, 0x83, 0xb0,
+			0xef, 0x3a, 0xb3, 0x56, 0x61, 0x7f, 0xa3, 0xe9,
+			0x2b, 0x17, 0x74, 0x4e, 0xeb, 0xbe, 0xb2, 0x7a,
+			0xca, 0xd3, 0xe4, 0x67, 0xa8, 0x62, 0x11, 0xf0,
+			0x31, 0x72, 0x87, 0x52, 0xeb, 0xfd, 0x32, 0xb5,
+			0xe1, 0xff, 0x84, 0xfb, 0x81, 0xf7, 0x78, 0xef,
+			0x0d, 0xbd, 0x03, 0xcf, 0xd6, 0xa0, 0x80, 0xb4,
+			0x04, 0x2b, 0x8a, 0xd7, 0x4f, 0x86, 0x60, 0x16,
+			0x9b, 0x41, 0xa0, 0x85, 0xce, 0xd5, 0xc9, 0x26,
+			0xd5, 0xf8, 0xa2, 0x67, 0x6b, 0xa5, 0xb5, 0x8d,
+			0x14, 0x61, 0xae, 0x42, 0xbc, 0x6a, 0xb0, 0x66,
+			0x07, 0x8a, 0xbb, 0xa9, 0xd2, 0xce, 0x48, 0x12,
+			0x5c, 0xe2, 0x60, 0x3d, 0x2f, 0xd0, 0x48, 0x3b,
+			0xe8, 0xf1, 0xc1, 0xd6, 0x11, 0x84, 0xef, 0x6b,
+			0xbe, 0x8a, 0x28, 0x56, 0xb5, 0xae, 0x7a, 0x41,
+			0xeb, 0x70, 0x2c, 0x46, 0x2f, 0x37, 0xe1, 0x9d,
+			0xe9, 0x3c, 0xa4, 0x9c, 0xd2, 0x71, 0xb4, 0x1a,
+			0xcf, 0xf0, 0xbe, 0x58, 0xe1, 0xf4, 0x14, 0xcd,
+			0xb1, 0x25, 0xfd, 0x54, 0x60, 0x40, 0xfe, 0xa2,
+			0xf8, 0xab, 0x09, 0xd0, 0xca, 0x45, 0x98, 0xe6,
+			0xff, 0x73, 0x9a, 0x6c, 0x3a, 0x5f, 0x3d, 0xef,
+			0xc6, 0x19, 0x0f, 0x2e, 0x7e, 0x7e, 0xa8, 0x44,
+			0xe4, 0x57, 0xd9, 0x7f, 0x3e, 0x44, 0x1d, 0x1b,
+			0x8f, 0xeb, 0x99, 0xb9, 0x1b, 0x00, 0xde, 0xcb,
+			0x98, 0xc9, 0x5c, 0xc5, 0x87, 0x0e, 0xdc, 0xaa,
+			0xb5, 0x67, 0x63, 0x08, 0x05, 0x7a, 0xab, 0xf2,
+			0x7a, 0x81, 0x8b, 0xb0, 0xd6, 0x3c, 0xa0, 0xd5,
+			0x6d, 0xc9, 0xa0, 0xf7, 0xa7, 0xdf, 0xa6, 0x6c,
+			0x83, 0x8f, 0xea, 0xb5, 0x1f, 0x21, 0x46, 0xb8,
+			0xf4, 0xd0, 0x8b, 0x79, 0x56, 0x2f, 0x3a, 0x45,
+			0x0d, 0x2f, 0xfb, 0xbd, 0x96, 0x23, 0xbd, 0xc7,
+			0x51, 0xf6, 0x4a, 0xb9, 0xe6, 0x40, 0x23, 0x66,
+			0x48, 0x0c, 0x61, 0x95, 0x07, 0x7b, 0x4b, 0x95,
+			0x12, 0x72, 0x82, 0x00, 0xb6, 0x52, 0xb9, 0x63,
+			0xf6, 0xf5, 0xb4, 0xdb, 0x06, 0xdd, 0x9a, 0x1a,
+			0xac, 0x96, 0xb9, 0x0c, 0xcc, 0x40, 0x3a, 0xc0,
+			0x94, 0x3d, 0x4c, 0xab, 0xcd, 0x83, 0xc7, 0x9f,
+			0x1c, 0x3d, 0x9a, 0x4e, 0x9e, 0xd5, 0x63, 0x79,
+			0xed, 0xd3, 0xe4, 0x02, 0xa6, 0x0d, 0xdb, 0x6a,
+			0x8b, 0xf5, 0x34, 0x71, 0x08, 0xb3, 0xc4, 0x4e,
+			0xa0, 0xaf, 0xd1, 0xcf, 0xb1, 0x57, 0x72, 0x8a,
+			0xf7, 0x1f, 0x76, 0x98, 0xe5, 0xfc, 0x44, 0x53,
+			0xd5, 0xa1, 0xb0, 0x79, 0x35, 0x69, 0x8a, 0x5e,
+			0x33, 0xd7, 0x04, 0x45, 0xc5, 0xe0, 0x16, 0x99,
+			0x6a, 0x85, 0x69, 0xec, 0xff, 0xb0, 0x7b, 0x32,
+			0x98, 0x26, 0xbb, 0xae, 0xae, 0xb6, 0xd4, 0xc6,
+			0x48, 0x10, 0x77, 0x42, 0x95, 0x4d, 0x08, 0x70,
+			0xdf, 0x78, 0x0c, 0x40, 0x3a, 0xd6, 0xc3, 0xf9,
+			0x4a, 0x17, 0xf5, 0xdd, 0x39, 0xec, 0xf3, 0x0c,
+			0x8c, 0x30, 0x6c, 0xd7, 0x4c, 0x54, 0x81, 0x22,
+			0x99, 0xb7, 0xf3, 0xc9, 0xae, 0x45, 0x99, 0x92,
+			0x87, 0xf5, 0x50, 0x04, 0xa5, 0x48, 0x76, 0xbb,
+			0xca, 0xf3, 0xe1, 0x5a, 0x93, 0xf4, 0x49, 0x54,
+			0xf1, 0x95, 0x06, 0xe6, 0xb0, 0x19, 0xf6, 0x08,
+			0x4d, 0x7b, 0x7d, 0x6f, 0xdc, 0x8f, 0x3a, 0x7d,
+			0xc0, 0x0e, 0xa4, 0xef, 0x36, 0x66, 0x9a, 0x9d,
+			0x75, 0xe8, 0x48, 0x08, 0xfa, 0x8a, 0x58, 0x51,
+			0xc0, 0x6f, 0x85, 0x23, 0x45, 0x7f, 0x75, 0xd6,
+			0xca, 0xc6, 0x18, 0x20, 0x46, 0x5e, 0x3f, 0x1a,
+			0x44, 0x0e, 0xf1, 0x77, 0x5f, 0xdd, 0xff, 0xa9,
+			0x90, 0x3f, 0x64, 0x14, 0xee, 0x5e, 0x6c, 0xf9,
+			0x04, 0x2b, 0xbc, 0xd5, 0xad, 0x80, 0x44, 0xc5,
+			0x64, 0x81, 0x9c, 0xbf, 0x4b, 0x84, 0x6b, 0xff,
+			0x42, 0x2a, 0xca, 0xdb, 0x77, 0x0c, 0xcb, 0x96,
+			0x1a, 0xa7, 0xfb, 0xa1, 0x25, 0x34, 0x25, 0x43,
+			0x9b, 0x0f, 0x08, 0x48, 0xc0, 0x9f, 0xe8, 0xb3,
+			0x1d, 0x49, 0x12, 0x12, 0xdd, 0xa1, 0xea, 0x67,
+			0xbf, 0x4b, 0x13, 0x6a, 0x48, 0xc2, 0x72, 0x3d,
+			0x25, 0xc9, 0x1e, 0x29, 0x0d, 0xf9, 0x9f, 0x1a,
+			0xfa, 0x2f, 0x17, 0x2e, 0x99, 0xc7, 0x2c, 0x88,
+			0xf1, 0x42, 0x80, 0x97, 0xfb, 0x9f, 0xd3, 0x50,
+			0xf9, 0xe9, 0x3f, 0xb4, 0x5a, 0xcb, 0xc8, 0x4d,
+			0xf8, 0x16, 0xd0, 0x50, 0x71, 0xbc, 0xc0, 0x00,
+			0xeb, 0xbf, 0x27, 0x20, 0x45, 0x40, 0x33, 0xb0,
+			0xdf, 0x8a, 0x56, 0xb0, 0x5a, 0xb8, 0x7c, 0xbe,
+			0x2c, 0xb2, 0xd4, 0xd6, 0x03, 0x98, 0x74, 0x7e,
+			0xac, 0xba, 0x46, 0x4b, 0x7b, 0x5a, 0x31, 0x2f,
+			0xfc, 0x34, 0xdc, 0x1a, 0x9f, 0x99, 0x81, 0xee,
+			0x6f, 0x19, 0xb1, 0x88, 0xfd, 0x4c, 0x88, 0x3b,
+			0x8d, 0xfd, 0xb8, 0x3f, 0xbd, 0xb4, 0xba, 0x52,
+			0x34, 0x75, 0x29, 0x2b, 0x79, 0x7d, 0x62, 0x80,
+			0xaf, 0x61, 0x67, 0x72, 0x06, 0x0a, 0x50, 0xfd,
+			0xd7, 0xd5, 0xed, 0x97, 0x6f, 0x0d, 0x94, 0x8a,
+			0x91, 0xac, 0xaa, 0xd2, 0x2a, 0x2f, 0xe9, 0x79,
+			0x47, 0xc3, 0x1f, 0xcf, 0xcb, 0x6b, 0xc4, 0xd3,
+			0x9c, 0x9d, 0xf2, 0x9b, 0xac, 0x8a, 0xbe, 0xd3,
+			0x28, 0x56, 0xb6, 0xaa, 0xd0, 0x83, 0x62, 0x8f,
+			0xea, 0xbd, 0x8f, 0x52, 0x4d, 0xd4, 0x88, 0x2c,
+			0x2c, 0x8d, 0x09, 0x8c, 0xb4, 0xeb, 0xe8, 0x3c,
+			0x0c, 0xc1, 0x9c, 0xa8, 0x70, 0x63, 0xe4, 0xaa,
+			0x21, 0x80, 0xf9, 0x2b, 0xaf, 0x2a, 0xdd, 0xf0,
+			0xe1, 0x04, 0x05, 0xe2, 0x8c, 0x12, 0x78, 0xed,
+			0x57, 0x46, 0x16, 0xcc, 0xb8, 0xbb, 0x36, 0x54,
+			0x66, 0xb6, 0x22, 0x81, 0x88, 0xfc, 0x42, 0x92,
+			0xca, 0xd5, 0xeb, 0x66, 0x13, 0x7a, 0xd1, 0x33,
+			0xc4, 0xcd, 0xfb, 0xe0, 0x8b, 0xc4, 0x90, 0x9f,
+			0xc5, 0xb9, 0xff, 0xb9, 0xbb, 0x41, 0x72, 0x2e,
+			0x7d, 0xcc, 0x91, 0x76, 0x1b, 0xdd, 0x40, 0xf3,
+			0xd3, 0xef, 0x80, 0xfb, 0xee, 0x60, 0x33, 0xad,
+			0x89, 0x64, 0xae, 0x30, 0x41, 0xe0, 0x93, 0x6c,
+			0x52, 0xe1, 0x13, 0x8d, 0xb9, 0x22, 0x25, 0x0d,
+			0xbb, 0x6a, 0x9a, 0x91, 0xf3, 0xe8, 0x2c, 0x96,
+			0xd5, 0xf7, 0xa9, 0x54, 0x86, 0xbf, 0xb0, 0x8b,
+			0xf3, 0x6d, 0x9a, 0x9c, 0x5d, 0xbd, 0x82, 0x1f,
+			0xdc, 0x73, 0xb6, 0xa0, 0xe5, 0x9e, 0x4d, 0x7d,
+			0xb4, 0x4d, 0xbf, 0xe6, 0xed, 0xc5, 0xd4, 0x58,
+			0x48, 0x93, 0xe9, 0x9a, 0x8d, 0x09, 0xd4, 0xfa,
+			0x6a, 0xfe, 0x5c, 0x2a, 0x11, 0x46, 0x71, 0x61,
+			0xbc, 0x4f, 0x48, 0x23, 0x8c, 0x12, 0x67, 0xf2,
+			0x29, 0x25, 0x93, 0x1f, 0xb5, 0x7b, 0x15, 0x39,
+			0xad, 0x58, 0xb5, 0x10, 0xbe, 0xc6, 0xe3, 0x2d,
+			0x71, 0xaf, 0xcd, 0xa0, 0x68, 0xd7, 0x8b, 0x71,
+			0x48, 0x9f, 0x3d, 0x8a, 0x0a, 0x8e, 0xb7, 0xc7,
+			0x1a, 0xbd, 0x5e, 0x66, 0x1d, 0x03, 0x61, 0xf4,
+			0xd1, 0xc2, 0xf1, 0xaf, 0x50, 0x93, 0x44, 0x74,
+			0x4c, 0x6e, 0x83, 0x9b, 0xa6, 0x19, 0x1a, 0x2e,
+			0xa3, 0xa5, 0xef, 0x0c, 0xc6, 0x71, 0x49, 0x0d,
+			0x56, 0xe6, 0xd4, 0x7b, 0x16, 0x8f, 0xe4, 0x5b,
+			0x78, 0x75, 0x7a, 0xe0, 0x4f, 0xe8, 0x40, 0x97,
+			0x9a, 0xc5, 0x95, 0x74, 0x29, 0xda, 0xfa, 0x32,
+			0xfb, 0x9e, 0xfa, 0x78, 0x90, 0x76, 0xb0, 0x1c,
+			0xcd, 0xa9, 0x67, 0x92, 0x58, 0xf2, 0xcf, 0xc6,
+			0x9b, 0xaf, 0x2e, 0xfd, 0x6f, 0x1f, 0x13, 0xbc,
+			0x18, 0xd4, 0xdb, 0x1b, 0x8d, 0xcf, 0x38, 0xd7,
+			0xc9, 0x52, 0xd2, 0x33, 0xe2, 0xf1, 0xe2, 0x7c,
+			0x98, 0x7f, 0xfe, 0x44, 0xe7, 0x1d, 0xe3, 0x23,
+			0x95, 0xf1, 0x6d, 0xe9, 0xf9, 0x72, 0x3f, 0x8c,
+			0xb7, 0xdb, 0x2e, 0xb7, 0x4e, 0x33, 0xd0, 0x87,
+			0x78, 0x30, 0xb9, 0x41, 0xcf, 0x92, 0x8d, 0xbc,
+			0xe6, 0x4e, 0x7f, 0x52, 0x5f, 0x45, 0x4c, 0x44,
+			0x2b, 0xd2, 0xa4, 0x3c, 0xb0, 0x20, 0x88, 0xf2,
+			0x59, 0xfc, 0xfb, 0x1f, 0xaf, 0x3e, 0x80, 0xa7,
+			0xb7, 0x12, 0x0a, 0x5b, 0xc8, 0x0d, 0x17, 0x98,
+			0x25, 0x36, 0x01, 0x4b, 0xd8, 0x03, 0x7b, 0x84,
+			0xc5, 0x75, 0xa9, 0x16, 0x90, 0xc8, 0x5a, 0x25,
+			0xed, 0xf8, 0x5b, 0x89, 0x54, 0x2d, 0xbd, 0x46,
+			0xf6, 0xc2, 0xf1, 0x39, 0xdc, 0x29, 0x11, 0x37,
+			0x84, 0xc5, 0x91, 0xd2, 0x4c, 0xf6, 0x27, 0x94,
+			0x4a, 0xdc, 0x82, 0xc5, 0x95, 0xd5, 0xc3, 0x41,
+			0xad, 0x1c, 0xcd, 0xeb, 0xfe, 0x6f, 0x16, 0xef,
+			0x5e, 0x65, 0x1d, 0x7a, 0xa0, 0xc9, 0xed, 0xa9,
+			0xcd, 0x31, 0xec, 0x64, 0x74, 0xb3, 0x25, 0x6d,
+			0xb3, 0xea, 0x0f, 0xa7, 0xf5, 0x7d, 0x88, 0xe9,
+			0xc3, 0x37, 0x29, 0x88, 0xcf, 0x05, 0x7d, 0xee,
+			0xc0, 0x2a, 0x30, 0x5f, 0x9f, 0xf9, 0xa6, 0x6b,
+			0xa7, 0x6a, 0x3d, 0xe8, 0xfa, 0x3c, 0xe1, 0x45,
+			0x57, 0x4f, 0x27, 0xb6, 0x28, 0x60, 0xc0, 0xad,
+			0x3d, 0x54, 0x07, 0x53, 0x81, 0x10, 0x64, 0xad,
+			0x22, 0x61, 0x4b, 0xbf, 0xe6, 0xe7, 0x10, 0xe4,
+			0xe7, 0x46, 0x58, 0x0e, 0x40, 0x53, 0x5d, 0x96,
+			0x51, 0xf8, 0x9f, 0xa6, 0xfa, 0xa0, 0xe3, 0xc2,
+			0xa5, 0x36, 0x4c, 0x7a, 0x71, 0x53, 0xa9, 0x36,
+			0xf6, 0xf2, 0xa3, 0xba, 0x60, 0x7b, 0x5b, 0x11,
+			0xd2, 0x39, 0x20, 0xeb, 0x09, 0x68, 0x4a, 0x1b,
+			0xe4, 0x31, 0xa5, 0xc9, 0xc9, 0xe5, 0xf4, 0x47,
+			0x5e, 0x26, 0x30, 0xf1, 0x83, 0x39, 0xa5, 0x4c,
+			0xa0, 0x72, 0x68, 0x8f, 0x4b, 0xd6, 0x64, 0x4c,
+			0xf5, 0x34, 0x74, 0x3d, 0x0c, 0x76, 0x10, 0xf4,
+			0x84, 0x5c, 0x9c, 0xbe, 0xe8, 0xe6, 0x24, 0x19,
+			0x4e, 0x34, 0x0a, 0x7a, 0x5d, 0x37, 0xae, 0xec,
+			0x2e, 0xf6, 0x05, 0x4a, 0x13, 0xf0, 0xc3, 0xb1,
+			0xd0, 0x41, 0xde, 0x5b, 0xcf, 0x86, 0xcc, 0xfc,
+			0xda, 0xa9, 0x31, 0x26, 0x09, 0xc3, 0x85, 0xe8,
+			0xd1, 0xa1, 0x39, 0x29, 0x73, 0xa9, 0xa7, 0x26,
+			0xda, 0x93, 0x4b, 0x1c, 0x41, 0xaf, 0x82, 0x9c,
+			0xa6, 0x05, 0x85, 0x93, 0x13, 0x60, 0x78, 0x54,
+			0x26, 0x11, 0x22, 0xc3, 0x4a, 0xde, 0x20, 0x54,
+			0xf4, 0x56, 0xc8, 0xc1, 0x09, 0x47, 0xfb, 0x47,
+			0x3e, 0x5c, 0x4c, 0x6e, 0xab, 0x9e, 0x22, 0x67,
+			0x4a, 0x80, 0xd7, 0x54, 0x8d, 0xdd, 0x57, 0x89,
+			0x77, 0xba, 0x96, 0x84, 0x73, 0x6d, 0x29, 0xa5,
+			0x73, 0x24, 0x3a, 0x54, 0x61, 0x5e, 0x80, 0xf7,
+			0x65, 0x41, 0x56, 0x32, 0x57, 0xb4, 0xb8, 0x22,
+			0x91, 0xef, 0xfd, 0x66, 0x12, 0x61, 0x84, 0xd9,
+			0x7d, 0x14, 0xa9, 0xd0, 0xf3, 0x82, 0xec, 0xf0,
+			0x91, 0x79, 0x70, 0xaa, 0xe3, 0x08, 0x5f, 0xc8,
+			0x3e, 0xc3, 0x4f, 0x51, 0xb3, 0x1c, 0x55, 0x34,
+			0xea, 0x8c, 0x9b, 0x70, 0xd5, 0xae, 0x95, 0xd8,
+			0xf5, 0x73, 0x47, 0x9d, 0xbf, 0x7f, 0xab, 0xe1,
+			0x2a, 0x26, 0x4c, 0x0c, 0x1b, 0xab, 0x09, 0xae,
+			0x14, 0x14, 0x96, 0x7c, 0x61, 0xc0, 0xd1, 0x3f,
+			0xe0, 0x6c, 0x29, 0x7a, 0x13, 0x82, 0x3a, 0x10,
+			0xca, 0x79, 0xa1, 0x69, 0xb5, 0xe4, 0x12, 0x8f,
+			0x88, 0x91, 0x89, 0x4c, 0x49, 0xbb, 0x21, 0xba,
+			0xca, 0xd0, 0x38, 0xf2, 0x91, 0xed, 0x49, 0x6a,
+			0x59, 0xa7, 0x74, 0x87, 0xa1, 0x6e, 0x47, 0x18,
+			0x2d, 0xbe, 0xcf, 0x41, 0x3a, 0x07, 0x9e, 0xb8,
+			0x2b, 0xf9, 0x93, 0xd6, 0xd1, 0x06, 0xa6, 0xa4,
+			0x3f, 0xef, 0x1e, 0xba, 0x3f, 0xf7, 0x3d, 0xe2,
+			0x3d, 0xf9, 0xa9, 0x20, 0xa5, 0x81, 0x2a, 0x3f,
+			0xb3, 0xbd, 0xdd, 0xae, 0x3f, 0xb5, 0xf7, 0xdd,
+			0x47, 0x9c, 0x57, 0x2d, 0xa9, 0xd1, 0x5d, 0x61,
+			0xaa, 0xd6, 0xca, 0x32, 0x35, 0x68, 0x69, 0xdb,
+			0xed, 0xb4, 0xd8, 0x2e, 0xc8, 0x41, 0x7e, 0x79,
+			0xad, 0xd0, 0xca, 0x2b, 0xa3, 0x2c, 0x9d, 0x16,
+			0x13, 0x79, 0x8c, 0x30, 0x01, 0xf4, 0x33, 0x48,
+			0x4a, 0x09, 0xa3, 0xaa, 0xd1, 0x75, 0xfc, 0xc7,
+			0xac, 0x43, 0xc1, 0xd7, 0xcf, 0x90, 0x91, 0x90,
+			0x24, 0x5a, 0x8b, 0xfd, 0xff, 0x1a, 0x8e, 0xa0,
+			0x25, 0xb7, 0x28, 0x8c, 0x21, 0x96, 0x25, 0x12,
+			0xe3, 0x9a, 0x19, 0xe4, 0x1a, 0x50, 0x2c, 0x9b,
+			0x48, 0x3b, 0xc9, 0x82, 0xc9, 0x29, 0xdc, 0x4d,
+			0x0c, 0xb6, 0x5d, 0x2e, 0xc1, 0xc8, 0x5a, 0xdd,
+			0x39, 0x97, 0x4c, 0xce, 0xea, 0x33, 0x95, 0xa5,
+			0x86, 0x5e, 0x1b, 0x21, 0xf1, 0x73, 0x58, 0xe7,
+			0x28, 0x13, 0xca, 0x9d, 0xd9, 0x7a, 0xe8, 0x94,
+			0x56, 0xd3, 0x35, 0xfe, 0x18, 0x4a, 0x91, 0x6e,
+			0x99, 0x83, 0xac, 0x9f, 0x99, 0x0b, 0xbd, 0xf3,
+			0xbf, 0x0e, 0x3d, 0xf6, 0xcd, 0x9f, 0xfc, 0x80,
+			0x9d, 0x72, 0x7f, 0x60, 0xd2, 0xf6, 0x1e, 0xa6,
+			0x0f, 0xeb, 0xa7, 0xee, 0xe3, 0x8d, 0x56, 0xf8,
+			0x20, 0x76, 0xcf, 0x7e, 0xf9, 0x5d, 0x06, 0x08,
+			0xe0, 0xcb, 0xf0, 0x89, 0xfc, 0x39, 0x54, 0x60,
+			0x4f, 0x92, 0xfd, 0x04, 0xab, 0xa6, 0x6e, 0x63,
+			0x44, 0xab, 0xc3, 0x70, 0x1b, 0x57, 0x01, 0x79,
+			0x88, 0x5e, 0xc0, 0x25, 0xc8, 0xe1, 0x03, 0xdd,
+			0x0f, 0x61, 0x2b, 0x50, 0x13, 0x84, 0x02, 0x79,
+			0x3a, 0x89, 0x16, 0x08, 0x34, 0x3e, 0x76, 0xf7,
+			0x4f, 0xbc, 0x9e, 0xfb, 0xb5, 0x81, 0xc4, 0xda,
+			0x95, 0x8b, 0x33, 0x92, 0x49, 0x86, 0x02, 0x44,
+			0x8d, 0x60, 0x74, 0x77, 0x5c, 0x6d, 0xcc, 0x0d,
+			0x67, 0xbe, 0x6e, 0x4a, 0xd9, 0x8c, 0xdd, 0x09,
+			0x7d, 0x90, 0x15, 0x2b, 0x6f, 0x7a, 0xca, 0x2d,
+			0x91, 0x74, 0x08, 0xd5, 0x38, 0xb4, 0xcb, 0xd3,
+			0xd5, 0x66, 0x2b, 0x2c, 0x98, 0xd1, 0x1f, 0x40,
+			0x06, 0x94, 0x83, 0x3c, 0xe4, 0x95, 0x59, 0x8c,
+			0xcb, 0x5d, 0x1f, 0x2f, 0xd1, 0x28, 0x26, 0xd5,
+			0x41, 0x42, 0x89, 0x60, 0xdc, 0xfb, 0xba, 0x40,
+			0x99, 0xe8, 0xa1, 0x99, 0xd4, 0x97, 0x05, 0xf1,
+			0xf4, 0x68, 0xa7, 0x95, 0x9b, 0x46, 0xbe, 0x3a,
+			0xa2, 0x38, 0x81, 0x1d, 0x3f, 0xa3, 0x39, 0x20,
+			0xa1, 0x1a, 0x3c, 0x59, 0x1d, 0x34, 0x77, 0xd0,
+			0x8b, 0xb9, 0x49, 0x7d, 0xba, 0x8f, 0x97, 0x27,
+			0x1c, 0xbe, 0xf5, 0x9b, 0x4b, 0x88, 0x87, 0x1b,
+			0xd8, 0xbe, 0x6e, 0x41, 0xd3, 0x54, 0x9a, 0xe3,
+			0x52, 0x05, 0xe2, 0x01, 0x18, 0x31, 0xd2, 0xe2,
+			0x2e, 0xdd, 0x85, 0xd3, 0x2c, 0xe0, 0x07, 0xed,
+			0xa8, 0x0e, 0xc3, 0x0d, 0x83, 0x01, 0xa6, 0xcd,
+			0x0d, 0x50, 0xde, 0xb6, 0x6b, 0xf7, 0x59, 0x3f,
+			0xb7, 0x26, 0x4f, 0x55, 0x4d, 0xd8, 0x34, 0x39,
+			0xef, 0x47, 0x7d, 0x6c, 0x8c, 0x2e, 0xfb, 0x67,
+			0x49, 0x61, 0x5b, 0x33, 0x9d, 0xe2, 0x94, 0xb7,
+			0x76, 0x80, 0x1f, 0xed, 0x73, 0xc7, 0xf6, 0xab,
+			0xc0, 0x77, 0x59, 0x10, 0x49, 0xe6, 0x59, 0x09,
+			0xf6, 0xb0, 0x07, 0x09, 0x87, 0x54, 0xe5, 0x0b,
+			0x0e, 0x73, 0x2b, 0xed, 0xba, 0xcf, 0xb1, 0xc5,
+			0xa0, 0xf3, 0x24, 0x9a, 0xc2, 0x56, 0x70, 0xf3,
+			0xb6, 0x92, 0xab, 0x91, 0x3a, 0x54, 0x8a, 0x5b,
+			0x9e, 0x93, 0x3f, 0x12, 0x22, 0xa5, 0xa5, 0x52,
+			0xb3, 0xbf, 0x83, 0x58, 0x96, 0x90, 0x93, 0xd1,
+			0x9f, 0xaf, 0x0a, 0x22, 0x04, 0x6f, 0x23, 0xa3,
+			0x3d, 0x65, 0x98, 0xd4, 0xbd, 0x61, 0xe3, 0xd8,
+			0x44, 0x6b, 0xc7, 0xe9, 0xcc, 0x8f, 0xbb, 0x55,
+			0x8f, 0x33, 0xce, 0xfe, 0x76, 0xff, 0x42, 0x6d,
+			0xe4, 0xfa, 0xca, 0x87, 0x99, 0x5b, 0x68, 0x93,
+			0xff, 0x0f, 0xba, 0xd7, 0x6d, 0x1d, 0x17, 0xd8,
+			0x9e, 0xd2, 0x69, 0x70, 0x25, 0x4f, 0x3a, 0xa8,
+			0xd0, 0x0d, 0xea, 0xdd, 0x0f, 0xc5, 0xa3, 0x13,
+			0x72, 0xb8, 0x5a, 0x91, 0xb6, 0x47, 0xf3, 0xd4,
+			0x4a, 0xf8, 0xa1, 0xe9, 0xa7, 0x11, 0xc0, 0xba,
+			0xc5, 0x1d, 0xbb, 0xcf, 0x98, 0x19, 0x56, 0x7c,
+			0xde, 0xe4, 0x01, 0xbc, 0x0b, 0xe0, 0x3b, 0x43,
+			0xb2, 0x7d, 0x8c, 0x67, 0x1c, 0x2d, 0xdf, 0xb2,
+			0xf8, 0xcc, 0x7b, 0xdd, 0x45, 0x6c, 0x6f, 0xfb,
+			0x6d, 0xaf, 0xc6, 0x20, 0xaa, 0x25, 0xb7, 0xf9,
+			0x94, 0x48, 0xaf, 0x45, 0x96, 0x2a, 0x78, 0x78,
+			0x62, 0x8a, 0x23, 0xb5, 0x7d, 0x37, 0x98, 0xfd,
+			0x5d, 0x96, 0x50, 0x2f, 0x2c, 0x4b, 0x45, 0xa3,
+			0xf1, 0xaa, 0x2d, 0x92, 0x6d, 0xa8, 0xd1, 0x6b,
+			0x41, 0x53, 0x37, 0xff, 0x06, 0xfd, 0x8f, 0x57,
+			0xe9, 0x30, 0x05, 0x52, 0x64, 0xa9, 0x91, 0x8a,
+			0x33, 0xec, 0x62, 0xcd, 0x61, 0xae, 0x3c, 0x32,
+			0x57, 0x3e, 0xe4, 0x86, 0xdf, 0xb8, 0x0e, 0x7b,
+			0x07, 0x2c, 0xaf, 0x9f, 0xcc, 0x15, 0xe0, 0x67,
+			0x65, 0xab, 0x85, 0x86, 0x7e, 0x00, 0x6a, 0x2f,
+			0x62, 0x52, 0xfa, 0x2f, 0x37, 0x8d, 0x38, 0x55,
+			0x40, 0x9d, 0x6c, 0x01, 0x7c, 0x0b, 0x93, 0x20,
+			0x60, 0x69, 0x9d, 0x6e, 0xc9, 0x4d, 0xe5, 0x62,
+			0x4b, 0x94, 0xe4, 0x05, 0x26, 0x46, 0x37, 0xd8,
+			0x3f, 0xd7, 0x16, 0x35, 0x45, 0x88, 0x4c, 0xad,
+			0x6a, 0xa6, 0xb2, 0x1b, 0x63, 0x9a, 0x3e, 0xfc,
+			0x69, 0xdd, 0xbb, 0x5b, 0xf4, 0xf3, 0xa1, 0x8c,
+			0xba, 0xd5, 0xef, 0x6a, 0xf0, 0x97, 0x2f, 0x20,
+			0x79, 0xdf, 0x11, 0x2c, 0x75, 0xab, 0x0d, 0x22,
+			0xaa, 0x6e, 0x8a, 0x59, 0x5e, 0x0c, 0x88, 0xe5,
+			0x1c, 0x4b, 0x6e, 0x1a, 0x5c, 0xa8, 0xe7, 0x36,
+			0xc9, 0x6a, 0x49, 0x85, 0xe0, 0x06, 0xa8, 0xaa,
+			0xed, 0x87, 0x29, 0x28, 0x0a, 0x40, 0xce, 0xdb,
+			0x78, 0xc6, 0x65, 0x26, 0x4d, 0x13, 0xdb, 0x89,
+			0xf9, 0x04, 0xdd, 0x58, 0x92, 0x8c, 0x5f, 0xad,
+			0x02, 0xee, 0xe9, 0xaa, 0x97, 0x6b, 0xf8, 0x77,
+			0x15, 0x7c, 0xb4, 0xa8, 0x30, 0x12, 0x8e, 0xbb,
+			0x4e, 0xc2, 0x19, 0x14, 0x0e, 0x0c, 0xc9, 0x5d,
+			0xc4, 0x47, 0x30, 0xe4, 0x85, 0x71, 0x98, 0x52,
+			0x53, 0x55, 0x6c, 0x11, 0x8b, 0xbd, 0x12, 0x77,
+			0xe9, 0x84, 0xd2, 0x5b, 0x17, 0x90, 0x24, 0xae,
+			0x7c, 0xc8, 0xf9, 0xdf, 0xd0, 0x98, 0xe6, 0x6c,
+			0xe8, 0xac, 0xeb, 0x53, 0x1b, 0x58, 0x97, 0xa0,
+			0xc4, 0x4c, 0xfb, 0x47, 0xb6, 0x1d, 0x7a, 0x59,
+			0x42, 0x28, 0xb4, 0xdb, 0x87, 0x84, 0x93, 0xde,
+			0x18, 0xd8, 0xe3, 0x4e, 0xe6, 0xcf, 0xe0, 0x7e,
+			0x09, 0xe1, 0x82, 0x40, 0x5d, 0x51, 0x80, 0x75,
+			0x50, 0x88, 0xef, 0x99, 0xbd, 0x41, 0xd3, 0x8e,
+			0xe9, 0x96, 0xdd, 0x97, 0x55, 0xe0, 0xbc, 0x5d,
+			0xba, 0xda, 0x0b, 0x15, 0xb3, 0x98, 0x86, 0x99,
+			0xd7, 0xba, 0xaf, 0x5d, 0xb7, 0x84, 0xe3, 0xde,
+			0x47, 0xca, 0xff, 0xc8, 0x14, 0xbe, 0x1a, 0xc5,
+			0xd9, 0x8a, 0xcb, 0xd6, 0x0b, 0xe5, 0x9d, 0xe8,
+			0xf9, 0x5e, 0x78, 0xec, 0xa6, 0xbd, 0x72, 0xd7,
+			0xc0, 0x33, 0xf7, 0xfa, 0xc1, 0x33, 0x3a, 0x9b,
+			0x11, 0xd8, 0x02, 0x8c, 0xd0, 0xe8, 0x37, 0xb8,
+			0x25, 0xe3, 0x97, 0x24, 0x2e, 0x29, 0x41, 0x83,
+			0xee, 0x4a, 0x22, 0x00, 0x7c, 0xc1, 0x4c, 0xf5,
+			0xe5, 0xac, 0xf7, 0x6b, 0xa9, 0x93, 0x76, 0x37,
+			0x52, 0x9b, 0xfe, 0xb9, 0x2f, 0xe9, 0xc9, 0xe2,
+			0xaa, 0xcc, 0x72, 0x7a, 0xab, 0xd4, 0x23, 0x0b,
+			0x0c, 0xc9, 0x63, 0x4c, 0x02, 0x3e, 0x38, 0x58,
+			0x4e, 0xea, 0xdc, 0xeb, 0xbd, 0x7c, 0xb7, 0xfd,
+			0xf8, 0x99, 0x2b, 0x0b, 0x72, 0x8b, 0x44, 0x6d,
+			0x3b, 0xe8, 0x97, 0xf2, 0xa1, 0xbf, 0x4e, 0x93,
+			0xf0, 0x64, 0x16, 0x4d, 0x39, 0xf8, 0x72, 0xe7,
+			0x73, 0x2e, 0xbc, 0x08, 0x0f, 0x42, 0x7e, 0x30,
+			0xb8, 0xbf, 0x75, 0xed, 0x00, 0x50, 0x9f, 0x81,
+			0x13, 0x3b, 0xc9, 0x33, 0x4d, 0xf9, 0x7e, 0x8b,
+			0x5c, 0xd8, 0x7c, 0xe4, 0x0d, 0x95, 0x63, 0x28,
+			0x59, 0x68, 0x97, 0x02, 0x0c, 0x1e, 0x57, 0xa6,
+			0x0b, 0x24, 0x3e, 0x70, 0x8e, 0x94, 0x9a, 0xd4,
+			0x43, 0xb1, 0xb6, 0xcd, 0xf8, 0xff, 0x35, 0x46,
+			0x6c, 0x77, 0xb6, 0xbe, 0xc8, 0x7b, 0xb0, 0xc1,
+			0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+			0x08, 0x10, 0x16, 0x1d, 0x21, },
+	},
diff --git a/crypto/ml_dsa/dilithium_selftest.c b/crypto/ml_dsa/dilithium_selftest.c
index 60955f4021dd..5179adbce99a 100644
--- a/crypto/ml_dsa/dilithium_selftest.c
+++ b/crypto/ml_dsa/dilithium_selftest.c
@@ -35,6 +35,9 @@ struct dilithium_testvector {
 static const struct dilithium_testvector dilithium44_testvectors[] = {
 #include "dilithium_pure_rejection_vectors_44.h"
 };
+static const struct dilithium_testvector dilithium65_testvectors[] = {
+#include "dilithium_pure_rejection_vectors_65.h"
+};
 
 /*
  * Allow kunit to free a crypto signature processing object.
@@ -99,8 +102,20 @@ static void dilithium44_kunit_test(struct kunit *test)
 	KUNIT_SUCCEED(test);
 }
 
+static void dilithium65_kunit_test(struct kunit *test)
+{
+	const struct dilithium_testvector *tc = dilithium65_testvectors;
+	int count = ARRAY_SIZE(dilithium65_testvectors);
+
+	for (int index = 0; index < count; index++)
+		dilithium_sigver_test_one(test, index, &tc[index]);
+
+	KUNIT_SUCCEED(test);
+}
+
 static struct kunit_case __refdata dilithium_kunit_cases[] = {
 	KUNIT_CASE(dilithium44_kunit_test),
+	KUNIT_CASE(dilithium65_kunit_test),
 	{}
 };
 


^ permalink raw reply related

* [PATCH v7 3/8] crypto: Add ML-DSA-44 pure rejection test vectors as a kunit test
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Add the "Pure rejection tests" from Stephan Mueller's Leancrypto
implementation of ML-DSA/Dilithium 44 to the kernel as a kunit test.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Jason A. Donenfeld <Jason@zx2c4.com>
cc: Ard Biesheuvel <ardb@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: linux-crypto@vger.kernel.org
---
 crypto/ml_dsa/Kconfig                         |  15 +
 crypto/ml_dsa/Makefile                        |   2 +
 .../dilithium_pure_rejection_vectors_44.h     | 489 ++++++++++++++++++
 crypto/ml_dsa/dilithium_selftest.c            | 112 ++++
 4 files changed, 618 insertions(+)
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_44.h
 create mode 100644 crypto/ml_dsa/dilithium_selftest.c

diff --git a/crypto/ml_dsa/Kconfig b/crypto/ml_dsa/Kconfig
index cc0567c5b990..d6e31d9ad77f 100644
--- a/crypto/ml_dsa/Kconfig
+++ b/crypto/ml_dsa/Kconfig
@@ -14,4 +14,19 @@ config CRYPTO_DILITHIUM_65
 config CRYPTO_DILITHIUM_87
 	bool "Enable Dilithium-87 support"
 
+config CRYPTO_ML_DSA_TEST
+	tristate "ML-DSA/Dilithium KUnit tests"
+	depends on KUNIT
+	default KUNIT_ALL_TESTS
+	help
+	  This options enables the KUnit tests for ML-DSA.
+
+	  KUnit tests run during boot and output the results to the debug
+	  log in TAP format (https://testanything.org/). Only useful for
+	  kernel devs running KUnit test harness and are not for inclusion
+	  into a production build.
+
+	  For more information on KUnit and unit tests in general, refer
+	  to the KUnit documentation in Documentation/dev-tools/kunit/.
+
 endif
diff --git a/crypto/ml_dsa/Makefile b/crypto/ml_dsa/Makefile
index d420a8ba6033..dd05ce75f79f 100644
--- a/crypto/ml_dsa/Makefile
+++ b/crypto/ml_dsa/Makefile
@@ -16,3 +16,5 @@ ml_dsa-$(CONFIG_CRYPTO_DILITHIUM_65) += dilithium_65.o
 ml_dsa-$(CONFIG_CRYPTO_DILITHIUM_44) += dilithium_44.o
 
 obj-$(CONFIG_CRYPTO_ML_DSA) += ml_dsa.o
+
+obj-$(CONFIG_CRYPTO_ML_DSA_TEST) += dilithium_selftest.o
diff --git a/crypto/ml_dsa/dilithium_pure_rejection_vectors_44.h b/crypto/ml_dsa/dilithium_pure_rejection_vectors_44.h
new file mode 100644
index 000000000000..e452cad32194
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_pure_rejection_vectors_44.h
@@ -0,0 +1,489 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+	{
+		.what = "pure rejection vector",
+		.algo = "ml-dsa44",
+		.pk_len = DILITHIUM44_PUBLICKEYBYTES,
+		.pk = (const u8[DILITHIUM44_PUBLICKEYBYTES]){
+			0x8f, 0x61, 0x67, 0xa9, 0x7c, 0x61, 0xc2, 0xf2,
+			0x87, 0xe2, 0x28, 0xf8, 0x44, 0x80, 0x6f, 0xb0,
+			0x10, 0xc1, 0x14, 0xf6, 0x88, 0x42, 0x76, 0xbe,
+			0x05, 0xd2, 0x56, 0xa0, 0xb7, 0x46, 0xcf, 0xc5,
+			0x76, 0x0a, 0x52, 0xfe, 0xa3, 0x3c, 0x05, 0x6e,
+			0xd5, 0xd3, 0xbd, 0x80, 0x03, 0x29, 0x25, 0x96,
+			0xdf, 0xa9, 0x5b, 0x12, 0x42, 0x89, 0x6e, 0x03,
+			0x2c, 0x42, 0x64, 0xee, 0xc7, 0xf7, 0x55, 0xfe,
+			0xfd, 0x15, 0x74, 0xee, 0x2d, 0xb3, 0xbf, 0xf2,
+			0x24, 0xe7, 0x35, 0x45, 0x77, 0x67, 0x44, 0xd2,
+			0x0c, 0x43, 0xfc, 0x7b, 0x47, 0x56, 0xad, 0xc5,
+			0xe7, 0x37, 0x49, 0x21, 0x12, 0x57, 0x7f, 0xca,
+			0x7f, 0x5d, 0xac, 0x62, 0x5b, 0x8d, 0xbf, 0xdb,
+			0x64, 0xac, 0x12, 0x1d, 0x7f, 0x7a, 0x2f, 0xa0,
+			0x2c, 0xfe, 0x95, 0x4b, 0x78, 0xdb, 0xf0, 0x98,
+			0x97, 0x70, 0x62, 0xfc, 0x64, 0x4a, 0x1b, 0xbc,
+			0x30, 0x1b, 0x51, 0x13, 0x47, 0x6e, 0x83, 0xd2,
+			0xa2, 0xcf, 0x39, 0xba, 0xd3, 0x00, 0x62, 0x7c,
+			0x5b, 0xe6, 0x14, 0x55, 0xd5, 0xfc, 0xbf, 0x15,
+			0x65, 0xd7, 0x1f, 0xbb, 0xf6, 0x2b, 0x46, 0x38,
+			0x1e, 0xf3, 0x8f, 0x0d, 0x57, 0x8a, 0x41, 0xfb,
+			0x47, 0x19, 0xe1, 0x79, 0xca, 0x98, 0x1a, 0x73,
+			0x4d, 0x8a, 0xc0, 0xa1, 0xa7, 0x4a, 0x28, 0x4a,
+			0x92, 0x6c, 0x77, 0x4f, 0x18, 0xe1, 0xce, 0x11,
+			0x14, 0xd5, 0xf6, 0xc0, 0xa8, 0x1e, 0x26, 0x25,
+			0xe4, 0x30, 0xb2, 0x6f, 0x89, 0x6e, 0xc6, 0x44,
+			0x1a, 0xd3, 0xca, 0xe1, 0x05, 0x0d, 0x61, 0x80,
+			0xd7, 0xbc, 0x56, 0x0a, 0x57, 0x9f, 0x16, 0x40,
+			0x84, 0x1e, 0xc0, 0x5e, 0xcd, 0xb6, 0xc8, 0x5d,
+			0x87, 0xd6, 0xee, 0xcb, 0x21, 0x2f, 0x22, 0x9a,
+			0x7e, 0xea, 0x2e, 0xf5, 0x87, 0xf0, 0x44, 0x10,
+			0x3d, 0x42, 0x6d, 0x3f, 0x4f, 0xa0, 0x21, 0x8e,
+			0x40, 0x75, 0x3b, 0xaa, 0xd4, 0xd9, 0x37, 0x0a,
+			0x35, 0x5b, 0xba, 0xbd, 0x11, 0x17, 0x7b, 0x7e,
+			0xfc, 0xb1, 0x1c, 0x5c, 0x71, 0xce, 0xde, 0xa5,
+			0xec, 0xd6, 0x8b, 0x50, 0x64, 0x02, 0xca, 0x84,
+			0x26, 0xfe, 0x03, 0x9e, 0xaf, 0x13, 0x05, 0x1c,
+			0x85, 0x32, 0x92, 0x85, 0x84, 0x83, 0xb6, 0x76,
+			0x27, 0xa7, 0xd8, 0x0c, 0xa4, 0xb5, 0x65, 0x7a,
+			0xbf, 0x2e, 0x64, 0xce, 0x82, 0x0d, 0x27, 0xd3,
+			0x2c, 0x9d, 0xb5, 0xa5, 0x51, 0xe3, 0xab, 0xbd,
+			0xe2, 0xe0, 0x64, 0x71, 0x0f, 0x99, 0x09, 0x6a,
+			0x40, 0x9d, 0x8c, 0x6d, 0x63, 0x70, 0x42, 0xe2,
+			0xa8, 0x5c, 0x71, 0xd2, 0x88, 0x10, 0xbc, 0x3b,
+			0x9d, 0xc8, 0x3a, 0x8a, 0xf3, 0x81, 0x0a, 0x0e,
+			0xd8, 0xf6, 0x13, 0x90, 0xc2, 0xda, 0x4c, 0x4f,
+			0x6f, 0x1f, 0x61, 0x0d, 0x46, 0xac, 0x5c, 0x4a,
+			0xcc, 0x23, 0xfb, 0xf2, 0xf8, 0x9f, 0x48, 0x1f,
+			0xaf, 0x24, 0xb4, 0xc7, 0xcb, 0x6f, 0x80, 0x74,
+			0xa3, 0xdb, 0xa8, 0x61, 0x12, 0x60, 0x08, 0x56,
+			0x85, 0x47, 0x05, 0x32, 0x93, 0x43, 0x9b, 0xa6,
+			0xf6, 0x56, 0x3b, 0xab, 0x93, 0x28, 0x19, 0xda,
+			0xad, 0xb5, 0xaa, 0x2e, 0x83, 0x3d, 0x37, 0x0e,
+			0x83, 0xf2, 0xfe, 0xdd, 0xe8, 0xd9, 0x53, 0x36,
+			0x3b, 0x5d, 0x8e, 0x24, 0xa9, 0x3a, 0x8f, 0x85,
+			0x4b, 0x50, 0xf7, 0x61, 0x0f, 0x20, 0x92, 0x09,
+			0x1f, 0xe4, 0x24, 0x98, 0x9f, 0xa4, 0x52, 0x12,
+			0x2a, 0xae, 0x6f, 0xd6, 0x0d, 0xb5, 0x22, 0x72,
+			0x83, 0xfb, 0x4f, 0xef, 0xa6, 0x55, 0x9a, 0x14,
+			0xab, 0x82, 0x89, 0x1f, 0xf2, 0x0b, 0x14, 0x76,
+			0xb7, 0xf7, 0x14, 0xdd, 0xd6, 0xc1, 0xe8, 0xb2,
+			0x99, 0x23, 0x28, 0xe8, 0xa4, 0x69, 0x18, 0xf6,
+			0x3e, 0xb1, 0xff, 0xde, 0xf2, 0x2c, 0x7c, 0x73,
+			0x93, 0x32, 0x52, 0x06, 0xeb, 0x59, 0xb2, 0x8f,
+			0x2f, 0x1d, 0x6a, 0x85, 0x74, 0xd3, 0xe5, 0xa1,
+			0x95, 0xe4, 0x96, 0x1e, 0x75, 0x16, 0xe4, 0x5c,
+			0x40, 0xf0, 0x20, 0xb1, 0x10, 0xe7, 0x2a, 0x70,
+			0x41, 0xac, 0x49, 0x40, 0x55, 0xef, 0xd1, 0x58,
+			0x24, 0x6a, 0xa6, 0x20, 0xdc, 0x23, 0xdc, 0x66,
+			0x45, 0x4f, 0x6a, 0x52, 0x3c, 0x61, 0xc8, 0xfb,
+			0x28, 0x1e, 0x8c, 0x3f, 0xfc, 0xc7, 0x73, 0x2f,
+			0xf1, 0xe2, 0x31, 0xee, 0xa0, 0x5f, 0x12, 0x3f,
+			0x94, 0xe5, 0x26, 0xc0, 0x62, 0xcc, 0x67, 0x8f,
+			0x5d, 0xfd, 0x3d, 0x8f, 0x16, 0xae, 0x4e, 0x04,
+			0x54, 0x5b, 0x02, 0x66, 0x00, 0x70, 0xe5, 0xcc,
+			0xb9, 0x51, 0x8c, 0x1a, 0x5d, 0xf0, 0xfe, 0x7d,
+			0x1b, 0x2f, 0x0a, 0x48, 0x94, 0xda, 0x4b, 0xb3,
+			0x05, 0x75, 0x3b, 0x25, 0xda, 0xf2, 0x12, 0x47,
+			0xe2, 0xd7, 0xbb, 0xe7, 0x05, 0xa2, 0x4e, 0xaf,
+			0x2f, 0x29, 0x6c, 0xbd, 0x80, 0x82, 0xdf, 0xbb,
+			0x4b, 0x9d, 0x29, 0x9b, 0xef, 0xff, 0x17, 0x2a,
+			0xa7, 0x2f, 0x4a, 0x2e, 0xbf, 0x29, 0x38, 0xcb,
+			0x94, 0x9c, 0x10, 0x87, 0x69, 0x57, 0x7d, 0xd7,
+			0xcf, 0xc1, 0x57, 0x0f, 0xc2, 0x9c, 0x3b, 0x1e,
+			0xbc, 0x55, 0x08, 0xb1, 0x50, 0xb0, 0x28, 0x79,
+			0x1d, 0xd9, 0x2f, 0xa5, 0x12, 0xcc, 0xa7, 0x5b,
+			0xcb, 0x67, 0x57, 0x13, 0x4a, 0xb3, 0xd5, 0x34,
+			0xea, 0xd9, 0x6b, 0x15, 0x17, 0x1f, 0xe7, 0x52,
+			0x2a, 0x11, 0xdf, 0xab, 0x3a, 0x8d, 0x1b, 0xaa,
+			0xfa, 0x54, 0xf0, 0x20, 0x94, 0x40, 0x2d, 0x3e,
+			0xf2, 0xa2, 0x8b, 0xbb, 0x86, 0xce, 0x29, 0x87,
+			0xb1, 0xfa, 0x27, 0xf2, 0x5a, 0x79, 0xc2, 0xf8,
+			0xe9, 0xf2, 0x7c, 0x5a, 0xcd, 0x45, 0x8e, 0x8b,
+			0xba, 0xad, 0x13, 0x52, 0x79, 0xd5, 0x0f, 0x59,
+			0xfb, 0x07, 0x15, 0x1f, 0xb3, 0xe6, 0xc8, 0x66,
+			0xf7, 0x37, 0x19, 0xd8, 0x33, 0xdd, 0xc1, 0xb3,
+			0x96, 0x4b, 0x28, 0x43, 0xf8, 0x5e, 0xc7, 0xe8,
+			0x81, 0x6e, 0xd0, 0xb2, 0x5a, 0x3d, 0xf1, 0x68,
+			0x8f, 0xf0, 0xf5, 0x1a, 0x6d, 0xc3, 0xaa, 0x5b,
+			0x72, 0x27, 0xbd, 0xd6, 0x7c, 0x9b, 0xbf, 0x89,
+			0x6a, 0x09, 0xf0, 0x48, 0xf0, 0x8c, 0x27, 0x69,
+			0x28, 0xf3, 0x5f, 0x53, 0xe3, 0x4d, 0x60, 0x4a,
+			0xb8, 0xc5, 0xf9, 0x85, 0x07, 0x3e, 0xfb, 0xd7,
+			0x21, 0x69, 0xd5, 0xec, 0x18, 0x68, 0xb6, 0x55,
+			0x15, 0xac, 0x2e, 0x0f, 0x5c, 0x2e, 0x9e, 0x12,
+			0x10, 0x5e, 0xc6, 0xb3, 0xcd, 0xe6, 0x3a, 0x2f,
+			0x43, 0xf6, 0x75, 0x31, 0x3c, 0x90, 0x34, 0x1c,
+			0x3d, 0x45, 0xaa, 0x8e, 0x08, 0xcf, 0x58, 0x67,
+			0x34, 0xd4, 0x24, 0xb8, 0x20, 0x69, 0xfe, 0xf0,
+			0x33, 0xe9, 0x3e, 0xbd, 0xe5, 0x18, 0x9f, 0x66,
+			0xc9, 0x0d, 0x6f, 0x47, 0x99, 0xf7, 0x0c, 0xdd,
+			0xad, 0x8c, 0x6b, 0x80, 0xed, 0x19, 0x61, 0x8a,
+			0xba, 0x62, 0x2f, 0xcc, 0x0e, 0x47, 0xe0, 0xc6,
+			0x1f, 0x2f, 0x44, 0x40, 0x17, 0xb6, 0x89, 0xc6,
+			0xf5, 0xc2, 0x97, 0x89, 0x38, 0x6c, 0x8e, 0x2c,
+			0x46, 0x0b, 0x6e, 0x01, 0x47, 0xd3, 0x2f, 0x58,
+			0xf8, 0xc7, 0x3b, 0x49, 0xb2, 0x35, 0x9f, 0x67,
+			0xc9, 0x6c, 0xde, 0x30, 0x3b, 0x50, 0x19, 0x65,
+			0xbb, 0x73, 0xa1, 0x47, 0x01, 0x6a, 0x3d, 0xe3,
+			0x85, 0x4d, 0xd0, 0x72, 0x0d, 0xbc, 0x81, 0x52,
+			0xe8, 0x1a, 0x8b, 0x85, 0x4c, 0x6f, 0x0e, 0xfc,
+			0x59, 0x84, 0x7a, 0xf2, 0x28, 0x3e, 0x02, 0xcb,
+			0xe2, 0x4a, 0xbf, 0xac, 0x22, 0x34, 0x86, 0xe4,
+			0x7d, 0x6b, 0xa3, 0x52, 0xac, 0xff, 0xe5, 0xbe,
+			0x0c, 0x8d, 0xf5, 0xd8, 0xfd, 0x5a, 0x3d, 0xad,
+			0x0d, 0xc0, 0x02, 0xd0, 0x58, 0x8e, 0x7c, 0x50,
+			0x7c, 0x09, 0xc0, 0xdb, 0xd7, 0xdf, 0xe0, 0xb2,
+			0x6f, 0xb2, 0x79, 0x0d, 0xc1, 0xa0, 0xb1, 0x7e,
+			0xe3, 0x0d, 0xfc, 0x93, 0x43, 0x8c, 0x86, 0x68,
+			0xa6, 0x51, 0x93, 0x42, 0xb7, 0xcd, 0x13, 0x56,
+			0x6e, 0xdc, 0x63, 0x51, 0x23, 0xcf, 0x29, 0xc5,
+			0x5a, 0x66, 0x43, 0x80, 0xfe, 0x28, 0x15, 0x71,
+			0x52, 0x87, 0xe2, 0x18, 0x10, 0xad, 0x94, 0x47,
+			0x2f, 0xe3, 0x5d, 0x7a, 0x02, 0x6d, 0x31, 0x58,
+			0xae, 0x2f, 0x96, 0x53, 0x1b, 0x6c, 0x0e, 0x25,
+			0xea, 0x41, 0xd3, 0x29, 0x27, 0x22, 0x24, 0x8d,
+			0x1d, 0x8e, 0xd1, 0x33, 0x76, 0x67, 0x7d, 0x9d,
+			0xd9, 0xa7, 0x3e, 0x61, 0xd0, 0xad, 0x93, 0xb9,
+			0xdf, 0x87, 0x3a, 0x7b, 0x89, 0xc7, 0x1d, 0x91,
+			0xec, 0x43, 0xa4, 0xdc, 0x02, 0x88, 0x2e, 0xaa,
+			0xb2, 0x58, 0xa5, 0xd3, 0x68, 0x9c, 0x9f, 0x60,
+			0x12, 0xc8, 0x7e, 0x7d, 0x40, 0x80, 0xfd, 0xb4,
+			0xbf, 0x56, 0xf4, 0x01, 0x39, 0x3d, 0xa0, 0x34,
+			0x48, 0x79, 0x75, 0xe2, 0x0f, 0x60, 0x09, 0x42,
+			0x11, 0x6f, 0xa5, 0x31, 0x46, 0xb7, 0x03, 0xc8,
+			0x61, 0x53, 0x39, 0x1e, 0xf4, 0x99, 0x36, 0x7d,
+			0xc0, 0x87, 0xda, 0x63, 0x71, 0x9b, 0x29, 0x7b,
+			0x4e, 0x6f, 0x09, 0xa2, 0x2c, 0xa5, 0xc2, 0xb9,
+			0xe7, 0xe0, 0x56, 0x8b, 0x1d, 0xbb, 0xcc, 0x34,
+			0x8c, 0xbc, 0xb6, 0x0a, 0xc9, 0xfa, 0x4a, 0x31,
+			0x63, 0x0d, 0x30, 0xff, 0x59, 0x3d, 0x8c, 0x4d,
+			0x74, 0x28, 0xf4, 0xe9, 0x97, 0x43, 0x05, 0x3a,
+			0x33, 0x51, 0x51, 0xe4, 0x0e, 0x33, 0xae, 0x2c,
+			0xda, 0x28, 0x83, 0x93, 0x4e, 0xfe, 0x37, 0x1d,
+			0x6c, 0x25, 0x1e, 0x24, 0xbc, 0x3a, 0x5c, 0x68,
+			0xac, 0x54, 0x3a, 0x47, 0x74, 0x35, 0xff, 0x37,
+			0x80, 0x12, 0x30, 0xd7, 0x31, 0x2a, 0x49, 0x51,
+			0x2d, 0x4f, 0xd2, 0x9c, 0xca, 0x55, 0x87, 0xd0,
+			0x41, 0x86, 0xc7, 0xf2, 0xda, 0xf8, 0x4b, 0x08,
+			0x23, 0xb3, 0x00, 0xb7, 0xb6, 0x4f, 0x2e, 0xaf,
+			0xb8, 0x8e, 0xb1, 0x44, 0xe1, 0xed, 0x67, 0xf8,
+			0x80, 0xa7, 0x04, 0xa0, 0x66, 0xe6, 0xb5, 0x69,
+			0xca, 0x95, 0x71, 0xc8, 0x0d, 0x3d, 0xf6, 0x77,
+			0xfd, 0x2c, 0x95, 0xed, 0xe5, 0x22, 0x43, 0xd9,
+		},
+		.msg_len = 64,
+		.msg = (const u8[64]){
+			0x6d, 0xb3, 0x8e, 0x80, 0xaf, 0x5f, 0x19, 0xd9,
+			0xb0, 0xcf, 0xad, 0x58, 0xc7, 0x27, 0xae, 0x12,
+			0x4e, 0x7d, 0xa3, 0x1a, 0xe3, 0x85, 0xc6, 0xaa,
+			0xf6, 0xa1, 0x9a, 0xb1, 0xe9, 0xe0, 0xfe, 0x89,
+			0x1e, 0xc5, 0x6f, 0x10, 0x18, 0x24, 0xab, 0xa8,
+			0x6d, 0x03, 0xd0, 0x3d, 0xc3, 0xff, 0x67, 0xe7,
+			0x3a, 0x95, 0x94, 0xc8, 0x49, 0x51, 0x8f, 0xa0,
+			0x65, 0xcb, 0x20, 0x29, 0x2a, 0x6d, 0xf7, 0xf2,
+		},
+		.sig_len = DILITHIUM44_CRYPTO_BYTES,
+		.sig = (const u8[DILITHIUM44_CRYPTO_BYTES]){
+			0x5e, 0x05, 0x37, 0xe2, 0xc1, 0x20, 0xce, 0x7b,
+			0x8a, 0xdf, 0xf2, 0x22, 0x61, 0x17, 0x58, 0xaa,
+			0x3c, 0xe4, 0x82, 0x9c, 0x0e, 0xb6, 0x1f, 0xb4,
+			0x98, 0x0f, 0xba, 0x8e, 0x51, 0x15, 0x67, 0x76,
+			0x0b, 0x98, 0x63, 0xda, 0x17, 0xd3, 0xbb, 0xbe,
+			0x16, 0x29, 0x71, 0xab, 0xba, 0x99, 0xed, 0x3f,
+			0xd4, 0xc2, 0x16, 0x71, 0xb6, 0x21, 0x87, 0x48,
+			0xaa, 0xb5, 0x39, 0x5e, 0xfb, 0x5d, 0x68, 0x3b,
+			0xd3, 0x60, 0xf4, 0x5b, 0x85, 0x2a, 0x5b, 0xb5,
+			0xce, 0x6e, 0xf3, 0x39, 0xc3, 0xbe, 0x96, 0xa7,
+			0x61, 0xc9, 0xbf, 0xdf, 0x33, 0x1d, 0xec, 0xb9,
+			0x2b, 0x7a, 0x05, 0xce, 0x1e, 0xd9, 0x46, 0x70,
+			0xca, 0x54, 0xbf, 0xdc, 0x46, 0x9e, 0x2f, 0x29,
+			0x18, 0x57, 0x96, 0x84, 0xac, 0xe9, 0xd7, 0x74,
+			0xeb, 0x8e, 0x6b, 0xec, 0x46, 0x9a, 0x2a, 0xfa,
+			0xde, 0x80, 0x09, 0x53, 0xd9, 0xeb, 0x9d, 0xf7,
+			0xaa, 0xe2, 0xe5, 0xdc, 0xc3, 0xd9, 0x70, 0xe5,
+			0x8b, 0xa8, 0xba, 0x2b, 0x41, 0x72, 0x92, 0x25,
+			0xaf, 0xd9, 0xb4, 0x5a, 0x53, 0xb7, 0xcc, 0x1d,
+			0x69, 0xf1, 0x53, 0x5b, 0x52, 0x38, 0xbc, 0x47,
+			0x24, 0x8c, 0x1d, 0x28, 0x5d, 0x5c, 0x1c, 0xc9,
+			0x9d, 0xea, 0x1c, 0xb1, 0xb3, 0x49, 0x68, 0xd5,
+			0xad, 0xdc, 0x47, 0x58, 0x6d, 0x38, 0x33, 0xe7,
+			0x9b, 0xaa, 0x89, 0xb1, 0x96, 0x0b, 0xcb, 0xc4,
+			0x24, 0x73, 0xf2, 0xe7, 0xb6, 0xca, 0x74, 0x55,
+			0x1b, 0xb5, 0xb7, 0x9e, 0x2e, 0xe3, 0x3a, 0x32,
+			0x5d, 0x1d, 0x6e, 0x15, 0xe6, 0xb8, 0xfb, 0xce,
+			0x57, 0x81, 0x15, 0xb5, 0xcf, 0x67, 0x2b, 0x55,
+			0x4c, 0x85, 0x6f, 0x28, 0xa6, 0xbb, 0xb4, 0x28,
+			0x76, 0x91, 0xa4, 0x29, 0xa1, 0x50, 0x7c, 0xed,
+			0x9a, 0xfc, 0xe4, 0xbc, 0xd7, 0x28, 0x62, 0x28,
+			0x61, 0x4d, 0x8d, 0x8c, 0x5a, 0x5e, 0x4d, 0x1d,
+			0x5e, 0x73, 0xcc, 0x0b, 0x9d, 0x56, 0x73, 0xc7,
+			0xf2, 0x26, 0xf7, 0x7e, 0x61, 0xa4, 0x86, 0xf5,
+			0x1c, 0xd1, 0x00, 0xd0, 0x31, 0xc5, 0x03, 0x17,
+			0x1c, 0xec, 0x04, 0xe5, 0xc7, 0x13, 0xb6, 0x81,
+			0x78, 0x3d, 0x27, 0x87, 0x36, 0xf3, 0x2a, 0x59,
+			0x96, 0xeb, 0x44, 0xfd, 0xb9, 0x95, 0xb7, 0x76,
+			0xb1, 0x08, 0xc4, 0x98, 0xb1, 0x08, 0x36, 0x2a,
+			0x63, 0x72, 0x4f, 0xef, 0x47, 0xfc, 0x84, 0x09,
+			0x18, 0x60, 0xb7, 0x8a, 0xff, 0xae, 0x32, 0x3c,
+			0x79, 0xdf, 0xd6, 0x24, 0xbe, 0x9c, 0x38, 0x68,
+			0x92, 0xde, 0x81, 0x80, 0x22, 0x06, 0xf2, 0xe4,
+			0xde, 0x75, 0x4e, 0xd6, 0x36, 0x93, 0x44, 0xd1,
+			0xa4, 0x2e, 0x2e, 0x05, 0x87, 0xbd, 0xf7, 0xc5,
+			0xc8, 0x1c, 0x7b, 0x00, 0xe8, 0x11, 0x7f, 0xc2,
+			0x39, 0x4b, 0x7b, 0x97, 0x11, 0x92, 0x6c, 0xff,
+			0x89, 0x7f, 0x26, 0x89, 0x4f, 0x38, 0xfd, 0xdd,
+			0x08, 0xa7, 0xce, 0x6f, 0xe8, 0x57, 0x9b, 0x46,
+			0xe5, 0xdb, 0x72, 0x03, 0x1e, 0x7d, 0xb0, 0x77,
+			0xb9, 0xcc, 0xdb, 0x6c, 0xa7, 0xd8, 0x30, 0x34,
+			0xad, 0xa7, 0xe4, 0x63, 0xf0, 0x19, 0x0e, 0x5d,
+			0x3b, 0xe0, 0xff, 0x40, 0x1c, 0xa5, 0xb3, 0xb9,
+			0x87, 0x6e, 0x2c, 0xf3, 0x5f, 0xcd, 0x54, 0x2a,
+			0xc0, 0x6e, 0x2b, 0xd9, 0x2d, 0xcc, 0xd5, 0x68,
+			0x95, 0x4a, 0x4a, 0x84, 0x60, 0x54, 0xee, 0xa0,
+			0x21, 0x9e, 0x8d, 0x20, 0xcb, 0xe8, 0xc5, 0x5a,
+			0xba, 0xe2, 0xaa, 0x6e, 0x1c, 0xb1, 0xdf, 0x18,
+			0x9f, 0x94, 0xc7, 0x77, 0x5a, 0x2c, 0x0e, 0x05,
+			0xaa, 0x2a, 0x54, 0x58, 0x6c, 0xb3, 0x2e, 0x2f,
+			0xa4, 0x6e, 0x98, 0xbb, 0x6f, 0x41, 0x6d, 0xbd,
+			0x71, 0x95, 0xe4, 0xbc, 0x13, 0x37, 0x99, 0x0d,
+			0xac, 0x27, 0x69, 0xb9, 0x0b, 0x14, 0x5f, 0x6e,
+			0xd2, 0x2b, 0xe2, 0x0c, 0xc6, 0xbc, 0x10, 0x11,
+			0x47, 0xb7, 0x37, 0x2c, 0x0e, 0x88, 0xcd, 0xbb,
+			0xf7, 0x28, 0xd6, 0x4a, 0x9d, 0xff, 0x3c, 0x2f,
+			0x7d, 0x2b, 0xe8, 0xe8, 0x9e, 0xae, 0x7b, 0xe6,
+			0x2a, 0xb3, 0x4e, 0x20, 0xcc, 0xf1, 0x81, 0x8e,
+			0xed, 0x6d, 0xe2, 0x99, 0xf5, 0xb5, 0x1a, 0x30,
+			0x95, 0x52, 0x34, 0xf5, 0x3f, 0xc3, 0x31, 0xd6,
+			0xbe, 0xa2, 0xc8, 0xdc, 0xe4, 0x1c, 0xf6, 0x0f,
+			0x4d, 0x0b, 0x89, 0x8e, 0x66, 0x93, 0x88, 0xb8,
+			0xad, 0xbc, 0xdc, 0x96, 0x01, 0x9f, 0x16, 0x70,
+			0xf5, 0x4f, 0xa4, 0x0e, 0x0f, 0xc3, 0xf6, 0x9c,
+			0xe1, 0xa1, 0xe3, 0xec, 0x9d, 0x09, 0xcd, 0x90,
+			0x52, 0x26, 0x09, 0xd9, 0x9c, 0xde, 0xbd, 0xdf,
+			0xbb, 0xf4, 0x50, 0xd1, 0x89, 0x68, 0xf6, 0x86,
+			0x53, 0x33, 0x5a, 0xf6, 0x54, 0xb5, 0x7c, 0xe1,
+			0xd7, 0x8d, 0xb8, 0x58, 0xf5, 0xda, 0x14, 0xc8,
+			0x35, 0x1c, 0xcf, 0x44, 0x62, 0xbc, 0xd7, 0xe3,
+			0xd8, 0x32, 0xcf, 0x16, 0xf5, 0x2f, 0x55, 0x23,
+			0xc0, 0x1b, 0xc4, 0xe3, 0x28, 0xc8, 0xc8, 0x97,
+			0x70, 0x8b, 0x06, 0x98, 0xfb, 0xf6, 0x33, 0x6b,
+			0x86, 0x1c, 0xdb, 0x2a, 0x3c, 0x08, 0x08, 0x57,
+			0xd3, 0x4a, 0xf8, 0x22, 0x26, 0x78, 0x65, 0x5f,
+			0xa6, 0xf8, 0x9f, 0x22, 0x76, 0x62, 0xb0, 0x08,
+			0x68, 0x70, 0xea, 0x72, 0x57, 0x6b, 0xe7, 0xf7,
+			0xc6, 0x12, 0x9a, 0x49, 0x50, 0xa9, 0xa5, 0x6c,
+			0xe7, 0xda, 0xb4, 0xbf, 0xb6, 0xbf, 0x4f, 0xdf,
+			0x9e, 0x9b, 0xb4, 0xb3, 0x8d, 0x1a, 0x12, 0x16,
+			0x68, 0xd2, 0x63, 0xae, 0x92, 0x77, 0x1f, 0x03,
+			0xa5, 0xed, 0x58, 0x3b, 0xe9, 0x0b, 0xfe, 0xfc,
+			0xae, 0x53, 0x0b, 0x5f, 0x13, 0xf2, 0xd2, 0xe2,
+			0x0b, 0xec, 0x75, 0x85, 0x68, 0x0c, 0x57, 0xde,
+			0x1b, 0x6d, 0x78, 0x0b, 0x19, 0x66, 0xa8, 0xf5,
+			0x45, 0x72, 0x2b, 0x01, 0x06, 0xf6, 0xd1, 0x47,
+			0x21, 0x24, 0x07, 0xf7, 0x71, 0x03, 0xbc, 0xb0,
+			0x7c, 0x5b, 0x5c, 0x24, 0xff, 0x74, 0x47, 0x62,
+			0x81, 0xc3, 0x0b, 0x31, 0x76, 0x90, 0x5b, 0xef,
+			0x95, 0xa8, 0xa7, 0x02, 0xa1, 0xbf, 0xe1, 0xf4,
+			0x16, 0x06, 0x8a, 0x97, 0x39, 0x35, 0xcf, 0xf3,
+			0xa7, 0x4a, 0x43, 0xba, 0x05, 0x95, 0x7d, 0x73,
+			0x76, 0x7a, 0x53, 0xef, 0xf8, 0x4e, 0xcb, 0x04,
+			0x70, 0x4c, 0xee, 0xff, 0x82, 0xbd, 0xcd, 0xc1,
+			0xbe, 0x3d, 0x83, 0x71, 0x03, 0xf0, 0xc0, 0x2b,
+			0x98, 0xf9, 0x60, 0x54, 0x02, 0x7d, 0xa6, 0x41,
+			0xcc, 0xa3, 0xd7, 0x8d, 0xfd, 0xce, 0x28, 0xae,
+			0x0f, 0x48, 0x17, 0x2a, 0xaf, 0xe9, 0xb9, 0x4a,
+			0x8a, 0x22, 0xd2, 0x4d, 0xd3, 0x1b, 0xa3, 0x39,
+			0x88, 0x8a, 0x8f, 0x5b, 0x44, 0x97, 0xb9, 0x04,
+			0x1b, 0x58, 0x67, 0x74, 0x2f, 0x07, 0x7a, 0x52,
+			0xa9, 0x9d, 0xa4, 0x41, 0x28, 0xf2, 0x35, 0xca,
+			0x68, 0x4e, 0x4a, 0x3a, 0x66, 0xb9, 0x88, 0x2e,
+			0x65, 0x1d, 0x47, 0x04, 0xed, 0xdb, 0xe1, 0x40,
+			0x12, 0x06, 0x13, 0x62, 0x28, 0x3d, 0x0b, 0x35,
+			0x06, 0xc6, 0x2b, 0xb3, 0x71, 0x3c, 0xfa, 0x77,
+			0xec, 0x47, 0x93, 0x78, 0x36, 0x25, 0x19, 0xd7,
+			0x70, 0x30, 0x8a, 0x4c, 0x94, 0xdc, 0x3e, 0xeb,
+			0x61, 0x25, 0xbc, 0xa0, 0x27, 0xd9, 0x17, 0xa5,
+			0x19, 0x4f, 0xf4, 0x93, 0x32, 0x56, 0x9a, 0x0b,
+			0x77, 0xb4, 0x55, 0x1b, 0x8f, 0x9e, 0x69, 0x5b,
+			0xe2, 0x6d, 0x70, 0x15, 0x79, 0x5c, 0xf6, 0xb6,
+			0x04, 0xa2, 0x01, 0x37, 0x74, 0x20, 0xb8, 0x62,
+			0xf6, 0x37, 0x3c, 0xab, 0xca, 0x71, 0xa5, 0x8a,
+			0x56, 0x5d, 0x6a, 0x4a, 0x61, 0x2e, 0xb8, 0x62,
+			0x7d, 0x47, 0x34, 0x7d, 0xcd, 0x4d, 0x70, 0x23,
+			0xf5, 0xaa, 0xd1, 0xa5, 0xf0, 0x4c, 0x38, 0xc3,
+			0x98, 0x79, 0x4c, 0x0b, 0x6b, 0xcc, 0xe7, 0xd7,
+			0x09, 0xae, 0x23, 0x9b, 0x2f, 0xde, 0x70, 0xc6,
+			0xad, 0x0f, 0x66, 0xb5, 0x78, 0x6b, 0x0b, 0xb0,
+			0x2e, 0x94, 0xf2, 0xa8, 0x8b, 0x74, 0xf0, 0x03,
+			0x47, 0xd8, 0xec, 0xe8, 0x1f, 0xa3, 0x7b, 0x38,
+			0x9e, 0x0e, 0xc0, 0x47, 0xd2, 0x0f, 0x8e, 0x7f,
+			0xb1, 0x83, 0xd3, 0x86, 0x79, 0x3c, 0xa1, 0xae,
+			0xc4, 0xaf, 0xae, 0x9d, 0x83, 0xc0, 0xd1, 0x2b,
+			0x2b, 0xda, 0x50, 0x8c, 0xea, 0x41, 0x97, 0x9b,
+			0x0f, 0x15, 0xc2, 0xe2, 0x8f, 0x39, 0x0b, 0x92,
+			0xdd, 0xde, 0x52, 0x62, 0x74, 0xdc, 0xda, 0x11,
+			0x87, 0x4d, 0xa9, 0x4a, 0xc5, 0x2f, 0xae, 0xaf,
+			0xc1, 0xc3, 0x05, 0xfa, 0x38, 0xcc, 0x5c, 0xb1,
+			0x9f, 0xe0, 0x82, 0x90, 0xb3, 0xd5, 0xdc, 0xf4,
+			0x55, 0xdb, 0xea, 0x94, 0x06, 0x7c, 0x2c, 0x82,
+			0x78, 0xeb, 0xa5, 0x01, 0xf0, 0x3d, 0x4b, 0x87,
+			0xdd, 0xd5, 0x91, 0x4f, 0xf3, 0xa7, 0xdf, 0xa1,
+			0xd8, 0x31, 0xde, 0x05, 0x99, 0x67, 0x3d, 0xa4,
+			0x6b, 0x19, 0xa3, 0xe8, 0x55, 0xb7, 0xf5, 0xc3,
+			0x63, 0x5e, 0xd4, 0x38, 0xf9, 0x24, 0x64, 0x7d,
+			0x17, 0xc1, 0x07, 0xbe, 0x39, 0x54, 0x1b, 0x44,
+			0xe5, 0xc6, 0x3c, 0x02, 0xb1, 0x6f, 0xff, 0x8c,
+			0xcb, 0x79, 0xe2, 0xec, 0x4d, 0x01, 0xfa, 0x7f,
+			0x88, 0x1d, 0xc3, 0x4c, 0x6a, 0xfb, 0x0b, 0xc6,
+			0x57, 0xc3, 0xd8, 0x24, 0x47, 0x41, 0xbd, 0x27,
+			0xc4, 0xd4, 0x49, 0xfb, 0x52, 0xe6, 0x77, 0x5f,
+			0x0a, 0xdf, 0xea, 0xd5, 0xd3, 0x22, 0xc3, 0x53,
+			0x16, 0xf3, 0x1b, 0x7b, 0x09, 0xd7, 0x10, 0x0e,
+			0x23, 0xae, 0x16, 0x8a, 0x93, 0xcb, 0xc9, 0xb7,
+			0xb8, 0xff, 0xd2, 0x50, 0x1f, 0x25, 0xa7, 0x71,
+			0x8f, 0x3f, 0xc0, 0xe1, 0x37, 0x10, 0x0b, 0x43,
+			0x6e, 0x2b, 0x16, 0x59, 0x8f, 0x77, 0x77, 0x6b,
+			0x77, 0xce, 0x76, 0x6b, 0x37, 0x81, 0xaf, 0x83,
+			0x42, 0x92, 0x93, 0xe5, 0x39, 0xca, 0xd2, 0x20,
+			0x2e, 0xcf, 0x24, 0x26, 0x4c, 0x51, 0x1c, 0x58,
+			0xc5, 0x8d, 0x05, 0x11, 0xdf, 0xae, 0x51, 0x38,
+			0xde, 0xab, 0x4e, 0x04, 0xc8, 0x24, 0x24, 0x0d,
+			0xd5, 0x9c, 0x5b, 0x2b, 0xe6, 0x0d, 0x83, 0x95,
+			0xcd, 0x1c, 0x89, 0xa1, 0xaf, 0x67, 0x47, 0xfb,
+			0x08, 0x02, 0xf8, 0x8b, 0x63, 0x05, 0x73, 0x20,
+			0x64, 0xd7, 0x52, 0x15, 0xa4, 0x5d, 0x63, 0x73,
+			0x73, 0x12, 0x0b, 0xdd, 0xfe, 0x9f, 0xb7, 0xe8,
+			0xa8, 0x94, 0x3a, 0x86, 0xff, 0xcf, 0x7d, 0x24,
+			0xbd, 0xb9, 0xea, 0x68, 0x23, 0xf4, 0x07, 0xc3,
+			0xfe, 0x63, 0xd0, 0xab, 0x65, 0x8a, 0xf0, 0x6d,
+			0x81, 0x8c, 0xc8, 0x0e, 0xc6, 0x6b, 0xdd, 0x2e,
+			0x65, 0x9b, 0x17, 0xcf, 0x82, 0x69, 0x46, 0xba,
+			0x62, 0x5d, 0x31, 0x33, 0x60, 0x18, 0x94, 0xa5,
+			0x77, 0x24, 0xc6, 0x45, 0xe5, 0xb3, 0xd5, 0x12,
+			0x10, 0xc9, 0x22, 0x98, 0xf9, 0xca, 0x20, 0x89,
+			0x79, 0x04, 0x08, 0xf5, 0x1c, 0xf8, 0x50, 0x8c,
+			0x25, 0xaa, 0x90, 0x90, 0x44, 0xbc, 0xfb, 0x5d,
+			0x3f, 0xf8, 0x38, 0x64, 0xca, 0x8d, 0xff, 0x17,
+			0xce, 0x70, 0x51, 0x90, 0x75, 0x6b, 0x7d, 0x64,
+			0x43, 0x56, 0xcd, 0xf8, 0x85, 0x93, 0x65, 0x09,
+			0x81, 0x30, 0x76, 0x79, 0xcc, 0xdf, 0x9c, 0x6d,
+			0xff, 0x89, 0x38, 0x60, 0xbf, 0x07, 0xcb, 0x2f,
+			0xc9, 0x87, 0xd7, 0xac, 0x74, 0x19, 0x57, 0x90,
+			0x5e, 0x69, 0x61, 0xf6, 0xca, 0xea, 0x45, 0x6b,
+			0xe2, 0xfe, 0x2c, 0xff, 0x1b, 0x23, 0x15, 0x52,
+			0xdd, 0x57, 0xfe, 0x1d, 0x10, 0xea, 0x0f, 0xce,
+			0x98, 0xe7, 0x47, 0x27, 0xec, 0x36, 0xe5, 0x68,
+			0x17, 0xcf, 0xdc, 0xb9, 0xef, 0x6a, 0xbc, 0xec,
+			0x78, 0x08, 0x64, 0x06, 0xe1, 0x1c, 0xc6, 0x87,
+			0xd6, 0x0a, 0xb1, 0x81, 0xc6, 0xb6, 0xf8, 0x8b,
+			0xe3, 0x19, 0x8c, 0xce, 0x46, 0x40, 0xc5, 0xc2,
+			0xae, 0x50, 0x26, 0x4a, 0x90, 0x91, 0x8d, 0xfe,
+			0x6b, 0x7d, 0x0a, 0x54, 0x4a, 0x4b, 0x48, 0x74,
+			0x4a, 0x37, 0x21, 0x7f, 0xdd, 0x87, 0xa3, 0x1e,
+			0xac, 0xcd, 0xf5, 0x9e, 0x75, 0xa2, 0x52, 0x63,
+			0x76, 0xca, 0x9e, 0x02, 0xeb, 0xe6, 0xa6, 0x73,
+			0xad, 0xea, 0xe8, 0x3e, 0x6f, 0x44, 0xed, 0xe8,
+			0x01, 0x29, 0x19, 0x6a, 0x20, 0x35, 0xa7, 0xf0,
+			0xf1, 0xaf, 0xc0, 0x3b, 0xb1, 0xd5, 0xe4, 0xfb,
+			0xf7, 0xd7, 0x2f, 0x33, 0x6c, 0x73, 0xfd, 0xe5,
+			0x5c, 0x63, 0xf6, 0x1c, 0x06, 0x13, 0xaf, 0xc1,
+			0x80, 0x55, 0x07, 0xae, 0x8c, 0x13, 0x74, 0xf6,
+			0xe0, 0x54, 0x15, 0xd8, 0xe0, 0xa5, 0x03, 0xcf,
+			0x22, 0xbe, 0x18, 0xef, 0x26, 0xad, 0x9c, 0x9d,
+			0x51, 0xb1, 0x3b, 0x37, 0x03, 0xbf, 0xf0, 0xc5,
+			0xcb, 0x6c, 0x5d, 0x30, 0xa9, 0x5a, 0x10, 0x90,
+			0xfa, 0xb4, 0xd4, 0x0e, 0x6b, 0x4a, 0x0a, 0x6c,
+			0x9d, 0x2e, 0x69, 0xe8, 0xec, 0x69, 0xe2, 0x50,
+			0xab, 0x2f, 0xdc, 0xff, 0xaf, 0xac, 0x65, 0xe7,
+			0xf0, 0xc1, 0x6f, 0x7c, 0x2d, 0xa1, 0xeb, 0x97,
+			0x90, 0x7c, 0x1e, 0xa8, 0x53, 0x1b, 0x87, 0xc5,
+			0xa9, 0xa1, 0xcf, 0x86, 0x7e, 0x11, 0xf8, 0xd6,
+			0x14, 0xda, 0x19, 0x81, 0x19, 0xb4, 0x45, 0x1c,
+			0x7c, 0xb9, 0x96, 0xa2, 0xac, 0x79, 0x24, 0x94,
+			0x7c, 0xb2, 0x1e, 0x83, 0xea, 0xc4, 0xb9, 0xd2,
+			0x0d, 0x4c, 0x55, 0x3d, 0x15, 0x7b, 0x65, 0xd8,
+			0xff, 0x03, 0x5d, 0xed, 0x3c, 0x94, 0x76, 0x19,
+			0x40, 0x3b, 0xcc, 0x45, 0xbe, 0x91, 0x19, 0x8c,
+			0x75, 0xe5, 0xd2, 0xbe, 0x67, 0x40, 0xb1, 0x67,
+			0x8e, 0x2a, 0x34, 0xd5, 0x99, 0xee, 0xd9, 0x4f,
+			0x89, 0x7c, 0xf0, 0xd6, 0x93, 0x59, 0x4b, 0x3a,
+			0x8d, 0xe6, 0xbd, 0xde, 0xce, 0xef, 0x8b, 0x3c,
+			0xe3, 0xf7, 0x06, 0x33, 0x27, 0x8d, 0xd9, 0x22,
+			0x1a, 0x65, 0x40, 0xfc, 0x69, 0x1b, 0x7d, 0xf0,
+			0xed, 0xe4, 0xe0, 0x7f, 0x6d, 0x23, 0xed, 0x11,
+			0xd1, 0x07, 0xb0, 0x2f, 0x8a, 0xbf, 0x51, 0x37,
+			0x22, 0x04, 0xed, 0x93, 0xea, 0x1d, 0x0b, 0x30,
+			0x15, 0x89, 0x22, 0x7a, 0x45, 0x56, 0x99, 0xc6,
+			0xac, 0xd6, 0xce, 0x61, 0xea, 0xb2, 0x59, 0xe8,
+			0xb5, 0xfc, 0x87, 0xa7, 0xfe, 0x09, 0xa2, 0x0d,
+			0x5e, 0xbe, 0xb9, 0xd4, 0x9a, 0x1b, 0x60, 0xda,
+			0xb9, 0x32, 0xf1, 0x30, 0x3e, 0xb2, 0x45, 0x6d,
+			0x55, 0x0c, 0x2c, 0x4b, 0x9a, 0xc0, 0xbb, 0x8e,
+			0xac, 0x9c, 0x95, 0x5f, 0x08, 0x88, 0xa0, 0x53,
+			0x05, 0x75, 0x8d, 0x9e, 0x9d, 0x3f, 0x0f, 0xdd,
+			0x50, 0x0d, 0xf8, 0x11, 0xbd, 0xf9, 0xfb, 0x22,
+			0x5c, 0x7b, 0x9e, 0x7c, 0x8e, 0x2f, 0x0e, 0xdb,
+			0xb8, 0x1d, 0x0c, 0x5e, 0x82, 0xf3, 0x8e, 0xec,
+			0x32, 0x1c, 0x59, 0x73, 0xa5, 0xf3, 0x5b, 0x47,
+			0x00, 0x64, 0x89, 0x68, 0x3b, 0xaf, 0xe8, 0xe2,
+			0x9b, 0xa6, 0xac, 0x2c, 0xf9, 0x2b, 0x92, 0xf3,
+			0xf0, 0x5b, 0xcc, 0x75, 0x22, 0xd5, 0xf4, 0x2b,
+			0x06, 0x96, 0xc8, 0x50, 0xee, 0xac, 0x62, 0x16,
+			0x45, 0x9e, 0xbc, 0xcc, 0x8f, 0x5a, 0x66, 0xc6,
+			0x30, 0x7c, 0xe0, 0x22, 0xcc, 0xb9, 0xda, 0x0b,
+			0x0a, 0xbd, 0x2a, 0x2e, 0x46, 0x7d, 0xb6, 0x86,
+			0x70, 0xa3, 0x16, 0x49, 0x85, 0x28, 0x7b, 0xe9,
+			0x00, 0x6b, 0xfa, 0x06, 0xb0, 0xeb, 0xbd, 0x67,
+			0x28, 0x6f, 0x27, 0xd7, 0x9c, 0x7f, 0xda, 0xec,
+			0xf4, 0x7e, 0x55, 0xe1, 0x0c, 0x29, 0x61, 0x7a,
+			0xf5, 0xb6, 0xb8, 0xa5, 0xef, 0x36, 0x6a, 0xad,
+			0x59, 0x22, 0xbd, 0x3d, 0xad, 0x86, 0xe7, 0x4c,
+			0x69, 0x26, 0x0f, 0xbf, 0x67, 0xad, 0x65, 0x32,
+			0xbd, 0x21, 0xd6, 0x59, 0x6b, 0xe3, 0xda, 0xc1,
+			0x6f, 0x82, 0x41, 0x2c, 0xaa, 0xe4, 0x8c, 0xfc,
+			0x7c, 0x61, 0x28, 0x51, 0x52, 0x3d, 0xf1, 0x84,
+			0xb5, 0x0b, 0xfd, 0x1f, 0x2a, 0x06, 0x2e, 0x30,
+			0xed, 0x63, 0x43, 0xc9, 0x83, 0x97, 0xb1, 0xd4,
+			0x80, 0x6f, 0x2c, 0x50, 0xec, 0x20, 0x95, 0x42,
+			0xa0, 0x34, 0x94, 0x1a, 0xa9, 0x5e, 0x5b, 0x59,
+			0xe3, 0x39, 0xac, 0xbd, 0x2f, 0x77, 0x36, 0x59,
+			0x9c, 0xc3, 0x3c, 0x66, 0x87, 0xf5, 0x81, 0x4b,
+			0xb0, 0x10, 0x4a, 0xe6, 0x46, 0xe7, 0xce, 0x93,
+			0x7b, 0x24, 0x6b, 0x2e, 0xc1, 0xe5, 0xaf, 0x4b,
+			0x71, 0x22, 0xad, 0x88, 0xda, 0x55, 0xcb, 0xe0,
+			0x73, 0xd1, 0x65, 0x7d, 0xa5, 0x7f, 0x36, 0xbc,
+			0x42, 0xc2, 0x78, 0x9f, 0x88, 0xe8, 0xdb, 0xff,
+			0x8a, 0x5a, 0x80, 0x34, 0x3a, 0x23, 0x4c, 0x8a,
+			0x81, 0xff, 0xbd, 0xb7, 0x88, 0xd0, 0x73, 0x07,
+			0x8a, 0x4e, 0xa7, 0x4a, 0x61, 0x0f, 0x1f, 0x1c,
+			0xe7, 0x34, 0x37, 0x1c, 0x53, 0x90, 0x3b, 0xa4,
+			0x32, 0x6c, 0x6d, 0xe8, 0x00, 0xde, 0xe0, 0x0c,
+			0x5e, 0x06, 0xef, 0xb8, 0x48, 0x2e, 0xb3, 0xda,
+			0xac, 0x92, 0x4d, 0x0d, 0x95, 0x75, 0x44, 0x01,
+			0x6f, 0x97, 0xc3, 0x29, 0x76, 0x33, 0x36, 0x9a,
+			0xae, 0xfb, 0x1b, 0x43, 0xe5, 0xb1, 0x54, 0x3a,
+			0x9c, 0x76, 0x7f, 0x76, 0x83, 0xc9, 0x9c, 0xd6,
+			0x56, 0x59, 0x83, 0xa9, 0xde, 0xd7, 0xb0, 0xf3,
+			0x34, 0x11, 0x31, 0x06, 0x8e, 0xe9, 0xd4, 0x79,
+			0xd5, 0x3d, 0x31, 0x6b, 0x59, 0xe9, 0x54, 0x69,
+			0x12, 0xfd, 0x44, 0x59, 0x4e, 0x1b, 0x3b, 0xb4,
+			0x12, 0xe9, 0xfb, 0xb0, 0xb4, 0x84, 0xb9, 0x7d,
+			0xea, 0x4f, 0xd1, 0x5f, 0xd0, 0x3e, 0xce, 0xef,
+			0x5c, 0xf7, 0xea, 0x55, 0xa0, 0x8f, 0xa8, 0xa7,
+			0x98, 0xe7, 0xa1, 0x6b, 0x3f, 0xba, 0x5a, 0x32,
+			0x4b, 0xfa, 0x31, 0xb6, 0x63, 0x86, 0x19, 0x00,
+			0xa2, 0x6d, 0x7d, 0x15, 0x56, 0x05, 0x68, 0xa3,
+			0xe0, 0xf3, 0xd4, 0x82, 0xcf, 0xeb, 0xd4, 0x1c,
+			0xd0, 0xb6, 0x14, 0x5e, 0x9e, 0x6b, 0xed, 0x7a,
+			0x02, 0x1a, 0xcd, 0x09, 0xdc, 0x26, 0x98, 0x50,
+			0x11, 0x34, 0x39, 0x50, 0x5a, 0x70, 0x79, 0x85,
+			0xca, 0xd2, 0xf2, 0x0c, 0x0d, 0x12, 0x1f, 0x2e,
+			0x41, 0x46, 0x51, 0x72, 0x75, 0x78, 0x8c, 0xa4,
+			0xaf, 0xba, 0xca, 0xd3, 0xdf, 0xea, 0xf8, 0x09,
+			0x0b, 0x36, 0x45, 0x4f, 0x77, 0x83, 0xae, 0xbc,
+			0xc5, 0xce, 0xe1, 0xf6, 0x1d, 0x1e, 0x38, 0x56,
+			0x9c, 0x9f, 0xb1, 0xbd, 0xda, 0xe7, 0xf0, 0xf4,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			0x0b, 0x1f, 0x2c, 0x38,
+		},
+	},
diff --git a/crypto/ml_dsa/dilithium_selftest.c b/crypto/ml_dsa/dilithium_selftest.c
new file mode 100644
index 000000000000..60955f4021dd
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_selftest.c
@@ -0,0 +1,112 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2025 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/module.h>
+#include <crypto/sig.h>
+#include <kunit/test.h>
+#include "dilithium.h"
+
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_DESCRIPTION("Leancrypto ML-DSA/Dilithium tests");
+MODULE_AUTHOR("David Howells <dhowells@redhat.com>");
+
+struct dilithium_testvector {
+	u16		pk_len;
+	u16		msg_len;
+	u16		sig_len;
+	const char	*what;
+	const char	*algo;
+	const u8	*pk;
+	const u8	*sig;
+	const u8	*msg;
+};
+
+/*
+ * Use rejection test vector which will cover all rejection code paths
+ * as generated with the dilithium_edge_case_tester.
+ *
+ * For FIPS 140: The test vectors cover the requirements of IG 10.3.A.
+ */
+static const struct dilithium_testvector dilithium44_testvectors[] = {
+#include "dilithium_pure_rejection_vectors_44.h"
+};
+
+/*
+ * Allow kunit to free a crypto signature processing object.
+ */
+static void __kunit_crypto_free_sig(void *sig)
+{
+	crypto_free_sig(sig);
+}
+
+/*
+ * Allow kunit to allocate a crypto signature processing object.
+ */
+static struct crypto_sig *kunit_crypto_alloc_sig(struct kunit *test,
+						 const char *alg_name,
+						 u32 type, u32 mask)
+{
+	struct crypto_sig *sig;
+
+	sig = crypto_alloc_sig(alg_name, 0, 0);
+        KUNIT_ASSERT_NOT_ERR_OR_NULL(test, sig);
+
+	kunit_add_action_or_reset(test, __kunit_crypto_free_sig, sig);
+	return sig;
+}
+
+/*
+ * Force the freeing of a signature.
+ */
+static void kunit_crypto_free_sig(struct kunit *test, void *sig)
+{
+	kunit_release_action(test, __kunit_crypto_free_sig, sig);
+}
+
+static void dilithium_sigver_test_one(struct kunit *test, int index,
+				      const struct dilithium_testvector *tc)
+{
+	struct crypto_sig *sig;
+	int ret;
+
+	sig = kunit_crypto_alloc_sig(test, tc->algo, 0, 0);
+	if (IS_ERR(sig))
+		return;
+
+	ret = crypto_sig_set_pubkey(sig, tc->pk, tc->pk_len);
+	KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Can't set public key");
+
+	ret = crypto_sig_verify(sig, tc->sig, tc->sig_len, tc->msg, tc->msg_len);
+	KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Verify failed");
+
+	kunit_crypto_free_sig(test, sig);
+}
+
+static void dilithium44_kunit_test(struct kunit *test)
+{
+	const struct dilithium_testvector *tc = dilithium44_testvectors;
+	int count = ARRAY_SIZE(dilithium44_testvectors);
+
+	for (int index = 0; index < count; index++) {
+		dilithium_sigver_test_one(test, index, &tc[index]);
+	}
+
+	KUNIT_SUCCEED(test);
+}
+
+static struct kunit_case __refdata dilithium_kunit_cases[] = {
+	KUNIT_CASE(dilithium44_kunit_test),
+	{}
+};
+
+static struct kunit_suite dilithium_kunit_suite = {
+	.name		= "ml-dsa",
+	.test_cases	= dilithium_kunit_cases,
+};
+
+kunit_test_suites(&dilithium_kunit_suite);


^ permalink raw reply related

* [PATCH v7 2/8] crypto: Add ML-DSA/Dilithium verify support
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Port the signature verification code from Stephan Mueller's Leancrypto
implementation of ML-DSA/Dilithium to the kernel.  The keypair generation
and signature generation is not included and nor is composite signature
support to reduce code footprint size.

Apologies to Stephan, but I've stripped out a bunch of macros to do return
checking and suchlike and removed a bunch of "lc_" prefixes from the code.

Composite signature support is mostly removed and none of the arch-specific
code from Leancrypto has been included for the moment, so this is pure C.

The interface to this code is through the crypto_sig API as the PKCS#7 code
wants to use that rather than calling it directly.  As such, I've placed it
in crypto/ rather than lib/crypto/.  Only the verification hooks are
implemented; the signing hooks return an error.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Jason A. Donenfeld <Jason@zx2c4.com>
cc: Ard Biesheuvel <ardb@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: linux-crypto@vger.kernel.org
---
 crypto/Kconfig                              |   1 +
 crypto/Makefile                             |   1 +
 crypto/ml_dsa/Kconfig                       |  17 +
 crypto/ml_dsa/Makefile                      |  18 +
 crypto/ml_dsa/dilithium.h                   | 547 ++++++++++++++++++++
 crypto/ml_dsa/dilithium_44.c                |  33 ++
 crypto/ml_dsa/dilithium_44.h                | 282 ++++++++++
 crypto/ml_dsa/dilithium_65.c                |  33 ++
 crypto/ml_dsa/dilithium_65.h                | 282 ++++++++++
 crypto/ml_dsa/dilithium_87.c                |  33 ++
 crypto/ml_dsa/dilithium_87.h                | 282 ++++++++++
 crypto/ml_dsa/dilithium_api.c               | 429 +++++++++++++++
 crypto/ml_dsa/dilithium_debug.h             |  49 ++
 crypto/ml_dsa/dilithium_ntt.c               |  89 ++++
 crypto/ml_dsa/dilithium_ntt.h               |  35 ++
 crypto/ml_dsa/dilithium_pack.h              | 119 +++++
 crypto/ml_dsa/dilithium_poly.c              | 377 ++++++++++++++
 crypto/ml_dsa/dilithium_poly.h              | 181 +++++++
 crypto/ml_dsa/dilithium_poly_c.h            | 141 +++++
 crypto/ml_dsa/dilithium_poly_common.h       |  35 ++
 crypto/ml_dsa/dilithium_polyvec.h           | 343 ++++++++++++
 crypto/ml_dsa/dilithium_polyvec_c.h         |  81 +++
 crypto/ml_dsa/dilithium_reduce.h            |  85 +++
 crypto/ml_dsa/dilithium_rounding.c          | 128 +++++
 crypto/ml_dsa/dilithium_service_helpers.h   |  99 ++++
 crypto/ml_dsa/dilithium_sig.c               | 334 ++++++++++++
 crypto/ml_dsa/dilithium_signature_c.c       | 102 ++++
 crypto/ml_dsa/dilithium_signature_c.h       |  37 ++
 crypto/ml_dsa/dilithium_signature_helper.c  |  97 ++++
 crypto/ml_dsa/dilithium_signature_impl.h    | 370 +++++++++++++
 crypto/ml_dsa/dilithium_type.h              | 102 ++++
 crypto/ml_dsa/dilithium_zetas.c             |  67 +++
 crypto/ml_dsa/signature_domain_separation.c | 203 ++++++++
 crypto/ml_dsa/signature_domain_separation.h |  30 ++
 34 files changed, 5062 insertions(+)
 create mode 100644 crypto/ml_dsa/Kconfig
 create mode 100644 crypto/ml_dsa/Makefile
 create mode 100644 crypto/ml_dsa/dilithium.h
 create mode 100644 crypto/ml_dsa/dilithium_44.c
 create mode 100644 crypto/ml_dsa/dilithium_44.h
 create mode 100644 crypto/ml_dsa/dilithium_65.c
 create mode 100644 crypto/ml_dsa/dilithium_65.h
 create mode 100644 crypto/ml_dsa/dilithium_87.c
 create mode 100644 crypto/ml_dsa/dilithium_87.h
 create mode 100644 crypto/ml_dsa/dilithium_api.c
 create mode 100644 crypto/ml_dsa/dilithium_debug.h
 create mode 100644 crypto/ml_dsa/dilithium_ntt.c
 create mode 100644 crypto/ml_dsa/dilithium_ntt.h
 create mode 100644 crypto/ml_dsa/dilithium_pack.h
 create mode 100644 crypto/ml_dsa/dilithium_poly.c
 create mode 100644 crypto/ml_dsa/dilithium_poly.h
 create mode 100644 crypto/ml_dsa/dilithium_poly_c.h
 create mode 100644 crypto/ml_dsa/dilithium_poly_common.h
 create mode 100644 crypto/ml_dsa/dilithium_polyvec.h
 create mode 100644 crypto/ml_dsa/dilithium_polyvec_c.h
 create mode 100644 crypto/ml_dsa/dilithium_reduce.h
 create mode 100644 crypto/ml_dsa/dilithium_rounding.c
 create mode 100644 crypto/ml_dsa/dilithium_service_helpers.h
 create mode 100644 crypto/ml_dsa/dilithium_sig.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_c.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_c.h
 create mode 100644 crypto/ml_dsa/dilithium_signature_helper.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_impl.h
 create mode 100644 crypto/ml_dsa/dilithium_type.h
 create mode 100644 crypto/ml_dsa/dilithium_zetas.c
 create mode 100644 crypto/ml_dsa/signature_domain_separation.c
 create mode 100644 crypto/ml_dsa/signature_domain_separation.h

diff --git a/crypto/Kconfig b/crypto/Kconfig
index 57b85e903cf0..53f63f1766af 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -1453,5 +1453,6 @@ source "drivers/crypto/Kconfig"
 source "crypto/asymmetric_keys/Kconfig"
 source "certs/Kconfig"
 source "crypto/krb5/Kconfig"
+source "crypto/ml_dsa/Kconfig"
 
 endif	# if CRYPTO
diff --git a/crypto/Makefile b/crypto/Makefile
index 0388ff8d219d..b810b920c17e 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -209,3 +209,4 @@ obj-$(CONFIG_CRYPTO_SIMD) += crypto_simd.o
 obj-$(CONFIG_CRYPTO_KDF800108_CTR) += kdf_sp800108.o
 
 obj-$(CONFIG_CRYPTO_KRB5) += krb5/
+obj-$(CONFIG_CRYPTO_ML_DSA) += ml_dsa/
diff --git a/crypto/ml_dsa/Kconfig b/crypto/ml_dsa/Kconfig
new file mode 100644
index 000000000000..cc0567c5b990
--- /dev/null
+++ b/crypto/ml_dsa/Kconfig
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0
+menuconfig CRYPTO_ML_DSA
+	tristate "ML-DSA/Dilithium algorithm"
+	select CRYPTO_LIB_SHA3
+
+if CRYPTO_ML_DSA
+
+config CRYPTO_DILITHIUM_44
+	bool "Enable Dilithium-44 support"
+
+config CRYPTO_DILITHIUM_65
+	bool "Enable Dilithium-65 support"
+
+config CRYPTO_DILITHIUM_87
+	bool "Enable Dilithium-87 support"
+
+endif
diff --git a/crypto/ml_dsa/Makefile b/crypto/ml_dsa/Makefile
new file mode 100644
index 000000000000..d420a8ba6033
--- /dev/null
+++ b/crypto/ml_dsa/Makefile
@@ -0,0 +1,18 @@
+################################################################################
+# Signature implementation: Dilithium
+
+################################################################################
+# C Implementation
+################################################################################
+ml_dsa-y += \
+	signature_domain_separation.o \
+	dilithium_api.o \
+	dilithium_zetas.o \
+	dilithium_sig.o \
+	dilithium_signature_helper.o
+
+ml_dsa-$(CONFIG_CRYPTO_DILITHIUM_87) += dilithium_87.o
+ml_dsa-$(CONFIG_CRYPTO_DILITHIUM_65) += dilithium_65.o
+ml_dsa-$(CONFIG_CRYPTO_DILITHIUM_44) += dilithium_44.o
+
+obj-$(CONFIG_CRYPTO_ML_DSA) += ml_dsa.o
diff --git a/crypto/ml_dsa/dilithium.h b/crypto/ml_dsa/dilithium.h
new file mode 100644
index 000000000000..f5a2322ab405
--- /dev/null
+++ b/crypto/ml_dsa/dilithium.h
@@ -0,0 +1,547 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_H
+#define DILITHIUM_H
+
+#undef pr_fmt
+#define pr_fmt(fmt) "ML-DSA: " fmt
+#include <linux/types.h>
+#include <linux/errno.h>
+#include <linux/string.h>
+#include <crypto/sha2.h>
+#include <crypto/sha3.h>
+#include <crypto/hash.h>
+#include <crypto/rng.h>
+
+#define DILITHIUM_SEEDBYTES 32
+#define DILITHIUM_CRHBYTES 64
+#define DILITHIUM_TRBYTES 64
+#define DILITHIUM_RNDBYTES 32
+#define DILITHIUM_N 256
+#define DILITHIUM_Q 8380417
+#define DILITHIUM_D 13
+#define DILITHIUM_ROOT_OF_UNITY 1753
+
+extern const int32_t dilithium_zetas[DILITHIUM_N];
+#define lc_seeded_rng crypto_default_rng
+
+struct dilithium_ctx {
+	/*
+	 * @brief Hash context used internally to the library - it should not
+	 * be touched by the user
+	 */
+	struct shake_ctx dilithium_hash_ctx;
+
+	/*
+	 * @brief length of the user context (allowed range between 0 and 255
+	 * bytes)
+	 *
+	 * \note Use \p dilithium_ctx_userctx or
+	 * \p dilithium_ed25519_ctx_userctx to set this value.
+	 */
+	size_t userctxlen;
+
+	/*
+	 * @brief buffer with a caller-specified context string
+	 *
+	 * \note Use \p dilithium_ctx_userctx or
+	 * \p dilithium_ed25519_ctx_userctx to set this value.
+	 */
+	const uint8_t *userctx;
+
+	/*
+	 * @brief Pointer to the AHat buffer. This can be provided by the caller
+	 * or it must be NULL otherwise.
+	 *
+	 * \note Use \p DILITHIUM_CTX_ON_STACK_AHAT to provide memory for
+	 * storing AHat in the caller context and thus make the signature
+	 * operation much faster starting with the 2nd use of the key (pair).
+	 */
+	void *ahat;
+	unsigned short ahat_size;
+
+	/*
+	 * @brief Pointer to the external mu.
+	 *
+	 * If set, the signature operation will use the provided mu instead of
+	 * the message. In this case, the message pointer to the signature
+	 * generation or verification can be NULL.
+	 */
+	const uint8_t *external_mu;
+	size_t external_mu_len;
+
+	/*
+	 * @brief NIST category required for composite signatures
+	 *
+	 * The domain separation logic depends on the selection of the right
+	 * OID for the "Domain" data.
+	 */
+	unsigned int nist_category;
+
+	/*
+	 * @brief When set to true, only the ML-DSA.Sign_internal or
+	 * ML-DSA.Verify_internal are performed (see FIPS 204 chapter 6).
+	 * Otherwise the ML-DSA.Sign / ML-DSA.Verify (see FIPS chapter 5) is
+	 * applied.
+	 *
+	 * \note Use \p dilithium_ctx_internal or
+	 * \p dilithium_ed25519_ctx_internal to set this value.
+	 *
+	 * \warning Only set this value to true if you exactly know what you are
+	 * doing!.
+	 */
+	bool ml_dsa_internal:1;
+
+	/*
+	 * @brief Was aHat already filled? This is used and set internally.
+	 */
+	bool ahat_expanded:1;
+} __aligned(CRYPTO_MINALIGN);
+
+static inline void dilithium_hash_init(struct dilithium_ctx *ctx)
+{
+	shake256_init(&ctx->dilithium_hash_ctx);
+}
+
+static inline bool dilithium_hash_check_blocksize(const struct dilithium_ctx *ctx, size_t bsize)
+{
+	return bsize == SHAKE256_BLOCK_SIZE;
+}
+
+static inline bool dilithium_hash_check_digestsize(const struct dilithium_ctx *ctx, size_t dsize)
+{
+	return true;
+}
+
+static inline void dilithium_hash_clear(struct dilithium_ctx *ctx)
+{
+	shake_zeroize_ctx(&ctx->dilithium_hash_ctx);
+}
+
+static inline void dilithium_hash_update(struct dilithium_ctx *ctx,
+					 const u8 *in, size_t in_size)
+{
+	shake_update(&ctx->dilithium_hash_ctx, in, in_size);
+}
+
+static inline void dilithium_hash_finup(struct dilithium_ctx *ctx,
+					const u8 *in, size_t in_size,
+					u8 *out, size_t out_size)
+{
+	shake_update(&ctx->dilithium_hash_ctx, in, in_size);
+	shake_squeeze(&ctx->dilithium_hash_ctx, out, out_size);
+	shake_zeroize_ctx(&ctx->dilithium_hash_ctx);
+}
+
+static inline void dilithium_hash_final(struct dilithium_ctx *ctx, u8 *out, size_t out_size)
+{
+	shake_squeeze(&ctx->dilithium_hash_ctx, out, out_size);
+	shake_zeroize_ctx(&ctx->dilithium_hash_ctx);
+}
+
+#include "dilithium_87.h"
+#include "dilithium_65.h"
+#include "dilithium_44.h"
+
+enum dilithium_type {
+	DILITHIUM_UNKNOWN,	/* Unknown key type */
+	DILITHIUM_87,		/* Dilithium 87 */
+	DILITHIUM_65,		/* Dilithium 65 */
+	DILITHIUM_44,		/* Dilithium 44 */
+};
+
+/* @defgroup Dilithium ML-DSA / CRYSTALS-Dilithium Signature Mechanism
+ *
+ * \note Although the API uses the term "dilithium", the implementation complies
+ * with FIPS 204. Thus the terms Dilithium and ML-DSA are used interchangeably.
+ *
+ * Dilithium API concept
+ *
+ * The Dilithium API is accessible via the following header files with the
+ * mentioned purpose.
+ *
+ * * dilithium.h: This API is the generic API allowing the caller to select
+ *   which Dilithium type (Dilithium 87, 65 or 44) are to be used. The selection
+ *   is made either with the flag specified during key generation or by matching
+ *   the size of the imported data with the different dilithium_*_load API
+ *   calls. All remaining APIs take the information about the Dilithium type
+ *   from the provided input data.
+ *
+ *   This header file only provides inline functions which selectively call
+ *   the API provided with the header files below.
+ *
+ * * dilithium_87.h: Direct access to Dilithium 87.
+ *
+ * * dilithium_65.h: Direct access to Dilithium 65.
+ *
+ * * dilithium_44.h: Direct access to Dilithium 44.
+ *
+ * To support the stream mode of the Dilithium signature operation, a
+ * context structure is required. This context structure can be allocated either
+ * on the stack or heap with \p DILITHIUM_CTX_ON_STACK or
+ * \p dilithium_ctx_alloc. The context should be zeroized
+ * and freed (only for heap) with \p dilithium_ctx_zero or
+ * \p dilithium_ctx_zero_free.
+ */
+
+/*
+ * @brief Dilithium public key
+ */
+struct dilithium_pk {
+	enum dilithium_type dilithium_type;
+	union {
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		struct dilithium_87_pk pk_87;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		struct dilithium_65_pk pk_65;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		struct dilithium_44_pk pk_44;
+#endif
+	} key;
+};
+
+/*
+ * @brief Dilithium signature
+ */
+struct dilithium_sig {
+	enum dilithium_type dilithium_type;
+	union {
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		struct dilithium_87_sig sig_87;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		struct dilithium_65_sig sig_65;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		struct dilithium_44_sig sig_44;
+#endif
+	} sig;
+};
+
+/*
+ * @ingroup Dilithium
+ * @brief Allocates Dilithium context on heap
+ *
+ * @param [out] ctx Dilithium context pointer
+ *
+ * @return 0 (success) or < 0 on error
+ */
+struct dilithium_ctx *dilithium_ctx_alloc(void);
+
+/*
+ * @ingroup Dilithium
+ * @brief Allocates Dilithium context on heap with support to keep the internal
+ *	  representation of the key.
+ *
+ * \note See \p DILITHIUM_CTX_ON_STACK_AHAT for details.
+ *
+ * @param [out] ctx Dilithium context pointer
+ *
+ * @return 0 (success) or < 0 on error
+ */
+struct dilithium_ctx *dilithium_ctx_alloc_ahat(enum dilithium_type type);
+
+/*
+ * @ingroup Dilithium
+ * @brief Zeroizes and frees Dilithium context on heap
+ *
+ * @param [out] ctx Dilithium context pointer
+ */
+void dilithium_ctx_zero_free(struct dilithium_ctx *ctx);
+
+/*
+ * @ingroup Dilithium
+ * @brief Zeroizes Dilithium context either on heap or on stack
+ *
+ * @param [out] ctx Dilithium context pointer
+ */
+void dilithium_ctx_zero(struct dilithium_ctx *ctx);
+
+/*
+ * @ingroup Dilithium
+ * @brief Mark the Dilithium context to execute ML-DSA.Sign_internal /
+ *	  ML-DSA.Verify_internal.
+ *
+ * @param [in] ctx Dilithium context
+ */
+void dilithium_ctx_internal(struct dilithium_ctx *ctx);
+
+/*
+ * @ingroup Dilithium
+ * @brief Set the hash type that was used for pre-hashing the message. The
+ *	  message digest is used with the HashML-DSA. The message digest
+ *	  is to be provided via the message pointer in the sign/verify APIs.
+ *
+ * @param [in] ctx Dilithium context
+ * @param [in] hash Hash context referencing the used hash for pre-hashing the
+ *		    message
+ */
+void dilithium_ctx_hash(struct dilithium_ctx *ctx,
+			struct crypto_shash *hash);
+
+/*
+ * @ingroup Dilithium
+ * @brief Specify the optional user context string to be applied with the
+ *	  Dilithium signature operation.
+ *
+ * @param [in] ctx Dilithium context
+ * @param [in] userctx User context string
+ * @param [in] userctxlen Size of the user context string
+ */
+void dilithium_ctx_userctx(struct dilithium_ctx *ctx,
+			   const uint8_t *userctx, size_t userctxlen);
+
+/*
+ * @ingroup Dilithium
+ * @brief Specify the optional external mu value.
+ *
+ * \note If the external mu is specified, the signature generation /
+ * verification APIs do not require a message. In this case, the message buffer
+ * can be set to NULL.
+ *
+ * \note If both a message and an external mu are provided, the external mu
+ * takes precedence.
+ *
+ * @param [in] ctx Dilithium context
+ * @param [in] external_mu User context string
+ * @param [in] external_mu_len Size of the user context string
+ */
+void dilithium_ctx_external_mu(struct dilithium_ctx *ctx,
+			       const uint8_t *external_mu,
+			       size_t external_mu_len);
+
+/*
+ * @ingroup Dilithium
+ * @brief Invalidate the expanded key that potentially is stored in the context.
+ *
+ * This call can be executed on a context irrespective it was allocated with
+ * space for the expanded representation or not. Thus, the caller does not need
+ * to track whether the context supports the expanded key.
+ *
+ * @param [in] ctx Dilithium context
+ */
+void dilithium_ctx_drop_ahat(struct dilithium_ctx *ctx);
+
+/*
+ * @ingroup Dilithium
+ * @brief Obtain Dilithium type from public key
+ *
+ * @param [in] pk Public key from which the type is to be obtained
+ *
+ * @return key type
+ */
+enum dilithium_type dilithium_pk_type(const struct dilithium_pk *pk);
+
+/*
+ * @ingroup Dilithium
+ * @brief Obtain Dilithium type from signature
+ *
+ * @param [in] sig Signature from which the type is to be obtained
+ *
+ * @return key type
+ */
+enum dilithium_type
+dilithium_sig_type(const struct dilithium_sig *sig);
+
+/*
+ * @ingroup Dilithium
+ * @brief Return the size of the Dilithium public key.
+ *
+ * @param [in] dilithium_type Dilithium type for which the size is requested
+ *
+ * @return requested size
+ */
+unsigned int dilithium_pk_size(enum dilithium_type dilithium_type);
+
+/*
+ * @ingroup Dilithium
+ * @brief Return the size of the Dilithium signature.
+ *
+ * @param [in] dilithium_type Dilithium type for which the size is requested
+ *
+ * @return requested size
+ */
+unsigned int dilithium_sig_size(enum dilithium_type dilithium_type);
+
+/*
+ * @ingroup Dilithium
+ * @brief Load a Dilithium public key provided with a buffer into the leancrypto
+ *	  data structure.
+ *
+ * @param [out] pk Secret key to be filled (the caller must have it allocated)
+ * @param [in] src_key Buffer that holds the key to be imported
+ * @param [in] src_key_len Buffer length that holds the key to be imported
+ *
+ * @return 0 on success or < 0 on error
+ */
+int dilithium_pk_load(struct dilithium_pk *pk, const uint8_t *src_key,
+		      size_t src_key_len);
+
+/*
+ * @ingroup Dilithium
+ * @brief Load a Dilithium signature provided with a buffer into the leancrypto
+ *	  data structure.
+ *
+ * @param [out] sig Secret key to be filled (the caller must have it allocated)
+ * @param [in] src_sig Buffer that holds the signature to be imported
+ * @param [in] src_sig_len Buffer length that holds the signature to be imported
+ *
+ * @return 0 on success or < 0 on error
+ */
+int dilithium_sig_load(struct dilithium_sig *sig, const uint8_t *src_sig,
+		       size_t src_sig_len);
+
+/*
+ * @ingroup Dilithium
+ * @brief Obtain the reference to the Dilithium key and its length
+ *
+ * \note Only pointer references into the leancrypto data structure are returned
+ * which implies that any modification will modify the leancrypto key, too.
+ *
+ * @param [out] dilithium_key Dilithium key pointer
+ * @param [out] dilithium_key_len Length of the key buffer
+ * @param [in] pk Dilithium publi key from which the references are obtained
+ *
+ * @return 0 on success, != 0 on error
+ */
+int dilithium_pk_ptr(uint8_t **dilithium_key, size_t *dilithium_key_len,
+		     struct dilithium_pk *pk);
+
+/*
+ * @ingroup Dilithium
+ * @brief Obtain the reference to the Dilithium signature and its length
+ *
+ * \note Only pointer references into the leancrypto data structure are returned
+ * which implies that any modification will modify the leancrypto signature,
+ * too.
+ *
+ * @param [out] dilithium_sig Dilithium signature pointer
+ * @param [out] dilithium_sig_len Length of the signature buffer
+ * @param [in] sig Dilithium signature from which the references are obtained
+ *
+ * @return 0 on success, != 0 on error
+ */
+int dilithium_sig_ptr(uint8_t **dilithium_sig, size_t *dilithium_sig_len,
+		      struct dilithium_sig *sig);
+
+/*
+ * @ingroup Dilithium
+ * @brief Verifies signature in one shot
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_verify(const struct dilithium_sig *sig, const uint8_t *m,
+		     size_t mlen, const struct dilithium_pk *pk);
+
+/*
+ * @ingroup Dilithium
+ * @brief Verifies signature with Dilithium context in one shot
+ *
+ * This API allows the caller to provide an arbitrary context buffer which
+ * is hashed together with the message to form the message digest to be signed.
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] ctx reference to the allocated Dilithium context handle
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_verify_ctx(const struct dilithium_sig *sig,
+			 struct dilithium_ctx *ctx, const uint8_t *m,
+			 size_t mlen, const struct dilithium_pk *pk);
+
+/*
+ * @ingroup Dilithium
+ * @brief Initializes a signature verification operation
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_update and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to an allocated Dilithium context
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 (success) or < 0 on error; -EOPNOTSUPP is returned if a different
+ *	   hash than lc_shake256 is used.
+ */
+int dilithium_verify_init(struct dilithium_ctx *ctx,
+			  const struct dilithium_pk *pk);
+
+/*
+ * @ingroup Dilithium
+ * @brief Add more data to an already initialized signature state
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_init and
+ * dilithium_verify_final.
+ *
+ * @param [in] ctx pointer to Dilithium context that was initialized with
+ *		   dilithium_sign_init
+ * @param [in] m pointer to message to be signed
+ * @param [in] mlen length of message
+ *
+ * @return 0 (success) or < 0 on error
+ */
+int dilithium_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			    size_t mlen);
+
+/*
+ * @ingroup Dilithium
+ * @brief Verifies signature
+ *
+ * @param [in] sig pointer to output signature
+ * @param [in] ctx pointer to Dilithium context that was initialized with
+ *		   dilithium_sign_init and filled with
+ *		   dilithium_sign_update
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_verify_final(const struct dilithium_sig *sig,
+			   struct dilithium_ctx *ctx,
+			   const struct dilithium_pk *pk);
+
+/* No valgrind */
+#define poison(addr, len)
+#define unpoison(addr, len)
+#define is_poisoned(addr, len)
+
+#endif /* DILITHIUM_H */
diff --git a/crypto/ml_dsa/dilithium_44.c b/crypto/ml_dsa/dilithium_44.c
new file mode 100644
index 000000000000..1aea716016f0
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_44.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+#define DILITHIUM_TYPE_44
+#include "dilithium.h"
+
+#define DILITHIUM_TYPE			"44"
+#define DILITHIUM_MODE			2
+#define DILITHIUM_NIST_CATEGORY		DILITHIUM44_NIST_CATEGORY
+#define DILITHIUM_LAMBDA		DILITHIUM44_LAMBDA
+#define DILITHIUM_K			DILITHIUM44_K
+#define DILITHIUM_L			DILITHIUM44_L
+#define DILITHIUM_ETA			DILITHIUM44_ETA
+#define DILITHIUM_TAU			DILITHIUM44_TAU
+#define DILITHIUM_BETA			DILITHIUM44_BETA
+#define DILITHIUM_GAMMA1		DILITHIUM44_GAMMA1
+#define DILITHIUM_GAMMA2		DILITHIUM44_GAMMA2
+#define DILITHIUM_OMEGA			DILITHIUM44_OMEGA
+
+#define DILITHIUM_CTILDE_BYTES		DILITHIUM44_CTILDE_BYTES
+#define DILITHIUM_POLYT1_PACKEDBYTES	DILITHIUM44_POLYT1_PACKEDBYTES
+#define DILITHIUM_POLYT0_PACKEDBYTES	DILITHIUM44_POLYT0_PACKEDBYTES
+#define DILITHIUM_POLYVECH_PACKEDBYTES	DILITHIUM44_POLYVECH_PACKEDBYTES
+#define DILITHIUM_POLYZ_PACKEDBYTES	DILITHIUM44_POLYZ_PACKEDBYTES
+#define DILITHIUM_POLYW1_PACKEDBYTES	DILITHIUM44_POLYW1_PACKEDBYTES
+#define DILITHIUM_POLYETA_PACKEDBYTES	DILITHIUM44_POLYETA_PACKEDBYTES
+
+#define DILITHIUM_PUBLICKEYBYTES	DILITHIUM44_PUBLICKEYBYTES
+#define DILITHIUM_SECRETKEYBYTES	DILITHIUM44_SECRETKEYBYTES
+#define DILITHIUM_CRYPTO_BYTES		DILITHIUM44_CRYPTO_BYTES
+
+#include "dilithium_ntt.c"
+#include "dilithium_poly.c"
+#include "dilithium_rounding.c"
+#include "dilithium_signature_c.c"
diff --git a/crypto/ml_dsa/dilithium_44.h b/crypto/ml_dsa/dilithium_44.h
new file mode 100644
index 000000000000..8f3223a5476d
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_44.h
@@ -0,0 +1,282 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_44_H
+#define DILITHIUM_44_H
+
+/*
+ * Dilithium Security Levels
+ * 2 -> 192 bits of security strength
+ * 3 -> 225 bits of security strength
+ * 5 -> 257 bits of security strength
+ */
+
+/* DILITHIUM_MODE 2 */
+#define DILITHIUM44_NIST_CATEGORY 1
+#define DILITHIUM44_LAMBDA 128
+#define DILITHIUM44_K 4
+#define DILITHIUM44_L 4
+#define DILITHIUM44_ETA 2
+#define DILITHIUM44_TAU 39
+#define DILITHIUM44_BETA 78
+#define DILITHIUM44_GAMMA1 (1 << 17)
+#define DILITHIUM44_GAMMA2 ((DILITHIUM_Q - 1) / 88)
+#define DILITHIUM44_OMEGA 80
+
+#define DILITHIUM44_CTILDE_BYTES (DILITHIUM44_LAMBDA * 2 / 8)
+#define DILITHIUM44_POLYT1_PACKEDBYTES 320
+#define DILITHIUM44_POLYT0_PACKEDBYTES 416
+#define DILITHIUM44_POLYVECH_PACKEDBYTES (DILITHIUM44_OMEGA + DILITHIUM44_K)
+
+#if DILITHIUM44_GAMMA1 == (1 << 17)
+#define DILITHIUM44_POLYZ_PACKEDBYTES 576
+#elif DILITHIUM44_GAMMA1 == (1 << 19)
+#define DILITHIUM44_POLYZ_PACKEDBYTES 640
+#endif
+
+#if DILITHIUM44_GAMMA2 == (DILITHIUM_Q - 1) / 88
+#define DILITHIUM44_POLYW1_PACKEDBYTES 192
+#elif DILITHIUM44_GAMMA2 == (DILITHIUM_Q - 1) / 32
+#define DILITHIUM44_POLYW1_PACKEDBYTES 128
+#endif
+
+#if DILITHIUM44_ETA == 2
+#define DILITHIUM44_POLYETA_PACKEDBYTES 96
+#elif DILITHIUM44_ETA == 4
+#define DILITHIUM44_POLYETA_PACKEDBYTES 128
+#endif
+
+/*
+ * Sizes of the different Dilithium buffer types.
+ *
+ * WARNING: Do not use these defines in your code. If you need the sizes of
+ * the different variable sizes, use sizeof of the different variable structs or
+ * use the different *_size functions documented below to retrieve the data size
+ * of a particular Dilithium component.
+ */
+#define DILITHIUM44_PUBLICKEYBYTES					\
+	(DILITHIUM_SEEDBYTES +						\
+	 DILITHIUM44_K * DILITHIUM44_POLYT1_PACKEDBYTES)
+#define DILITHIUM44_SECRETKEYBYTES					\
+	(2 * DILITHIUM_SEEDBYTES + DILITHIUM_TRBYTES +			\
+	 DILITHIUM44_L * DILITHIUM44_POLYETA_PACKEDBYTES +		\
+	 DILITHIUM44_K * DILITHIUM44_POLYETA_PACKEDBYTES +		\
+	 DILITHIUM44_K * DILITHIUM44_POLYT0_PACKEDBYTES)
+
+#define DILITHIUM44_CRYPTO_BYTES					\
+	(DILITHIUM44_CTILDE_BYTES +					\
+	 DILITHIUM44_L * DILITHIUM44_POLYZ_PACKEDBYTES +		\
+	 DILITHIUM44_POLYVECH_PACKEDBYTES)
+
+#ifndef __ASSEMBLER__
+/*
+ * @brief Dilithium secret key
+ */
+struct dilithium_44_sk {
+	uint8_t sk[DILITHIUM44_SECRETKEYBYTES];
+};
+
+/*
+ * @brief Dilithium public key
+ */
+struct dilithium_44_pk {
+	uint8_t pk[DILITHIUM44_PUBLICKEYBYTES];
+};
+
+/*
+ * @brief Dilithium signature
+ */
+struct dilithium_44_sig {
+	uint8_t sig[DILITHIUM44_CRYPTO_BYTES];
+};
+
+/*
+ * The alignment is based on largest alignment of a polyvecl typedef - this is
+ * the AVX2 definition.
+ */
+#define DILITHIUM_AHAT_ALIGNMENT (32)
+
+/* Size of the AHat matrix for ML-DSA 87 */
+#define DILITHIUM_44_AHAT_SIZE                                              \
+	(256 * sizeof(int32_t) * DILITHIUM44_K * DILITHIUM44_L)
+
+/*
+ * @brief Zeroize Dilithium context allocated with
+ *	  DILITHIUM_CTX_ON_STACK dilithium_ed25519_alloc
+ *
+ * @param [in] ctx Dilithium context to be zeroized
+ */
+static inline void dilithium_44_ctx_zero(struct dilithium_ctx *ctx)
+{
+	if (!ctx)
+		return;
+	dilithium_hash_clear(ctx);
+	if (ctx->ahat) {
+		memzero_explicit(ctx->ahat, ctx->ahat_size);
+		ctx->ahat_expanded = 0;
+	}
+}
+
+/*
+ * @brief Allocate Dilithium stream context on heap
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_44_ctx_alloc(void);
+
+/*
+ * @brief Allocate Dilithium stream context on heap including additional
+ * parameter relevant for the signature operation.
+ *
+ * \note See \p DILITHIUM_44_CTX_ON_STACK_AHAT for details.
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_44_ctx_alloc_ahat(void);
+
+/*
+ * @brief Zeroize and free Dilithium stream context
+ *
+ * @param [in] ctx Dilithium stream context to be zeroized and freed
+ */
+void dilithium_44_ctx_zero_free(struct dilithium_ctx *ctx);
+
+/*
+ * @brief Return the size of the Dilithium secret key.
+ */
+static inline unsigned int dilithium_44_sk_size(void)
+{
+	return sizeof_field(struct dilithium_44_sk, sk);
+}
+
+/*
+ * @brief Return the size of the Dilithium public key.
+ */
+static inline unsigned int dilithium_44_pk_size(void)
+{
+	return sizeof_field(struct dilithium_44_pk, pk);
+}
+
+/*
+ * @brief Return the size of the Dilithium signature.
+ */
+static inline unsigned int dilithium_44_sig_size(void)
+{
+	return sizeof_field(struct dilithium_44_sig, sig);
+}
+
+/*
+ * @brief Verifies ML-DSA signature in one shot
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_44_verify(const struct dilithium_44_sig *sig, const uint8_t *m,
+			size_t mlen, const struct dilithium_44_pk *pk);
+
+/*
+ * @brief Verifies signature with Dilithium context in one shot
+ *
+ * This API allows the caller to provide an arbitrary context buffer which
+ * is hashed together with the message to form the message digest to be signed.
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] ctx reference to the allocated Dilithium context handle
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_44_verify_ctx(const struct dilithium_44_sig *sig,
+				struct dilithium_ctx *ctx,
+				const uint8_t *m, size_t mlen,
+				const struct dilithium_44_pk *pk);
+
+/*
+ * @brief Initializes a signature verification operation
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_update and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to an allocated Dilithium context
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 (success) or < 0 on error; -EOPNOTSUPP is returned if a different
+ *	   hash than lc_shake256 is used.
+ */
+int dilithium_44_verify_init(struct dilithium_ctx *ctx,
+			     const struct dilithium_44_pk *pk);
+
+/*
+ * @brief Add more data to an already initialized signature state
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_init and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to Dilithium context that was initialized with
+ *			    dilithium_sign_init
+ * @param [in] m pointer to message to be signed
+ * @param [in] mlen length of message
+ *
+ * @return 0 (success) or < 0 on error
+ */
+int dilithium_44_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			       size_t mlen);
+
+/*
+ * @brief Verifies signature
+ *
+ * @param [in] sig pointer to output signature
+ * @param [in] ctx pointer to Dilithium context that was initialized with
+ *			dilithium_sign_init and filled with
+ *			dilithium_sign_update
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_44_verify_final(const struct dilithium_44_sig *sig,
+			      struct dilithium_ctx *ctx,
+			      const struct dilithium_44_pk *pk);
+
+#endif /* __ASSEMBLER__ */
+
+#endif /* DILITHIUM_44_H */
diff --git a/crypto/ml_dsa/dilithium_65.c b/crypto/ml_dsa/dilithium_65.c
new file mode 100644
index 000000000000..08f3a8e71228
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_65.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+#define DILITHIUM_TYPE_65
+#include "dilithium.h"
+
+#define DILITHIUM_TYPE			"65"
+#define DILITHIUM_MODE			3
+#define DILITHIUM_NIST_CATEGORY		DILITHIUM65_NIST_CATEGORY
+#define DILITHIUM_LAMBDA		DILITHIUM65_LAMBDA
+#define DILITHIUM_K			DILITHIUM65_K
+#define DILITHIUM_L			DILITHIUM65_L
+#define DILITHIUM_ETA			DILITHIUM65_ETA
+#define DILITHIUM_TAU			DILITHIUM65_TAU
+#define DILITHIUM_BETA			DILITHIUM65_BETA
+#define DILITHIUM_GAMMA1		DILITHIUM65_GAMMA1
+#define DILITHIUM_GAMMA2		DILITHIUM65_GAMMA2
+#define DILITHIUM_OMEGA			DILITHIUM65_OMEGA
+
+#define DILITHIUM_CTILDE_BYTES		DILITHIUM65_CTILDE_BYTES
+#define DILITHIUM_POLYT1_PACKEDBYTES	DILITHIUM65_POLYT1_PACKEDBYTES
+#define DILITHIUM_POLYT0_PACKEDBYTES	DILITHIUM65_POLYT0_PACKEDBYTES
+#define DILITHIUM_POLYVECH_PACKEDBYTES	DILITHIUM65_POLYVECH_PACKEDBYTES
+#define DILITHIUM_POLYZ_PACKEDBYTES	DILITHIUM65_POLYZ_PACKEDBYTES
+#define DILITHIUM_POLYW1_PACKEDBYTES	DILITHIUM65_POLYW1_PACKEDBYTES
+#define DILITHIUM_POLYETA_PACKEDBYTES	DILITHIUM65_POLYETA_PACKEDBYTES
+
+#define DILITHIUM_PUBLICKEYBYTES	DILITHIUM65_PUBLICKEYBYTES
+#define DILITHIUM_SECRETKEYBYTES	DILITHIUM65_SECRETKEYBYTES
+#define DILITHIUM_CRYPTO_BYTES		DILITHIUM65_CRYPTO_BYTES
+
+#include "dilithium_ntt.c"
+#include "dilithium_poly.c"
+#include "dilithium_rounding.c"
+#include "dilithium_signature_c.c"
diff --git a/crypto/ml_dsa/dilithium_65.h b/crypto/ml_dsa/dilithium_65.h
new file mode 100644
index 000000000000..faaa11a2b2e6
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_65.h
@@ -0,0 +1,282 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_65_H
+#define DILITHIUM_65_H
+
+/*
+ * Dilithium Security Levels
+ * 2 -> 192 bits of security strength
+ * 3 -> 225 bits of security strength
+ * 5 -> 257 bits of security strength
+ */
+
+/* DILITHIUM_MODE 3 */
+#define DILITHIUM65_NIST_CATEGORY 3
+#define DILITHIUM65_LAMBDA 192
+#define DILITHIUM65_K 6
+#define DILITHIUM65_L 5
+#define DILITHIUM65_ETA 4
+#define DILITHIUM65_TAU 49
+#define DILITHIUM65_BETA 196
+#define DILITHIUM65_GAMMA1 (1 << 19)
+#define DILITHIUM65_GAMMA2 ((DILITHIUM_Q - 1) / 32)
+#define DILITHIUM65_OMEGA 55
+
+#define DILITHIUM65_CTILDE_BYTES (DILITHIUM65_LAMBDA * 2 / 8)
+#define DILITHIUM65_POLYT1_PACKEDBYTES 320
+#define DILITHIUM65_POLYT0_PACKEDBYTES 416
+#define DILITHIUM65_POLYVECH_PACKEDBYTES (DILITHIUM65_OMEGA + DILITHIUM65_K)
+
+#if DILITHIUM65_GAMMA1 == (1 << 17)
+#define DILITHIUM65_POLYZ_PACKEDBYTES 576
+#elif DILITHIUM65_GAMMA1 == (1 << 19)
+#define DILITHIUM65_POLYZ_PACKEDBYTES 640
+#endif
+
+#if DILITHIUM65_GAMMA2 == (DILITHIUM_Q - 1) / 88
+#define DILITHIUM65_POLYW1_PACKEDBYTES 192
+#elif DILITHIUM65_GAMMA2 == (DILITHIUM_Q - 1) / 32
+#define DILITHIUM65_POLYW1_PACKEDBYTES 128
+#endif
+
+#if DILITHIUM65_ETA == 2
+#define DILITHIUM65_POLYETA_PACKEDBYTES 96
+#elif DILITHIUM65_ETA == 4
+#define DILITHIUM65_POLYETA_PACKEDBYTES 128
+#endif
+
+/*
+ * Sizes of the different Dilithium buffer types.
+ *
+ * WARNING: Do not use these defines in your code. If you need the sizes of
+ * the different variable sizes, use sizeof of the different variable structs or
+ * use the different *_size functions documented below to retrieve the data size
+ * of a particular Dilithium component.
+ */
+#define DILITHIUM65_PUBLICKEYBYTES			\
+	(DILITHIUM_SEEDBYTES +				\
+	 DILITHIUM65_K * DILITHIUM65_POLYT1_PACKEDBYTES)
+#define DILITHIUM65_SECRETKEYBYTES			\
+	(2 * DILITHIUM_SEEDBYTES + DILITHIUM_TRBYTES +	\
+	 DILITHIUM65_L * DILITHIUM65_POLYETA_PACKEDBYTES +	\
+	 DILITHIUM65_K * DILITHIUM65_POLYETA_PACKEDBYTES +	\
+	 DILITHIUM65_K * DILITHIUM65_POLYT0_PACKEDBYTES)
+
+#define DILITHIUM65_CRYPTO_BYTES				\
+	(DILITHIUM65_CTILDE_BYTES +			\
+	 DILITHIUM65_L * DILITHIUM65_POLYZ_PACKEDBYTES +	\
+	 DILITHIUM65_POLYVECH_PACKEDBYTES)
+
+#ifndef __ASSEMBLER__
+/*
+ * @brief Dilithium secret key
+ */
+struct dilithium_65_sk {
+	uint8_t sk[DILITHIUM65_SECRETKEYBYTES];
+};
+
+/*
+ * @brief Dilithium public key
+ */
+struct dilithium_65_pk {
+	uint8_t pk[DILITHIUM65_PUBLICKEYBYTES];
+};
+
+/*
+ * @brief Dilithium signature
+ */
+struct dilithium_65_sig {
+	uint8_t sig[DILITHIUM65_CRYPTO_BYTES];
+};
+
+/*
+ * The alignment is based on largest alignment of a polyvecl typedef - this is
+ * the AVX2 definition.
+ */
+#define DILITHIUM_AHAT_ALIGNMENT (32)
+
+/* Size of the AHat matrix for ML-DSA 87 */
+#define DILITHIUM_65_AHAT_SIZE					\
+	(256 * sizeof(int32_t) * DILITHIUM65_K * DILITHIUM65_L)
+
+/*
+ * @brief Zeroize Dilithium context allocated with
+ *	  DILITHIUM_CTX_ON_STACK dilithium_ed25519_alloc
+ *
+ * @param [in] ctx Dilithium context to be zeroized
+ */
+static inline void dilithium_65_ctx_zero(struct dilithium_ctx *ctx)
+{
+	if (!ctx)
+		return;
+	dilithium_hash_clear(ctx);
+	if (ctx->ahat) {
+		memzero_explicit(ctx->ahat, ctx->ahat_size);
+		ctx->ahat_expanded = 0;
+	}
+}
+
+/*
+ * @brief Allocate Dilithium stream context on heap
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_65_ctx_alloc(void);
+
+/*
+ * @brief Allocate Dilithium stream context on heap including additional
+ * parameter relevant for the signature operation.
+ *
+ * \note See \p DILITHIUM_65_CTX_ON_STACK_AHAT for details.
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_65_ctx_alloc_ahat(void);
+
+/*
+ * @brief Zeroize and free Dilithium stream context
+ *
+ * @param [in] ctx Dilithium stream context to be zeroized and freed
+ */
+void dilithium_65_ctx_zero_free(struct dilithium_ctx *ctx);
+
+/*
+ * @brief Return the size of the Dilithium secret key.
+ */
+static inline unsigned int dilithium_65_sk_size(void)
+{
+	return sizeof_field(struct dilithium_65_sk, sk);
+}
+
+/*
+ * @brief Return the size of the Dilithium public key.
+ */
+static inline unsigned int dilithium_65_pk_size(void)
+{
+	return sizeof_field(struct dilithium_65_pk, pk);
+}
+
+/*
+ * @brief Return the size of the Dilithium signature.
+ */
+static inline unsigned int dilithium_65_sig_size(void)
+{
+	return sizeof_field(struct dilithium_65_sig, sig);
+}
+
+/*
+ * @brief Verifies ML-DSA signature in one shot
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_65_verify(const struct dilithium_65_sig *sig, const uint8_t *m,
+			size_t mlen, const struct dilithium_65_pk *pk);
+
+/*
+ * @brief Verifies signature with Dilithium context in one shot
+ *
+ * This API allows the caller to provide an arbitrary context buffer which
+ * is hashed together with the message to form the message digest to be signed.
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] ctx reference to the allocated Dilithium context handle
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_65_verify_ctx(const struct dilithium_65_sig *sig,
+			    struct dilithium_ctx *ctx,
+			    const uint8_t *m, size_t mlen,
+			    const struct dilithium_65_pk *pk);
+
+/*
+ * @brief Initializes a signature verification operation
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_update and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to an allocated Dilithium context
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 (success) or < 0 on error; -EOPNOTSUPP is returned if a different
+ *	   hash than lc_shake256 is used.
+ */
+int dilithium_65_verify_init(struct dilithium_ctx *ctx,
+			     const struct dilithium_65_pk *pk);
+
+/*
+ * @brief Add more data to an already initialized signature state
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_init and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to Dilithium context that was initialized with
+ *			    dilithium_sign_init
+ * @param [in] m pointer to message to be signed
+ * @param [in] mlen length of message
+ *
+ * @return 0 (success) or < 0 on error
+ */
+int dilithium_65_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			       size_t mlen);
+
+/*
+ * @brief Verifies signature
+ *
+ * @param [in] sig pointer to output signature
+ * @param [in] ctx pointer to Dilithium context that was initialized with
+ *			dilithium_sign_init and filled with
+ *			dilithium_sign_update
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_65_verify_final(const struct dilithium_65_sig *sig,
+			      struct dilithium_ctx *ctx,
+			      const struct dilithium_65_pk *pk);
+
+#endif /* __ASSEMBLER__ */
+
+#endif /* DILITHIUM_65_H */
diff --git a/crypto/ml_dsa/dilithium_87.c b/crypto/ml_dsa/dilithium_87.c
new file mode 100644
index 000000000000..fcc3e0229ed9
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_87.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+#define DILITHIUM_TYPE_87
+#include "dilithium.h"
+
+#define DILITHIUM_TYPE			"87"
+#define DILITHIUM_MODE			5
+#define DILITHIUM_NIST_CATEGORY		DILITHIUM87_NIST_CATEGORY
+#define DILITHIUM_LAMBDA		DILITHIUM87_LAMBDA
+#define DILITHIUM_K			DILITHIUM87_K
+#define DILITHIUM_L			DILITHIUM87_L
+#define DILITHIUM_ETA			DILITHIUM87_ETA
+#define DILITHIUM_TAU			DILITHIUM87_TAU
+#define DILITHIUM_BETA			DILITHIUM87_BETA
+#define DILITHIUM_GAMMA1		DILITHIUM87_GAMMA1
+#define DILITHIUM_GAMMA2		DILITHIUM87_GAMMA2
+#define DILITHIUM_OMEGA			DILITHIUM87_OMEGA
+
+#define DILITHIUM_CTILDE_BYTES		DILITHIUM87_CTILDE_BYTES
+#define DILITHIUM_POLYT1_PACKEDBYTES	DILITHIUM87_POLYT1_PACKEDBYTES
+#define DILITHIUM_POLYT0_PACKEDBYTES	DILITHIUM87_POLYT0_PACKEDBYTES
+#define DILITHIUM_POLYVECH_PACKEDBYTES	DILITHIUM87_POLYVECH_PACKEDBYTES
+#define DILITHIUM_POLYZ_PACKEDBYTES	DILITHIUM87_POLYZ_PACKEDBYTES
+#define DILITHIUM_POLYW1_PACKEDBYTES	DILITHIUM87_POLYW1_PACKEDBYTES
+#define DILITHIUM_POLYETA_PACKEDBYTES	DILITHIUM87_POLYETA_PACKEDBYTES
+
+#define DILITHIUM_PUBLICKEYBYTES	DILITHIUM87_PUBLICKEYBYTES
+#define DILITHIUM_SECRETKEYBYTES	DILITHIUM87_SECRETKEYBYTES
+#define DILITHIUM_CRYPTO_BYTES		DILITHIUM87_CRYPTO_BYTES
+
+#include "dilithium_ntt.c"
+#include "dilithium_poly.c"
+#include "dilithium_rounding.c"
+#include "dilithium_signature_c.c"
diff --git a/crypto/ml_dsa/dilithium_87.h b/crypto/ml_dsa/dilithium_87.h
new file mode 100644
index 000000000000..d2de502360a4
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_87.h
@@ -0,0 +1,282 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_87_H
+#define DILITHIUM_87_H
+
+/*
+ * Dilithium Security Levels
+ * 2 -> 192 bits of security strength
+ * 3 -> 225 bits of security strength
+ * 5 -> 257 bits of security strength
+ */
+
+/* DILITHIUM_MODE 5 */
+#define DILITHIUM87_NIST_CATEGORY 5
+#define DILITHIUM87_LAMBDA 256
+#define DILITHIUM87_K 8
+#define DILITHIUM87_L 7
+#define DILITHIUM87_ETA 2
+#define DILITHIUM87_TAU 60
+#define DILITHIUM87_BETA 120
+#define DILITHIUM87_GAMMA1 (1 << 19)
+#define DILITHIUM87_GAMMA2 ((DILITHIUM_Q - 1) / 32)
+#define DILITHIUM87_OMEGA 75
+
+#define DILITHIUM87_CTILDE_BYTES (DILITHIUM87_LAMBDA * 2 / 8)
+#define DILITHIUM87_POLYT1_PACKEDBYTES 320
+#define DILITHIUM87_POLYT0_PACKEDBYTES 416
+#define DILITHIUM87_POLYVECH_PACKEDBYTES (DILITHIUM87_OMEGA + DILITHIUM87_K)
+
+#if DILITHIUM87_GAMMA1 == (1 << 17)
+#define DILITHIUM87_POLYZ_PACKEDBYTES 576
+#elif DILITHIUM87_GAMMA1 == (1 << 19)
+#define DILITHIUM87_POLYZ_PACKEDBYTES 640
+#endif
+
+#if DILITHIUM87_GAMMA2 == (DILITHIUM_Q - 1) / 88
+#define DILITHIUM87_POLYW1_PACKEDBYTES 192
+#elif DILITHIUM87_GAMMA2 == (DILITHIUM_Q - 1) / 32
+#define DILITHIUM87_POLYW1_PACKEDBYTES 128
+#endif
+
+#if DILITHIUM87_ETA == 2
+#define DILITHIUM87_POLYETA_PACKEDBYTES 96
+#elif DILITHIUM87_ETA == 4
+#define DILITHIUM87_POLYETA_PACKEDBYTES 128
+#endif
+
+/*
+ * Sizes of the different Dilithium buffer types.
+ *
+ * WARNING: Do not use these defines in your code. If you need the sizes of
+ * the different variable sizes, use sizeof of the different variable structs or
+ * use the different *_size functions documented below to retrieve the data size
+ * of a particular Dilithium component.
+ */
+#define DILITHIUM87_PUBLICKEYBYTES			\
+	(DILITHIUM_SEEDBYTES +				\
+	 DILITHIUM87_K * DILITHIUM87_POLYT1_PACKEDBYTES)
+#define DILITHIUM87_SECRETKEYBYTES			\
+	(2 * DILITHIUM_SEEDBYTES + DILITHIUM_TRBYTES +	\
+	 DILITHIUM87_L * DILITHIUM87_POLYETA_PACKEDBYTES +	\
+	 DILITHIUM87_K * DILITHIUM87_POLYETA_PACKEDBYTES +	\
+	 DILITHIUM87_K * DILITHIUM87_POLYT0_PACKEDBYTES)
+
+#define DILITHIUM87_CRYPTO_BYTES				\
+	(DILITHIUM87_CTILDE_BYTES +			\
+	 DILITHIUM87_L * DILITHIUM87_POLYZ_PACKEDBYTES +	\
+	 DILITHIUM87_POLYVECH_PACKEDBYTES)
+
+#ifndef __ASSEMBLER__
+/*
+ * @brief Dilithium secret key
+ */
+struct dilithium_87_sk {
+	uint8_t sk[DILITHIUM87_SECRETKEYBYTES];
+};
+
+/*
+ * @brief Dilithium public key
+ */
+struct dilithium_87_pk {
+	uint8_t pk[DILITHIUM87_PUBLICKEYBYTES];
+};
+
+/*
+ * @brief Dilithium signature
+ */
+struct dilithium_87_sig {
+	uint8_t sig[DILITHIUM87_CRYPTO_BYTES];
+};
+
+/*
+ * The alignment is based on largest alignment of a polyvecl typedef - this is
+ * the AVX2 definition.
+ */
+#define DILITHIUM_AHAT_ALIGNMENT (32)
+
+/* Size of the AHat matrix for ML-DSA 87 */
+#define DILITHIUM_87_AHAT_SIZE					\
+	(256 * sizeof(int32_t) * DILITHIUM87_K * DILITHIUM87_L)
+
+/*
+ * @brief Zeroize Dilithium context allocated with
+ *	  DILITHIUM87_CTX_ON_STACK dilithium_ed25519_alloc
+ *
+ * @param [in] ctx Dilithium context to be zeroized
+ */
+static inline void dilithium_87_ctx_zero(struct dilithium_ctx *ctx)
+{
+	if (!ctx)
+		return;
+	dilithium_hash_clear(ctx);
+	if (ctx->ahat) {
+		memzero_explicit(ctx->ahat, ctx->ahat_size);
+		ctx->ahat_expanded = 0;
+	}
+}
+
+/*
+ * @brief Allocate Dilithium stream context on heap
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_87_ctx_alloc(void);
+
+/*
+ * @brief Allocate Dilithium stream context on heap including additional
+ * parameter relevant for the signature operation.
+ *
+ * \note See \p DILITHIUM_87_CTX_ON_STACK_AHAT for details.
+ *
+ * @param [out] ctx Allocated Dilithium stream context
+ *
+ * @return: 0 on success, < 0 on error
+ */
+struct dilithium_ctx *dilithium_87_ctx_alloc_ahat(void);
+
+/*
+ * @brief Zeroize and free Dilithium stream context
+ *
+ * @param [in] ctx Dilithium stream context to be zeroized and freed
+ */
+void dilithium_87_ctx_zero_free(struct dilithium_ctx *ctx);
+
+/*
+ * @brief Return the size of the Dilithium secret key.
+ */
+static inline unsigned int dilithium_87_sk_size(void)
+{
+	return sizeof_field(struct dilithium_87_sk, sk);
+}
+
+/*
+ * @brief Return the size of the Dilithium public key.
+ */
+static inline unsigned int dilithium_87_pk_size(void)
+{
+	return sizeof_field(struct dilithium_87_pk, pk);
+}
+
+/*
+ * @brief Return the size of the Dilithium signature.
+ */
+static inline unsigned int dilithium_87_sig_size(void)
+{
+	return sizeof_field(struct dilithium_87_sig, sig);
+}
+
+/*
+ * @brief Verifies ML-DSA signature in one shot
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_87_verify(const struct dilithium_87_sig *sig, const uint8_t *m,
+			size_t mlen, const struct dilithium_87_pk *pk);
+
+/*
+ * @brief Verifies signature with Dilithium context in one shot
+ *
+ * This API allows the caller to provide an arbitrary context buffer which
+ * is hashed together with the message to form the message digest to be signed.
+ *
+ * @param [in] sig pointer to input signature
+ * @param [in] ctx reference to the allocated Dilithium context handle
+ * @param [in] m pointer to message
+ * @param [in] mlen length of message
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_87_verify_ctx(const struct dilithium_87_sig *sig,
+			    struct dilithium_ctx *ctx,
+			    const uint8_t *m, size_t mlen,
+			    const struct dilithium_87_pk *pk);
+
+/*
+ * @brief Initializes a signature verification operation
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_update and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to an allocated Dilithium context
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 (success) or < 0 on error; -EOPNOTSUPP is returned if a different
+ *	   hash than lc_shake256 is used.
+ */
+int dilithium_87_verify_init(struct dilithium_ctx *ctx,
+			     const struct dilithium_87_pk *pk);
+
+/*
+ * @brief Add more data to an already initialized signature state
+ *
+ * This call is intended to support messages that are located in non-contiguous
+ * places and even becomes available at different times. This call is to be
+ * used together with the dilithium_verify_init and
+ * dilithium_verify_final.
+ *
+ * @param [in,out] ctx pointer to Dilithium context that was initialized with
+ *			    dilithium_sign_init
+ * @param [in] m pointer to message to be signed
+ * @param [in] mlen length of message
+ *
+ * @return 0 (success) or < 0 on error
+ */
+int dilithium_87_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			       size_t mlen);
+
+/*
+ * @brief Verifies signature
+ *
+ * @param [in] sig pointer to output signature
+ * @param [in] ctx pointer to Dilithium context that was initialized with
+ *			dilithium_sign_init and filled with
+ *			dilithium_sign_update
+ * @param [in] pk pointer to bit-packed public key
+ *
+ * @return 0 if signature could be verified correctly and -EBADMSG when
+ * signature cannot be verified, < 0 on other errors
+ */
+int dilithium_87_verify_final(const struct dilithium_87_sig *sig,
+			      struct dilithium_ctx *ctx,
+			      const struct dilithium_87_pk *pk);
+
+#endif /* __ASSEMBLER__ */
+
+#endif /* DILITHIUM_87_H */
diff --git a/crypto/ml_dsa/dilithium_api.c b/crypto/ml_dsa/dilithium_api.c
new file mode 100644
index 000000000000..f9ed6ddbd03f
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_api.c
@@ -0,0 +1,429 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_API_H
+#define DILITHIUM_API_H
+
+#include "dilithium.h"
+
+void dilithium_ctx_zero(struct dilithium_ctx *ctx)
+{
+	if (!ctx)
+		return;
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	dilithium_87_ctx_zero(ctx);
+#elif defined(CONFIG_CRYPTO_DILITHIUM_65)
+	dilithium_65_ctx_zero(ctx);
+#elif defined(CONFIG_CRYPTO_DILITHIUM_44)
+	dilithium_44_ctx_zero(ctx);
+#endif
+}
+
+void dilithium_ctx_internal(struct dilithium_ctx *ctx)
+{
+	if (ctx)
+		ctx->ml_dsa_internal = 1;
+}
+
+void dilithium_ctx_userctx(struct dilithium_ctx *ctx, const uint8_t *userctx,
+			   size_t userctxlen)
+{
+	if (ctx) {
+		ctx->userctx = userctx;
+		ctx->userctxlen = userctxlen;
+	}
+}
+
+void dilithium_ctx_external_mu(struct dilithium_ctx *ctx, const uint8_t *external_mu,
+			       size_t external_mu_len)
+{
+	if (ctx) {
+		ctx->external_mu = external_mu;
+		ctx->external_mu_len = external_mu_len;
+	}
+}
+
+void dilithium_ctx_drop_ahat(struct dilithium_ctx *ctx)
+{
+	if (ctx)
+		ctx->ahat_expanded = 0;
+}
+
+enum dilithium_type dilithium_pk_type(const struct dilithium_pk *pk)
+{
+	if (!pk)
+		return DILITHIUM_UNKNOWN;
+	return pk->dilithium_type;
+}
+
+enum dilithium_type dilithium_sig_type(const struct dilithium_sig *sig)
+{
+	if (!sig)
+		return DILITHIUM_UNKNOWN;
+	return sig->dilithium_type;
+}
+
+unsigned int dilithium_pk_size(enum dilithium_type dilithium_type)
+{
+	switch (dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return sizeof_field(struct dilithium_pk, key.pk_87);
+#else
+		return 0;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return sizeof_field(struct dilithium_pk, key.pk_65);
+#else
+		return 0;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return sizeof_field(struct dilithium_pk, key.pk_44);
+#else
+		return 0;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return 0;
+	}
+}
+
+unsigned int dilithium_sig_size(enum dilithium_type dilithium_type)
+{
+	switch (dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return sizeof_field(struct dilithium_sig, sig.sig_87);
+#else
+		return 0;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return sizeof_field(struct dilithium_sig, sig.sig_65);
+#else
+		return 0;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return sizeof_field(struct dilithium_sig, sig.sig_44);
+#else
+		return 0;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return 0;
+	}
+}
+
+int dilithium_pk_load(struct dilithium_pk *pk,
+		      const uint8_t *src_key, size_t src_key_len)
+{
+	if (!pk || !src_key || src_key_len == 0) {
+		return -EINVAL;
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	} else if (src_key_len == dilithium_pk_size(DILITHIUM_87)) {
+		struct dilithium_87_pk *_pk = &pk->key.pk_87;
+
+		memcpy(_pk->pk, src_key, src_key_len);
+		pk->dilithium_type = DILITHIUM_87;
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	} else if (src_key_len == dilithium_pk_size(DILITHIUM_65)) {
+		struct dilithium_65_pk *_pk = &pk->key.pk_65;
+
+		memcpy(_pk->pk, src_key, src_key_len);
+		pk->dilithium_type = DILITHIUM_65;
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	} else if (src_key_len == dilithium_pk_size(DILITHIUM_44)) {
+		struct dilithium_44_pk *_pk = &pk->key.pk_44;
+
+		memcpy(_pk->pk, src_key, src_key_len);
+		pk->dilithium_type = DILITHIUM_44;
+		return 0;
+#endif
+	} else {
+		return -EINVAL;
+	}
+}
+
+int dilithium_sig_load(struct dilithium_sig *sig,
+		       const uint8_t *src_sig, size_t src_sig_len)
+{
+	if (!sig || !src_sig || src_sig_len == 0) {
+		return -EINVAL;
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	} else if (src_sig_len == dilithium_sig_size(DILITHIUM_87)) {
+		struct dilithium_87_sig *_sig = &sig->sig.sig_87;
+
+		memcpy(_sig->sig, src_sig, src_sig_len);
+		sig->dilithium_type = DILITHIUM_87;
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	} else if (src_sig_len == dilithium_sig_size(DILITHIUM_65)) {
+		struct dilithium_65_sig *_sig = &sig->sig.sig_65;
+
+		memcpy(_sig->sig, src_sig, src_sig_len);
+		sig->dilithium_type = DILITHIUM_65;
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	} else if (src_sig_len == dilithium_sig_size(DILITHIUM_44)) {
+		struct dilithium_44_sig *_sig = &sig->sig.sig_44;
+
+		memcpy(_sig->sig, src_sig, src_sig_len);
+		sig->dilithium_type = DILITHIUM_44;
+		return 0;
+#endif
+	} else {
+		return -EINVAL;
+	}
+}
+
+int dilithium_pk_ptr(uint8_t **dilithium_key,
+		     size_t *dilithium_key_len, struct dilithium_pk *pk)
+{
+	if (!pk || !dilithium_key || !dilithium_key_len) {
+		return -EINVAL;
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	} else if (pk->dilithium_type == DILITHIUM_87) {
+		struct dilithium_87_pk *_pk = &pk->key.pk_87;
+
+		*dilithium_key = _pk->pk;
+		*dilithium_key_len = dilithium_pk_size(pk->dilithium_type);
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	} else if (pk->dilithium_type == DILITHIUM_65) {
+		struct dilithium_65_pk *_pk = &pk->key.pk_65;
+
+		*dilithium_key = _pk->pk;
+		*dilithium_key_len = dilithium_pk_size(pk->dilithium_type);
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	} else if (pk->dilithium_type == DILITHIUM_44) {
+		struct dilithium_44_pk *_pk = &pk->key.pk_44;
+
+		*dilithium_key = _pk->pk;
+		*dilithium_key_len = dilithium_pk_size(pk->dilithium_type);
+		return 0;
+#endif
+	} else {
+		return -EINVAL;
+	}
+}
+
+int dilithium_sig_ptr(uint8_t **dilithium_sig,
+		      size_t *dilithium_sig_len, struct dilithium_sig *sig)
+{
+	if (!sig || !dilithium_sig || !dilithium_sig_len) {
+		return -EINVAL;
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	} else if (sig->dilithium_type == DILITHIUM_87) {
+		struct dilithium_87_sig *_sig = &sig->sig.sig_87;
+
+		*dilithium_sig = _sig->sig;
+		*dilithium_sig_len = dilithium_sig_size(sig->dilithium_type);
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	} else if (sig->dilithium_type == DILITHIUM_65) {
+		struct dilithium_65_sig *_sig = &sig->sig.sig_65;
+
+		*dilithium_sig = _sig->sig;
+		*dilithium_sig_len = dilithium_sig_size(sig->dilithium_type);
+		return 0;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	} else if (sig->dilithium_type == DILITHIUM_44) {
+		struct dilithium_44_sig *_sig = &sig->sig.sig_44;
+
+		*dilithium_sig = _sig->sig;
+		*dilithium_sig_len = dilithium_sig_size(sig->dilithium_type);
+		return 0;
+#endif
+	} else {
+		return -EINVAL;
+	}
+}
+
+int dilithium_verify(const struct dilithium_sig *sig, const uint8_t *m,
+		     size_t mlen, const struct dilithium_pk *pk)
+{
+	if (!pk || !sig || sig->dilithium_type != pk->dilithium_type)
+		return -EINVAL;
+
+	switch (pk->dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return dilithium_87_verify(&sig->sig.sig_87, m, mlen,
+					   &pk->key.pk_87);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return dilithium_65_verify(&sig->sig.sig_65, m, mlen,
+					   &pk->key.pk_65);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return dilithium_44_verify(&sig->sig.sig_44, m, mlen,
+					   &pk->key.pk_44);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return -EOPNOTSUPP;
+	}
+}
+
+int dilithium_verify_ctx(const struct dilithium_sig *sig,
+			 struct dilithium_ctx *ctx, const uint8_t *m,
+			 size_t mlen, const struct dilithium_pk *pk)
+{
+	if (!pk || !sig || sig->dilithium_type != pk->dilithium_type)
+		return -EINVAL;
+
+	switch (pk->dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return dilithium_87_verify_ctx(&sig->sig.sig_87, ctx, m,
+					       mlen, &pk->key.pk_87);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return dilithium_65_verify_ctx(&sig->sig.sig_65, ctx, m,
+					       mlen, &pk->key.pk_65);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return dilithium_44_verify_ctx(&sig->sig.sig_44, ctx, m,
+					       mlen, &pk->key.pk_44);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return -EOPNOTSUPP;
+	}
+}
+
+int dilithium_verify_init(struct dilithium_ctx *ctx,
+			  const struct dilithium_pk *pk)
+{
+	if (!pk)
+		return -EINVAL;
+
+	switch (pk->dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return dilithium_87_verify_init(ctx, &pk->key.pk_87);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return dilithium_65_verify_init(ctx, &pk->key.pk_65);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return dilithium_44_verify_init(ctx, &pk->key.pk_44);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return -EOPNOTSUPP;
+	}
+}
+
+int dilithium_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			    size_t mlen)
+{
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	return dilithium_87_verify_update(ctx, m, mlen);
+#elif defined(CONFIG_CRYPTO_DILITHIUM_65)
+	return dilithium_65_verify_update(ctx, m, mlen);
+#elif defined(CONFIG_CRYPTO_DILITHIUM_44)
+	return dilithium_44_verify_update(ctx, m, mlen);
+#else
+	return -EOPNOTSUPP;
+#endif
+}
+
+int dilithium_verify_final(const struct dilithium_sig *sig,
+			   struct dilithium_ctx *ctx,
+			   const struct dilithium_pk *pk)
+{
+	if (!pk || !sig || sig->dilithium_type != pk->dilithium_type)
+		return -EINVAL;
+
+	switch (pk->dilithium_type) {
+	case DILITHIUM_87:
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+		return dilithium_87_verify_final(&sig->sig.sig_87, ctx,
+						 &pk->key.pk_87);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_65:
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+		return dilithium_65_verify_final(&sig->sig.sig_65, ctx,
+						 &pk->key.pk_65);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_44:
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+		return dilithium_44_verify_final(&sig->sig.sig_44, ctx,
+						 &pk->key.pk_44);
+#else
+		return -EOPNOTSUPP;
+#endif
+	case DILITHIUM_UNKNOWN:
+	default:
+		return -EOPNOTSUPP;
+	}
+}
+
+#endif /* DILITHIUM_API_H */
diff --git a/crypto/ml_dsa/dilithium_debug.h b/crypto/ml_dsa/dilithium_debug.h
new file mode 100644
index 000000000000..599a435633ae
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_debug.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2023 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_DEBUG_H
+#define DILITHIUM_DEBUG_H
+
+#include "dilithium_type.h"
+
+static inline void dilithium_print_buffer(const uint8_t *buffer,
+					  const size_t bufferlen,
+					  const char *explanation)
+{
+}
+
+static inline void dilithium_print_polyvecl_k(polyvecl mat[DILITHIUM_K],
+					      const char *explanation)
+{
+}
+
+static inline void dilithium_print_polyvecl(polyvecl *polyvec,
+					    const char *explanation)
+{
+}
+
+static inline void dilithium_print_polyveck(polyveck *polyvec,
+					    const char *explanation)
+{
+}
+
+static inline void dilithium_print_poly(poly *vec, const char *explanation)
+{
+}
+
+#endif /* DILITHIUM_DEBUG_H */
diff --git a/crypto/ml_dsa/dilithium_ntt.c b/crypto/ml_dsa/dilithium_ntt.c
new file mode 100644
index 000000000000..b2834a2dd501
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_ntt.c
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#include "dilithium_ntt.h"
+#include "dilithium_reduce.h"
+
+/*
+ * @brief ntt - Forward NTT, in-place. No modular reduction is performed after
+ *		additions or subtractions. Output vector is in bitreversed
+ *		order.
+ *
+ * @param [in,out] p input/output coefficient array
+ */
+void ntt(int32_t a[DILITHIUM_N])
+{
+	unsigned int len, start, j, k;
+	int32_t zeta, t;
+
+	k = 0;
+
+	for (len = 128; len > 0; len >>= 1) {
+		for (start = 0; start < DILITHIUM_N; start = j + len) {
+			zeta = dilithium_zetas[++k];
+			for (j = start; j < start + len; ++j) {
+				t = montgomery_reduce((int64_t)zeta *
+						      a[j + len]);
+				a[j + len] = a[j] - t;
+				a[j] = a[j] + t;
+			}
+		}
+	}
+}
+
+/*
+ * @brief invntt_tomont - Inverse NTT and multiplication by Montgomery factor
+ *			  2^32. In-place. No modular reductions after additions
+ *			  or subtractions; input coefficients need to be smaller
+ *			  than Q in absolute value. Output coefficient are
+ *			  smaller than Q in absolute value.
+ *
+ * @param [in,out] p input/output coefficient array
+ */
+void invntt_tomont(int32_t a[DILITHIUM_N])
+{
+	unsigned int start, len, j, k;
+	int32_t t, zeta;
+	const int32_t f = 41978; // mont^2/256
+
+	k = 256;
+
+	for (len = 1; len < DILITHIUM_N; len <<= 1) {
+		for (start = 0; start < DILITHIUM_N; start = j + len) {
+			zeta = -dilithium_zetas[--k];
+			for (j = start; j < start + len; ++j) {
+				t = a[j];
+				a[j] = t + a[j + len];
+				a[j + len] = t - a[j + len];
+				a[j + len] = montgomery_reduce((int64_t)zeta *
+							       a[j + len]);
+			}
+		}
+	}
+
+	for (j = 0; j < DILITHIUM_N; ++j)
+		a[j] = montgomery_reduce((int64_t)f * a[j]);
+}
diff --git a/crypto/ml_dsa/dilithium_ntt.h b/crypto/ml_dsa/dilithium_ntt.h
new file mode 100644
index 000000000000..5dfea3a936cd
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_ntt.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_NTT_H
+#define DILITHIUM_NTT_H
+
+#include "dilithium_type.h"
+
+void ntt(int32_t a[DILITHIUM_N]);
+void invntt_tomont(int32_t a[DILITHIUM_N]);
+
+#endif /* DILITHIUM_NTT_H */
diff --git a/crypto/ml_dsa/dilithium_pack.h b/crypto/ml_dsa/dilithium_pack.h
new file mode 100644
index 000000000000..5db65014b405
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_pack.h
@@ -0,0 +1,119 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_PACK_H
+#define DILITHIUM_PACK_H
+
+/*******************************************************************************
+ * Pack / Unpack public key
+ ******************************************************************************/
+
+static inline void unpack_pk_rho(uint8_t rho[DILITHIUM_SEEDBYTES],
+				 const struct dilithium_pk *pk)
+{
+	memcpy(rho, pk->pk, DILITHIUM_SEEDBYTES);
+}
+
+static inline void unpack_pk_t1(polyveck *t1, const struct dilithium_pk *pk)
+{
+	unsigned int i;
+	const uint8_t *pubkey = pk->pk + DILITHIUM_SEEDBYTES;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		polyt1_unpack(&t1->vec[i],
+			      pubkey + i * DILITHIUM_POLYT1_PACKEDBYTES);
+}
+
+/*
+ * @brief unpack_sig_z - Unpack z part of signature sig = (c, z, h).
+ *
+ * NOTE: The c value is not unpacked as it can be used right from the signature.
+ *	 To access it, a caller simply needs to use the first
+ *	 DILITHIUM_CTILDE_BYTES of the signature.
+ *
+ * @param [out] z pointer to output vector z
+ * @param [in] sig signature
+ */
+static inline void unpack_sig_z(polyvecl *z, const struct dilithium_sig *sig)
+{
+	unsigned int i;
+	/* Skip c */
+	const uint8_t *signature = sig->sig + DILITHIUM_CTILDE_BYTES;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		polyz_unpack(&z->vec[i],
+			     signature + i * DILITHIUM_POLYZ_PACKEDBYTES);
+}
+
+/*
+ * @brief unpack_sig - Unpack h value of signature sig = (c, z, h).
+ *
+ * NOTE: The c value is not unpacked as it can be used right from the signature.
+ *	 To access it, a caller simply needs to use the first
+ *	 DILITHIUM_CTILDE_BYTES of the signature.
+ *
+ * @param [out] h pointer to output hint vector h
+ * @param [in] sig signature
+ *
+ * @return 1 in case of malformed signature; otherwise 0.
+ */
+static inline int unpack_sig_h(polyveck *h, const struct dilithium_sig *sig)
+{
+	unsigned int i, j, k;
+	/* Skip c */
+	const uint8_t *signature =
+		sig->sig + DILITHIUM_CTILDE_BYTES +
+		DILITHIUM_L * DILITHIUM_POLYZ_PACKEDBYTES;
+
+	/* Decode h */
+	k = 0;
+	for (i = 0; i < DILITHIUM_K; ++i) {
+		for (j = 0; j < DILITHIUM_N; ++j)
+			h->vec[i].coeffs[j] = 0;
+
+		if (signature[DILITHIUM_OMEGA + i] < k ||
+		    signature[DILITHIUM_OMEGA + i] > DILITHIUM_OMEGA)
+			return 1;
+
+		for (j = k; j < signature[DILITHIUM_OMEGA + i]; ++j) {
+			/* Coefficients are ordered for strong unforgeability */
+			if (j > k && signature[j] <= signature[j - 1])
+				return 1;
+			h->vec[i].coeffs[signature[j]] = 1;
+		}
+
+		k = signature[DILITHIUM_OMEGA + i];
+	}
+
+	/* Extra indices are zero for strong unforgeability */
+	for (j = k; j < DILITHIUM_OMEGA; ++j)
+		if (signature[j])
+			return 1;
+
+	return 0;
+}
+
+#endif /* DILITHIUM_PACK_H */
diff --git a/crypto/ml_dsa/dilithium_poly.c b/crypto/ml_dsa/dilithium_poly.c
new file mode 100644
index 000000000000..d39f04471d3f
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_poly.c
@@ -0,0 +1,377 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#include "dilithium_poly.h"
+#include "dilithium_poly_common.h"
+#include "dilithium_service_helpers.h"
+
+/*
+ * @brief poly_chknorm - Check infinity norm of polynomial against given bound.
+ *			 Assumes input coefficients were reduced by reduce32().
+ *
+ * @param [in] a pointer to polynomial
+ * @param [in] B norm bound
+ *
+ * @return 0 if norm is strictly smaller than B <= (Q-1)/8 and 1 otherwise.
+ */
+int poly_chknorm(const poly *a, int32_t B)
+{
+	unsigned int i;
+	int32_t t;
+
+	if (B > (DILITHIUM_Q - 1) / 8)
+		return 1;
+
+	/*
+	 * It is ok to leak which coefficient violates the bound since
+	 * the probability for each coefficient *is independent of secret
+	 * data but we must not leak the sign of the centralized representative.
+	 */
+	for (i = 0; i < DILITHIUM_N; ++i) {
+		/* Absolute value */
+		t = a->coeffs[i] >> 31;
+		t = a->coeffs[i] - (t & 2 * a->coeffs[i]);
+
+		if (t >= B)
+			return 1;
+	}
+
+	return 0;
+}
+
+/*
+ * @brief poly_uniform - Sample polynomial with uniformly random coefficients
+ *			 in [0,Q-1] by performing rejection sampling on the
+ *			 output stream of SHAKE128(seed|nonce).
+ *
+ * @param [out] a pointer to output polynomial
+ * @param [in] seed byte array with seed of length DILITHIUM_SEEDBYTES
+ * @param [in] nonce 2-byte nonce
+ */
+void poly_uniform(poly *a, const uint8_t seed[DILITHIUM_SEEDBYTES],
+		  uint16_t nonce, void *ws_buf)
+{
+	struct shake_ctx hash_ctx;
+	unsigned int i, ctr, off;
+	unsigned int buflen = POLY_UNIFORM_NBLOCKS * SHAKE128_BLOCK_SIZE;
+	uint8_t *buf = ws_buf;
+
+	shake128_init(&hash_ctx);
+	shake_update(&hash_ctx, seed, DILITHIUM_SEEDBYTES);
+	shake_update(&hash_ctx, (uint8_t *)&nonce, sizeof(nonce));
+	shake_squeeze(&hash_ctx, buf, buflen);
+
+	ctr = rej_uniform(a->coeffs, DILITHIUM_N, buf, buflen);
+
+	while (ctr < DILITHIUM_N) {
+		off = buflen % 3;
+		for (i = 0; i < off; ++i)
+			buf[i] = buf[buflen - off + i];
+
+		shake_squeeze(&hash_ctx, buf + off, SHAKE128_BLOCK_SIZE);
+		buflen = DILITHIUM_SEEDBYTES + off;
+		ctr += rej_uniform(a->coeffs + ctr, DILITHIUM_N - ctr, buf,
+				   buflen);
+	}
+
+	shake_zeroize_ctx(&hash_ctx);
+}
+
+/*
+ * @brief poly_uniform_gamma1 - Sample polynomial with uniformly random
+ *				coefficients in [-(GAMMA1 - 1), GAMMA1] by
+ *				unpacking output stream of
+ *				SHAKE256(seed|nonce).
+ *
+ * @param [out] a pointer to output polynomial
+ * @param [in] seed: byte array with seed of length DILITHIUM_CRHBYTES
+ * @param nonce 16-bit nonce
+ */
+void poly_uniform_gamma1(poly *a, const uint8_t seed[DILITHIUM_CRHBYTES],
+			 uint16_t nonce, void *ws_buf)
+{
+	struct shake_ctx hash_ctx;
+
+	shake256_init(&hash_ctx);
+	shake_update(&hash_ctx, seed, DILITHIUM_CRHBYTES);
+	shake_update(&hash_ctx, (uint8_t *)&nonce, sizeof(nonce));
+	shake_squeeze(&hash_ctx, ws_buf, POLY_UNIFORM_GAMMA1_BYTES);
+	shake_zeroize_ctx(&hash_ctx);
+
+	polyz_unpack(a, ws_buf);
+}
+
+/*
+ * @brief poly_challenge - Implementation of H. Samples polynomial with TAU
+ *			   nonzero coefficients in {-1,1} using the output
+ *			   stream of SHAKE256(seed).
+ *
+ * @param [out] c pointer to output polynomial
+ * @param [in] mu byte array containing seed of length DILITHIUM_CTILDE_BYTES
+ */
+void poly_challenge(poly *c, const uint8_t seed[DILITHIUM_CTILDE_BYTES],
+		    void *ws_buf)
+{
+	struct shake_ctx hash_ctx;
+	unsigned int i, b, pos;
+	uint64_t signs;
+	uint8_t *buf = ws_buf;
+
+	shake256_init(&hash_ctx);
+	shake_update(&hash_ctx, seed, DILITHIUM_CTILDE_BYTES);
+	shake_squeeze(&hash_ctx, buf, POLY_CHALLENGE_BYTES);
+
+	signs = 0;
+	for (i = 0; i < 8; ++i)
+		signs |= (uint64_t)buf[i] << 8 * i;
+	pos = 8;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		c->coeffs[i] = 0;
+
+	for (i = DILITHIUM_N - DILITHIUM_TAU; i < DILITHIUM_N; ++i) {
+		do {
+			if (pos >= SHAKE256_BLOCK_SIZE) {
+				shake_squeeze(&hash_ctx, buf, POLY_CHALLENGE_BYTES);
+				pos = 0;
+			}
+
+			b = buf[pos++];
+		} while (b > i);
+
+		c->coeffs[i] = c->coeffs[b];
+		c->coeffs[b] = 1 - (int32_t)(2 * (signs & 1));
+		signs >>= 1;
+	}
+
+	shake_zeroize_ctx(&hash_ctx);
+}
+
+/*
+ * @brief polyeta_unpack - Unpack polynomial with coefficients in [-ETA,ETA].
+ *
+ * @param [out] r pointer to output polynomial
+ * @param [in] a byte array with bit-packed polynomial
+ */
+void polyeta_unpack(poly *r, const uint8_t *a)
+{
+	unsigned int i;
+
+#if DILITHIUM_ETA == 2
+	for (i = 0; i < DILITHIUM_N / 8; ++i) {
+		r->coeffs[8 * i + 0] = (a[3 * i + 0] >> 0) & 7;
+		r->coeffs[8 * i + 1] = (a[3 * i + 0] >> 3) & 7;
+		r->coeffs[8 * i + 2] =
+			((a[3 * i + 0] >> 6) | (a[3 * i + 1] << 2)) & 7;
+		r->coeffs[8 * i + 3] = (a[3 * i + 1] >> 1) & 7;
+		r->coeffs[8 * i + 4] = (a[3 * i + 1] >> 4) & 7;
+		r->coeffs[8 * i + 5] =
+			((a[3 * i + 1] >> 7) | (a[3 * i + 2] << 1)) & 7;
+		r->coeffs[8 * i + 6] = (a[3 * i + 2] >> 2) & 7;
+		r->coeffs[8 * i + 7] = (a[3 * i + 2] >> 5) & 7;
+
+		r->coeffs[8 * i + 0] = DILITHIUM_ETA - r->coeffs[8 * i + 0];
+		r->coeffs[8 * i + 1] = DILITHIUM_ETA - r->coeffs[8 * i + 1];
+		r->coeffs[8 * i + 2] = DILITHIUM_ETA - r->coeffs[8 * i + 2];
+		r->coeffs[8 * i + 3] = DILITHIUM_ETA - r->coeffs[8 * i + 3];
+		r->coeffs[8 * i + 4] = DILITHIUM_ETA - r->coeffs[8 * i + 4];
+		r->coeffs[8 * i + 5] = DILITHIUM_ETA - r->coeffs[8 * i + 5];
+		r->coeffs[8 * i + 6] = DILITHIUM_ETA - r->coeffs[8 * i + 6];
+		r->coeffs[8 * i + 7] = DILITHIUM_ETA - r->coeffs[8 * i + 7];
+	}
+#elif DILITHIUM_ETA == 4
+	for (i = 0; i < DILITHIUM_N / 2; ++i) {
+		r->coeffs[2 * i + 0] = a[i] & 0x0F;
+		r->coeffs[2 * i + 1] = a[i] >> 4;
+		r->coeffs[2 * i + 0] = DILITHIUM_ETA - r->coeffs[2 * i + 0];
+		r->coeffs[2 * i + 1] = DILITHIUM_ETA - r->coeffs[2 * i + 1];
+	}
+#else
+#error "Undefined DILITHIUM_ETA"
+#endif
+}
+
+/*
+ * @brief polyt0_unpack - Unpack polynomial t0 with coefficients in
+ *			  ]-2^{D-1}, 2^{D-1}].
+ *
+ * @param [out] r pointer to output polynomial
+ * @param [in] a byte array with bit-packed polynomial
+ */
+void polyt0_unpack(poly *r, const uint8_t *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N / 8; ++i) {
+		r->coeffs[8 * i + 0] = a[13 * i + 0];
+		r->coeffs[8 * i + 0] |= (int32_t)a[13 * i + 1] << 8;
+		r->coeffs[8 * i + 0] &= 0x1FFF;
+
+		r->coeffs[8 * i + 1] = a[13 * i + 1] >> 5;
+		r->coeffs[8 * i + 1] |= (int32_t)a[13 * i + 2] << 3;
+		r->coeffs[8 * i + 1] |= (int32_t)a[13 * i + 3] << 11;
+		r->coeffs[8 * i + 1] &= 0x1FFF;
+
+		r->coeffs[8 * i + 2] = a[13 * i + 3] >> 2;
+		r->coeffs[8 * i + 2] |= (int32_t)a[13 * i + 4] << 6;
+		r->coeffs[8 * i + 2] &= 0x1FFF;
+
+		r->coeffs[8 * i + 3] = a[13 * i + 4] >> 7;
+		r->coeffs[8 * i + 3] |= (int32_t)a[13 * i + 5] << 1;
+		r->coeffs[8 * i + 3] |= (int32_t)a[13 * i + 6] << 9;
+		r->coeffs[8 * i + 3] &= 0x1FFF;
+
+		r->coeffs[8 * i + 4] = a[13 * i + 6] >> 4;
+		r->coeffs[8 * i + 4] |= (int32_t)a[13 * i + 7] << 4;
+		r->coeffs[8 * i + 4] |= (int32_t)a[13 * i + 8] << 12;
+		r->coeffs[8 * i + 4] &= 0x1FFF;
+
+		r->coeffs[8 * i + 5] = a[13 * i + 8] >> 1;
+		r->coeffs[8 * i + 5] |= (int32_t)a[13 * i + 9] << 7;
+		r->coeffs[8 * i + 5] &= 0x1FFF;
+
+		r->coeffs[8 * i + 6] = a[13 * i + 9] >> 6;
+		r->coeffs[8 * i + 6] |= (int32_t)a[13 * i + 10] << 2;
+		r->coeffs[8 * i + 6] |= (int32_t)a[13 * i + 11] << 10;
+		r->coeffs[8 * i + 6] &= 0x1FFF;
+
+		r->coeffs[8 * i + 7] = a[13 * i + 11] >> 3;
+		r->coeffs[8 * i + 7] |= (int32_t)a[13 * i + 12] << 5;
+		r->coeffs[8 * i + 7] &= 0x1FFF;
+
+		r->coeffs[8 * i + 0] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 0];
+		r->coeffs[8 * i + 1] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 1];
+		r->coeffs[8 * i + 2] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 2];
+		r->coeffs[8 * i + 3] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 3];
+		r->coeffs[8 * i + 4] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 4];
+		r->coeffs[8 * i + 5] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 5];
+		r->coeffs[8 * i + 6] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 6];
+		r->coeffs[8 * i + 7] =
+			(1 << (DILITHIUM_D - 1)) - r->coeffs[8 * i + 7];
+	}
+}
+
+/*
+ * @brief polyz_unpack - Unpack polynomial z with coefficients
+ *			 in [-(GAMMA1 - 1), GAMMA1].
+ *
+ * @param [out] r pointer to output polynomial
+ * @param [in] a byte array with bit-packed polynomial
+ */
+void polyz_unpack(poly *r, const uint8_t *a)
+{
+	unsigned int i;
+
+#if DILITHIUM_GAMMA1 == (1 << 17)
+	for (i = 0; i < DILITHIUM_N / 4; ++i) {
+		r->coeffs[4 * i + 0] = a[9 * i + 0];
+		r->coeffs[4 * i + 0] |= (int32_t)a[9 * i + 1] << 8;
+		r->coeffs[4 * i + 0] |= (int32_t)a[9 * i + 2] << 16;
+		r->coeffs[4 * i + 0] &= 0x3FFFF;
+
+		r->coeffs[4 * i + 1] = a[9 * i + 2] >> 2;
+		r->coeffs[4 * i + 1] |= (int32_t)a[9 * i + 3] << 6;
+		r->coeffs[4 * i + 1] |= (int32_t)a[9 * i + 4] << 14;
+		r->coeffs[4 * i + 1] &= 0x3FFFF;
+
+		r->coeffs[4 * i + 2] = a[9 * i + 4] >> 4;
+		r->coeffs[4 * i + 2] |= (int32_t)a[9 * i + 5] << 4;
+		r->coeffs[4 * i + 2] |= (int32_t)a[9 * i + 6] << 12;
+		r->coeffs[4 * i + 2] &= 0x3FFFF;
+
+		r->coeffs[4 * i + 3] = a[9 * i + 6] >> 6;
+		r->coeffs[4 * i + 3] |= (int32_t)a[9 * i + 7] << 2;
+		r->coeffs[4 * i + 3] |= (int32_t)a[9 * i + 8] << 10;
+		r->coeffs[4 * i + 3] &= 0x3FFFF;
+
+		r->coeffs[4 * i + 0] =
+			DILITHIUM_GAMMA1 - r->coeffs[4 * i + 0];
+		r->coeffs[4 * i + 1] =
+			DILITHIUM_GAMMA1 - r->coeffs[4 * i + 1];
+		r->coeffs[4 * i + 2] =
+			DILITHIUM_GAMMA1 - r->coeffs[4 * i + 2];
+		r->coeffs[4 * i + 3] =
+			DILITHIUM_GAMMA1 - r->coeffs[4 * i + 3];
+	}
+#elif DILITHIUM_GAMMA1 == (1 << 19)
+	for (i = 0; i < DILITHIUM_N / 2; ++i) {
+		r->coeffs[2 * i + 0] = a[5 * i + 0];
+		r->coeffs[2 * i + 0] |= (int32_t)a[5 * i + 1] << 8;
+		r->coeffs[2 * i + 0] |= (int32_t)a[5 * i + 2] << 16;
+		r->coeffs[2 * i + 0] &= 0xFFFFF;
+
+		r->coeffs[2 * i + 1] = a[5 * i + 2] >> 4;
+		r->coeffs[2 * i + 1] |= (int32_t)a[5 * i + 3] << 4;
+		r->coeffs[2 * i + 1] |= (int32_t)a[5 * i + 4] << 12;
+		r->coeffs[2 * i + 1] &= 0xFFFFF;
+
+		r->coeffs[2 * i + 0] =
+			DILITHIUM_GAMMA1 - r->coeffs[2 * i + 0];
+		r->coeffs[2 * i + 1] =
+			DILITHIUM_GAMMA1 - r->coeffs[2 * i + 1];
+	}
+#else
+#error "Undefined Gamma"
+#endif
+}
+
+/*
+ * @brief polyw1_pack - Bit-pack polynomial w1 with coefficients in [0,15] or
+ *			[0,43]. Input coefficients are assumed to be standard
+ *			representatives.
+ *
+ * @param [out] r pointer to output byte array with at least
+ *		  DILITHIUM_POLYW1_PACKEDBYTES bytes
+ * @param [in] a pointer to input polynomial
+ */
+void polyw1_pack(uint8_t *r, const poly *a)
+{
+	unsigned int i;
+
+#if DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 88
+	for (i = 0; i < DILITHIUM_N / 4; ++i) {
+		r[3 * i + 0] = (uint8_t)(a->coeffs[4 * i + 0]);
+		r[3 * i + 0] |= (uint8_t)(a->coeffs[4 * i + 1] << 6);
+		r[3 * i + 1] = (uint8_t)(a->coeffs[4 * i + 1] >> 2);
+		r[3 * i + 1] |= (uint8_t)(a->coeffs[4 * i + 2] << 4);
+		r[3 * i + 2] = (uint8_t)(a->coeffs[4 * i + 2] >> 4);
+		r[3 * i + 2] |= (uint8_t)(a->coeffs[4 * i + 3] << 2);
+	}
+#elif DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 32
+	for (i = 0; i < DILITHIUM_N / 2; ++i)
+		r[i] = (uint8_t)(a->coeffs[2 * i + 0] |
+				 (a->coeffs[2 * i + 1] << 4));
+#else
+#error "Undefined Gamma"
+#endif
+}
diff --git a/crypto/ml_dsa/dilithium_poly.h b/crypto/ml_dsa/dilithium_poly.h
new file mode 100644
index 000000000000..9528b9fd4519
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_poly.h
@@ -0,0 +1,181 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_POLY_H
+#define DILITHIUM_POLY_H
+
+#include "dilithium_type.h"
+#include "dilithium_reduce.h"
+
+typedef struct {
+	int32_t coeffs[DILITHIUM_N];
+} poly;
+
+/*
+ * @brief poly_add - Add polynomials. No modular reduction is performed.
+ *
+ * @param [out] c pointer to output polynomial
+ * @param [in] a pointer to first summand
+ * @param [in] b pointer to second summand
+ */
+static inline void poly_add(poly *c, const poly *a, const poly *b)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		c->coeffs[i] = a->coeffs[i] + b->coeffs[i];
+}
+
+/*
+ * @brief poly_sub - Subtract polynomials. No modular reduction is
+ *		     performed.
+ *
+ * @param [out] c pointer to output polynomial
+ * @param [in] a pointer to first input polynomial
+ * @param [in] b pointer to second input polynomial to be subtraced from first
+ *		 input polynomial
+ */
+static inline void poly_sub(poly *c, const poly *a, const poly *b)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		c->coeffs[i] = a->coeffs[i] - b->coeffs[i];
+}
+
+/*
+ * @brief poly_shiftl - Multiply polynomial by 2^D without modular reduction.
+ *			Assumes input coefficients to be less than 2^{31-D} in
+ *			absolute value.
+ *
+ * @param [in,out] a pointer to input/output polynomial
+ */
+static inline void poly_shiftl(poly *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		a->coeffs[i] <<= DILITHIUM_D;
+}
+
+/*
+ * @brief poly_decompose - For all coefficients c of the input polynomial,
+ *			   compute high and low bits c0, c1 such
+ *			   c mod Q = c1*ALPHA + c0 with
+ *			   -ALPHA/2 < c0 <= ALPHA/2 except c1 = (Q-1)/ALPHA
+ *			   where we set c1 = 0 and
+ *			   -ALPHA/2 <= c0 = c mod Q - Q < 0.
+ *			   Assumes coefficients to be standard representatives.
+ *
+ * @param [out] a1 pointer to output polynomial with coefficients c1
+ * @param [out] a0 pointer to output polynomial with coefficients c0
+ * @param [in] a pointer to input polynomial
+ */
+static inline void poly_decompose(poly *a1, poly *a0, const poly *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		a1->coeffs[i] = decompose(&a0->coeffs[i], a->coeffs[i]);
+}
+
+/*
+ * @brief poly_make_hint - Compute hint polynomial. The coefficients of which
+ *			   indicate whether the low bits of the corresponding
+ *			   coefficient of the input polynomial overflow into the
+ *			   high bits.
+ *
+ * @param [out] h pointer to output hint polynomial
+ * @param [in] a0 pointer to low part of input polynomial
+ * @param [in] a1 pointer to high part of input polynomial
+ *
+ * @return number of 1 bits.
+ */
+static inline unsigned int poly_make_hint(poly *h, const poly *a0,
+					  const poly *a1)
+{
+	unsigned int i, s = 0;
+
+	for (i = 0; i < DILITHIUM_N; ++i) {
+		h->coeffs[i] = make_hint(a0->coeffs[i], a1->coeffs[i]);
+		s += (unsigned int)h->coeffs[i];
+	}
+
+	return s;
+}
+
+/*
+ * @brief poly_use_hint - Use hint polynomial to correct the high bits of a
+ *			  polynomial.
+ *
+ * @param [out] b pointer to output polynomial with corrected high bits
+ * @param [in] a pointer to input polynomial
+ * @param [in] h pointer to input hint polynomial
+ */
+static inline void poly_use_hint(poly *b, const poly *a, const poly *h)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		b->coeffs[i] = use_hint(a->coeffs[i], h->coeffs[i]);
+}
+
+int poly_chknorm(const poly *a, int32_t B);
+
+#define POLY_UNIFORM_NBLOCKS                                                   \
+	((768 + SHAKE128_BLOCK_SIZE - 1) / SHAKE128_BLOCK_SIZE)
+void poly_uniform(poly *a, const uint8_t seed[DILITHIUM_SEEDBYTES],
+		  uint16_t nonce, void *ws_buf);
+
+#if DILITHIUM_ETA == 2
+#define POLY_UNIFORM_ETA_NBLOCKS                                               \
+	((136 + SHAKE256_BLOCK_SIZE - 1) / SHAKE256_BLOCK_SIZE)
+#elif DILITHIUM_ETA == 4
+#define POLY_UNIFORM_ETA_NBLOCKS                                               \
+	((227 + SHAKE256_BLOCK_SIZE - 1) / SHAKE256_BLOCK_SIZE)
+#else
+#error "Undefined DILITHIUM_ETA"
+#endif
+#define POLY_UNIFORM_ETA_BYTES POLY_UNIFORM_ETA_NBLOCKS *SHAKE256_BLOCK_SIZE
+#define POLY_UNIFORM_GAMMA1_NBLOCKS                                            \
+	((DILITHIUM_POLYZ_PACKEDBYTES + SHAKE256_BLOCK_SIZE - 1) /      \
+	 SHAKE256_BLOCK_SIZE)
+#define POLY_UNIFORM_GAMMA1_BYTES                                              \
+	POLY_UNIFORM_GAMMA1_NBLOCKS *SHAKE256_BLOCK_SIZE
+
+#define POLY_CHALLENGE_BYTES SHAKE256_BLOCK_SIZE
+void poly_challenge(poly *c, const uint8_t seed[DILITHIUM_CTILDE_BYTES],
+		    void *ws_buf);
+
+void polyeta_unpack(poly *r, const uint8_t *a);
+
+void polyt0_unpack(poly *r, const uint8_t *a);
+
+void polyz_unpack(poly *r, const uint8_t *a);
+
+void polyw1_pack(uint8_t *r, const poly *a);
+
+#endif /* DILITHIUM_POLY_H */
diff --git a/crypto/ml_dsa/dilithium_poly_c.h b/crypto/ml_dsa/dilithium_poly_c.h
new file mode 100644
index 000000000000..5e9bb27a854a
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_poly_c.h
@@ -0,0 +1,141 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2023 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_POLY_C_H
+#define DILITHIUM_POLY_C_H
+
+#include "dilithium_ntt.h"
+
+/*
+ * @brief poly_reduce - Inplace reduction of all coefficients of polynomial to
+ *			representative in [-6283009,6283007].
+ *
+ * @param [in,out] a pointer to input/output polynomial
+ */
+static inline void poly_reduce(poly *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		a->coeffs[i] = reduce32(a->coeffs[i]);
+}
+
+/*
+ * @brief poly_caddq - For all coefficients of in/out polynomial add Q if
+ *		       coefficient is negative.
+ *
+ * @param [in,out] a pointer to input/output polynomial
+ */
+static inline void poly_caddq(poly *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		a->coeffs[i] = caddq(a->coeffs[i]);
+}
+
+/*
+ * @brief poly_pointwise_montgomery - Pointwise multiplication of polynomials in
+ *				      NTT domain representation and
+ *				      multiplication of resulting polynomial
+ *				      by 2^{-32}.
+ *
+ * @param [out] c pointer to output polynomial
+ * @param [in] a pointer to first input polynomial
+ * @param [in] b pointer to second input polynomial
+ */
+static inline void poly_pointwise_montgomery(poly *c, const poly *a,
+					     const poly *b)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		c->coeffs[i] =
+			montgomery_reduce((int64_t)a->coeffs[i] * b->coeffs[i]);
+}
+
+/*
+ * @brief poly_power2round - For all coefficients c of the input polynomial,
+ *			     compute c0, c1 such that c mod Q = c1*2^D + c0
+ *			     with -2^{D-1} < c0 <= 2^{D-1}. Assumes coefficients
+ *			     to be standard representatives.
+ *
+ * @param [out] a1 pointer to output polynomial with coefficients c1
+ * @param [out] a0 pointer to output polynomial with coefficients c0
+ * @param [in] a pointer to input polynomial
+ */
+static inline void poly_power2round(poly *a1, poly *a0, const poly *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N; ++i)
+		a1->coeffs[i] = power2round(&a0->coeffs[i], a->coeffs[i]);
+}
+
+/*
+ * @brief polyt1_unpack - Unpack polynomial t1 with 10-bit coefficients.
+ *			  Output coefficients are standard representatives.
+ *
+ * @param [out] r pointer to output polynomial
+ * @param [in] a byte array with bit-packed polynomial
+ */
+static inline void polyt1_unpack(poly *r, const uint8_t *a)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_N / 4; ++i) {
+		r->coeffs[4 * i + 0] =
+			((a[5 * i + 0] >> 0) | ((uint32_t)a[5 * i + 1] << 8)) &
+			0x3FF;
+		r->coeffs[4 * i + 1] =
+			((a[5 * i + 1] >> 2) | ((uint32_t)a[5 * i + 2] << 6)) &
+			0x3FF;
+		r->coeffs[4 * i + 2] =
+			((a[5 * i + 2] >> 4) | ((uint32_t)a[5 * i + 3] << 4)) &
+			0x3FF;
+		r->coeffs[4 * i + 3] =
+			((a[5 * i + 3] >> 6) | ((uint32_t)a[5 * i + 4] << 2)) &
+			0x3FF;
+	}
+}
+
+/*
+ * @brief poly_ntt - Inplace forward NTT. Coefficients can grow by
+ *		     8*Q in absolute value.
+ *
+ * @param [in,out] a pointer to input/output polynomial
+ */
+static inline void poly_ntt(poly *a)
+{
+	ntt(a->coeffs);
+}
+
+/*
+ * @brief poly_invntt_tomont - Inplace inverse NTT and multiplication by 2^{32}.
+ *			       Input coefficients need to be less than Q in
+ *			       absolute value and output coefficients are again
+ *			       bounded by Q.
+ *
+ * @param [in,out] a pointer to input/output polynomial
+ */
+static inline void poly_invntt_tomont(poly *a)
+{
+	invntt_tomont(a->coeffs);
+}
+
+#endif /* DILITHIUM_POLY_C_H */
diff --git a/crypto/ml_dsa/dilithium_poly_common.h b/crypto/ml_dsa/dilithium_poly_common.h
new file mode 100644
index 000000000000..7c7cef28b545
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_poly_common.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_POLY_COMMON_H
+#define DILITHIUM_POLY_COMMON_H
+
+#include "dilithium_type.h"
+
+void poly_uniform_gamma1(poly *a, const uint8_t seed[DILITHIUM_CRHBYTES],
+			 uint16_t nonce, void *ws_buf);
+
+#endif /* DILITHIUM_POLY_COMMON_H */
diff --git a/crypto/ml_dsa/dilithium_polyvec.h b/crypto/ml_dsa/dilithium_polyvec.h
new file mode 100644
index 000000000000..47eb60758850
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_polyvec.h
@@ -0,0 +1,343 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_POLYVEC_H
+#define DILITHIUM_POLYVEC_H
+
+#include "dilithium_type.h"
+#include "dilithium_poly.h"
+
+typedef struct {
+	poly vec[DILITHIUM_L];
+} polyvecl;
+
+/* Vectors of polynomials of length K */
+typedef struct {
+	poly vec[DILITHIUM_K];
+} polyveck;
+
+/**************************************************************/
+/************ Vectors of polynomials of length L **************/
+/**************************************************************/
+
+static inline void polyvecl_reduce(polyvecl *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		poly_reduce(&v->vec[i]);
+}
+
+/*
+ * @brief polyvecl_add - Add vectors of polynomials of length L.
+ *			 No modular reduction is performed.
+ *
+ * @param [out] w pointer to output vector
+ * @param [in] u pointer to first summand
+ * @param [in] v pointer to second summand
+ */
+static inline void polyvecl_add(polyvecl *w, const polyvecl *u,
+				const polyvecl *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		poly_add(&w->vec[i], &u->vec[i], &v->vec[i]);
+}
+
+/*
+ * @brief polyvecl_ntt - Forward NTT of all polynomials in vector of length L.
+ *			 Output coefficients can be up to 16*Q larger than input
+ *			 coefficients.
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyvecl_ntt(polyvecl *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		poly_ntt(&v->vec[i]);
+}
+
+static inline void polyvecl_invntt_tomont(polyvecl *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		poly_invntt_tomont(&v->vec[i]);
+}
+
+static inline void polyvecl_pointwise_poly_montgomery(polyvecl *r,
+						      const poly *a,
+						      const polyvecl *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		poly_pointwise_montgomery(&r->vec[i], a, &v->vec[i]);
+}
+
+/*
+ * @brief polyvecl_chknorm - Check infinity norm of polynomials in vector of
+ *			     length L. Assumes input polyvecl to be reduced by
+ *			     polyvecl_reduce().
+ *
+ * @param [in] v pointer to vector
+ * @param [in] bound norm bound
+ *
+ * @return 0 if norm of all polynomials is strictly smaller than B <= (Q-1)/8
+ * and 1 otherwise.
+ */
+static inline int polyvecl_chknorm(const polyvecl *v, int32_t bound)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_L; ++i)
+		if (poly_chknorm(&v->vec[i], bound))
+			return 1;
+
+	return 0;
+}
+
+/**************************************************************/
+/************ Vectors of polynomials of length K **************/
+/**************************************************************/
+
+/*
+ * @brief polyveck_reduce - Reduce coefficients of polynomials in vector of
+ *			    length DILITHIUM_K to representatives in
+ *			    [-6283009,6283007].
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyveck_reduce(polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_reduce(&v->vec[i]);
+}
+
+/*
+ * @brief polyveck_caddq - For all coefficients of polynomials in vector of
+ * 			   length DILITHIUM_K add DILITHIUM_Q if
+ *			   coefficient is negative.
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyveck_caddq(polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_caddq(&v->vec[i]);
+}
+
+/*
+ * @brief polyveck_add - Add vectors of polynomials of length DILITHIUM_K.
+ *			 No modular reduction is performed.
+ *
+ * @param [out] w pointer to output vector
+ * @param [in] u pointer to first summand
+ * @param [in] v pointer to second summand
+ */
+static inline void polyveck_add(polyveck *w, const polyveck *u,
+				const polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_add(&w->vec[i], &u->vec[i], &v->vec[i]);
+}
+
+/*
+ * @brief olyveck_sub - Subtract vectors of polynomials of length
+ *			DILITHIUM_K. No modular reduction is performed.
+ *
+ * @param [out] w pointer to output vector
+ * @param [in] u pointer to first input vector
+ * @param [in] v pointer to second input vector to be subtracted from first
+ *		 input vector
+ */
+static inline void polyveck_sub(polyveck *w, const polyveck *u,
+				const polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_sub(&w->vec[i], &u->vec[i], &v->vec[i]);
+}
+
+/*
+ * @brief polyveck_shiftl - Multiply vector of polynomials of Length K by
+ *			    2^D without modular reduction. Assumes input
+ *			    coefficients to be less than 2^{31-D}.
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyveck_shiftl(polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_shiftl(&v->vec[i]);
+}
+
+/*
+ * @brief polyveck_ntt - Forward NTT of all polynomials in vector of length K.
+ *			 Output coefficients can be up to 16*Q larger than input
+ *			 coefficients.
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyveck_ntt(polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_ntt(&v->vec[i]);
+}
+
+/*
+ * @brief polyveck_invntt_tomont - Inverse NTT and multiplication by 2^{32} of
+ *				   polynomials in vector of length K. Input
+ *				   coefficients need to be less than 2*Q.
+ *
+ * @param [in,out] v pointer to input/output vector
+ */
+static inline void polyveck_invntt_tomont(polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_invntt_tomont(&v->vec[i]);
+}
+
+static inline void polyveck_pointwise_poly_montgomery(polyveck *r,
+						      const poly *a,
+						      const polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_pointwise_montgomery(&r->vec[i], a, &v->vec[i]);
+}
+
+/*
+ * @brief polyveck_chknorm - Check infinity norm of polynomials in vector of
+ *			     length K. Assumes input polyveck to be reduced by
+ *			     polyveck_reduce().
+ *
+ * @param [in] v pointer to vector
+ * @param [in] bound norm bound
+ *
+ * @return 0 if norm of all polynomials are strictly smaller than B <= (Q-1)/8
+ * and 1 otherwise.
+ */
+static inline int polyveck_chknorm(const polyveck *v, int32_t bound)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		if (poly_chknorm(&v->vec[i], bound))
+			return 1;
+
+	return 0;
+}
+
+/*
+ * @brief polyveck_decompose - For all coefficients a of polynomials in vector
+ *			       of length K, compute high and low bits a0, a1
+ *			       such a mod^+ Q = a1*ALPHA + a0 with
+ *			       -ALPHA/2 < a0 <= ALPHA/2 except a1 = (Q-1)/ALPHA
+ *			       where we set a1 = 0 and
+ *			       -ALPHA/2 <= a0 = a mod Q - Q < 0. Assumes
+ *			       coefficients to be standard representatives.
+ *
+ * @param [out] v1 pointer to output vector of polynomials with coefficients a1
+ * @param [in] v0 pointer to output vector of polynomials with coefficients a0
+ * @param [in] v pointer to input vector
+ */
+static inline void polyveck_decompose(polyveck *v1, polyveck *v0,
+				      const polyveck *v)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_decompose(&v1->vec[i], &v0->vec[i], &v->vec[i]);
+}
+
+/*
+ * @brief polyveck_make_hint - Compute hint vector.
+ *
+ * @param [out] h pointer to output vector
+ * @param [in] v0 pointer to low part of input vector
+ * @param [in] v1 pointer to high part of input vector
+ *
+ * @return number of 1 bits.
+ */
+static inline unsigned int polyveck_make_hint(polyveck *h, const polyveck *v0,
+					      const polyveck *v1)
+{
+	unsigned int i, s = 0;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		s += poly_make_hint(&h->vec[i], &v0->vec[i], &v1->vec[i]);
+
+	return s;
+}
+
+/*
+ * @brief polyveck_use_hint - Use hint vector to correct the high bits of input
+ *			      vector.
+ *
+ * @param [out] w pointer to output vector of polynomials with corrected high
+ *		  bits
+ * @param [in] u pointer to input vector
+ * @param [in] h pointer to input hint vector
+ */
+static inline void polyveck_use_hint(polyveck *w, const polyveck *u,
+				     const polyveck *h)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		poly_use_hint(&w->vec[i], &u->vec[i], &h->vec[i]);
+}
+
+static inline void
+polyveck_pack_w1(uint8_t r[DILITHIUM_K * DILITHIUM_POLYW1_PACKEDBYTES],
+		 const polyveck *w1)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		polyw1_pack(&r[i * DILITHIUM_POLYW1_PACKEDBYTES],
+			    &w1->vec[i]);
+}
+
+#endif /* DILITHIUM_POLYVEC_H */
diff --git a/crypto/ml_dsa/dilithium_polyvec_c.h b/crypto/ml_dsa/dilithium_polyvec_c.h
new file mode 100644
index 000000000000..29e6dc3880dc
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_polyvec_c.h
@@ -0,0 +1,81 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2023 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_POLYVEC_C_H
+#define DILITHIUM_POLYVEC_C_H
+
+/*
+ * @brief expand_mat - Implementation of ExpandA. Generates matrix A with
+ *		       uniformly random coefficients a_{i,j} by performing
+ *		       rejection sampling on the output stream of
+ *		       SHAKE128(rho|j|i).
+ *
+ * @param [out] mat output matrix
+ * @param [in] rho byte array containing seed rho
+ */
+static inline void
+polyvec_matrix_expand(polyvecl mat[DILITHIUM_K],
+		      const uint8_t rho[DILITHIUM_SEEDBYTES], void *ws_buf)
+{
+	unsigned int i, j;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		for (j = 0; j < DILITHIUM_L; ++j)
+			poly_uniform(
+				&mat[i].vec[j], rho,
+				cpu_to_le16((uint16_t)(i << 8) + (uint16_t)j),
+				ws_buf);
+}
+
+/*
+ * @brief polyvecl_pointwise_acc_montgomery -
+ *	  Pointwise multiply vectors of polynomials of length L, multiply
+ *	  resulting vector by 2^{-32} and add (accumulate) polynomials
+ *	  in it. Input/output vectors are in NTT domain representation.
+ *
+ * @param [out] w output polynomial
+ * @param [in] u pointer to first input vector
+ * @param [in] v pointer to second input vector
+ */
+static inline void polyvecl_pointwise_acc_montgomery(poly *w, const polyvecl *u,
+						     const polyvecl *v,
+						     void *ws_buf)
+{
+	unsigned int i;
+	poly *t = ws_buf;
+
+	poly_pointwise_montgomery(w, &u->vec[0], &v->vec[0]);
+	for (i = 1; i < DILITHIUM_L; ++i) {
+		poly_pointwise_montgomery(t, &u->vec[i], &v->vec[i]);
+		poly_add(w, w, t);
+	}
+}
+
+static inline void
+polyvec_matrix_pointwise_montgomery(polyveck *t,
+				    const polyvecl mat[DILITHIUM_K],
+				    const polyvecl *v, void *ws_buf)
+{
+	unsigned int i;
+
+	for (i = 0; i < DILITHIUM_K; ++i)
+		polyvecl_pointwise_acc_montgomery(&t->vec[i], &mat[i], v,
+						  ws_buf);
+}
+
+#endif /* DILITHIUM_POLYVEC_C_H */
diff --git a/crypto/ml_dsa/dilithium_reduce.h b/crypto/ml_dsa/dilithium_reduce.h
new file mode 100644
index 000000000000..96f637c5d6cb
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_reduce.h
@@ -0,0 +1,85 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_REDUCE_H
+#define DILITHIUM_REDUCE_H
+
+#include "dilithium_type.h"
+
+#define MONT -4186625 // 2^32 % Q
+#define QINV 58728449 // q^(-1) mod 2^32
+
+/*
+ * @brief montgomery_reduce - For finite field element a with
+ *			     -2^{31}Q <= a <= Q*2^31,
+ *			     compute r \equiv a*2^{-32} (mod Q) such that
+ *			     -Q < r < Q.
+ *
+ * @param [in] a finite field element
+ *
+ * @return r
+ */
+static inline int32_t montgomery_reduce(int64_t a)
+{
+	int32_t t;
+
+	t = (int32_t)a * QINV;
+	t = (int32_t)((a - (int64_t)t * DILITHIUM_Q) >> 32);
+	return t;
+}
+
+/*
+ * @brief reduce32 - For finite field element a with a <= 2^{31} - 2^{22} - 1,
+ *		     compute r \equiv a (mod Q) such that
+ *		     -6283009 <= r <= 6283007.
+ *
+ * @param [in] a finite field element
+ *
+ * @return r
+ */
+static inline int32_t reduce32(int32_t a)
+{
+	int32_t t;
+
+	t = (a + (1 << 22)) >> 23;
+	t = a - t * DILITHIUM_Q;
+	return t;
+}
+
+/*
+ * @brief caddq - Add Q if input coefficient is negative.
+ *
+ * @param [in] a finite field element
+ *
+ * @return r
+ */
+static inline int32_t caddq(int32_t a)
+{
+	a += (a >> 31) & DILITHIUM_Q;
+	return a;
+}
+
+#endif /* DILITHIUM_REDUCE_H */
diff --git a/crypto/ml_dsa/dilithium_rounding.c b/crypto/ml_dsa/dilithium_rounding.c
new file mode 100644
index 000000000000..bead365e4ea8
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_rounding.c
@@ -0,0 +1,128 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#include "dilithium.h"
+
+/*
+ * @brief power2round - For finite field element a, compute a0, a1 such that
+ *			a mod^+ Q = a1*2^D + a0 with -2^{D-1} < a0 <= 2^{D-1}.
+ *			Assumes a to be standard representative.
+ *
+ * @param [in] a input element
+ * @param [out] a0 pointer to output element a0
+ *
+ * @return a1.
+ */
+int32_t power2round(int32_t *a0, int32_t a)
+{
+	int32_t a1;
+
+	a1 = (a + (1 << (DILITHIUM_D - 1)) - 1) >> DILITHIUM_D;
+	*a0 = a - (a1 << DILITHIUM_D);
+	return a1;
+}
+
+/*
+ * @brief decompose - For finite field element a, compute high and low bits a0,
+ *		      a1 such that a mod^+ Q = a1*ALPHA + a0 with
+ *		      -ALPHA/2 < a0 <= ALPHA/2 except if a1 = (Q-1)/ALPHA where
+ *		      we set a1 = 0 and -ALPHA/2 <= a0 = a mod^+ Q - Q < 0.
+ *		      Assumes a to be standard representative.
+ *
+ * @param [in] a input element
+ * @param [out] a0 pointer to output element a0
+ *
+ * @return a1.
+ */
+int32_t decompose(int32_t *a0, int32_t a)
+{
+	int32_t a1;
+
+	a1 = (a + 127) >> 7;
+#if DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 32
+	a1 = (a1 * 1025 + (1 << 21)) >> 22;
+	a1 &= 15;
+#elif DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 88
+	a1 = (a1 * 11275 + (1 << 23)) >> 24;
+	a1 ^= ((43 - a1) >> 31) & a1;
+#else
+#error "Uknown GAMMA2"
+#endif
+
+	*a0 = a - a1 * 2 * DILITHIUM_GAMMA2;
+	*a0 -= (((DILITHIUM_Q - 1) / 2 - *a0) >> 31) & DILITHIUM_Q;
+
+	return a1;
+}
+
+/*
+ * @brief make_hint - Compute hint bit indicating whether the low bits of the
+ *		      input element overflow into the high bits.
+ *
+ * @param  a0 [in] low bits of input element
+ * @param  a1 [in] high bits of input element
+ *
+ * @return 1 if overflow.
+ */
+int32_t make_hint(int32_t a0, int32_t a1)
+{
+	if (a0 > DILITHIUM_GAMMA2 || a0 < -DILITHIUM_GAMMA2 ||
+	    (a0 == -DILITHIUM_GAMMA2 && a1 != 0))
+		return 1;
+
+	return 0;
+}
+
+/*
+ * @brief use_hint - Correct high bits according to hint.
+ *
+ * @param [in] a input element
+ * @param [in] hint hint bit
+ *
+ * @return corrected high bits.
+ */
+int32_t use_hint(int32_t a, int32_t hint)
+{
+	int32_t a0, a1;
+
+	a1 = decompose(&a0, a);
+	if (hint == 0)
+		return a1;
+
+#if DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 32
+	if (a0 > 0)
+		return (a1 + 1) & 15;
+	else
+		return (a1 - 1) & 15;
+#elif DILITHIUM_GAMMA2 == (DILITHIUM_Q - 1) / 88
+	if (a0 > 0)
+		return (a1 == 43) ? 0 : a1 + 1;
+	else
+		return (a1 == 0) ? 43 : a1 - 1;
+#else
+#error "Uknown GAMMA2"
+#endif
+}
diff --git a/crypto/ml_dsa/dilithium_service_helpers.h b/crypto/ml_dsa/dilithium_service_helpers.h
new file mode 100644
index 000000000000..1bc33498c59d
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_service_helpers.h
@@ -0,0 +1,99 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_SERVICE_HELPERS_H
+#define DILITHIUM_SERVICE_HELPERS_H
+
+/*
+ * @brief rej_uniform - Sample uniformly random coefficients in [0, Q-1] by
+ *			performing rejection sampling on array of random bytes.
+ *
+ * @param [out] a pointer to output array (allocated)
+ * @param [in] len number of coefficients to be sampled
+ * @param [in] buf array of random bytes
+ * @param [in] buflen length of array of random bytes
+ *
+ * @return number of sampled coefficients. Can be smaller than len if not enough
+ * random bytes were given.
+ */
+static inline unsigned int rej_uniform(int32_t *a, unsigned int len,
+				       const uint8_t *buf, unsigned int buflen)
+{
+	unsigned int ctr, pos;
+	uint32_t t;
+
+	ctr = pos = 0;
+	while (ctr < len && pos + 3 <= buflen) {
+		t = buf[pos++];
+		t |= (uint32_t)buf[pos++] << 8;
+		t |= (uint32_t)buf[pos++] << 16;
+		t &= 0x7FFFFF;
+
+		if (t < DILITHIUM_Q)
+			a[ctr++] = (int32_t)t;
+	}
+
+	return ctr;
+}
+
+/*
+ * @brief rej_eta - Sample uniformly random coefficients in [-ETA, ETA] by
+ *		    performing rejection sampling on array of random bytes.
+ *
+ * @param [out] a pointer to output array (allocated)
+ * @param [in] len number of coefficients to be sampled
+ * @param [in] buf array of random bytes
+ * @param [in] buflen length of array of random bytes
+ *
+ * @return number of sampled coefficients. Can be smaller than len if not enough
+ * random bytes were given.
+ */
+static inline unsigned int rej_eta(int32_t *a, unsigned int len,
+				   const uint8_t *buf, unsigned int buflen)
+{
+	unsigned int ctr, pos;
+	int32_t t0, t1;
+
+	ctr = pos = 0;
+	while (ctr < len && pos < buflen) {
+		t0 = buf[pos] & 0x0F;
+		t1 = buf[pos++] >> 4;
+
+#if DILITHIUM_ETA == 2
+		if (t0 < 15) {
+			t0 = t0 - (205 * t0 >> 10) * 5;
+			a[ctr++] = 2 - t0;
+		}
+		if (t1 < 15 && ctr < len) {
+			t1 = t1 - (205 * t1 >> 10) * 5;
+			a[ctr++] = 2 - t1;
+		}
+#elif DILITHIUM_ETA == 4
+		if (t0 < 9)
+			a[ctr++] = 4 - t0;
+		if (t1 < 9 && ctr < len)
+			a[ctr++] = 4 - t1;
+#else
+#error "Undefined DILITHIUM_ETA"
+#endif
+	}
+
+	return ctr;
+}
+
+#endif /* DILITHIUM_SERVICE_HELPERS_H */
diff --git a/crypto/ml_dsa/dilithium_sig.c b/crypto/ml_dsa/dilithium_sig.c
new file mode 100644
index 000000000000..fe3708e1041b
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_sig.c
@@ -0,0 +1,334 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+/*
+ * Copyright (C) 2024 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <crypto/internal/sig.h>
+#include "dilithium.h"
+
+enum dilithium_kernel_key_type {
+	dilithium_kernel_key_unset = 0,
+	/* dilithium_kernel_key_sk = 1, */
+	dilithium_kernel_key_pk = 2,
+};
+
+struct dilithium_kernel_ctx {
+	union {
+		struct dilithium_pk pk;
+	};
+	enum dilithium_kernel_key_type key_type;
+};
+
+/* src -> message */
+/* dst -> signature */
+static int dilithium_kernel_sign(struct crypto_sig *tfm, const void *src,
+				 unsigned int slen, void *dst,
+				 unsigned int dlen)
+{
+	return -EOPNOTSUPP;
+}
+
+/* src -> signature */
+/* msg -> message */
+static int dilithium_kernel_verify(struct crypto_sig *tfm, const void *src,
+				   unsigned int slen, const void *msg,
+				   unsigned int msg_len)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+	struct dilithium_sig *sig;
+	size_t sig_len;
+	enum dilithium_type type;
+	int ret;
+
+	if (unlikely(ctx->key_type != dilithium_kernel_key_pk))
+		return -EINVAL;
+
+	type = dilithium_pk_type(&ctx->pk);
+	sig_len = dilithium_sig_size(type);
+	if (slen < sig_len)
+		return -EINVAL;
+
+	sig = kmalloc(sizeof(struct dilithium_sig), GFP_KERNEL);
+	if (!sig)
+		return -ENOMEM;
+
+	ret = dilithium_sig_load(sig, src, sig_len);
+	if (ret)
+		goto out;
+
+	ret = dilithium_verify(sig, msg, msg_len, &ctx->pk);
+
+out:
+	kfree_sensitive(sig);
+	return ret;
+}
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+static unsigned int dilithium_kernel_87_key_size(struct crypto_sig *tfm)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+
+	switch (ctx->key_type) {
+	case dilithium_kernel_key_unset:
+	case dilithium_kernel_key_pk:
+	default:
+		return sizeof(struct dilithium_87_pk);
+	}
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+static unsigned int dilithium_kernel_65_key_size(struct crypto_sig *tfm)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+
+	switch (ctx->key_type) {
+	case dilithium_kernel_key_unset:
+	case dilithium_kernel_key_pk:
+	default:
+		return sizeof(struct dilithium_65_pk);
+	}
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+static unsigned int dilithium_kernel_44_key_size(struct crypto_sig *tfm)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+
+	switch (ctx->key_type) {
+	case dilithium_kernel_key_unset:
+	case dilithium_kernel_key_pk:
+	default:
+		return sizeof(struct dilithium_44_pk);
+	}
+}
+#endif
+
+static int dilithium_kernel_set_pub_key_int(struct crypto_sig *tfm,
+					    const void *key,
+					    unsigned int keylen,
+					    enum dilithium_type type)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+	int ret;
+
+	ctx->key_type = dilithium_kernel_key_unset;
+
+	ret = dilithium_pk_load(&ctx->pk, key, keylen);
+	if (!ret) {
+		if (dilithium_pk_type(&ctx->pk) != type)
+			ret = -EOPNOTSUPP;
+		else
+			ctx->key_type = dilithium_kernel_key_pk;
+	}
+
+	return ret;
+}
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+static int dilithium_kernel_44_set_pub_key(struct crypto_sig *tfm,
+					   const void *key,
+					   unsigned int keylen)
+{
+	return dilithium_kernel_set_pub_key_int(tfm, key, keylen, DILITHIUM_44);
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+static int dilithium_kernel_65_set_pub_key(struct crypto_sig *tfm,
+					   const void *key,
+					   unsigned int keylen)
+{
+	return dilithium_kernel_set_pub_key_int(tfm, key, keylen, DILITHIUM_65);
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+static int dilithium_kernel_87_set_pub_key(struct crypto_sig *tfm,
+					   const void *key,
+					   unsigned int keylen)
+{
+	return dilithium_kernel_set_pub_key_int(tfm, key, keylen, DILITHIUM_87);
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+static int dilithium_kernel_44_set_priv_key(struct crypto_sig *tfm,
+					    const void *key,
+					    unsigned int keylen)
+{
+	return -EOPNOTSUPP;
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+static int dilithium_kernel_65_set_priv_key(struct crypto_sig *tfm,
+					    const void *key,
+					    unsigned int keylen)
+{
+	return -EOPNOTSUPP;
+}
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+static int dilithium_kernel_87_set_priv_key(struct crypto_sig *tfm,
+					    const void *key,
+					    unsigned int keylen)
+{
+	return -EOPNOTSUPP;
+}
+#endif
+
+static unsigned int dilithium_kernel_max_size(struct crypto_sig *tfm)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+	enum dilithium_type type;
+
+	switch (ctx->key_type) {
+	case dilithium_kernel_key_pk:
+		type = dilithium_pk_type(&ctx->pk);
+		/* When PK is set, this is a safety valve, result is boolean */
+		return dilithium_sig_size(type);
+	default:
+		return 0;
+	}
+}
+
+static int dilithium_kernel_alg_init(struct crypto_sig *tfm)
+{
+	return 0;
+}
+
+static void dilithium_kernel_alg_exit(struct crypto_sig *tfm)
+{
+	struct dilithium_kernel_ctx *ctx = crypto_sig_ctx(tfm);
+
+	ctx->key_type = dilithium_kernel_key_unset;
+}
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+static struct sig_alg dilithium_kernel_87 = {
+	.sign			= dilithium_kernel_sign,
+	.verify			= dilithium_kernel_verify,
+	.set_pub_key		= dilithium_kernel_87_set_pub_key,
+	.set_priv_key		= dilithium_kernel_87_set_priv_key,
+	.key_size		= dilithium_kernel_87_key_size,
+	.max_size		= dilithium_kernel_max_size,
+	.init			= dilithium_kernel_alg_init,
+	.exit			= dilithium_kernel_alg_exit,
+	.base.cra_name		= "ml-dsa87",
+	.base.cra_driver_name	= "ml-dsa87-leancrypto",
+	.base.cra_ctxsize	= sizeof(struct dilithium_kernel_ctx),
+	.base.cra_module	= THIS_MODULE,
+	.base.cra_priority	= 5000,
+};
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+static struct sig_alg dilithium_kernel_65 = {
+	.sign			= dilithium_kernel_sign,
+	.verify			= dilithium_kernel_verify,
+	.set_pub_key		= dilithium_kernel_65_set_pub_key,
+	.set_priv_key		= dilithium_kernel_65_set_priv_key,
+	.key_size		= dilithium_kernel_65_key_size,
+	.max_size		= dilithium_kernel_max_size,
+	.init			= dilithium_kernel_alg_init,
+	.exit			= dilithium_kernel_alg_exit,
+	.base.cra_name		= "ml-dsa65",
+	.base.cra_driver_name	= "ml-dsa65-leancrypto",
+	.base.cra_ctxsize	= sizeof(struct dilithium_kernel_ctx),
+	.base.cra_module	= THIS_MODULE,
+	.base.cra_priority	= 5000,
+};
+#endif
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+static struct sig_alg dilithium_kernel_44 = {
+	.sign			= dilithium_kernel_sign,
+	.verify			= dilithium_kernel_verify,
+	.set_pub_key		= dilithium_kernel_44_set_pub_key,
+	.set_priv_key		= dilithium_kernel_44_set_priv_key,
+	.key_size		= dilithium_kernel_44_key_size,
+	.max_size		= dilithium_kernel_max_size,
+	.init			= dilithium_kernel_alg_init,
+	.exit			= dilithium_kernel_alg_exit,
+	.base.cra_name		= "ml-dsa44",
+	.base.cra_driver_name	= "ml-dsa44-leancrypto",
+	.base.cra_ctxsize	= sizeof(struct dilithium_kernel_ctx),
+	.base.cra_module	= THIS_MODULE,
+	.base.cra_priority	= 5000,
+};
+#endif
+
+static int __init dilithium_init(void)
+{
+	int ret;
+
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	ret = crypto_register_sig(&dilithium_kernel_44);
+	if (ret < 0)
+		goto error_44;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	ret = crypto_register_sig(&dilithium_kernel_65);
+	if (ret < 0)
+		goto error_65;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	ret = crypto_register_sig(&dilithium_kernel_87);
+	if (ret < 0)
+		goto error_87;
+#endif
+	return 0;
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+error_87:
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	crypto_unregister_sig(&dilithium_kernel_65);
+error_65:
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	crypto_unregister_sig(&dilithium_kernel_44);
+error_44:
+#endif
+	pr_err("Failed to register (%d)\n", ret);
+	return ret;
+}
+module_init(dilithium_init);
+
+static void dilithium_exit(void)
+{
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	crypto_unregister_sig(&dilithium_kernel_87);
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	crypto_unregister_sig(&dilithium_kernel_65);
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	crypto_unregister_sig(&dilithium_kernel_44);
+#endif
+}
+module_exit(dilithium_exit);
+
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_DESCRIPTION("Leancrypto ML-DSA/Dilithium");
+MODULE_AUTHOR("Stephan Mueller <smueller@chronox.de>");
+MODULE_ALIAS_CRYPTO("ml-dsa44");
+MODULE_ALIAS_CRYPTO("ml-dsa65");
+MODULE_ALIAS_CRYPTO("ml-dsa87");
diff --git a/crypto/ml_dsa/dilithium_signature_c.c b/crypto/ml_dsa/dilithium_signature_c.c
new file mode 100644
index 000000000000..b18c0469dd14
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_signature_c.c
@@ -0,0 +1,102 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#include "dilithium_signature_c.h"
+
+/* We need once the buffer size to handle the hashing */
+#define LC_POLY_UNIFOR_BUF_SIZE_MULTIPLIER 1
+
+#include "dilithium_poly.h"
+#include "dilithium_poly_common.h"
+#include "dilithium_poly_c.h"
+#include "dilithium_polyvec.h"
+#include "dilithium_polyvec_c.h"
+#include "dilithium_pack.h"
+#include "dilithium_signature_impl.h"
+
+int dilithium_verify_c(const struct dilithium_sig *sig, const uint8_t *m,
+		       size_t mlen, const struct dilithium_pk *pk)
+{
+	return dilithium_verify_impl(sig, m, mlen, pk);
+}
+
+int dilithium_verify_ctx_c(const struct dilithium_sig *sig,
+			   struct dilithium_ctx *ctx, const uint8_t *m,
+			   size_t mlen, const struct dilithium_pk *pk)
+{
+	return dilithium_verify_ctx_impl(sig, ctx, m, mlen, pk);
+}
+
+int dilithium_verify_init_c(struct dilithium_ctx *ctx,
+			    const struct dilithium_pk *pk)
+{
+	return dilithium_verify_init_impl(ctx, pk);
+}
+
+int dilithium_verify_update_c(struct dilithium_ctx *ctx, const uint8_t *m,
+			      size_t mlen)
+{
+	return dilithium_verify_update_impl(ctx, m, mlen);
+}
+
+int dilithium_verify_final_c(const struct dilithium_sig *sig,
+			     struct dilithium_ctx *ctx,
+			     const struct dilithium_pk *pk)
+{
+	return dilithium_verify_final_impl(sig, ctx, pk);
+}
+
+int dilithium_verify(const struct dilithium_sig *sig, const uint8_t *m,
+		       size_t mlen, const struct dilithium_pk *pk)
+{
+	return dilithium_verify_c(sig, m, mlen, pk);
+}
+
+int dilithium_verify_ctx(const struct dilithium_sig *sig,
+			   struct dilithium_ctx *ctx, const uint8_t *m,
+			   size_t mlen, const struct dilithium_pk *pk)
+{
+	return dilithium_verify_ctx_c(sig, ctx, m, mlen, pk);
+}
+
+int dilithium_verify_init(struct dilithium_ctx *ctx,
+			    const struct dilithium_pk *pk)
+{
+	return dilithium_verify_init_c(ctx, pk);
+}
+
+int dilithium_verify_update(struct dilithium_ctx *ctx, const uint8_t *m,
+			      size_t mlen)
+{
+	return dilithium_verify_update_c(ctx, m, mlen);
+}
+
+int dilithium_verify_final(const struct dilithium_sig *sig,
+			     struct dilithium_ctx *ctx,
+			     const struct dilithium_pk *pk)
+{
+	return dilithium_verify_final_c(sig, ctx, pk);
+}
diff --git a/crypto/ml_dsa/dilithium_signature_c.h b/crypto/ml_dsa/dilithium_signature_c.h
new file mode 100644
index 000000000000..d1e694e4c8d3
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_signature_c.h
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_SIGNATURE_C_H
+#define DILITHIUM_SIGNATURE_C_H
+
+#include "dilithium_type.h"
+
+int dilithium_verify_c(const struct dilithium_sig *sig, const uint8_t *m,
+		       size_t mlen, const struct dilithium_pk *pk);
+int dilithium_verify_ctx_c(const struct dilithium_sig *sig,
+			   struct dilithium_ctx *ctx, const uint8_t *m,
+			   size_t mlen, const struct dilithium_pk *pk);
+int dilithium_verify_init_c(struct dilithium_ctx *ctx,
+			    const struct dilithium_pk *pk);
+int dilithium_verify_update_c(struct dilithium_ctx *ctx, const uint8_t *m,
+			      size_t mlen);
+int dilithium_verify_final_c(const struct dilithium_sig *sig,
+			     struct dilithium_ctx *ctx,
+			     const struct dilithium_pk *pk);
+
+#endif /* DILITHIUM_SIGNATURE_C_H */
diff --git a/crypto/ml_dsa/dilithium_signature_helper.c b/crypto/ml_dsa/dilithium_signature_helper.c
new file mode 100644
index 000000000000..147fe94fd0d2
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_signature_helper.c
@@ -0,0 +1,97 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2024 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "dilithium_type.h"
+
+#define cround(x) round_up((x), umax(DILITHIUM_AHAT_ALIGNMENT, CRYPTO_MINALIGN))
+
+struct dilithium_ctx *dilithium_ctx_alloc(void)
+{
+	struct dilithium_ctx *ctx;
+	struct crypto_shash *shash;
+
+	shash = crypto_alloc_shash("shake256", 0, 0);
+	if (IS_ERR(shash)) {
+		pr_warn("no shake256: %ld\n", PTR_ERR(shash));
+		return ERR_CAST(shash);
+	}
+
+	ctx = kzalloc(cround(sizeof(struct dilithium_ctx)) +
+		      cround(crypto_shash_descsize(shash)),
+		      GFP_KERNEL);
+	if (!ctx) {
+		crypto_free_shash(shash);
+		return ERR_PTR(-ENOMEM);
+	}
+
+	return ctx;
+}
+
+struct dilithium_ctx *dilithium_ctx_alloc_ahat(enum dilithium_type type)
+{
+	struct dilithium_ctx *ctx;
+	struct crypto_shash *shash;
+	size_t ahat_size;
+	void *p;
+
+	shash = crypto_alloc_shash("shake256", 0, 0);
+	if (IS_ERR(shash))
+		return ERR_CAST(shash);
+
+	switch (type) {
+#ifdef CONFIG_CRYPTO_DILITHIUM_44
+	case DILITHIUM_44:
+		ahat_size = DILITHIUM_44_AHAT_SIZE;
+		break;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_65
+	case DILITHIUM_65:
+		ahat_size = DILITHIUM_65_AHAT_SIZE;
+		break;
+#endif
+#ifdef CONFIG_CRYPTO_DILITHIUM_87
+	case DILITHIUM_87:
+		ahat_size = DILITHIUM_87_AHAT_SIZE;
+		break;
+#endif
+	default:
+		WARN_ON(1);
+		return ERR_PTR(-EINVAL);
+	}
+
+	p = kzalloc(cround(sizeof(struct dilithium_ctx)) +
+		    cround(ahat_size) +
+		    cround(crypto_shash_descsize(shash)),
+		    GFP_KERNEL);
+	if (!p) {
+		crypto_free_shash(shash);
+		return ERR_PTR(-ENOMEM);
+	}
+
+	ctx = p;
+	p += cround(sizeof(struct dilithium_ctx));
+	ctx->ahat = p;
+	ctx->ahat_size = ahat_size;
+	p += cround(ahat_size);
+	return ctx;
+}
+
+void dilithium_ctx_zero_free(struct dilithium_ctx *ctx)
+{
+	kfree_sensitive(ctx);
+}
diff --git a/crypto/ml_dsa/dilithium_signature_impl.h b/crypto/ml_dsa/dilithium_signature_impl.h
new file mode 100644
index 000000000000..36c8541effd2
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_signature_impl.h
@@ -0,0 +1,370 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#ifndef DILITHIUM_SIGNATURE_IMPL_H
+#define DILITHIUM_SIGNATURE_IMPL_H
+
+#include "dilithium.h"
+#include "dilithium_type.h"
+#include "dilithium_debug.h"
+#include "dilithium_pack.h"
+#include "signature_domain_separation.h"
+
+#define _WS_POLY_UNIFORM_BUF_SIZE                                              \
+	(POLY_UNIFORM_NBLOCKS * SHAKE128_BLOCK_SIZE + 2)
+
+#ifndef LC_POLY_UNIFOR_BUF_SIZE_MULTIPLIER
+#error "LC_POLY_UNIFOR_BUF_SIZE_MULTIPLIER is not defined"
+#endif
+
+#define WS_POLY_UNIFORM_BUF_SIZE                                               \
+	(_WS_POLY_UNIFORM_BUF_SIZE * LC_POLY_UNIFOR_BUF_SIZE_MULTIPLIER)
+
+static int dilithium_verify_internal_ahat(const struct dilithium_sig *sig,
+					  const struct dilithium_pk *pk,
+					  struct dilithium_ctx *ctx)
+{
+	struct workspace_verify {
+		union {
+			poly cp;
+		} matrix;
+		polyveck w1;
+		union {
+			polyveck t1, h;
+			polyvecl z;
+			uint8_t mu[DILITHIUM_CRHBYTES];
+			union {
+				uint8_t coeffs[round_up(DILITHIUM_CTILDE_BYTES, 8)];
+			} __aligned(8) c2;
+		} buf;
+
+		union {
+			poly polyvecl_pointwise_acc_montgomery_buf;
+			uint8_t buf[DILITHIUM_K *
+				    DILITHIUM_POLYW1_PACKEDBYTES];
+			uint8_t poly_challenge_buf[POLY_CHALLENGE_BYTES];
+		} tmp;
+	};
+	struct workspace_verify *ws __free(kfree_sensitive) = NULL;
+	/* The first bytes of the signature is c~ and thus contains c1. */
+	const uint8_t *c1 = sig->sig;
+	const polyvecl *mat = ctx->ahat;
+	int ret = 0;
+
+	ws = kzalloc(sizeof(*ws), GFP_KERNEL);
+	if (!ws)
+		return -ENOMEM;
+
+	/* AHat must be present at this time */
+	if (!mat) {
+		ret = -EINVAL;
+		goto out;
+	}
+
+	unpack_sig_z(&ws->buf.z, sig);
+	if (polyvecl_chknorm(&ws->buf.z,
+			     DILITHIUM_GAMMA1 - DILITHIUM_BETA)) {
+		ret = -EINVAL;
+		goto out;
+	}
+
+	polyvecl_ntt(&ws->buf.z);
+	polyvec_matrix_pointwise_montgomery(
+		&ws->w1, mat, &ws->buf.z,
+		&ws->tmp.polyvecl_pointwise_acc_montgomery_buf);
+
+	/* Matrix-vector multiplication; compute Az - c2^dt1 */
+	poly_challenge(&ws->matrix.cp, c1, ws->tmp.poly_challenge_buf);
+	poly_ntt(&ws->matrix.cp);
+
+	unpack_pk_t1(&ws->buf.t1, pk);
+	polyveck_shiftl(&ws->buf.t1);
+	polyveck_ntt(&ws->buf.t1);
+	polyveck_pointwise_poly_montgomery(&ws->buf.t1, &ws->matrix.cp,
+					   &ws->buf.t1);
+
+	polyveck_sub(&ws->w1, &ws->w1, &ws->buf.t1);
+	polyveck_reduce(&ws->w1);
+	polyveck_invntt_tomont(&ws->w1);
+
+	/* Reconstruct w1 */
+	polyveck_caddq(&ws->w1);
+	dilithium_print_polyveck(&ws->w1,
+				 "Sigver - W K x N matrix before hint:");
+
+	if (unpack_sig_h(&ws->buf.h, sig))
+		return -EINVAL;
+	dilithium_print_polyveck(&ws->buf.h, "Siggen - H K x N matrix:");
+
+	polyveck_use_hint(&ws->w1, &ws->w1, &ws->buf.h);
+	dilithium_print_polyveck(&ws->w1,
+				 "Sigver - W K x N matrix after hint:");
+	polyveck_pack_w1(ws->tmp.buf, &ws->w1);
+	dilithium_print_buffer(ws->tmp.buf,
+			       DILITHIUM_K * DILITHIUM_POLYW1_PACKEDBYTES,
+			       "Sigver - W after w1Encode");
+
+	if (ctx->external_mu) {
+		if (ctx->external_mu_len != DILITHIUM_CRHBYTES)
+			return -EINVAL;
+
+		/* Call random oracle and verify challenge */
+		dilithium_hash_init(ctx);
+		dilithium_hash_update(ctx, ctx->external_mu, DILITHIUM_CRHBYTES);
+	} else {
+		dilithium_hash_final(ctx, ws->buf.mu, DILITHIUM_CRHBYTES);
+
+		/* Call random oracle and verify challenge */
+		dilithium_hash_init(ctx);
+		dilithium_hash_update(ctx, ws->buf.mu, DILITHIUM_CRHBYTES);
+	}
+
+	dilithium_hash_finup(ctx,
+			     ws->tmp.buf, DILITHIUM_K * DILITHIUM_POLYW1_PACKEDBYTES,
+			     ws->buf.c2.coeffs, DILITHIUM_CTILDE_BYTES);
+
+	/* Signature verification operation */
+	if (memcmp(c1, ws->buf.c2.coeffs, DILITHIUM_CTILDE_BYTES) != 0)
+		ret = -EBADMSG;
+
+out:
+	return ret;
+}
+
+static int
+dilithium_verify_internal_noahat(const struct dilithium_sig *sig,
+				 const struct dilithium_pk *pk,
+				 struct dilithium_ctx *ctx)
+{
+	struct workspace_verify {
+		polyvecl mat[DILITHIUM_K];
+		uint8_t poly_uniform_buf[WS_POLY_UNIFORM_BUF_SIZE];
+	};
+	struct workspace_verify *ws __free(kfree_sensitive) = NULL;
+	/* The first bytes of the key is rho. */
+	const uint8_t *rho = pk->pk;
+	int ret = 0;
+
+	ws = kzalloc(sizeof(*ws), GFP_KERNEL);
+	if (!ws)
+		return -ENOMEM;
+
+	polyvec_matrix_expand(ws->mat, rho, ws->poly_uniform_buf);
+
+	/* Temporarily set the pointer */
+	ctx->ahat = ws->mat;
+
+	ret = dilithium_verify_internal_ahat(sig, pk, ctx);
+
+	ctx->ahat = NULL;
+	return ret;
+}
+
+static int dilithium_pk_expand_impl(const struct dilithium_pk *pk,
+				    struct dilithium_ctx *ctx)
+{
+	struct workspace_verify {
+		uint8_t poly_uniform_buf[WS_POLY_UNIFORM_BUF_SIZE];
+	};
+	struct workspace_verify *ws __free(kfree_sensitive) = NULL;
+	/* The first bytes of the key is rho. */
+	const uint8_t *rho = pk->pk;
+	polyvecl *mat = ctx->ahat;
+	int ret = 0;
+
+	ws = kzalloc(sizeof(*ws), GFP_KERNEL);
+	if (!ws)
+		return -ENOMEM;
+
+	/*
+	 * Runtime sanity check ensures that the allocated context has
+	 * sufficient size (e.g. not that caller used, say,
+	 * DILITHIUM_44_CTX_ON_STACK_AHAT with a ML-DSA 65 or 87 key)
+	 */
+#if DILITHIUM_MODE == 2
+	if (ctx->ahat_size < DILITHIUM_44_AHAT_SIZE) {
+		ret = -EOVERFLOW;
+		goto out;
+	}
+#elif DILITHIUM_MODE == 3
+	if (ctx->ahat_size < DILITHIUM_65_AHAT_SIZE) {
+		ret = -EOVERFLOW;
+		goto out;
+	}
+#elif DILITHIUM_MODE == 5
+	if (ctx->ahat_size < DILITHIUM_87_AHAT_SIZE) {
+		ret = -EOVERFLOW;
+		goto out;
+	}
+#else
+#error "Undefined DILITHIUM_MODE"
+#endif
+
+	polyvec_matrix_expand(mat, rho, ws->poly_uniform_buf);
+	ctx->ahat_expanded = 1;
+
+out:
+	return ret;
+}
+
+static int dilithium_verify_internal(const struct dilithium_sig *sig,
+				     const struct dilithium_pk *pk,
+				     struct dilithium_ctx *ctx)
+{
+	int ret;
+
+	if (!ctx->ahat)
+		return dilithium_verify_internal_noahat(sig, pk, ctx);
+
+	if (!ctx->ahat_expanded) {
+		ret = dilithium_pk_expand_impl(pk, ctx);
+		if (ret < 0)
+			goto out;
+	}
+
+	ret = dilithium_verify_internal_ahat(sig, pk, ctx);
+
+out:
+	return ret;
+}
+
+static int dilithium_verify_ctx_impl(const struct dilithium_sig *sig,
+				     struct dilithium_ctx *ctx,
+				     const uint8_t *m, size_t mlen,
+				     const struct dilithium_pk *pk)
+{
+	uint8_t tr[DILITHIUM_TRBYTES];
+	int ret = 0;
+
+	if (!sig || !pk || !ctx)
+		return -EINVAL;
+
+	/* Either the message or the external mu must be provided */
+	if (!m && !ctx->external_mu)
+		return -EINVAL;
+
+	/* Make sure that ->mu is large enough for ->tr */
+	BUILD_BUG_ON(DILITHIUM_TRBYTES > DILITHIUM_CRHBYTES);
+
+	/* Compute CRH(H(rho, t1), msg) */
+	shake256(pk->pk, DILITHIUM_PUBLICKEYBYTES, tr,
+		 DILITHIUM_TRBYTES);
+
+	if (m) {
+		dilithium_hash_init(ctx);
+		dilithium_hash_update(ctx, tr, DILITHIUM_TRBYTES);
+		ret = signature_domain_separation(
+			&ctx->dilithium_hash_ctx, ctx->ml_dsa_internal,
+			ctx->userctx, ctx->userctxlen,
+			m, mlen,
+			DILITHIUM_NIST_CATEGORY);
+		if (ret < 0)
+			goto out;
+	}
+
+	ret = dilithium_verify_internal(sig, pk, ctx);
+
+out:
+	memzero_explicit(tr, sizeof(tr));
+	return ret;
+}
+
+static int dilithium_verify_impl(const struct dilithium_sig *sig,
+				 const uint8_t *m, size_t mlen,
+				 const struct dilithium_pk *pk)
+{
+	struct dilithium_ctx *ctx;
+	int ret;
+
+	ctx = dilithium_ctx_alloc();
+	if (IS_ERR(ctx))
+		return PTR_ERR(ctx);
+
+	ret = dilithium_verify_ctx_impl(sig, ctx, m, mlen, pk);
+
+	dilithium_ctx_zero_free(ctx);
+	return ret;
+}
+
+static int dilithium_verify_init_impl(struct dilithium_ctx *ctx,
+				      const struct dilithium_pk *pk)
+{
+	uint8_t mu[DILITHIUM_TRBYTES];
+
+	/* rng_ctx is allowed to be NULL as handled below */
+	if (!ctx || !pk)
+		return -EINVAL;
+
+	/* Require the use of SHAKE256 */
+	if (!dilithium_hash_check_blocksize(ctx, SHAKE256_BLOCK_SIZE))
+		return -EOPNOTSUPP;
+
+	/* Compute CRH(H(rho, t1), msg) */
+	shake256(pk->pk, DILITHIUM_PUBLICKEYBYTES, mu,
+		 DILITHIUM_TRBYTES);
+
+	dilithium_hash_init(ctx);
+	dilithium_hash_update(ctx, mu, DILITHIUM_TRBYTES);
+	memzero_explicit(mu, sizeof(mu));
+
+	return signature_domain_separation(
+		&ctx->dilithium_hash_ctx, ctx->ml_dsa_internal,
+		ctx->userctx, ctx->userctxlen,
+		NULL, 0,
+		DILITHIUM_NIST_CATEGORY);
+}
+
+static int dilithium_verify_update_impl(struct dilithium_ctx *ctx,
+					const uint8_t *m, size_t mlen)
+{
+	if (!ctx || !m)
+		return -EINVAL;
+
+	/* Compute CRH(H(rho, t1), msg) */
+	dilithium_hash_update(ctx, m, mlen);
+
+	return 0;
+}
+
+static int dilithium_verify_final_impl(const struct dilithium_sig *sig,
+				       struct dilithium_ctx *ctx,
+				       const struct dilithium_pk *pk)
+{
+	int ret = 0;
+
+	if (!sig || !ctx || !pk) {
+		ret = -EINVAL;
+		goto out;
+	}
+
+	ret = dilithium_verify_internal(sig, pk, ctx);
+
+out:
+	dilithium_ctx_zero(ctx);
+	return ret;
+}
+
+#endif /* DILITHIUM_SIGNATURE_IMPL_H */
diff --git a/crypto/ml_dsa/dilithium_type.h b/crypto/ml_dsa/dilithium_type.h
new file mode 100644
index 000000000000..5238a9e6debf
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_type.h
@@ -0,0 +1,102 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2024 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef DILITHIUM_TYPE_H
+#define DILITHIUM_TYPE_H
+
+#include "dilithium.h"
+
+/*
+ * This define replaces all symbol names accordingly to allow double compilation
+ * of the same code base.
+ *
+ * Due to the replacement operation, this header file must be included as the
+ * first header file in the entire stack.
+ *
+ * This file can easily be replaced with dilithium.h to achieve the common
+ * functionality without symbol duplication. But in this case, only the
+ * Dilithium security strength is compiled defined in dilithium.h. Duplicate
+ * compilation different sizes would not be possible.
+ */
+#ifdef DILITHIUM_TYPE_65
+#define DILITHIUM_F(name) dilithium_65_##name
+#define dilithium_pk dilithium_65_pk
+#define dilithium_sig dilithium_65_sig
+
+#include "dilithium_65.h"
+
+#elif defined DILITHIUM_TYPE_44
+#define DILITHIUM_F(name) dilithium_44_##name
+#define dilithium_pk dilithium_44_pk
+#define dilithium_sig dilithium_44_sig
+
+#include "dilithium_44.h"
+
+#else
+#define DILITHIUM_F(name) dilithium_87_##name
+#define dilithium_pk dilithium_87_pk
+#define dilithium_sig dilithium_87_sig
+
+#include "dilithium_87.h"
+
+#endif
+
+/*
+ * The following defines simply allow duplicate compilation of the
+ * respective functions.
+ */
+#define dilithium_verify DILITHIUM_F(verify)
+#define dilithium_verify_ctx DILITHIUM_F(verify_ctx)
+#define dilithium_verify_init DILITHIUM_F(verify_init)
+#define dilithium_verify_update DILITHIUM_F(verify_update)
+#define dilithium_verify_final DILITHIUM_F(verify_final)
+
+#define dilithium_verify_c DILITHIUM_F(verify_c)
+#define dilithium_verify_ctx_c DILITHIUM_F(verify_ctx_c)
+#define dilithium_verify_init_c DILITHIUM_F(verify_init_c)
+#define dilithium_verify_update_c DILITHIUM_F(verify_update_c)
+#define dilithium_verify_final_c DILITHIUM_F(verify_final_c)
+
+#define ntt DILITHIUM_F(ntt)
+#define invntt_tomont DILITHIUM_F(invntt_tomont)
+#define poly_chknorm DILITHIUM_F(poly_chknorm)
+#define poly_uniform DILITHIUM_F(poly_uniform)
+#define poly_uniform_gamma1 DILITHIUM_F(poly_uniform_gamma1)
+#define polyz_unpack DILITHIUM_F(polyz_unpack)
+#define poly_challenge DILITHIUM_F(poly_challenge)
+#define polyeta_unpack DILITHIUM_F(polyeta_unpack)
+#define polyt0_unpack DILITHIUM_F(polyt0_unpack)
+#define polyw1_pack DILITHIUM_F(polyw1_pack)
+#define power2round DILITHIUM_F(power2round)
+#define decompose DILITHIUM_F(decompose)
+#define make_hint DILITHIUM_F(make_hint)
+#define use_hint DILITHIUM_F(use_hint)
+
+#define dilithium_print_buffer DILITHIUM_F(print_buffer)
+#define dilithium_print_polyvecl_k DILITHIUM_F(print_polyvecl_k)
+#define dilithium_print_polyvecl DILITHIUM_F(print_polyvecl)
+#define dilithium_print_polyveck DILITHIUM_F(print_polyveck)
+#define dilithium_print_poly DILITHIUM_F(print_poly)
+
+/* Rounding */
+int32_t power2round(int32_t *a0, int32_t a);
+int32_t decompose(int32_t *a0, int32_t a);
+int32_t make_hint(int32_t a0, int32_t a1);
+int32_t use_hint(int32_t a, int32_t hint);
+
+#endif /* DILITHIUM_TYPE_H */
diff --git a/crypto/ml_dsa/dilithium_zetas.c b/crypto/ml_dsa/dilithium_zetas.c
new file mode 100644
index 000000000000..f0e9203f35dd
--- /dev/null
+++ b/crypto/ml_dsa/dilithium_zetas.c
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2022 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+/*
+ * This code is derived in parts from the code distribution provided with
+ * https://github.com/pq-crystals/dilithium
+ *
+ * That code is released under Public Domain
+ * (https://creativecommons.org/share-your-work/public-domain/cc0/);
+ * or Apache 2.0 License (https://www.apache.org/licenses/LICENSE-2.0.html).
+ */
+
+#include "dilithium.h"
+
+const int32_t dilithium_zetas[DILITHIUM_N] = {
+	0,	  25847,    -2608894, -518909,	237124,	  -777960,  -876248,
+	466468,	  1826347,  2353451,  -359251,	-2091905, 3119733,  -2884855,
+	3111497,  2680103,  2725464,  1024112,	-1079900, 3585928,  -549488,
+	-1119584, 2619752,  -2108549, -2118186, -3859737, -1399561, -3277672,
+	1757237,  -19422,   4010497,  280005,	2706023,  95776,    3077325,
+	3530437,  -1661693, -3592148, -2537516, 3915439,  -3861115, -3043716,
+	3574422,  -2867647, 3539968,  -300467,	2348700,  -539299,  -1699267,
+	-1643818, 3505694,  -3821735, 3507263,	-2140649, -1600420, 3699596,
+	811944,	  531354,   954230,   3881043,	3900724,  -2556880, 2071892,
+	-2797779, -3930395, -1528703, -3677745, -3041255, -1452451, 3475950,
+	2176455,  -1585221, -1257611, 1939314,	-4083598, -1000202, -3190144,
+	-3157330, -3632928, 126922,   3412210,	-983419,  2147896,  2715295,
+	-2967645, -3693493, -411027,  -2477047, -671102,  -1228525, -22981,
+	-1308169, -381987,  1349076,  1852771,	-1430430, -3343383, 264944,
+	508951,	  3097992,  44288,    -1100098, 904516,	  3958618,  -3724342,
+	-8578,	  1653064,  -3249728, 2389356,	-210977,  759969,   -1316856,
+	189548,	  -3553272, 3159746,  -1851402, -2409325, -177440,  1315589,
+	1341330,  1285669,  -1584928, -812732,	-1439742, -3019102, -3881060,
+	-3628969, 3839961,  2091667,  3407706,	2316500,  3817976,  -3342478,
+	2244091,  -2446433, -3562462, 266997,	2434439,  -1235728, 3513181,
+	-3520352, -3759364, -1197226, -3193378, 900702,	  1859098,  909542,
+	819034,	  495491,   -1613174, -43260,	-522500,  -655327,  -3122442,
+	2031748,  3207046,  -3556995, -525098,	-768622,  -3595838, 342297,
+	286988,	  -2437823, 4108315,  3437287,	-3342277, 1735879,  203044,
+	2842341,  2691481,  -2590150, 1265009,	4055324,  1247620,  2486353,
+	1595974,  -3767016, 1250494,  2635921,	-3548272, -2994039, 1869119,
+	1903435,  -1050970, -1333058, 1237275,	-3318210, -1430225, -451100,
+	1312455,  3306115,  -1962642, -1279661, 1917081,  -2546312, -1374803,
+	1500165,  777191,   2235880,  3406031,	-542412,  -2831860, -1671176,
+	-1846953, -2584293, -3724270, 594136,	-3776993, -2013608, 2432395,
+	2454455,  -164721,  1957272,  3369112,	185531,	  -1207385, -3183426,
+	162844,	  1616392,  3014001,  810149,	1652634,  -3694233, -1799107,
+	-3038916, 3523897,  3866901,  269760,	2213111,  -975884,  1717735,
+	472078,	  -426683,  1723600,  -1803090, 1910376,  -1667432, -1104333,
+	-260646,  -3833893, -2939036, -2235985, -420899,  -2286327, 183443,
+	-976891,  1612842,  -3545687, -554416,	3919660,  -48306,   -1362209,
+	3937738,  1400424,  -846154,  1976782
+};
diff --git a/crypto/ml_dsa/signature_domain_separation.c b/crypto/ml_dsa/signature_domain_separation.c
new file mode 100644
index 000000000000..3073f1d71ee8
--- /dev/null
+++ b/crypto/ml_dsa/signature_domain_separation.c
@@ -0,0 +1,203 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2024 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "signature_domain_separation.h"
+
+static const char *signature_prehash_type;
+
+/* RFC4055 2.16.840.1.101.3.4.2.1 */
+static const uint8_t sha256_oid_der[] __maybe_unused = { 0x06, 0x09, 0x60, 0x86,
+							 0x48, 0x01, 0x65, 0x03,
+							 0x04, 0x02, 0x01 };
+/* RFC4055 2.16.840.1.101.3.4.2.2 */
+static const uint8_t sha384_oid_der[] __maybe_unused = { 0x06, 0x09, 0x60, 0x86,
+							 0x48, 0x01, 0x65, 0x03,
+							 0x04, 0x02, 0x02 };
+/* RFC4055 2.16.840.1.101.3.4.2.3 */
+static const uint8_t sha512_oid_der[] __maybe_unused = { 0x06, 0x09, 0x60, 0x86,
+							 0x48, 0x01, 0x65, 0x03,
+							 0x04, 0x02, 0x03 };
+
+/*
+ * https://lamps-wg.github.io/draft-composite-sigs/draft-ietf-lamps-pq-composite-sigs.html
+ */
+static const uint8_t sha3_256_oid_der[] __maybe_unused = {
+	0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x08
+};
+static const uint8_t sha3_384_oid_der[] __maybe_unused = {
+	0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x09
+};
+static const uint8_t sha3_512_oid_der[] __maybe_unused = {
+	0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0a
+};
+
+/* RFC8692 2.16.840.1.101.3.4.2.11 */
+static const uint8_t shake128_oid_der[] __maybe_unused = {
+	0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0B
+};
+
+/* RFC8692 2.16.840.1.101.3.4.2.11 */
+static const uint8_t shake256_oid_der[] __maybe_unused = {
+	0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x0C
+};
+
+static int signature_ph_oids(struct shake_ctx *hash_ctx, size_t mlen,
+			     unsigned int nist_category)
+{
+	/* If no hash is supplied, we have no HashML-DSA */
+	if (!signature_prehash_type)
+		return 0;
+
+	/*
+	 * The signature init/update/final operation will not work with the
+	 * check of mlen, as only when _final is invoked, the message length
+	 * is known.
+	 *
+	 * As defined in FIPS 204, section 5.4 requires
+	 * "... the digest that is signed needs to be generated using an
+	 * approved hash function or XOF (e.g., from FIPS 180 or FIPS 202) that
+	 * provides at least λ bits of classical security strength against both
+	 * collision and second preimage attacks ... Obtaining at least λ bits
+	 * of classical security strength against collision attacks requires
+	 * that the digest to be signed be at least 2λ bits in length."
+	 * This requirement implies in the following definitions.
+	 */
+	switch (nist_category) {
+	case 1:
+		if (strcmp(signature_prehash_type, "sha256") == 0) {
+			// if (mlen != LC_SHA256_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha256_oid_der,
+				     sizeof(sha256_oid_der));
+			return 0;
+		}
+		if (strcmp(signature_prehash_type, "sha3-256") == 0) {
+			// if (mlen != LC_SHA3_256_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha3_256_oid_der,
+				     sizeof(sha3_256_oid_der));
+			return 0;
+		}
+		if (strcmp(signature_prehash_type, "shake128") == 0) {
+			/* FIPS 204 section 5.4.1 */
+			// if (mlen != 32)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, shake128_oid_der,
+				     sizeof(shake128_oid_der));
+			return 0;
+		}
+		/* FALLTHROUGH - Dilithium44 allows the following, too */
+		fallthrough;
+	case 3:
+		if (strcmp(signature_prehash_type, "sha3-384") == 0) {
+			// if (mlen != LC_SHA3_384_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha3_384_oid_der,
+				     sizeof(sha3_384_oid_der));
+			return 0;
+		}
+		if (strcmp(signature_prehash_type, "sha384") == 0) {
+			// if (mlen != LC_SHA384_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha384_oid_der,
+				     sizeof(sha384_oid_der));
+			return 0;
+		}
+		/* FALLTHROUGH - Dilithium[44|65] allows the following, too  */
+		fallthrough;
+	case 5:
+		if (strcmp(signature_prehash_type, "sha512") == 0) {
+			// if (mlen != LC_SHA512_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha512_oid_der,
+				     sizeof(sha512_oid_der));
+			return 0;
+		}
+		if (strcmp(signature_prehash_type, "sha3-512") == 0) {
+			// if (mlen != LC_SHA3_512_SIZE_DIGEST)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, sha3_512_oid_der,
+				     sizeof(sha3_512_oid_der));
+			return 0;
+		} else if (strcmp(signature_prehash_type, "shake256") == 0) {
+			/* FIPS 204 section 5.4.1 */
+			/*
+			 * TODO: mlen must be >= 64 to comply with the
+			 * aforementioned requirement - unfortunately we can
+			 * only check mlen at the end of the signature
+			 * operation - shall this be implemented?
+			 */
+			// if (mlen != 64)
+			// 	return -EOPNOTSUPP;
+			shake_update(hash_ctx, shake256_oid_der,
+				     sizeof(shake256_oid_der));
+			return 0;
+		}
+		break;
+	default:
+		break;
+	}
+
+	return -EOPNOTSUPP;
+}
+
+/* FIPS 204 pre-hash ML-DSA domain separation, but without original message */
+static int standalone_signature_domain_separation(
+	struct shake_ctx *hash_ctx, const uint8_t *userctx,
+	size_t userctxlen, size_t mlen, unsigned int nist_category)
+{
+	uint8_t domainseparation[2];
+
+	domainseparation[0] = signature_prehash_type ? 1 : 0;
+	domainseparation[1] = (uint8_t)userctxlen;
+
+	shake_update(hash_ctx, domainseparation, sizeof(domainseparation));
+	shake_update(hash_ctx, userctx, userctxlen);
+
+	return signature_ph_oids(hash_ctx, mlen, nist_category);
+}
+
+/*
+ * Domain separation as required by:
+ *
+ * FIPS 204 pre-hash ML-DSA: no randomiser
+ * Composite ML-DSA draft 5: with randomizer
+ */
+int signature_domain_separation(struct shake_ctx *hash_ctx,
+				unsigned int ml_dsa_internal,
+				const uint8_t *userctx, size_t userctxlen,
+				const uint8_t *m, size_t mlen,
+				unsigned int nist_category)
+{
+	int ret = 0;
+
+	/* The internal operation skips the domain separation code */
+	if (ml_dsa_internal)
+		goto out;
+
+	if (userctxlen > 255)
+		return -EINVAL;
+
+	ret = standalone_signature_domain_separation(hash_ctx,
+						     userctx, userctxlen,
+						     mlen, nist_category);
+
+out:
+	shake_update(hash_ctx, m, mlen);
+	return ret;
+}
diff --git a/crypto/ml_dsa/signature_domain_separation.h b/crypto/ml_dsa/signature_domain_separation.h
new file mode 100644
index 000000000000..070c8b4ec371
--- /dev/null
+++ b/crypto/ml_dsa/signature_domain_separation.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Copyright (C) 2024 - 2025, Stephan Mueller <smueller@chronox.de>
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+ * WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ * USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef SIGNATURE_DOMAIN_SEPARATION_H
+#define SIGNATURE_DOMAIN_SEPARATION_H
+
+#include "dilithium.h"
+
+int signature_domain_separation(struct shake_ctx *hash_ctx,
+				unsigned int ml_dsa_internal,
+				const uint8_t *userctx, size_t userctxlen,
+				const uint8_t *m, size_t mlen,
+				unsigned int nist_category);
+
+#endif /* SIGNATURE_DOMAIN_SEPARATION_H */


^ permalink raw reply related

* [PATCH v7 1/8] crypto: Add support for shake256 through crypto_shash
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <20251106174456.31818-1-dhowells@redhat.com>

Add shake256 support to the SHA-3 crypto_sig module so that ML-DSA can use
it.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Eric Biggers <ebiggers@kernel.org>
cc: Jason A. Donenfeld <Jason@zx2c4.com>
cc: Ard Biesheuvel <ardb@kernel.org>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: linux-crypto@vger.kernel.org
---
 crypto/sha3.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/crypto/sha3.c b/crypto/sha3.c
index 8f364979ec89..be1d18baee8d 100644
--- a/crypto/sha3.c
+++ b/crypto/sha3.c
@@ -9,6 +9,7 @@
 #include <linux/module.h>
 
 #define SHA3_CTX(desc) ((struct sha3_ctx *)shash_desc_ctx(desc))
+#define SHAKE_CTX(desc) ((struct shake_ctx *)shash_desc_ctx(desc))
 
 static int crypto_sha3_224_init(struct shash_desc *desc)
 {
@@ -87,6 +88,36 @@ static int crypto_sha3_import_core(struct shash_desc *desc, const void *in)
 	return 0;
 }
 
+static int crypto_shake256_init(struct shash_desc *desc)
+{
+	shake256_init(SHAKE_CTX(desc));
+	return 0;
+}
+
+static int crypto_shake_update(struct shash_desc *desc, const u8 *data,
+			      unsigned int len)
+{
+	shake_update(SHAKE_CTX(desc), data, len);
+	return 0;
+}
+
+static int crypto_shake_final(struct shash_desc *desc, u8 *out)
+{
+	const struct shash_alg *alg = crypto_shash_alg(desc->tfm);
+
+	shake_squeeze(SHAKE_CTX(desc), out, alg->digestsize);
+	return 0;
+}
+
+static int crypto_shake256_digest(struct shash_desc *desc,
+				  const u8 *data, unsigned int len, u8 *out)
+{
+	const struct shash_alg *alg = crypto_shash_alg(desc->tfm);
+
+	shake256(data, len, out, alg->digestsize);
+	return 0;
+}
+
 static struct shash_alg algs[] = { {
 	.digestsize		= SHA3_224_DIGEST_SIZE,
 	.init			= crypto_sha3_224_init,
@@ -139,6 +170,17 @@ static struct shash_alg algs[] = { {
 	.base.cra_driver_name	= "sha3-512-lib",
 	.base.cra_blocksize	= SHA3_512_BLOCK_SIZE,
 	.base.cra_module	= THIS_MODULE,
+}, {
+	.digestsize		= SHAKE256_DEFAULT_SIZE,
+	.init			= crypto_shake256_init,
+	.update			= crypto_shake_update,
+	.final			= crypto_shake_final,
+	.digest			= crypto_shake256_digest,
+	.descsize		= sizeof(struct shake_ctx),
+	.base.cra_name		= "shake256",
+	.base.cra_driver_name	= "shake256-lib",
+	.base.cra_blocksize	= SHAKE256_BLOCK_SIZE,
+	.base.cra_module	= THIS_MODULE,
 } };
 
 static int __init crypto_sha3_mod_init(void)


^ permalink raw reply related

* [PATCH v7 0/8] lib/crypto: Add ML-DSA signing
From: David Howells @ 2025-11-06 17:44 UTC (permalink / raw)
  To: Herbert Xu
  Cc: David Howells, Eric Biggers, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Jason A . Donenfeld, Ard Biesheuvel,
	Stephan Mueller, Lukas Wunner, Ignat Korchagin, linux-crypto,
	keyrings, linux-modules, linux-kernel

Hi Herbert, Eric, et al.,

Building on the SHA-3 lib-crypto patches now in Eric's tree, here's a set of
patches does the following:

 (1) Add SHAKE-256 crypto_sig support, generating 32-byte fixed output.  The
     XOF features aren't available through this.  SHAKE-128 crypto_sig support
     isn't required for ML-DSA, so I haven't implemented that at this time.

 (2) Add ML-DSA signature verification code, extracted from Stephan Mueller's
     Leancrypto project.  It is accessed through crypto_sig.

 (3) Add a kunit test in three installments (due to size) to add some
     testing for the three different levels of ML-DSA (44, 65 and 87).

 (4) Modify PKCS#7 support to allow kernel module signatures to carry
     authenticatedAttributes as OpenSSL refuses to let them be opted out of
     for ML-DSA (CMS_NOATTR).  This adds an extra digest calculation to the
     process.

 (5) Modify PKCS#7 to pass the authenticatedAttributes directly to the
     ML-DSA algorithm rather than passing over a digest as is done with RSA
     as ML-DSA wants to do its own hashing and will add other stuff into
     the hash.  We could use hashML-DSA or an external mu instead, but they
     aren't standardised for CMS yet.

 (6) Add support to the PKCS#7 and X.509 parsers for ML-DSA.

 (7) Modify sign-file to handle OpenSSL not permitting CMS_NOATTR with
     ML-DSA.

 (8) Allow SHA-3 algorithms, including SHAKE256, to be used for the message
     digest and add ML-DSA to the choice of algorithm with which to sign.

With that, ML-DSA signing appears to work.

This is based on Eric's libcrypto-next branch.

The patches can also be found here:

	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=keys-pqc

David

Changes
=======
ver #7)
 - Rebased on Eric's tree as that now contains all the necessary SHA-3
   infrastructure and drop the SHA-3 patches from here.
 - Added a minimal patch to provide shake256 support for crypto_sig.
 - Got rid of the memory allocation wrappers.
 - Removed the ML-DSA keypair generation code and the signing code, leaving
   only the signature verification code.
 - Removed the secret key handling code.
 - Removed the secret keys from the kunit tests and the signing testing.
 - Removed some unused bits from the ML-DSA code.
 - Downgraded the kdoc comments to ordinary comments, but keep the markup
   for easier comparison to Leancrypto.

ver #6)
 - Added a patch to make the jitterentropy RNG use lib/sha3.
 - Added back the crypto/sha3_generic changes.
 - Added ML-DSA implementation (still needs more cleanup).
 - Added kunit test for ML-DSA.
 - Modified PKCS#7 to accommodate ML-DSA.
 - Modified PKCS#7 and X.509 to allow ML-DSA to be specified and used.
 - Modified sign-file to not use CMS_NOATTR with ML-DSA.
 - Allowed SHA3 and SHAKE* algorithms for module signing default.
 - Allowed ML-DSA-{44,65,87} to be selected as the module signing default.

ver #5)
 - Fix gen-hash-testvecs.py to correctly handle algo names that contain a
   dash.
 - Fix gen-hash-testvecs.py to not generate HMAC for SHA3-* or SHAKE* as
   these don't currently have HMAC variants implemented.
 - Fix algo names to be correct.
 - Fix kunit module description as it now tests all SHA3 variants.

ver #4)
 - Fix a couple of arm64 build problems.
 - Doc fixes:
   - Fix the description of the algorithm to be closer to the NIST spec's
     terminology.
   - Don't talk of finialising the context for XOFs.
   - Don't say "Return: None".
   - Declare the "Context" to be "Any context" and make no mention of the
     fact that it might use the FPU.
   - Change "initialise" to "initialize".
   - Don't warn that the context is relatively large for stack use.
 - Use size_t for size parameters/variables.
 - Make the module_exit unconditional.
 - Dropped the crypto/ dir-affecting patches for the moment.

ver #3)
 - Renamed conflicting arm64 functions.
 - Made a separate wrapper API for each algorithm in the family.
 - Removed sha3_init(), sha3_reinit() and sha3_final().
 - Removed sha3_ctx::digest_size.
 - Renamed sha3_ctx::partial to sha3_ctx::absorb_offset.
 - Refer to the output of SHAKE* as "output" not "digest".
 - Moved the Iota transform into the one-round function.
 - Made sha3_update() warn if called after sha3_squeeze().
 - Simplified the module-load test to not do update after squeeze.
 - Added Return: and Context: kdoc statements and expanded the kdoc
   headers.
 - Added an API description document.
 - Overhauled the kunit tests.
   - Only have one kunit test.
   - Only call the general hash tester on one algo.
   - Add separate simple cursory checks for the other algos.
   - Add resqueezing tests.
   - Add some NIST example tests.
 - Changed crypto/sha3_generic to use this
 - Added SHAKE128/256 to crypto/sha3_generic and crypto/testmgr
 - Folded struct sha3_state into struct sha3_ctx.

ver #2)
  - Simplify the endianness handling.
  - Rename sha3_final() to sha3_squeeze() and don't clear the context at the
    end as it's permitted to continue calling sha3_final() to extract
    continuations of the digest (needed by ML-DSA).
  - Don't reapply the end marker to the hash state in continuation
    sha3_squeeze() unless sha3_update() gets called again (needed by
    ML-DSA).
  - Give sha3_squeeze() the amount of digest to produce as a parameter
    rather than using ctx->digest_size and don't return the amount digested.
  - Reimplement sha3_final() as a wrapper around sha3_squeeze() that
    extracts ctx->digest_size amount of digest and then zeroes out the
    context.  The latter is necessary to avoid upsetting
    hash-test-template.h.
  - Provide a sha3_reinit() function to clear the state, but to leave the
    parameters that indicate the hash properties unaffected, allowing for
    reuse.
  - Provide a sha3_set_digestsize() function to change the size of the
    digest to be extracted by sha3_final().  sha3_squeeze() takes a
    parameter for this instead.
  - Don't pass the digest size as a parameter to shake128/256_init() but
    rather default to 128/256 bits as per the function name.
  - Provide a sha3_clear() function to zero out the context.

David Howells (8):
  crypto: Add support for shake256 through crypto_shash
  crypto: Add ML-DSA/Dilithium verify support
  crypto: Add ML-DSA-44 pure rejection test vectors as a kunit test
  crypto: Add ML-DSA-65 pure rejection test vectors as a kunit test
  crypto: Add ML-DSA-87 pure rejection test vectors as a kunit test
  pkcs7: Allow the signing algo to calculate the digest itself
  pkcs7, x509: Add ML-DSA support
  modsign: Enable ML-DSA module signing

 Documentation/admin-guide/module-signing.rst  |   15 +-
 certs/Kconfig                                 |   24 +
 certs/Makefile                                |    3 +
 crypto/Kconfig                                |    1 +
 crypto/Makefile                               |    1 +
 crypto/asymmetric_keys/pkcs7_parser.c         |   19 +-
 crypto/asymmetric_keys/pkcs7_verify.c         |   52 +-
 crypto/asymmetric_keys/public_key.c           |    7 +
 crypto/asymmetric_keys/x509_cert_parser.c     |   24 +
 crypto/ml_dsa/Kconfig                         |   32 +
 crypto/ml_dsa/Makefile                        |   20 +
 crypto/ml_dsa/dilithium.h                     |  547 ++
 crypto/ml_dsa/dilithium_44.c                  |   33 +
 crypto/ml_dsa/dilithium_44.h                  |  282 +
 crypto/ml_dsa/dilithium_65.c                  |   33 +
 crypto/ml_dsa/dilithium_65.h                  |  282 +
 crypto/ml_dsa/dilithium_87.c                  |   33 +
 crypto/ml_dsa/dilithium_87.h                  |  282 +
 crypto/ml_dsa/dilithium_api.c                 |  429 ++
 crypto/ml_dsa/dilithium_debug.h               |   49 +
 crypto/ml_dsa/dilithium_ntt.c                 |   89 +
 crypto/ml_dsa/dilithium_ntt.h                 |   35 +
 crypto/ml_dsa/dilithium_pack.h                |  119 +
 crypto/ml_dsa/dilithium_poly.c                |  377 +
 crypto/ml_dsa/dilithium_poly.h                |  181 +
 crypto/ml_dsa/dilithium_poly_c.h              |  141 +
 crypto/ml_dsa/dilithium_poly_common.h         |   35 +
 crypto/ml_dsa/dilithium_polyvec.h             |  343 +
 crypto/ml_dsa/dilithium_polyvec_c.h           |   81 +
 .../dilithium_pure_rejection_vectors_44.h     |  489 ++
 .../dilithium_pure_rejection_vectors_65.h     | 4741 ++++++++++++
 .../dilithium_pure_rejection_vectors_87.h     | 6456 +++++++++++++++++
 crypto/ml_dsa/dilithium_reduce.h              |   85 +
 crypto/ml_dsa/dilithium_rounding.c            |  128 +
 crypto/ml_dsa/dilithium_selftest.c            |  142 +
 crypto/ml_dsa/dilithium_service_helpers.h     |   99 +
 crypto/ml_dsa/dilithium_sig.c                 |  334 +
 crypto/ml_dsa/dilithium_signature_c.c         |  102 +
 crypto/ml_dsa/dilithium_signature_c.h         |   37 +
 crypto/ml_dsa/dilithium_signature_helper.c    |   97 +
 crypto/ml_dsa/dilithium_signature_impl.h      |  370 +
 crypto/ml_dsa/dilithium_type.h                |  102 +
 crypto/ml_dsa/dilithium_zetas.c               |   67 +
 crypto/ml_dsa/signature_domain_separation.c   |  203 +
 crypto/ml_dsa/signature_domain_separation.h   |   30 +
 crypto/sha3.c                                 |   42 +
 include/crypto/public_key.h                   |    1 +
 include/linux/oid_registry.h                  |    5 +
 kernel/module/Kconfig                         |    5 +
 scripts/sign-file.c                           |   26 +-
 50 files changed, 17094 insertions(+), 36 deletions(-)
 create mode 100644 crypto/ml_dsa/Kconfig
 create mode 100644 crypto/ml_dsa/Makefile
 create mode 100644 crypto/ml_dsa/dilithium.h
 create mode 100644 crypto/ml_dsa/dilithium_44.c
 create mode 100644 crypto/ml_dsa/dilithium_44.h
 create mode 100644 crypto/ml_dsa/dilithium_65.c
 create mode 100644 crypto/ml_dsa/dilithium_65.h
 create mode 100644 crypto/ml_dsa/dilithium_87.c
 create mode 100644 crypto/ml_dsa/dilithium_87.h
 create mode 100644 crypto/ml_dsa/dilithium_api.c
 create mode 100644 crypto/ml_dsa/dilithium_debug.h
 create mode 100644 crypto/ml_dsa/dilithium_ntt.c
 create mode 100644 crypto/ml_dsa/dilithium_ntt.h
 create mode 100644 crypto/ml_dsa/dilithium_pack.h
 create mode 100644 crypto/ml_dsa/dilithium_poly.c
 create mode 100644 crypto/ml_dsa/dilithium_poly.h
 create mode 100644 crypto/ml_dsa/dilithium_poly_c.h
 create mode 100644 crypto/ml_dsa/dilithium_poly_common.h
 create mode 100644 crypto/ml_dsa/dilithium_polyvec.h
 create mode 100644 crypto/ml_dsa/dilithium_polyvec_c.h
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_44.h
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_65.h
 create mode 100644 crypto/ml_dsa/dilithium_pure_rejection_vectors_87.h
 create mode 100644 crypto/ml_dsa/dilithium_reduce.h
 create mode 100644 crypto/ml_dsa/dilithium_rounding.c
 create mode 100644 crypto/ml_dsa/dilithium_selftest.c
 create mode 100644 crypto/ml_dsa/dilithium_service_helpers.h
 create mode 100644 crypto/ml_dsa/dilithium_sig.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_c.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_c.h
 create mode 100644 crypto/ml_dsa/dilithium_signature_helper.c
 create mode 100644 crypto/ml_dsa/dilithium_signature_impl.h
 create mode 100644 crypto/ml_dsa/dilithium_type.h
 create mode 100644 crypto/ml_dsa/dilithium_zetas.c
 create mode 100644 crypto/ml_dsa/signature_domain_separation.c
 create mode 100644 crypto/ml_dsa/signature_domain_separation.h


^ permalink raw reply

* Re: [PATCH v6 17/17] modsign: Enable ML-DSA module signing
From: David Howells @ 2025-11-06 17:37 UTC (permalink / raw)
  To: Petr Pavlu
  Cc: dhowells, Eric Biggers, Jason A . Donenfeld, Ard Biesheuvel,
	Herbert Xu, Stephan Mueller, Lukas Wunner, Ignat Korchagin,
	Luis Chamberlain, Daniel Gomez, Sami Tolvanen, linux-crypto,
	keyrings, linux-modules, linux-kernel
In-Reply-To: <81080a24-e4a9-4287-8653-9d707e574d95@suse.com>

Petr Pavlu <petr.pavlu@suse.com> wrote:

> This update looks ok to me. However, I'll note some problems that
> I noticed in the original text, notably:
> 
> The text doesn't match the implementation because kernel/module/Kconfig
> still allows selecting SHA-1 for module signing. What happened is that
> commit 16ab7cb5825f ("crypto: pkcs7 - remove sha1 support") initially
> removed CONFIG_MODULE_SIG_SHA1. Then, commit f2b88bab69c8
> ("Documentation/module-signing.txt: bring up to date") removed it from
> the documentation. However, commit 203a6763ab69 ("Revert "crypto: pkcs7
> - remove sha1 support"") brought back CONFIG_MODULE_SIG_SHA1 without
> reverting the documentation update.
> 
> Another problem is that for MODULE_SIG_KEY_TYPE_ECDSA, certs/Kconfig
> contains the line
> "depends on !(MODULE_SIG_SHA256 || MODULE_SIG_SHA3_256)",
> which intends to allow ECDSA only with MODULE_SIG_SHA384,
> MODULE_SIG_SHA512, MODULE_SIG_SHA3_384 and MODULE_SIG_SHA3_512. This
> restriction was added in commit d4f5bfe20da9 ("certs: Limit
> MODULE_SIG_KEY_TYPE_ECDSA to SHA384 or SHA512") and 446b1e0b7b39
> ("module: enable automatic module signing with FIPS 202 SHA-3").
> However, the documentation suggests that ECDSA can still be used with
> SHA-2/3 of size 256.
> 
> I'll prepare fixes for these issues. For the first problem, I think we
> can drop CONFIG_MODULE_SIG_SHA1 instead of correcting the documentation.

Sounds good.

> > +	  Use an ML-DSA (Dilithium) 87 key (NIST FIPS 204) for module signing
> > +	  with a SHAKE256 'hash' of the message.
> 
> Copy-and-paste error in the help message: 87 -> 44.
> ...
> Similarly here: 87 -> 65.

Fixed.

> Should all MODULE_SIG_KEY_TYPE_ML_DSA_* options depend on
> MODULE_SIG_SHAKE256 to match the updated
> Documentation/admin-guide/module-signing.rst?
> 
> Similarly, do MODULE_SIG_KEY_TYPE_RSA and MODULE_SIG_KEY_TYPE_ECDSA
> require any "depends on" update with respect to the addition of
> MODULE_SIG_SHAKE256?

Um.  In theory ML-DSA can use hashes other than SHAKE256, but I'm not sure
that OIDs exist yet to indicate that.  Also, I'm not sure how to implement the
crypto API interface such that you can ask for, say, "ml-dsa87(sha512)" from
crypto_sig.

Anyway, for the moment, I'm going to post a v7 as I've made some substantial
cleanups.

David


^ permalink raw reply

* Re: Only rust/bindings.o build fail on rust-1.91.0
From: Sami Tolvanen @ 2025-11-06 16:07 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Haiyue Wang, rust-for-linux, Miguel Ojeda, linux-modules,
	Linux Kbuild mailing list
In-Reply-To: <CANiq72kX4Yep3pNVq8Ge=txQbPnMO=zKsci5cPgz5LDS=D6NoQ@mail.gmail.com>

On Thu, Nov 6, 2025 at 5:57 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Thu, Nov 6, 2025 at 2:08 PM Haiyue Wang <haiyuewa@163.com> wrote:
> >
> > Strange thing is that ONLY 'rust/bindings.o'failed. And if I add
> > '$(obj)/bindings.o: private skip_gendwarfksyms = 1', rust build
> > will be successful.
>
> Thanks for the report!
>
> Would you mind copy-pasting/attaching the your kernel config file
> instead? i.e. the `.config` file (the `rustc` flags aren't the best to
> reproduce the issue).
>
> Cc'ing Sami as well.

I can reproduce the issue. With rustc 1.90, rust/bindings.o has
debugging information, but with 1.91, it no longer does:

$ dwarfdump rust/bindings.o
No DWARF information present in rust/bindings.o

Sami

^ permalink raw reply

* Re: Only rust/bindings.o build fail on rust-1.91.0
From: Haiyue Wang @ 2025-11-06 14:04 UTC (permalink / raw)
  To: Miguel Ojeda, Sami Tolvanen
  Cc: rust-for-linux, Miguel Ojeda, linux-modules,
	Linux Kbuild mailing list
In-Reply-To: <CANiq72kX4Yep3pNVq8Ge=txQbPnMO=zKsci5cPgz5LDS=D6NoQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 137496 bytes --]

Also, attached.

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.18.0-rc4 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=24200
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24200
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109100
CONFIG_RUST_IS_AVAILABLE=y
CONFIG_RUSTC_LLVM_VERSION=210102
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_ASSUME=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_RUSTC_HAS_COERCE_POINTEE=y
CONFIG_RUSTC_HAS_SPAN_FILE=y
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
CONFIG_RUSTC_HAS_FILE_WITH_NUL=y
CONFIG_RUSTC_HAS_FILE_AS_C_STR=y
CONFIG_PAHOLE_VERSION=130
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME=""
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
# CONFIG_POSIX_AUX_CLOCKS is not set
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
# CONFIG_BPF_PRELOAD is not set
CONFIG_BPF_LSM=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
CONFIG_ARCH_HAS_PREEMPT_LAZY=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_LAZY is not set
# CONFIG_PREEMPT_RT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
# CONFIG_SCHED_CORE is not set
CONFIG_SCHED_CLASS_EXT=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_RUDE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=m
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_GROUP_SCHED_WEIGHT=y
CONFIG_GROUP_SCHED_BANDWIDTH=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_EXT_GROUP_SCHED=y
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
# CONFIG_CGROUP_DMEM is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
# CONFIG_BOOT_CONFIG_FORCE is not set
# CONFIG_BOOT_CONFIG_EMBED is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_SMALL is not set
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_FUTEX_PRIVATE_HASH=y
CONFIG_FUTEX_MPOL=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
# CONFIG_IO_URING_MOCK_FILE is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_PROFILING=y
CONFIG_RUST=y
CONFIG_RUSTC_VERSION_TEXT="rustc 1.91.0 (f8297e351 2025-10-28)"
CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.72.1"
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_HAVE_IMA_KEXEC=y
# CONFIG_KEXEC is not set
CONFIG_KEXEC_FILE=y
# CONFIG_KEXEC_SIG is not set
# CONFIG_KEXEC_HANDOVER is not set
# CONFIG_CRASH_DUMP is not set
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=5

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
# CONFIG_AMD_SECURE_AVIC is not set
# CONFIG_X86_POSTED_MSI is not set
# CONFIG_X86_MPPARSE is not set
# CONFIG_X86_CPU_RESCTRL is not set
CONFIG_X86_FRED=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_UV is not set
CONFIG_X86_INTEL_MID=y
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_XXL=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
CONFIG_XEN_PV=y
CONFIG_XEN_512GB=y
CONFIG_XEN_PV_SMP=y
CONFIG_XEN_PV_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_PVHVM_GUEST=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PV_MSR_SAFE=y
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_BHYVE_GUEST is not set
# CONFIG_INTEL_TDX_GUEST is not set
CONFIG_CC_HAS_MARCH_NATIVE=y
# CONFIG_X86_NATIVE_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CX8=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_BROADCAST_TLB_FLUSH=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS_RANGE_BEGIN=8192
CONFIG_NR_CPUS_RANGE_END=8192
CONFIG_NR_CPUS_DEFAULT=8192
CONFIG_NR_CPUS=8192
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_ACPI_MADT_WAKEUP=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=m
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
CONFIG_PERF_EVENTS_AMD_POWER=m
CONFIG_PERF_EVENTS_AMD_UNCORE=m
CONFIG_PERF_EVENTS_AMD_BRS=y
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
# CONFIG_X86_IOPL_IOPERM is not set
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
# CONFIG_MICROCODE_DBG is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_X86_MEM_ENCRYPT=y
CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_ARCH_PKEY_BITS=4
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
# CONFIG_X86_USER_SHADOW_STACK is not set
# CONFIG_INTEL_TDX_HOST is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y
# CONFIG_EFI_MIXED is not set
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SELECTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_KEXEC_HANDOVER=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_DEFAULT_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_LEGACY_VSYSCALL_XONLY is not set
CONFIG_LEGACY_VSYSCALL_NONE=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
CONFIG_X86_BUS_LOCK_DETECT=y
# end of Processor type and features

CONFIG_CC_HAS_NAMED_AS=y
CONFIG_CC_HAS_NAMED_AS_FIXED_SANITIZERS=y
CONFIG_USE_X86_SEG_SUPPORT=y
CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CALL_PADDING=y
CONFIG_HAVE_CALL_THUNKS=y
CONFIG_CALL_THUNKS=y
CONFIG_PREFIX_SYMBOLS=y
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_RETHUNK=y
CONFIG_MITIGATION_UNRET_ENTRY=y
CONFIG_MITIGATION_CALL_DEPTH_TRACKING=y
# CONFIG_CALL_THUNKS_DEBUG is not set
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
CONFIG_MITIGATION_SRSO=y
CONFIG_MITIGATION_SLS=y
CONFIG_MITIGATION_GDS=y
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_MITIGATION_MDS=y
CONFIG_MITIGATION_TAA=y
CONFIG_MITIGATION_MMIO_STALE_DATA=y
CONFIG_MITIGATION_L1TF=y
CONFIG_MITIGATION_RETBLEED=y
CONFIG_MITIGATION_SPECTRE_V1=y
CONFIG_MITIGATION_SPECTRE_V2=y
CONFIG_MITIGATION_SRBDS=y
CONFIG_MITIGATION_SSB=y
CONFIG_MITIGATION_ITS=y
CONFIG_MITIGATION_TSA=y
CONFIG_MITIGATION_VMSCAPE=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_CLK=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
# CONFIG_ACPI_TINY_POWER_BUTTON is not set
CONFIG_ACPI_FAN=m
# CONFIG_ACPI_TAD is not set
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_HED=y
# CONFIG_ACPI_BGRT is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_HMAT=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
# CONFIG_ACPI_APEI_EINJ is not set
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_ACPI_DPTF=y
CONFIG_DPTF_POWER=m
CONFIG_DPTF_PCH_FIVR=m
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
CONFIG_ACPI_MRRM=y
CONFIG_PMIC_OPREGION=y
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_AMD_NODE=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_VIRT_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_KVM_ELIDE_TLB_FLUSH_IF_YOUNG=y
CONFIG_KVM_MMU_LOCKLESS_AGING=y
CONFIG_KVM_GUEST_MEMFD=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM_X86=y
CONFIG_KVM=y
CONFIG_KVM_WERROR=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
# CONFIG_KVM_INTEL_PROVE_VE is not set
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
CONFIG_KVM_IOAPIC=y
CONFIG_KVM_SMM=y
CONFIG_KVM_HYPERV=y
# CONFIG_KVM_XEN is not set
# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_X86_REQUIRED_FEATURE_ALWAYS=y
CONFIG_X86_REQUIRED_FEATURE_NOPL=y
CONFIG_X86_REQUIRED_FEATURE_CX8=y
CONFIG_X86_REQUIRED_FEATURE_CMOV=y
CONFIG_X86_REQUIRED_FEATURE_CPUID=y
CONFIG_X86_REQUIRED_FEATURE_FPU=y
CONFIG_X86_REQUIRED_FEATURE_PAE=y
CONFIG_X86_REQUIRED_FEATURE_MSR=y
CONFIG_X86_REQUIRED_FEATURE_FXSR=y
CONFIG_X86_REQUIRED_FEATURE_XMM=y
CONFIG_X86_REQUIRED_FEATURE_XMM2=y
CONFIG_X86_REQUIRED_FEATURE_LM=y
CONFIG_X86_DISABLED_FEATURE_VME=y
CONFIG_X86_DISABLED_FEATURE_K6_MTRR=y
CONFIG_X86_DISABLED_FEATURE_CYRIX_ARR=y
CONFIG_X86_DISABLED_FEATURE_CENTAUR_MCR=y
CONFIG_X86_DISABLED_FEATURE_LAM=y
CONFIG_X86_DISABLED_FEATURE_TDX_GUEST=y
CONFIG_X86_DISABLED_FEATURE_USER_SHSTK=y
CONFIG_X86_DISABLED_FEATURE_SEV_SNP=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y
CONFIG_ARCH_HAS_DMA_OPS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_CLUSTER=y
CONFIG_ARCH_SUPPORTS_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_MC=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_IRQ_ENTRY=y
CONFIG_GENERIC_SYSCALL=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_KSTACK_ERASE=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_AUTOFDO_CLANG=y
CONFIG_ARCH_SUPPORTS_PROPELLER_CLANG=y
CONFIG_ARCH_SUPPORTS_CFI=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_HAS_EXECMEM_ROX=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=32
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARCH_SUPPORTS_RT=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
CONFIG_ARCH_VMLINUX_NEEDS_RELOCS=y
CONFIG_HAVE_GENERIC_TIF_BITS=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_ARCH_HAS_CPU_ATTACK_VECTORS=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
# CONFIG_GENKSYMS is not set
CONFIG_GENDWARFKSYMS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_EXTENDED_MODVERSIONS=y
CONFIG_BASIC_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_SED_OPAL=y
# CONFIG_BLK_INLINE_ENCRYPTION is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_AIX_PARTITION=y
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types

CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
# CONFIG_BFQ_CGROUP_DEBUG is not set
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
CONFIG_ZSWAP_SHRINKER_DEFAULT_ON=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
CONFIG_ZSMALLOC=y

#
# Zsmalloc allocator options
#

#
# Zsmalloc is a common backend allocator for zswap & zram
#
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8
# end of Zsmalloc allocator options

#
# Slab allocator options
#
CONFIG_SLUB=y
CONFIG_KVFREE_RCU_BATCHED=y
# CONFIG_SLUB_TINY is not set
# CONFIG_SLAB_MERGE_DEFAULT is not set
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_BUCKETS=y
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_PREINIT=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_ARCH_WANT_HUGETLB_VMEMMAP_PREINIT=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MHP_DEFAULT_ONLINE_TYPE_OFFLINE=y
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO is not set
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_KERNEL is not set
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_MOVABLE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_PERSISTENT_HUGE_ZERO_FOLIO is not set
CONFIG_MM_ID=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PUD_PFNMAP=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=7
CONFIG_PAGE_BLOCK_MAX_ORDER=10
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_ARCH_USES_PG_ARCH_2=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
CONFIG_PTE_MARKER_UFFD_WP=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y
CONFIG_EXECMEM=y
CONFIG_NUMA_MEMBLKS=y
# CONFIG_NUMA_EMU is not set
CONFIG_ARCH_SUPPORTS_PT_RECLAIM=y
CONFIG_PT_RECLAIM=y
CONFIG_FIND_NORMAL_PAGE=y

#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_DECRYPTED=y
CONFIG_SKB_EXTENSIONS=y
CONFIG_NET_DEVMEM=y
CONFIG_NET_CRC32C=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
# CONFIG_INET_PSP is not set
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=m
CONFIG_TLS_DEVICE=y
# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_USER_COMPAT is not set
CONFIG_XFRM_INTERFACE=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=m
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_XFRM_IPTFS is not set
# CONFIG_DIBS is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=m
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=m
# CONFIG_INET_ESPINTCP is not set
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
# CONFIG_INET_RAW_DIAG is not set
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_NV=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_CDG=m
CONFIG_TCP_CONG_BBR=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=m
# CONFIG_INET6_ESPINTCP is not set
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_FOU=m
CONFIG_IPV6_FOU_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_IOAM6_LWTUNNEL=y
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=m
# CONFIG_NF_CT_NETLINK_HELPER is not set
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
# CONFIG_NFT_EXTHDR_DCCP is not set
CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=m
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
# CONFIG_NF_DUP_NETDEV is not set
# CONFIG_NFT_DUP_NETDEV is not set
# CONFIG_NFT_FWD_NETDEV is not set
CONFIG_NFT_FIB_NETDEV=m
# CONFIG_NFT_REJECT_NETDEV is not set
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y
# CONFIG_NETFILTER_XTABLES_LEGACY is not set

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
# CONFIG_IP_VS_TWOS is not set

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NF_CONNTRACK_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA256=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=m
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_6LOWPAN is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_CBS=m
CONFIG_NET_SCH_ETF=m
CONFIG_NET_SCH_MQPRIO_LIB=m
CONFIG_NET_SCH_TAPRIO=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_SKBPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_FQ_PIE=m
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=m
# CONFIG_NET_SCH_ETS is not set
# CONFIG_NET_SCH_BPF is not set
# CONFIG_NET_SCH_DUALPI2 is not set
# CONFIG_NET_SCH_DEFAULT is not set

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_EMATCH_IPSET=m
CONFIG_NET_EMATCH_IPT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_ACT_MPLS=m
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_ACT_CTINFO=m
CONFIG_NET_ACT_SKBMOD=m
# CONFIG_NET_ACT_IFE is not set
CONFIG_NET_ACT_TUNNEL_KEY=m
CONFIG_NET_ACT_CT=m
# CONFIG_NET_ACT_GATE is not set
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_HYPERV_VSOCKETS=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
CONFIG_MPLS_ROUTING=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_NET_NSH=m
CONFIG_HSR=m
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
CONFIG_NET_NCSI=y
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_RFKILL is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_XEN is not set
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
# CONFIG_NFC is not set
CONFIG_PSAMPLE=m
CONFIG_NET_IFE=m
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SOCK_MSG=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIE_ECRC=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
CONFIG_PCIE_PTM=y
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=m
CONFIG_PCI_PF_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_PCI_ATS=y
# CONFIG_PCI_DOE is not set
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCIE_TPH is not set
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
CONFIG_PCI_HYPERV=y
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
# CONFIG_VGA_ARB is not set
# CONFIG_HOTPLUG_PCI is not set

#
# PCI controller drivers
#
# CONFIG_VMD is not set
CONFIG_PCI_HYPERV_INTERFACE=y

#
# Cadence-based PCIe controllers
#
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers

#
# PLDA-based PCIe controllers
#
# end of PLDA-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_PCI_PWRCTRL_SLOT is not set
# CONFIG_CXL_BUS is not set
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set
# CONFIG_PC104 is not set

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_DEBUG=y
# CONFIG_RUST_FW_LOADER_ABSTRACTIONS is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_XZ=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
CONFIG_HMEM_REPORTING=y
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_SYS_HYPERVISOR=y
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_APPLE_PROPERTIES is not set
CONFIG_RESET_ATTACK_MITIGATION=y
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# CONFIG_OVMF_DEBUG_LOG is not set
CONFIG_UNACCEPTED_MEMORY=y
CONFIG_EFI_SBAT_FILE=""
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_FWCTL is not set
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_RUST_NULL is not set
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_BACKEND_LZ4 is not set
# CONFIG_ZRAM_BACKEND_LZ4HC is not set
# CONFIG_ZRAM_BACKEND_ZSTD is not set
# CONFIG_ZRAM_BACKEND_DEFLATE is not set
# CONFIG_ZRAM_BACKEND_842 is not set
CONFIG_ZRAM_BACKEND_FORCE_LZO=y
CONFIG_ZRAM_BACKEND_LZO=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_LZO is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
CONFIG_ZRAM_WRITEBACK=y
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_ATA_OVER_ETH is not set
CONFIG_XEN_BLKDEV_FRONTEND=y
# CONFIG_XEN_BLKDEV_BACKEND is not set
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_UBLK is not set
# CONFIG_BLK_DEV_ZONED_LOOP is not set

#
# NVME Support
#
CONFIG_NVME_KEYRING=m
CONFIG_NVME_AUTH=m
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
CONFIG_NVME_FABRICS=m
# CONFIG_NVME_FC is not set
CONFIG_NVME_TCP=m
CONFIG_NVME_TCP_TLS=y
CONFIG_NVME_HOST_AUTH=y
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_DEBUGFS is not set
CONFIG_NVME_TARGET_PASSTHRU=y
CONFIG_NVME_TARGET_LOOP=m
# CONFIG_NVME_TARGET_FC is not set
CONFIG_NVME_TARGET_TCP=m
CONFIG_NVME_TARGET_TCP_TLS=y
CONFIG_NVME_TARGET_AUTH=y
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TI_FPC202 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
# CONFIG_NTSYNC is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# CONFIG_EEPROM_M24LR is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_GENWQE is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_KEBA_CP500 is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_XEN_SCSI_FRONTEND is not set
CONFIG_HYPERV_STORAGE=y
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=y
CONFIG_SCSI_DH=y
# CONFIG_SCSI_DH_RDAC is not set
# CONFIG_SCSI_DH_HP_SW is not set
# CONFIG_SCSI_DH_EMC is not set
# CONFIG_SCSI_DH_ALUA is not set
# end of SCSI device support

# CONFIG_ATA is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_BITMAP=y
# CONFIG_MD_LLBITMAP is not set
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MD_CLUSTER is not set
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
# CONFIG_DM_CACHE is not set
# CONFIG_DM_WRITECACHE is not set
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_MULTIPATH_HST=m
CONFIG_DM_MULTIPATH_IOA=m
CONFIG_DM_DELAY=m
# CONFIG_DM_DUST is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
# CONFIG_DM_INTEGRITY is not set
# CONFIG_DM_ZONED is not set
# CONFIG_DM_AUDIT is not set
# CONFIG_DM_VDO is not set
# CONFIG_DM_PCACHE is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_ISCSI_TARGET=m
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_WIREGUARD=m
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_OVPN=m
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
# CONFIG_IPVTAP is not set
CONFIG_VXLAN=y
CONFIG_GENEVE=y
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
# CONFIG_NLMON is not set
CONFIG_NETKIT=y
CONFIG_NET_VRF=m
CONFIG_VSOCKMON=m
# CONFIG_ARCNET is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_ETHERNET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_MDIO_BUS is not set
# CONFIG_PHYLIB is not set

#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers

CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
# CONFIG_PPPOATM is not set
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
# CONFIG_SLIP is not set
CONFIG_SLHC=y

#
# Host-side USB support is needed for USB Network Adapter support
#
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
# CONFIG_WAN is not set

#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN

CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
# CONFIG_FUJITSU_ES is not set
CONFIG_HYPERV_NET=y
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=y
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set

#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_RMI4_CORE is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=y
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
CONFIG_HYPERV_KEYBOARD=y
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_LEGACY_TIOCSTI is not set
# CONFIG_LDISC_AUTOLOAD is not set

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_PCI1XXXX is not set
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
# CONFIG_SERIAL_8250_LPSS is not set
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_8250_NI is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_TTY_PRINTK is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=m
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
CONFIG_NVRAM=m
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
CONFIG_TCG_TPM2_HMAC=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
# CONFIG_TCG_XEN is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_SVSM is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_ZHAOXIN is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_CORE is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=m
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
# CONFIG_SPI is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set
# CONFIG_PPS_GENERATOR is not set

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_VMCLOCK=m
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_NETC_V4_TIMER is not set
# end of PTP clock support

#
# DPLL device support
#
# CONFIG_ZL3073X_I2C is not set
# end of DPLL device support

CONFIG_PINCTRL=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_CY8C95X0 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_SX150X is not set

#
# Intel pinctrl drivers
#
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
# CONFIG_PINCTRL_LYNXPOINT is not set
# CONFIG_PINCTRL_INTEL_PLATFORM is not set
# CONFIG_PINCTRL_ALDERLAKE is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CEDARFORK is not set
# CONFIG_PINCTRL_DENVERTON is not set
# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_ICELAKE is not set
# CONFIG_PINCTRL_JASPERLAKE is not set
# CONFIG_PINCTRL_LAKEFIELD is not set
# CONFIG_PINCTRL_LEWISBURG is not set
# CONFIG_PINCTRL_METEORLAKE is not set
# CONFIG_PINCTRL_METEORPOINT is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_TIGERLAKE is not set
# CONFIG_PINCTRL_MERRIFIELD is not set
# CONFIG_PINCTRL_MOOREFIELD is not set
# end of Intel pinctrl drivers

#
# Renesas pinctrl drivers
#
# end of Renesas pinctrl drivers

CONFIG_GPIOLIB_LEGACY=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_SEQUENCING is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_MAX8971 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
# CONFIG_THERMAL_CORE_TESTING is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_PCIE_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_LENOVO_SE10_WDT is not set
# CONFIG_LENOVO_SE30_WDT is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_INTEL_MID_WATCHDOG is not set
# CONFIG_INTEL_OC_WATCHDOG is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_XEN_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CGBC is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
CONFIG_MFD_INTEL_LPSS=m
CONFIG_MFD_INTEL_LPSS_ACPI=m
CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77705 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_NCT6694 is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_BQ257XX is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_QNAP_MCU is not set
# CONFIG_MFD_UPBOARD_FPGA is not set
# CONFIG_MFD_MAX7360 is not set
# end of Multifunction device drivers

# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set

#
# CEC support
#
# CONFIG_MEDIA_CEC_SUPPORT is not set
# end of CEC support

# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_AGP is not set
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y

#
# DRM debugging options
#
# CONFIG_DRM_WERROR is not set
# CONFIG_DRM_DEBUG_MM is not set
# end of DRM debugging options

CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_PANIC is not set
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_CLIENT_SELECTION=m

#
# Supported DRM clients
#
# CONFIG_DRM_FBDEV_EMULATION is not set
# CONFIG_DRM_CLIENT_LOG is not set
# end of Supported DRM clients

# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_TTM_HELPER=m
CONFIG_DRM_GEM_SHMEM_HELPER=m

#
# Drivers for system framebuffers
#
# CONFIG_DRM_EFIDRM is not set
# CONFIG_DRM_SIMPLEDRM is not set
# CONFIG_DRM_VESADRM is not set
# end of Drivers for system framebuffers

#
# ARM devices
#
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_NOVA is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=m
# CONFIG_DRM_VKMS is not set
CONFIG_DRM_VMWGFX=m
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_VIRTIO_GPU is not set
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_APPLETBDRM is not set
# CONFIG_DRM_BOCHS is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_XEN_FRONTEND is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_ST7571_I2C is not set
# CONFIG_DRM_SSD130X is not set
# CONFIG_DRM_HYPERV is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
# CONFIG_FB is not set
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
# end of Backlight & LCD device support

CONFIG_HDMI=y
# CONFIG_FIRMWARE_EDID is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
# end of Console display driver support

# CONFIG_TRACE_GPU_MEM is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=m
# CONFIG_HID_HAPTIC is not set

#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACCUTOUCH is not set
# CONFIG_HID_ACRUX is not set
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
# CONFIG_HID_EVISION is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_FT260 is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_KYSONA is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_ITE is not set
# CONFIG_HID_JABRA is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_LETSKETCH is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_REDRAGON is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTI is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PENMOUNT is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
CONFIG_HID_HYPERV_MOUSE=m
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_TOPRE is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_WACOM is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
# CONFIG_HID_ALPS is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# CONFIG_HID_BPF is not set
# end of HID-BPF support

CONFIG_I2C_HID=m
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set

#
# Intel ISH HID support
#
# CONFIG_INTEL_ISH_HID is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

#
# Intel THC HID Support
#
# CONFIG_INTEL_THC_HID is not set
# end of Intel THC HID Support

#
# USB HID support
#
CONFIG_USB_HID=m
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# end of USB HID Boot Protocol drivers
# end of USB HID support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
# CONFIG_USB_MON is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set
# CONFIG_USB_XEN_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 
see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
CONFIG_USB_UAS=m

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_ISP1760 is not set

#
# USB port drivers
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
CONFIG_USB_SERIAL_CH341=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP210X=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MXUPORT is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
# CONFIG_USB_SERIAL_XR is not set
# CONFIG_USB_SERIAL_DEBUG is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
# CONFIG_USB_USBIO is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ATM is not set

#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers

# CONFIG_USB_GADGET is not set
# CONFIG_TYPEC is not set
# CONFIG_USB_ROLE_SWITCH is not set
# CONFIG_MMC is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=y
# CONFIG_EDAC_GHES is not set
# CONFIG_EDAC_SCRUB is not set
# CONFIG_EDAC_ECS is not set
# CONFIG_EDAC_MEM_REPAIR is not set
# CONFIG_EDAC_AMD64 is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD2405AL is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set

#
# HID Sensor RTC drivers
#
# CONFIG_DMADEVICES is not set

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
CONFIG_UDMABUF=y
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
# end of DMABUF options

CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_PDRV_GENIRQ is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_MF624 is not set
CONFIG_UIO_HV_GENERIC=m
CONFIG_VFIO=m
CONFIG_VFIO_GROUP=y
CONFIG_VFIO_CONTAINER=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=m
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=m
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_PMEM is not set
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=m
# CONFIG_VIRTIO_INPUT is not set
CONFIG_VIRTIO_MMIO=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
# CONFIG_VIRTIO_DEBUG is not set
# CONFIG_VIRTIO_RTC is not set
# CONFIG_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=y
# CONFIG_HYPERV_VTL_MODE is not set
CONFIG_HYPERV_TIMER=y
CONFIG_HYPERV_UTILS=y
CONFIG_HYPERV_BALLOON=y
CONFIG_HYPERV_VMBUS=y
# CONFIG_MSHV_ROOT is not set
# end of Microsoft Hyper-V guest support

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCI_STUB=y
CONFIG_XEN_PCIDEV_BACKEND=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
# CONFIG_XEN_PVCALLS_BACKEND is not set
# CONFIG_XEN_SCSI_BACKEND is not set
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_ACPI_PROCESSOR=m
# CONFIG_XEN_MCE_LOG is not set
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
CONFIG_XEN_UNPOPULATED_ALLOC=y
# CONFIG_XEN_VIRTIO is not set
# end of Xen driver support

# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
# CONFIG_SURFACE_PLATFORMS is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
# CONFIG_ACPI_WMI_LEGACY_DEVICE_NAMES is not set
CONFIG_WMI_BMOF=m
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_REDMI_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set

#
# AMD HSMP Driver
#
# CONFIG_AMD_HSMP_ACPI is not set
# CONFIG_AMD_HSMP_PLAT is not set
# end of AMD HSMP Driver

# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HFI is not set
# CONFIG_AMD_3D_VCACHE is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_AMD_ISP_PLATFORM is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_ASUS_WIRELESS is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_LENOVO_WMI_HOTKEY_UTILITIES is not set
# CONFIG_LENOVO_WMI_CAMERA is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_LENOVO_WMI_GAMEZONE is not set
# CONFIG_LENOVO_WMI_TUNING is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_MSI_EC is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
CONFIG_INTEL_SCU_IPC=y
CONFIG_INTEL_SCU=y
CONFIG_INTEL_SCU_PCI=y
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_INTEL_SCU_IPC_UTIL is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
# CONFIG_TUXEDO_NB04_WMI_AB is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_CLKBLD_I8253=y
CONFIG_DW_APB_TIMER=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
CONFIG_IOMMU_IO_PGTABLE=y
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
CONFIG_AMD_IOMMU=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
# CONFIG_IOMMUFD is not set
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQ_MSI_LIB=y
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
# CONFIG_RAS_CEC is not set
# CONFIG_AMD_ATL is not set
# CONFIG_USB4 is not set

#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# CONFIG_ANDROID_BINDER_IPC_RUST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_HMEM_DEVICES=y
CONFIG_DEV_DAX_KMEM=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_LAYOUTS is not set
# CONFIG_NVMEM_RMEM is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_SUPPORT_V4 is not set
CONFIG_XFS_SUPPORT_ASCII_CI=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
CONFIG_XFS_WARN=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_EXPERIMENTAL is not set
# CONFIG_NILFS2_FS is not set
CONFIG_F2FS_FS=m
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_F2FS_FS_COMPRESSION is not set
CONFIG_F2FS_IOSTAT=y
# CONFIG_F2FS_UNFAIR_RWSEM is not set
# CONFIG_ZONEFS_FS is not set
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_FUSE_IO_URING=y
CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
# CONFIG_OVERLAY_FS_DEBUG is not set

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_CACHEFILES is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=m
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
CONFIG_NTFS_FS=m
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
# CONFIG_TMPFS_QUOTA is not set
CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
# CONFIG_SQUASHFS_COMP_CACHE_FULL is not set
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
# CONFIG_UFS_FS is not set
CONFIG_EROFS_FS=m
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_BACKED_BY_FILE=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ZIP_ZSTD is not set
# CONFIG_EROFS_FS_ZIP_ACCEL is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFS_V4_2_READ_PLUS is not set
CONFIG_NFSD=m
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_LEGACY_CLIENT_TRACKING=y
# CONFIG_NFSD_V4_DELEG_TIMESTAMPS is not set
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
# CONFIG_NFS_LOCALIO is not set
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
CONFIG_SUNRPC_DEBUG=y
# CONFIG_SUNRPC_DEBUG_TRACE is not set
CONFIG_CEPH_FS=m
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS2=y
# CONFIG_CIFS_ALLOW_INSECURE_LEGACY is not set
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SWN_UPCALL is not set
# CONFIG_CIFS_FSCACHE is not set
# CONFIG_CIFS_COMPRESSION is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=m
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
CONFIG_HAVE_TRUSTED_KEYS=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_USER_DECRYPTED_DATA is not set
# CONFIG_KEY_DH_OPERATIONS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
CONFIG_SECURITY=y
CONFIG_HAS_SECURITY_AUDIT=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
# CONFIG_SECURITY_APPARMOR_DEBUG is not set
CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
CONFIG_SECURITY_LANDLOCK=y
# CONFIG_SECURITY_IPE is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
# CONFIG_IMA_KEXEC is not set
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
# CONFIG_IMA_NG_TEMPLATE is not set
CONFIG_IMA_SIG_TEMPLATE=y
CONFIG_IMA_DEFAULT_TEMPLATE="ima-sig"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
# CONFIG_IMA_APPRAISE is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_IMA_DISABLE_HTABLE is not set
# CONFIG_EVM is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,selinux,apparmor,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
# CONFIG_INIT_STACK_NONE is not set
# CONFIG_INIT_STACK_ALL_PATTERN is not set
CONFIG_INIT_STACK_ALL_ZERO=y
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization

#
# Bounds checking
#
CONFIG_FORTIFY_SOURCE=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDENED_USERCOPY_DEFAULT_ON=y
# end of Bounds checking

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
# CONFIG_RUST_BITMAP_HARDENED is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_HKDF=m
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_SELFTESTS is not set
CONFIG_CRYPTO_NULL=y
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_KRB5ENC is not set
# CONFIG_CRYPTO_BENCHMARK is not set
CONFIG_CRYPTO_ENGINE=m
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=m
CONFIG_CRYPTO_DH_RFC7919_GROUPS=y
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
CONFIG_CRYPTO_ECDSA=y
CONFIG_CRYPTO_ECRDSA=m
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARIA is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_SM4_GENERIC is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=m
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# end of Userspace interface

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
# CONFIG_CRYPTO_DEV_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
# CONFIG_CRYPTO_DEV_QAT_C62X is not set
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
# CONFIG_CRYPTO_DEV_QAT_6XXX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
# CONFIG_SYSTEM_REVOCATION_LIST is not set
# end of Certificates for signature checking

# CONFIG_CRYPTO_KRB5 is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_PACKING=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=m
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
CONFIG_CRC16=y
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_T10DIF_ARCH=y
CONFIG_CRC32=y
CONFIG_CRC32_ARCH=y
CONFIG_CRC64=y
CONFIG_CRC64_ARCH=y
CONFIG_CRC_OPTIMIZATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_AESCFB=y
CONFIG_CRYPTO_LIB_AESGCM=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_LIB_BLAKE2S_ARCH=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_ARCH=y
CONFIG_CRYPTO_LIB_CURVE25519=m
CONFIG_CRYPTO_LIB_CURVE25519_ARCH=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_MD5=y
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_POLY1305_ARCH=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA1_ARCH=y
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_LIB_SHA256_ARCH=y
CONFIG_CRYPTO_LIB_SHA512=y
CONFIG_CRYPTO_LIB_SHA512_ARCH=y
# end of Crypto library routines

CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_ARM64=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_RISCV=y
CONFIG_XZ_DEC_MICROLZMA=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS_HELPERS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_NEED_SYNC=y
CONFIG_DMA_COHERENT_POOL=y
# CONFIG_DMA_CMA is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_IOMMU_HELPER=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
CONFIG_VDSO_GETRANDOM=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_ASN1_ENCODER=m
CONFIG_FIRMWARE_TABLE=y
CONFIG_UNION_FIND=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_MISC is not set

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
CONFIG_DEBUG_INFO_DWARF5=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_COMPRESSED_ZSTD is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
# CONFIG_OBJTOOL_WERROR is not set
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
# CONFIG_MAGIC_SYSRQ_SERIAL is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# CONFIG_KCSAN is not set
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# CONFIG_DEBUG_NET_SMALL_RTNL is not set
# end of Networking Debugging

#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_TABLE_CHECK is not set
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
# CONFIG_DEBUG_WX is not set
CONFIG_ARCH_HAS_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VFS is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_TIMEOUT=-1
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_DETECT_HUNG_TASK_BLOCKER=y
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

# CONFIG_DEBUG_PREEMPT is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures

#
# RCU Debugging
#
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_LATENCYTOP=y
# CONFIG_DEBUG_CGROUP_REF is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y
CONFIG_HAVE_FTRACE_GRAPH_FUNC=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_FTRACE_REGS_HAVING_PT_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_TRACEFS_AUTOMOUNT_DEPRECATED=y
# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_FUNCTION_GRAPH_RETVAL=y
CONFIG_FUNCTION_GRAPH_RETADDR=y
CONFIG_FUNCTION_TRACE_ARGS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
# CONFIG_FPROBE is not set
# CONFIG_FUNCTION_PROFILER is not set
CONFIG_STACK_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
CONFIG_FTRACE_SYSCALLS=y
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_PROBE_EVENTS_BTF_ARGS=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_EPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
CONFIG_TRACING_MAP=y
CONFIG_SYNTH_EVENTS=y
CONFIG_USER_EVENTS=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_HIST_TRIGGERS_DEBUG is not set
# CONFIG_RV is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y

#
# x86 Debugging
#
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_DEBUG is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FUNCTION_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# CONFIG_RUST_DEBUG_ASSERTIONS is not set
CONFIG_RUST_OVERFLOW_CHECKS=y
# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
# end of Rust hacking
# end of Kernel hacking

CONFIG_IO_URING_ZCRX=y


On 11/6/2025 9:57 PM, Miguel Ojeda wrote:
> On Thu, Nov 6, 2025 at 2:08 PM Haiyue Wang <haiyuewa@163.com> wrote:
>>
>> Strange thing is that ONLY 'rust/bindings.o'failed. And if I add
>> '$(obj)/bindings.o: private skip_gendwarfksyms = 1', rust build
>> will be successful.
> 
> Thanks for the report!
> 
> Would you mind copy-pasting/attaching the your kernel config file
> instead? i.e. the `.config` file (the `rustc` flags aren't the best to
> reproduce the issue).
> 
> Cc'ing Sami as well.
> 
> Cheers,
> Miguel

[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 136956 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.18.0-rc4 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=24200
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24200
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=109100
CONFIG_RUST_IS_AVAILABLE=y
CONFIG_RUSTC_LLVM_VERSION=210102
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_ASSUME=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
CONFIG_RUSTC_HAS_COERCE_POINTEE=y
CONFIG_RUSTC_HAS_SPAN_FILE=y
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
CONFIG_RUSTC_HAS_FILE_WITH_NUL=y
CONFIG_RUSTC_HAS_FILE_AS_C_STR=y
CONFIG_PAHOLE_VERSION=130
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME=""
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
# CONFIG_POSIX_AUX_CLOCKS is not set
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
# CONFIG_BPF_PRELOAD is not set
CONFIG_BPF_LSM=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
CONFIG_ARCH_HAS_PREEMPT_LAZY=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_LAZY is not set
# CONFIG_PREEMPT_RT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
# CONFIG_SCHED_CORE is not set
CONFIG_SCHED_CLASS_EXT=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_RUDE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=m
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_GROUP_SCHED_WEIGHT=y
CONFIG_GROUP_SCHED_BANDWIDTH=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_EXT_GROUP_SCHED=y
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
# CONFIG_CGROUP_DMEM is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
# CONFIG_BOOT_CONFIG_FORCE is not set
# CONFIG_BOOT_CONFIG_EMBED is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_SMALL is not set
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_FUTEX_PRIVATE_HASH=y
CONFIG_FUTEX_MPOL=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
# CONFIG_IO_URING_MOCK_FILE is not set
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_PROFILING=y
CONFIG_RUST=y
CONFIG_RUSTC_VERSION_TEXT="rustc 1.91.0 (f8297e351 2025-10-28)"
CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.72.1"
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_HAVE_IMA_KEXEC=y
# CONFIG_KEXEC is not set
CONFIG_KEXEC_FILE=y
# CONFIG_KEXEC_SIG is not set
# CONFIG_KEXEC_HANDOVER is not set
# CONFIG_CRASH_DUMP is not set
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=5

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
# CONFIG_AMD_SECURE_AVIC is not set
# CONFIG_X86_POSTED_MSI is not set
# CONFIG_X86_MPPARSE is not set
# CONFIG_X86_CPU_RESCTRL is not set
CONFIG_X86_FRED=y
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_UV is not set
CONFIG_X86_INTEL_MID=y
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_XXL=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
CONFIG_XEN_PV=y
CONFIG_XEN_512GB=y
CONFIG_XEN_PV_SMP=y
CONFIG_XEN_PV_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_PVHVM_GUEST=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PVH=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PV_MSR_SAFE=y
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_BHYVE_GUEST is not set
# CONFIG_INTEL_TDX_GUEST is not set
CONFIG_CC_HAS_MARCH_NATIVE=y
# CONFIG_X86_NATIVE_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CX8=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_BROADCAST_TLB_FLUSH=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS_RANGE_BEGIN=8192
CONFIG_NR_CPUS_RANGE_END=8192
CONFIG_NR_CPUS_DEFAULT=8192
CONFIG_NR_CPUS=8192
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_ACPI_MADT_WAKEUP=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=m
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
CONFIG_PERF_EVENTS_AMD_POWER=m
CONFIG_PERF_EVENTS_AMD_UNCORE=m
CONFIG_PERF_EVENTS_AMD_BRS=y
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
# CONFIG_X86_IOPL_IOPERM is not set
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
# CONFIG_MICROCODE_DBG is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_X86_MEM_ENCRYPT=y
CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_ARCH_PKEY_BITS=4
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
# CONFIG_X86_USER_SHADOW_STACK is not set
# CONFIG_INTEL_TDX_HOST is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y
# CONFIG_EFI_MIXED is not set
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SELECTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_KEXEC_HANDOVER=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_DEFAULT_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_LEGACY_VSYSCALL_XONLY is not set
CONFIG_LEGACY_VSYSCALL_NONE=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
CONFIG_X86_BUS_LOCK_DETECT=y
# end of Processor type and features

CONFIG_CC_HAS_NAMED_AS=y
CONFIG_CC_HAS_NAMED_AS_FIXED_SANITIZERS=y
CONFIG_USE_X86_SEG_SUPPORT=y
CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CALL_PADDING=y
CONFIG_HAVE_CALL_THUNKS=y
CONFIG_CALL_THUNKS=y
CONFIG_PREFIX_SYMBOLS=y
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_RETHUNK=y
CONFIG_MITIGATION_UNRET_ENTRY=y
CONFIG_MITIGATION_CALL_DEPTH_TRACKING=y
# CONFIG_CALL_THUNKS_DEBUG is not set
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
CONFIG_MITIGATION_SRSO=y
CONFIG_MITIGATION_SLS=y
CONFIG_MITIGATION_GDS=y
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_MITIGATION_MDS=y
CONFIG_MITIGATION_TAA=y
CONFIG_MITIGATION_MMIO_STALE_DATA=y
CONFIG_MITIGATION_L1TF=y
CONFIG_MITIGATION_RETBLEED=y
CONFIG_MITIGATION_SPECTRE_V1=y
CONFIG_MITIGATION_SPECTRE_V2=y
CONFIG_MITIGATION_SRBDS=y
CONFIG_MITIGATION_SSB=y
CONFIG_MITIGATION_ITS=y
CONFIG_MITIGATION_TSA=y
CONFIG_MITIGATION_VMSCAPE=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_CLK=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
# CONFIG_ACPI_TINY_POWER_BUTTON is not set
CONFIG_ACPI_FAN=m
# CONFIG_ACPI_TAD is not set
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_HED=y
# CONFIG_ACPI_BGRT is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_HMAT=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
# CONFIG_ACPI_APEI_EINJ is not set
CONFIG_ACPI_APEI_ERST_DEBUG=m
CONFIG_ACPI_DPTF=y
CONFIG_DPTF_POWER=m
CONFIG_DPTF_PCH_FIVR=m
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
CONFIG_ACPI_MRRM=y
CONFIG_PMIC_OPREGION=y
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
CONFIG_CPUFREQ_ARCH_CUR_FREQ=y
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_AMD_NODE=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_GENERIC_PRE_FAULT_MEMORY=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_VIRT_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_KVM_ELIDE_TLB_FLUSH_IF_YOUNG=y
CONFIG_KVM_MMU_LOCKLESS_AGING=y
CONFIG_KVM_GUEST_MEMFD=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM_X86=y
CONFIG_KVM=y
CONFIG_KVM_WERROR=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
# CONFIG_KVM_INTEL_PROVE_VE is not set
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
CONFIG_KVM_IOAPIC=y
CONFIG_KVM_SMM=y
CONFIG_KVM_HYPERV=y
# CONFIG_KVM_XEN is not set
# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_X86_REQUIRED_FEATURE_ALWAYS=y
CONFIG_X86_REQUIRED_FEATURE_NOPL=y
CONFIG_X86_REQUIRED_FEATURE_CX8=y
CONFIG_X86_REQUIRED_FEATURE_CMOV=y
CONFIG_X86_REQUIRED_FEATURE_CPUID=y
CONFIG_X86_REQUIRED_FEATURE_FPU=y
CONFIG_X86_REQUIRED_FEATURE_PAE=y
CONFIG_X86_REQUIRED_FEATURE_MSR=y
CONFIG_X86_REQUIRED_FEATURE_FXSR=y
CONFIG_X86_REQUIRED_FEATURE_XMM=y
CONFIG_X86_REQUIRED_FEATURE_XMM2=y
CONFIG_X86_REQUIRED_FEATURE_LM=y
CONFIG_X86_DISABLED_FEATURE_VME=y
CONFIG_X86_DISABLED_FEATURE_K6_MTRR=y
CONFIG_X86_DISABLED_FEATURE_CYRIX_ARR=y
CONFIG_X86_DISABLED_FEATURE_CENTAUR_MCR=y
CONFIG_X86_DISABLED_FEATURE_LAM=y
CONFIG_X86_DISABLED_FEATURE_TDX_GUEST=y
CONFIG_X86_DISABLED_FEATURE_USER_SHSTK=y
CONFIG_X86_DISABLED_FEATURE_SEV_SNP=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y
CONFIG_ARCH_HAS_DMA_OPS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_SMT=y
CONFIG_ARCH_SUPPORTS_SCHED_CLUSTER=y
CONFIG_ARCH_SUPPORTS_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_MC=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_IRQ_ENTRY=y
CONFIG_GENERIC_SYSCALL=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_KSTACK_ERASE=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_AUTOFDO_CLANG=y
CONFIG_ARCH_SUPPORTS_PROPELLER_CLANG=y
CONFIG_ARCH_SUPPORTS_CFI=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_HAS_EXECMEM_ROX=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=32
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARCH_SUPPORTS_RT=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
CONFIG_ARCH_VMLINUX_NEEDS_RELOCS=y
CONFIG_HAVE_GENERIC_TIF_BITS=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_ARCH_HAS_CPU_ATTACK_VECTORS=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
# CONFIG_GENKSYMS is not set
CONFIG_GENDWARFKSYMS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_EXTENDED_MODVERSIONS=y
CONFIG_BASIC_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_SED_OPAL=y
# CONFIG_BLK_INLINE_ENCRYPTION is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_AIX_PARTITION=y
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types

CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
# CONFIG_BFQ_CGROUP_DEBUG is not set
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
CONFIG_ZSWAP_SHRINKER_DEFAULT_ON=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
CONFIG_ZSMALLOC=y

#
# Zsmalloc allocator options
#

#
# Zsmalloc is a common backend allocator for zswap & zram
#
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8
# end of Zsmalloc allocator options

#
# Slab allocator options
#
CONFIG_SLUB=y
CONFIG_KVFREE_RCU_BATCHED=y
# CONFIG_SLUB_TINY is not set
# CONFIG_SLAB_MERGE_DEFAULT is not set
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_BUCKETS=y
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_PREINIT=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_ARCH_WANT_HUGETLB_VMEMMAP_PREINIT=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MHP_DEFAULT_ONLINE_TYPE_OFFLINE=y
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_AUTO is not set
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_KERNEL is not set
# CONFIG_MHP_DEFAULT_ONLINE_TYPE_ONLINE_MOVABLE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
# CONFIG_PERSISTENT_HUGE_ZERO_FOLIO is not set
CONFIG_MM_ID=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
# CONFIG_NO_PAGE_MAPCOUNT is not set
CONFIG_PAGE_MAPCOUNT=y
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PUD_PFNMAP=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=7
CONFIG_PAGE_BLOCK_MAX_ORDER=10
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_ARCH_USES_PG_ARCH_2=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
CONFIG_PTE_MARKER_UFFD_WP=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y
CONFIG_EXECMEM=y
CONFIG_NUMA_MEMBLKS=y
# CONFIG_NUMA_EMU is not set
CONFIG_ARCH_SUPPORTS_PT_RECLAIM=y
CONFIG_PT_RECLAIM=y
CONFIG_FIND_NORMAL_PAGE=y

#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_DECRYPTED=y
CONFIG_SKB_EXTENSIONS=y
CONFIG_NET_DEVMEM=y
CONFIG_NET_CRC32C=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
# CONFIG_INET_PSP is not set
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=m
CONFIG_TLS_DEVICE=y
# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_USER_COMPAT is not set
CONFIG_XFRM_INTERFACE=m
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=m
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
# CONFIG_XFRM_IPTFS is not set
# CONFIG_DIBS is not set
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=m
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=m
# CONFIG_INET_ESPINTCP is not set
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
# CONFIG_INET_RAW_DIAG is not set
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_NV=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_CDG=m
CONFIG_TCP_CONG_BBR=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=m
# CONFIG_INET6_ESPINTCP is not set
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_ILA=m
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_FOU=m
CONFIG_IPV6_FOU_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_IOAM6_LWTUNNEL=y
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=m
# CONFIG_NF_CT_NETLINK_HELPER is not set
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
# CONFIG_NFT_EXTHDR_DCCP is not set
CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=m
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
# CONFIG_NF_DUP_NETDEV is not set
# CONFIG_NFT_DUP_NETDEV is not set
# CONFIG_NFT_FWD_NETDEV is not set
CONFIG_NFT_FIB_NETDEV=m
# CONFIG_NFT_REJECT_NETDEV is not set
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y
# CONFIG_NETFILTER_XTABLES_LEGACY is not set

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
# CONFIG_IP_VS_TWOS is not set

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NF_CONNTRACK_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA256=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=m
CONFIG_RDS_TCP=m
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=m
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_6LOWPAN is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_CBS=m
CONFIG_NET_SCH_ETF=m
CONFIG_NET_SCH_MQPRIO_LIB=m
CONFIG_NET_SCH_TAPRIO=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_SKBPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_FQ_PIE=m
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=m
# CONFIG_NET_SCH_ETS is not set
# CONFIG_NET_SCH_BPF is not set
# CONFIG_NET_SCH_DUALPI2 is not set
# CONFIG_NET_SCH_DEFAULT is not set

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_EMATCH_IPSET=m
CONFIG_NET_EMATCH_IPT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_ACT_MPLS=m
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=m
CONFIG_NET_ACT_CTINFO=m
CONFIG_NET_ACT_SKBMOD=m
# CONFIG_NET_ACT_IFE is not set
CONFIG_NET_ACT_TUNNEL_KEY=m
CONFIG_NET_ACT_CT=m
# CONFIG_NET_ACT_GATE is not set
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
# CONFIG_BATMAN_ADV is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_HYPERV_VSOCKETS=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
CONFIG_MPLS_ROUTING=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_NET_NSH=m
CONFIG_HSR=m
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
CONFIG_NET_NCSI=y
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_RFKILL is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_XEN is not set
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
# CONFIG_NFC is not set
CONFIG_PSAMPLE=m
CONFIG_NET_IFE=m
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SOCK_MSG=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIE_ECRC=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
CONFIG_PCIE_PTM=y
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=m
CONFIG_PCI_PF_STUB=m
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_PCI_ATS=y
# CONFIG_PCI_DOE is not set
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCIE_TPH is not set
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
CONFIG_PCI_HYPERV=y
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
# CONFIG_VGA_ARB is not set
# CONFIG_HOTPLUG_PCI is not set

#
# PCI controller drivers
#
# CONFIG_VMD is not set
CONFIG_PCI_HYPERV_INTERFACE=y

#
# Cadence-based PCIe controllers
#
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers

#
# PLDA-based PCIe controllers
#
# end of PLDA-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_PCI_PWRCTRL_SLOT is not set
# CONFIG_CXL_BUS is not set
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set
# CONFIG_PC104 is not set

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_DEBUG=y
# CONFIG_RUST_FW_LOADER_ABSTRACTIONS is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_XZ=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
CONFIG_HMEM_REPORTING=y
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_SYS_HYPERVISOR=y
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_APPLE_PROPERTIES is not set
CONFIG_RESET_ATTACK_MITIGATION=y
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# CONFIG_OVMF_DEBUG_LOG is not set
CONFIG_UNACCEPTED_MEMORY=y
CONFIG_EFI_SBAT_FILE=""
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_FWCTL is not set
# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_RUST_NULL is not set
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_BACKEND_LZ4 is not set
# CONFIG_ZRAM_BACKEND_LZ4HC is not set
# CONFIG_ZRAM_BACKEND_ZSTD is not set
# CONFIG_ZRAM_BACKEND_DEFLATE is not set
# CONFIG_ZRAM_BACKEND_842 is not set
CONFIG_ZRAM_BACKEND_FORCE_LZO=y
CONFIG_ZRAM_BACKEND_LZO=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_LZO is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
CONFIG_ZRAM_WRITEBACK=y
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_ATA_OVER_ETH is not set
CONFIG_XEN_BLKDEV_FRONTEND=y
# CONFIG_XEN_BLKDEV_BACKEND is not set
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_UBLK is not set
# CONFIG_BLK_DEV_ZONED_LOOP is not set

#
# NVME Support
#
CONFIG_NVME_KEYRING=m
CONFIG_NVME_AUTH=m
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
CONFIG_NVME_FABRICS=m
# CONFIG_NVME_FC is not set
CONFIG_NVME_TCP=m
CONFIG_NVME_TCP_TLS=y
CONFIG_NVME_HOST_AUTH=y
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_DEBUGFS is not set
CONFIG_NVME_TARGET_PASSTHRU=y
CONFIG_NVME_TARGET_LOOP=m
# CONFIG_NVME_TARGET_FC is not set
CONFIG_NVME_TARGET_TCP=m
CONFIG_NVME_TARGET_TCP_TLS=y
CONFIG_NVME_TARGET_AUTH=y
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TI_FPC202 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
# CONFIG_NTSYNC is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# CONFIG_EEPROM_M24LR is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_GENWQE is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_KEBA_CP500 is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_XEN_SCSI_FRONTEND is not set
CONFIG_HYPERV_STORAGE=y
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=y
CONFIG_SCSI_DH=y
# CONFIG_SCSI_DH_RDAC is not set
# CONFIG_SCSI_DH_HP_SW is not set
# CONFIG_SCSI_DH_EMC is not set
# CONFIG_SCSI_DH_ALUA is not set
# end of SCSI device support

# CONFIG_ATA is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_BITMAP=y
# CONFIG_MD_LLBITMAP is not set
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MD_CLUSTER is not set
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
# CONFIG_DM_CACHE is not set
# CONFIG_DM_WRITECACHE is not set
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=m
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_MULTIPATH_HST=m
CONFIG_DM_MULTIPATH_IOA=m
CONFIG_DM_DELAY=m
# CONFIG_DM_DUST is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
# CONFIG_DM_INTEGRITY is not set
# CONFIG_DM_ZONED is not set
# CONFIG_DM_AUDIT is not set
# CONFIG_DM_VDO is not set
# CONFIG_DM_PCACHE is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_ISCSI_TARGET=m
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_WIREGUARD=m
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_OVPN=m
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_IFB=m
# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
# CONFIG_IPVTAP is not set
CONFIG_VXLAN=y
CONFIG_GENEVE=y
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
# CONFIG_NLMON is not set
CONFIG_NETKIT=y
CONFIG_NET_VRF=m
CONFIG_VSOCKMON=m
# CONFIG_ARCNET is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_ETHERNET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_MDIO_BUS is not set
# CONFIG_PHYLIB is not set

#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers

CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
# CONFIG_PPPOATM is not set
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
# CONFIG_SLIP is not set
CONFIG_SLHC=y

#
# Host-side USB support is needed for USB Network Adapter support
#
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
# CONFIG_WAN is not set

#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN

CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_VMXNET3=m
# CONFIG_FUJITSU_ES is not set
CONFIG_HYPERV_NET=y
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=y
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set

#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_RMI4_CORE is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=y
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
CONFIG_HYPERV_KEYBOARD=y
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_LEGACY_TIOCSTI is not set
# CONFIG_LDISC_AUTOLOAD is not set

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_PCI1XXXX is not set
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
# CONFIG_SERIAL_8250_LPSS is not set
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_8250_NI is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_TTY_PRINTK is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=m
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
CONFIG_NVRAM=m
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
CONFIG_TCG_TPM2_HMAC=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
# CONFIG_TCG_XEN is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_SVSM is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_ZHAOXIN is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_CORE is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=m
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
# CONFIG_SPI is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set
# CONFIG_PPS_GENERATOR is not set

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_VMCLOCK=m
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_NETC_V4_TIMER is not set
# end of PTP clock support

#
# DPLL device support
#
# CONFIG_ZL3073X_I2C is not set
# end of DPLL device support

CONFIG_PINCTRL=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_CY8C95X0 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_SX150X is not set

#
# Intel pinctrl drivers
#
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
# CONFIG_PINCTRL_LYNXPOINT is not set
# CONFIG_PINCTRL_INTEL_PLATFORM is not set
# CONFIG_PINCTRL_ALDERLAKE is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CEDARFORK is not set
# CONFIG_PINCTRL_DENVERTON is not set
# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_ICELAKE is not set
# CONFIG_PINCTRL_JASPERLAKE is not set
# CONFIG_PINCTRL_LAKEFIELD is not set
# CONFIG_PINCTRL_LEWISBURG is not set
# CONFIG_PINCTRL_METEORLAKE is not set
# CONFIG_PINCTRL_METEORPOINT is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_TIGERLAKE is not set
# CONFIG_PINCTRL_MERRIFIELD is not set
# CONFIG_PINCTRL_MOOREFIELD is not set
# end of Intel pinctrl drivers

#
# Renesas pinctrl drivers
#
# end of Renesas pinctrl drivers

CONFIG_GPIOLIB_LEGACY=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_SEQUENCING is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_MAX8971 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
# CONFIG_THERMAL_CORE_TESTING is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_PCIE_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_LENOVO_SE10_WDT is not set
# CONFIG_LENOVO_SE30_WDT is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_INTEL_MID_WATCHDOG is not set
# CONFIG_INTEL_OC_WATCHDOG is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_XEN_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=m
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CGBC is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
CONFIG_MFD_INTEL_LPSS=m
CONFIG_MFD_INTEL_LPSS_ACPI=m
CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77705 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_NCT6694 is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_BQ257XX is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_QNAP_MCU is not set
# CONFIG_MFD_UPBOARD_FPGA is not set
# CONFIG_MFD_MAX7360 is not set
# end of Multifunction device drivers

# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set

#
# CEC support
#
# CONFIG_MEDIA_CEC_SUPPORT is not set
# end of CEC support

# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_AGP is not set
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y

#
# DRM debugging options
#
# CONFIG_DRM_WERROR is not set
# CONFIG_DRM_DEBUG_MM is not set
# end of DRM debugging options

CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_PANIC is not set
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_CLIENT_SELECTION=m

#
# Supported DRM clients
#
# CONFIG_DRM_FBDEV_EMULATION is not set
# CONFIG_DRM_CLIENT_LOG is not set
# end of Supported DRM clients

# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_TTM_HELPER=m
CONFIG_DRM_GEM_SHMEM_HELPER=m

#
# Drivers for system framebuffers
#
# CONFIG_DRM_EFIDRM is not set
# CONFIG_DRM_SIMPLEDRM is not set
# CONFIG_DRM_VESADRM is not set
# end of Drivers for system framebuffers

#
# ARM devices
#
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_NOVA is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=m
# CONFIG_DRM_VKMS is not set
CONFIG_DRM_VMWGFX=m
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_VIRTIO_GPU is not set
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_APPLETBDRM is not set
# CONFIG_DRM_BOCHS is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_XEN_FRONTEND is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_ST7571_I2C is not set
# CONFIG_DRM_SSD130X is not set
# CONFIG_DRM_HYPERV is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
# CONFIG_FB is not set
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
# end of Backlight & LCD device support

CONFIG_HDMI=y
# CONFIG_FIRMWARE_EDID is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
# end of Console display driver support

# CONFIG_TRACE_GPU_MEM is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=m
# CONFIG_HID_HAPTIC is not set

#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACCUTOUCH is not set
# CONFIG_HID_ACRUX is not set
# CONFIG_HID_APPLEIR is not set
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_ELO is not set
# CONFIG_HID_EVISION is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_FT260 is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_KYSONA is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
# CONFIG_HID_ITE is not set
# CONFIG_HID_JABRA is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_LETSKETCH is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_REDRAGON is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTI is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PENMOUNT is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
CONFIG_HID_HYPERV_MOUSE=m
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_TOPRE is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_WACOM is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
# CONFIG_HID_ALPS is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# CONFIG_HID_BPF is not set
# end of HID-BPF support

CONFIG_I2C_HID=m
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set

#
# Intel ISH HID support
#
# CONFIG_INTEL_ISH_HID is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

#
# Intel THC HID Support
#
# CONFIG_INTEL_THC_HID is not set
# end of Intel THC HID Support

#
# USB HID support
#
CONFIG_USB_HID=m
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# end of USB HID Boot Protocol drivers
# end of USB HID support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
# CONFIG_USB_ULPI_BUS is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
# CONFIG_USB_MON is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set
# CONFIG_USB_XEN_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
CONFIG_USB_UAS=m

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_ISP1760 is not set

#
# USB port drivers
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
CONFIG_USB_SERIAL_CH341=m
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP210X=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MXUPORT is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
# CONFIG_USB_SERIAL_XR is not set
# CONFIG_USB_SERIAL_DEBUG is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
# CONFIG_USB_USBIO is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ATM is not set

#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers

# CONFIG_USB_GADGET is not set
# CONFIG_TYPEC is not set
# CONFIG_USB_ROLE_SWITCH is not set
# CONFIG_MMC is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=y
# CONFIG_EDAC_GHES is not set
# CONFIG_EDAC_SCRUB is not set
# CONFIG_EDAC_ECS is not set
# CONFIG_EDAC_MEM_REPAIR is not set
# CONFIG_EDAC_AMD64 is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD2405AL is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set

#
# HID Sensor RTC drivers
#
# CONFIG_DMADEVICES is not set

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
CONFIG_UDMABUF=y
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
# end of DMABUF options

CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_PDRV_GENIRQ is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_MF624 is not set
CONFIG_UIO_HV_GENERIC=m
CONFIG_VFIO=m
CONFIG_VFIO_GROUP=y
CONFIG_VFIO_CONTAINER=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=m
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=m
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_PMEM is not set
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=m
# CONFIG_VIRTIO_INPUT is not set
CONFIG_VIRTIO_MMIO=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
# CONFIG_VIRTIO_DEBUG is not set
# CONFIG_VIRTIO_RTC is not set
# CONFIG_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL=y

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=y
# CONFIG_HYPERV_VTL_MODE is not set
CONFIG_HYPERV_TIMER=y
CONFIG_HYPERV_UTILS=y
CONFIG_HYPERV_BALLOON=y
CONFIG_HYPERV_VMBUS=y
# CONFIG_MSHV_ROOT is not set
# end of Microsoft Hyper-V guest support

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCI_STUB=y
CONFIG_XEN_PCIDEV_BACKEND=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
# CONFIG_XEN_PVCALLS_BACKEND is not set
# CONFIG_XEN_SCSI_BACKEND is not set
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_ACPI_PROCESSOR=m
# CONFIG_XEN_MCE_LOG is not set
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
CONFIG_XEN_UNPOPULATED_ALLOC=y
# CONFIG_XEN_VIRTIO is not set
# end of Xen driver support

# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
# CONFIG_SURFACE_PLATFORMS is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
# CONFIG_ACPI_WMI_LEGACY_DEVICE_NAMES is not set
CONFIG_WMI_BMOF=m
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_REDMI_WMI is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set

#
# AMD HSMP Driver
#
# CONFIG_AMD_HSMP_ACPI is not set
# CONFIG_AMD_HSMP_PLAT is not set
# end of AMD HSMP Driver

# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HFI is not set
# CONFIG_AMD_3D_VCACHE is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_AMD_ISP_PLATFORM is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_ASUS_WIRELESS is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_LENOVO_WMI_HOTKEY_UTILITIES is not set
# CONFIG_LENOVO_WMI_CAMERA is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_LENOVO_WMI_GAMEZONE is not set
# CONFIG_LENOVO_WMI_TUNING is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_MSI_EC is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
CONFIG_INTEL_SCU_IPC=y
CONFIG_INTEL_SCU=y
CONFIG_INTEL_SCU_PCI=y
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_INTEL_SCU_IPC_UTIL is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
# CONFIG_TUXEDO_NB04_WMI_AB is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_CLKBLD_I8253=y
CONFIG_DW_APB_TIMER=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
CONFIG_IOMMU_IO_PGTABLE=y
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
CONFIG_AMD_IOMMU=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
# CONFIG_IOMMUFD is not set
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQ_MSI_LIB=y
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
# CONFIG_RAS_CEC is not set
# CONFIG_AMD_ATL is not set
# CONFIG_USB4 is not set

#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# CONFIG_ANDROID_BINDER_IPC_RUST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_HMEM_DEVICES=y
CONFIG_DEV_DAX_KMEM=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_LAYOUTS is not set
# CONFIG_NVMEM_RMEM is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_SUPPORT_V4 is not set
CONFIG_XFS_SUPPORT_ASCII_CI=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
CONFIG_XFS_WARN=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_EXPERIMENTAL is not set
# CONFIG_NILFS2_FS is not set
CONFIG_F2FS_FS=m
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_F2FS_FS_COMPRESSION is not set
CONFIG_F2FS_IOSTAT=y
# CONFIG_F2FS_UNFAIR_RWSEM is not set
# CONFIG_ZONEFS_FS is not set
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_FUSE_IO_URING=y
CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
# CONFIG_OVERLAY_FS_DEBUG is not set

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_CACHEFILES is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=m
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
CONFIG_NTFS_FS=m
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
# CONFIG_TMPFS_QUOTA is not set
CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
# CONFIG_SQUASHFS_COMP_CACHE_FULL is not set
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
# CONFIG_UFS_FS is not set
CONFIG_EROFS_FS=m
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_BACKED_BY_FILE=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ZIP_ZSTD is not set
# CONFIG_EROFS_FS_ZIP_ACCEL is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFS_V4_2_READ_PLUS is not set
CONFIG_NFSD=m
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_LEGACY_CLIENT_TRACKING=y
# CONFIG_NFSD_V4_DELEG_TIMESTAMPS is not set
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
# CONFIG_NFS_LOCALIO is not set
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
CONFIG_SUNRPC_DEBUG=y
# CONFIG_SUNRPC_DEBUG_TRACE is not set
CONFIG_CEPH_FS=m
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS2=y
# CONFIG_CIFS_ALLOW_INSECURE_LEGACY is not set
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SWN_UPCALL is not set
# CONFIG_CIFS_FSCACHE is not set
# CONFIG_CIFS_COMPRESSION is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=m
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
CONFIG_HAVE_TRUSTED_KEYS=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_USER_DECRYPTED_DATA is not set
# CONFIG_KEY_DH_OPERATIONS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
CONFIG_SECURITY=y
CONFIG_HAS_SECURITY_AUDIT=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
# CONFIG_SECURITY_APPARMOR_DEBUG is not set
CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
CONFIG_SECURITY_LANDLOCK=y
# CONFIG_SECURITY_IPE is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
# CONFIG_IMA_KEXEC is not set
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
# CONFIG_IMA_NG_TEMPLATE is not set
CONFIG_IMA_SIG_TEMPLATE=y
CONFIG_IMA_DEFAULT_TEMPLATE="ima-sig"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
# CONFIG_IMA_APPRAISE is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_IMA_DISABLE_HTABLE is not set
# CONFIG_EVM is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,selinux,apparmor,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
# CONFIG_INIT_STACK_NONE is not set
# CONFIG_INIT_STACK_ALL_PATTERN is not set
CONFIG_INIT_STACK_ALL_ZERO=y
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization

#
# Bounds checking
#
CONFIG_FORTIFY_SOURCE=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDENED_USERCOPY_DEFAULT_ON=y
# end of Bounds checking

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
# CONFIG_RUST_BITMAP_HARDENED is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_HKDF=m
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
# CONFIG_CRYPTO_SELFTESTS is not set
CONFIG_CRYPTO_NULL=y
# CONFIG_CRYPTO_PCRYPT is not set
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_KRB5ENC is not set
# CONFIG_CRYPTO_BENCHMARK is not set
CONFIG_CRYPTO_ENGINE=m
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=m
CONFIG_CRYPTO_DH_RFC7919_GROUPS=y
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
CONFIG_CRYPTO_ECDSA=y
CONFIG_CRYPTO_ECRDSA=m
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARIA is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_SM4_GENERIC is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=m
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=m
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# end of Userspace interface

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
# CONFIG_CRYPTO_DEV_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
# CONFIG_CRYPTO_DEV_QAT_C62X is not set
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
# CONFIG_CRYPTO_DEV_QAT_6XXX is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
# CONFIG_SYSTEM_REVOCATION_LIST is not set
# end of Certificates for signature checking

# CONFIG_CRYPTO_KRB5 is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_PACKING=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=m
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
CONFIG_CRC16=y
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_T10DIF_ARCH=y
CONFIG_CRC32=y
CONFIG_CRC32_ARCH=y
CONFIG_CRC64=y
CONFIG_CRC64_ARCH=y
CONFIG_CRC_OPTIMIZATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_AESCFB=y
CONFIG_CRYPTO_LIB_AESGCM=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_LIB_BLAKE2S_ARCH=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_ARCH=y
CONFIG_CRYPTO_LIB_CURVE25519=m
CONFIG_CRYPTO_LIB_CURVE25519_ARCH=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_MD5=y
CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LIB_POLY1305_ARCH=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA1_ARCH=y
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_LIB_SHA256_ARCH=y
CONFIG_CRYPTO_LIB_SHA512=y
CONFIG_CRYPTO_LIB_SHA512_ARCH=y
# end of Crypto library routines

CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_ARM64=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_RISCV=y
CONFIG_XZ_DEC_MICROLZMA=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS_HELPERS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_NEED_SYNC=y
CONFIG_DMA_COHERENT_POOL=y
# CONFIG_DMA_CMA is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_IOMMU_HELPER=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
CONFIG_VDSO_GETRANDOM=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_ASN1_ENCODER=m
CONFIG_FIRMWARE_TABLE=y
CONFIG_UNION_FIND=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_MISC is not set

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
CONFIG_DEBUG_INFO_DWARF5=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_COMPRESSED_ZSTD is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
# CONFIG_OBJTOOL_WERROR is not set
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
# CONFIG_MAGIC_SYSRQ_SERIAL is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# CONFIG_KCSAN is not set
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# CONFIG_DEBUG_NET_SMALL_RTNL is not set
# end of Networking Debugging

#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_TABLE_CHECK is not set
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
# CONFIG_DEBUG_WX is not set
CONFIG_ARCH_HAS_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VFS is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_TIMEOUT=-1
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_DETECT_HUNG_TASK_BLOCKER=y
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

# CONFIG_DEBUG_PREEMPT is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures

#
# RCU Debugging
#
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_LATENCYTOP=y
# CONFIG_DEBUG_CGROUP_REF is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y
CONFIG_HAVE_FTRACE_GRAPH_FUNC=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_FTRACE_REGS_HAVING_PT_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_TRACEFS_AUTOMOUNT_DEPRECATED=y
# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_FUNCTION_GRAPH_RETVAL=y
CONFIG_FUNCTION_GRAPH_RETADDR=y
CONFIG_FUNCTION_TRACE_ARGS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
# CONFIG_FPROBE is not set
# CONFIG_FUNCTION_PROFILER is not set
CONFIG_STACK_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
CONFIG_FTRACE_SYSCALLS=y
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_PROBE_EVENTS_BTF_ARGS=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_EPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
CONFIG_TRACING_MAP=y
CONFIG_SYNTH_EVENTS=y
CONFIG_USER_EVENTS=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_HIST_TRIGGERS_DEBUG is not set
# CONFIG_RV is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y

#
# x86 Debugging
#
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_DEBUG is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FUNCTION_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# CONFIG_RUST_DEBUG_ASSERTIONS is not set
CONFIG_RUST_OVERFLOW_CHECKS=y
# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
# end of Rust hacking
# end of Kernel hacking

CONFIG_IO_URING_ZCRX=y

^ permalink raw reply

* Re: Only rust/bindings.o build fail on rust-1.91.0
From: Miguel Ojeda @ 2025-11-06 13:57 UTC (permalink / raw)
  To: Haiyue Wang, Sami Tolvanen
  Cc: rust-for-linux, Miguel Ojeda, linux-modules,
	Linux Kbuild mailing list
In-Reply-To: <b8c1c73d-bf8b-4bf2-beb1-84ffdcd60547@163.com>

On Thu, Nov 6, 2025 at 2:08 PM Haiyue Wang <haiyuewa@163.com> wrote:
>
> Strange thing is that ONLY 'rust/bindings.o'failed. And if I add
> '$(obj)/bindings.o: private skip_gendwarfksyms = 1', rust build
> will be successful.

Thanks for the report!

Would you mind copy-pasting/attaching the your kernel config file
instead? i.e. the `.config` file (the `rustc` flags aren't the best to
reproduce the issue).

Cc'ing Sami as well.

Cheers,
Miguel

^ permalink raw reply

* Re: [PATCH v2] lsm,ima: new LSM hook security_kernel_module_read_file to access decompressed kernel module
From: Coiby Xu @ 2025-11-06 13:35 UTC (permalink / raw)
  To: Paul Moore, Mimi Zohar
  Cc: linux-integrity, linux-security-module, Karel Srot, James Morris,
	Serge E. Hallyn, Luis Chamberlain, Petr Pavlu, Daniel Gomez,
	Sami Tolvanen, Roberto Sassu, Dmitry Kasatkin, Eric Snowberg,
	open list, open list:MODULE SUPPORT
In-Reply-To: <8646ad03f2f14f45c0ade7c7d7cc148f56d964b1.camel@linux.ibm.com>

On Wed, Nov 05, 2025 at 03:25:05PM -0500, Mimi Zohar wrote:
>On Wed, 2025-11-05 at 10:42 -0500, Paul Moore wrote:
>> On Wed, Nov 5, 2025 at 9:07 AM Mimi Zohar <zohar@linux.ibm.com> wrote:
>> > On Tue, 2025-11-04 at 21:47 -0500, Paul Moore wrote:
>> > > Assuming I'm understanding the problem correctly, I think you're
>> > > making this harder than it needs to be.  I believe something like this
>> > > should solve the problem without having to add more conditionals
>> > > around the hooks in kernel_read_file(), and limiting the multiple
>> > > security_kernel_post_read_file() calls to just the compressed case ...
>> > > and honestly in each of the _post_read_file() calls in the compressed
>> > > case, the buffer contents have changed so it somewhat makes sense.
>> >
>> > > Given the code below, IMA could simply ignore the
>> > > READING_MODULE_COMPRESSED case (or whatever it is the IMA needs to do
>> > > in that case) and focus on the READING_MODULE case as it does today.
>> > > I expect the associated IMA patch would be both trivial and small.
>> > >
>> > > diff --git a/kernel/module/main.c b/kernel/module/main.c
>> > > index c66b26184936..b435c498ec01 100644
>> > > --- a/kernel/module/main.c
>> > > +++ b/kernel/module/main.c
>> > > @@ -3675,17 +3675,19 @@ static int idempotent_wait_for_completion(struct idempot
>> > > ent *u)
>> > >
>> > > static int init_module_from_file(struct file *f, const char __user * uargs, int
>> > > flags)
>> > > {
>> > > +       bool compressed = !!(flags & MODULE_INIT_COMPRESSED_FILE);
>> > >        struct load_info info = { };
>> > >        void *buf = NULL;
>> > >        int len;
>> > >
>> > > -       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL, READING_MODULE);
>> > > +       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL,
>> > > +                              compressed ? READING_MODULE_COMPRESSED : READING_
>> > > MODULE);
>> > >        if (len < 0) {
>> > >                mod_stat_inc(&failed_kreads);
>> > >                return len;
>> > >        }
>> > >
>> > > -       if (flags & MODULE_INIT_COMPRESSED_FILE) {
>> > > +       if (compressed) {
>> > >                int err = module_decompress(&info, buf, len);
>> > >                vfree(buf); /* compressed data is no longer needed */
>> > >                if (err) {
>> > > @@ -3693,6 +3695,14 @@ static int init_module_from_file(struct file *f, const ch
>> > > ar __user * uargs, int
>> > >                        mod_stat_add_long(len, &invalid_decompress_bytes);
>> > >                        return err;
>> > >                }
>> > > +
>> > > +               err = security_kernel_post_read_file(f,
>> > > +                                                    (char *)info.hdr, info.len,
>> > > +                                                    READING_MODULE);
>> >
>> > Without changing the enumeration here, IMA would not be able to differentiate
>> > the first call to security_kernel_post_read_file() and this one.  The first call
>> > would result in unnecessary error messages.
>>
>> Given the patch snippet above, in the case where an uncompressed
>> module is passed into init_module_from_file() there would be the
>> following checks, in this order:
>>
>>  * kernel_read_file()
>>  -> security_kernel_read_file(READING_MODULE)
>>  -> security_kernel_post_read_file(READING_MODULE)
>>  * init_module_from_file()
>>  -> NONE
>>
>> ... this should be the same as the current behavior.
>>
>> In the case where a compressed module is passed into
>> init_module_from_file() there would be the following checks, in this
>> order:
>>
>>  * kernel_read_file()
>>  -> security_kernel_read_file(READING_MODULE_COMPRESSED)
>>  -> security_kernel_post_read_file(READING_MODULE_COMPRESSED)
>>  * init_module_from_file()
>>  -> security_kernel_post_read_file(READING_MODULE)
>>
>> ... the two differences being that the hook calls in
>> kernel_read_file() use the READING_MODULE_COMPRESSED id, which seems
>> appropriate as the data passed to the hook is the compressed
>> representation, and the additional _post_read_file() hook call in
>> init_module_from_file() using the READING_MODULE id, as the data
>> passed to the hook is now uncompressed.  Not only should IMA be able
>> to easily differentiate between the two _post_read_file() calls, but
>> it should have access to both the compressed and uncompressed data.
>
>Thanks, Paul.  Yes, a single additional enumeration is enough.

Yeah, thank Paul for elaborating on the solution!

>
>Mimi
>

-- 
Best regards,
Coiby


^ permalink raw reply

* Re: [PATCH v2] lsm,ima: new LSM hook security_kernel_module_read_file to access decompressed kernel module
From: Coiby Xu @ 2025-11-06 13:29 UTC (permalink / raw)
  To: Mimi Zohar
  Cc: Paul Moore, linux-integrity, linux-security-module, Karel Srot,
	James Morris, Serge E. Hallyn, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Roberto Sassu, Dmitry Kasatkin,
	Eric Snowberg, open list, open list:MODULE SUPPORT
In-Reply-To: <84a0e1785c7f0ff816b3246be49012092ae12126.camel@linux.ibm.com>

On Wed, Nov 05, 2025 at 03:47:25PM -0500, Mimi Zohar wrote:
>On Wed, 2025-11-05 at 08:18 +0800, Coiby Xu wrote:
[...]
>
>Hi Coiby,
>
>Based on the conversation with Paul, there is no reason to remove the existing
>security_kernel_post_read_file() call.
>
>The changes are similar to the 2nd link, but a bit different.
>- Define a single enumeration named READING_MODULE_COMPRESSED.
>
>- In module/main.c add a new security_kernel_post_read_file() call immediately
>after decompressing the kernel module.  Like a previous version of this patch,
>call kernel_read_file() with either READING_MODULE or READING_MODULE_COMPRESSED
>based on MODULE_INIT_COMPRESSED_FILE.
>
>- In ima_post_read_file() defer verifying the signature when the enumeration is
>READING_MODULE_COMPRESSED.  (No need for a new function ima_read_kernel_module.)

Hi Mimi,

Thanks for summarizing your conversation with Paul! I can confirm Paul's
approach works
https://github.com/coiby/linux/tree/in_kernel_decompression_ima_no_lsm_hook_paul

While testing the patch today, I realized there is another
issue/challenge introduced by in-kernel module decompression. IMA
appraisal is to verify the digest of compressed kernel module but
currently the passed buffer is uncompressed module. When IMA uses
uncompressed module data to calculate the digest, xattr signature
verification will fail. If we always make IMA read the original kernel
module data again to calculate the digest, does it look like a
quick-and-dirty fix? If we can assume people won't load kernel module so
often, the performance impact is negligible. Otherwise we may have to
introduce a new LSM hook so IMA can access uncompressed and original
module data one time.

>
>thanks,
>
>Mimi
>

-- 
Best regards,
Coiby


^ permalink raw reply

* Re: [PATCH 1/6] module: Add helper function for reading module_buildid()
From: Daniel Gomez @ 2025-11-06 12:54 UTC (permalink / raw)
  To: Petr Mladek, Petr Pavlu, Steven Rostedt, Alexei Starovoitov,
	Andrew Morton, Kees Cook
  Cc: Daniel Borkmann, John Fastabend, Masami Hiramatsu, Mark Rutland,
	Luis Chamberlain, Sami Tolvanen, linux-kernel, bpf, linux-modules,
	linux-trace-kernel
In-Reply-To: <20251105142319.1139183-2-pmladek@suse.com>

On 05/11/2025 15.23, Petr Mladek wrote:
> Add a helper function for reading the optional "build_id" member
> of struct module. It is going to be used also in
> ftrace_mod_address_lookup().
> 
> Use "#ifdef" instead of "#if IS_ENABLED()" to match the declaration
> of the optional field in struct module.
> 
> Signed-off-by: Petr Mladek <pmladek@suse.com>

Reviewed-by: Daniel Gomez <da.gomez@samsung.com>

^ permalink raw reply

* Re: [PATCH 1/6] module: Add helper function for reading module_buildid()
From: Petr Pavlu @ 2025-11-06  8:52 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Steven Rostedt, Alexei Starovoitov, Andrew Morton, Kees Cook,
	Daniel Borkmann, John Fastabend, Masami Hiramatsu, Mark Rutland,
	Luis Chamberlain, Daniel Gomez, Sami Tolvanen, linux-kernel, bpf,
	linux-modules, linux-trace-kernel
In-Reply-To: <20251105142319.1139183-2-pmladek@suse.com>

On 11/5/25 3:23 PM, Petr Mladek wrote:
> Add a helper function for reading the optional "build_id" member
> of struct module. It is going to be used also in
> ftrace_mod_address_lookup().
> 
> Use "#ifdef" instead of "#if IS_ENABLED()" to match the declaration
> of the optional field in struct module.
> 
> Signed-off-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>

-- 
Thanks,
Petr

^ permalink raw reply

* Re: [PATCH 3/6] kallsyms/bpf: Set module buildid in bpf_address_lookup()
From: Alexei Starovoitov @ 2025-11-06  2:53 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Petr Pavlu, Steven Rostedt, Alexei Starovoitov, Andrew Morton,
	Kees Cook, Daniel Borkmann, John Fastabend, Masami Hiramatsu,
	Mark Rutland, Luis Chamberlain, Daniel Gomez, Sami Tolvanen, LKML,
	bpf, linux-modules, linux-trace-kernel
In-Reply-To: <20251105142319.1139183-4-pmladek@suse.com>

On Wed, Nov 5, 2025 at 6:24 AM Petr Mladek <pmladek@suse.com> wrote:
>
> Make bpf_address_lookup() compatible with module_address_lookup()
> and clear the pointer to @modbuildid together with @modname.
>
> It is not strictly needed because __sprint_symbol() reads @modbuildid
> only when @modname is set. But better be on the safe side and make
> the API more safe.
>
> Fixes: 9294523e3768 ("module: add printk formats to add module build ID to stacktraces")
> Signed-off-by: Petr Mladek <pmladek@suse.com>
> ---
>  include/linux/filter.h | 15 +++++++++++----
>  kernel/kallsyms.c      |  4 ++--
>  2 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/include/linux/filter.h b/include/linux/filter.h
> index f5c859b8131a..b7b95840250a 100644
> --- a/include/linux/filter.h
> +++ b/include/linux/filter.h
> @@ -1362,12 +1362,18 @@ struct bpf_prog *bpf_prog_ksym_find(unsigned long addr);
>
>  static inline int
>  bpf_address_lookup(unsigned long addr, unsigned long *size,
> -                  unsigned long *off, char **modname, char *sym)
> +                  unsigned long *off, char **modname,
> +                  const unsigned char **modbuildid, char *sym)
>  {
>         int ret = __bpf_address_lookup(addr, size, off, sym);
>
> -       if (ret && modname)
> -               *modname = NULL;
> +       if (ret) {
> +               if (modname)
> +                       *modname = NULL;
> +               if (modbuildid)
> +                       *modbuildid = NULL;
> +       }
> +
>         return ret;
>  }
>
> @@ -1433,7 +1439,8 @@ static inline struct bpf_prog *bpf_prog_ksym_find(unsigned long addr)
>
>  static inline int
>  bpf_address_lookup(unsigned long addr, unsigned long *size,
> -                  unsigned long *off, char **modname, char *sym)
> +                  unsigned long *off, char **modname,
> +                  const unsigned char **modbuildid, char *sym)
>  {
>         return 0;
>  }
> diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
> index 9455e3bb07fc..efb12b077220 100644
> --- a/kernel/kallsyms.c
> +++ b/kernel/kallsyms.c
> @@ -374,8 +374,8 @@ static int kallsyms_lookup_buildid(unsigned long addr,
>         ret = module_address_lookup(addr, symbolsize, offset,
>                                     modname, modbuildid, namebuf);
>         if (!ret)
> -               ret = bpf_address_lookup(addr, symbolsize,
> -                                        offset, modname, namebuf);
> +               ret = bpf_address_lookup(addr, symbolsize, offset,
> +                                        modname, modbuildid, namebuf);

The initial bpf_address_lookup() 8 years ago was trying
to copy paste args and style of kallsyms_lookup().
It was odd back then. This change is doubling down on the wrong thing.
It's really odd to pass a pointer into bpf_address_lookup()
so it zero initializes it.
bpf ksyms are in the core kernel. They're never in modules.
Just call __bpf_address_lookup() here and remove the wrapper.

^ permalink raw reply

* Re: [PATCH v2] lsm,ima: new LSM hook security_kernel_module_read_file to access decompressed kernel module
From: Mimi Zohar @ 2025-11-05 20:47 UTC (permalink / raw)
  To: Coiby Xu, Paul Moore
  Cc: linux-integrity, linux-security-module, Karel Srot, James Morris,
	Serge E. Hallyn, Luis Chamberlain, Petr Pavlu, Daniel Gomez,
	Sami Tolvanen, Roberto Sassu, Dmitry Kasatkin, Eric Snowberg,
	open list, open list:MODULE SUPPORT
In-Reply-To: <fftfj4o3kqxmfu3hb655xczqcddoeqjv55llsnwkrdu5isdm4z@6sqe3k24a6kk>

On Wed, 2025-11-05 at 08:18 +0800, Coiby Xu wrote:
> On Sun, Nov 02, 2025 at 10:43:04AM -0500, Paul Moore wrote:
> > On Sun, Nov 2, 2025 at 10:06 AM Mimi Zohar <zohar@linux.ibm.com> wrote:
> > > On Sat, 2025-11-01 at 12:50 -0400, Paul Moore wrote:
> > > > On Fri, Oct 31, 2025 at 3:41 AM Coiby Xu <coxu@redhat.com> wrote:
> > > > > 
> > > > > Currently, when in-kernel module decompression (CONFIG_MODULE_DECOMPRESS)
> > > > > is enabled, IMA has no way to verify the appended module signature as it
> > > > > can't decompress the module.
> > > > > 
> > > > > Define a new LSM hook security_kernel_module_read_file which will be
> > > > > called after kernel module decompression is done so IMA can access the
> > > > > decompressed kernel module to verify the appended signature.
> > > > > 
> > > > > Since IMA can access both xattr and appended kernel module signature
> > > > > with the new LSM hook, it no longer uses the security_kernel_post_read_file
> > > > > LSM hook for kernel module loading.
> > > > > 
> > > > > Before enabling in-kernel module decompression, a kernel module in
> > > > > initramfs can still be loaded with ima_policy=secure_boot. So adjust the
> > > > > kernel module rule in secure_boot policy to allow either an IMA
> > > > > signature OR an appended signature i.e. to use
> > > > > "appraise func=MODULE_CHECK appraise_type=imasig|modsig".
> > > > > 
> > > > > Reported-by: Karel Srot <ksrot@redhat.com>
> > > > > Suggested-by: Mimi Zohar <zohar@linux.ibm.com>
> > > > > Signed-off-by: Coiby Xu <coxu@redhat.com>
> > > > > ---
> > > > > v1: https://lore.kernel.org/linux-integrity/20250928030358.3873311-1-coxu@redhat.com/
> > > > > 
> > > > >  include/linux/lsm_hook_defs.h       |  2 ++
> > > > >  include/linux/security.h            |  7 +++++++
> > > > >  kernel/module/main.c                | 10 +++++++++-
> > > > >  security/integrity/ima/ima_main.c   | 26 ++++++++++++++++++++++++++
> > > > >  security/integrity/ima/ima_policy.c |  2 +-
> > > > >  security/security.c                 | 17 +++++++++++++++++
> > > > >  6 files changed, 62 insertions(+), 2 deletions(-)
> > > > 
> > > > We don't really need a new LSM hook for this do we?  Can't we just
> > > > define a new file read type, e.g.  READING_MODULE_DECOMPRESS, and do
> > > > another call to security_kernel_post_read_file() after the module is
> > > > unpacked?  Something like the snippet below ...
> > > 
> > > Yes, this is similar to my suggestion based on defining multiple enumerations:
> > > READING_MODULE, READING_COMPRESSED_MODULE, and READING_DECOMPRESSED_MODULE.
> > > With this solution, IMA would need to make an exception in the post kernel
> > > module read for the READING_COMPRESSED_MODULE case, since the kernel module has
> > > not yet been decompressed.
> > > 
> > > Coiby suggested further simplification by moving the call later.  At which point
> > > either there is or isn't an appended signature for non-compressed and
> > > decompressed kernel modules.
> > > 
> > > As long as you don't have a problem calling the security_kernel_post_read_file()
> > > hook again, could we move the call later and pass READING_MODULE_UNCOMPRESSED?
> > 
> > It isn't clear from these comments if you are talking about moving
> > only the second security_kernel_post_read_file() call that was
> > proposed for init_module_from_file() to later in the function, leaving
> > the call in kernel_read_file() intact, or something else?
> 
> Hi Paul and Mimi,
> 
> Thanks for sharing your feedback! Yes, you are right, there is no need
> for a new LSM hook. Actually by not introducing a new LSM hook, we can
> have a much simpler solution!
> 
> > 
> > I think we want to leave the hook calls in kernel_read_file() intact,
> > in which case I'm not certain what advantage there is in moving the
> > security_kernel_post_read_file() call to a location where it is called
> > in init_module_from_file() regardless of if the module is compressed
> > or not.  In the uncompressed case you are calling the hook twice for
> > no real benefit?  It may be helpful to submit a patch with your
> > proposal as a patch can be worth a thousand words ;)
> > 
> > 
> > > > diff --git a/kernel/module/main.c b/kernel/module/main.c
> > > > index c66b26184936..f127000d2e0a 100644
> > > > --- a/kernel/module/main.c
> > > > +++ b/kernel/module/main.c
> > > > @@ -3693,6 +3693,14 @@ static int init_module_from_file(struct file *f, const ch
> > > > ar __user * uargs, int
> > > >                        mod_stat_add_long(len, &invalid_decompress_bytes);
> > > >                        return err;
> > > >                }
> > > > +
> > > > +               err = security_kernel_post_read_file(f,
> > > > +                                                    (char *)info.hdr, info.len,
> > > > +                                                    READING_MODULE_DECOMPRESS);
> > > > +               if (err) {
> > > > +                       mod_stat_inc(&failed_kreads);
> > > > +                       return err;
> > > > +               }
> > > >        } else {
> > > >                info.hdr = buf;
> > > >                info.len = len;
> > > 
> > > == defer security_kernel_post_read_file() call to here ==
> 
> By moving security_kernel_post_read_file, I think what Mimi means is to
> move security_kernel_post_read_file in init_module_from_file() to later
> in the function,
> 
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index c66b261849362a..66725e53fef0c1 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -3678,6 +3678,7 @@ static int init_module_from_file(struct file *f, const char __user * uargs, int
>   	struct load_info info = { };
>   	void *buf = NULL;
>   	int len;
> +	int err;
>   
>   	len = kernel_read_file(f, 0, &buf, INT_MAX, NULL, READING_MODULE);
>   	if (len < 0) {
> @@ -3686,7 +3687,7 @@ static int init_module_from_file(struct file *f, const char __user * uargs, int
>   	}
>   
>   	if (flags & MODULE_INIT_COMPRESSED_FILE) {
> -		int err = module_decompress(&info, buf, len);
> +		err = module_decompress(&info, buf, len);
>   		vfree(buf); /* compressed data is no longer needed */
>   		if (err) {
>   			mod_stat_inc(&failed_decompress);
> @@ -3698,6 +3699,14 @@ static int init_module_from_file(struct file *f, const char __user * uargs, int
>   		info.len = len;
>   	}
>   
> +	err = security_kernel_post_read_file(f, (char *)info.hdr, info.len,
> +					     READING_MODULE);
> +	if (err) {
> +		mod_stat_inc(&failed_kreads);
> +		free_copy(&info, flags);
> +		return err;
> +	}
> +
>   	return load_module(&info, uargs, flags);
>   }
> 
> If we only call security_kernel_post_read_file the 2nd time for a
> decompressed kernel module, IMA won't be sure what to do when
> security_kernel_post_read_file is called for the 1st time because it
> can't distinguish between a compressed module with appended signature or
> a uncompressed module without appended signature. If it permits 1st
> calling security_kernel_post_read_file, a uncompressed module without
> appended signature can be loaded. If it doesn't permit 1st calling
> security_kernel_post_read_file, there is no change to call
> security_kernel_post_read_file again for decompressed module.
> 
> And you are right, there is no need to call
> security_kernel_post_read_file twice. And from the perspective of IMA,
> it simplifies reasoning if it is guaranteed that IMA will always access
> uncompressed kernel module regardless regardless of its original
> compression state. 
> 
> So I think a better solution is to stop calling
> security_kernel_post_read_file in kernel_read_file for READING_MODULE.
> This can also avoiding introducing an unnecessary
> READING_MODULE_UNCOMPRESSED/READING_COMPRESSED_MODULE enumeration and
> can make the solution even simpler,
> 
> diff --git a/fs/kernel_read_file.c b/fs/kernel_read_file.c
> index de32c95d823dbd..7c78e84def6ec7 100644
> --- a/fs/kernel_read_file.c
> +++ b/fs/kernel_read_file.c
> @@ -107,7 +107,12 @@ ssize_t kernel_read_file(struct file *file, loff_t offset, void **buf,
>   			goto out_free;
>   		}
>   
> -		ret = security_kernel_post_read_file(file, *buf, i_size, id);
> +		/*
> +		 * security_kernel_post_read_file will be called later after
> +		 * a read kernel module is truly decompressed
> +		 */
> +		if (id != READING_MODULE)
> +			ret = security_kernel_post_read_file(file, *buf, i_size, id);
>   	}
> 
> Btw, I notice IMA is the only user of security_kernel_post_read_file so
> this change won't affect other LSMs. For a full patch, please visit
> https://github.com/coiby/linux/commit/558d85779ab5d794874749ecfae0e48b890bf3e0.patch
> 
> If there are concerns that I'm unaware of and a new
> READING_MODULE_UNCOMPRESSED/READING_COMPRESSED_MODULE enumeration is
> necessary, here's another patch
> https://github.com/coiby/linux/commit/cdd40317b6070f48ec871c6a89428084f38ca083.patch

Hi Coiby,

Based on the conversation with Paul, there is no reason to remove the existing
security_kernel_post_read_file() call.

The changes are similar to the 2nd link, but a bit different.
- Define a single enumeration named READING_MODULE_COMPRESSED.

- In module/main.c add a new security_kernel_post_read_file() call immediately
after decompressing the kernel module.  Like a previous version of this patch,
call kernel_read_file() with either READING_MODULE or READING_MODULE_COMPRESSED
based on MODULE_INIT_COMPRESSED_FILE.

- In ima_post_read_file() defer verifying the signature when the enumeration is
READING_MODULE_COMPRESSED.  (No need for a new function ima_read_kernel_module.)

thanks,

Mimi

^ permalink raw reply

* Re: [PATCH v2] lsm,ima: new LSM hook security_kernel_module_read_file to access decompressed kernel module
From: Mimi Zohar @ 2025-11-05 20:25 UTC (permalink / raw)
  To: Paul Moore
  Cc: Coiby Xu, linux-integrity, linux-security-module, Karel Srot,
	James Morris, Serge E. Hallyn, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Roberto Sassu, Dmitry Kasatkin,
	Eric Snowberg, open list, open list:MODULE SUPPORT
In-Reply-To: <CAHC9VhS6xWvu5TjjS4MRGFEWxdAhg-Xsf6L+=K0k8U+fgiAtTQ@mail.gmail.com>

On Wed, 2025-11-05 at 10:42 -0500, Paul Moore wrote:
> On Wed, Nov 5, 2025 at 9:07 AM Mimi Zohar <zohar@linux.ibm.com> wrote:
> > On Tue, 2025-11-04 at 21:47 -0500, Paul Moore wrote:
> > > Assuming I'm understanding the problem correctly, I think you're
> > > making this harder than it needs to be.  I believe something like this
> > > should solve the problem without having to add more conditionals
> > > around the hooks in kernel_read_file(), and limiting the multiple
> > > security_kernel_post_read_file() calls to just the compressed case ...
> > > and honestly in each of the _post_read_file() calls in the compressed
> > > case, the buffer contents have changed so it somewhat makes sense.
> > 
> > > Given the code below, IMA could simply ignore the
> > > READING_MODULE_COMPRESSED case (or whatever it is the IMA needs to do
> > > in that case) and focus on the READING_MODULE case as it does today.
> > > I expect the associated IMA patch would be both trivial and small.
> > > 
> > > diff --git a/kernel/module/main.c b/kernel/module/main.c
> > > index c66b26184936..b435c498ec01 100644
> > > --- a/kernel/module/main.c
> > > +++ b/kernel/module/main.c
> > > @@ -3675,17 +3675,19 @@ static int idempotent_wait_for_completion(struct idempot
> > > ent *u)
> > > 
> > > static int init_module_from_file(struct file *f, const char __user * uargs, int
> > > flags)
> > > {
> > > +       bool compressed = !!(flags & MODULE_INIT_COMPRESSED_FILE);
> > >        struct load_info info = { };
> > >        void *buf = NULL;
> > >        int len;
> > > 
> > > -       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL, READING_MODULE);
> > > +       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL,
> > > +                              compressed ? READING_MODULE_COMPRESSED : READING_
> > > MODULE);
> > >        if (len < 0) {
> > >                mod_stat_inc(&failed_kreads);
> > >                return len;
> > >        }
> > > 
> > > -       if (flags & MODULE_INIT_COMPRESSED_FILE) {
> > > +       if (compressed) {
> > >                int err = module_decompress(&info, buf, len);
> > >                vfree(buf); /* compressed data is no longer needed */
> > >                if (err) {
> > > @@ -3693,6 +3695,14 @@ static int init_module_from_file(struct file *f, const ch
> > > ar __user * uargs, int
> > >                        mod_stat_add_long(len, &invalid_decompress_bytes);
> > >                        return err;
> > >                }
> > > +
> > > +               err = security_kernel_post_read_file(f,
> > > +                                                    (char *)info.hdr, info.len,
> > > +                                                    READING_MODULE);
> > 
> > Without changing the enumeration here, IMA would not be able to differentiate
> > the first call to security_kernel_post_read_file() and this one.  The first call
> > would result in unnecessary error messages.
> 
> Given the patch snippet above, in the case where an uncompressed
> module is passed into init_module_from_file() there would be the
> following checks, in this order:
> 
>  * kernel_read_file()
>  -> security_kernel_read_file(READING_MODULE)
>  -> security_kernel_post_read_file(READING_MODULE)
>  * init_module_from_file()
>  -> NONE
> 
> ... this should be the same as the current behavior.
> 
> In the case where a compressed module is passed into
> init_module_from_file() there would be the following checks, in this
> order:
> 
>  * kernel_read_file()
>  -> security_kernel_read_file(READING_MODULE_COMPRESSED)
>  -> security_kernel_post_read_file(READING_MODULE_COMPRESSED)
>  * init_module_from_file()
>  -> security_kernel_post_read_file(READING_MODULE)
> 
> ... the two differences being that the hook calls in
> kernel_read_file() use the READING_MODULE_COMPRESSED id, which seems
> appropriate as the data passed to the hook is the compressed
> representation, and the additional _post_read_file() hook call in
> init_module_from_file() using the READING_MODULE id, as the data
> passed to the hook is now uncompressed.  Not only should IMA be able
> to easily differentiate between the two _post_read_file() calls, but
> it should have access to both the compressed and uncompressed data.

Thanks, Paul.  Yes, a single additional enumeration is enough.

Mimi

^ permalink raw reply

* Re: [PATCH] docs: ABI: sysfs-module: update modules taint flags
From: Jonathan Corbet @ 2025-11-05 18:33 UTC (permalink / raw)
  To: Petr Pavlu, Randy Dunlap
  Cc: linux-doc, Greg Kroah-Hartman, Luis Chamberlain, Daniel Gomez,
	Sami Tolvanen, linux-modules, linux-kernel
In-Reply-To: <7301b0fa-5463-498f-82a0-f40bfee462ba@suse.com>

Petr Pavlu <petr.pavlu@suse.com> writes:

> On 11/2/25 7:04 AM, Randy Dunlap wrote:
>> Add missing taint flags for loadable modules, as pointed out by
>> Petr Pavlu [1].
>> 
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> [1] https://lore.kernel.org/all/c58152f1-0fbe-4f50-bb61-e2f4c0584025@suse.com/
>> ---
>
> Looks ok to me. I would only move the "[1]" line before the
> "Signed-off-by" tag in the commit message and separate them by an empty
> line. Some tooling might rely on the tags being separately at the end.
> I guess this can be directly adjusted by a maintainer that picks up the
> patch and there is no need to resend it.
>
> Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>

I went to do that, and was amused to find that b4 already took care of
it for me ...  applied, thanks.

jon

^ permalink raw reply

* Re: [PATCH 4/6] kallsyms/ftrace: Set module buildid in ftrace_mod_address_lookup()
From: Steven Rostedt @ 2025-11-05 16:22 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Petr Pavlu, Alexei Starovoitov, Andrew Morton, Kees Cook,
	Daniel Borkmann, John Fastabend, Masami Hiramatsu, Mark Rutland,
	Luis Chamberlain, Daniel Gomez, Sami Tolvanen, linux-kernel, bpf,
	linux-modules, linux-trace-kernel
In-Reply-To: <20251105142319.1139183-5-pmladek@suse.com>

On Wed,  5 Nov 2025 15:23:16 +0100
Petr Mladek <pmladek@suse.com> wrote:

> __sprint_symbol() might access an invalid pointer when
> kallsyms_lookup_buildid() returns a symbol found by
> ftrace_mod_address_lookup().
> 
> The ftrace lookup function must set both @modname and @modbuildid
> the same way as module_address_lookup().
> 
> Fixes: 9294523e3768 ("module: add printk formats to add module build ID to stacktraces")
> Signed-off-by: Petr Mladek <pmladek@suse.com>
> ---
>  include/linux/ftrace.h | 6 ++++--
>  kernel/kallsyms.c      | 4 ++--
>  kernel/trace/ftrace.c  | 5 ++++-
>  3 files changed, 10 insertions(+), 5 deletions(-)

Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- Steve

^ permalink raw reply

* Re: [PATCH v2] lsm,ima: new LSM hook security_kernel_module_read_file to access decompressed kernel module
From: Paul Moore @ 2025-11-05 15:42 UTC (permalink / raw)
  To: Mimi Zohar
  Cc: Coiby Xu, linux-integrity, linux-security-module, Karel Srot,
	James Morris, Serge E. Hallyn, Luis Chamberlain, Petr Pavlu,
	Daniel Gomez, Sami Tolvanen, Roberto Sassu, Dmitry Kasatkin,
	Eric Snowberg, open list, open list:MODULE SUPPORT
In-Reply-To: <0c7e94a436a3742003e5e1155a48480d8307a9c7.camel@linux.ibm.com>

On Wed, Nov 5, 2025 at 9:07 AM Mimi Zohar <zohar@linux.ibm.com> wrote:
> On Tue, 2025-11-04 at 21:47 -0500, Paul Moore wrote:
> > Assuming I'm understanding the problem correctly, I think you're
> > making this harder than it needs to be.  I believe something like this
> > should solve the problem without having to add more conditionals
> > around the hooks in kernel_read_file(), and limiting the multiple
> > security_kernel_post_read_file() calls to just the compressed case ...
> > and honestly in each of the _post_read_file() calls in the compressed
> > case, the buffer contents have changed so it somewhat makes sense.
>
> > Given the code below, IMA could simply ignore the
> > READING_MODULE_COMPRESSED case (or whatever it is the IMA needs to do
> > in that case) and focus on the READING_MODULE case as it does today.
> > I expect the associated IMA patch would be both trivial and small.
> >
> > diff --git a/kernel/module/main.c b/kernel/module/main.c
> > index c66b26184936..b435c498ec01 100644
> > --- a/kernel/module/main.c
> > +++ b/kernel/module/main.c
> > @@ -3675,17 +3675,19 @@ static int idempotent_wait_for_completion(struct idempot
> > ent *u)
> >
> > static int init_module_from_file(struct file *f, const char __user * uargs, int
> > flags)
> > {
> > +       bool compressed = !!(flags & MODULE_INIT_COMPRESSED_FILE);
> >        struct load_info info = { };
> >        void *buf = NULL;
> >        int len;
> >
> > -       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL, READING_MODULE);
> > +       len = kernel_read_file(f, 0, &buf, INT_MAX, NULL,
> > +                              compressed ? READING_MODULE_COMPRESSED : READING_
> > MODULE);
> >        if (len < 0) {
> >                mod_stat_inc(&failed_kreads);
> >                return len;
> >        }
> >
> > -       if (flags & MODULE_INIT_COMPRESSED_FILE) {
> > +       if (compressed) {
> >                int err = module_decompress(&info, buf, len);
> >                vfree(buf); /* compressed data is no longer needed */
> >                if (err) {
> > @@ -3693,6 +3695,14 @@ static int init_module_from_file(struct file *f, const ch
> > ar __user * uargs, int
> >                        mod_stat_add_long(len, &invalid_decompress_bytes);
> >                        return err;
> >                }
> > +
> > +               err = security_kernel_post_read_file(f,
> > +                                                    (char *)info.hdr, info.len,
> > +                                                    READING_MODULE);
>
> Without changing the enumeration here, IMA would not be able to differentiate
> the first call to security_kernel_post_read_file() and this one.  The first call
> would result in unnecessary error messages.

Given the patch snippet above, in the case where an uncompressed
module is passed into init_module_from_file() there would be the
following checks, in this order:

 * kernel_read_file()
 -> security_kernel_read_file(READING_MODULE)
 -> security_kernel_post_read_file(READING_MODULE)
 * init_module_from_file()
 -> NONE

... this should be the same as the current behavior.

In the case where a compressed module is passed into
init_module_from_file() there would be the following checks, in this
order:

 * kernel_read_file()
 -> security_kernel_read_file(READING_MODULE_COMPRESSED)
 -> security_kernel_post_read_file(READING_MODULE_COMPRESSED)
 * init_module_from_file()
 -> security_kernel_post_read_file(READING_MODULE)

... the two differences being that the hook calls in
kernel_read_file() use the READING_MODULE_COMPRESSED id, which seems
appropriate as the data passed to the hook is the compressed
representation, and the additional _post_read_file() hook call in
init_module_from_file() using the READING_MODULE id, as the data
passed to the hook is now uncompressed.  Not only should IMA be able
to easily differentiate between the two _post_read_file() calls, but
it should have access to both the compressed and uncompressed data.

-- 
paul-moore.com

^ permalink raw reply

* Re: [PATCH 2/6] kallsyms: Cleanup code for appending the module buildid
From: bot+bpf-ci @ 2025-11-05 14:59 UTC (permalink / raw)
  To: pmladek, petr.pavlu, rostedt, ast, akpm, kees
  Cc: daniel, john.fastabend, mhiramat, mark.rutland, mcgrof, da.gomez,
	samitolvanen, linux-kernel, bpf, linux-modules,
	linux-trace-kernel, pmladek, ast, andrii, daniel, martin.lau,
	eddyz87, yonghong.song, clm, ihor.solodrai
In-Reply-To: <20251105142319.1139183-3-pmladek@suse.com>

[-- Attachment #1: Type: text/plain, Size: 2442 bytes --]

> diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
> index 1e7635864..9455e3bb0 100644
> --- a/kernel/kallsyms.c
> +++ b/kernel/kallsyms.c
> @@ -423,6 +423,37 @@ int lookup_symbol_name(unsigned long addr, char *symname)
>  	return lookup_module_symbol_name(addr, symname);
>  }
>
> +#ifdef CONFIG_STACKTRACE_BUILD_ID
> +
> +static int append_buildid(char *buffer,  const char *modname,
> +			  const unsigned char *buildid)
> +{
> +	if (!modname)
> +		return 0;
> +
> +	if (!buildid) {
> +		pr_warn_once("Undefined buildid for the module %s\n", modname);
> +		return 0;
> +	}

When ftrace_mod_address_lookup() succeeds in kallsyms_lookup_buildid(),
it sets *modname but doesn't initialize *modbuildid. This leaves the
buildid variable uninitialized when __sprint_symbol() calls
append_buildid(). Can the check above read uninitialized memory?

Looking at kallsyms_lookup_buildid():
- module_address_lookup() properly initializes both modname and
  modbuildid
- bpf_address_lookup() sets modname=NULL (so append_buildid isn't
  called)
- ftrace_mod_address_lookup() sets modname=mod_map->mod->name but has
  no modbuildid parameter

The commit message mentions wanting to catch when lookup functions don't
handle buildid, but shouldn't kallsyms_lookup_buildid() initialize
*modbuildid=NULL before calling the lookup functions to avoid undefined
behavior?

> +
> +	/* build ID should match length of sprintf */
> +#ifdef CONFIG_MODULES
> +	static_assert(sizeof(typeof_member(struct module, build_id)) == 20);
> +#endif
> +
> +	return sprintf(buffer, " %20phN", buildid);
> +}

[ ... ]

> @@ -445,15 +476,8 @@ static int __sprint_symbol(char *buffer, unsigned long address,
>
>  	if (modname) {
>  		len += sprintf(buffer + len, " [%s", modname);
> -#if IS_ENABLED(CONFIG_STACKTRACE_BUILD_ID)
> -		if (add_buildid && buildid) {
> -			/* build ID should match length of sprintf */
> -#if IS_ENABLED(CONFIG_MODULES)
> -			static_assert(sizeof(typeof_member(struct module, build_id)) == 20);
> -#endif
> -			len += sprintf(buffer + len, " %20phN", buildid);
> -		}
> -#endif
> +		if (add_buildid)
> +			len += append_buildid(buffer + len, modname, buildid);
>  		len += sprintf(buffer + len, "]");
>  	}


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/19105560191

^ permalink raw reply

* [PATCH 6/6] kallsyms: Prevent module removal when printing module name and buildid
From: Petr Mladek @ 2025-11-05 14:23 UTC (permalink / raw)
  To: Petr Pavlu, Steven Rostedt, Alexei Starovoitov, Andrew Morton,
	Kees Cook
  Cc: Daniel Borkmann, John Fastabend, Masami Hiramatsu, Mark Rutland,
	Luis Chamberlain, Daniel Gomez, Sami Tolvanen, linux-kernel, bpf,
	linux-modules, linux-trace-kernel, Petr Mladek
In-Reply-To: <20251105142319.1139183-1-pmladek@suse.com>

kallsyms_lookup_buildid() copies the symbol name into the given buffer
so that it can be safely read anytime later. But it just copies pointers
to mod->name and mod->build_id which might get reused after the related
struct module gets removed.

The lifetime of struct module is synchronized using RCU. Take the rcu
read lock for the entire __sprint_symbol().

Signed-off-by: Petr Mladek <pmladek@suse.com>
---
 kernel/kallsyms.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index ff7017337535..1fda06b6638c 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -468,6 +468,9 @@ static int __sprint_symbol(char *buffer, unsigned long address,
 	unsigned long offset, size;
 	int len;
 
+	/* Prevent module removal until modname and modbuildid are printed */
+	guard(rcu)();
+
 	address += symbol_offset;
 	len = kallsyms_lookup_buildid(address, &size, &offset, &modname, &buildid,
 				       buffer);
-- 
2.51.1


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox