summaryrefslogtreecommitdiff
path: root/tests/unit_node
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit_node')
-rw-r--r--tests/unit_node/_fs/_fs_access_test.ts67
-rw-r--r--tests/unit_node/_fs/_fs_appendFile_test.ts237
-rw-r--r--tests/unit_node/_fs/_fs_chmod_test.ts121
-rw-r--r--tests/unit_node/_fs/_fs_chown_test.ts69
-rw-r--r--tests/unit_node/_fs/_fs_close_test.ts86
-rw-r--r--tests/unit_node/_fs/_fs_copy_test.ts52
-rw-r--r--tests/unit_node/_fs/_fs_dir_test.ts205
-rw-r--r--tests/unit_node/_fs/_fs_dirent_test.ts86
-rw-r--r--tests/unit_node/_fs/_fs_exists_test.ts65
-rw-r--r--tests/unit_node/_fs/_fs_fdatasync_test.ts58
-rw-r--r--tests/unit_node/_fs/_fs_fstat_test.ts90
-rw-r--r--tests/unit_node/_fs/_fs_fsync_test.ts56
-rw-r--r--tests/unit_node/_fs/_fs_ftruncate_test.ts123
-rw-r--r--tests/unit_node/_fs/_fs_futimes_test.ts106
-rw-r--r--tests/unit_node/_fs/_fs_handle_test.ts88
-rw-r--r--tests/unit_node/_fs/_fs_link_test.ts77
-rw-r--r--tests/unit_node/_fs/_fs_lstat_test.ts71
-rw-r--r--tests/unit_node/_fs/_fs_mkdir_test.ts43
-rw-r--r--tests/unit_node/_fs/_fs_mkdtemp_test.ts86
-rw-r--r--tests/unit_node/_fs/_fs_open_test.ts400
-rw-r--r--tests/unit_node/_fs/_fs_opendir_test.ts146
-rw-r--r--tests/unit_node/_fs/_fs_readFile_test.ts123
-rw-r--r--tests/unit_node/_fs/_fs_read_test.ts322
-rw-r--r--tests/unit_node/_fs/_fs_readdir_test.ts96
-rw-r--r--tests/unit_node/_fs/_fs_readlink_test.ts75
-rw-r--r--tests/unit_node/_fs/_fs_realpath_test.ts55
-rw-r--r--tests/unit_node/_fs/_fs_rename_test.ts52
-rw-r--r--tests/unit_node/_fs/_fs_rm_test.ts139
-rw-r--r--tests/unit_node/_fs/_fs_rmdir_test.ts81
-rw-r--r--tests/unit_node/_fs/_fs_stat_test.ts131
-rw-r--r--tests/unit_node/_fs/_fs_symlink_test.ts107
-rw-r--r--tests/unit_node/_fs/_fs_truncate_test.ts95
-rw-r--r--tests/unit_node/_fs/_fs_unlink_test.ts40
-rw-r--r--tests/unit_node/_fs/_fs_utimes_test.ts100
-rw-r--r--tests/unit_node/_fs/_fs_watch_test.ts27
-rw-r--r--tests/unit_node/_fs/_fs_writeFile_test.ts345
-rw-r--r--tests/unit_node/_fs/_fs_write_test.ts51
-rw-r--r--tests/unit_node/_fs/testdata/hello.txt1
-rw-r--r--tests/unit_node/_test_utils.ts40
-rw-r--r--tests/unit_node/assertion_error_test.ts66
-rw-r--r--tests/unit_node/async_hooks_test.ts79
-rw-r--r--tests/unit_node/buffer_test.ts650
-rw-r--r--tests/unit_node/child_process_test.ts773
-rw-r--r--tests/unit_node/console_test.ts28
-rw-r--r--tests/unit_node/crypto/crypto_cipher_gcm_test.ts103
-rw-r--r--tests/unit_node/crypto/crypto_cipher_test.ts258
-rw-r--r--tests/unit_node/crypto/crypto_hash_test.ts139
-rw-r--r--tests/unit_node/crypto/crypto_key_test.ts233
-rw-r--r--tests/unit_node/crypto/crypto_sign_test.ts129
-rw-r--r--tests/unit_node/crypto/ec_private_secp256r1.pem5
-rw-r--r--tests/unit_node/crypto/gcmEncryptExtIV128.json51377
-rw-r--r--tests/unit_node/crypto/gcmEncryptExtIV256.json57377
-rw-r--r--tests/unit_node/dgram_test.ts59
-rw-r--r--tests/unit_node/events_test.ts27
-rw-r--r--tests/unit_node/fs_test.ts116
-rw-r--r--tests/unit_node/http2_test.ts138
-rw-r--r--tests/unit_node/http_test.ts940
-rw-r--r--tests/unit_node/internal/_randomBytes_test.ts112
-rw-r--r--tests/unit_node/internal/_randomFill_test.ts65
-rw-r--r--tests/unit_node/internal/_randomInt_test.ts32
-rw-r--r--tests/unit_node/internal/pbkdf2_test.ts387
-rw-r--r--tests/unit_node/internal/scrypt_test.ts190
-rw-r--r--tests/unit_node/module_test.ts72
-rw-r--r--tests/unit_node/net_test.ts201
-rw-r--r--tests/unit_node/os_test.ts325
-rw-r--r--tests/unit_node/path_test.ts16
-rw-r--r--tests/unit_node/perf_hooks_test.ts62
-rw-r--r--tests/unit_node/process_test.ts986
-rw-r--r--tests/unit_node/querystring_test.ts51
-rw-r--r--tests/unit_node/readline_test.ts27
-rw-r--r--tests/unit_node/repl_test.ts17
-rw-r--r--tests/unit_node/stream_test.ts25
-rw-r--r--tests/unit_node/string_decoder_test.ts167
-rw-r--r--tests/unit_node/testdata/add_global_property.js1
-rw-r--r--tests/unit_node/testdata/add_global_property_run_main.js1
-rw-r--r--tests/unit_node/testdata/binary_stdio.js11
-rw-r--r--tests/unit_node/testdata/child_process_stdio.js16
-rw-r--r--tests/unit_node/testdata/child_process_stdio_012.js16
-rw-r--r--tests/unit_node/testdata/child_process_unref.js10
-rw-r--r--tests/unit_node/testdata/exec_file_text_error.js2
-rw-r--r--tests/unit_node/testdata/exec_file_text_output.js1
-rw-r--r--tests/unit_node/testdata/infinite_loop.js3
-rw-r--r--tests/unit_node/testdata/lorem_ipsum.txt1
-rw-r--r--tests/unit_node/testdata/node_modules/foo/index.js4
-rw-r--r--tests/unit_node/testdata/node_modules/foo/package.json3
-rw-r--r--tests/unit_node/testdata/process_exit.ts19
-rw-r--r--tests/unit_node/testdata/process_exit2.ts4
-rw-r--r--tests/unit_node/testdata/process_really_exit.ts10
-rw-r--r--tests/unit_node/testdata/process_stdin.ts11
-rw-r--r--tests/unit_node/testdata/process_stdin_dummy.txt2
-rw-r--r--tests/unit_node/testdata/rsa_private.pem28
-rw-r--r--tests/unit_node/testdata/rsa_private_pkcs1.pem27
-rw-r--r--tests/unit_node/testdata/rsa_public.pem9
-rw-r--r--tests/unit_node/testdata/worker_module/index.js3
-rw-r--r--tests/unit_node/testdata/worker_module/other_file.js3
-rw-r--r--tests/unit_node/testdata/worker_module/package.json4
-rw-r--r--tests/unit_node/testdata/worker_threads.mjs34
-rw-r--r--tests/unit_node/timers_test.ts62
-rw-r--r--tests/unit_node/tls_test.ts150
-rw-r--r--tests/unit_node/tty_test.ts36
-rw-r--r--tests/unit_node/util_test.ts317
-rw-r--r--tests/unit_node/v8_test.ts55
-rw-r--r--tests/unit_node/vm_test.ts66
-rw-r--r--tests/unit_node/worker_threads_test.ts204
-rw-r--r--tests/unit_node/zlib_test.ts172
105 files changed, 120729 insertions, 0 deletions
diff --git a/tests/unit_node/_fs/_fs_access_test.ts b/tests/unit_node/_fs/_fs_access_test.ts
new file mode 100644
index 000000000..5b5b7f34d
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_access_test.ts
@@ -0,0 +1,67 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as fs from "node:fs";
+import { assertRejects, assertThrows } from "@test_util/std/assert/mod.ts";
+
+Deno.test(
+ "[node/fs.access] Uses the owner permission when the user is the owner",
+ { ignore: Deno.build.os === "windows" },
+ async () => {
+ const file = await Deno.makeTempFile();
+ try {
+ await Deno.chmod(file, 0o600);
+ await fs.promises.access(file, fs.constants.R_OK);
+ await fs.promises.access(file, fs.constants.W_OK);
+ await assertRejects(async () => {
+ await fs.promises.access(file, fs.constants.X_OK);
+ });
+ } finally {
+ await Deno.remove(file);
+ }
+ },
+);
+
+Deno.test(
+ "[node/fs.access] doesn't reject on windows",
+ { ignore: Deno.build.os !== "windows" },
+ async () => {
+ const file = await Deno.makeTempFile();
+ try {
+ await fs.promises.access(file, fs.constants.R_OK);
+ await fs.promises.access(file, fs.constants.W_OK);
+ } finally {
+ await Deno.remove(file);
+ }
+ },
+);
+
+Deno.test(
+ "[node/fs.accessSync] Uses the owner permission when the user is the owner",
+ { ignore: Deno.build.os === "windows" },
+ () => {
+ const file = Deno.makeTempFileSync();
+ try {
+ Deno.chmodSync(file, 0o600);
+ fs.accessSync(file, fs.constants.R_OK);
+ fs.accessSync(file, fs.constants.W_OK);
+ assertThrows(() => {
+ fs.accessSync(file, fs.constants.X_OK);
+ });
+ } finally {
+ Deno.removeSync(file);
+ }
+ },
+);
+
+Deno.test(
+ "[node/fs.accessSync] doesn't throw on windows",
+ { ignore: Deno.build.os !== "windows" },
+ () => {
+ const file = Deno.makeTempFileSync();
+ try {
+ fs.accessSync(file, fs.constants.R_OK);
+ fs.accessSync(file, fs.constants.W_OK);
+ } finally {
+ Deno.removeSync(file);
+ }
+ },
+);
diff --git a/tests/unit_node/_fs/_fs_appendFile_test.ts b/tests/unit_node/_fs/_fs_appendFile_test.ts
new file mode 100644
index 000000000..57271efdb
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_appendFile_test.ts
@@ -0,0 +1,237 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { appendFile, appendFileSync } from "node:fs";
+import { fromFileUrl } from "@test_util/std/path/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+
+const decoder = new TextDecoder("utf-8");
+
+Deno.test({
+ name: "No callback Fn results in Error",
+ fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Argument of type 'string' is not assignable to parameter of type 'NoParamCallback'
+ appendFile("some/path", "some data", "utf8");
+ },
+ Error,
+ "The \"cb\" argument must be of type function. Received type string ('utf8')",
+ );
+ },
+});
+
+Deno.test({
+ name: "Unsupported encoding results in error()",
+ fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ appendFile("some/path", "some data", "made-up-encoding", () => {});
+ },
+ Error,
+ "The argument 'made-up-encoding' is invalid encoding. Received 'encoding'",
+ );
+ assertThrows(
+ () => {
+ appendFile(
+ "some/path",
+ "some data",
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ { encoding: "made-up-encoding" },
+ () => {},
+ );
+ },
+ Error,
+ "The argument 'made-up-encoding' is invalid encoding. Received 'encoding'",
+ );
+ assertThrows(
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ () => appendFileSync("some/path", "some data", "made-up-encoding"),
+ Error,
+ "The argument 'made-up-encoding' is invalid encoding. Received 'encoding'",
+ );
+ assertThrows(
+ () =>
+ appendFileSync("some/path", "some data", {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ encoding: "made-up-encoding",
+ }),
+ Error,
+ "The argument 'made-up-encoding' is invalid encoding. Received 'encoding'",
+ );
+ },
+});
+
+Deno.test({
+ name: "Async: Data is written to passed in rid",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ using file = await Deno.open(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+ await new Promise<void>((resolve, reject) => {
+ appendFile(file.rid, "hello world", (err) => {
+ if (err) reject();
+ else resolve();
+ });
+ })
+ .then(async () => {
+ const data = await Deno.readFile(tempFile);
+ assertEquals(decoder.decode(data), "hello world");
+ }, () => {
+ fail("No error expected");
+ })
+ .finally(async () => {
+ await Deno.remove(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "Async: Data is written to passed in file path",
+ async fn() {
+ await new Promise<void>((resolve, reject) => {
+ appendFile("_fs_appendFile_test_file.txt", "hello world", (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(async () => {
+ const data = await Deno.readFile("_fs_appendFile_test_file.txt");
+ assertEquals(decoder.decode(data), "hello world");
+ }, (err) => {
+ fail("No error was expected: " + err);
+ })
+ .finally(async () => {
+ await Deno.remove("_fs_appendFile_test_file.txt");
+ });
+ },
+});
+
+Deno.test({
+ name: "Async: Data is written to passed in URL",
+ async fn() {
+ const fileURL = new URL("_fs_appendFile_test_file.txt", import.meta.url);
+ await new Promise<void>((resolve, reject) => {
+ appendFile(fileURL, "hello world", (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(async () => {
+ const data = await Deno.readFile(fromFileUrl(fileURL));
+ assertEquals(decoder.decode(data), "hello world");
+ }, (err) => {
+ fail("No error was expected: " + err);
+ })
+ .finally(async () => {
+ await Deno.remove(fromFileUrl(fileURL));
+ });
+ },
+});
+
+Deno.test({
+ name:
+ "Async: Callback is made with error if attempting to append data to an existing file with 'ax' flag",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ await new Promise<void>((resolve, reject) => {
+ appendFile(tempFile, "hello world", { flag: "ax" }, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(() => fail("Expected error to be thrown"))
+ .catch(() => {})
+ .finally(async () => {
+ await Deno.remove(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "Sync: Data is written to passed in rid",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ using file = Deno.openSync(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+ appendFileSync(file.rid, "hello world");
+ const data = Deno.readFileSync(tempFile);
+ assertEquals(decoder.decode(data), "hello world");
+ Deno.removeSync(tempFile);
+ },
+});
+
+Deno.test({
+ name: "Sync: Data is written to passed in file path",
+ fn() {
+ appendFileSync("_fs_appendFile_test_file_sync.txt", "hello world");
+ const data = Deno.readFileSync("_fs_appendFile_test_file_sync.txt");
+ assertEquals(decoder.decode(data), "hello world");
+ Deno.removeSync("_fs_appendFile_test_file_sync.txt");
+ },
+});
+
+Deno.test({
+ name:
+ "Sync: error thrown if attempting to append data to an existing file with 'ax' flag",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ assertThrows(
+ () => appendFileSync(tempFile, "hello world", { flag: "ax" }),
+ Error,
+ "",
+ );
+ Deno.removeSync(tempFile);
+ },
+});
+
+Deno.test({
+ name: "Sync: Data is written in Uint8Array to passed in file path",
+ fn() {
+ const testData = new TextEncoder().encode("hello world");
+ appendFileSync("_fs_appendFile_test_file_sync.txt", testData);
+ const data = Deno.readFileSync("_fs_appendFile_test_file_sync.txt");
+ assertEquals(data, testData);
+ Deno.removeSync("_fs_appendFile_test_file_sync.txt");
+ },
+});
+
+Deno.test({
+ name: "Async: Data is written in Uint8Array to passed in file path",
+ async fn() {
+ const testData = new TextEncoder().encode("hello world");
+ await new Promise<void>((resolve, reject) => {
+ appendFile("_fs_appendFile_test_file.txt", testData, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(async () => {
+ const data = await Deno.readFile("_fs_appendFile_test_file.txt");
+ assertEquals(data, testData);
+ }, (err) => {
+ fail("No error was expected: " + err);
+ })
+ .finally(async () => {
+ await Deno.remove("_fs_appendFile_test_file.txt");
+ });
+ },
+});
+
+Deno.test("[std/node/fs] appendFile callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { appendFile } from ${JSON.stringify(importUrl)}`,
+ invocation: `appendFile(${JSON.stringify(tempFile)}, "hello world", `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_chmod_test.ts b/tests/unit_node/_fs/_fs_chmod_test.ts
new file mode 100644
index 000000000..2bddcb293
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_chmod_test.ts
@@ -0,0 +1,121 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertRejects,
+ assertThrows,
+ fail,
+} from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { chmod, chmodSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: Permissions are changed (non-Windows)",
+ ignore: Deno.build.os === "windows",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ const originalFileMode: number | null = (await Deno.lstat(tempFile)).mode;
+ await new Promise<void>((resolve, reject) => {
+ chmod(tempFile, 0o777, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(() => {
+ const newFileMode: number | null = Deno.lstatSync(tempFile).mode;
+ assert(newFileMode && originalFileMode);
+ assert(newFileMode === 33279 && newFileMode > originalFileMode);
+ }, (error) => {
+ fail(error);
+ })
+ .finally(() => {
+ Deno.removeSync(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: don't throw NotSupportedError (Windows)",
+ ignore: Deno.build.os !== "windows",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ await new Promise<void>((resolve, reject) => {
+ chmod(tempFile, 0o777, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ }).finally(() => {
+ Deno.removeSync(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: don't swallow NotFoundError (Windows)",
+ ignore: Deno.build.os !== "windows",
+ async fn() {
+ await assertRejects(async () => {
+ await new Promise<void>((resolve, reject) => {
+ chmod("./__non_existent_file__", 0o777, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ });
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: Permissions are changed (non-Windows)",
+ ignore: Deno.build.os === "windows",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ try {
+ const originalFileMode: number | null = Deno.lstatSync(tempFile).mode;
+ chmodSync(tempFile, "777");
+
+ const newFileMode: number | null = Deno.lstatSync(tempFile).mode;
+ assert(newFileMode && originalFileMode);
+ assert(newFileMode === 33279 && newFileMode > originalFileMode);
+ } finally {
+ Deno.removeSync(tempFile);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: don't throw NotSupportedError (Windows)",
+ ignore: Deno.build.os !== "windows",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ try {
+ chmodSync(tempFile, "777");
+ } finally {
+ Deno.removeSync(tempFile);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: don't swallow NotFoundError (Windows)",
+ ignore: Deno.build.os !== "windows",
+ fn() {
+ assertThrows(() => {
+ chmodSync("./__non_existent_file__", "777");
+ });
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] chmod callback isn't called twice if error is thrown",
+ async fn() {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { chmod } from ${JSON.stringify(importUrl)}`,
+ invocation: `chmod(${JSON.stringify(tempFile)}, 0o777, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_chown_test.ts b/tests/unit_node/_fs/_fs_chown_test.ts
new file mode 100644
index 000000000..d4f6ea0e8
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_chown_test.ts
@@ -0,0 +1,69 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { chown, chownSync } from "node:fs";
+
+// chown is difficult to test. Best we can do is set the existing user id/group
+// id again
+const ignore = Deno.build.os === "windows";
+
+Deno.test({
+ ignore,
+ name: "ASYNC: setting existing uid/gid works as expected (non-Windows)",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ const originalUserId: number | null = (await Deno.lstat(tempFile)).uid;
+ const originalGroupId: number | null = (await Deno.lstat(tempFile)).gid;
+ await new Promise<void>((resolve, reject) => {
+ chown(tempFile, originalUserId!, originalGroupId!, (err) => {
+ if (err) reject(err);
+ else resolve();
+ });
+ })
+ .then(() => {
+ const newUserId: number | null = Deno.lstatSync(tempFile).uid;
+ const newGroupId: number | null = Deno.lstatSync(tempFile).gid;
+ assertEquals(newUserId, originalUserId);
+ assertEquals(newGroupId, originalGroupId);
+ }, () => {
+ fail();
+ })
+ .finally(() => {
+ Deno.removeSync(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ ignore,
+ name: "SYNC: setting existing uid/gid works as expected (non-Windows)",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ const originalUserId: number | null = Deno.lstatSync(tempFile).uid;
+ const originalGroupId: number | null = Deno.lstatSync(tempFile).gid;
+ chownSync(tempFile, originalUserId!, originalGroupId!);
+
+ const newUserId: number | null = Deno.lstatSync(tempFile).uid;
+ const newGroupId: number | null = Deno.lstatSync(tempFile).gid;
+ assertEquals(newUserId, originalUserId);
+ assertEquals(newGroupId, originalGroupId);
+ Deno.removeSync(tempFile);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] chown callback isn't called twice if error is thrown",
+ ignore: Deno.build.os === "windows",
+ async fn() {
+ const tempFile = await Deno.makeTempFile();
+ const { uid, gid } = await Deno.lstat(tempFile);
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { chown } from ${JSON.stringify(importUrl)}`,
+ invocation: `chown(${JSON.stringify(tempFile)}, ${uid}, ${gid}, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_close_test.ts b/tests/unit_node/_fs/_fs_close_test.ts
new file mode 100644
index 000000000..155667305
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_close_test.ts
@@ -0,0 +1,86 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assert, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { close, closeSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: File is closed",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ const file: Deno.FsFile = await Deno.open(tempFile);
+
+ await new Promise<void>((resolve, reject) => {
+ close(file.rid, (err) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .catch(() => fail("No error expected"))
+ .finally(async () => {
+ await Deno.remove(tempFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: Invalid fd",
+ fn() {
+ assertThrows(() => {
+ close(-1, (_err) => {});
+ }, RangeError);
+ },
+});
+
+Deno.test({
+ name: "close callback should be asynchronous",
+ async fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ const file: Deno.FsFile = Deno.openSync(tempFile);
+
+ let foo: string;
+ const promise = new Promise<void>((resolve) => {
+ close(file.rid, () => {
+ assert(foo === "bar");
+ resolve();
+ });
+ foo = "bar";
+ });
+
+ await promise;
+ Deno.removeSync(tempFile);
+ },
+});
+
+Deno.test({
+ name: "SYNC: File is closed",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ const file: Deno.FsFile = Deno.openSync(tempFile);
+
+ closeSync(file.rid);
+ Deno.removeSync(tempFile);
+ },
+});
+
+Deno.test({
+ name: "SYNC: Invalid fd",
+ fn() {
+ assertThrows(() => closeSync(-1));
+ },
+});
+
+Deno.test("[std/node/fs] close callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `
+ import { close } from ${JSON.stringify(importUrl)};
+
+ const file = await Deno.open(${JSON.stringify(tempFile)});
+ `,
+ invocation: "close(file.rid, ",
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_copy_test.ts b/tests/unit_node/_fs/_fs_copy_test.ts
new file mode 100644
index 000000000..915ee93bd
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_copy_test.ts
@@ -0,0 +1,52 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as path from "@test_util/std/path/mod.ts";
+import { assert } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { copyFile, copyFileSync, existsSync } from "node:fs";
+
+const destFile = "./destination.txt";
+
+Deno.test({
+ name: "[std/node/fs] copy file",
+ fn: async () => {
+ const sourceFile = Deno.makeTempFileSync();
+ const err = await new Promise((resolve) => {
+ copyFile(sourceFile, destFile, (err?: Error | null) => resolve(err));
+ });
+ assert(!err);
+ assert(existsSync(destFile));
+ Deno.removeSync(sourceFile);
+ Deno.removeSync(destFile);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] copy file sync",
+ fn: () => {
+ const sourceFile = Deno.makeTempFileSync();
+ copyFileSync(sourceFile, destFile);
+ assert(existsSync(destFile));
+ Deno.removeSync(sourceFile);
+ Deno.removeSync(destFile);
+ },
+});
+
+Deno.test("[std/node/fs] copyFile callback isn't called twice if error is thrown", async () => {
+ // The correct behaviour is not to catch any errors thrown,
+ // but that means there'll be an uncaught error and the test will fail.
+ // So the only way to test this is to spawn a subprocess, and succeed if it has a non-zero exit code.
+ // (assertRejects won't work because there's no way to catch the error.)
+ const tempDir = await Deno.makeTempDir();
+ const tempFile1 = path.join(tempDir, "file1.txt");
+ const tempFile2 = path.join(tempDir, "file2.txt");
+ await Deno.writeTextFile(tempFile1, "hello world");
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { copyFile } from ${JSON.stringify(importUrl)}`,
+ invocation: `copyFile(${JSON.stringify(tempFile1)},
+ ${JSON.stringify(tempFile2)}, `,
+ async cleanup() {
+ await Deno.remove(tempDir, { recursive: true });
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_dir_test.ts b/tests/unit_node/_fs/_fs_dir_test.ts
new file mode 100644
index 000000000..697929fee
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_dir_test.ts
@@ -0,0 +1,205 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assert, assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { Dir as DirOrig, type Dirent } from "node:fs";
+
+// deno-lint-ignore no-explicit-any
+const Dir = DirOrig as any;
+
+Deno.test({
+ name: "Closing current directory with callback is successful",
+ fn() {
+ let calledBack = false;
+ // deno-lint-ignore no-explicit-any
+ new Dir(".").close((valOrErr: any) => {
+ assert(!valOrErr);
+ calledBack = true;
+ });
+ assert(calledBack);
+ },
+});
+
+Deno.test({
+ name: "Closing current directory without callback returns void Promise",
+ async fn() {
+ await new Dir(".").close();
+ },
+});
+
+Deno.test({
+ name: "Closing current directory synchronously works",
+ fn() {
+ new Dir(".").closeSync();
+ },
+});
+
+Deno.test({
+ name: "Path is correctly returned",
+ fn() {
+ assertEquals(new Dir("std/node").path, "std/node");
+
+ const enc: Uint8Array = new TextEncoder().encode("std/node");
+ assertEquals(new Dir(enc).path, "std/node");
+ },
+});
+
+Deno.test({
+ name: "read returns null for empty directory",
+ async fn() {
+ const testDir: string = Deno.makeTempDirSync();
+ try {
+ const file: Dirent | null = await new Dir(testDir).read();
+ assert(file === null);
+
+ let calledBack = false;
+ const fileFromCallback: Dirent | null = await new Dir(
+ testDir,
+ // deno-lint-ignore no-explicit-any
+ ).read((err: any, res: Dirent) => {
+ assert(res === null);
+ assert(err === null);
+ calledBack = true;
+ });
+ assert(fileFromCallback === null);
+ assert(calledBack);
+
+ assertEquals(new Dir(testDir).readSync(), null);
+ } finally {
+ Deno.removeSync(testDir);
+ }
+ },
+});
+
+Deno.test({
+ name: "Async read returns one file at a time",
+ async fn() {
+ const testDir: string = Deno.makeTempDirSync();
+ const f1 = Deno.createSync(testDir + "/foo.txt");
+ f1.close();
+ const f2 = Deno.createSync(testDir + "/bar.txt");
+ f2.close();
+
+ try {
+ let secondCallback = false;
+ const dir = new Dir(testDir);
+ const firstRead: Dirent | null = await dir.read();
+ const secondRead: Dirent | null = await dir.read(
+ // deno-lint-ignore no-explicit-any
+ (_err: any, secondResult: Dirent) => {
+ assert(
+ secondResult.name === "bar.txt" || secondResult.name === "foo.txt",
+ );
+ secondCallback = true;
+ },
+ );
+ const thirdRead: Dirent | null = await dir.read();
+ const fourthRead: Dirent | null = await dir.read();
+
+ if (firstRead?.name === "foo.txt") {
+ assertEquals(secondRead?.name, "bar.txt");
+ } else if (firstRead?.name === "bar.txt") {
+ assertEquals(secondRead?.name, "foo.txt");
+ } else {
+ fail("File not found during read");
+ }
+ assert(secondCallback);
+ assert(thirdRead === null);
+ assert(fourthRead === null);
+ } finally {
+ Deno.removeSync(testDir, { recursive: true });
+ }
+ },
+});
+
+Deno.test({
+ name: "Sync read returns one file at a time",
+ fn() {
+ const testDir: string = Deno.makeTempDirSync();
+ const f1 = Deno.createSync(testDir + "/foo.txt");
+ f1.close();
+ const f2 = Deno.createSync(testDir + "/bar.txt");
+ f2.close();
+
+ try {
+ const dir = new Dir(testDir);
+ const firstRead: Dirent | null = dir.readSync();
+ const secondRead: Dirent | null = dir.readSync();
+ const thirdRead: Dirent | null = dir.readSync();
+ const fourthRead: Dirent | null = dir.readSync();
+
+ if (firstRead?.name === "foo.txt") {
+ assertEquals(secondRead?.name, "bar.txt");
+ } else if (firstRead?.name === "bar.txt") {
+ assertEquals(secondRead?.name, "foo.txt");
+ } else {
+ fail("File not found during read");
+ }
+ assert(thirdRead === null);
+ assert(fourthRead === null);
+ } finally {
+ Deno.removeSync(testDir, { recursive: true });
+ }
+ },
+});
+
+Deno.test({
+ name: "Async iteration over existing directory",
+ async fn() {
+ const testDir: string = Deno.makeTempDirSync();
+ const f1 = Deno.createSync(testDir + "/foo.txt");
+ f1.close();
+ const f2 = Deno.createSync(testDir + "/bar.txt");
+ f2.close();
+
+ try {
+ const dir = new Dir(testDir);
+ const results: Array<string | null> = [];
+
+ for await (const file of dir[Symbol.asyncIterator]()) {
+ results.push(file.name);
+ }
+
+ assert(results.length === 2);
+ assert(results.includes("foo.txt"));
+ assert(results.includes("bar.txt"));
+ } finally {
+ Deno.removeSync(testDir, { recursive: true });
+ }
+ },
+});
+
+Deno.test(
+ "[std/node/fs] Dir.close callback isn't called twice if error is thrown",
+ async () => {
+ const tempDir = await Deno.makeTempDir();
+ await assertCallbackErrorUncaught({
+ prelude: `
+ import { Dir } from "node:fs";
+
+ const dir = new Dir(${JSON.stringify(tempDir)});
+ `,
+ invocation: "dir.close(",
+ async cleanup() {
+ await Deno.remove(tempDir);
+ },
+ });
+ },
+);
+
+Deno.test(
+ "[std/node/fs] Dir.read callback isn't called twice if error is thrown",
+ async () => {
+ const tempDir = await Deno.makeTempDir();
+ await assertCallbackErrorUncaught({
+ prelude: `
+ import { Dir } from "node:fs";
+
+ const dir = new Dir(${JSON.stringify(tempDir)});
+ `,
+ invocation: "dir.read(",
+ async cleanup() {
+ await Deno.remove(tempDir);
+ },
+ });
+ },
+);
diff --git a/tests/unit_node/_fs/_fs_dirent_test.ts b/tests/unit_node/_fs/_fs_dirent_test.ts
new file mode 100644
index 000000000..a42f6a25c
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_dirent_test.ts
@@ -0,0 +1,86 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { Dirent as Dirent_ } from "node:fs";
+
+// deno-lint-ignore no-explicit-any
+const Dirent = Dirent_ as any;
+
+class DirEntryMock implements Deno.DirEntry {
+ name = "";
+ isFile = false;
+ isDirectory = false;
+ isSymlink = false;
+}
+
+Deno.test({
+ name: "Directories are correctly identified",
+ fn() {
+ const entry: DirEntryMock = new DirEntryMock();
+ entry.isDirectory = true;
+ entry.isFile = false;
+ entry.isSymlink = false;
+ assert(new Dirent(entry).isDirectory());
+ assert(!new Dirent(entry).isFile());
+ assert(!new Dirent(entry).isSymbolicLink());
+ },
+});
+
+Deno.test({
+ name: "Files are correctly identified",
+ fn() {
+ const entry: DirEntryMock = new DirEntryMock();
+ entry.isDirectory = false;
+ entry.isFile = true;
+ entry.isSymlink = false;
+ assert(!new Dirent(entry).isDirectory());
+ assert(new Dirent(entry).isFile());
+ assert(!new Dirent(entry).isSymbolicLink());
+ },
+});
+
+Deno.test({
+ name: "Symlinks are correctly identified",
+ fn() {
+ const entry: DirEntryMock = new DirEntryMock();
+ entry.isDirectory = false;
+ entry.isFile = false;
+ entry.isSymlink = true;
+ assert(!new Dirent(entry).isDirectory());
+ assert(!new Dirent(entry).isFile());
+ assert(new Dirent(entry).isSymbolicLink());
+ },
+});
+
+Deno.test({
+ name: "File name is correct",
+ fn() {
+ const entry: DirEntryMock = new DirEntryMock();
+ entry.name = "my_file";
+ assertEquals(new Dirent(entry).name, "my_file");
+ },
+});
+
+Deno.test({
+ name: "Socket and FIFO pipes aren't yet available",
+ fn() {
+ const entry: DirEntryMock = new DirEntryMock();
+ assertThrows(
+ () => {
+ new Dirent(entry).isFIFO();
+ },
+ Error,
+ "does not yet support",
+ );
+ assertThrows(
+ () => {
+ new Dirent(entry).isSocket();
+ },
+ Error,
+ "does not yet support",
+ );
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_exists_test.ts b/tests/unit_node/_fs/_fs_exists_test.ts
new file mode 100644
index 000000000..baf959502
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_exists_test.ts
@@ -0,0 +1,65 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertEquals,
+ assertStringIncludes,
+} from "@test_util/std/assert/mod.ts";
+import { exists, existsSync } from "node:fs";
+import { promisify } from "node:util";
+
+Deno.test("[std/node/fs] exists", async function () {
+ const availableFile = await new Promise((resolve) => {
+ const tmpFilePath = Deno.makeTempFileSync();
+ exists(tmpFilePath, (exists: boolean) => {
+ Deno.removeSync(tmpFilePath);
+ resolve(exists);
+ });
+ });
+ const notAvailableFile = await new Promise((resolve) => {
+ exists("./notAvailable.txt", (exists: boolean) => resolve(exists));
+ });
+ assertEquals(availableFile, true);
+ assertEquals(notAvailableFile, false);
+});
+
+Deno.test("[std/node/fs] existsSync", function () {
+ const tmpFilePath = Deno.makeTempFileSync();
+ assertEquals(existsSync(tmpFilePath), true);
+ Deno.removeSync(tmpFilePath);
+ assertEquals(existsSync("./notAvailable.txt"), false);
+});
+
+Deno.test("[std/node/fs] promisify(exists)", async () => {
+ const tmpFilePath = await Deno.makeTempFile();
+ try {
+ const existsPromisified = promisify(exists);
+ assert(await existsPromisified(tmpFilePath));
+ assert(!await existsPromisified("./notAvailable.txt"));
+ } finally {
+ await Deno.remove(tmpFilePath);
+ }
+});
+
+Deno.test("[std/node/fs] exists callback isn't called twice if error is thrown", async () => {
+ // This doesn't use `assertCallbackErrorUncaught()` because `exists()` doesn't return a standard node callback, which is what it expects.
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ const command = new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ "--no-check",
+ `
+ import { exists } from ${JSON.stringify(importUrl)};
+
+ exists(${JSON.stringify(tempFile)}, (exists) => {
+ // If the bug is present and the callback is called again with false (meaning an error occurred),
+ // don't throw another error, so if the subprocess fails we know it had the correct behaviour.
+ if (exists) throw new Error("success");
+ });`,
+ ],
+ });
+ const { success, stderr } = await command.output();
+ await Deno.remove(tempFile);
+ assert(!success);
+ assertStringIncludes(new TextDecoder().decode(stderr), "Error: success");
+});
diff --git a/tests/unit_node/_fs/_fs_fdatasync_test.ts b/tests/unit_node/_fs/_fs_fdatasync_test.ts
new file mode 100644
index 000000000..7a61bd4c1
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_fdatasync_test.ts
@@ -0,0 +1,58 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { fdatasync, fdatasyncSync } from "node:fs";
+
+Deno.test({
+ name:
+ "ASYNC: flush any pending data operations of the given file stream to disk",
+ async fn() {
+ const filePath = await Deno.makeTempFile();
+ using file = await Deno.open(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+ const data = new Uint8Array(64);
+ await file.write(data);
+
+ await new Promise<void>((resolve, reject) => {
+ fdatasync(file.rid, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ async () => {
+ assertEquals(await Deno.readFile(filePath), data);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(async () => {
+ await Deno.remove(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name:
+ "SYNC: flush any pending data operations of the given file stream to disk.",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = Deno.openSync(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+ const data = new Uint8Array(64);
+ Deno.writeSync(file.rid, data);
+
+ try {
+ fdatasyncSync(file.rid);
+ assertEquals(Deno.readFileSync(filePath), data);
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_fstat_test.ts b/tests/unit_node/_fs/_fs_fstat_test.ts
new file mode 100644
index 000000000..d15ef5a80
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_fstat_test.ts
@@ -0,0 +1,90 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { fstat, fstatSync } from "node:fs";
+import { fail } from "@test_util/std/assert/mod.ts";
+import { assertStats, assertStatsBigInt } from "./_fs_stat_test.ts";
+import type { BigIntStats, Stats } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: get a file Stats",
+ async fn() {
+ const filePath = await Deno.makeTempFile();
+ using file = await Deno.open(filePath);
+
+ await new Promise<Stats>((resolve, reject) => {
+ fstat(file.rid, (err: Error | null, stat: Stats) => {
+ if (err) reject(err);
+ resolve(stat);
+ });
+ })
+ .then(
+ (stat) => {
+ assertStats(stat, file.statSync());
+ },
+ () => fail(),
+ )
+ .finally(() => {
+ Deno.removeSync(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: get a file BigInt Stats",
+ async fn() {
+ const filePath = await Deno.makeTempFile();
+ using file = await Deno.open(filePath);
+
+ await new Promise<BigIntStats>((resolve, reject) => {
+ fstat(
+ file.rid,
+ { bigint: true },
+ (err: Error | null, stat: BigIntStats) => {
+ if (err) reject(err);
+ resolve(stat);
+ },
+ );
+ })
+ .then(
+ (stat) => assertStatsBigInt(stat, file.statSync()),
+ () => fail(),
+ )
+ .finally(() => {
+ Deno.removeSync(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: get a file Stats",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = Deno.openSync(filePath);
+
+ try {
+ assertStats(fstatSync(file.rid), file.statSync());
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: get a file BigInt Stats",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = Deno.openSync(filePath);
+
+ try {
+ // HEAD
+ assertStatsBigInt(fstatSync(file.rid, { bigint: true }), file.statSync());
+ //
+ assertStatsBigInt(
+ fstatSync(file.rid, { bigint: true }),
+ Deno.fstatSync(file.rid),
+ );
+ //main
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_fsync_test.ts b/tests/unit_node/_fs/_fs_fsync_test.ts
new file mode 100644
index 000000000..870055c00
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_fsync_test.ts
@@ -0,0 +1,56 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { fsync, fsyncSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: flush any pending data of the given file stream to disk",
+ async fn() {
+ const filePath = await Deno.makeTempFile();
+ using file = await Deno.open(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+ const size = 64;
+ await file.truncate(size);
+
+ await new Promise<void>((resolve, reject) => {
+ fsync(file.rid, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ async () => {
+ assertEquals((await Deno.stat(filePath)).size, size);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(async () => {
+ await Deno.remove(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: flush any pending data the given file stream to disk",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = Deno.openSync(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+ const size = 64;
+ file.truncateSync(size);
+
+ try {
+ fsyncSync(file.rid);
+ assertEquals(Deno.statSync(filePath).size, size);
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_ftruncate_test.ts b/tests/unit_node/_fs/_fs_ftruncate_test.ts
new file mode 100644
index 000000000..1e669fb60
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_ftruncate_test.ts
@@ -0,0 +1,123 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { ftruncate, ftruncateSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: no callback function results in Error",
+ fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Argument of type 'number' is not assignable to parameter of type 'NoParamCallback'
+ ftruncate(123, 0);
+ },
+ Error,
+ "No callback function supplied",
+ );
+ },
+});
+
+Deno.test({
+ name: "ASYNC: truncate entire file contents",
+ async fn() {
+ const filePath = Deno.makeTempFileSync();
+ await Deno.writeTextFile(filePath, "hello world");
+ using file = await Deno.open(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+
+ await new Promise<void>((resolve, reject) => {
+ ftruncate(file.rid, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+ assertEquals(fileInfo.size, 0);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => {
+ Deno.removeSync(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: truncate file to a size of precisely len bytes",
+ async fn() {
+ const filePath = Deno.makeTempFileSync();
+ await Deno.writeTextFile(filePath, "hello world");
+ using file = await Deno.open(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+
+ await new Promise<void>((resolve, reject) => {
+ ftruncate(file.rid, 3, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+ assertEquals(fileInfo.size, 3);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => {
+ Deno.removeSync(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: truncate entire file contents",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ Deno.writeFileSync(filePath, new TextEncoder().encode("hello world"));
+ using file = Deno.openSync(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+
+ try {
+ ftruncateSync(file.rid);
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+ assertEquals(fileInfo.size, 0);
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: truncate file to a size of precisely len bytes",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ Deno.writeFileSync(filePath, new TextEncoder().encode("hello world"));
+ using file = Deno.openSync(filePath, {
+ read: true,
+ write: true,
+ create: true,
+ });
+
+ try {
+ ftruncateSync(file.rid, 3);
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+ assertEquals(fileInfo.size, 3);
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_futimes_test.ts b/tests/unit_node/_fs/_fs_futimes_test.ts
new file mode 100644
index 000000000..bf3746957
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_futimes_test.ts
@@ -0,0 +1,106 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { futimes, futimesSync } from "node:fs";
+
+const randomDate = new Date(Date.now() + 1000);
+
+Deno.test({
+ name:
+ "ASYNC: change the file system timestamps of the object referenced by path",
+ async fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = await Deno.open(filePath, { create: true, write: true });
+
+ await new Promise<void>((resolve, reject) => {
+ futimes(file.rid, randomDate, randomDate, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+ assertEquals(fileInfo.mtime, randomDate);
+ assertEquals(fileInfo.atime, randomDate);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => {
+ Deno.removeSync(filePath);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: should throw error if atime is infinity",
+ fn() {
+ assertThrows(
+ () => {
+ futimes(123, Infinity, 0, (_err: Error | null) => {});
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name: "ASYNC: should throw error if atime is NaN",
+ fn() {
+ assertThrows(
+ () => {
+ futimes(123, "some string", 0, (_err: Error | null) => {});
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "SYNC: change the file system timestamps of the object referenced by path",
+ fn() {
+ const filePath = Deno.makeTempFileSync();
+ using file = Deno.openSync(filePath, { create: true, write: true });
+
+ try {
+ futimesSync(file.rid, randomDate, randomDate);
+
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(filePath);
+
+ assertEquals(fileInfo.mtime, randomDate);
+ assertEquals(fileInfo.atime, randomDate);
+ } finally {
+ Deno.removeSync(filePath);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: should throw error if atime is NaN",
+ fn() {
+ assertThrows(
+ () => {
+ futimesSync(123, "some string", 0);
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name: "SYNC: should throw error if atime is Infinity",
+ fn() {
+ assertThrows(
+ () => {
+ futimesSync(123, Infinity, 0);
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_handle_test.ts b/tests/unit_node/_fs/_fs_handle_test.ts
new file mode 100644
index 000000000..151d4d752
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_handle_test.ts
@@ -0,0 +1,88 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as path from "@test_util/std/path/mod.ts";
+import { Buffer } from "node:buffer";
+import * as fs from "node:fs/promises";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+
+const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+const decoder = new TextDecoder();
+
+Deno.test("readFileSuccess", async function () {
+ const fileHandle = await fs.open(testData);
+ const data = await fileHandle.readFile();
+
+ assert(data instanceof Uint8Array);
+ assertEquals(decoder.decode(data as Uint8Array), "hello world");
+
+ await fileHandle.close();
+});
+
+Deno.test("read", async function () {
+ const fileHandle = await fs.open(testData);
+ const byteLength = "hello world".length;
+
+ const buf = new Buffer(byteLength);
+ await fileHandle.read(buf, 0, byteLength, 0);
+
+ assertEquals(decoder.decode(buf as Uint8Array), "hello world");
+
+ await fileHandle.close();
+});
+
+Deno.test("read specify opt", async function () {
+ const fileHandle = await fs.open(testData);
+ const byteLength = "hello world".length;
+
+ const opt = {
+ buffer: new Buffer(byteLength),
+ offset: 6,
+ length: 5,
+ };
+ let res = await fileHandle.read(opt);
+
+ assertEquals(res.bytesRead, byteLength);
+ assertEquals(new TextDecoder().decode(res.buffer as Uint8Array), "world");
+
+ const opt2 = {
+ buffer: new Buffer(byteLength),
+ length: 5,
+ position: 0,
+ };
+ res = await fileHandle.read(opt2);
+
+ assertEquals(res.bytesRead, byteLength);
+ assertEquals(decoder.decode(res.buffer as Uint8Array), "hello");
+
+ await fileHandle.close();
+});
+
+Deno.test("[node/fs filehandle.write] Write from Buffer", async function () {
+ const tempFile: string = await Deno.makeTempFile();
+ const fileHandle = await fs.open(tempFile, "a+");
+
+ const buffer = Buffer.from("hello world");
+ const res = await fileHandle.write(buffer, 0, 5, 0);
+
+ const data = Deno.readFileSync(tempFile);
+ await Deno.remove(tempFile);
+ await fileHandle.close();
+
+ assertEquals(res.bytesWritten, 5);
+ assertEquals(decoder.decode(data), "hello");
+});
+
+Deno.test("[node/fs filehandle.write] Write from string", async function () {
+ const tempFile: string = await Deno.makeTempFile();
+ const fileHandle = await fs.open(tempFile, "a+");
+
+ const str = "hello world";
+ const res = await fileHandle.write(str);
+
+ const data = Deno.readFileSync(tempFile);
+ await Deno.remove(tempFile);
+ await fileHandle.close();
+
+ assertEquals(res.bytesWritten, 11);
+ assertEquals(decoder.decode(data), "hello world");
+});
diff --git a/tests/unit_node/_fs/_fs_link_test.ts b/tests/unit_node/_fs/_fs_link_test.ts
new file mode 100644
index 000000000..15f15c706
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_link_test.ts
@@ -0,0 +1,77 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as path from "@test_util/std/path/mod.ts";
+import { assert, assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { link, linkSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: hard linking files works as expected",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ const linkedFile: string = tempFile + ".link";
+ await new Promise<void>((res, rej) => {
+ link(tempFile, linkedFile, (err) => {
+ if (err) rej(err);
+ else res();
+ });
+ })
+ .then(() => {
+ assertEquals(Deno.statSync(tempFile), Deno.statSync(linkedFile));
+ }, () => {
+ fail("Expected to succeed");
+ })
+ .finally(() => {
+ Deno.removeSync(tempFile);
+ Deno.removeSync(linkedFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: hard linking files passes error to callback",
+ async fn() {
+ let failed = false;
+ await new Promise<void>((res, rej) => {
+ link("no-such-file", "no-such-file", (err) => {
+ if (err) rej(err);
+ else res();
+ });
+ })
+ .then(() => {
+ fail("Expected to succeed");
+ }, (err) => {
+ assert(err);
+ failed = true;
+ });
+ assert(failed);
+ },
+});
+
+Deno.test({
+ name: "SYNC: hard linking files works as expected",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ const linkedFile: string = tempFile + ".link";
+ linkSync(tempFile, linkedFile);
+
+ assertEquals(Deno.statSync(tempFile), Deno.statSync(linkedFile));
+ Deno.removeSync(tempFile);
+ Deno.removeSync(linkedFile);
+ },
+});
+
+Deno.test("[std/node/fs] link callback isn't called twice if error is thrown", async () => {
+ const tempDir = await Deno.makeTempDir();
+ const tempFile = path.join(tempDir, "file.txt");
+ const linkFile = path.join(tempDir, "link.txt");
+ await Deno.writeTextFile(tempFile, "hello world");
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { link } from ${JSON.stringify(importUrl)}`,
+ invocation: `link(${JSON.stringify(tempFile)},
+ ${JSON.stringify(linkFile)}, `,
+ async cleanup() {
+ await Deno.remove(tempDir, { recursive: true });
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_lstat_test.ts b/tests/unit_node/_fs/_fs_lstat_test.ts
new file mode 100644
index 000000000..ccd21a3cd
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_lstat_test.ts
@@ -0,0 +1,71 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { lstat, lstatSync } from "node:fs";
+import { fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { assertStats, assertStatsBigInt } from "./_fs_stat_test.ts";
+import type { BigIntStats, Stats } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: get a file Stats (lstat)",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<Stats>((resolve, reject) => {
+ lstat(file, (err, stat) => {
+ if (err) reject(err);
+ resolve(stat);
+ });
+ })
+ .then((stat) => {
+ assertStats(stat, Deno.lstatSync(file));
+ }, () => fail())
+ .finally(() => {
+ Deno.removeSync(file);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: get a file Stats (lstat)",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertStats(lstatSync(file), Deno.lstatSync(file));
+ },
+});
+
+Deno.test({
+ name: "ASYNC: get a file BigInt Stats (lstat)",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<BigIntStats>((resolve, reject) => {
+ lstat(file, { bigint: true }, (err, stat) => {
+ if (err) reject(err);
+ resolve(stat);
+ });
+ })
+ .then(
+ (stat) => assertStatsBigInt(stat, Deno.lstatSync(file)),
+ () => fail(),
+ )
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "SYNC: BigInt Stats (lstat)",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertStatsBigInt(lstatSync(file, { bigint: true }), Deno.lstatSync(file));
+ },
+});
+
+Deno.test("[std/node/fs] lstat callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { lstat } from ${JSON.stringify(importUrl)}`,
+ invocation: `lstat(${JSON.stringify(tempFile)}, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_mkdir_test.ts b/tests/unit_node/_fs/_fs_mkdir_test.ts
new file mode 100644
index 000000000..fb7fcf9c5
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_mkdir_test.ts
@@ -0,0 +1,43 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as path from "@test_util/std/path/mod.ts";
+import { assert } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { existsSync, mkdir, mkdirSync } from "node:fs";
+
+const tmpDir = "./tmpdir";
+
+Deno.test({
+ name: "[node/fs] mkdir",
+ fn: async () => {
+ const result = await new Promise((resolve) => {
+ mkdir(tmpDir, (err) => {
+ err && resolve(false);
+ resolve(existsSync(tmpDir));
+ Deno.removeSync(tmpDir);
+ });
+ });
+ assert(result);
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdirSync",
+ fn: () => {
+ mkdirSync(tmpDir);
+ assert(existsSync(tmpDir));
+ Deno.removeSync(tmpDir);
+ },
+});
+
+Deno.test("[std/node/fs] mkdir callback isn't called twice if error is thrown", async () => {
+ const tempDir = await Deno.makeTempDir();
+ const subdir = path.join(tempDir, "subdir");
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { mkdir } from ${JSON.stringify(importUrl)}`,
+ invocation: `mkdir(${JSON.stringify(subdir)}, `,
+ async cleanup() {
+ await Deno.remove(tempDir, { recursive: true });
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_mkdtemp_test.ts b/tests/unit_node/_fs/_fs_mkdtemp_test.ts
new file mode 100644
index 000000000..9f8975113
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_mkdtemp_test.ts
@@ -0,0 +1,86 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertRejects,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { EncodingOption, existsSync, mkdtemp, mkdtempSync } from "node:fs";
+import { env } from "node:process";
+import { promisify } from "node:util";
+
+const prefix = Deno.build.os === "windows"
+ ? env.TEMP + "\\"
+ : (env.TMPDIR || "/tmp") + "/";
+const doesNotExists = "/does/not/exists/";
+const options: EncodingOption = { encoding: "ascii" };
+const badOptions = { encoding: "bogus" };
+
+const mkdtempP = promisify(mkdtemp);
+
+Deno.test({
+ name: "[node/fs] mkdtemp",
+ fn: async () => {
+ const directory = await mkdtempP(prefix);
+ assert(existsSync(directory));
+ Deno.removeSync(directory);
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtemp (does not exists)",
+ fn: async () => {
+ await assertRejects(() => mkdtempP(doesNotExists));
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtemp (with options)",
+ fn: async () => {
+ const directory = await mkdtempP(prefix, options);
+ assert(existsSync(directory));
+ Deno.removeSync(directory);
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtemp (with bad options)",
+ fn: async () => {
+ // @ts-expect-error No overload matches this call
+ await assertRejects(() => mkdtempP(prefix, badOptions));
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtempSync",
+ fn: () => {
+ const directory = mkdtempSync(prefix);
+ const dirExists = existsSync(directory);
+ Deno.removeSync(directory);
+ assert(dirExists);
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtempSync (does not exists)",
+ fn: () => {
+ assertThrows(() => mkdtempSync(doesNotExists));
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtempSync (with options)",
+ fn: () => {
+ const directory = mkdtempSync(prefix, options);
+ const dirExists = existsSync(directory);
+ Deno.removeSync(directory);
+ assert(dirExists);
+ },
+});
+
+Deno.test({
+ name: "[node/fs] mkdtempSync (with bad options)",
+ fn: () => {
+ // @ts-expect-error No overload matches this call
+ assertThrows(() => mkdtempSync(prefix, badOptions));
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_open_test.ts b/tests/unit_node/_fs/_fs_open_test.ts
new file mode 100644
index 000000000..8cb9b0ec2
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_open_test.ts
@@ -0,0 +1,400 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ O_APPEND,
+ O_CREAT,
+ O_EXCL,
+ O_RDONLY,
+ O_RDWR,
+ O_SYNC,
+ O_TRUNC,
+ O_WRONLY,
+} from "node:constants";
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { open, openSync } from "node:fs";
+import { join, parse } from "node:path";
+import { closeSync, existsSync } from "node:fs";
+
+const tempDir = parse(Deno.makeTempFileSync()).dir;
+
+Deno.test({
+ name: "ASYNC: open file",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ let fd1: number;
+ await new Promise<number>((resolve, reject) => {
+ open(file, (err, fd) => {
+ if (err) reject(err);
+ resolve(fd);
+ });
+ })
+ .then((fd) => {
+ fd1 = fd;
+ }, () => fail())
+ .finally(() => closeSync(fd1));
+ },
+});
+
+Deno.test({
+ name: "SYNC: open file",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ const fd = openSync(file, "r");
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'a'",
+ fn() {
+ const file = join(tempDir, "some_random_file");
+ const fd = openSync(file, "a");
+ assertEquals(typeof fd, "number");
+ assertEquals(existsSync(file), true);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'ax'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, "ax");
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'a+'",
+ fn() {
+ const file = join(tempDir, "some_random_file2");
+ const fd = openSync(file, "a+");
+ assertEquals(typeof fd, "number");
+ assertEquals(existsSync(file), true);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'ax+'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, "ax+");
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'as'",
+ fn() {
+ const file = join(tempDir, "some_random_file10");
+ const fd = openSync(file, "as");
+ assertEquals(existsSync(file), true);
+ assertEquals(typeof fd, "number");
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'as+'",
+ fn() {
+ const file = join(tempDir, "some_random_file10");
+ const fd = openSync(file, "as+");
+ assertEquals(existsSync(file), true);
+ assertEquals(typeof fd, "number");
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'r'",
+ fn() {
+ const file = join(tempDir, "some_random_file3");
+ assertThrows(() => {
+ openSync(file, "r");
+ }, Error);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'r+'",
+ fn() {
+ const file = join(tempDir, "some_random_file4");
+ assertThrows(() => {
+ openSync(file, "r+");
+ }, Error);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'w'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, "w");
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = join(tempDir, "some_random_file5");
+ const fd2 = openSync(file2, "w");
+ assertEquals(typeof fd2, "number");
+ assertEquals(existsSync(file2), true);
+ closeSync(fd2);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'wx'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, "w");
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file2, "wx");
+ },
+ Error,
+ `EEXIST: file already exists, open '${file2}'`,
+ );
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'w+'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, "w+");
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = join(tempDir, "some_random_file6");
+ const fd2 = openSync(file2, "w+");
+ assertEquals(typeof fd2, "number");
+ assertEquals(existsSync(file2), true);
+ closeSync(fd2);
+ },
+});
+
+Deno.test({
+ name: "open with string flag 'wx+'",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, "wx+");
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_APPEND | O_CREAT | O_WRONLY` ('a')",
+ fn() {
+ const file = join(tempDir, "some_random_file");
+ const fd = openSync(file, O_APPEND | O_CREAT | O_WRONLY);
+ assertEquals(typeof fd, "number");
+ assertEquals(existsSync(file), true);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name:
+ "open with numeric flag `O_APPEND | O_CREAT | O_WRONLY | O_EXCL` ('ax')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, O_APPEND | O_CREAT | O_WRONLY | O_EXCL);
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_APPEND | O_CREAT | O_RDWR` ('a+')",
+ fn() {
+ const file = join(tempDir, "some_random_file2");
+ const fd = openSync(file, O_APPEND | O_CREAT | O_RDWR);
+ assertEquals(typeof fd, "number");
+ assertEquals(existsSync(file), true);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_APPEND | O_CREAT | O_RDWR | O_EXCL` ('ax+')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, O_APPEND | O_CREAT | O_RDWR | O_EXCL);
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test({
+ name:
+ "open with numeric flag `O_APPEND | O_CREAT | O_WRONLY | O_SYNC` ('as')",
+ fn() {
+ const file = join(tempDir, "some_random_file10");
+ const fd = openSync(file, O_APPEND | O_CREAT | O_WRONLY | O_SYNC);
+ assertEquals(existsSync(file), true);
+ assertEquals(typeof fd, "number");
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_APPEND | O_CREAT | O_RDWR | O_SYNC` ('as+')",
+ fn() {
+ const file = join(tempDir, "some_random_file10");
+ const fd = openSync(file, O_APPEND | O_CREAT | O_RDWR | O_SYNC);
+ assertEquals(existsSync(file), true);
+ assertEquals(typeof fd, "number");
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_RDONLY` ('r')",
+ fn() {
+ const file = join(tempDir, "some_random_file3");
+ assertThrows(() => {
+ openSync(file, O_RDONLY);
+ }, Error);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_RDWR` ('r+')",
+ fn() {
+ const file = join(tempDir, "some_random_file4");
+ assertThrows(() => {
+ openSync(file, O_RDWR);
+ }, Error);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_TRUNC | O_CREAT | O_WRONLY` ('w')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, O_TRUNC | O_CREAT | O_WRONLY);
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = join(tempDir, "some_random_file5");
+ const fd2 = openSync(file2, O_TRUNC | O_CREAT | O_WRONLY);
+ assertEquals(typeof fd2, "number");
+ assertEquals(existsSync(file2), true);
+ closeSync(fd2);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_TRUNC | O_CREAT | O_WRONLY | O_EXCL` ('wx')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, "w");
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file2, O_TRUNC | O_CREAT | O_WRONLY | O_EXCL);
+ },
+ Error,
+ `EEXIST: file already exists, open '${file2}'`,
+ );
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_TRUNC | O_CREAT | O_RDWR` ('w+')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, O_TRUNC | O_CREAT | O_RDWR);
+ assertEquals(typeof fd, "number");
+ assertEquals(Deno.readTextFileSync(file), "");
+ closeSync(fd);
+
+ const file2 = join(tempDir, "some_random_file6");
+ const fd2 = openSync(file2, O_TRUNC | O_CREAT | O_RDWR);
+ assertEquals(typeof fd2, "number");
+ assertEquals(existsSync(file2), true);
+ closeSync(fd2);
+ },
+});
+
+Deno.test({
+ name: "open with numeric flag `O_TRUNC | O_CREAT | O_RDWR | O_EXCL` ('wx+')",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertThrows(
+ () => {
+ openSync(file, O_TRUNC | O_CREAT | O_RDWR | O_EXCL);
+ },
+ Error,
+ `EEXIST: file already exists, open '${file}'`,
+ );
+ Deno.removeSync(file);
+ },
+});
+
+Deno.test("[std/node/fs] open callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { open } from ${JSON.stringify(importUrl)}`,
+ invocation: `open(${JSON.stringify(tempFile)}, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+
+ Deno.test({
+ name: "SYNC: open file with flag set to 0 (readonly)",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ const fd = openSync(file, 0);
+ closeSync(fd);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_opendir_test.ts b/tests/unit_node/_fs/_fs_opendir_test.ts
new file mode 100644
index 000000000..d4abb349c
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_opendir_test.ts
@@ -0,0 +1,146 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import {
+ assert,
+ assertEquals,
+ assertFalse,
+ assertInstanceOf,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { opendir, opendirSync } from "node:fs";
+import { Buffer } from "node:buffer";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+
+Deno.test("[node/fs] opendir()", async (t) => {
+ const path = await Deno.makeTempDir();
+ const file = await Deno.makeTempFile();
+
+ await t.step(
+ "fails if encoding is invalid",
+ () =>
+ opendir(
+ path,
+ // @ts-expect-error Type '"invalid-encoding"' is not assignable to type 'BufferEncoding | undefined'
+ { encoding: "invalid-encoding" },
+ (err) => assertInstanceOf(err, TypeError),
+ ),
+ );
+
+ await t.step(
+ "fails if bufferSize is invalid",
+ () =>
+ opendir(
+ path,
+ { bufferSize: -1 },
+ (err) => assertInstanceOf(err, RangeError),
+ ),
+ );
+
+ await t.step(
+ "fails if directory does not exist",
+ () =>
+ opendir(
+ "directory-that-does-not-exist",
+ (err) => assertInstanceOf(err, Error),
+ ),
+ );
+
+ await t.step(
+ "fails if not a directory",
+ () =>
+ opendir(
+ file,
+ (err) => assertInstanceOf(err, Error),
+ ),
+ );
+
+ await t.step(
+ "passes if path is a string",
+ () =>
+ opendir(
+ path,
+ (err, dir) => {
+ assertEquals(err, null);
+ assert(dir);
+ },
+ ),
+ );
+
+ await t.step(
+ "passes if path is a Buffer",
+ () =>
+ opendir(
+ Buffer.from(path),
+ (err, dir) => {
+ assertFalse(err);
+ assert(dir);
+ },
+ ),
+ );
+
+ await t.step(
+ "passes if path is a URL",
+ () =>
+ opendir(
+ new URL(`file://` + path),
+ (err, dir) => {
+ assertFalse(err);
+ assert(dir);
+ },
+ ),
+ );
+
+ await t.step("passes if callback isn't called twice", async () => {
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { opendir } from ${JSON.stringify(importUrl)}`,
+ invocation: `opendir(${JSON.stringify(path)}, `,
+ });
+ });
+
+ await Deno.remove(path);
+ await Deno.remove(file);
+});
+
+Deno.test("[node/fs] opendirSync()", async (t) => {
+ const path = await Deno.makeTempDir();
+ const file = await Deno.makeTempFile();
+
+ await t.step("fails if encoding is invalid", () => {
+ assertThrows(
+ // @ts-expect-error Type '"invalid-encoding"' is not assignable to type 'BufferEncoding | undefined'
+ () => opendirSync(path, { encoding: "invalid-encoding" }),
+ TypeError,
+ );
+ });
+
+ await t.step("fails if bufferSize is invalid", () => {
+ assertThrows(
+ () => opendirSync(path, { bufferSize: -1 }),
+ RangeError,
+ );
+ });
+
+ await t.step("fails if directory does not exist", () => {
+ assertThrows(() => opendirSync("directory-that-does-not-exist"));
+ });
+
+ await t.step("fails if not a directory", () => {
+ assertThrows(() => opendirSync(file));
+ });
+
+ await t.step("passes if path is a string", () => {
+ assert(opendirSync(path));
+ });
+
+ await t.step("passes if path is a Buffer", () => {
+ assert(opendirSync(Buffer.from(path)));
+ });
+
+ await t.step("passes if path is a URL", () => {
+ assert(opendirSync(new URL(`file://` + path)));
+ });
+
+ await Deno.remove(path);
+ await Deno.remove(file);
+});
diff --git a/tests/unit_node/_fs/_fs_readFile_test.ts b/tests/unit_node/_fs/_fs_readFile_test.ts
new file mode 100644
index 000000000..00653955d
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_readFile_test.ts
@@ -0,0 +1,123 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { promises, readFile, readFileSync } from "node:fs";
+import * as path from "@test_util/std/path/mod.ts";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+
+const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+
+Deno.test("readFileSuccess", async function () {
+ const data = await new Promise((res, rej) => {
+ readFile(testData, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), "hello world");
+});
+
+Deno.test("readFileEncodeUtf8Success", async function () {
+ const data = await new Promise((res, rej) => {
+ readFile(testData, { encoding: "utf8" }, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "hello world");
+});
+
+Deno.test("readFileEncodeHexSuccess", async function () {
+ const data = await new Promise((res, rej) => {
+ readFile(testData, { encoding: "hex" }, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "68656c6c6f20776f726c64");
+});
+
+Deno.test("readFileEncodeBase64Success", async function () {
+ const data = await new Promise((res, rej) => {
+ readFile(testData, { encoding: "base64" }, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "aGVsbG8gd29ybGQ=");
+});
+
+Deno.test("readFileEncodingAsString", async function () {
+ const data = await new Promise((res, rej) => {
+ readFile(testData, "utf8", (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "hello world");
+});
+
+Deno.test("readFileSyncSuccess", function () {
+ const data = readFileSync(testData);
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), "hello world");
+});
+
+Deno.test("readFileEncodeUtf8Success", function () {
+ const data = readFileSync(testData, { encoding: "utf8" });
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "hello world");
+});
+
+Deno.test("readFileEncodeHexSuccess", function () {
+ const data = readFileSync(testData, { encoding: "hex" });
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "68656c6c6f20776f726c64");
+});
+
+Deno.test("readFileEncodeBase64Success", function () {
+ const data = readFileSync(testData, { encoding: "base64" });
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "aGVsbG8gd29ybGQ=");
+});
+
+Deno.test("readFileEncodeAsString", function () {
+ const data = readFileSync(testData, "utf8");
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, "hello world");
+});
+
+Deno.test("[std/node/fs] readFile callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { readFile } from ${JSON.stringify(importUrl)}`,
+ invocation: `readFile(${JSON.stringify(tempFile)}, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+});
+
+Deno.test("fs.promises.readFile with no arg call rejects with error correctly", async () => {
+ // @ts-ignore no arg call needs to be supported
+ await promises.readFile().catch((_e) => {});
+});
diff --git a/tests/unit_node/_fs/_fs_read_test.ts b/tests/unit_node/_fs/_fs_read_test.ts
new file mode 100644
index 000000000..de741e377
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_read_test.ts
@@ -0,0 +1,322 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assertEquals,
+ assertFalse,
+ assertMatch,
+ assertStrictEquals,
+} from "@test_util/std/assert/mod.ts";
+import { read, readSync } from "node:fs";
+import { open, openSync } from "node:fs";
+import { Buffer } from "node:buffer";
+import * as path from "@test_util/std/path/mod.ts";
+import { closeSync } from "node:fs";
+
+async function readTest(
+ testData: string,
+ buffer: Buffer,
+ offset: number,
+ length: number,
+ position: number | null = null,
+ expected: (
+ fd: number,
+ bytesRead: number | null,
+ data: Buffer | undefined,
+ ) => void,
+) {
+ let fd1 = 0;
+ await new Promise<{
+ fd: number;
+ bytesRead: number | null;
+ data: Buffer | undefined;
+ }>((resolve, reject) => {
+ open(testData, "r", (err, fd) => {
+ if (err) reject(err);
+ read(fd, buffer, offset, length, position, (err, bytesRead, data) => {
+ if (err) reject(err);
+ resolve({ fd, bytesRead, data });
+ });
+ });
+ })
+ .then(({ fd, bytesRead, data }) => {
+ fd1 = fd;
+ expected(fd, bytesRead, data);
+ })
+ .finally(() => closeSync(fd1));
+}
+
+Deno.test({
+ name: "readSuccess",
+ async fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const buf = Buffer.alloc(1024);
+ await readTest(
+ testData,
+ buf,
+ buf.byteOffset,
+ buf.byteLength,
+ null,
+ (_fd, bytesRead, data) => {
+ assertStrictEquals(bytesRead, 11);
+ assertEquals(data instanceof Buffer, true);
+ assertMatch((data as Buffer).toString(), /hello world/);
+ },
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[std/node/fs] Read only five bytes, so that the position moves to five",
+ async fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const buf = Buffer.alloc(5);
+ await readTest(
+ testData,
+ buf,
+ buf.byteOffset,
+ 5,
+ null,
+ (_fd, bytesRead, data) => {
+ assertStrictEquals(bytesRead, 5);
+ assertEquals(data instanceof Buffer, true);
+ assertEquals((data as Buffer).toString(), "hello");
+ },
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[std/node/fs] position option of fs.read() specifies where to begin reading from in the file",
+ async fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const fd = openSync(testData, "r");
+ const buf = Buffer.alloc(5);
+ const positions = [6, 0, -1, null];
+ const expected = [
+ [119, 111, 114, 108, 100],
+ [104, 101, 108, 108, 111],
+ [104, 101, 108, 108, 111],
+ [32, 119, 111, 114, 108],
+ ];
+ for (const [i, position] of positions.entries()) {
+ await new Promise((resolve) => {
+ read(
+ fd,
+ {
+ buffer: buf,
+ offset: buf.byteOffset,
+ length: buf.byteLength,
+ position,
+ },
+ (err, bytesRead, data) => {
+ assertEquals(err, null);
+ assertStrictEquals(bytesRead, 5);
+ assertEquals(
+ data,
+ Buffer.from(expected[i]),
+ );
+ return resolve(true);
+ },
+ );
+ });
+ }
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] Read fs.read(fd, options, cb) signature",
+ async fn() {
+ const { promise, reject, resolve } = Promise.withResolvers<void>();
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi there");
+ const fd = openSync(file, "r+");
+ const buf = Buffer.alloc(11);
+ read(
+ fd,
+ {
+ buffer: buf,
+ offset: buf.byteOffset,
+ length: buf.byteLength,
+ position: null,
+ },
+ (err, bytesRead, data) => {
+ try {
+ assertEquals(err, null);
+ assertStrictEquals(bytesRead, 8);
+ assertEquals(
+ data,
+ Buffer.from([104, 105, 32, 116, 104, 101, 114, 101, 0, 0, 0]),
+ );
+ } catch (e) {
+ reject(e);
+ return;
+ }
+ resolve();
+ },
+ );
+ closeSync(fd);
+ await promise;
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] Read fs.read(fd, cb) signature",
+ async fn() {
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hi deno");
+ const fd = openSync(file, "r+");
+ read(fd, (err, bytesRead, data) => {
+ try {
+ assertEquals(err, null);
+ assertStrictEquals(bytesRead, 7);
+ assertStrictEquals(data?.byteLength, 16384);
+ } catch (e) {
+ reject(e);
+ return;
+ }
+ resolve();
+ });
+ closeSync(fd);
+ await promise;
+ },
+});
+
+Deno.test({
+ name: "SYNC: readSuccess",
+ fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const buffer = Buffer.alloc(1024);
+ const fd = openSync(testData, "r");
+ const bytesRead = readSync(
+ fd,
+ buffer,
+ buffer.byteOffset,
+ buffer.byteLength,
+ null,
+ );
+ assertStrictEquals(bytesRead, 11);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] Read only two bytes, so that the position moves to two",
+ fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const buffer = Buffer.alloc(2);
+ const fd = openSync(testData, "r");
+ const bytesRead = readSync(fd, buffer, buffer.byteOffset, 2, null);
+ assertStrictEquals(bytesRead, 2);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name:
+ "[std/node/fs] position option of fs.readSync() specifies where to begin reading from in the file",
+ fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const fd = openSync(testData, "r");
+ const buf = Buffer.alloc(5);
+ const positions = [6, 0, -1, null];
+ const expected = [
+ [119, 111, 114, 108, 100],
+ [104, 101, 108, 108, 111],
+ [104, 101, 108, 108, 111],
+ [32, 119, 111, 114, 108],
+ ];
+ for (const [i, position] of positions.entries()) {
+ const bytesRead = readSync(
+ fd,
+ buf,
+ buf.byteOffset,
+ buf.byteLength,
+ position,
+ );
+ assertStrictEquals(bytesRead, 5);
+ assertEquals(
+ buf,
+ Buffer.from(expected[i]),
+ );
+ }
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] Read fs.readSync(fd, buffer[, options]) signature",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ Deno.writeTextFileSync(file, "hello deno");
+ const buffer = Buffer.alloc(1024);
+ const fd = openSync(file, "r+");
+ const bytesRead = readSync(fd, buffer, {
+ length: buffer.byteLength,
+ offset: buffer.byteOffset,
+ position: null,
+ });
+ assertStrictEquals(bytesRead, 10);
+ closeSync(fd);
+ },
+});
+
+Deno.test({
+ name: "[std/node/fs] fs.read is async",
+ async fn(t) {
+ const file = await Deno.makeTempFile();
+ await Deno.writeTextFile(file, "abc");
+
+ await t.step("without position option", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ let called = false;
+ const fd = openSync(file, "r");
+ read(fd, () => {
+ called = true;
+ closeSync(fd);
+ resolve();
+ });
+ assertFalse(called);
+ await promise;
+ });
+
+ await t.step("with position option", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ let called = false;
+ const buffer = Buffer.alloc(2);
+ const fd = openSync(file, "r");
+ read(fd, { position: 1, buffer, offset: 0, length: 2 }, () => {
+ called = true;
+ closeSync(fd);
+ resolve();
+ });
+ assertFalse(called);
+ await promise;
+ });
+
+ await Deno.remove(file);
+ },
+});
+
+Deno.test({
+ name: "SYNC: read with no offsetOropts argument",
+ fn() {
+ const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+ const testData = path.resolve(moduleDir, "testdata", "hello.txt");
+ const buffer = Buffer.alloc(1024);
+ const fd = openSync(testData, "r");
+ const _bytesRead = readSync(
+ fd,
+ buffer,
+ );
+ closeSync(fd);
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_readdir_test.ts b/tests/unit_node/_fs/_fs_readdir_test.ts
new file mode 100644
index 000000000..eaacbfc5e
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_readdir_test.ts
@@ -0,0 +1,96 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assertEquals,
+ assertNotEquals,
+ fail,
+} from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { readdir, readdirSync } from "node:fs";
+import { join } from "@test_util/std/path/mod.ts";
+
+Deno.test({
+ name: "ASYNC: reading empty directory",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ await new Promise<string[]>((resolve, reject) => {
+ readdir(dir, (err, files) => {
+ if (err) reject(err);
+ resolve(files);
+ });
+ })
+ .then((files) => assertEquals(files, []), () => fail())
+ .finally(() => Deno.removeSync(dir));
+ },
+});
+
+function assertEqualsArrayAnyOrder<T>(actual: T[], expected: T[]) {
+ assertEquals(actual.length, expected.length);
+ for (const item of expected) {
+ const index = actual.indexOf(item);
+ assertNotEquals(index, -1);
+ expected = expected.splice(index, 1);
+ }
+}
+
+Deno.test({
+ name: "ASYNC: reading non-empty directory",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ Deno.writeTextFileSync(join(dir, "file1.txt"), "hi");
+ Deno.writeTextFileSync(join(dir, "file2.txt"), "hi");
+ Deno.mkdirSync(join(dir, "some_dir"));
+ await new Promise<string[]>((resolve, reject) => {
+ readdir(dir, (err, files) => {
+ if (err) reject(err);
+ resolve(files);
+ });
+ })
+ .then(
+ (files) =>
+ assertEqualsArrayAnyOrder(
+ files,
+ ["file1.txt", "some_dir", "file2.txt"],
+ ),
+ () => fail(),
+ )
+ .finally(() => Deno.removeSync(dir, { recursive: true }));
+ },
+});
+
+Deno.test({
+ name: "SYNC: reading empty the directory",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ assertEquals(readdirSync(dir), []);
+ },
+});
+
+Deno.test({
+ name: "SYNC: reading non-empty directory",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ Deno.writeTextFileSync(join(dir, "file1.txt"), "hi");
+ Deno.writeTextFileSync(join(dir, "file2.txt"), "hi");
+ Deno.mkdirSync(join(dir, "some_dir"));
+ assertEqualsArrayAnyOrder(
+ readdirSync(dir),
+ ["file1.txt", "some_dir", "file2.txt"],
+ );
+ },
+});
+
+Deno.test("[std/node/fs] readdir callback isn't called twice if error is thrown", async () => {
+ // The correct behaviour is not to catch any errors thrown,
+ // but that means there'll be an uncaught error and the test will fail.
+ // So the only way to test this is to spawn a subprocess, and succeed if it has a non-zero exit code.
+ // (assertRejects won't work because there's no way to catch the error.)
+ const tempDir = await Deno.makeTempDir();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { readdir } from ${JSON.stringify(importUrl)}`,
+ invocation: `readdir(${JSON.stringify(tempDir)}, `,
+ async cleanup() {
+ await Deno.remove(tempDir);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_readlink_test.ts b/tests/unit_node/_fs/_fs_readlink_test.ts
new file mode 100644
index 000000000..02d84c6c3
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_readlink_test.ts
@@ -0,0 +1,75 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { readlink, readlinkSync } from "node:fs";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+import * as path from "@test_util/std/path/mod.ts";
+
+const testDir = Deno.makeTempDirSync();
+const oldname = path.join(testDir, "oldname");
+const newname = path.join(testDir, "newname");
+
+if (Deno.build.os === "windows") {
+ Deno.symlinkSync(oldname, newname, { type: "file" });
+} else {
+ Deno.symlinkSync(oldname, newname);
+}
+
+Deno.test({
+ name: "readlinkSuccess",
+ async fn() {
+ const data = await new Promise((res, rej) => {
+ readlink(newname, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, oldname);
+ },
+});
+
+Deno.test({
+ name: "readlinkEncodeBufferSuccess",
+ async fn() {
+ const data = await new Promise((res, rej) => {
+ readlink(newname, { encoding: "buffer" }, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), oldname);
+ },
+});
+
+Deno.test({
+ name: "readlinkSyncSuccess",
+ fn() {
+ const data = readlinkSync(newname);
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, oldname);
+ },
+});
+
+Deno.test({
+ name: "readlinkEncodeBufferSuccess",
+ fn() {
+ const data = readlinkSync(newname, { encoding: "buffer" });
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), oldname);
+ },
+});
+
+Deno.test("[std/node/fs] readlink callback isn't called twice if error is thrown", async () => {
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { readlink } from ${JSON.stringify(importUrl)}`,
+ invocation: `readlink(${JSON.stringify(newname)}, `,
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_realpath_test.ts b/tests/unit_node/_fs/_fs_realpath_test.ts
new file mode 100644
index 000000000..6f22ff72a
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_realpath_test.ts
@@ -0,0 +1,55 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as path from "@test_util/std/path/mod.ts";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { realpath, realpathSync } from "node:fs";
+
+Deno.test("realpath", async function () {
+ const tempFile = await Deno.makeTempFile();
+ const tempFileAlias = tempFile + ".alias";
+ await Deno.symlink(tempFile, tempFileAlias);
+ const realPath = await new Promise((resolve, reject) => {
+ realpath(tempFile, (err, path) => {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve(path);
+ });
+ });
+ const realSymLinkPath = await new Promise((resolve, reject) => {
+ realpath(tempFileAlias, (err, path) => {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve(path);
+ });
+ });
+ assertEquals(realPath, realSymLinkPath);
+});
+
+Deno.test("realpathSync", function () {
+ const tempFile = Deno.makeTempFileSync();
+ const tempFileAlias = tempFile + ".alias";
+ Deno.symlinkSync(tempFile, tempFileAlias);
+ const realPath = realpathSync(tempFile);
+ const realSymLinkPath = realpathSync(tempFileAlias);
+ assertEquals(realPath, realSymLinkPath);
+});
+
+Deno.test("[std/node/fs] realpath callback isn't called twice if error is thrown", async () => {
+ const tempDir = await Deno.makeTempDir();
+ const tempFile = path.join(tempDir, "file.txt");
+ const linkFile = path.join(tempDir, "link.txt");
+ await Deno.writeTextFile(tempFile, "hello world");
+ await Deno.symlink(tempFile, linkFile, { type: "file" });
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { realpath } from ${JSON.stringify(importUrl)}`,
+ invocation: `realpath(${JSON.stringify(`${tempDir}/link.txt`)}, `,
+ async cleanup() {
+ await Deno.remove(tempDir, { recursive: true });
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_rename_test.ts b/tests/unit_node/_fs/_fs_rename_test.ts
new file mode 100644
index 000000000..dd0a01f8a
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_rename_test.ts
@@ -0,0 +1,52 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { rename, renameSync } from "node:fs";
+import { existsSync } from "node:fs";
+import { join, parse } from "@test_util/std/path/mod.ts";
+
+Deno.test({
+ name: "ASYNC: renaming a file",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ const newPath = join(parse(file).dir, `${parse(file).base}_renamed`);
+ await new Promise<void>((resolve, reject) => {
+ rename(file, newPath, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => {
+ assertEquals(existsSync(newPath), true);
+ assertEquals(existsSync(file), false);
+ }, () => fail())
+ .finally(() => {
+ if (existsSync(file)) Deno.removeSync(file);
+ if (existsSync(newPath)) Deno.removeSync(newPath);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: renaming a file",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ const newPath = join(parse(file).dir, `${parse(file).base}_renamed`);
+ renameSync(file, newPath);
+ assertEquals(existsSync(newPath), true);
+ assertEquals(existsSync(file), false);
+ },
+});
+
+Deno.test("[std/node/fs] rename callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { rename } from ${JSON.stringify(importUrl)}`,
+ invocation: `rename(${JSON.stringify(tempFile)},
+ ${JSON.stringify(`${tempFile}.newname`)}, `,
+ async cleanup() {
+ await Deno.remove(`${tempFile}.newname`);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_rm_test.ts b/tests/unit_node/_fs/_fs_rm_test.ts
new file mode 100644
index 000000000..1cc82a0cc
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_rm_test.ts
@@ -0,0 +1,139 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assertEquals,
+ assertRejects,
+ assertThrows,
+ fail,
+} from "@test_util/std/assert/mod.ts";
+import { rm, rmSync } from "node:fs";
+import { existsSync } from "node:fs";
+import { join } from "@test_util/std/path/mod.ts";
+
+Deno.test({
+ name: "ASYNC: removing empty folder",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ await new Promise<void>((resolve, reject) => {
+ rm(dir, { recursive: true }, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => assertEquals(existsSync(dir), false), () => fail())
+ .finally(() => {
+ if (existsSync(dir)) Deno.removeSync(dir);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: removing non-empty folder",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ using _file1 = Deno.createSync(join(dir, "file1.txt"));
+ using _file2 = Deno.createSync(join(dir, "file2.txt"));
+ Deno.mkdirSync(join(dir, "some_dir"));
+ using _file = Deno.createSync(join(dir, "some_dir", "file.txt"));
+ await new Promise<void>((resolve, reject) => {
+ rm(dir, { recursive: true }, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => assertEquals(existsSync(dir), false), () => fail())
+ .finally(() => {
+ if (existsSync(dir)) Deno.removeSync(dir, { recursive: true });
+ });
+ },
+ ignore: Deno.build.os === "windows",
+});
+
+Deno.test({
+ name: "ASYNC: removing a file",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<void>((resolve, reject) => {
+ rm(file, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ });
+
+ assertEquals(existsSync(file), false);
+ },
+});
+
+Deno.test({
+ name: "ASYNC: remove should fail if target does not exist",
+ async fn() {
+ const removePromise = new Promise<void>((resolve, reject) => {
+ rm("/path/to/noexist.text", (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ });
+ await assertRejects(() => removePromise, Error);
+ },
+});
+
+Deno.test({
+ name:
+ "ASYNC: remove should not fail if target does not exist and force option is true",
+ async fn() {
+ await new Promise<void>((resolve, reject) => {
+ rm("/path/to/noexist.text", { force: true }, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: removing empty folder",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ rmSync(dir, { recursive: true });
+ assertEquals(existsSync(dir), false);
+ },
+});
+
+Deno.test({
+ name: "SYNC: removing non-empty folder",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ using _file1 = Deno.createSync(join(dir, "file1.txt"));
+ using _file2 = Deno.createSync(join(dir, "file2.txt"));
+ Deno.mkdirSync(join(dir, "some_dir"));
+ using _file = Deno.createSync(join(dir, "some_dir", "file.txt"));
+ rmSync(dir, { recursive: true });
+ assertEquals(existsSync(dir), false);
+ },
+ ignore: Deno.build.os === "windows",
+});
+
+Deno.test({
+ name: "SYNC: removing a file",
+ fn() {
+ const file = Deno.makeTempFileSync();
+
+ rmSync(file);
+
+ assertEquals(existsSync(file), false);
+ },
+});
+
+Deno.test({
+ name: "SYNC: remove should fail if target does not exist",
+ fn() {
+ assertThrows(() => rmSync("/path/to/noexist.text"), Error);
+ },
+});
+
+Deno.test({
+ name:
+ "SYNC: remove should not fail if target does not exist and force option is true",
+ fn() {
+ rmSync("/path/to/noexist.text", { force: true });
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_rmdir_test.ts b/tests/unit_node/_fs/_fs_rmdir_test.ts
new file mode 100644
index 000000000..d2b075bdf
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_rmdir_test.ts
@@ -0,0 +1,81 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { rmdir, rmdirSync } from "node:fs";
+import { existsSync } from "node:fs";
+import { join } from "@test_util/std/path/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+
+Deno.test({
+ name: "ASYNC: removing empty folder",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ await new Promise<void>((resolve, reject) => {
+ rmdir(dir, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => assertEquals(existsSync(dir), false), () => fail())
+ .finally(() => {
+ if (existsSync(dir)) Deno.removeSync(dir);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: removing empty folder",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ rmdirSync(dir);
+ assertEquals(existsSync(dir), false);
+ },
+});
+
+Deno.test({
+ name: "ASYNC: removing non-empty folder",
+ async fn() {
+ const dir = Deno.makeTempDirSync();
+ using _file1 = Deno.createSync(join(dir, "file1.txt"));
+ using _file2 = Deno.createSync(join(dir, "file2.txt"));
+ Deno.mkdirSync(join(dir, "some_dir"));
+ using _file = Deno.createSync(join(dir, "some_dir", "file.txt"));
+ await new Promise<void>((resolve, reject) => {
+ rmdir(dir, { recursive: true }, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => assertEquals(existsSync(dir), false), () => fail())
+ .finally(() => {
+ if (existsSync(dir)) Deno.removeSync(dir, { recursive: true });
+ });
+ },
+ ignore: Deno.build.os === "windows",
+});
+
+Deno.test({
+ name: "SYNC: removing non-empty folder",
+ fn() {
+ const dir = Deno.makeTempDirSync();
+ using _file1 = Deno.createSync(join(dir, "file1.txt"));
+ using _file2 = Deno.createSync(join(dir, "file2.txt"));
+ Deno.mkdirSync(join(dir, "some_dir"));
+ using _file = Deno.createSync(join(dir, "some_dir", "file.txt"));
+ rmdirSync(dir, { recursive: true });
+ assertEquals(existsSync(dir), false);
+ },
+ ignore: Deno.build.os === "windows",
+});
+
+Deno.test("[std/node/fs] rmdir callback isn't called twice if error is thrown", async () => {
+ // The correct behaviour is not to catch any errors thrown,
+ // but that means there'll be an uncaught error and the test will fail.
+ // So the only way to test this is to spawn a subprocess, and succeed if it has a non-zero exit code.
+ // (assertRejects won't work because there's no way to catch the error.)
+ const tempDir = await Deno.makeTempDir();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { rmdir } from ${JSON.stringify(importUrl)}`,
+ invocation: `rmdir(${JSON.stringify(tempDir)}, `,
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_stat_test.ts b/tests/unit_node/_fs/_fs_stat_test.ts
new file mode 100644
index 000000000..38d5ca985
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_stat_test.ts
@@ -0,0 +1,131 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { BigIntStats, stat, Stats, statSync } from "node:fs";
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+
+export function assertStats(actual: Stats, expected: Deno.FileInfo) {
+ assertEquals(actual.dev, expected.dev);
+ assertEquals(actual.gid, expected.gid);
+ assertEquals(actual.size, expected.size);
+ assertEquals(actual.blksize, expected.blksize);
+ assertEquals(actual.blocks, expected.blocks);
+ assertEquals(actual.ino, expected.ino);
+ assertEquals(actual.gid, expected.gid);
+ assertEquals(actual.mode, expected.mode);
+ assertEquals(actual.nlink, expected.nlink);
+ assertEquals(actual.rdev, expected.rdev);
+ assertEquals(actual.uid, expected.uid);
+ assertEquals(actual.atime?.getTime(), expected.atime?.getTime());
+ assertEquals(actual.mtime?.getTime(), expected.mtime?.getTime());
+ assertEquals(actual.birthtime?.getTime(), expected.birthtime?.getTime());
+ assertEquals(actual.atimeMs ?? undefined, expected.atime?.getTime());
+ assertEquals(actual.mtimeMs ?? undefined, expected.mtime?.getTime());
+ assertEquals(actual.birthtimeMs ?? undefined, expected.birthtime?.getTime());
+ assertEquals(actual.isFile(), expected.isFile);
+ assertEquals(actual.isDirectory(), expected.isDirectory);
+ assertEquals(actual.isSymbolicLink(), expected.isSymlink);
+}
+
+function toBigInt(num?: number | null) {
+ if (num === undefined || num === null) return null;
+ return BigInt(num);
+}
+
+export function assertStatsBigInt(
+ actual: BigIntStats,
+ expected: Deno.FileInfo,
+) {
+ assertEquals(actual.dev, toBigInt(expected.dev));
+ assertEquals(actual.gid, toBigInt(expected.gid));
+ assertEquals(actual.size, toBigInt(expected.size));
+ assertEquals(actual.blksize, toBigInt(expected.blksize));
+ assertEquals(actual.blocks, toBigInt(expected.blocks));
+ assertEquals(actual.ino, toBigInt(expected.ino));
+ assertEquals(actual.gid, toBigInt(expected.gid));
+ assertEquals(actual.mode, toBigInt(expected.mode));
+ assertEquals(actual.nlink, toBigInt(expected.nlink));
+ assertEquals(actual.rdev, toBigInt(expected.rdev));
+ assertEquals(actual.uid, toBigInt(expected.uid));
+ assertEquals(actual.atime?.getTime(), expected.atime?.getTime());
+ assertEquals(actual.mtime?.getTime(), expected.mtime?.getTime());
+ assertEquals(actual.birthtime?.getTime(), expected.birthtime?.getTime());
+ assertEquals(
+ actual.atimeMs === null ? undefined : Number(actual.atimeMs),
+ expected.atime?.getTime(),
+ );
+ assertEquals(
+ actual.mtimeMs === null ? undefined : Number(actual.mtimeMs),
+ expected.mtime?.getTime(),
+ );
+ assertEquals(
+ actual.birthtimeMs === null ? undefined : Number(actual.birthtimeMs),
+ expected.birthtime?.getTime(),
+ );
+ assertEquals(actual.atimeNs === null, actual.atime === null);
+ assertEquals(actual.mtimeNs === null, actual.mtime === null);
+ assertEquals(actual.birthtimeNs === null, actual.birthtime === null);
+ assertEquals(actual.isFile(), expected.isFile);
+ assertEquals(actual.isDirectory(), expected.isDirectory);
+ assertEquals(actual.isSymbolicLink(), expected.isSymlink);
+}
+
+Deno.test({
+ name: "ASYNC: get a file Stats",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<Stats>((resolve, reject) => {
+ stat(file, (err, stat) => {
+ if (err) reject(err);
+ resolve(stat);
+ });
+ })
+ .then((stat) => assertStats(stat, Deno.statSync(file)), () => fail())
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "SYNC: get a file Stats",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertStats(statSync(file), Deno.statSync(file));
+ },
+});
+
+Deno.test({
+ name: "ASYNC: get a file BigInt Stats",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<BigIntStats>((resolve, reject) => {
+ stat(file, { bigint: true }, (err, stat) => {
+ if (err) reject(err);
+ resolve(stat);
+ });
+ })
+ .then(
+ (stat) => assertStatsBigInt(stat, Deno.statSync(file)),
+ () => fail(),
+ )
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "SYNC: get a file BigInt Stats",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ assertStatsBigInt(statSync(file, { bigint: true }), Deno.statSync(file));
+ },
+});
+
+Deno.test("[std/node/fs] stat callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { stat } from ${JSON.stringify(importUrl)}`,
+ invocation: `stat(${JSON.stringify(tempFile)}, `,
+ async cleanup() {
+ await Deno.remove(tempFile);
+ },
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_symlink_test.ts b/tests/unit_node/_fs/_fs_symlink_test.ts
new file mode 100644
index 000000000..4e42da293
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_symlink_test.ts
@@ -0,0 +1,107 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assert, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { symlink, symlinkSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: no callback function results in Error",
+ fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Argument of type 'string' is not assignable to parameter of type 'NoParamCallback'
+ symlink("some/path", "some/other/path", "dir");
+ },
+ Error,
+ "No callback function supplied",
+ );
+ },
+});
+
+Deno.test({
+ name: "ASYNC: create symlink point to a file",
+ async fn() {
+ const file: string = Deno.makeTempFileSync();
+ const linkedFile: string = file + ".link";
+
+ await new Promise<void>((resolve, reject) => {
+ symlink(file, linkedFile, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const stat = Deno.lstatSync(linkedFile);
+ assert(stat.isSymlink);
+ },
+ () => {
+ fail("Expected to succeed");
+ },
+ )
+ .finally(() => {
+ Deno.removeSync(file);
+ Deno.removeSync(linkedFile);
+ });
+ },
+});
+
+Deno.test({
+ name: "ASYNC: create symlink point to a dir",
+ async fn() {
+ const dir: string = Deno.makeTempDirSync();
+ const linkedDir: string = dir + ".link";
+
+ await new Promise<void>((resolve, reject) => {
+ symlink(dir, linkedDir, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const stat = Deno.lstatSync(linkedDir);
+ assert(stat.isSymlink);
+ },
+ () => {
+ fail("Expected to succeed");
+ },
+ )
+ .finally(() => {
+ Deno.removeSync(dir);
+ Deno.removeSync(linkedDir);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: create symlink point to a file",
+ fn() {
+ const file: string = Deno.makeTempFileSync();
+ const linkedFile: string = file + ".link";
+
+ try {
+ symlinkSync(file, linkedFile);
+ const stat = Deno.lstatSync(linkedFile);
+ assert(stat.isSymlink);
+ } finally {
+ Deno.removeSync(file);
+ Deno.removeSync(linkedFile);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: create symlink point to a dir",
+ fn() {
+ const dir: string = Deno.makeTempDirSync();
+ const linkedDir: string = dir + ".link";
+
+ try {
+ symlinkSync(dir, linkedDir);
+ const stat = Deno.lstatSync(linkedDir);
+ assert(stat.isSymlink);
+ } finally {
+ Deno.removeSync(dir);
+ Deno.removeSync(linkedDir);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_truncate_test.ts b/tests/unit_node/_fs/_fs_truncate_test.ts
new file mode 100644
index 000000000..9b7a9c490
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_truncate_test.ts
@@ -0,0 +1,95 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { truncate, truncateSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: no callback function results in Error",
+ fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Argument of type 'number' is not assignable to parameter of type 'NoParamCallback'
+ truncate("some/path", 0);
+ },
+ Error,
+ "No callback function supplied",
+ );
+ },
+});
+
+Deno.test({
+ name: "ASYNC: truncate entire file contents",
+ async fn() {
+ const file: string = Deno.makeTempFileSync();
+ await Deno.writeTextFile(file, "hello world");
+
+ await new Promise<void>((resolve, reject) => {
+ truncate(file, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+ assertEquals(fileInfo.size, 0);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "ASYNC: truncate file to a size of precisely len bytes",
+ async fn() {
+ const file: string = Deno.makeTempFileSync();
+ await Deno.writeTextFile(file, "hello world");
+
+ await new Promise<void>((resolve, reject) => {
+ truncate(file, 3, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+ assertEquals(fileInfo.size, 3);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "SYNC: truncate entire file contents",
+ fn() {
+ const file: string = Deno.makeTempFileSync();
+ try {
+ truncateSync(file);
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+ assertEquals(fileInfo.size, 0);
+ } finally {
+ Deno.removeSync(file);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: truncate file to a size of precisely len bytes",
+ fn() {
+ const file: string = Deno.makeTempFileSync();
+ try {
+ truncateSync(file, 3);
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+ assertEquals(fileInfo.size, 3);
+ } finally {
+ Deno.removeSync(file);
+ }
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_unlink_test.ts b/tests/unit_node/_fs/_fs_unlink_test.ts
new file mode 100644
index 000000000..1bdd9ee29
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_unlink_test.ts
@@ -0,0 +1,40 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { existsSync } from "node:fs";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { unlink, unlinkSync } from "node:fs";
+
+Deno.test({
+ name: "ASYNC: deleting a file",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ await new Promise<void>((resolve, reject) => {
+ unlink(file, (err) => {
+ if (err) reject(err);
+ resolve();
+ });
+ })
+ .then(() => assertEquals(existsSync(file), false), () => fail())
+ .finally(() => {
+ if (existsSync(file)) Deno.removeSync(file);
+ });
+ },
+});
+
+Deno.test({
+ name: "SYNC: Test deleting a file",
+ fn() {
+ const file = Deno.makeTempFileSync();
+ unlinkSync(file);
+ assertEquals(existsSync(file), false);
+ },
+});
+
+Deno.test("[std/node/fs] unlink callback isn't called twice if error is thrown", async () => {
+ const tempFile = await Deno.makeTempFile();
+ const importUrl = new URL("node:fs", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { unlink } from ${JSON.stringify(importUrl)}`,
+ invocation: `unlink(${JSON.stringify(tempFile)}, `,
+ });
+});
diff --git a/tests/unit_node/_fs/_fs_utimes_test.ts b/tests/unit_node/_fs/_fs_utimes_test.ts
new file mode 100644
index 000000000..1c6c7455e
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_utimes_test.ts
@@ -0,0 +1,100 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals, assertThrows, fail } from "@test_util/std/assert/mod.ts";
+import { utimes, utimesSync } from "node:fs";
+
+const randomDate = new Date(Date.now() + 1000);
+
+Deno.test({
+ name:
+ "ASYNC: change the file system timestamps of the object referenced by path",
+ async fn() {
+ const file: string = Deno.makeTempFileSync();
+
+ await new Promise<void>((resolve, reject) => {
+ utimes(file, randomDate, randomDate, (err: Error | null) => {
+ if (err !== null) reject();
+ else resolve();
+ });
+ })
+ .then(
+ () => {
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+ assertEquals(fileInfo.mtime, randomDate);
+ assertEquals(fileInfo.mtime, randomDate);
+ },
+ () => {
+ fail("No error expected");
+ },
+ )
+ .finally(() => Deno.removeSync(file));
+ },
+});
+
+Deno.test({
+ name: "ASYNC: should throw error if atime is infinity",
+ fn() {
+ assertThrows(
+ () => {
+ utimes("some/path", Infinity, 0, (_err: Error | null) => {});
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name: "ASYNC: should throw error if atime is NaN",
+ fn() {
+ assertThrows(
+ () => {
+ utimes("some/path", "some string", 0, (_err: Error | null) => {});
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "SYNC: change the file system timestamps of the object referenced by path",
+ fn() {
+ const file: string = Deno.makeTempFileSync();
+ try {
+ utimesSync(file, randomDate, randomDate);
+
+ const fileInfo: Deno.FileInfo = Deno.lstatSync(file);
+
+ assertEquals(fileInfo.mtime, randomDate);
+ } finally {
+ Deno.removeSync(file);
+ }
+ },
+});
+
+Deno.test({
+ name: "SYNC: should throw error if atime is NaN",
+ fn() {
+ assertThrows(
+ () => {
+ utimesSync("some/path", "some string", 0);
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
+
+Deno.test({
+ name: "SYNC: should throw error if atime is Infinity",
+ fn() {
+ assertThrows(
+ () => {
+ utimesSync("some/path", Infinity, 0);
+ },
+ Error,
+ "invalid atime, must not be infinity or NaN",
+ );
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_watch_test.ts b/tests/unit_node/_fs/_fs_watch_test.ts
new file mode 100644
index 000000000..ffa6cac45
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_watch_test.ts
@@ -0,0 +1,27 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { watch } from "node:fs";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+
+function wait(time: number) {
+ return new Promise((resolve) => {
+ setTimeout(resolve, time);
+ });
+}
+
+Deno.test({
+ name: "watching a file",
+ async fn() {
+ const file = Deno.makeTempFileSync();
+ const result: Array<[string, string | null]> = [];
+ const watcher = watch(
+ file,
+ (eventType, filename) => result.push([eventType, filename]),
+ );
+ await wait(100);
+ Deno.writeTextFileSync(file, "something");
+ await wait(100);
+ watcher.close();
+ await wait(100);
+ assertEquals(result.length >= 1, true);
+ },
+});
diff --git a/tests/unit_node/_fs/_fs_writeFile_test.ts b/tests/unit_node/_fs/_fs_writeFile_test.ts
new file mode 100644
index 000000000..44f1403df
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_writeFile_test.ts
@@ -0,0 +1,345 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertEquals,
+ assertNotEquals,
+ assertRejects,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { writeFile, writeFileSync } from "node:fs";
+import * as path from "@test_util/std/path/mod.ts";
+
+type TextEncodings =
+ | "ascii"
+ | "utf8"
+ | "utf-8"
+ | "utf16le"
+ | "ucs2"
+ | "ucs-2"
+ | "base64"
+ | "latin1"
+ | "hex";
+
+const moduleDir = path.dirname(path.fromFileUrl(import.meta.url));
+const testDataDir = path.resolve(moduleDir, "testdata");
+const decoder = new TextDecoder("utf-8");
+
+Deno.test("Callback must be a function error", function fn() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ writeFile("some/path", "some data", "utf8");
+ },
+ TypeError,
+ "Callback must be a function.",
+ );
+});
+
+Deno.test("Invalid encoding results in error()", function testEncodingErrors() {
+ assertThrows(
+ () => {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ writeFile("some/path", "some data", "made-up-encoding", () => {});
+ },
+ Error,
+ `The value "made-up-encoding" is invalid for option "encoding"`,
+ );
+
+ assertThrows(
+ () => {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ writeFileSync("some/path", "some data", "made-up-encoding");
+ },
+ Error,
+ `The value "made-up-encoding" is invalid for option "encoding"`,
+ );
+
+ assertThrows(
+ () => {
+ writeFile(
+ "some/path",
+ "some data",
+ {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ encoding: "made-up-encoding",
+ },
+ () => {},
+ );
+ },
+ Error,
+ `The value "made-up-encoding" is invalid for option "encoding"`,
+ );
+
+ assertThrows(
+ () => {
+ writeFileSync("some/path", "some data", {
+ // @ts-expect-error Type '"made-up-encoding"' is not assignable to type
+ encoding: "made-up-encoding",
+ });
+ },
+ Error,
+ `The value "made-up-encoding" is invalid for option "encoding"`,
+ );
+});
+
+Deno.test(
+ "Unsupported encoding results in error()",
+ function testUnsupportedEncoding() {
+ assertThrows(
+ () => {
+ writeFile("some/path", "some data", "utf16le", () => {});
+ },
+ Error,
+ `Not implemented: "utf16le" encoding`,
+ );
+
+ assertThrows(
+ () => {
+ writeFileSync("some/path", "some data", "utf16le");
+ },
+ Error,
+ `Not implemented: "utf16le" encoding`,
+ );
+ },
+);
+
+Deno.test(
+ "Data is written to correct rid",
+ async function testCorrectWriteUsingRid() {
+ const tempFile: string = await Deno.makeTempFile();
+ using file = await Deno.open(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+
+ await new Promise<void>((resolve, reject) => {
+ writeFile(file.rid, "hello world", (err) => {
+ if (err) return reject(err);
+ resolve();
+ });
+ });
+
+ const data = await Deno.readFile(tempFile);
+ await Deno.remove(tempFile);
+ assertEquals(decoder.decode(data), "hello world");
+ },
+);
+
+Deno.test(
+ "Data is written to correct file",
+ async function testCorrectWriteUsingPath() {
+ const res = await new Promise((resolve) => {
+ writeFile("_fs_writeFile_test_file.txt", "hello world", resolve);
+ });
+
+ const data = await Deno.readFile("_fs_writeFile_test_file.txt");
+ await Deno.remove("_fs_writeFile_test_file.txt");
+ assertEquals(res, null);
+ assertEquals(decoder.decode(data), "hello world");
+ },
+);
+
+Deno.test(
+ "Data is written to correct file encodings",
+ async function testCorrectWriteUsingDifferentEncodings() {
+ const encodings = [
+ ["hex", "68656c6c6f20776f726c64"],
+ ["HEX", "68656c6c6f20776f726c64"],
+ ["base64", "aGVsbG8gd29ybGQ="],
+ ["BASE64", "aGVsbG8gd29ybGQ="],
+ ["utf8", "hello world"],
+ ["utf-8", "hello world"],
+ ];
+
+ for (const [encoding, value] of encodings) {
+ const res = await new Promise((resolve) => {
+ writeFile(
+ "_fs_writeFile_test_file.txt",
+ value,
+ encoding as TextEncodings,
+ resolve,
+ );
+ });
+
+ const data = await Deno.readFile("_fs_writeFile_test_file.txt");
+ await Deno.remove("_fs_writeFile_test_file.txt");
+ assertEquals(res, null);
+ assertEquals(decoder.decode(data), "hello world");
+ }
+ },
+);
+
+Deno.test("Path can be an URL", async function testCorrectWriteUsingURL() {
+ const url = new URL(
+ Deno.build.os === "windows"
+ ? "file:///" +
+ path
+ .join(testDataDir, "_fs_writeFile_test_file_url.txt")
+ .replace(/\\/g, "/")
+ : "file://" + path.join(testDataDir, "_fs_writeFile_test_file_url.txt"),
+ );
+ const filePath = path.fromFileUrl(url);
+ const res = await new Promise((resolve) => {
+ writeFile(url, "hello world", resolve);
+ });
+ assert(res === null);
+
+ const data = await Deno.readFile(filePath);
+ await Deno.remove(filePath);
+ assertEquals(res, null);
+ assertEquals(decoder.decode(data), "hello world");
+});
+
+Deno.test("Mode is correctly set", async function testCorrectFileMode() {
+ if (Deno.build.os === "windows") return;
+ const filename = "_fs_writeFile_test_file.txt";
+
+ const res = await new Promise((resolve) => {
+ writeFile(filename, "hello world", { mode: 0o777 }, resolve);
+ });
+
+ const fileInfo = await Deno.stat(filename);
+ await Deno.remove(filename);
+ assertEquals(res, null);
+ assert(fileInfo && fileInfo.mode);
+ assertEquals(fileInfo.mode & 0o777, 0o777);
+});
+
+Deno.test(
+ "Mode is not set when rid is passed",
+ async function testCorrectFileModeRid() {
+ if (Deno.build.os === "windows") return;
+
+ const filename: string = await Deno.makeTempFile();
+ using file = await Deno.open(filename, {
+ create: true,
+ write: true,
+ read: true,
+ });
+
+ await new Promise<void>((resolve, reject) => {
+ writeFile(file.rid, "hello world", { mode: 0o777 }, (err) => {
+ if (err) return reject(err);
+ resolve();
+ });
+ });
+
+ const fileInfo = await Deno.stat(filename);
+ await Deno.remove(filename);
+ assert(fileInfo.mode);
+ assertNotEquals(fileInfo.mode & 0o777, 0o777);
+ },
+);
+
+Deno.test(
+ "Is cancellable with an AbortSignal",
+ async function testIsCancellableWithAbortSignal() {
+ const tempFile: string = await Deno.makeTempFile();
+ const controller = new AbortController();
+ // The "as any" is necessary due to https://github.com/denoland/deno/issues/19527
+ // deno-lint-ignore no-explicit-any
+ const signal = controller.signal as any;
+
+ const writeFilePromise = new Promise<void>((resolve, reject) => {
+ writeFile(tempFile, "hello world", { signal }, (err) => {
+ if (err) return reject(err);
+ resolve();
+ });
+ });
+ controller.abort();
+
+ await assertRejects(
+ () => writeFilePromise,
+ "AbortError",
+ );
+
+ Deno.removeSync(tempFile);
+ },
+);
+
+Deno.test(
+ "Data is written synchronously to correct rid",
+ function testCorrectWriteSyncUsingRid() {
+ const tempFile: string = Deno.makeTempFileSync();
+ using file = Deno.openSync(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+
+ writeFileSync(file.rid, "hello world");
+
+ const data = Deno.readFileSync(tempFile);
+ Deno.removeSync(tempFile);
+ assertEquals(decoder.decode(data), "hello world");
+ },
+);
+
+Deno.test(
+ "Data is written to correct file encodings",
+ function testCorrectWriteSyncUsingDifferentEncodings() {
+ const encodings = [
+ ["hex", "68656c6c6f20776f726c64"],
+ ["HEX", "68656c6c6f20776f726c64"],
+ ["base64", "aGVsbG8gd29ybGQ="],
+ ["BASE64", "aGVsbG8gd29ybGQ="],
+ ["utf8", "hello world"],
+ ["utf-8", "hello world"],
+ ];
+
+ for (const [encoding, value] of encodings) {
+ const file = "_fs_writeFileSync_test_file";
+ writeFileSync(file, value, encoding as TextEncodings);
+
+ const data = Deno.readFileSync(file);
+ Deno.removeSync(file);
+ assertEquals(decoder.decode(data), "hello world");
+ }
+ },
+);
+
+Deno.test(
+ "Data is written synchronously to correct file",
+ function testCorrectWriteSyncUsingPath() {
+ const file = "_fs_writeFileSync_test_file";
+
+ writeFileSync(file, "hello world");
+
+ const data = Deno.readFileSync(file);
+ Deno.removeSync(file);
+ assertEquals(decoder.decode(data), "hello world");
+ },
+);
+
+Deno.test("sync: Path can be an URL", function testCorrectWriteSyncUsingURL() {
+ const filePath = path.join(
+ testDataDir,
+ "_fs_writeFileSync_test_file_url.txt",
+ );
+ const url = new URL(
+ Deno.build.os === "windows"
+ ? "file:///" + filePath.replace(/\\/g, "/")
+ : "file://" + filePath,
+ );
+ writeFileSync(url, "hello world");
+
+ const data = Deno.readFileSync(filePath);
+ Deno.removeSync(filePath);
+ assertEquals(decoder.decode(data), "hello world");
+});
+
+Deno.test(
+ "Mode is correctly set when writing synchronously",
+ function testCorrectFileModeSync() {
+ if (Deno.build.os === "windows") return;
+ const filename = "_fs_writeFileSync_test_file.txt";
+
+ writeFileSync(filename, "hello world", { mode: 0o777 });
+
+ const fileInfo = Deno.statSync(filename);
+ Deno.removeSync(filename);
+ assert(fileInfo && fileInfo.mode);
+ assertEquals(fileInfo.mode & 0o777, 0o777);
+ },
+);
diff --git a/tests/unit_node/_fs/_fs_write_test.ts b/tests/unit_node/_fs/_fs_write_test.ts
new file mode 100644
index 000000000..7e75f321f
--- /dev/null
+++ b/tests/unit_node/_fs/_fs_write_test.ts
@@ -0,0 +1,51 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { write, writeSync } from "node:fs";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+import { Buffer } from "node:buffer";
+
+const decoder = new TextDecoder("utf-8");
+
+Deno.test({
+ name: "Data is written to the file with the correct length",
+ async fn() {
+ const tempFile: string = await Deno.makeTempFile();
+ using file = await Deno.open(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+ const buffer = Buffer.from("hello world");
+ const bytesWrite = await new Promise((resolve, reject) => {
+ write(file.rid, buffer, 0, 5, (err: unknown, nwritten: number) => {
+ if (err) return reject(err);
+ resolve(nwritten);
+ });
+ });
+
+ const data = await Deno.readFile(tempFile);
+ await Deno.remove(tempFile);
+
+ assertEquals(bytesWrite, 5);
+ assertEquals(decoder.decode(data), "hello");
+ },
+});
+
+Deno.test({
+ name: "Data is written synchronously to the file with the correct length",
+ fn() {
+ const tempFile: string = Deno.makeTempFileSync();
+ using file = Deno.openSync(tempFile, {
+ create: true,
+ write: true,
+ read: true,
+ });
+ const buffer = Buffer.from("hello world");
+ const bytesWrite = writeSync(file.rid, buffer, 0, 5);
+
+ const data = Deno.readFileSync(tempFile);
+ Deno.removeSync(tempFile);
+
+ assertEquals(bytesWrite, 5);
+ assertEquals(decoder.decode(data), "hello");
+ },
+});
diff --git a/tests/unit_node/_fs/testdata/hello.txt b/tests/unit_node/_fs/testdata/hello.txt
new file mode 100644
index 000000000..95d09f2b1
--- /dev/null
+++ b/tests/unit_node/_fs/testdata/hello.txt
@@ -0,0 +1 @@
+hello world \ No newline at end of file
diff --git a/tests/unit_node/_test_utils.ts b/tests/unit_node/_test_utils.ts
new file mode 100644
index 000000000..3942cf0a9
--- /dev/null
+++ b/tests/unit_node/_test_utils.ts
@@ -0,0 +1,40 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert, assertStringIncludes } from "@test_util/std/assert/mod.ts";
+
+/** Asserts that an error thrown in a callback will not be wrongly caught. */
+export async function assertCallbackErrorUncaught(
+ { prelude, invocation, cleanup }: {
+ /** Any code which needs to run before the actual invocation (notably, any import statements). */
+ prelude?: string;
+ /**
+ * The start of the invocation of the function, e.g. `open("foo.txt", `.
+ * The callback will be added after it.
+ */
+ invocation: string;
+ /** Called after the subprocess is finished but before running the assertions, e.g. to clean up created files. */
+ cleanup?: () => Promise<void> | void;
+ },
+) {
+ // Since the error has to be uncaught, and that will kill the Deno process,
+ // the only way to test this is to spawn a subprocess.
+ const p = new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ "--unstable",
+ `${prelude ?? ""}
+
+ ${invocation}(err) => {
+ // If the bug is present and the callback is called again with an error,
+ // don't throw another error, so if the subprocess fails we know it had the correct behaviour.
+ if (!err) throw new Error("success");
+ });`,
+ ],
+ stderr: "piped",
+ });
+ const { stderr, success } = await p.output();
+ const error = new TextDecoder().decode(stderr);
+ await cleanup?.();
+ assert(!success);
+ assertStringIncludes(error, "Error: success");
+}
diff --git a/tests/unit_node/assertion_error_test.ts b/tests/unit_node/assertion_error_test.ts
new file mode 100644
index 000000000..b61baee93
--- /dev/null
+++ b/tests/unit_node/assertion_error_test.ts
@@ -0,0 +1,66 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { stripColor } from "@test_util/std/fmt/colors.ts";
+import { assert, assertStrictEquals } from "@test_util/std/assert/mod.ts";
+import { AssertionError } from "node:assert";
+
+Deno.test({
+ name: "construct AssertionError() with given message",
+ fn() {
+ const err = new AssertionError(
+ {
+ message: "answer",
+ actual: "42",
+ expected: "42",
+ operator: "notStrictEqual",
+ },
+ );
+ assertStrictEquals(err.name, "AssertionError");
+ assertStrictEquals(err.message, "answer");
+ assertStrictEquals(err.generatedMessage, false);
+ assertStrictEquals(err.code, "ERR_ASSERTION");
+ assertStrictEquals(err.actual, "42");
+ assertStrictEquals(err.expected, "42");
+ assertStrictEquals(err.operator, "notStrictEqual");
+ },
+});
+
+Deno.test({
+ name: "construct AssertionError() with generated message",
+ fn() {
+ const err = new AssertionError(
+ { actual: 1, expected: 2, operator: "equal" },
+ );
+ assertStrictEquals(err.name, "AssertionError");
+ assertStrictEquals(stripColor(err.message), "1 equal 2");
+ assertStrictEquals(err.generatedMessage, true);
+ assertStrictEquals(err.code, "ERR_ASSERTION");
+ assertStrictEquals(err.actual, 1);
+ assertStrictEquals(err.expected, 2);
+ assertStrictEquals(err.operator, "equal");
+ },
+});
+
+Deno.test({
+ name: "construct AssertionError() with stackStartFn",
+ fn: function stackStartFn() {
+ const expected = /node/;
+ const err = new AssertionError({
+ actual: "deno",
+ expected,
+ operator: "match",
+ stackStartFn,
+ });
+ assertStrictEquals(err.name, "AssertionError");
+ assertStrictEquals(stripColor(err.message), `'deno' match /node/`);
+ assertStrictEquals(err.generatedMessage, true);
+ assertStrictEquals(err.code, "ERR_ASSERTION");
+ assertStrictEquals(err.actual, "deno");
+ assertStrictEquals(err.expected, expected);
+ assertStrictEquals(err.operator, "match");
+ assert(err.stack, "error should have a stack");
+ assert(
+ !err.stack?.includes("stackStartFn"),
+ "stackStartFn() should not present in stack trace",
+ );
+ },
+});
diff --git a/tests/unit_node/async_hooks_test.ts b/tests/unit_node/async_hooks_test.ts
new file mode 100644
index 000000000..1d0910d10
--- /dev/null
+++ b/tests/unit_node/async_hooks_test.ts
@@ -0,0 +1,79 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { AsyncLocalStorage, AsyncResource } from "node:async_hooks";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+
+Deno.test(async function foo() {
+ const asyncLocalStorage = new AsyncLocalStorage();
+
+ const out: string[] = [];
+ function logWithId(msg: string) {
+ const id = asyncLocalStorage.getStore();
+ out.push(`${id !== undefined ? id : "-"}: ${msg}`);
+ }
+
+ async function exec() {
+ logWithId("start");
+ await new Promise((resolve) => setTimeout(resolve, 100));
+ logWithId("finish");
+ }
+
+ for (const foo of [1, 2, 3]) {
+ asyncLocalStorage.run(foo, exec);
+ }
+
+ await new Promise((resolve) => setTimeout(resolve, 500));
+
+ assertEquals(out, [
+ "1: start",
+ "2: start",
+ "3: start",
+ "1: finish",
+ "2: finish",
+ "3: finish",
+ ]);
+});
+
+Deno.test(async function bar() {
+ let differentScopeDone = false;
+ const als = new AsyncLocalStorage();
+ const ac = new AbortController();
+ const server = Deno.serve({
+ signal: ac.signal,
+ port: 4000,
+ }, () => {
+ const differentScope = als.run(123, () =>
+ AsyncResource.bind(() => {
+ differentScopeDone = true;
+ }));
+ return als.run("Hello World", async () => {
+ // differentScope is attached to a different async context, so
+ // it will see a different value for als.getStore() (123)
+ setTimeout(differentScope, 5);
+ // Some simulated async delay.
+ await new Promise((res) => setTimeout(res, 10));
+ return new Response(als.getStore() as string); // "Hello World"
+ });
+ });
+
+ const res = await fetch("http://localhost:4000");
+ assertEquals(await res.text(), "Hello World");
+ ac.abort();
+ await server.finished;
+ assert(differentScopeDone);
+});
+
+Deno.test(async function nested() {
+ const als = new AsyncLocalStorage();
+ const deferred = Promise.withResolvers();
+ const deferred1 = Promise.withResolvers();
+
+ als.run(null, () => {
+ als.run({ x: 1 }, () => {
+ deferred.resolve(als.getStore());
+ });
+ deferred1.resolve(als.getStore());
+ });
+
+ assertEquals(await deferred.promise, { x: 1 });
+ assertEquals(await deferred1.promise, null);
+});
diff --git a/tests/unit_node/buffer_test.ts b/tests/unit_node/buffer_test.ts
new file mode 100644
index 000000000..af83c9ada
--- /dev/null
+++ b/tests/unit_node/buffer_test.ts
@@ -0,0 +1,650 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { Buffer } from "node:buffer";
+import { assertEquals, assertThrows } from "@test_util/std/assert/mod.ts";
+
+Deno.test({
+ name: "[node/buffer] alloc fails if size is not a number",
+ fn() {
+ const invalidSizes = [{}, "1", "foo", []];
+
+ for (const size of invalidSizes) {
+ assertThrows(
+ () => {
+ // deno-lint-ignore ban-ts-comment
+ // @ts-expect-error
+ Buffer.alloc(size);
+ },
+ TypeError,
+ '"size" argument must be of type number',
+ "should throw on non-number size",
+ );
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc allocates a buffer with the expected size",
+ fn() {
+ const buffer: Buffer = Buffer.alloc(1);
+ assertEquals(buffer.length, 1, "Buffer size should be 1");
+ assertEquals(buffer[0], 0, "Content should be filled with 0");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc(0) creates an empty buffer",
+ fn() {
+ const buffer: Buffer = Buffer.alloc(0);
+ assertEquals(buffer.length, 0, "Buffer size should be 0");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] allocUnsafe allocates a buffer with the expected size",
+ fn() {
+ const buffer: Buffer = Buffer.allocUnsafe(1);
+ assertEquals(buffer.length, 1, "Buffer size should be 1");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] allocUnsafe(0) creates an empty buffer",
+ fn() {
+ const buffer: Buffer = Buffer.allocUnsafe(0);
+ assertEquals(buffer.length, 0, "Buffer size should be 0");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc filled correctly with integer",
+ fn() {
+ const buffer: Buffer = Buffer.alloc(3, 5);
+ assertEquals(buffer, Buffer.from([5, 5, 5]));
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc filled correctly with single character",
+ fn() {
+ assertEquals(Buffer.alloc(5, "a"), Buffer.from([97, 97, 97, 97, 97]));
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc filled correctly with base64 string",
+ fn() {
+ assertEquals(
+ Buffer.alloc(11, "aGVsbG8gd29ybGQ=", "base64"),
+ Buffer.from([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]),
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc filled correctly with hex string",
+ fn() {
+ assertEquals(
+ Buffer.alloc(4, "64656e6f", "hex"),
+ Buffer.from([100, 101, 110, 111]),
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[node/buffer] alloc filled correctly with hex string smaller than alloc size",
+ fn() {
+ assertEquals(
+ Buffer.alloc(13, "64656e6f", "hex").toString(),
+ "denodenodenod",
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[node/buffer] alloc filled correctly with Uint8Array smaller than alloc size",
+ fn() {
+ // todo(fbaltor): remove this 'any' when @types/node fixes https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/65831
+ // deno-lint-ignore no-explicit-any
+ const arr: any = new Uint8Array([100, 101]);
+ assertEquals(
+ Buffer.alloc(7, arr),
+ Buffer.from([100, 101, 100, 101, 100, 101, 100]),
+ );
+ assertEquals(
+ Buffer.alloc(6, arr),
+ Buffer.from([100, 101, 100, 101, 100, 101]),
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[node/buffer] alloc filled correctly with Uint8Array bigger than alloc size",
+ fn() {
+ assertEquals(
+ // todo(fbaltor): remove this 'any' when @types/node fixes https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/65831
+ // deno-lint-ignore no-explicit-any
+ Buffer.alloc(1, new Uint8Array([100, 101]) as any),
+ Buffer.from([100]),
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] alloc filled correctly with Buffer",
+ fn() {
+ assertEquals(
+ Buffer.alloc(6, Buffer.from([100, 101])),
+ Buffer.from([100, 101, 100, 101, 100, 101]),
+ );
+ assertEquals(
+ Buffer.alloc(7, Buffer.from([100, 101])),
+ Buffer.from([100, 101, 100, 101, 100, 101, 100]),
+ );
+ },
+});
+
+// tests from:
+// https://github.com/nodejs/node/blob/56dbe466fdbc598baea3bfce289bf52b97b8b8f7/test/parallel/test-buffer-bytelength.js#L70
+Deno.test({
+ name: "[node/buffer] Byte length is the expected for strings",
+ fn() {
+ // Special case: zero length string
+ assertEquals(Buffer.byteLength("", "ascii"), 0);
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("", "HeX" as any), 0);
+
+ // utf8
+ assertEquals(Buffer.byteLength("∑éllö wørl∂!", "utf-8"), 19);
+ assertEquals(Buffer.byteLength("κλμνξο", "utf8"), 12);
+ assertEquals(Buffer.byteLength("挵挶挷挸挹", "utf-8"), 15);
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("𠝹𠱓𠱸", "UTF8" as any), 12);
+ // Without an encoding, utf8 should be assumed
+ assertEquals(Buffer.byteLength("hey there"), 9);
+ assertEquals(Buffer.byteLength("𠱸挶νξ#xx :)"), 17);
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("hello world", "" as any), 11);
+ // It should also be assumed with unrecognized encoding
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("hello world", "abc" as any), 11);
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("ßœ∑≈", "unkn0wn enc0ding" as any), 10);
+
+ // base64
+ assertEquals(Buffer.byteLength("aGVsbG8gd29ybGQ=", "base64"), 11);
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("aGVsbG8gd29ybGQ=", "BASE64" as any), 11);
+ assertEquals(Buffer.byteLength("bm9kZS5qcyByb2NrcyE=", "base64"), 14);
+ assertEquals(Buffer.byteLength("aGkk", "base64"), 3);
+ assertEquals(
+ Buffer.byteLength("bHNrZGZsa3NqZmtsc2xrZmFqc2RsZmtqcw==", "base64"),
+ 25,
+ );
+ // special padding
+ assertEquals(Buffer.byteLength("aaa=", "base64"), 2);
+ assertEquals(Buffer.byteLength("aaaa==", "base64"), 3);
+
+ assertEquals(Buffer.byteLength("Il était tué"), 14);
+ assertEquals(Buffer.byteLength("Il était tué", "utf8"), 14);
+
+ ["ascii", "latin1", "binary"]
+ .reduce((es: string[], e: string) => es.concat(e, e.toUpperCase()), [])
+ .forEach((encoding: string) => {
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("Il était tué", encoding as any), 12);
+ });
+
+ ["ucs2", "ucs-2", "utf16le", "utf-16le"]
+ .reduce((es: string[], e: string) => es.concat(e, e.toUpperCase()), [])
+ .forEach((encoding: string) => {
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.byteLength("Il était tué", encoding as any), 24);
+ });
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Byte length is the expected one for non-strings",
+ fn() {
+ assertEquals(
+ Buffer.byteLength(Buffer.alloc(0)),
+ Buffer.alloc(0).byteLength,
+ "Byte length differs on buffers",
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Two Buffers are concatenated",
+ fn() {
+ const data1 = [1, 2, 3];
+ const data2 = [4, 5, 6];
+
+ const buffer1 = Buffer.from(data1);
+ const buffer2 = Buffer.from(data2);
+
+ const resultBuffer = Buffer.concat([buffer1, buffer2]);
+ const expectedBuffer = Buffer.from([...data1, ...data2]);
+ assertEquals(resultBuffer, expectedBuffer);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] A single buffer concatenates and return the same buffer",
+ fn() {
+ const buffer1 = Buffer.alloc(1);
+ const resultBuffer = Buffer.concat([buffer1]);
+ assertEquals(resultBuffer.length, 1, "Buffer length should be 1");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] No buffers concat returns an empty buffer",
+ fn() {
+ const resultBuffer = Buffer.concat([]);
+ assertEquals(resultBuffer.length, 0, "Buffer length should be 0");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer concat respects totalLength parameter",
+ fn() {
+ const maxLength1 = 10;
+ const buffer1 = Buffer.alloc(2);
+ const buffer2 = Buffer.alloc(2);
+ assertEquals(
+ Buffer.concat([buffer1, buffer2], maxLength1).length,
+ maxLength1,
+ );
+
+ const maxLength2 = 3;
+ const buffer3 = Buffer.alloc(2);
+ const buffer4 = Buffer.alloc(2);
+ assertEquals(
+ Buffer.concat([buffer3, buffer4], maxLength2).length,
+ maxLength2,
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer 8 bit unsigned integers",
+ fn() {
+ const buffer = Buffer.from([0xff, 0x2a, 0x2a, 0x2a]);
+ assertEquals(buffer.readUInt8(0), 255);
+ assertEquals(buffer.readUInt8(1), 42);
+ assertEquals(buffer.readUInt8(2), 42);
+ assertEquals(buffer.readUInt8(3), 42);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer 16 bit unsigned integers",
+ fn() {
+ const buffer = Buffer.from([0x00, 0x2a, 0x42, 0x3f]);
+ assertEquals(buffer.readUInt16BE(0), 0x2a);
+ assertEquals(buffer.readUInt16BE(1), 0x2a42);
+ assertEquals(buffer.readUInt16BE(2), 0x423f);
+ assertEquals(buffer.readUInt16LE(0), 0x2a00);
+ assertEquals(buffer.readUInt16LE(1), 0x422a);
+ assertEquals(buffer.readUInt16LE(2), 0x3f42);
+
+ buffer[0] = 0xfe;
+ buffer[1] = 0xfe;
+ assertEquals(buffer.readUInt16BE(0), 0xfefe);
+ assertEquals(buffer.readUInt16LE(0), 0xfefe);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer 32 bit unsigned integers",
+ fn() {
+ const buffer = Buffer.from([0x32, 0x65, 0x42, 0x56, 0x23, 0xff]);
+ assertEquals(buffer.readUInt32BE(0), 0x32654256);
+ assertEquals(buffer.readUInt32BE(1), 0x65425623);
+ assertEquals(buffer.readUInt32BE(2), 0x425623ff);
+ assertEquals(buffer.readUInt32LE(0), 0x56426532);
+ assertEquals(buffer.readUInt32LE(1), 0x23564265);
+ assertEquals(buffer.readUInt32LE(2), 0xff235642);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer readUIntBE",
+ fn() {
+ const buffer = Buffer.from([
+ 0x01,
+ 0x02,
+ 0x03,
+ 0x04,
+ 0x05,
+ 0x06,
+ 0x07,
+ 0x08,
+ ]);
+ assertEquals(buffer.readUIntBE(0, 1), 0x01);
+ assertEquals(buffer.readUIntBE(0, 2), 0x0102);
+ assertEquals(buffer.readUIntBE(0, 4), 0x01020304);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer readUIntLE",
+ fn() {
+ const buffer = Buffer.from([
+ 0x01,
+ 0x02,
+ 0x03,
+ 0x04,
+ 0x05,
+ 0x06,
+ 0x07,
+ 0x08,
+ ]);
+ assertEquals(buffer.readUIntLE(0, 1), 0x01);
+ assertEquals(buffer.readUIntLE(0, 2), 0x0201);
+ assertEquals(buffer.readUIntLE(0, 4), 0x04030201);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer copy works as expected",
+ fn() {
+ const data1 = new Uint8Array([1, 2, 3]);
+ const data2 = new Uint8Array([4, 5, 6]);
+
+ const buffer1 = Buffer.from(data1);
+ const buffer2 = Buffer.from(data2);
+
+ //Mutates data_1
+ data1.set(data2);
+ //Mutates buffer_1
+ buffer2.copy(buffer1);
+
+ assertEquals(
+ Buffer.from(data1),
+ buffer1,
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer copy respects the starting point for copy",
+ fn() {
+ const buffer1 = Buffer.from([1, 2, 3]);
+ const buffer2 = Buffer.alloc(8);
+
+ buffer1.copy(buffer2, 5);
+
+ const expected = Buffer.from([0, 0, 0, 0, 0, 1, 2, 3]);
+
+ assertEquals(
+ buffer2,
+ expected,
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "[node/buffer] Buffer copy doesn't throw on offset but copies until offset reached",
+ fn() {
+ const buffer1 = Buffer.from([1, 2, 3]);
+ const buffer2 = Buffer.alloc(8);
+
+ const writtenBytes1 = buffer1.copy(buffer2, 6);
+
+ assertEquals(
+ writtenBytes1,
+ 2,
+ );
+
+ assertEquals(
+ buffer2,
+ Buffer.from([0, 0, 0, 0, 0, 0, 1, 2]),
+ );
+
+ const buffer3 = Buffer.from([1, 2, 3]);
+ const buffer4 = Buffer.alloc(8);
+
+ const writtenBytes2 = buffer3.copy(buffer4, 8);
+
+ assertEquals(
+ writtenBytes2,
+ 0,
+ );
+
+ assertEquals(
+ buffer4,
+ Buffer.from([0, 0, 0, 0, 0, 0, 0, 0]),
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer from string creates a Buffer",
+ fn() {
+ const buffer: Buffer = Buffer.from("test");
+ assertEquals(buffer.length, 4, "Buffer length should be 4");
+ assertEquals(
+ buffer.toString(),
+ "test",
+ "Buffer to string should recover the string",
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer from string hex",
+ fn() {
+ for (const encoding of ["hex", "HEX"]) {
+ const buffer: Buffer = Buffer.from(
+ "7468697320697320612074c3a97374",
+ // deno-lint-ignore no-explicit-any
+ encoding as any,
+ );
+ assertEquals(buffer.length, 15, "Buffer length should be 15");
+ assertEquals(
+ buffer.toString(),
+ "this is a tést",
+ "Buffer to string should recover the string",
+ );
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer from string base64",
+ fn() {
+ for (const encoding of ["base64", "BASE64"]) {
+ const buffer: Buffer = Buffer.from(
+ "dGhpcyBpcyBhIHTDqXN0",
+ // deno-lint-ignore no-explicit-any
+ encoding as any,
+ );
+ assertEquals(buffer.length, 15, "Buffer length should be 15");
+ assertEquals(
+ buffer.toString(),
+ "this is a tést",
+ "Buffer to string should recover the string",
+ );
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer to string base64",
+ fn() {
+ for (const encoding of ["base64", "BASE64"]) {
+ const buffer: Buffer = Buffer.from("deno land");
+ assertEquals(
+ // deno-lint-ignore no-explicit-any
+ buffer.toString(encoding as any),
+ "ZGVubyBsYW5k",
+ "Buffer to string should recover the string in base64",
+ );
+ }
+ const b64 = "dGhpcyBpcyBhIHTDqXN0";
+ assertEquals(Buffer.from(b64, "base64").toString("base64"), b64);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer to string hex",
+ fn() {
+ for (const encoding of ["hex", "HEX"]) {
+ const buffer: Buffer = Buffer.from("deno land");
+ assertEquals(
+ // deno-lint-ignore no-explicit-any
+ buffer.toString(encoding as any),
+ "64656e6f206c616e64",
+ "Buffer to string should recover the string",
+ );
+ }
+ const hex = "64656e6f206c616e64";
+ assertEquals(Buffer.from(hex, "hex").toString("hex"), hex);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer from string invalid encoding",
+ fn() {
+ const defaultToUtf8Encodings = [null, 5, {}, true, false, ""];
+ const invalidEncodings = ["deno", "base645"];
+
+ for (const encoding of defaultToUtf8Encodings) {
+ // deno-lint-ignore no-explicit-any
+ assertEquals(Buffer.from("yes", encoding as any).toString(), "yes");
+ }
+
+ for (const encoding of invalidEncodings) {
+ assertThrows(
+ () => {
+ // deno-lint-ignore no-explicit-any
+ Buffer.from("yes", encoding as any);
+ },
+ TypeError,
+ `Unknown encoding: ${encoding}`,
+ );
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer from another buffer creates a Buffer",
+ fn() {
+ const buffer: Buffer = Buffer.from(Buffer.from("test"));
+ assertEquals(buffer.length, 4, "Buffer length should be 4");
+ assertEquals(
+ buffer.toString(),
+ "test",
+ "Buffer to string should recover the string",
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] isBuffer returns true if the object is a buffer",
+ fn() {
+ assertEquals(Buffer.isBuffer(Buffer.from("test")), true);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] isBuffer returns false if the object is not a buffer",
+ fn() {
+ assertEquals(Buffer.isBuffer({ test: 3 }), false);
+ assertEquals(Buffer.isBuffer(new Uint8Array()), false);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] Buffer toJSON",
+ fn() {
+ assertEquals(
+ JSON.stringify(Buffer.from("deno")),
+ '{"type":"Buffer","data":[100,101,110,111]}',
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] slice does not create a copy",
+ fn() {
+ const buf = Buffer.from("ceno");
+ // This method is not compatible with the Uint8Array.prototype.slice()
+ const slice = buf.slice();
+ slice[0]++;
+ assertEquals(slice.toString(), "deno");
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] slice with infinity returns empty buffer",
+ fn() {
+ const buf = Buffer.from([1, 2, 3, 4, 5]);
+ assertEquals(buf.slice(Infinity).length, 0);
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] isEncoding returns true for valid encodings",
+ fn() {
+ [
+ "hex",
+ "HEX",
+ "HeX",
+ "utf8",
+ "utf-8",
+ "ascii",
+ "latin1",
+ "binary",
+ "base64",
+ "BASE64",
+ "BASe64",
+ "ucs2",
+ "ucs-2",
+ "utf16le",
+ "utf-16le",
+ ].forEach((enc) => {
+ assertEquals(Buffer.isEncoding(enc), true);
+ });
+ },
+});
+
+Deno.test({
+ name: "[node/buffer] isEncoding returns false for invalid encodings",
+ fn() {
+ [
+ "utf9",
+ "utf-7",
+ "Unicode-FTW",
+ "new gnu gun",
+ false,
+ NaN,
+ {},
+ Infinity,
+ [],
+ 1,
+ 0,
+ -1,
+ ].forEach((enc) => {
+ // @ts-expect-error This deliberately ignores the type constraint
+ assertEquals(Buffer.isEncoding(enc), false);
+ });
+ },
+});
+
+Deno.test({
+ name:
+ "[node/buffer] utf8Write handle missing optional length argument (https://github.com/denoland/deno_std/issues/2046)",
+ fn() {
+ const buf = Buffer.alloc(8);
+ // @ts-expect-error Buffer.prototype.utf8Write is an undocumented API
+ assertEquals(buf.utf8Write("abc", 0), 3);
+ assertEquals([...buf], [0x61, 0x62, 0x63, 0, 0, 0, 0, 0]);
+ },
+});
diff --git a/tests/unit_node/child_process_test.ts b/tests/unit_node/child_process_test.ts
new file mode 100644
index 000000000..5314d66e7
--- /dev/null
+++ b/tests/unit_node/child_process_test.ts
@@ -0,0 +1,773 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import CP from "node:child_process";
+import { Buffer } from "node:buffer";
+import {
+ assert,
+ assertEquals,
+ assertExists,
+ assertNotStrictEquals,
+ assertStrictEquals,
+ assertStringIncludes,
+} from "@test_util/std/assert/mod.ts";
+import * as path from "@test_util/std/path/mod.ts";
+
+const { spawn, spawnSync, execFile, execFileSync, ChildProcess } = CP;
+
+function withTimeout<T>(
+ timeoutInMS = 10_000,
+): ReturnType<typeof Promise.withResolvers<T>> {
+ const deferred = Promise.withResolvers<T>();
+ const timer = setTimeout(() => {
+ deferred.reject("Timeout");
+ }, timeoutInMS);
+ deferred.promise.then(() => {
+ clearTimeout(timer);
+ });
+ return deferred;
+}
+
+// TODO(uki00a): Once Node.js's `parallel/test-child-process-spawn-error.js` works, this test case should be removed.
+Deno.test("[node/child_process spawn] The 'error' event is emitted when no binary is found", async () => {
+ const deferred = withTimeout<void>();
+ const childProcess = spawn("no-such-cmd");
+ childProcess.on("error", (_err: Error) => {
+ // TODO(@bartlomieju) Assert an error message.
+ deferred.resolve();
+ });
+ await deferred.promise;
+});
+
+Deno.test("[node/child_process spawn] The 'exit' event is emitted with an exit code after the child process ends", async () => {
+ const deferred = withTimeout<void>();
+ const childProcess = spawn(Deno.execPath(), ["--help"], {
+ env: { NO_COLOR: "true" },
+ });
+ try {
+ let exitCode = null;
+ childProcess.on("exit", (code: number) => {
+ deferred.resolve();
+ exitCode = code;
+ });
+ await deferred.promise;
+ assertStrictEquals(exitCode, 0);
+ assertStrictEquals(childProcess.exitCode, exitCode);
+ } finally {
+ childProcess.kill();
+ childProcess.stdout?.destroy();
+ childProcess.stderr?.destroy();
+ }
+});
+
+Deno.test("[node/child_process disconnect] the method exists", async () => {
+ const deferred = withTimeout<void>();
+ const childProcess = spawn(Deno.execPath(), ["--help"], {
+ env: { NO_COLOR: "true" },
+ });
+ try {
+ childProcess.disconnect();
+ childProcess.on("exit", () => {
+ deferred.resolve();
+ });
+ await deferred.promise;
+ } finally {
+ childProcess.kill();
+ childProcess.stdout?.destroy();
+ childProcess.stderr?.destroy();
+ }
+});
+
+Deno.test({
+ name: "[node/child_process spawn] Verify that stdin and stdout work",
+ fn: async () => {
+ const deferred = withTimeout<void>();
+ const childProcess = spawn(Deno.execPath(), ["fmt", "-"], {
+ env: { NO_COLOR: "true" },
+ stdio: ["pipe", "pipe"],
+ });
+ try {
+ assert(childProcess.stdin, "stdin should be defined");
+ assert(childProcess.stdout, "stdout should be defined");
+ let data = "";
+ childProcess.stdout.on("data", (chunk) => {
+ data += chunk;
+ });
+ childProcess.stdin.write(" console.log('hello')", "utf-8");
+ childProcess.stdin.end();
+ childProcess.on("close", () => {
+ deferred.resolve();
+ });
+ await deferred.promise;
+ assertStrictEquals(data, `console.log("hello");\n`);
+ } finally {
+ childProcess.kill();
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/child_process spawn] stdin and stdout with binary data",
+ fn: async () => {
+ const deferred = withTimeout<void>();
+ const p = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/binary_stdio.js",
+ );
+ const childProcess = spawn(Deno.execPath(), ["run", p], {
+ env: { NO_COLOR: "true" },
+ stdio: ["pipe", "pipe"],
+ });
+ try {
+ assert(childProcess.stdin, "stdin should be defined");
+ assert(childProcess.stdout, "stdout should be defined");
+ let data: Buffer;
+ childProcess.stdout.on("data", (chunk) => {
+ data = chunk;
+ });
+ const buffer = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
+ childProcess.stdin.write(buffer);
+ childProcess.stdin.end();
+ childProcess.on("close", () => {
+ deferred.resolve();
+ });
+ await deferred.promise;
+ assertEquals(new Uint8Array(data!), buffer);
+ } finally {
+ childProcess.kill();
+ }
+ },
+});
+
+async function spawnAndGetEnvValue(
+ inputValue: string | number | boolean,
+): Promise<string> {
+ const deferred = withTimeout<string>();
+ const env = spawn(
+ `"${Deno.execPath()}" eval -p "Deno.env.toObject().BAZ"`,
+ {
+ env: { BAZ: String(inputValue), NO_COLOR: "true" },
+ shell: true,
+ },
+ );
+ try {
+ let envOutput = "";
+
+ assert(env.stdout);
+ env.on("error", (err: Error) => deferred.reject(err));
+ env.stdout.on("data", (data) => {
+ envOutput += data;
+ });
+ env.on("close", () => {
+ deferred.resolve(envOutput.trim());
+ });
+ return await deferred.promise;
+ } finally {
+ env.kill();
+ }
+}
+
+Deno.test({
+ ignore: Deno.build.os === "windows",
+ name:
+ "[node/child_process spawn] Verify that environment values can be numbers",
+ async fn() {
+ const envOutputValue = await spawnAndGetEnvValue(42);
+ assertStrictEquals(envOutputValue, "42");
+ },
+});
+
+Deno.test({
+ ignore: Deno.build.os === "windows",
+ name:
+ "[node/child_process spawn] Verify that environment values can be booleans",
+ async fn() {
+ const envOutputValue = await spawnAndGetEnvValue(false);
+ assertStrictEquals(envOutputValue, "false");
+ },
+});
+
+/* Start of ported part */
+// Copyright Joyent and Node contributors. All rights reserved. MIT license.
+// Ported from Node 15.5.1
+
+// TODO(uki00a): Remove this case once Node's `parallel/test-child-process-spawn-event.js` works.
+Deno.test("[child_process spawn] 'spawn' event", async () => {
+ const timeout = withTimeout<void>();
+ const subprocess = spawn(Deno.execPath(), ["eval", "console.log('ok')"]);
+
+ let didSpawn = false;
+ subprocess.on("spawn", function () {
+ didSpawn = true;
+ });
+
+ function mustNotBeCalled() {
+ timeout.reject(new Error("function should not have been called"));
+ }
+
+ const promises = [] as Promise<void>[];
+ function mustBeCalledAfterSpawn() {
+ const deferred = Promise.withResolvers<void>();
+ promises.push(deferred.promise);
+ return () => {
+ if (didSpawn) {
+ deferred.resolve();
+ } else {
+ deferred.reject(
+ new Error("function should be called after the 'spawn' event"),
+ );
+ }
+ };
+ }
+
+ subprocess.on("error", mustNotBeCalled);
+ subprocess.stdout!.on("data", mustBeCalledAfterSpawn());
+ subprocess.stdout!.on("end", mustBeCalledAfterSpawn());
+ subprocess.stdout!.on("close", mustBeCalledAfterSpawn());
+ subprocess.stderr!.on("data", mustNotBeCalled);
+ subprocess.stderr!.on("end", mustBeCalledAfterSpawn());
+ subprocess.stderr!.on("close", mustBeCalledAfterSpawn());
+ subprocess.on("exit", mustBeCalledAfterSpawn());
+ subprocess.on("close", mustBeCalledAfterSpawn());
+
+ try {
+ await Promise.race([Promise.all(promises), timeout.promise]);
+ timeout.resolve();
+ } finally {
+ subprocess.kill();
+ }
+});
+
+// TODO(uki00a): Remove this case once Node's `parallel/test-child-process-spawn-shell.js` works.
+Deno.test("[child_process spawn] Verify that a shell is executed", async () => {
+ const deferred = withTimeout<void>();
+ const doesNotExist = spawn("does-not-exist", { shell: true });
+ try {
+ assertNotStrictEquals(doesNotExist.spawnfile, "does-not-exist");
+ doesNotExist.on("error", () => {
+ deferred.reject("The 'error' event must not be emitted.");
+ });
+ doesNotExist.on("exit", (code: number, signal: null) => {
+ assertStrictEquals(signal, null);
+
+ if (Deno.build.os === "windows") {
+ assertStrictEquals(code, 1); // Exit code of cmd.exe
+ } else {
+ assertStrictEquals(code, 127); // Exit code of /bin/sh });
+ }
+
+ deferred.resolve();
+ });
+ await deferred.promise;
+ } finally {
+ doesNotExist.kill();
+ doesNotExist.stdout?.destroy();
+ doesNotExist.stderr?.destroy();
+ }
+});
+
+// TODO(uki00a): Remove this case once Node's `parallel/test-child-process-spawn-shell.js` works.
+Deno.test({
+ ignore: Deno.build.os === "windows",
+ name: "[node/child_process spawn] Verify that passing arguments works",
+ async fn() {
+ const deferred = withTimeout<void>();
+ const echo = spawn("echo", ["foo"], {
+ shell: true,
+ });
+ let echoOutput = "";
+
+ try {
+ assertStrictEquals(
+ echo.spawnargs[echo.spawnargs.length - 1].replace(/"/g, ""),
+ "echo foo",
+ );
+ assert(echo.stdout);
+ echo.stdout.on("data", (data) => {
+ echoOutput += data;
+ });
+ echo.on("close", () => {
+ assertStrictEquals(echoOutput.trim(), "foo");
+ deferred.resolve();
+ });
+ await deferred.promise;
+ } finally {
+ echo.kill();
+ }
+ },
+});
+
+// TODO(uki00a): Remove this case once Node's `parallel/test-child-process-spawn-shell.js` works.
+Deno.test({
+ ignore: Deno.build.os === "windows",
+ name: "[node/child_process spawn] Verity that shell features can be used",
+ async fn() {
+ const deferred = withTimeout<void>();
+ const cmd = "echo bar | cat";
+ const command = spawn(cmd, {
+ shell: true,
+ });
+ try {
+ let commandOutput = "";
+
+ assert(command.stdout);
+ command.stdout.on("data", (data) => {
+ commandOutput += data;
+ });
+
+ command.on("close", () => {
+ assertStrictEquals(commandOutput.trim(), "bar");
+ deferred.resolve();
+ });
+
+ await deferred.promise;
+ } finally {
+ command.kill();
+ }
+ },
+});
+
+// TODO(uki00a): Remove this case once Node's `parallel/test-child-process-spawn-shell.js` works.
+Deno.test({
+ ignore: Deno.build.os === "windows",
+ name:
+ "[node/child_process spawn] Verity that environment is properly inherited",
+ async fn() {
+ const deferred = withTimeout<void>();
+ const env = spawn(
+ `"${Deno.execPath()}" eval -p "Deno.env.toObject().BAZ"`,
+ {
+ env: { BAZ: "buzz", NO_COLOR: "true" },
+ shell: true,
+ },
+ );
+ try {
+ let envOutput = "";
+
+ assert(env.stdout);
+ env.on("error", (err: Error) => deferred.reject(err));
+ env.stdout.on("data", (data) => {
+ envOutput += data;
+ });
+ env.on("close", () => {
+ assertStrictEquals(envOutput.trim(), "buzz");
+ deferred.resolve();
+ });
+ await deferred.promise;
+ } finally {
+ env.kill();
+ }
+ },
+});
+/* End of ported part */
+
+Deno.test({
+ name: "[node/child_process execFile] Get stdout as a string",
+ async fn() {
+ let child: unknown;
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/exec_file_text_output.js",
+ );
+ const promise = new Promise<string | null>((resolve, reject) => {
+ child = execFile(Deno.execPath(), ["run", script], (err, stdout) => {
+ if (err) reject(err);
+ else if (stdout) resolve(stdout as string);
+ else resolve(null);
+ });
+ });
+ try {
+ const stdout = await promise;
+ assertEquals(stdout, "Hello World!\n");
+ } finally {
+ if (child instanceof ChildProcess) {
+ child.kill();
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/child_process execFile] Get stdout as a buffer",
+ async fn() {
+ let child: unknown;
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/exec_file_text_output.js",
+ );
+ const promise = new Promise<Buffer | null>((resolve, reject) => {
+ child = execFile(
+ Deno.execPath(),
+ ["run", script],
+ { encoding: "buffer" },
+ (err, stdout) => {
+ if (err) reject(err);
+ else if (stdout) resolve(stdout as Buffer);
+ else resolve(null);
+ },
+ );
+ });
+ try {
+ const stdout = await promise;
+ assert(Buffer.isBuffer(stdout));
+ assertEquals(stdout.toString("utf8"), "Hello World!\n");
+ } finally {
+ if (child instanceof ChildProcess) {
+ child.kill();
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/child_process execFile] Get stderr",
+ async fn() {
+ let child: unknown;
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/exec_file_text_error.js",
+ );
+ const promise = new Promise<
+ { err: Error | null; stderr?: string | Buffer }
+ >((resolve) => {
+ child = execFile(Deno.execPath(), ["run", script], (err, _, stderr) => {
+ resolve({ err, stderr });
+ });
+ });
+ try {
+ const { err, stderr } = await promise;
+ if (child instanceof ChildProcess) {
+ assertEquals(child.exitCode, 1);
+ assertEquals(stderr, "yikes!\n");
+ } else {
+ throw err;
+ }
+ } finally {
+ if (child instanceof ChildProcess) {
+ child.kill();
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/child_process execFile] Exceed given maxBuffer limit",
+ async fn() {
+ let child: unknown;
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/exec_file_text_error.js",
+ );
+ const promise = new Promise<
+ { err: Error | null; stderr?: string | Buffer }
+ >((resolve) => {
+ child = execFile(Deno.execPath(), ["run", script], {
+ encoding: "buffer",
+ maxBuffer: 3,
+ }, (err, _, stderr) => {
+ resolve({ err, stderr });
+ });
+ });
+ try {
+ const { err, stderr } = await promise;
+ if (child instanceof ChildProcess) {
+ assert(err);
+ assertEquals(
+ // deno-lint-ignore no-explicit-any
+ (err as any).code,
+ "ERR_CHILD_PROCESS_STDIO_MAXBUFFER",
+ );
+ assertEquals(err.message, "stderr maxBuffer length exceeded");
+ assertEquals((stderr as Buffer).toString("utf8"), "yik");
+ } else {
+ throw err;
+ }
+ } finally {
+ if (child instanceof ChildProcess) {
+ child.kill();
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "[node/child_process] ChildProcess.kill()",
+ async fn() {
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "./testdata/infinite_loop.js",
+ );
+ const childProcess = spawn(Deno.execPath(), ["run", script]);
+ const p = withTimeout<void>();
+ const pStdout = withTimeout<void>();
+ const pStderr = withTimeout<void>();
+ childProcess.on("exit", () => p.resolve());
+ childProcess.stdout.on("close", () => pStdout.resolve());
+ childProcess.stderr.on("close", () => pStderr.resolve());
+ childProcess.kill("SIGKILL");
+ await p.promise;
+ await pStdout.promise;
+ await pStderr.promise;
+ assert(childProcess.killed);
+ assertEquals(childProcess.signalCode, "SIGKILL");
+ assertExists(childProcess.exitCode);
+ },
+});
+
+Deno.test({
+ ignore: true,
+ name: "[node/child_process] ChildProcess.unref()",
+ async fn() {
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "testdata",
+ "child_process_unref.js",
+ );
+ const childProcess = spawn(Deno.execPath(), [
+ "run",
+ "-A",
+ "--unstable",
+ script,
+ ]);
+ const deferred = Promise.withResolvers<void>();
+ childProcess.on("exit", () => deferred.resolve());
+ await deferred.promise;
+ },
+});
+
+Deno.test({
+ ignore: true,
+ name: "[node/child_process] child_process.fork",
+ async fn() {
+ const testdataDir = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "testdata",
+ );
+ const script = path.join(
+ testdataDir,
+ "node_modules",
+ "foo",
+ "index.js",
+ );
+ const p = Promise.withResolvers<void>();
+ const cp = CP.fork(script, [], { cwd: testdataDir, stdio: "pipe" });
+ let output = "";
+ cp.on("close", () => p.resolve());
+ cp.stdout?.on("data", (data) => {
+ output += data;
+ });
+ await p.promise;
+ assertEquals(output, "foo\ntrue\ntrue\ntrue\n");
+ },
+});
+
+Deno.test("[node/child_process execFileSync] 'inherit' stdout and stderr", () => {
+ execFileSync(Deno.execPath(), ["--help"], { stdio: "inherit" });
+});
+
+Deno.test(
+ "[node/child_process spawn] supports windowsVerbatimArguments option",
+ { ignore: Deno.build.os !== "windows" },
+ async () => {
+ const cmdFinished = Promise.withResolvers<void>();
+ let output = "";
+ const cp = spawn("cmd", ["/d", "/s", "/c", '"deno ^"--version^""'], {
+ stdio: "pipe",
+ windowsVerbatimArguments: true,
+ });
+ cp.on("close", () => cmdFinished.resolve());
+ cp.stdout?.on("data", (data) => {
+ output += data;
+ });
+ await cmdFinished.promise;
+ assertStringIncludes(output, "deno");
+ assertStringIncludes(output, "v8");
+ assertStringIncludes(output, "typescript");
+ },
+);
+
+Deno.test(
+ "[node/child_process spawn] supports stdio array option",
+ async () => {
+ const cmdFinished = Promise.withResolvers<void>();
+ let output = "";
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "testdata",
+ "child_process_stdio.js",
+ );
+ const cp = spawn(Deno.execPath(), ["run", "-A", script]);
+ cp.stdout?.on("data", (data) => {
+ output += data;
+ });
+ cp.on("close", () => cmdFinished.resolve());
+ await cmdFinished.promise;
+
+ assertStringIncludes(output, "foo");
+ assertStringIncludes(output, "close");
+ },
+);
+
+Deno.test(
+ "[node/child_process spawn] supports stdio [0, 1, 2] option",
+ async () => {
+ const cmdFinished = Promise.withResolvers<void>();
+ let output = "";
+ const script = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "testdata",
+ "child_process_stdio_012.js",
+ );
+ const cp = spawn(Deno.execPath(), ["run", "-A", script]);
+ cp.stdout?.on("data", (data) => {
+ output += data;
+ });
+ cp.on("close", () => cmdFinished.resolve());
+ await cmdFinished.promise;
+
+ assertStringIncludes(output, "foo");
+ assertStringIncludes(output, "close");
+ },
+);
+
+Deno.test({
+ name: "[node/child_process spawn] supports SIGIOT signal",
+ ignore: Deno.build.os === "windows",
+ async fn() {
+ // Note: attempting to kill Deno with SIGABRT causes the process to zombify on certain OSX builds
+ // eg: 22.5.0 Darwin Kernel Version 22.5.0: Mon Apr 24 20:53:19 PDT 2023; root:xnu-8796.121.2~5/RELEASE_ARM64_T6020 arm64
+ // M2 Pro running Ventura 13.4
+
+ // Spawn an infinite cat
+ const cp = spawn("cat", ["-"]);
+ const p = withTimeout<void>();
+ const pStdout = withTimeout<void>();
+ const pStderr = withTimeout<void>();
+ cp.on("exit", () => p.resolve());
+ cp.stdout.on("close", () => pStdout.resolve());
+ cp.stderr.on("close", () => pStderr.resolve());
+ cp.kill("SIGIOT");
+ await p.promise;
+ await pStdout.promise;
+ await pStderr.promise;
+ assert(cp.killed);
+ assertEquals(cp.signalCode, "SIGIOT");
+ },
+});
+
+// Regression test for https://github.com/denoland/deno/issues/20373
+Deno.test(async function undefinedValueInEnvVar() {
+ const deferred = withTimeout<string>();
+ const env = spawn(
+ `"${Deno.execPath()}" eval -p "Deno.env.toObject().BAZ"`,
+ {
+ env: {
+ BAZ: "BAZ",
+ NO_COLOR: "true",
+ UNDEFINED_ENV: undefined,
+ // deno-lint-ignore no-explicit-any
+ NULL_ENV: null as any,
+ },
+ shell: true,
+ },
+ );
+ try {
+ let envOutput = "";
+
+ assert(env.stdout);
+ env.on("error", (err: Error) => deferred.reject(err));
+ env.stdout.on("data", (data) => {
+ envOutput += data;
+ });
+ env.on("close", () => {
+ deferred.resolve(envOutput.trim());
+ });
+ await deferred.promise;
+ } finally {
+ env.kill();
+ }
+ const value = await deferred.promise;
+ assertEquals(value, "BAZ");
+});
+
+// Regression test for https://github.com/denoland/deno/issues/20373
+Deno.test(function spawnSyncUndefinedValueInEnvVar() {
+ const ret = spawnSync(
+ `"${Deno.execPath()}" eval -p "Deno.env.toObject().BAZ"`,
+ {
+ env: {
+ BAZ: "BAZ",
+ NO_COLOR: "true",
+ UNDEFINED_ENV: undefined,
+ // deno-lint-ignore no-explicit-any
+ NULL_ENV: null as any,
+ },
+ shell: true,
+ },
+ );
+
+ assertEquals(ret.status, 0);
+ assertEquals(ret.stdout.toString("utf-8").trim(), "BAZ");
+});
+
+Deno.test(function spawnSyncStdioUndefined() {
+ const ret = spawnSync(
+ `"${Deno.execPath()}" eval "console.log('hello');console.error('world')"`,
+ {
+ stdio: [undefined, undefined, undefined],
+ shell: true,
+ },
+ );
+
+ assertEquals(ret.status, 0);
+ assertEquals(ret.stdout.toString("utf-8").trim(), "hello");
+ assertEquals(ret.stderr.toString("utf-8").trim(), "world");
+});
+
+Deno.test(function spawnSyncExitNonZero() {
+ const ret = spawnSync(
+ `"${Deno.execPath()}" eval "Deno.exit(22)"`,
+ { shell: true },
+ );
+
+ assertEquals(ret.status, 22);
+});
+
+// https://github.com/denoland/deno/issues/21630
+Deno.test(async function forkIpcKillDoesNotHang() {
+ const testdataDir = path.join(
+ path.dirname(path.fromFileUrl(import.meta.url)),
+ "testdata",
+ );
+ const script = path.join(
+ testdataDir,
+ "node_modules",
+ "foo",
+ "index.js",
+ );
+ const p = Promise.withResolvers<void>();
+ const cp = CP.fork(script, [], {
+ cwd: testdataDir,
+ stdio: ["inherit", "inherit", "inherit", "ipc"],
+ });
+ cp.on("close", () => p.resolve());
+ cp.kill();
+
+ await p.promise;
+});
+
+Deno.test(async function execFileWithUndefinedTimeout() {
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ CP.execFile(
+ "git",
+ ["-v"],
+ { timeout: undefined, encoding: "utf8" },
+ (err) => {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve();
+ },
+ );
+ await promise;
+});
diff --git a/tests/unit_node/console_test.ts b/tests/unit_node/console_test.ts
new file mode 100644
index 000000000..bf6f667f2
--- /dev/null
+++ b/tests/unit_node/console_test.ts
@@ -0,0 +1,28 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import vm from "node:vm";
+import { stripColor } from "@test_util/std/fmt/colors.ts";
+import { assertStringIncludes } from "@test_util/std/assert/mod.ts";
+
+Deno.test(function inspectCrossRealmObjects() {
+ assertStringIncludes(
+ stripColor(
+ Deno.inspect(vm.runInNewContext(`new Error("This is an error")`)),
+ ),
+ "Error: This is an error",
+ );
+ assertStringIncludes(
+ stripColor(
+ Deno.inspect(
+ vm.runInNewContext(`new AggregateError([], "This is an error")`),
+ ),
+ ),
+ "AggregateError: This is an error",
+ );
+ assertStringIncludes(
+ stripColor(
+ Deno.inspect(vm.runInNewContext(`new Date("2018-12-10T02:26:59.002Z")`)),
+ ),
+ "2018-12-10T02:26:59.002Z",
+ );
+});
diff --git a/tests/unit_node/crypto/crypto_cipher_gcm_test.ts b/tests/unit_node/crypto/crypto_cipher_gcm_test.ts
new file mode 100644
index 000000000..b7b616546
--- /dev/null
+++ b/tests/unit_node/crypto/crypto_cipher_gcm_test.ts
@@ -0,0 +1,103 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import crypto from "node:crypto";
+import { Buffer } from "node:buffer";
+import testVectors128 from "./gcmEncryptExtIV128.json" assert { type: "json" };
+import testVectors256 from "./gcmEncryptExtIV256.json" assert { type: "json" };
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+
+const aesGcm = (bits: string, key: Uint8Array) => {
+ const ALGO = bits == "128" ? `aes-128-gcm` : `aes-256-gcm`;
+
+ // encrypt returns base64-encoded ciphertext
+ const encrypt = (
+ iv: Uint8Array,
+ str: string,
+ aad: Uint8Array,
+ ): [string, Buffer] => {
+ const cipher = crypto.createCipheriv(ALGO, key, iv);
+ cipher.setAAD(aad);
+ let enc = cipher.update(str, "base64", "base64");
+ enc += cipher.final("base64");
+ return [enc, cipher.getAuthTag()];
+ };
+
+ const decrypt = (
+ enc: string,
+ iv: Uint8Array,
+ aad: Uint8Array,
+ authTag: Uint8Array,
+ ) => {
+ const decipher = crypto.createDecipheriv(ALGO, key, iv);
+ decipher.setAuthTag(authTag);
+ decipher.setAAD(aad);
+ let str = decipher.update(enc, "base64", "base64");
+ str += decipher.final("base64");
+
+ return str;
+ };
+
+ return {
+ encrypt,
+ decrypt,
+ };
+};
+
+type TestVector = {
+ key: Uint8Array;
+ nonce: Uint8Array;
+ aad: Uint8Array;
+ plaintext: string;
+ ciphertext: string;
+ tag: Uint8Array;
+};
+
+for (
+ // NIST CAVS vectors
+ const [bits, vectors] of Object.entries({
+ // <https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/CAVP-TESTING-BLOCK-CIPHER-MODES>
+ //
+ // From: `gcmEncryptExtIV128.rsp`
+ 128: testVectors128,
+ // <https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/CAVP-TESTING-BLOCK-CIPHER-MODES>
+ //
+ // From: `gcmEncryptExtIV256.rsp`
+ 256: testVectors256,
+ })
+) {
+ for (let i = 0; i < vectors.length; i++) {
+ const rawTest = vectors[i];
+ const test: TestVector = {
+ key: new Uint8Array(rawTest.key),
+ nonce: new Uint8Array(rawTest.nonce),
+ aad: new Uint8Array(rawTest.aad),
+ plaintext: Buffer.from(rawTest.plaintext).toString("base64"),
+ ciphertext: Buffer.from(rawTest.ciphertext).toString("base64"),
+ tag: new Uint8Array(rawTest.tag),
+ };
+
+ Deno.test({
+ name: `aes-${bits}-gcm encrypt ${i + 1}/${vectors.length}`,
+ fn() {
+ const cipher = aesGcm(bits, test.key);
+ const [enc, tag] = cipher.encrypt(test.nonce, test.plaintext, test.aad);
+ assertEquals(enc, test.ciphertext);
+ assertEquals(new Uint8Array(tag), test.tag);
+ },
+ });
+
+ Deno.test({
+ name: `aes-${bits}-gcm decrypt ${i + 1}/${vectors.length}`,
+ fn() {
+ const cipher = aesGcm(bits, test.key);
+ const plaintext = cipher.decrypt(
+ test.ciphertext,
+ test.nonce,
+ test.aad,
+ test.tag,
+ );
+ assertEquals(plaintext, test.plaintext);
+ },
+ });
+ }
+}
diff --git a/tests/unit_node/crypto/crypto_cipher_test.ts b/tests/unit_node/crypto/crypto_cipher_test.ts
new file mode 100644
index 000000000..3da7ae3f1
--- /dev/null
+++ b/tests/unit_node/crypto/crypto_cipher_test.ts
@@ -0,0 +1,258 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import crypto from "node:crypto";
+import { Buffer } from "node:buffer";
+import { Readable } from "node:stream";
+import { buffer, text } from "node:stream/consumers";
+import { assertEquals, assertThrows } from "@test_util/std/assert/mod.ts";
+
+const rsaPrivateKey = Deno.readTextFileSync(
+ new URL("../testdata/rsa_private.pem", import.meta.url),
+);
+const rsaPublicKey = Deno.readTextFileSync(
+ new URL("../testdata/rsa_public.pem", import.meta.url),
+);
+
+const input = new TextEncoder().encode("hello world");
+
+function zeros(length: number): Uint8Array {
+ return new Uint8Array(length);
+}
+
+Deno.test({
+ name: "rsa public encrypt and private decrypt",
+ fn() {
+ const encrypted = crypto.publicEncrypt(Buffer.from(rsaPublicKey), input);
+ const decrypted = crypto.privateDecrypt(
+ Buffer.from(rsaPrivateKey),
+ Buffer.from(encrypted),
+ );
+ assertEquals(decrypted, input);
+ },
+});
+
+Deno.test({
+ name: "rsa public encrypt (options) and private decrypt",
+ fn() {
+ const encrypted = crypto.publicEncrypt(
+ { key: Buffer.from(rsaPublicKey) },
+ input,
+ );
+ const decrypted = crypto.privateDecrypt(
+ Buffer.from(rsaPrivateKey),
+ Buffer.from(encrypted),
+ );
+ assertEquals(decrypted, input);
+ },
+});
+
+Deno.test({
+ name: "rsa private encrypt and private decrypt",
+ fn() {
+ const encrypted = crypto.privateEncrypt(rsaPrivateKey, input);
+ const decrypted = crypto.privateDecrypt(
+ rsaPrivateKey,
+ Buffer.from(encrypted),
+ );
+ assertEquals(decrypted, input);
+ },
+});
+
+Deno.test({
+ name: "rsa public decrypt fail",
+ fn() {
+ const encrypted = crypto.publicEncrypt(rsaPublicKey, input);
+ assertThrows(() =>
+ crypto.publicDecrypt(rsaPublicKey, Buffer.from(encrypted))
+ );
+ },
+});
+
+Deno.test({
+ name: "createCipheriv - multiple chunk inputs",
+ fn() {
+ const cipher = crypto.createCipheriv(
+ "aes-128-cbc",
+ new Uint8Array(16),
+ new Uint8Array(16),
+ );
+ assertEquals(
+ cipher.update(new Uint8Array(16), undefined, "hex"),
+ "66e94bd4ef8a2c3b884cfa59ca342b2e",
+ );
+ assertEquals(
+ cipher.update(new Uint8Array(19), undefined, "hex"),
+ "f795bd4a52e29ed713d313fa20e98dbc",
+ );
+ assertEquals(
+ cipher.update(new Uint8Array(55), undefined, "hex"),
+ "a10cf66d0fddf3405370b4bf8df5bfb347c78395e0d8ae2194da0a90abc9888a94ee48f6c78fcd518a941c3896102cb1",
+ );
+ assertEquals(cipher.final("hex"), "e11901dde4a2f99fe4efc707e48c6aed");
+ },
+});
+
+Deno.test({
+ name: "createCipheriv - algorithms",
+ fn() {
+ const table = [
+ [
+ ["aes-128-cbc", 16, 16],
+ "66e94bd4ef8a2c3b884cfa59ca342b2ef795bd4a52e29ed713d313fa20e98dbca10cf66d0fddf3405370b4bf8df5bfb3",
+ "d5f65ecda64511e9d3d12206411ffd72",
+ ],
+ [
+ ["aes-128-ecb", 16, 0],
+ "66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2e",
+ "baf823258ca2e6994f638daa3515e986",
+ ],
+ [
+ ["aes-192-ecb", 24, 0],
+ "aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7",
+ "2e0f33b51bb184654311ead507ea55fc",
+ ],
+ [
+ ["aes-256-ecb", 32, 0],
+ "dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087",
+ "0ac1d7e8655254c6814b46753932df88",
+ ],
+ [
+ ["aes256", 32, 16],
+ "dc95c078a2408989ad48a2149284208708c374848c228233c2b34f332bd2e9d38b70c515a6663d38cdb8e6532b266491",
+ "2e62607a5e8b715e4cb229a12169f2b2",
+ ],
+ [
+ ["aes-256-cbc", 32, 16],
+ "dc95c078a2408989ad48a2149284208708c374848c228233c2b34f332bd2e9d38b70c515a6663d38cdb8e6532b266491",
+ "2e62607a5e8b715e4cb229a12169f2b2",
+ ],
+ ] as const;
+ for (
+ const [[alg, keyLen, ivLen], expectedUpdate, expectedFinal] of table
+ ) {
+ const cipher = crypto.createCipheriv(alg, zeros(keyLen), zeros(ivLen));
+ assertEquals(cipher.update(zeros(50), undefined, "hex"), expectedUpdate);
+ assertEquals(cipher.final("hex"), expectedFinal);
+ }
+ },
+});
+
+Deno.test({
+ name: "createCipheriv - input encoding",
+ fn() {
+ const cipher = crypto.createCipheriv(
+ "aes-128-cbc",
+ new Uint8Array(16),
+ new Uint8Array(16),
+ );
+ assertEquals(
+ cipher.update("hello, world! hello, world!", "utf-8", "hex"),
+ "ca7df4d74f51b77a7440ead38343ab0f",
+ );
+ assertEquals(cipher.final("hex"), "d0da733dec1fa61125c80a6f97e6166e");
+ },
+});
+
+Deno.test({
+ name: "createCipheriv - transform stream",
+ async fn() {
+ const result = await buffer(
+ Readable.from("foo".repeat(15)).pipe(crypto.createCipheriv(
+ "aes-128-cbc",
+ new Uint8Array(16),
+ new Uint8Array(16),
+ )),
+ );
+ // deno-fmt-ignore
+ assertEquals([...result], [
+ 129, 19, 202, 142, 137, 51, 23, 53, 198, 33,
+ 214, 125, 17, 5, 128, 57, 162, 217, 220, 53,
+ 172, 51, 85, 113, 71, 250, 44, 156, 80, 4,
+ 158, 92, 185, 173, 67, 47, 255, 71, 78, 187,
+ 80, 206, 42, 5, 34, 104, 1, 54
+ ]);
+ },
+});
+
+Deno.test({
+ name: "createDecipheriv - algorithms",
+ fn() {
+ const table = [
+ [
+ ["aes-128-cbc", 16, 16],
+ "66e94bd4ef8a2c3b884cfa59ca342b2ef795bd4a52e29ed713d313fa20e98dbca10cf66d0fddf3405370b4bf8df5bfb347c78395e0d8ae2194da0a90abc9888a94ee48f6c78fcd518a941c3896102cb1e11901dde4a2f99fe4efc707e48c6aed",
+ ],
+ [
+ ["aes-128-ecb", 16, 0],
+ "66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2e66e94bd4ef8a2c3b884cfa59ca342b2ec29a917cbaf72fa9bc32129bb0d17663",
+ ],
+ [
+ ["aes-192-ecb", 24, 0],
+ "aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7aae06992acbf52a3e8f4a96ec9300bd7ab40eb56b6fc2aacf2e9254685cce891",
+ ],
+ [
+ ["aes-256-ecb", 32, 0],
+ "dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a21492842087dc95c078a2408989ad48a214928420877c45b49560579dd1ffc7ec626de2a968",
+ ],
+ [
+ ["aes256", 32, 16],
+ "dc95c078a2408989ad48a2149284208708c374848c228233c2b34f332bd2e9d38b70c515a6663d38cdb8e6532b2664915d0dcc192580aee9ef8a8568193f1b44bfca557c6bab7dc79da07ffd42191b2659e6bee99cb2a6a7299f0e9a21686fc7",
+ ],
+ [
+ ["aes-256-cbc", 32, 16],
+ "dc95c078a2408989ad48a2149284208708c374848c228233c2b34f332bd2e9d38b70c515a6663d38cdb8e6532b2664915d0dcc192580aee9ef8a8568193f1b44bfca557c6bab7dc79da07ffd42191b2659e6bee99cb2a6a7299f0e9a21686fc7",
+ ],
+ ] as const;
+ for (
+ const [[alg, keyLen, ivLen], input] of table
+ ) {
+ const cipher = crypto.createDecipheriv(alg, zeros(keyLen), zeros(ivLen));
+ assertEquals(cipher.update(input, "hex"), Buffer.alloc(80));
+ assertEquals(cipher.final(), Buffer.alloc(10));
+ }
+ },
+});
+
+Deno.test({
+ name: "createDecipheriv - transform stream",
+ async fn() {
+ const stream = Readable.from([
+ // deno-fmt-ignore
+ new Uint8Array([
+ 129, 19, 202, 142, 137, 51, 23, 53, 198, 33,
+ 214, 125, 17, 5, 128, 57, 162, 217, 220, 53,
+ 172, 51, 85, 113, 71, 250, 44, 156, 80, 4,
+ 158, 92, 185, 173, 67, 47, 255, 71, 78, 187,
+ 80, 206, 42, 5, 34, 104, 1, 54
+ ]),
+ ]).pipe(crypto.createDecipheriv(
+ "aes-128-cbc",
+ new Uint8Array(16),
+ new Uint8Array(16),
+ ));
+ assertEquals(await text(stream), "foo".repeat(15));
+ },
+});
+
+Deno.test({
+ name: "createCipheriv - invalid algorithm",
+ fn() {
+ assertThrows(
+ () =>
+ crypto.createCipheriv("foo", new Uint8Array(16), new Uint8Array(16)),
+ TypeError,
+ "Unknown cipher",
+ );
+ },
+});
+
+Deno.test({
+ name: "createDecipheriv - invalid algorithm",
+ fn() {
+ assertThrows(
+ () =>
+ crypto.createDecipheriv("foo", new Uint8Array(16), new Uint8Array(16)),
+ TypeError,
+ "Unknown cipher",
+ );
+ },
+});
diff --git a/tests/unit_node/crypto/crypto_hash_test.ts b/tests/unit_node/crypto/crypto_hash_test.ts
new file mode 100644
index 000000000..ff1c9c598
--- /dev/null
+++ b/tests/unit_node/crypto/crypto_hash_test.ts
@@ -0,0 +1,139 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ createHash,
+ createHmac,
+ getHashes,
+ randomFillSync,
+ randomUUID,
+} from "node:crypto";
+import { Buffer } from "node:buffer";
+import { Readable } from "node:stream";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+
+// https://github.com/denoland/deno/issues/18140
+Deno.test({
+ name: "[node/crypto] createHmac digest",
+ fn() {
+ assertEquals(
+ createHmac("sha256", "secret").update("hello").digest("hex"),
+ "88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b",
+ );
+ },
+});
+
+Deno.test({
+ name: "[node/crypto] createHash digest",
+ fn() {
+ assertEquals(
+ createHash("sha256").update("hello").digest("hex"),
+ "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
+ );
+ },
+});
+
+Deno.test("[node/crypto.Hash] basic usage - buffer output", () => {
+ const d = createHash("sha1").update("abc").update("def").digest();
+ assertEquals(
+ d,
+ Buffer.from([
+ 0x1f,
+ 0x8a,
+ 0xc1,
+ 0xf,
+ 0x23,
+ 0xc5,
+ 0xb5,
+ 0xbc,
+ 0x11,
+ 0x67,
+ 0xbd,
+ 0xa8,
+ 0x4b,
+ 0x83,
+ 0x3e,
+ 0x5c,
+ 0x5,
+ 0x7a,
+ 0x77,
+ 0xd2,
+ ]),
+ );
+});
+
+Deno.test("[node/crypto.Hash] basic usage - hex output", () => {
+ const d = createHash("sha1").update("abc").update("def").digest("hex");
+ assertEquals(d, "1f8ac10f23c5b5bc1167bda84b833e5c057a77d2");
+});
+
+Deno.test("[node/crypto.Hash] basic usage - base64 output", () => {
+ const d = createHash("sha1").update("abc").update("def").digest("base64");
+ assertEquals(d, "H4rBDyPFtbwRZ72oS4M+XAV6d9I=");
+});
+
+Deno.test("[node/crypto.Hash] basic usage - base64url output", () => {
+ const d = createHash("sha1").update("abc").update("def").digest("base64url");
+ assertEquals(d, "H4rBDyPFtbwRZ72oS4M-XAV6d9I");
+});
+
+Deno.test("[node/crypto.Hash] streaming usage", async () => {
+ const source = Readable.from(["abc", "def"]);
+ const hash = createHash("sha1");
+ const dest = source.pipe(hash);
+ const result = await new Promise((resolve, _) => {
+ let buffer = Buffer.from([]);
+ dest.on("data", (data) => {
+ buffer = Buffer.concat([buffer, data]);
+ });
+ dest.on("end", () => {
+ resolve(buffer);
+ });
+ });
+ assertEquals(
+ result,
+ Buffer.from([
+ 0x1f,
+ 0x8a,
+ 0xc1,
+ 0xf,
+ 0x23,
+ 0xc5,
+ 0xb5,
+ 0xbc,
+ 0x11,
+ 0x67,
+ 0xbd,
+ 0xa8,
+ 0x4b,
+ 0x83,
+ 0x3e,
+ 0x5c,
+ 0x5,
+ 0x7a,
+ 0x77,
+ 0xd2,
+ ]),
+ );
+});
+
+Deno.test("[node/crypto.getHashes]", () => {
+ for (const algorithm of getHashes()) {
+ const d = createHash(algorithm).update("abc").digest();
+ assert(d instanceof Buffer);
+ assert(d.length > 0);
+ }
+});
+
+Deno.test("[node/crypto.getRandomUUID] works the same way as Web Crypto API", () => {
+ assertEquals(randomUUID().length, crypto.randomUUID().length);
+ assertEquals(typeof randomUUID(), typeof crypto.randomUUID());
+});
+
+Deno.test("[node/crypto.randomFillSync] supported arguments", () => {
+ const buf = new Uint8Array(10);
+
+ assert(randomFillSync(buf));
+ assert(randomFillSync(buf, 0));
+ // @ts-ignore: arraybuffer arguments are valid.
+ assert(randomFillSync(buf.buffer));
+ assert(randomFillSync(new DataView(buf.buffer)));
+});
diff --git a/tests/unit_node/crypto/crypto_key_test.ts b/tests/unit_node/crypto/crypto_key_test.ts
new file mode 100644
index 000000000..8d1b24b21
--- /dev/null
+++ b/tests/unit_node/crypto/crypto_key_test.ts
@@ -0,0 +1,233 @@
+// deno-lint-ignore-file no-explicit-any
+
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ createPrivateKey,
+ createSecretKey,
+ generateKeyPair,
+ generateKeyPairSync,
+ KeyObject,
+ randomBytes,
+} from "node:crypto";
+import { promisify } from "node:util";
+import { Buffer } from "node:buffer";
+import { assertEquals, assertThrows } from "@test_util/std/assert/mod.ts";
+import { createHmac } from "node:crypto";
+
+const RUN_SLOW_TESTS = Deno.env.get("SLOW_TESTS") === "1";
+
+const generateKeyPairAsync = promisify(
+ (
+ type: any,
+ options: any,
+ callback: (
+ err: Error | null,
+ key: { publicKey: KeyObject; privateKey: KeyObject },
+ ) => void,
+ ) =>
+ generateKeyPair(
+ type,
+ options,
+ (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => {
+ callback(err, { publicKey, privateKey });
+ },
+ ),
+);
+
+Deno.test({
+ name: "create secret key",
+ fn() {
+ const key = createSecretKey(Buffer.alloc(0));
+ assertEquals(key.type, "secret");
+ assertEquals(key.asymmetricKeyType, undefined);
+ assertEquals(key.symmetricKeySize, 0);
+ },
+});
+
+Deno.test({
+ name: "export secret key",
+ fn() {
+ const material = Buffer.from(randomBytes(32));
+ const key = createSecretKey(material);
+ assertEquals(Buffer.from(key.export()), material);
+ },
+});
+
+Deno.test({
+ name: "export jwk secret key",
+ fn() {
+ const material = Buffer.from("secret");
+ const key = createSecretKey(material);
+ assertEquals(key.export({ format: "jwk" }), {
+ kty: "oct",
+ k: "c2VjcmV0",
+ });
+ },
+});
+
+Deno.test({
+ name: "createHmac with secret key",
+ fn() {
+ const key = createSecretKey(Buffer.from("secret"));
+ assertEquals(
+ createHmac("sha256", key).update("hello").digest().toString("hex"),
+ "88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b",
+ );
+ },
+});
+
+const modulusLengths = RUN_SLOW_TESTS ? [2048, 3072] : [2048];
+
+for (const type of ["rsa", "rsa-pss", "dsa"]) {
+ for (const modulusLength of modulusLengths) {
+ Deno.test({
+ name: `generate ${type} key ${modulusLength}`,
+ fn() {
+ const { publicKey, privateKey } = generateKeyPairSync(type as any, {
+ modulusLength,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+
+ Deno.test({
+ name: `generate ${type} key async ${modulusLength}`,
+ async fn() {
+ const x = await generateKeyPairAsync(type as any, {
+ modulusLength,
+ });
+ const { publicKey, privateKey } = x;
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+ }
+}
+
+for (const namedCurve of ["P-384", "P-256"]) {
+ Deno.test({
+ name: `generate ec key ${namedCurve}`,
+ fn() {
+ const { publicKey, privateKey } = generateKeyPairSync("ec", {
+ namedCurve,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+
+ Deno.test({
+ name: `generate ec key ${namedCurve} async`,
+ async fn() {
+ const { publicKey, privateKey } = await generateKeyPairAsync("ec", {
+ namedCurve,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+
+ Deno.test({
+ name: `generate ec key ${namedCurve} paramEncoding=explicit fails`,
+ fn() {
+ assertThrows(() => {
+ // @ts-ignore: @types/node is broken?
+ generateKeyPairSync("ec", {
+ namedCurve,
+ paramEncoding: "explicit",
+ });
+ });
+ },
+ });
+}
+
+for (
+ const groupName of ["modp5", "modp14", "modp15", "modp16", "modp17", "modp18"]
+) {
+ Deno.test({
+ name: `generate dh key ${groupName}`,
+ fn() {
+ // @ts-ignore: @types/node is broken?
+ const { publicKey, privateKey } = generateKeyPairSync("dh", {
+ group: groupName,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+
+ Deno.test({
+ name: `generate dh key ${groupName} async`,
+ async fn() {
+ // @ts-ignore: @types/node is broken?
+ const { publicKey, privateKey } = await generateKeyPairAsync("dh", {
+ group: groupName,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+}
+
+const primeLengths = RUN_SLOW_TESTS ? [1024, 2048, 4096] : [1024];
+
+for (const primeLength of primeLengths) {
+ Deno.test({
+ name: `generate dh key ${primeLength}`,
+ fn() {
+ // @ts-ignore: @types/node is broken?
+ const { publicKey, privateKey } = generateKeyPairSync("dh", {
+ primeLength,
+ generator: 2,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+
+ Deno.test({
+ name: `generate dh key ${primeLength} async`,
+ async fn() {
+ // @ts-ignore: @types/node is broken?
+ const { publicKey, privateKey } = await generateKeyPairAsync("dh", {
+ primeLength,
+ generator: 2,
+ });
+
+ assertEquals(publicKey.type, "public");
+ assertEquals(privateKey.type, "private");
+ },
+ });
+}
+
+const rsaPrivateKey = Deno.readTextFileSync(
+ new URL("../testdata/rsa_private.pem", import.meta.url),
+);
+
+Deno.test("createPrivateKey rsa", function () {
+ const key = createPrivateKey(rsaPrivateKey);
+ assertEquals(key.type, "private");
+ assertEquals(key.asymmetricKeyType, "rsa");
+ assertEquals(key.asymmetricKeyDetails?.modulusLength, 2048);
+ assertEquals(key.asymmetricKeyDetails?.publicExponent, 65537n);
+});
+
+// openssl ecparam -name secp256r1 -genkey -noout -out a.pem
+// openssl pkcs8 -topk8 -nocrypt -in a.pem -out b.pem
+const ecPrivateKey = Deno.readTextFileSync(
+ new URL("./ec_private_secp256r1.pem", import.meta.url),
+);
+
+Deno.test("createPrivateKey ec", function () {
+ const key = createPrivateKey(ecPrivateKey);
+ assertEquals(key.type, "private");
+ assertEquals(key.asymmetricKeyType, "ec");
+ assertEquals(key.asymmetricKeyDetails?.namedCurve, "p256");
+});
diff --git a/tests/unit_node/crypto/crypto_sign_test.ts b/tests/unit_node/crypto/crypto_sign_test.ts
new file mode 100644
index 000000000..287b54cc1
--- /dev/null
+++ b/tests/unit_node/crypto/crypto_sign_test.ts
@@ -0,0 +1,129 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert, assertEquals } from "@test_util/std/testing/asserts.ts";
+import { createSign, createVerify, sign, verify } from "node:crypto";
+import { Buffer } from "node:buffer";
+
+const rsaPrivatePem = Buffer.from(
+ await Deno.readFile(
+ new URL("../testdata/rsa_private.pem", import.meta.url),
+ ),
+);
+const rsaPrivatePkcs1Pem = Buffer.from(
+ await Deno.readFile(
+ new URL("../testdata/rsa_private_pkcs1.pem", import.meta.url),
+ ),
+);
+const rsaPublicPem = Buffer.from(
+ await Deno.readFile(
+ new URL("../testdata/rsa_public.pem", import.meta.url),
+ ),
+);
+
+const table = [
+ {
+ algorithms: ["sha224", "RSA-SHA224"],
+ signature:
+ "7ad162b288bd7f4ba9b8a31295ad4136d143a5fd11eb99a72379dc9b53e3e8b5c1b7c9dd8a3864a1f626d921e550c48056982bd8fe7e75333885311b5515de1ecbbfcc6a1dd930f422dff87bfceb7eb38882ac6b4fd9dea9efd462776775976e81b1d677f8db41f5ac8686abfa9838069125be939c59e404aa50550872d84befb8b5f6ce2dd051c62a8ba268f876b6f17a27af43b79938222e4ab8b90c4f5540d0f8b02508ef3e68279d685746956b924f00c92438b7981a3cfcb1e2a97305402d381ea62aeaa803f8707961bc3e10a258352e210772e9846ca4024e3dc0a956a50d6db1c03d2943826cc98c6f36d7bafacf1c94b6c438c7664c300a3be172b1",
+ },
+ {
+ algorithms: ["sha256", "RSA-SHA256"],
+ signature:
+ "080313284d7398e1e0e27f6e44f198ceecedddc801e81af63a867d9245ad744e29018099c9ac3c27061c33cabfe27af1db38f44bac09cdcd2c4ab3b00a2a3020f68368f2239db5f911a2dbb7ea2dee322ca7d26d0c88d197482ca4aa1c29ac87b9e6c20075dc974ae71d2d76d2a5b2a15bd541033519465c3aea815cc73b0f1c3ffeedcfb93d6788416623789f86786870d23e86b982ab0df157d7a596097bd3cca3e752f3f47eff4b83754296868b52bc8ff741492dc8a401fe6dc035569e45d1fa1a71c8988d3aadce68fb1bf5c3e756c586af20c8e75c037436ff4c8389e6ce9d943ef7e2566977b84577272181fcec403077cc29e7db1166fff900b36a1d",
+ },
+ {
+ algorithms: ["sha384", "RSA-SHA384"],
+ signature:
+ "2f77a5b7ac0168efd652c30ecb082075f3de30629e9c1f51b7e7e671f24b5c3a2606bb72159a217438220fc7aaba887d4b817e3f43fe0cc8f840747368df8cd65ec760c21a3f9296d01caedc80a335030e31d31ac451277fc4bcc1679c168b2c3185dfee21286514113c080af5238a61a677b03777344f476f25053108588aa6bdc02a6138c6b59a20de4d11e3d668482f17e748e75747f83c0512206283acfc64ed0ad963dddc9ec24589cfd459ee806b8e0e67b93cea16651e967762a5deef890f438ffb9db39247469289db06e2ed7fe262aa1df4ab9607e5b5219a17ddc9694283a61bf8643f58fd702f2c5d3b2d53dc7f36bb5e96461174d376950d6d19",
+ },
+ {
+ algorithms: ["sha512", "RSA-SHA512"],
+ signature:
+ "072e20a433f255ab2f7e5e9ce69255d5c6d7c15a36af75c8389b9672c41abc6a9532fbd057d9d64270bb2483d3c9923f8f419fba4b59b838dcda82a1322009d245c06e2802a74febaea9cebc0b7f46f8761331c5f52ffb650245b5aefefcc604f209b44f6560fe45370cb239d236622e5f72fbb45377f08a0c733e16a8f15830897679ad4349d2e2e5e50a99796820302f4f47881ed444aede56a6d3330b71acaefc4218ae2e4a3bdfbb0c9432ffc5e5bac8c168278b2205d68a5d6905ccbb91282d519c11eccca52d42c86787de492b2a89679dce98cd14c37b0c183af8427e7a1ec86b1ed3f9b5bebf83f1ef81eb18748e69c716a0f263a8598fe627158647",
+ },
+];
+
+const data = Buffer.from("some data to sign");
+
+Deno.test({
+ name:
+ "crypto.Sign|sign - RSA PEM with SHA224, SHA256, SHA384, SHA512 digests",
+ fn() {
+ for (const testCase of table) {
+ for (const algorithm of testCase.algorithms) {
+ assertEquals(
+ createSign(algorithm)
+ .update(data)
+ .sign(rsaPrivatePem, "hex"),
+ testCase.signature,
+ );
+ assertEquals(
+ sign(algorithm, data, rsaPrivatePem),
+ Buffer.from(testCase.signature, "hex"),
+ );
+ }
+ }
+ },
+});
+
+Deno.test({
+ name:
+ "crypto.Verify|verify - RSA PEM with SHA224, SHA256, SHA384, SHA512 digests",
+ fn() {
+ for (const testCase of table) {
+ for (const algorithm of testCase.algorithms) {
+ assert(
+ createVerify(algorithm).update(data).verify(
+ rsaPublicPem,
+ testCase.signature,
+ "hex",
+ ),
+ );
+ assert(
+ verify(
+ algorithm,
+ data,
+ rsaPublicPem,
+ Buffer.from(testCase.signature, "hex"),
+ ),
+ );
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "crypto.createPrivateKey|sign - RSA PEM",
+ fn() {
+ for (const testCase of table) {
+ for (const algorithm of testCase.algorithms) {
+ assertEquals(
+ createSign(algorithm).update(data).sign(rsaPrivatePem, "hex"),
+ testCase.signature,
+ );
+ assertEquals(
+ sign(algorithm, data, rsaPrivatePem),
+ Buffer.from(testCase.signature, "hex"),
+ );
+ }
+ }
+ },
+});
+
+Deno.test({
+ name: "crypto.createPrivateKey|sign - RSA PKCS1 PEM",
+ fn() {
+ for (const testCase of table) {
+ for (const algorithm of testCase.algorithms) {
+ assertEquals(
+ createSign(algorithm).update(data).sign(rsaPrivatePkcs1Pem, "hex"),
+ testCase.signature,
+ );
+ assertEquals(
+ sign(algorithm, data, rsaPrivatePkcs1Pem),
+ Buffer.from(testCase.signature, "hex"),
+ );
+ }
+ }
+ },
+});
diff --git a/tests/unit_node/crypto/ec_private_secp256r1.pem b/tests/unit_node/crypto/ec_private_secp256r1.pem
new file mode 100644
index 000000000..f1d5c5769
--- /dev/null
+++ b/tests/unit_node/crypto/ec_private_secp256r1.pem
@@ -0,0 +1,5 @@
+-----BEGIN PRIVATE KEY-----
+MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgbT/dwqGGyRs19qy8
+XPyAZVluvTE9N6hIbyVuFyZobrahRANCAATeWMJqmunAZ6o2lumC79MklBB3Z7ZF
+ToryVl8HXevci1d/R+OZ6FjYnoICxw3rMXiKMDtUTAFi2ikL20O4+62M
+-----END PRIVATE KEY-----
diff --git a/tests/unit_node/crypto/gcmEncryptExtIV128.json b/tests/unit_node/crypto/gcmEncryptExtIV128.json
new file mode 100644
index 000000000..64896642d
--- /dev/null
+++ b/tests/unit_node/crypto/gcmEncryptExtIV128.json
@@ -0,0 +1,51377 @@
+[
+ {
+ "key": [
+ 17,
+ 117,
+ 76,
+ 215,
+ 42,
+ 236,
+ 48,
+ 155,
+ 245,
+ 47,
+ 118,
+ 135,
+ 33,
+ 46,
+ 137,
+ 87
+ ],
+ "nonce": [
+ 60,
+ 129,
+ 157,
+ 154,
+ 155,
+ 237,
+ 8,
+ 118,
+ 21,
+ 3,
+ 11,
+ 101
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 37,
+ 3,
+ 39,
+ 198,
+ 116,
+ 170,
+ 244,
+ 119,
+ 174,
+ 242,
+ 103,
+ 87,
+ 72,
+ 207,
+ 105,
+ 113
+ ]
+ },
+ {
+ "key": [
+ 202,
+ 71,
+ 36,
+ 138,
+ 192,
+ 182,
+ 248,
+ 55,
+ 42,
+ 151,
+ 172,
+ 67,
+ 80,
+ 131,
+ 8,
+ 237
+ ],
+ "nonce": [
+ 255,
+ 210,
+ 181,
+ 152,
+ 254,
+ 171,
+ 201,
+ 1,
+ 146,
+ 98,
+ 210,
+ 190
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 96,
+ 210,
+ 4,
+ 4,
+ 175,
+ 82,
+ 125,
+ 36,
+ 141,
+ 137,
+ 58,
+ 228,
+ 149,
+ 112,
+ 125,
+ 26
+ ]
+ },
+ {
+ "key": [
+ 219,
+ 26,
+ 208,
+ 189,
+ 28,
+ 246,
+ 219,
+ 11,
+ 93,
+ 134,
+ 239,
+ 221,
+ 137,
+ 20,
+ 178,
+ 24
+ ],
+ "nonce": [
+ 54,
+ 250,
+ 214,
+ 172,
+ 179,
+ 201,
+ 142,
+ 1,
+ 56,
+ 174,
+ 185,
+ 177
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 94,
+ 226,
+ 186,
+ 115,
+ 125,
+ 63,
+ 42,
+ 148,
+ 75,
+ 51,
+ 90,
+ 129,
+ 246,
+ 101,
+ 60,
+ 206
+ ]
+ },
+ {
+ "key": [
+ 28,
+ 113,
+ 53,
+ 175,
+ 98,
+ 124,
+ 4,
+ 195,
+ 41,
+ 87,
+ 243,
+ 63,
+ 154,
+ 192,
+ 133,
+ 144
+ ],
+ "nonce": [
+ 53,
+ 92,
+ 9,
+ 79,
+ 160,
+ 156,
+ 142,
+ 146,
+ 129,
+ 23,
+ 141,
+ 52
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 182,
+ 171,
+ 44,
+ 125,
+ 144,
+ 108,
+ 157,
+ 158,
+ 196,
+ 193,
+ 73,
+ 141,
+ 44,
+ 187,
+ 80,
+ 41
+ ]
+ },
+ {
+ "key": [
+ 108,
+ 162,
+ 193,
+ 18,
+ 5,
+ 166,
+ 229,
+ 90,
+ 181,
+ 4,
+ 219,
+ 243,
+ 73,
+ 31,
+ 139,
+ 220
+ ],
+ "nonce": [
+ 177,
+ 0,
+ 139,
+ 101,
+ 10,
+ 47,
+ 238,
+ 100,
+ 33,
+ 117,
+ 198,
+ 13
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 122,
+ 154,
+ 34,
+ 93,
+ 95,
+ 154,
+ 14,
+ 191,
+ 224,
+ 230,
+ 159,
+ 55,
+ 24,
+ 113,
+ 166,
+ 114
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 242,
+ 202,
+ 120,
+ 187,
+ 86,
+ 144,
+ 172,
+ 198,
+ 88,
+ 115,
+ 2,
+ 98,
+ 136,
+ 40,
+ 213
+ ],
+ "nonce": [
+ 112,
+ 29,
+ 162,
+ 130,
+ 203,
+ 107,
+ 96,
+ 24,
+ 218,
+ 189,
+ 0,
+ 211
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 171,
+ 29,
+ 64,
+ 221,
+ 161,
+ 121,
+ 141,
+ 86,
+ 104,
+ 120,
+ 146,
+ 226,
+ 21,
+ 157,
+ 236,
+ 253
+ ]
+ },
+ {
+ "key": [
+ 220,
+ 244,
+ 227,
+ 57,
+ 196,
+ 135,
+ 182,
+ 121,
+ 122,
+ 172,
+ 169,
+ 49,
+ 114,
+ 95,
+ 123,
+ 189
+ ],
+ "nonce": [
+ 44,
+ 29,
+ 149,
+ 94,
+ 53,
+ 54,
+ 103,
+ 96,
+ 234,
+ 216,
+ 129,
+ 124
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 50,
+ 181,
+ 66,
+ 197,
+ 243,
+ 68,
+ 204,
+ 236,
+ 235,
+ 70,
+ 10,
+ 2,
+ 147,
+ 141,
+ 107,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 88,
+ 205,
+ 187,
+ 129,
+ 87,
+ 42,
+ 35,
+ 167,
+ 142,
+ 228,
+ 89,
+ 111,
+ 132,
+ 78,
+ 233
+ ],
+ "nonce": [
+ 28,
+ 59,
+ 170,
+ 233,
+ 185,
+ 6,
+ 89,
+ 97,
+ 132,
+ 44,
+ 190,
+ 82
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 112,
+ 199,
+ 18,
+ 63,
+ 200,
+ 25,
+ 170,
+ 6,
+ 14,
+ 210,
+ 211,
+ 193,
+ 89,
+ 182,
+ 234,
+ 65
+ ]
+ },
+ {
+ "key": [
+ 40,
+ 26,
+ 87,
+ 11,
+ 30,
+ 143,
+ 38,
+ 94,
+ 224,
+ 147,
+ 3,
+ 236,
+ 174,
+ 12,
+ 196,
+ 109
+ ],
+ "nonce": [
+ 140,
+ 41,
+ 65,
+ 247,
+ 60,
+ 248,
+ 113,
+ 58,
+ 213,
+ 188,
+ 19,
+ 223
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 164,
+ 46,
+ 94,
+ 95,
+ 111,
+ 176,
+ 10,
+ 159,
+ 18,
+ 6,
+ 179,
+ 2,
+ 237,
+ 191,
+ 216,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 205,
+ 51,
+ 42,
+ 152,
+ 111,
+ 130,
+ 217,
+ 140,
+ 33,
+ 82,
+ 120,
+ 19,
+ 26,
+ 211,
+ 135,
+ 183
+ ],
+ "nonce": [
+ 29,
+ 18,
+ 178,
+ 89,
+ 244,
+ 75,
+ 135,
+ 61,
+ 57,
+ 66,
+ 188,
+ 17
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 52,
+ 35,
+ 128,
+ 35,
+ 100,
+ 129,
+ 133,
+ 215,
+ 239,
+ 12,
+ 252,
+ 245,
+ 131,
+ 110,
+ 147,
+ 204
+ ]
+ },
+ {
+ "key": [
+ 128,
+ 225,
+ 217,
+ 141,
+ 16,
+ 178,
+ 114,
+ 55,
+ 56,
+ 111,
+ 2,
+ 145,
+ 137,
+ 236,
+ 4,
+ 72
+ ],
+ "nonce": [
+ 35,
+ 158,
+ 186,
+ 178,
+ 245,
+ 36,
+ 253,
+ 98,
+ 197,
+ 84,
+ 161,
+ 144
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 76,
+ 15,
+ 41,
+ 217,
+ 99,
+ 240,
+ 237,
+ 104,
+ 220,
+ 207,
+ 52,
+ 73,
+ 108,
+ 244,
+ 61,
+ 0
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 101,
+ 12,
+ 219,
+ 97,
+ 227,
+ 225,
+ 154,
+ 26,
+ 152,
+ 251,
+ 78,
+ 5,
+ 55,
+ 125,
+ 53
+ ],
+ "nonce": [
+ 105,
+ 240,
+ 168,
+ 26,
+ 175,
+ 107,
+ 184,
+ 72,
+ 98,
+ 130,
+ 241,
+ 185
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 38,
+ 87,
+ 225,
+ 45,
+ 236,
+ 33,
+ 195,
+ 236,
+ 240,
+ 113,
+ 175,
+ 97,
+ 121,
+ 82,
+ 159,
+ 180
+ ]
+ },
+ {
+ "key": [
+ 30,
+ 137,
+ 166,
+ 205,
+ 117,
+ 40,
+ 204,
+ 225,
+ 226,
+ 178,
+ 181,
+ 247,
+ 253,
+ 43,
+ 107,
+ 82
+ ],
+ "nonce": [
+ 225,
+ 31,
+ 212,
+ 39,
+ 167,
+ 130,
+ 213,
+ 67,
+ 247,
+ 142,
+ 252,
+ 96
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 238,
+ 237,
+ 255,
+ 135,
+ 76,
+ 142,
+ 222,
+ 234,
+ 83,
+ 232,
+ 190,
+ 42,
+ 19,
+ 175,
+ 216,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 42,
+ 122,
+ 214,
+ 20,
+ 102,
+ 118,
+ 5,
+ 125,
+ 183,
+ 119,
+ 222,
+ 164,
+ 104,
+ 61,
+ 13,
+ 69
+ ],
+ "nonce": [
+ 237,
+ 114,
+ 30,
+ 166,
+ 116,
+ 86,
+ 212,
+ 89,
+ 74,
+ 175,
+ 189,
+ 81
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 238,
+ 60,
+ 171,
+ 87,
+ 120,
+ 136,
+ 132,
+ 57,
+ 217,
+ 15,
+ 167,
+ 24,
+ 183,
+ 87,
+ 56,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 163,
+ 100,
+ 244,
+ 148,
+ 164,
+ 205,
+ 1,
+ 71,
+ 195,
+ 71,
+ 49,
+ 7,
+ 77,
+ 193,
+ 168,
+ 91
+ ],
+ "nonce": [
+ 74,
+ 168,
+ 71,
+ 13,
+ 212,
+ 4,
+ 228,
+ 5,
+ 75,
+ 48,
+ 9,
+ 58
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 216,
+ 167,
+ 187,
+ 163,
+ 164,
+ 81,
+ 144,
+ 46,
+ 58,
+ 220,
+ 1,
+ 6,
+ 12,
+ 60,
+ 145,
+ 167
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 190,
+ 99,
+ 112,
+ 137,
+ 113,
+ 196,
+ 226,
+ 64,
+ 209,
+ 203,
+ 121,
+ 232,
+ 215,
+ 127,
+ 235
+ ],
+ "nonce": [
+ 224,
+ 224,
+ 15,
+ 25,
+ 254,
+ 215,
+ 186,
+ 1,
+ 54,
+ 167,
+ 151,
+ 243
+ ],
+ "aad": [
+ 122,
+ 67,
+ 236,
+ 29,
+ 156,
+ 10,
+ 90,
+ 120,
+ 160,
+ 177,
+ 101,
+ 51,
+ 166,
+ 33,
+ 60,
+ 171
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 32,
+ 159,
+ 204,
+ 141,
+ 54,
+ 117,
+ 237,
+ 147,
+ 142,
+ 156,
+ 113,
+ 102,
+ 112,
+ 157,
+ 217,
+ 70
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 128,
+ 197,
+ 211,
+ 202,
+ 97,
+ 84,
+ 117,
+ 142,
+ 81,
+ 15,
+ 77,
+ 37,
+ 185,
+ 136,
+ 32
+ ],
+ "nonce": [
+ 248,
+ 241,
+ 5,
+ 249,
+ 195,
+ 223,
+ 73,
+ 101,
+ 120,
+ 3,
+ 33,
+ 248
+ ],
+ "aad": [
+ 201,
+ 76,
+ 65,
+ 1,
+ 148,
+ 199,
+ 101,
+ 227,
+ 220,
+ 199,
+ 150,
+ 67,
+ 121,
+ 117,
+ 142,
+ 211
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 148,
+ 220,
+ 168,
+ 237,
+ 252,
+ 249,
+ 11,
+ 183,
+ 75,
+ 21,
+ 60,
+ 141,
+ 72,
+ 161,
+ 121,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 168,
+ 43,
+ 177,
+ 237,
+ 199,
+ 192,
+ 26,
+ 54,
+ 137,
+ 0,
+ 111,
+ 52,
+ 191,
+ 237,
+ 120,
+ 62
+ ],
+ "nonce": [
+ 150,
+ 56,
+ 54,
+ 182,
+ 123,
+ 24,
+ 139,
+ 236,
+ 249,
+ 186,
+ 20,
+ 17
+ ],
+ "aad": [
+ 157,
+ 17,
+ 91,
+ 185,
+ 187,
+ 209,
+ 25,
+ 251,
+ 119,
+ 123,
+ 99,
+ 22,
+ 6,
+ 90,
+ 154,
+ 200
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 196,
+ 145,
+ 136,
+ 159,
+ 163,
+ 236,
+ 164,
+ 84,
+ 75,
+ 160,
+ 213,
+ 27,
+ 142,
+ 15,
+ 56,
+ 55
+ ]
+ },
+ {
+ "key": [
+ 185,
+ 120,
+ 45,
+ 10,
+ 89,
+ 134,
+ 198,
+ 63,
+ 53,
+ 45,
+ 59,
+ 196,
+ 199,
+ 236,
+ 201,
+ 109
+ ],
+ "nonce": [
+ 69,
+ 65,
+ 225,
+ 91,
+ 146,
+ 237,
+ 234,
+ 68,
+ 236,
+ 235,
+ 31,
+ 42
+ ],
+ "aad": [
+ 241,
+ 169,
+ 240,
+ 114,
+ 52,
+ 41,
+ 197,
+ 178,
+ 97,
+ 133,
+ 172,
+ 62,
+ 167,
+ 225,
+ 61,
+ 122
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 116,
+ 208,
+ 211,
+ 105,
+ 73,
+ 240,
+ 39,
+ 102,
+ 112,
+ 249,
+ 221,
+ 197,
+ 121,
+ 233,
+ 79,
+ 58
+ ]
+ },
+ {
+ "key": [
+ 89,
+ 185,
+ 87,
+ 133,
+ 179,
+ 15,
+ 32,
+ 86,
+ 121,
+ 252,
+ 79,
+ 63,
+ 154,
+ 144,
+ 16,
+ 47
+ ],
+ "nonce": [
+ 25,
+ 8,
+ 120,
+ 124,
+ 193,
+ 225,
+ 136,
+ 10,
+ 110,
+ 245,
+ 221,
+ 23
+ ],
+ "aad": [
+ 57,
+ 133,
+ 45,
+ 49,
+ 130,
+ 148,
+ 74,
+ 81,
+ 119,
+ 219,
+ 39,
+ 123,
+ 99,
+ 145,
+ 7,
+ 2
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 143,
+ 154,
+ 150,
+ 192,
+ 19,
+ 153,
+ 36,
+ 133,
+ 180,
+ 62,
+ 43,
+ 98,
+ 116,
+ 90,
+ 209,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 52,
+ 221,
+ 121,
+ 38,
+ 171,
+ 19,
+ 212,
+ 7,
+ 129,
+ 96,
+ 216,
+ 125,
+ 226,
+ 227,
+ 199,
+ 36
+ ],
+ "nonce": [
+ 193,
+ 28,
+ 205,
+ 175,
+ 121,
+ 138,
+ 176,
+ 58,
+ 242,
+ 217,
+ 126,
+ 249
+ ],
+ "aad": [
+ 175,
+ 105,
+ 135,
+ 23,
+ 166,
+ 215,
+ 144,
+ 179,
+ 191,
+ 195,
+ 145,
+ 149,
+ 133,
+ 123,
+ 181,
+ 255
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 72,
+ 17,
+ 96,
+ 80,
+ 187,
+ 217,
+ 17,
+ 130,
+ 112,
+ 208,
+ 190,
+ 37,
+ 45,
+ 41,
+ 213,
+ 212
+ ]
+ },
+ {
+ "key": [
+ 142,
+ 200,
+ 111,
+ 171,
+ 85,
+ 170,
+ 171,
+ 14,
+ 119,
+ 69,
+ 94,
+ 156,
+ 211,
+ 219,
+ 199,
+ 142
+ ],
+ "nonce": [
+ 21,
+ 253,
+ 144,
+ 169,
+ 134,
+ 126,
+ 20,
+ 240,
+ 214,
+ 59,
+ 83,
+ 185
+ ],
+ "aad": [
+ 231,
+ 80,
+ 158,
+ 39,
+ 98,
+ 9,
+ 166,
+ 211,
+ 236,
+ 250,
+ 187,
+ 83,
+ 204,
+ 220,
+ 210,
+ 54
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 217,
+ 109,
+ 106,
+ 192,
+ 211,
+ 9,
+ 206,
+ 190,
+ 222,
+ 186,
+ 42,
+ 249,
+ 242,
+ 98,
+ 19,
+ 47
+ ]
+ },
+ {
+ "key": [
+ 102,
+ 178,
+ 71,
+ 61,
+ 158,
+ 1,
+ 33,
+ 102,
+ 109,
+ 71,
+ 99,
+ 63,
+ 112,
+ 8,
+ 235,
+ 28
+ ],
+ "nonce": [
+ 193,
+ 113,
+ 108,
+ 104,
+ 162,
+ 77,
+ 87,
+ 119,
+ 11,
+ 134,
+ 126,
+ 81
+ ],
+ "aad": [
+ 194,
+ 15,
+ 104,
+ 99,
+ 23,
+ 214,
+ 126,
+ 83,
+ 221,
+ 121,
+ 186,
+ 229,
+ 196,
+ 109,
+ 193,
+ 17
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 154,
+ 8,
+ 97,
+ 104,
+ 9,
+ 207,
+ 21,
+ 36,
+ 125,
+ 254,
+ 185,
+ 117,
+ 107,
+ 164,
+ 246,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 91,
+ 38,
+ 42,
+ 157,
+ 0,
+ 144,
+ 77,
+ 48,
+ 162,
+ 88,
+ 124,
+ 170,
+ 222,
+ 9,
+ 19,
+ 129
+ ],
+ "nonce": [
+ 247,
+ 188,
+ 21,
+ 76,
+ 165,
+ 98,
+ 232,
+ 242,
+ 193,
+ 132,
+ 85,
+ 152
+ ],
+ "aad": [
+ 35,
+ 17,
+ 45,
+ 7,
+ 140,
+ 153,
+ 20,
+ 250,
+ 61,
+ 254,
+ 82,
+ 24,
+ 205,
+ 25,
+ 16,
+ 22
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 152,
+ 133,
+ 77,
+ 25,
+ 58,
+ 6,
+ 219,
+ 227,
+ 44,
+ 228,
+ 73,
+ 126,
+ 236,
+ 92,
+ 154,
+ 139
+ ]
+ },
+ {
+ "key": [
+ 46,
+ 79,
+ 185,
+ 204,
+ 50,
+ 1,
+ 136,
+ 166,
+ 241,
+ 250,
+ 137,
+ 167,
+ 162,
+ 82,
+ 39,
+ 58
+ ],
+ "nonce": [
+ 122,
+ 109,
+ 78,
+ 230,
+ 156,
+ 114,
+ 86,
+ 193,
+ 79,
+ 186,
+ 143,
+ 94
+ ],
+ "aad": [
+ 128,
+ 186,
+ 74,
+ 32,
+ 42,
+ 104,
+ 195,
+ 89,
+ 13,
+ 101,
+ 87,
+ 145,
+ 44,
+ 111,
+ 135,
+ 142
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 146,
+ 128,
+ 49,
+ 50,
+ 115,
+ 190,
+ 251,
+ 138,
+ 250,
+ 11,
+ 206,
+ 202,
+ 90,
+ 150,
+ 109,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 94,
+ 169,
+ 73,
+ 115,
+ 216,
+ 97,
+ 109,
+ 175,
+ 167,
+ 243,
+ 29,
+ 176,
+ 113,
+ 109,
+ 23,
+ 41
+ ],
+ "nonce": [
+ 160,
+ 91,
+ 98,
+ 102,
+ 157,
+ 37,
+ 14,
+ 97,
+ 176,
+ 119,
+ 210,
+ 138
+ ],
+ "aad": [
+ 150,
+ 32,
+ 186,
+ 242,
+ 245,
+ 141,
+ 1,
+ 63,
+ 138,
+ 76,
+ 72,
+ 113,
+ 152,
+ 156,
+ 27,
+ 23
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 126,
+ 85,
+ 3,
+ 152,
+ 222,
+ 231,
+ 40,
+ 37,
+ 109,
+ 105,
+ 40,
+ 205,
+ 170,
+ 196,
+ 59,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 145,
+ 3,
+ 133,
+ 246,
+ 240,
+ 127,
+ 158,
+ 87,
+ 228,
+ 131,
+ 196,
+ 125,
+ 213,
+ 32,
+ 107,
+ 204
+ ],
+ "nonce": [
+ 81,
+ 143,
+ 86,
+ 227,
+ 54,
+ 88,
+ 223,
+ 49,
+ 29,
+ 66,
+ 217,
+ 254
+ ],
+ "aad": [
+ 93,
+ 21,
+ 121,
+ 9,
+ 162,
+ 164,
+ 96,
+ 113,
+ 23,
+ 231,
+ 125,
+ 160,
+ 228,
+ 73,
+ 59,
+ 136
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 167,
+ 4,
+ 30,
+ 164,
+ 161,
+ 215,
+ 77,
+ 158,
+ 102,
+ 185,
+ 87,
+ 27,
+ 89,
+ 182,
+ 161,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 202,
+ 179,
+ 175,
+ 122,
+ 21,
+ 180,
+ 48,
+ 224,
+ 52,
+ 231,
+ 147,
+ 187,
+ 48,
+ 219,
+ 138,
+ 178
+ ],
+ "nonce": [
+ 150,
+ 58,
+ 86,
+ 226,
+ 225,
+ 47,
+ 56,
+ 112,
+ 98,
+ 225,
+ 132,
+ 152
+ ],
+ "aad": [
+ 160,
+ 148,
+ 161,
+ 221,
+ 17,
+ 33,
+ 211,
+ 170,
+ 82,
+ 200,
+ 30,
+ 143,
+ 16,
+ 191,
+ 159,
+ 12
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 26,
+ 49,
+ 210,
+ 149,
+ 96,
+ 30,
+ 179,
+ 200,
+ 42,
+ 84,
+ 178,
+ 52,
+ 152,
+ 79,
+ 253,
+ 245
+ ]
+ },
+ {
+ "key": [
+ 137,
+ 201,
+ 73,
+ 233,
+ 200,
+ 4,
+ 175,
+ 1,
+ 77,
+ 86,
+ 4,
+ 179,
+ 148,
+ 89,
+ 242,
+ 200
+ ],
+ "nonce": [
+ 209,
+ 177,
+ 4,
+ 200,
+ 21,
+ 191,
+ 30,
+ 148,
+ 226,
+ 140,
+ 143,
+ 22
+ ],
+ "aad": [
+ 130,
+ 173,
+ 205,
+ 99,
+ 141,
+ 63,
+ 169,
+ 217,
+ 243,
+ 232,
+ 65,
+ 0,
+ 214,
+ 30,
+ 7,
+ 119
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 136,
+ 219,
+ 157,
+ 98,
+ 23,
+ 46,
+ 208,
+ 67,
+ 170,
+ 16,
+ 241,
+ 109,
+ 34,
+ 125,
+ 196,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 164,
+ 217,
+ 148,
+ 196,
+ 172,
+ 90,
+ 192,
+ 240,
+ 41,
+ 19,
+ 36,
+ 87,
+ 20,
+ 251,
+ 226,
+ 53
+ ],
+ "nonce": [
+ 169,
+ 71,
+ 45,
+ 173,
+ 204,
+ 168,
+ 215,
+ 224,
+ 227,
+ 184,
+ 8,
+ 77
+ ],
+ "aad": [
+ 235,
+ 49,
+ 139,
+ 158,
+ 23,
+ 87,
+ 82,
+ 3,
+ 221,
+ 41,
+ 235,
+ 237,
+ 32,
+ 236,
+ 130,
+ 249
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 50,
+ 61,
+ 247,
+ 243,
+ 54,
+ 148,
+ 16,
+ 111,
+ 86,
+ 115,
+ 157,
+ 224,
+ 151,
+ 50,
+ 22,
+ 163
+ ]
+ },
+ {
+ "key": [
+ 47,
+ 180,
+ 94,
+ 91,
+ 143,
+ 153,
+ 58,
+ 43,
+ 254,
+ 188,
+ 75,
+ 21,
+ 181,
+ 51,
+ 224,
+ 180
+ ],
+ "nonce": [
+ 91,
+ 5,
+ 117,
+ 95,
+ 152,
+ 77,
+ 43,
+ 144,
+ 249,
+ 75,
+ 128,
+ 39
+ ],
+ "aad": [
+ 232,
+ 84,
+ 145,
+ 178,
+ 32,
+ 44,
+ 175,
+ 29,
+ 125,
+ 206,
+ 3,
+ 185,
+ 126,
+ 9,
+ 51,
+ 28,
+ 50,
+ 71,
+ 57,
+ 65
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 199,
+ 91,
+ 120,
+ 50,
+ 178,
+ 162,
+ 217,
+ 189,
+ 130,
+ 116,
+ 18,
+ 182,
+ 239,
+ 87,
+ 105,
+ 219
+ ]
+ },
+ {
+ "key": [
+ 149,
+ 33,
+ 23,
+ 4,
+ 143,
+ 119,
+ 226,
+ 118,
+ 194,
+ 239,
+ 101,
+ 128,
+ 83,
+ 124,
+ 20,
+ 3
+ ],
+ "nonce": [
+ 7,
+ 11,
+ 143,
+ 180,
+ 106,
+ 122,
+ 213,
+ 40,
+ 133,
+ 190,
+ 27,
+ 38
+ ],
+ "aad": [
+ 52,
+ 176,
+ 136,
+ 249,
+ 130,
+ 129,
+ 139,
+ 95,
+ 7,
+ 218,
+ 190,
+ 43,
+ 98,
+ 249,
+ 84,
+ 127,
+ 78,
+ 208,
+ 153,
+ 18
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 190,
+ 221,
+ 76,
+ 243,
+ 15,
+ 215,
+ 164,
+ 171,
+ 196,
+ 155,
+ 220,
+ 195,
+ 243,
+ 178,
+ 72,
+ 177
+ ]
+ },
+ {
+ "key": [
+ 127,
+ 100,
+ 83,
+ 179,
+ 155,
+ 222,
+ 1,
+ 133,
+ 96,
+ 161,
+ 106,
+ 39,
+ 4,
+ 33,
+ 117,
+ 67
+ ],
+ "nonce": [
+ 15,
+ 62,
+ 236,
+ 244,
+ 141,
+ 104,
+ 53,
+ 50,
+ 38,
+ 167,
+ 127,
+ 228
+ ],
+ "aad": [
+ 17,
+ 228,
+ 236,
+ 178,
+ 86,
+ 235,
+ 255,
+ 86,
+ 69,
+ 63,
+ 162,
+ 231,
+ 94,
+ 67,
+ 235,
+ 157,
+ 100,
+ 16,
+ 73,
+ 230
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 181,
+ 18,
+ 98,
+ 58,
+ 18,
+ 213,
+ 73,
+ 43,
+ 125,
+ 118,
+ 211,
+ 155,
+ 224,
+ 223,
+ 87,
+ 119
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 50,
+ 228,
+ 51,
+ 191,
+ 97,
+ 0,
+ 198,
+ 204,
+ 35,
+ 176,
+ 135,
+ 16,
+ 98,
+ 124,
+ 64
+ ],
+ "nonce": [
+ 170,
+ 179,
+ 219,
+ 48,
+ 21,
+ 178,
+ 157,
+ 36,
+ 243,
+ 41,
+ 190,
+ 180
+ ],
+ "aad": [
+ 189,
+ 132,
+ 58,
+ 8,
+ 240,
+ 168,
+ 34,
+ 248,
+ 244,
+ 247,
+ 108,
+ 54,
+ 72,
+ 56,
+ 10,
+ 171,
+ 118,
+ 34,
+ 231,
+ 25
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 229,
+ 79,
+ 29,
+ 24,
+ 198,
+ 29,
+ 139,
+ 225,
+ 84,
+ 132,
+ 114,
+ 118,
+ 5,
+ 181,
+ 165,
+ 220
+ ]
+ },
+ {
+ "key": [
+ 87,
+ 115,
+ 117,
+ 10,
+ 73,
+ 48,
+ 150,
+ 169,
+ 157,
+ 132,
+ 192,
+ 86,
+ 63,
+ 194,
+ 147,
+ 233
+ ],
+ "nonce": [
+ 195,
+ 144,
+ 237,
+ 112,
+ 220,
+ 148,
+ 151,
+ 35,
+ 68,
+ 19,
+ 173,
+ 82
+ ],
+ "aad": [
+ 96,
+ 18,
+ 81,
+ 114,
+ 88,
+ 113,
+ 108,
+ 31,
+ 0,
+ 53,
+ 239,
+ 166,
+ 10,
+ 15,
+ 54,
+ 181,
+ 198,
+ 94,
+ 115,
+ 121
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 176,
+ 17,
+ 178,
+ 100,
+ 97,
+ 14,
+ 88,
+ 8,
+ 39,
+ 5,
+ 71,
+ 111,
+ 4,
+ 11,
+ 140,
+ 134
+ ]
+ },
+ {
+ "key": [
+ 65,
+ 176,
+ 208,
+ 252,
+ 229,
+ 211,
+ 19,
+ 89,
+ 207,
+ 213,
+ 219,
+ 64,
+ 100,
+ 226,
+ 212,
+ 107
+ ],
+ "nonce": [
+ 185,
+ 3,
+ 233,
+ 208,
+ 206,
+ 162,
+ 87,
+ 149,
+ 168,
+ 46,
+ 115,
+ 227
+ ],
+ "aad": [
+ 76,
+ 186,
+ 80,
+ 24,
+ 118,
+ 243,
+ 62,
+ 31,
+ 218,
+ 156,
+ 212,
+ 86,
+ 227,
+ 24,
+ 6,
+ 131,
+ 227,
+ 134,
+ 59,
+ 217
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 24,
+ 188,
+ 57,
+ 208,
+ 185,
+ 92,
+ 240,
+ 89,
+ 205,
+ 140,
+ 37,
+ 0,
+ 79,
+ 94,
+ 80,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 71,
+ 72,
+ 183,
+ 130,
+ 227,
+ 254,
+ 94,
+ 78,
+ 255,
+ 235,
+ 124,
+ 103,
+ 35,
+ 45,
+ 43,
+ 7
+ ],
+ "nonce": [
+ 197,
+ 228,
+ 220,
+ 241,
+ 143,
+ 134,
+ 7,
+ 107,
+ 136,
+ 165,
+ 213,
+ 233
+ ],
+ "aad": [
+ 59,
+ 47,
+ 202,
+ 216,
+ 115,
+ 158,
+ 216,
+ 126,
+ 29,
+ 2,
+ 232,
+ 8,
+ 69,
+ 241,
+ 32,
+ 226,
+ 73,
+ 234,
+ 146,
+ 177
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 184,
+ 174,
+ 113,
+ 142,
+ 40,
+ 121,
+ 201,
+ 203,
+ 101,
+ 141,
+ 93,
+ 17,
+ 34,
+ 230,
+ 155,
+ 183
+ ]
+ },
+ {
+ "key": [
+ 227,
+ 12,
+ 194,
+ 32,
+ 119,
+ 213,
+ 149,
+ 18,
+ 22,
+ 208,
+ 127,
+ 55,
+ 197,
+ 27,
+ 88,
+ 249
+ ],
+ "nonce": [
+ 252,
+ 88,
+ 58,
+ 209,
+ 89,
+ 181,
+ 46,
+ 11,
+ 99,
+ 120,
+ 21,
+ 126
+ ],
+ "aad": [
+ 195,
+ 203,
+ 123,
+ 232,
+ 136,
+ 142,
+ 244,
+ 76,
+ 165,
+ 170,
+ 147,
+ 221,
+ 226,
+ 109,
+ 39,
+ 81,
+ 40,
+ 142,
+ 31,
+ 90
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 168,
+ 206,
+ 37,
+ 181,
+ 220,
+ 143,
+ 132,
+ 226,
+ 245,
+ 218,
+ 229,
+ 240,
+ 133,
+ 170,
+ 204,
+ 212
+ ]
+ },
+ {
+ "key": [
+ 124,
+ 139,
+ 16,
+ 186,
+ 117,
+ 238,
+ 106,
+ 180,
+ 169,
+ 151,
+ 211,
+ 245,
+ 152,
+ 183,
+ 157,
+ 64
+ ],
+ "nonce": [
+ 111,
+ 181,
+ 81,
+ 136,
+ 221,
+ 240,
+ 13,
+ 222,
+ 9,
+ 89,
+ 101,
+ 135
+ ],
+ "aad": [
+ 45,
+ 220,
+ 10,
+ 207,
+ 151,
+ 5,
+ 248,
+ 209,
+ 143,
+ 144,
+ 91,
+ 143,
+ 157,
+ 71,
+ 46,
+ 125,
+ 191,
+ 107,
+ 145,
+ 227
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 87,
+ 145,
+ 211,
+ 128,
+ 81,
+ 9,
+ 197,
+ 225,
+ 138,
+ 223,
+ 244,
+ 232,
+ 9,
+ 6,
+ 160,
+ 24
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 199,
+ 219,
+ 108,
+ 162,
+ 159,
+ 131,
+ 100,
+ 28,
+ 63,
+ 255,
+ 91,
+ 113,
+ 196,
+ 188,
+ 48
+ ],
+ "nonce": [
+ 242,
+ 0,
+ 7,
+ 66,
+ 226,
+ 73,
+ 172,
+ 86,
+ 213,
+ 178,
+ 246,
+ 95
+ ],
+ "aad": [
+ 205,
+ 153,
+ 77,
+ 45,
+ 8,
+ 35,
+ 39,
+ 112,
+ 146,
+ 125,
+ 133,
+ 78,
+ 242,
+ 182,
+ 202,
+ 47,
+ 8,
+ 115,
+ 112,
+ 207
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 165,
+ 150,
+ 109,
+ 243,
+ 159,
+ 238,
+ 186,
+ 3,
+ 54,
+ 240,
+ 185,
+ 163,
+ 244,
+ 255,
+ 230,
+ 195
+ ]
+ },
+ {
+ "key": [
+ 40,
+ 51,
+ 204,
+ 16,
+ 25,
+ 80,
+ 48,
+ 228,
+ 161,
+ 21,
+ 85,
+ 50,
+ 102,
+ 108,
+ 176,
+ 73
+ ],
+ "nonce": [
+ 173,
+ 128,
+ 43,
+ 154,
+ 92,
+ 148,
+ 9,
+ 250,
+ 62,
+ 125,
+ 207,
+ 204
+ ],
+ "aad": [
+ 179,
+ 236,
+ 190,
+ 162,
+ 121,
+ 125,
+ 0,
+ 108,
+ 7,
+ 184,
+ 206,
+ 98,
+ 27,
+ 227,
+ 176,
+ 236,
+ 205,
+ 55,
+ 195,
+ 236
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 129,
+ 222,
+ 171,
+ 139,
+ 222,
+ 224,
+ 211,
+ 145,
+ 73,
+ 94,
+ 237,
+ 64,
+ 41,
+ 166,
+ 210,
+ 5
+ ]
+ },
+ {
+ "key": [
+ 216,
+ 152,
+ 91,
+ 181,
+ 172,
+ 2,
+ 88,
+ 173,
+ 173,
+ 134,
+ 102,
+ 14,
+ 187,
+ 198,
+ 209,
+ 159
+ ],
+ "nonce": [
+ 181,
+ 238,
+ 38,
+ 248,
+ 196,
+ 99,
+ 187,
+ 252,
+ 39,
+ 17,
+ 91,
+ 10
+ ],
+ "aad": [
+ 97,
+ 63,
+ 81,
+ 248,
+ 50,
+ 251,
+ 244,
+ 52,
+ 184,
+ 227,
+ 254,
+ 148,
+ 84,
+ 174,
+ 70,
+ 168,
+ 98,
+ 216,
+ 49,
+ 240
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 254,
+ 159,
+ 11,
+ 27,
+ 220,
+ 104,
+ 222,
+ 230,
+ 232,
+ 220,
+ 44,
+ 225,
+ 38,
+ 101,
+ 211,
+ 54
+ ]
+ },
+ {
+ "key": [
+ 155,
+ 143,
+ 105,
+ 36,
+ 220,
+ 34,
+ 241,
+ 7,
+ 60,
+ 26,
+ 56,
+ 68,
+ 138,
+ 47,
+ 4,
+ 71
+ ],
+ "nonce": [
+ 9,
+ 205,
+ 171,
+ 248,
+ 125,
+ 130,
+ 130,
+ 142,
+ 202,
+ 28,
+ 12,
+ 127
+ ],
+ "aad": [
+ 105,
+ 33,
+ 14,
+ 78,
+ 10,
+ 28,
+ 253,
+ 80,
+ 56,
+ 117,
+ 102,
+ 82,
+ 121,
+ 11,
+ 154,
+ 140,
+ 251,
+ 189,
+ 148,
+ 61
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 166,
+ 12,
+ 16,
+ 74,
+ 111,
+ 180,
+ 99,
+ 132,
+ 39,
+ 168,
+ 138,
+ 134,
+ 192,
+ 73,
+ 35,
+ 189
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 19,
+ 34,
+ 19,
+ 213,
+ 217,
+ 83,
+ 9,
+ 191,
+ 126,
+ 16,
+ 248,
+ 49,
+ 141,
+ 124,
+ 32
+ ],
+ "nonce": [
+ 251,
+ 144,
+ 191,
+ 40,
+ 60,
+ 84,
+ 17,
+ 35,
+ 3,
+ 85,
+ 215,
+ 161
+ ],
+ "aad": [
+ 163,
+ 11,
+ 177,
+ 124,
+ 128,
+ 137,
+ 198,
+ 245,
+ 246,
+ 27,
+ 37,
+ 10,
+ 148,
+ 203,
+ 187,
+ 253,
+ 245,
+ 242,
+ 163,
+ 230
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 9,
+ 25,
+ 26,
+ 244,
+ 24,
+ 148,
+ 159,
+ 230,
+ 190,
+ 141,
+ 191,
+ 19,
+ 224,
+ 6,
+ 82,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 101,
+ 47,
+ 251,
+ 173,
+ 78,
+ 31,
+ 203,
+ 231,
+ 85,
+ 100,
+ 57,
+ 94,
+ 108,
+ 28,
+ 57,
+ 36
+ ],
+ "nonce": [
+ 17,
+ 19,
+ 73,
+ 99,
+ 109,
+ 16,
+ 111,
+ 213,
+ 246,
+ 161,
+ 224,
+ 136
+ ],
+ "aad": [
+ 95,
+ 82,
+ 170,
+ 133,
+ 220,
+ 58,
+ 192,
+ 66,
+ 100,
+ 126,
+ 50,
+ 173,
+ 160,
+ 80,
+ 214,
+ 126,
+ 89,
+ 181,
+ 25,
+ 170
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 40,
+ 217,
+ 128,
+ 215,
+ 191,
+ 216,
+ 120,
+ 194,
+ 39,
+ 193,
+ 64,
+ 222,
+ 52,
+ 130,
+ 118,
+ 91
+ ]
+ },
+ {
+ "key": [
+ 153,
+ 227,
+ 232,
+ 121,
+ 62,
+ 104,
+ 110,
+ 87,
+ 29,
+ 130,
+ 133,
+ 197,
+ 100,
+ 247,
+ 94,
+ 43
+ ],
+ "nonce": [
+ 194,
+ 221,
+ 10,
+ 184,
+ 104,
+ 218,
+ 106,
+ 168,
+ 173,
+ 156,
+ 13,
+ 35
+ ],
+ "aad": [
+ 182,
+ 104,
+ 228,
+ 45,
+ 78,
+ 68,
+ 76,
+ 168,
+ 178,
+ 60,
+ 253,
+ 217,
+ 90,
+ 159,
+ 237,
+ 213,
+ 23,
+ 138,
+ 165,
+ 33,
+ 20,
+ 72,
+ 144,
+ 176,
+ 147,
+ 115,
+ 60,
+ 245,
+ 207,
+ 34,
+ 82,
+ 108,
+ 89,
+ 23,
+ 238,
+ 71,
+ 101,
+ 65,
+ 128,
+ 154,
+ 198,
+ 134,
+ 122,
+ 140,
+ 57,
+ 147,
+ 9,
+ 252
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 63,
+ 79,
+ 186,
+ 16,
+ 14,
+ 175,
+ 31,
+ 52,
+ 176,
+ 186,
+ 173,
+ 170,
+ 233,
+ 153,
+ 93,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 248,
+ 226,
+ 158,
+ 253,
+ 0,
+ 164,
+ 35,
+ 196,
+ 234,
+ 148,
+ 86,
+ 134,
+ 63,
+ 131,
+ 197,
+ 79
+ ],
+ "nonce": [
+ 45,
+ 60,
+ 246,
+ 124,
+ 188,
+ 230,
+ 157,
+ 99,
+ 155,
+ 209,
+ 192,
+ 146
+ ],
+ "aad": [
+ 2,
+ 199,
+ 15,
+ 200,
+ 162,
+ 84,
+ 70,
+ 25,
+ 193,
+ 195,
+ 233,
+ 252,
+ 230,
+ 179,
+ 198,
+ 195,
+ 188,
+ 36,
+ 100,
+ 62,
+ 15,
+ 20,
+ 14,
+ 107,
+ 72,
+ 172,
+ 80,
+ 94,
+ 166,
+ 102,
+ 205,
+ 154,
+ 32,
+ 16,
+ 195,
+ 168,
+ 226,
+ 245,
+ 241,
+ 4,
+ 55,
+ 136,
+ 127,
+ 232,
+ 3,
+ 181,
+ 77,
+ 179
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 150,
+ 60,
+ 181,
+ 10,
+ 202,
+ 62,
+ 9,
+ 221,
+ 13,
+ 154,
+ 1,
+ 60,
+ 135,
+ 52,
+ 21,
+ 95
+ ]
+ },
+ {
+ "key": [
+ 0,
+ 227,
+ 73,
+ 29,
+ 252,
+ 243,
+ 190,
+ 195,
+ 156,
+ 137,
+ 204,
+ 253,
+ 128,
+ 165,
+ 168,
+ 150
+ ],
+ "nonce": [
+ 41,
+ 246,
+ 255,
+ 78,
+ 220,
+ 74,
+ 195,
+ 233,
+ 127,
+ 251,
+ 22,
+ 128
+ ],
+ "aad": [
+ 115,
+ 129,
+ 51,
+ 81,
+ 179,
+ 159,
+ 94,
+ 64,
+ 0,
+ 169,
+ 238,
+ 141,
+ 43,
+ 133,
+ 241,
+ 49,
+ 99,
+ 74,
+ 202,
+ 237,
+ 224,
+ 221,
+ 37,
+ 214,
+ 145,
+ 162,
+ 184,
+ 41,
+ 173,
+ 79,
+ 233,
+ 234,
+ 105,
+ 159,
+ 18,
+ 36,
+ 37,
+ 25,
+ 132,
+ 124,
+ 176,
+ 131,
+ 176,
+ 180,
+ 211,
+ 216,
+ 179,
+ 188
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 1,
+ 178,
+ 233,
+ 186,
+ 113,
+ 154,
+ 215,
+ 124,
+ 117,
+ 59,
+ 54,
+ 78,
+ 204,
+ 90,
+ 171,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 208,
+ 111,
+ 76,
+ 25,
+ 175,
+ 29,
+ 95,
+ 96,
+ 43,
+ 56,
+ 248,
+ 110,
+ 86,
+ 41,
+ 28
+ ],
+ "nonce": [
+ 11,
+ 35,
+ 92,
+ 106,
+ 117,
+ 206,
+ 205,
+ 252,
+ 186,
+ 144,
+ 1,
+ 206
+ ],
+ "aad": [
+ 125,
+ 79,
+ 38,
+ 247,
+ 137,
+ 91,
+ 46,
+ 243,
+ 218,
+ 46,
+ 79,
+ 147,
+ 228,
+ 17,
+ 205,
+ 183,
+ 64,
+ 37,
+ 199,
+ 117,
+ 156,
+ 3,
+ 141,
+ 135,
+ 35,
+ 68,
+ 164,
+ 92,
+ 229,
+ 109,
+ 146,
+ 165,
+ 129,
+ 134,
+ 44,
+ 59,
+ 172,
+ 224,
+ 57,
+ 9,
+ 10,
+ 44,
+ 207,
+ 164,
+ 59,
+ 98,
+ 61,
+ 203
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 180,
+ 188,
+ 156,
+ 225,
+ 71,
+ 93,
+ 12,
+ 147,
+ 223,
+ 213,
+ 165,
+ 216,
+ 212,
+ 91,
+ 216,
+ 229
+ ]
+ },
+ {
+ "key": [
+ 238,
+ 235,
+ 51,
+ 224,
+ 200,
+ 164,
+ 6,
+ 234,
+ 35,
+ 106,
+ 7,
+ 92,
+ 219,
+ 233,
+ 214,
+ 249
+ ],
+ "nonce": [
+ 185,
+ 53,
+ 232,
+ 238,
+ 214,
+ 98,
+ 39,
+ 131,
+ 110,
+ 222,
+ 24,
+ 154
+ ],
+ "aad": [
+ 154,
+ 66,
+ 145,
+ 172,
+ 185,
+ 146,
+ 75,
+ 186,
+ 66,
+ 65,
+ 176,
+ 201,
+ 195,
+ 194,
+ 225,
+ 38,
+ 43,
+ 37,
+ 167,
+ 199,
+ 240,
+ 44,
+ 146,
+ 173,
+ 234,
+ 223,
+ 146,
+ 37,
+ 77,
+ 97,
+ 138,
+ 181,
+ 147,
+ 136,
+ 170,
+ 48,
+ 180,
+ 126,
+ 175,
+ 165,
+ 136,
+ 153,
+ 195,
+ 87,
+ 207,
+ 40,
+ 30,
+ 49
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 20,
+ 61,
+ 105,
+ 84,
+ 235,
+ 111,
+ 231,
+ 10,
+ 255,
+ 112,
+ 218,
+ 151,
+ 140,
+ 205,
+ 69,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 96,
+ 11,
+ 84,
+ 66,
+ 160,
+ 181,
+ 80,
+ 163,
+ 143,
+ 133,
+ 210,
+ 251,
+ 10,
+ 204,
+ 156,
+ 150
+ ],
+ "nonce": [
+ 94,
+ 101,
+ 221,
+ 110,
+ 139,
+ 32,
+ 214,
+ 178,
+ 147,
+ 31,
+ 230,
+ 194
+ ],
+ "aad": [
+ 70,
+ 30,
+ 84,
+ 160,
+ 146,
+ 248,
+ 57,
+ 36,
+ 102,
+ 132,
+ 159,
+ 176,
+ 55,
+ 10,
+ 227,
+ 12,
+ 20,
+ 193,
+ 191,
+ 57,
+ 135,
+ 171,
+ 46,
+ 187,
+ 233,
+ 142,
+ 24,
+ 209,
+ 63,
+ 4,
+ 29,
+ 9,
+ 208,
+ 67,
+ 247,
+ 174,
+ 167,
+ 139,
+ 252,
+ 196,
+ 47,
+ 134,
+ 74,
+ 159,
+ 180,
+ 15,
+ 0,
+ 49
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 44,
+ 214,
+ 38,
+ 249,
+ 160,
+ 104,
+ 99,
+ 0,
+ 207,
+ 35,
+ 192,
+ 188,
+ 89,
+ 124,
+ 99,
+ 180
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 141,
+ 17,
+ 3,
+ 16,
+ 15,
+ 162,
+ 144,
+ 249,
+ 83,
+ 251,
+ 180,
+ 57,
+ 239,
+ 222,
+ 228
+ ],
+ "nonce": [
+ 72,
+ 116,
+ 198,
+ 248,
+ 8,
+ 35,
+ 102,
+ 252,
+ 126,
+ 73,
+ 185,
+ 51
+ ],
+ "aad": [
+ 214,
+ 157,
+ 3,
+ 60,
+ 50,
+ 2,
+ 151,
+ 137,
+ 38,
+ 60,
+ 104,
+ 158,
+ 17,
+ 255,
+ 126,
+ 158,
+ 142,
+ 239,
+ 196,
+ 141,
+ 219,
+ 196,
+ 225,
+ 14,
+ 234,
+ 225,
+ 201,
+ 237,
+ 187,
+ 68,
+ 240,
+ 78,
+ 124,
+ 198,
+ 71,
+ 21,
+ 1,
+ 234,
+ 221,
+ 163,
+ 148,
+ 10,
+ 180,
+ 51,
+ 208,
+ 168,
+ 194,
+ 16
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 165,
+ 150,
+ 75,
+ 119,
+ 175,
+ 11,
+ 138,
+ 236,
+ 216,
+ 68,
+ 214,
+ 173,
+ 236,
+ 139,
+ 123,
+ 28
+ ]
+ },
+ {
+ "key": [
+ 174,
+ 113,
+ 20,
+ 192,
+ 159,
+ 250,
+ 4,
+ 41,
+ 136,
+ 52,
+ 65,
+ 47,
+ 106,
+ 141,
+ 228,
+ 83
+ ],
+ "nonce": [
+ 243,
+ 128,
+ 194,
+ 216,
+ 96,
+ 190,
+ 42,
+ 244,
+ 30,
+ 27,
+ 229,
+ 198
+ ],
+ "aad": [
+ 126,
+ 22,
+ 8,
+ 47,
+ 104,
+ 156,
+ 99,
+ 232,
+ 173,
+ 221,
+ 213,
+ 203,
+ 45,
+ 166,
+ 16,
+ 187,
+ 251,
+ 136,
+ 208,
+ 115,
+ 207,
+ 139,
+ 32,
+ 67,
+ 132,
+ 169,
+ 55,
+ 170,
+ 176,
+ 55,
+ 101,
+ 35,
+ 165,
+ 13,
+ 61,
+ 95,
+ 19,
+ 146,
+ 151,
+ 143,
+ 121,
+ 96,
+ 159,
+ 18,
+ 223,
+ 143,
+ 194,
+ 136
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 64,
+ 211,
+ 163,
+ 99,
+ 88,
+ 166,
+ 246,
+ 202,
+ 170,
+ 106,
+ 249,
+ 44,
+ 253,
+ 135,
+ 74,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 216,
+ 245,
+ 32,
+ 182,
+ 243,
+ 207,
+ 107,
+ 131,
+ 92,
+ 228,
+ 204,
+ 228,
+ 143,
+ 76,
+ 176,
+ 51
+ ],
+ "nonce": [
+ 1,
+ 154,
+ 85,
+ 201,
+ 134,
+ 21,
+ 192,
+ 34,
+ 175,
+ 255,
+ 150,
+ 68
+ ],
+ "aad": [
+ 195,
+ 251,
+ 81,
+ 141,
+ 219,
+ 45,
+ 115,
+ 65,
+ 126,
+ 36,
+ 51,
+ 89,
+ 160,
+ 237,
+ 140,
+ 18,
+ 103,
+ 80,
+ 235,
+ 22,
+ 62,
+ 123,
+ 216,
+ 69,
+ 99,
+ 113,
+ 89,
+ 57,
+ 112,
+ 117,
+ 227,
+ 219,
+ 29,
+ 183,
+ 47,
+ 226,
+ 240,
+ 225,
+ 59,
+ 89,
+ 156,
+ 51,
+ 60,
+ 71,
+ 63,
+ 235,
+ 34,
+ 69
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 70,
+ 124,
+ 250,
+ 213,
+ 175,
+ 17,
+ 133,
+ 45,
+ 110,
+ 202,
+ 40,
+ 156,
+ 134,
+ 249,
+ 103,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 19,
+ 186,
+ 149,
+ 96,
+ 107,
+ 1,
+ 175,
+ 3,
+ 91,
+ 249,
+ 97,
+ 227,
+ 152,
+ 82,
+ 227,
+ 75
+ ],
+ "nonce": [
+ 158,
+ 201,
+ 207,
+ 59,
+ 0,
+ 44,
+ 254,
+ 217,
+ 231,
+ 97,
+ 147,
+ 79
+ ],
+ "aad": [
+ 187,
+ 157,
+ 229,
+ 99,
+ 131,
+ 109,
+ 31,
+ 27,
+ 29,
+ 233,
+ 100,
+ 81,
+ 78,
+ 206,
+ 187,
+ 138,
+ 209,
+ 5,
+ 1,
+ 219,
+ 86,
+ 34,
+ 128,
+ 183,
+ 189,
+ 152,
+ 128,
+ 72,
+ 20,
+ 115,
+ 88,
+ 23,
+ 144,
+ 139,
+ 40,
+ 86,
+ 202,
+ 250,
+ 222,
+ 205,
+ 64,
+ 176,
+ 72,
+ 50,
+ 251,
+ 222,
+ 43,
+ 251
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 23,
+ 42,
+ 59,
+ 203,
+ 197,
+ 0,
+ 29,
+ 253,
+ 56,
+ 21,
+ 23,
+ 90,
+ 136,
+ 247,
+ 5,
+ 108
+ ]
+ },
+ {
+ "key": [
+ 28,
+ 151,
+ 218,
+ 95,
+ 197,
+ 169,
+ 100,
+ 15,
+ 40,
+ 150,
+ 34,
+ 132,
+ 36,
+ 8,
+ 203,
+ 162
+ ],
+ "nonce": [
+ 109,
+ 118,
+ 90,
+ 152,
+ 142,
+ 147,
+ 69,
+ 136,
+ 22,
+ 62,
+ 41,
+ 183
+ ],
+ "aad": [
+ 16,
+ 38,
+ 165,
+ 144,
+ 129,
+ 109,
+ 46,
+ 26,
+ 166,
+ 122,
+ 160,
+ 209,
+ 61,
+ 80,
+ 168,
+ 65,
+ 58,
+ 244,
+ 216,
+ 238,
+ 155,
+ 31,
+ 165,
+ 206,
+ 184,
+ 222,
+ 172,
+ 201,
+ 244,
+ 30,
+ 142,
+ 118,
+ 75,
+ 58,
+ 193,
+ 95,
+ 152,
+ 41,
+ 94,
+ 136,
+ 0,
+ 173,
+ 246,
+ 167,
+ 23,
+ 84,
+ 72,
+ 205
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 73,
+ 69,
+ 167,
+ 157,
+ 94,
+ 219,
+ 185,
+ 52,
+ 197,
+ 207,
+ 148,
+ 57,
+ 92,
+ 53,
+ 157,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 141,
+ 212,
+ 111,
+ 39,
+ 26,
+ 32,
+ 28,
+ 194,
+ 28,
+ 160,
+ 130,
+ 50,
+ 72,
+ 21,
+ 126,
+ 107
+ ],
+ "nonce": [
+ 24,
+ 33,
+ 179,
+ 16,
+ 206,
+ 45,
+ 186,
+ 153,
+ 156,
+ 223,
+ 117,
+ 118
+ ],
+ "aad": [
+ 52,
+ 186,
+ 64,
+ 153,
+ 151,
+ 206,
+ 186,
+ 6,
+ 95,
+ 74,
+ 84,
+ 87,
+ 7,
+ 138,
+ 158,
+ 35,
+ 42,
+ 132,
+ 245,
+ 148,
+ 1,
+ 26,
+ 236,
+ 253,
+ 191,
+ 189,
+ 36,
+ 168,
+ 2,
+ 202,
+ 18,
+ 158,
+ 1,
+ 203,
+ 19,
+ 39,
+ 226,
+ 101,
+ 180,
+ 169,
+ 0,
+ 79,
+ 180,
+ 197,
+ 0,
+ 63,
+ 255,
+ 211
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 48,
+ 76,
+ 194,
+ 205,
+ 47,
+ 205,
+ 212,
+ 171,
+ 200,
+ 68,
+ 188,
+ 156,
+ 28,
+ 190,
+ 2,
+ 65
+ ]
+ },
+ {
+ "key": [
+ 12,
+ 84,
+ 93,
+ 149,
+ 51,
+ 59,
+ 106,
+ 207,
+ 139,
+ 41,
+ 40,
+ 243,
+ 239,
+ 208,
+ 131,
+ 222
+ ],
+ "nonce": [
+ 49,
+ 222,
+ 137,
+ 208,
+ 126,
+ 117,
+ 119,
+ 149,
+ 111,
+ 169,
+ 94,
+ 243
+ ],
+ "aad": [
+ 85,
+ 116,
+ 214,
+ 95,
+ 90,
+ 255,
+ 251,
+ 45,
+ 49,
+ 204,
+ 168,
+ 245,
+ 140,
+ 245,
+ 148,
+ 91,
+ 131,
+ 85,
+ 60,
+ 212,
+ 93,
+ 45,
+ 186,
+ 14,
+ 5,
+ 250,
+ 84,
+ 228,
+ 42,
+ 163,
+ 245,
+ 160,
+ 81,
+ 225,
+ 98,
+ 77,
+ 225,
+ 109,
+ 75,
+ 147,
+ 203,
+ 171,
+ 121,
+ 136,
+ 198,
+ 217,
+ 95,
+ 140
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 78,
+ 217,
+ 28,
+ 254,
+ 144,
+ 164,
+ 153,
+ 0,
+ 224,
+ 86,
+ 86,
+ 151,
+ 188,
+ 130,
+ 182,
+ 89
+ ]
+ },
+ {
+ "key": [
+ 121,
+ 11,
+ 57,
+ 243,
+ 1,
+ 56,
+ 58,
+ 130,
+ 179,
+ 119,
+ 245,
+ 133,
+ 211,
+ 191,
+ 15,
+ 38
+ ],
+ "nonce": [
+ 47,
+ 217,
+ 193,
+ 66,
+ 181,
+ 252,
+ 98,
+ 232,
+ 126,
+ 255,
+ 241,
+ 253
+ ],
+ "aad": [
+ 69,
+ 99,
+ 78,
+ 10,
+ 252,
+ 89,
+ 174,
+ 159,
+ 110,
+ 48,
+ 247,
+ 245,
+ 254,
+ 67,
+ 207,
+ 90,
+ 78,
+ 31,
+ 120,
+ 208,
+ 174,
+ 187,
+ 158,
+ 90,
+ 122,
+ 217,
+ 216,
+ 111,
+ 37,
+ 39,
+ 142,
+ 82,
+ 31,
+ 72,
+ 69,
+ 212,
+ 157,
+ 108,
+ 181,
+ 51,
+ 202,
+ 198,
+ 67,
+ 152,
+ 57,
+ 100,
+ 127,
+ 208
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 105,
+ 99,
+ 124,
+ 63,
+ 146,
+ 51,
+ 218,
+ 35,
+ 248,
+ 223,
+ 123,
+ 9,
+ 232,
+ 207,
+ 178,
+ 82
+ ]
+ },
+ {
+ "key": [
+ 143,
+ 99,
+ 101,
+ 38,
+ 50,
+ 208,
+ 123,
+ 42,
+ 74,
+ 131,
+ 194,
+ 109,
+ 237,
+ 211,
+ 38,
+ 87
+ ],
+ "nonce": [
+ 116,
+ 123,
+ 238,
+ 14,
+ 29,
+ 70,
+ 42,
+ 144,
+ 22,
+ 241,
+ 70,
+ 141
+ ],
+ "aad": [
+ 156,
+ 0,
+ 255,
+ 150,
+ 155,
+ 85,
+ 164,
+ 151,
+ 220,
+ 82,
+ 63,
+ 160,
+ 206,
+ 218,
+ 163,
+ 57,
+ 220,
+ 60,
+ 108,
+ 225,
+ 142,
+ 97,
+ 199,
+ 191,
+ 128,
+ 12,
+ 54,
+ 18,
+ 1,
+ 53,
+ 27,
+ 196,
+ 151,
+ 40,
+ 195,
+ 187,
+ 21,
+ 6,
+ 126,
+ 144,
+ 97,
+ 98,
+ 238,
+ 121,
+ 27,
+ 141,
+ 51,
+ 58
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 189,
+ 90,
+ 12,
+ 191,
+ 133,
+ 154,
+ 97,
+ 51,
+ 167,
+ 242,
+ 213,
+ 4,
+ 217,
+ 124,
+ 174,
+ 5
+ ]
+ },
+ {
+ "key": [
+ 32,
+ 181,
+ 182,
+ 184,
+ 84,
+ 225,
+ 135,
+ 176,
+ 88,
+ 168,
+ 77,
+ 87,
+ 188,
+ 21,
+ 56,
+ 182
+ ],
+ "nonce": [
+ 148,
+ 193,
+ 147,
+ 90,
+ 252,
+ 6,
+ 28,
+ 191,
+ 37,
+ 75,
+ 147,
+ 111
+ ],
+ "aad": [
+ 202,
+ 65,
+ 142,
+ 113,
+ 219,
+ 248,
+ 16,
+ 3,
+ 129,
+ 116,
+ 234,
+ 163,
+ 113,
+ 155,
+ 63,
+ 203,
+ 128,
+ 83,
+ 28,
+ 113,
+ 16,
+ 173,
+ 145,
+ 146,
+ 209,
+ 5,
+ 238,
+ 170,
+ 250,
+ 21,
+ 184,
+ 25,
+ 172,
+ 0,
+ 86,
+ 104,
+ 117,
+ 43,
+ 52,
+ 78,
+ 209,
+ 178,
+ 47,
+ 175,
+ 119,
+ 4,
+ 139,
+ 175,
+ 3,
+ 219,
+ 221,
+ 179,
+ 180,
+ 125,
+ 107,
+ 0,
+ 233,
+ 92,
+ 79,
+ 0,
+ 94,
+ 12,
+ 201,
+ 183,
+ 98,
+ 124,
+ 202,
+ 253,
+ 63,
+ 33,
+ 179,
+ 49,
+ 42,
+ 168,
+ 217,
+ 29,
+ 63,
+ 160,
+ 137,
+ 63,
+ 229,
+ 191,
+ 247,
+ 212,
+ 76,
+ 164,
+ 111,
+ 35,
+ 175,
+ 224
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 179,
+ 114,
+ 134,
+ 235,
+ 175,
+ 74,
+ 84,
+ 224,
+ 255,
+ 194,
+ 161,
+ 222,
+ 175,
+ 201,
+ 246,
+ 219
+ ]
+ },
+ {
+ "key": [
+ 122,
+ 165,
+ 49,
+ 136,
+ 169,
+ 197,
+ 151,
+ 18,
+ 106,
+ 16,
+ 210,
+ 72,
+ 96,
+ 62,
+ 187,
+ 98
+ ],
+ "nonce": [
+ 170,
+ 69,
+ 202,
+ 93,
+ 172,
+ 65,
+ 168,
+ 37,
+ 196,
+ 93,
+ 54,
+ 191
+ ],
+ "aad": [
+ 65,
+ 127,
+ 213,
+ 20,
+ 125,
+ 86,
+ 222,
+ 12,
+ 116,
+ 50,
+ 149,
+ 151,
+ 130,
+ 78,
+ 194,
+ 120,
+ 138,
+ 52,
+ 79,
+ 182,
+ 11,
+ 64,
+ 62,
+ 223,
+ 1,
+ 135,
+ 175,
+ 161,
+ 46,
+ 114,
+ 160,
+ 80,
+ 9,
+ 187,
+ 112,
+ 248,
+ 60,
+ 202,
+ 209,
+ 30,
+ 250,
+ 72,
+ 124,
+ 25,
+ 101,
+ 207,
+ 132,
+ 254,
+ 172,
+ 6,
+ 124,
+ 31,
+ 253,
+ 191,
+ 83,
+ 31,
+ 202,
+ 151,
+ 197,
+ 84,
+ 248,
+ 117,
+ 196,
+ 161,
+ 161,
+ 211,
+ 171,
+ 60,
+ 83,
+ 200,
+ 167,
+ 78,
+ 243,
+ 238,
+ 148,
+ 21,
+ 168,
+ 126,
+ 35,
+ 22,
+ 153,
+ 200,
+ 45,
+ 118,
+ 77,
+ 235,
+ 237,
+ 161,
+ 129,
+ 50
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 153,
+ 123,
+ 248,
+ 70,
+ 84,
+ 187,
+ 150,
+ 22,
+ 192,
+ 204,
+ 155,
+ 69,
+ 248,
+ 44,
+ 118,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 181,
+ 132,
+ 142,
+ 209,
+ 210,
+ 186,
+ 219,
+ 212,
+ 39,
+ 225,
+ 111,
+ 195,
+ 179,
+ 228,
+ 77
+ ],
+ "nonce": [
+ 168,
+ 76,
+ 126,
+ 146,
+ 141,
+ 198,
+ 230,
+ 55,
+ 154,
+ 81,
+ 58,
+ 32
+ ],
+ "aad": [
+ 28,
+ 13,
+ 252,
+ 236,
+ 189,
+ 123,
+ 176,
+ 230,
+ 128,
+ 206,
+ 4,
+ 45,
+ 8,
+ 178,
+ 217,
+ 167,
+ 65,
+ 38,
+ 123,
+ 209,
+ 218,
+ 118,
+ 141,
+ 242,
+ 186,
+ 8,
+ 55,
+ 146,
+ 51,
+ 169,
+ 151,
+ 63,
+ 20,
+ 146,
+ 142,
+ 157,
+ 166,
+ 53,
+ 55,
+ 104,
+ 185,
+ 178,
+ 96,
+ 28,
+ 3,
+ 63,
+ 217,
+ 100,
+ 177,
+ 106,
+ 22,
+ 218,
+ 170,
+ 62,
+ 163,
+ 90,
+ 215,
+ 206,
+ 247,
+ 227,
+ 30,
+ 177,
+ 247,
+ 52,
+ 10,
+ 163,
+ 78,
+ 139,
+ 252,
+ 8,
+ 176,
+ 166,
+ 230,
+ 32,
+ 82,
+ 146,
+ 87,
+ 12,
+ 237,
+ 67,
+ 49,
+ 104,
+ 118,
+ 208,
+ 212,
+ 153,
+ 217,
+ 25,
+ 46,
+ 107
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 39,
+ 12,
+ 215,
+ 134,
+ 185,
+ 94,
+ 104,
+ 32,
+ 205,
+ 182,
+ 90,
+ 35,
+ 27,
+ 117,
+ 48,
+ 237
+ ]
+ },
+ {
+ "key": [
+ 109,
+ 5,
+ 18,
+ 235,
+ 242,
+ 231,
+ 61,
+ 99,
+ 244,
+ 40,
+ 73,
+ 197,
+ 127,
+ 7,
+ 63,
+ 208
+ ],
+ "nonce": [
+ 193,
+ 196,
+ 105,
+ 39,
+ 199,
+ 76,
+ 3,
+ 241,
+ 147,
+ 66,
+ 195,
+ 58
+ ],
+ "aad": [
+ 40,
+ 191,
+ 137,
+ 3,
+ 178,
+ 223,
+ 183,
+ 230,
+ 159,
+ 26,
+ 115,
+ 81,
+ 33,
+ 199,
+ 239,
+ 233,
+ 164,
+ 196,
+ 43,
+ 106,
+ 41,
+ 83,
+ 39,
+ 188,
+ 235,
+ 2,
+ 70,
+ 200,
+ 93,
+ 120,
+ 44,
+ 230,
+ 43,
+ 240,
+ 117,
+ 219,
+ 223,
+ 110,
+ 142,
+ 198,
+ 88,
+ 156,
+ 38,
+ 211,
+ 6,
+ 150,
+ 204,
+ 206,
+ 239,
+ 3,
+ 135,
+ 11,
+ 208,
+ 171,
+ 253,
+ 38,
+ 211,
+ 6,
+ 0,
+ 234,
+ 252,
+ 101,
+ 97,
+ 55,
+ 64,
+ 181,
+ 77,
+ 119,
+ 125,
+ 55,
+ 158,
+ 138,
+ 172,
+ 242,
+ 65,
+ 236,
+ 251,
+ 161,
+ 27,
+ 6,
+ 1,
+ 134,
+ 172,
+ 6,
+ 93,
+ 177,
+ 113,
+ 170,
+ 176,
+ 153
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 166,
+ 134,
+ 245,
+ 148,
+ 28,
+ 235,
+ 81,
+ 14,
+ 18,
+ 106,
+ 99,
+ 22,
+ 227,
+ 64,
+ 77,
+ 192
+ ]
+ },
+ {
+ "key": [
+ 100,
+ 56,
+ 188,
+ 121,
+ 82,
+ 13,
+ 239,
+ 93,
+ 181,
+ 142,
+ 73,
+ 99,
+ 151,
+ 116,
+ 104,
+ 122
+ ],
+ "nonce": [
+ 214,
+ 130,
+ 180,
+ 116,
+ 24,
+ 206,
+ 181,
+ 188,
+ 9,
+ 199,
+ 19,
+ 194
+ ],
+ "aad": [
+ 210,
+ 82,
+ 177,
+ 100,
+ 174,
+ 85,
+ 158,
+ 209,
+ 85,
+ 200,
+ 65,
+ 123,
+ 150,
+ 101,
+ 37,
+ 41,
+ 223,
+ 21,
+ 31,
+ 36,
+ 204,
+ 241,
+ 206,
+ 152,
+ 208,
+ 199,
+ 221,
+ 242,
+ 147,
+ 244,
+ 241,
+ 35,
+ 102,
+ 48,
+ 161,
+ 155,
+ 36,
+ 220,
+ 35,
+ 151,
+ 141,
+ 51,
+ 119,
+ 160,
+ 153,
+ 6,
+ 93,
+ 11,
+ 167,
+ 29,
+ 75,
+ 184,
+ 167,
+ 220,
+ 12,
+ 183,
+ 103,
+ 96,
+ 202,
+ 124,
+ 74,
+ 14,
+ 18,
+ 200,
+ 203,
+ 86,
+ 198,
+ 16,
+ 38,
+ 70,
+ 50,
+ 60,
+ 8,
+ 196,
+ 244,
+ 245,
+ 98,
+ 38,
+ 253,
+ 91,
+ 113,
+ 168,
+ 69,
+ 144,
+ 145,
+ 58,
+ 210,
+ 13,
+ 162,
+ 135
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 4,
+ 231,
+ 135,
+ 150,
+ 219,
+ 244,
+ 46,
+ 159,
+ 250,
+ 107,
+ 185,
+ 227,
+ 70,
+ 88,
+ 31,
+ 19
+ ]
+ },
+ {
+ "key": [
+ 17,
+ 122,
+ 10,
+ 165,
+ 146,
+ 255,
+ 241,
+ 122,
+ 227,
+ 108,
+ 148,
+ 145,
+ 125,
+ 177,
+ 108,
+ 101
+ ],
+ "nonce": [
+ 195,
+ 83,
+ 123,
+ 230,
+ 2,
+ 157,
+ 84,
+ 255,
+ 239,
+ 171,
+ 39,
+ 48
+ ],
+ "aad": [
+ 41,
+ 233,
+ 89,
+ 185,
+ 104,
+ 23,
+ 84,
+ 122,
+ 224,
+ 107,
+ 248,
+ 95,
+ 225,
+ 100,
+ 232,
+ 42,
+ 38,
+ 147,
+ 248,
+ 42,
+ 122,
+ 235,
+ 102,
+ 213,
+ 53,
+ 240,
+ 210,
+ 195,
+ 191,
+ 253,
+ 27,
+ 161,
+ 142,
+ 148,
+ 239,
+ 69,
+ 121,
+ 57,
+ 240,
+ 192,
+ 115,
+ 62,
+ 218,
+ 71,
+ 56,
+ 209,
+ 54,
+ 56,
+ 15,
+ 200,
+ 118,
+ 7,
+ 92,
+ 73,
+ 67,
+ 34,
+ 2,
+ 55,
+ 165,
+ 146,
+ 155,
+ 1,
+ 179,
+ 45,
+ 162,
+ 188,
+ 42,
+ 106,
+ 253,
+ 106,
+ 225,
+ 216,
+ 159,
+ 212,
+ 112,
+ 9,
+ 56,
+ 53,
+ 150,
+ 47,
+ 246,
+ 112,
+ 139,
+ 179,
+ 155,
+ 163,
+ 101,
+ 32,
+ 47,
+ 86
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 184,
+ 127,
+ 204,
+ 77,
+ 92,
+ 72,
+ 78,
+ 104,
+ 234,
+ 82,
+ 192,
+ 27,
+ 85,
+ 255,
+ 164,
+ 56
+ ]
+ },
+ {
+ "key": [
+ 93,
+ 153,
+ 90,
+ 51,
+ 142,
+ 214,
+ 15,
+ 138,
+ 176,
+ 181,
+ 157,
+ 166,
+ 201,
+ 164,
+ 12,
+ 82
+ ],
+ "nonce": [
+ 39,
+ 35,
+ 197,
+ 78,
+ 49,
+ 197,
+ 197,
+ 127,
+ 2,
+ 54,
+ 232,
+ 22
+ ],
+ "aad": [
+ 35,
+ 156,
+ 128,
+ 104,
+ 63,
+ 235,
+ 106,
+ 253,
+ 56,
+ 248,
+ 117,
+ 154,
+ 39,
+ 203,
+ 95,
+ 53,
+ 15,
+ 188,
+ 47,
+ 117,
+ 120,
+ 56,
+ 196,
+ 8,
+ 88,
+ 201,
+ 208,
+ 143,
+ 105,
+ 156,
+ 197,
+ 108,
+ 66,
+ 54,
+ 244,
+ 167,
+ 123,
+ 216,
+ 13,
+ 240,
+ 232,
+ 228,
+ 29,
+ 95,
+ 155,
+ 167,
+ 50,
+ 219,
+ 46,
+ 10,
+ 58,
+ 94,
+ 149,
+ 46,
+ 222,
+ 123,
+ 253,
+ 213,
+ 252,
+ 190,
+ 189,
+ 35,
+ 208,
+ 114,
+ 113,
+ 19,
+ 77,
+ 181,
+ 184,
+ 36,
+ 97,
+ 83,
+ 124,
+ 71,
+ 226,
+ 202,
+ 81,
+ 179,
+ 72,
+ 176,
+ 131,
+ 15,
+ 94,
+ 229,
+ 117,
+ 173,
+ 75,
+ 68,
+ 20,
+ 220
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 148,
+ 53,
+ 106,
+ 59,
+ 250,
+ 240,
+ 127,
+ 46,
+ 240,
+ 235,
+ 227,
+ 165,
+ 7,
+ 7,
+ 107,
+ 22
+ ]
+ },
+ {
+ "key": [
+ 200,
+ 168,
+ 99,
+ 161,
+ 235,
+ 175,
+ 16,
+ 192,
+ 252,
+ 14,
+ 128,
+ 223,
+ 18,
+ 68,
+ 78,
+ 110
+ ],
+ "nonce": [
+ 195,
+ 232,
+ 205,
+ 240,
+ 134,
+ 130,
+ 127,
+ 238,
+ 112,
+ 149,
+ 208,
+ 234
+ ],
+ "aad": [
+ 153,
+ 39,
+ 218,
+ 136,
+ 197,
+ 211,
+ 54,
+ 37,
+ 102,
+ 153,
+ 199,
+ 104,
+ 69,
+ 233,
+ 70,
+ 220,
+ 83,
+ 200,
+ 123,
+ 240,
+ 225,
+ 30,
+ 75,
+ 236,
+ 148,
+ 80,
+ 152,
+ 22,
+ 2,
+ 179,
+ 32,
+ 16,
+ 210,
+ 181,
+ 43,
+ 252,
+ 145,
+ 40,
+ 58,
+ 99,
+ 41,
+ 212,
+ 85,
+ 89,
+ 137,
+ 152,
+ 237,
+ 226,
+ 230,
+ 30,
+ 53,
+ 46,
+ 85,
+ 49,
+ 16,
+ 21,
+ 75,
+ 77,
+ 165,
+ 206,
+ 102,
+ 141,
+ 102,
+ 75,
+ 131,
+ 246,
+ 113,
+ 192,
+ 16,
+ 191,
+ 34,
+ 11,
+ 125,
+ 50,
+ 179,
+ 79,
+ 76,
+ 166,
+ 155,
+ 102,
+ 204,
+ 135,
+ 35,
+ 61,
+ 121,
+ 35,
+ 55,
+ 203,
+ 43,
+ 255
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 9,
+ 136,
+ 55,
+ 222,
+ 39,
+ 112,
+ 126,
+ 163,
+ 89,
+ 62,
+ 49,
+ 206,
+ 184,
+ 39,
+ 103,
+ 50
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 204,
+ 40,
+ 177,
+ 97,
+ 242,
+ 20,
+ 165,
+ 128,
+ 230,
+ 186,
+ 75,
+ 194,
+ 227,
+ 222,
+ 157
+ ],
+ "nonce": [
+ 242,
+ 165,
+ 102,
+ 249,
+ 207,
+ 131,
+ 253,
+ 40,
+ 12,
+ 143,
+ 224,
+ 142
+ ],
+ "aad": [
+ 248,
+ 197,
+ 38,
+ 58,
+ 78,
+ 6,
+ 180,
+ 158,
+ 24,
+ 69,
+ 137,
+ 161,
+ 224,
+ 113,
+ 151,
+ 134,
+ 67,
+ 195,
+ 83,
+ 170,
+ 39,
+ 180,
+ 129,
+ 127,
+ 227,
+ 158,
+ 69,
+ 171,
+ 196,
+ 66,
+ 226,
+ 42,
+ 181,
+ 214,
+ 131,
+ 188,
+ 238,
+ 93,
+ 187,
+ 213,
+ 137,
+ 250,
+ 88,
+ 63,
+ 23,
+ 27,
+ 181,
+ 149,
+ 54,
+ 173,
+ 221,
+ 43,
+ 108,
+ 239,
+ 212,
+ 152,
+ 35,
+ 65,
+ 48,
+ 5,
+ 239,
+ 178,
+ 166,
+ 101,
+ 226,
+ 106,
+ 96,
+ 41,
+ 201,
+ 39,
+ 211,
+ 137,
+ 28,
+ 176,
+ 212,
+ 242,
+ 62,
+ 140,
+ 204,
+ 96,
+ 207,
+ 208,
+ 44,
+ 232,
+ 151,
+ 140,
+ 69,
+ 29,
+ 220,
+ 17
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 201,
+ 200,
+ 6,
+ 203,
+ 139,
+ 26,
+ 136,
+ 152,
+ 9,
+ 105,
+ 92,
+ 46,
+ 197,
+ 167,
+ 168,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 187,
+ 243,
+ 89,
+ 32,
+ 252,
+ 171,
+ 44,
+ 237,
+ 170,
+ 253,
+ 243,
+ 240,
+ 3,
+ 33,
+ 245,
+ 68
+ ],
+ "nonce": [
+ 44,
+ 126,
+ 227,
+ 255,
+ 29,
+ 248,
+ 79,
+ 54,
+ 80,
+ 188,
+ 146,
+ 152
+ ],
+ "aad": [
+ 167,
+ 95,
+ 80,
+ 186,
+ 154,
+ 80,
+ 244,
+ 135,
+ 153,
+ 89,
+ 75,
+ 97,
+ 149,
+ 179,
+ 18,
+ 94,
+ 217,
+ 45,
+ 247,
+ 49,
+ 68,
+ 191,
+ 203,
+ 98,
+ 76,
+ 230,
+ 115,
+ 35,
+ 216,
+ 52,
+ 186,
+ 26,
+ 250,
+ 240,
+ 223,
+ 76,
+ 108,
+ 2,
+ 44,
+ 17,
+ 212,
+ 139,
+ 215,
+ 92,
+ 134,
+ 103,
+ 90,
+ 89,
+ 39,
+ 172,
+ 18,
+ 80,
+ 3,
+ 15,
+ 114,
+ 15,
+ 151,
+ 73,
+ 141,
+ 79,
+ 224,
+ 120,
+ 123,
+ 174,
+ 101,
+ 93,
+ 197,
+ 83,
+ 122,
+ 193,
+ 188,
+ 172,
+ 25,
+ 138,
+ 137,
+ 63,
+ 154,
+ 247,
+ 194,
+ 239,
+ 155,
+ 151,
+ 29,
+ 214,
+ 79,
+ 126,
+ 123,
+ 98,
+ 96,
+ 62
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 199,
+ 205,
+ 63,
+ 147,
+ 143,
+ 74,
+ 177,
+ 134,
+ 66,
+ 216,
+ 98,
+ 52,
+ 237,
+ 252,
+ 23,
+ 237
+ ]
+ },
+ {
+ "key": [
+ 150,
+ 144,
+ 222,
+ 102,
+ 151,
+ 2,
+ 186,
+ 114,
+ 174,
+ 185,
+ 52,
+ 245,
+ 172,
+ 80,
+ 224,
+ 60
+ ],
+ "nonce": [
+ 218,
+ 135,
+ 19,
+ 254,
+ 43,
+ 32,
+ 88,
+ 196,
+ 56,
+ 175,
+ 242,
+ 96
+ ],
+ "aad": [
+ 243,
+ 14,
+ 233,
+ 80,
+ 218,
+ 55,
+ 199,
+ 34,
+ 75,
+ 92,
+ 147,
+ 233,
+ 162,
+ 156,
+ 175,
+ 219,
+ 248,
+ 226,
+ 7,
+ 15,
+ 101,
+ 194,
+ 38,
+ 36,
+ 75,
+ 26,
+ 104,
+ 52,
+ 89,
+ 224,
+ 197,
+ 193,
+ 28,
+ 155,
+ 119,
+ 200,
+ 252,
+ 40,
+ 109,
+ 66,
+ 152,
+ 165,
+ 185,
+ 205,
+ 31,
+ 238,
+ 62,
+ 19,
+ 212,
+ 105,
+ 10,
+ 136,
+ 120,
+ 13,
+ 53,
+ 181,
+ 88,
+ 181,
+ 217,
+ 229,
+ 43,
+ 26,
+ 103,
+ 252,
+ 136,
+ 87,
+ 7,
+ 102,
+ 145,
+ 220,
+ 167,
+ 245,
+ 254,
+ 142,
+ 242,
+ 32,
+ 101,
+ 204,
+ 93,
+ 156,
+ 0,
+ 63,
+ 253,
+ 37,
+ 235,
+ 226,
+ 62,
+ 97,
+ 68,
+ 14
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 127,
+ 146,
+ 145,
+ 69,
+ 24,
+ 221,
+ 190,
+ 132,
+ 43,
+ 6,
+ 119,
+ 31,
+ 100,
+ 196,
+ 15,
+ 89
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 216,
+ 198,
+ 226,
+ 172,
+ 105,
+ 53,
+ 200,
+ 94,
+ 129,
+ 238,
+ 14,
+ 247,
+ 35,
+ 234,
+ 207
+ ],
+ "nonce": [
+ 199,
+ 49,
+ 64,
+ 238,
+ 144,
+ 204,
+ 29,
+ 207,
+ 136,
+ 69,
+ 125,
+ 162
+ ],
+ "aad": [
+ 246,
+ 194,
+ 103,
+ 166,
+ 174,
+ 92,
+ 227,
+ 207,
+ 75,
+ 205,
+ 245,
+ 156,
+ 253,
+ 31,
+ 119,
+ 124,
+ 102,
+ 19,
+ 62,
+ 14,
+ 196,
+ 119,
+ 39,
+ 133,
+ 243,
+ 62,
+ 95,
+ 168,
+ 0,
+ 211,
+ 16,
+ 178,
+ 75,
+ 87,
+ 115,
+ 188,
+ 96,
+ 58,
+ 118,
+ 179,
+ 15,
+ 195,
+ 35,
+ 40,
+ 168,
+ 228,
+ 15,
+ 2,
+ 248,
+ 35,
+ 168,
+ 19,
+ 169,
+ 228,
+ 180,
+ 250,
+ 199,
+ 38,
+ 233,
+ 146,
+ 193,
+ 131,
+ 189,
+ 8,
+ 21,
+ 17,
+ 28,
+ 29,
+ 58,
+ 53,
+ 136,
+ 74,
+ 78,
+ 255,
+ 50,
+ 2,
+ 123,
+ 166,
+ 13,
+ 186,
+ 103,
+ 155,
+ 70,
+ 154,
+ 243,
+ 27,
+ 197,
+ 12,
+ 5,
+ 145
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 249,
+ 56,
+ 253,
+ 13,
+ 140,
+ 20,
+ 141,
+ 129,
+ 118,
+ 81,
+ 9,
+ 223,
+ 102,
+ 218,
+ 201,
+ 170
+ ]
+ },
+ {
+ "key": [
+ 226,
+ 52,
+ 88,
+ 246,
+ 179,
+ 4,
+ 194,
+ 216,
+ 254,
+ 179,
+ 222,
+ 221,
+ 55,
+ 65,
+ 188,
+ 36
+ ],
+ "nonce": [
+ 70,
+ 25,
+ 3,
+ 107,
+ 80,
+ 186,
+ 1,
+ 47,
+ 229,
+ 11,
+ 225,
+ 215
+ ],
+ "aad": [
+ 116,
+ 191,
+ 220,
+ 107,
+ 196,
+ 191,
+ 195,
+ 141,
+ 102,
+ 107,
+ 152,
+ 92,
+ 254,
+ 4,
+ 60,
+ 103,
+ 121,
+ 139,
+ 45,
+ 185,
+ 143,
+ 20,
+ 146,
+ 104,
+ 219,
+ 162,
+ 68,
+ 54,
+ 202,
+ 184,
+ 62,
+ 154,
+ 145,
+ 242,
+ 68,
+ 255,
+ 197,
+ 116,
+ 140,
+ 147,
+ 248,
+ 223,
+ 51,
+ 154,
+ 226,
+ 75,
+ 164,
+ 49,
+ 140,
+ 80,
+ 218,
+ 1,
+ 26,
+ 179,
+ 104,
+ 211,
+ 22,
+ 124,
+ 22,
+ 229,
+ 3,
+ 48,
+ 155,
+ 1,
+ 53,
+ 26,
+ 17,
+ 241,
+ 77,
+ 6,
+ 124,
+ 198,
+ 118,
+ 155,
+ 153,
+ 137,
+ 199,
+ 217,
+ 82,
+ 227,
+ 49,
+ 80,
+ 17,
+ 238,
+ 46,
+ 160,
+ 52,
+ 219,
+ 140,
+ 184
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 96,
+ 83,
+ 171,
+ 128,
+ 199,
+ 70,
+ 130,
+ 30,
+ 197,
+ 12,
+ 151,
+ 229,
+ 161,
+ 66,
+ 74,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 83,
+ 114,
+ 172,
+ 93,
+ 59,
+ 8,
+ 216,
+ 96,
+ 145,
+ 145,
+ 16,
+ 189,
+ 235,
+ 127,
+ 49,
+ 223
+ ],
+ "nonce": [
+ 6,
+ 202,
+ 151,
+ 157,
+ 140,
+ 37,
+ 13,
+ 155,
+ 123,
+ 228,
+ 85,
+ 115
+ ],
+ "aad": [
+ 225,
+ 249,
+ 88,
+ 131,
+ 78,
+ 99,
+ 199,
+ 92,
+ 140,
+ 117,
+ 139,
+ 175,
+ 170,
+ 47,
+ 37,
+ 126,
+ 165,
+ 104,
+ 157,
+ 13,
+ 85,
+ 184,
+ 119,
+ 180,
+ 214,
+ 123,
+ 139,
+ 115,
+ 194,
+ 92,
+ 226,
+ 78,
+ 155,
+ 9,
+ 75,
+ 151,
+ 109,
+ 185,
+ 32,
+ 161,
+ 89,
+ 150,
+ 141,
+ 169,
+ 211,
+ 60,
+ 81,
+ 26,
+ 168,
+ 153,
+ 154,
+ 186,
+ 66,
+ 184,
+ 187,
+ 136,
+ 110,
+ 101,
+ 69,
+ 221,
+ 16,
+ 134,
+ 147,
+ 21,
+ 10,
+ 243,
+ 87,
+ 73,
+ 107,
+ 181,
+ 137,
+ 139,
+ 78,
+ 143,
+ 114,
+ 93,
+ 80,
+ 239,
+ 71,
+ 74,
+ 251,
+ 131,
+ 106,
+ 51,
+ 88,
+ 218,
+ 34,
+ 23,
+ 187,
+ 147
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 147,
+ 56,
+ 225,
+ 79,
+ 224,
+ 176,
+ 138,
+ 150,
+ 154,
+ 16,
+ 76,
+ 130,
+ 133,
+ 40,
+ 166,
+ 164
+ ]
+ },
+ {
+ "key": [
+ 191,
+ 28,
+ 180,
+ 158,
+ 152,
+ 12,
+ 236,
+ 11,
+ 21,
+ 63,
+ 227,
+ 87,
+ 56,
+ 117,
+ 172,
+ 108
+ ],
+ "nonce": [
+ 84,
+ 38,
+ 102,
+ 157,
+ 37,
+ 82,
+ 64,
+ 54,
+ 251,
+ 232,
+ 30,
+ 137
+ ],
+ "aad": [
+ 179,
+ 54,
+ 148,
+ 151,
+ 102,
+ 233,
+ 148,
+ 138,
+ 126,
+ 111,
+ 54,
+ 162,
+ 211,
+ 119,
+ 184,
+ 74,
+ 37,
+ 196,
+ 180,
+ 152,
+ 135,
+ 148,
+ 243,
+ 222,
+ 171,
+ 122,
+ 244,
+ 177,
+ 74,
+ 18,
+ 218,
+ 198,
+ 65,
+ 226,
+ 95,
+ 226,
+ 174,
+ 159,
+ 245,
+ 52,
+ 80,
+ 172,
+ 225,
+ 81,
+ 58,
+ 205,
+ 11,
+ 40,
+ 74,
+ 73,
+ 11,
+ 69,
+ 95,
+ 4,
+ 244,
+ 10,
+ 249,
+ 68,
+ 24,
+ 200,
+ 121,
+ 46,
+ 193,
+ 160,
+ 152,
+ 63,
+ 177,
+ 217,
+ 163,
+ 29,
+ 147,
+ 220,
+ 62,
+ 210,
+ 199,
+ 94,
+ 106,
+ 108,
+ 224,
+ 146,
+ 17,
+ 30,
+ 171,
+ 173,
+ 3,
+ 155,
+ 172,
+ 42,
+ 73,
+ 246
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 226,
+ 153,
+ 106,
+ 43,
+ 59,
+ 107,
+ 245,
+ 34,
+ 23,
+ 207,
+ 196,
+ 208,
+ 245,
+ 187,
+ 53,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 127,
+ 221,
+ 181,
+ 116,
+ 83,
+ 194,
+ 65,
+ 208,
+ 62,
+ 251,
+ 237,
+ 58,
+ 196,
+ 78,
+ 55,
+ 28
+ ],
+ "nonce": [
+ 238,
+ 40,
+ 58,
+ 63,
+ 199,
+ 85,
+ 117,
+ 227,
+ 62,
+ 253,
+ 72,
+ 135
+ ],
+ "aad": [],
+ "plaintext": [
+ 213,
+ 222,
+ 66,
+ 180,
+ 97,
+ 100,
+ 108,
+ 37,
+ 92,
+ 135,
+ 189,
+ 41,
+ 98,
+ 211,
+ 185,
+ 162
+ ],
+ "ciphertext": [
+ 44,
+ 205,
+ 164,
+ 165,
+ 65,
+ 92,
+ 185,
+ 30,
+ 19,
+ 92,
+ 42,
+ 15,
+ 120,
+ 201,
+ 178,
+ 253
+ ],
+ "tag": [
+ 179,
+ 109,
+ 29,
+ 249,
+ 185,
+ 213,
+ 229,
+ 150,
+ 248,
+ 62,
+ 139,
+ 127,
+ 82,
+ 151,
+ 28,
+ 179
+ ]
+ },
+ {
+ "key": [
+ 171,
+ 114,
+ 199,
+ 123,
+ 151,
+ 203,
+ 95,
+ 233,
+ 163,
+ 130,
+ 217,
+ 254,
+ 129,
+ 255,
+ 219,
+ 237
+ ],
+ "nonce": [
+ 84,
+ 204,
+ 125,
+ 194,
+ 195,
+ 126,
+ 192,
+ 6,
+ 188,
+ 198,
+ 209,
+ 218
+ ],
+ "aad": [],
+ "plaintext": [
+ 0,
+ 124,
+ 94,
+ 91,
+ 62,
+ 89,
+ 223,
+ 36,
+ 167,
+ 195,
+ 85,
+ 88,
+ 79,
+ 193,
+ 81,
+ 141
+ ],
+ "ciphertext": [
+ 14,
+ 27,
+ 222,
+ 32,
+ 106,
+ 7,
+ 169,
+ 194,
+ 193,
+ 182,
+ 83,
+ 0,
+ 248,
+ 198,
+ 73,
+ 151
+ ],
+ "tag": [
+ 43,
+ 68,
+ 1,
+ 52,
+ 102,
+ 151,
+ 19,
+ 140,
+ 122,
+ 72,
+ 145,
+ 238,
+ 89,
+ 134,
+ 125,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 176,
+ 165,
+ 138,
+ 30,
+ 96,
+ 84,
+ 30,
+ 94,
+ 163,
+ 212,
+ 212,
+ 32,
+ 7,
+ 148,
+ 14
+ ],
+ "nonce": [
+ 174,
+ 122,
+ 39,
+ 144,
+ 77,
+ 149,
+ 254,
+ 128,
+ 14,
+ 131,
+ 179,
+ 69
+ ],
+ "aad": [],
+ "plaintext": [
+ 105,
+ 49,
+ 163,
+ 234,
+ 7,
+ 169,
+ 233,
+ 82,
+ 7,
+ 51,
+ 79,
+ 2,
+ 116,
+ 164,
+ 84,
+ 221
+ ],
+ "ciphertext": [
+ 118,
+ 227,
+ 159,
+ 173,
+ 64,
+ 0,
+ 160,
+ 125,
+ 53,
+ 216,
+ 121,
+ 183,
+ 133,
+ 189,
+ 127,
+ 202
+ ],
+ "tag": [
+ 92,
+ 179,
+ 114,
+ 71,
+ 18,
+ 241,
+ 41,
+ 248,
+ 107,
+ 121,
+ 39,
+ 241,
+ 59,
+ 69,
+ 200,
+ 53
+ ]
+ },
+ {
+ "key": [
+ 202,
+ 170,
+ 63,
+ 111,
+ 211,
+ 24,
+ 34,
+ 237,
+ 45,
+ 33,
+ 37,
+ 242,
+ 37,
+ 176,
+ 22,
+ 159
+ ],
+ "nonce": [
+ 127,
+ 109,
+ 144,
+ 65,
+ 72,
+ 62,
+ 140,
+ 20,
+ 18,
+ 250,
+ 85,
+ 42
+ ],
+ "aad": [],
+ "plaintext": [
+ 132,
+ 201,
+ 7,
+ 177,
+ 26,
+ 227,
+ 183,
+ 159,
+ 196,
+ 69,
+ 29,
+ 27,
+ 241,
+ 127,
+ 74,
+ 153
+ ],
+ "ciphertext": [
+ 253,
+ 180,
+ 170,
+ 250,
+ 53,
+ 25,
+ 211,
+ 192,
+ 85,
+ 190,
+ 139,
+ 52,
+ 119,
+ 100,
+ 234,
+ 51
+ ],
+ "tag": [
+ 137,
+ 228,
+ 59,
+ 254,
+ 173,
+ 1,
+ 105,
+ 44,
+ 78,
+ 190,
+ 101,
+ 101,
+ 134,
+ 227,
+ 251,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 2,
+ 200,
+ 232,
+ 29,
+ 235,
+ 197,
+ 99,
+ 233,
+ 156,
+ 210,
+ 98,
+ 191,
+ 198,
+ 75,
+ 14,
+ 17
+ ],
+ "nonce": [
+ 180,
+ 144,
+ 87,
+ 201,
+ 119,
+ 141,
+ 140,
+ 2,
+ 254,
+ 0,
+ 208,
+ 41
+ ],
+ "aad": [],
+ "plaintext": [
+ 202,
+ 42,
+ 81,
+ 233,
+ 208,
+ 94,
+ 150,
+ 230,
+ 241,
+ 209,
+ 76,
+ 237,
+ 54,
+ 129,
+ 28,
+ 92
+ ],
+ "ciphertext": [
+ 93,
+ 182,
+ 2,
+ 251,
+ 49,
+ 187,
+ 146,
+ 104,
+ 210,
+ 51,
+ 190,
+ 224,
+ 221,
+ 107,
+ 135,
+ 174
+ ],
+ "tag": [
+ 120,
+ 157,
+ 43,
+ 226,
+ 204,
+ 112,
+ 183,
+ 195,
+ 137,
+ 179,
+ 25,
+ 18,
+ 225,
+ 192,
+ 160,
+ 65
+ ]
+ },
+ {
+ "key": [
+ 78,
+ 98,
+ 90,
+ 62,
+ 220,
+ 97,
+ 240,
+ 203,
+ 47,
+ 0,
+ 45,
+ 168,
+ 248,
+ 167,
+ 2,
+ 69
+ ],
+ "nonce": [
+ 102,
+ 214,
+ 50,
+ 221,
+ 92,
+ 161,
+ 11,
+ 8,
+ 212,
+ 216,
+ 249,
+ 123
+ ],
+ "aad": [],
+ "plaintext": [
+ 11,
+ 118,
+ 212,
+ 152,
+ 173,
+ 214,
+ 224,
+ 156,
+ 150,
+ 215,
+ 105,
+ 78,
+ 93,
+ 98,
+ 11,
+ 213
+ ],
+ "ciphertext": [
+ 23,
+ 189,
+ 199,
+ 239,
+ 86,
+ 73,
+ 190,
+ 201,
+ 207,
+ 108,
+ 86,
+ 92,
+ 227,
+ 60,
+ 248,
+ 137
+ ],
+ "tag": [
+ 63,
+ 121,
+ 68,
+ 186,
+ 208,
+ 98,
+ 96,
+ 95,
+ 147,
+ 127,
+ 246,
+ 214,
+ 89,
+ 138,
+ 118,
+ 81
+ ]
+ },
+ {
+ "key": [
+ 65,
+ 171,
+ 63,
+ 196,
+ 136,
+ 248,
+ 212,
+ 168,
+ 32,
+ 230,
+ 91,
+ 157,
+ 65,
+ 168,
+ 125,
+ 227
+ ],
+ "nonce": [
+ 155,
+ 93,
+ 39,
+ 215,
+ 90,
+ 5,
+ 113,
+ 233,
+ 63,
+ 88,
+ 24,
+ 133
+ ],
+ "aad": [],
+ "plaintext": [
+ 94,
+ 208,
+ 131,
+ 110,
+ 10,
+ 82,
+ 119,
+ 117,
+ 153,
+ 128,
+ 13,
+ 79,
+ 231,
+ 84,
+ 204,
+ 190
+ ],
+ "ciphertext": [
+ 136,
+ 192,
+ 235,
+ 140,
+ 51,
+ 161,
+ 10,
+ 34,
+ 231,
+ 86,
+ 24,
+ 102,
+ 86,
+ 107,
+ 25,
+ 31
+ ],
+ "tag": [
+ 131,
+ 232,
+ 133,
+ 128,
+ 42,
+ 89,
+ 74,
+ 139,
+ 0,
+ 138,
+ 148,
+ 170,
+ 126,
+ 240,
+ 105,
+ 7
+ ]
+ },
+ {
+ "key": [
+ 0,
+ 71,
+ 24,
+ 66,
+ 64,
+ 165,
+ 148,
+ 142,
+ 213,
+ 87,
+ 1,
+ 234,
+ 194,
+ 196,
+ 194,
+ 108
+ ],
+ "nonce": [
+ 163,
+ 171,
+ 141,
+ 162,
+ 38,
+ 72,
+ 194,
+ 69,
+ 60,
+ 222,
+ 245,
+ 91
+ ],
+ "aad": [],
+ "plaintext": [
+ 137,
+ 238,
+ 149,
+ 2,
+ 135,
+ 27,
+ 225,
+ 94,
+ 228,
+ 168,
+ 196,
+ 122,
+ 177,
+ 35,
+ 191,
+ 201
+ ],
+ "ciphertext": [
+ 139,
+ 92,
+ 181,
+ 158,
+ 122,
+ 210,
+ 225,
+ 92,
+ 64,
+ 213,
+ 251,
+ 205,
+ 226,
+ 138,
+ 13,
+ 23
+ ],
+ "tag": [
+ 83,
+ 142,
+ 121,
+ 248,
+ 128,
+ 226,
+ 246,
+ 92,
+ 114,
+ 20,
+ 143,
+ 90,
+ 222,
+ 64,
+ 128,
+ 161
+ ]
+ },
+ {
+ "key": [
+ 115,
+ 92,
+ 90,
+ 79,
+ 242,
+ 67,
+ 136,
+ 82,
+ 223,
+ 53,
+ 48,
+ 194,
+ 53,
+ 144,
+ 172,
+ 40
+ ],
+ "nonce": [
+ 123,
+ 238,
+ 124,
+ 105,
+ 56,
+ 241,
+ 174,
+ 89,
+ 103,
+ 30,
+ 45,
+ 219
+ ],
+ "aad": [],
+ "plaintext": [
+ 71,
+ 158,
+ 141,
+ 59,
+ 240,
+ 222,
+ 76,
+ 231,
+ 205,
+ 67,
+ 119,
+ 210,
+ 237,
+ 57,
+ 37,
+ 205
+ ],
+ "ciphertext": [
+ 44,
+ 160,
+ 155,
+ 88,
+ 23,
+ 143,
+ 187,
+ 251,
+ 130,
+ 85,
+ 101,
+ 153,
+ 185,
+ 35,
+ 41,
+ 163
+ ],
+ "tag": [
+ 46,
+ 60,
+ 242,
+ 137,
+ 95,
+ 17,
+ 30,
+ 194,
+ 168,
+ 101,
+ 8,
+ 195,
+ 106,
+ 36,
+ 228,
+ 93
+ ]
+ },
+ {
+ "key": [
+ 1,
+ 109,
+ 187,
+ 56,
+ 218,
+ 167,
+ 109,
+ 254,
+ 125,
+ 163,
+ 132,
+ 235,
+ 241,
+ 36,
+ 3,
+ 100
+ ],
+ "nonce": [
+ 7,
+ 147,
+ 239,
+ 58,
+ 218,
+ 120,
+ 47,
+ 120,
+ 201,
+ 138,
+ 255,
+ 227
+ ],
+ "aad": [],
+ "plaintext": [
+ 75,
+ 52,
+ 169,
+ 236,
+ 87,
+ 99,
+ 82,
+ 75,
+ 25,
+ 29,
+ 86,
+ 22,
+ 197,
+ 71,
+ 246,
+ 183
+ ],
+ "ciphertext": [
+ 96,
+ 154,
+ 163,
+ 244,
+ 84,
+ 27,
+ 192,
+ 254,
+ 153,
+ 49,
+ 218,
+ 173,
+ 46,
+ 225,
+ 93,
+ 12
+ ],
+ "tag": [
+ 51,
+ 175,
+ 236,
+ 89,
+ 196,
+ 91,
+ 175,
+ 104,
+ 154,
+ 94,
+ 27,
+ 19,
+ 174,
+ 66,
+ 54,
+ 25
+ ]
+ },
+ {
+ "key": [
+ 45,
+ 23,
+ 102,
+ 7,
+ 136,
+ 58,
+ 250,
+ 206,
+ 117,
+ 1,
+ 29,
+ 20,
+ 129,
+ 143,
+ 27,
+ 230
+ ],
+ "nonce": [
+ 2,
+ 22,
+ 44,
+ 54,
+ 53,
+ 191,
+ 109,
+ 84,
+ 62,
+ 28,
+ 193,
+ 72
+ ],
+ "aad": [],
+ "plaintext": [
+ 113,
+ 144,
+ 90,
+ 213,
+ 223,
+ 96,
+ 29,
+ 5,
+ 110,
+ 255,
+ 216,
+ 13,
+ 215,
+ 51,
+ 54,
+ 98
+ ],
+ "ciphertext": [
+ 27,
+ 104,
+ 89,
+ 142,
+ 22,
+ 118,
+ 210,
+ 207,
+ 211,
+ 122,
+ 160,
+ 3,
+ 150,
+ 250,
+ 150,
+ 118
+ ],
+ "tag": [
+ 93,
+ 6,
+ 10,
+ 168,
+ 167,
+ 41,
+ 119,
+ 77,
+ 160,
+ 1,
+ 170,
+ 159,
+ 222,
+ 242,
+ 179,
+ 210
+ ]
+ },
+ {
+ "key": [
+ 148,
+ 253,
+ 2,
+ 105,
+ 160,
+ 206,
+ 129,
+ 49,
+ 51,
+ 98,
+ 111,
+ 147,
+ 196,
+ 175,
+ 126,
+ 111
+ ],
+ "nonce": [
+ 17,
+ 252,
+ 57,
+ 40,
+ 2,
+ 141,
+ 250,
+ 52,
+ 219,
+ 6,
+ 161,
+ 188
+ ],
+ "aad": [],
+ "plaintext": [
+ 161,
+ 174,
+ 254,
+ 201,
+ 118,
+ 205,
+ 135,
+ 207,
+ 138,
+ 76,
+ 33,
+ 187,
+ 233,
+ 2,
+ 247,
+ 180
+ ],
+ "ciphertext": [
+ 177,
+ 186,
+ 248,
+ 197,
+ 140,
+ 222,
+ 200,
+ 130,
+ 56,
+ 177,
+ 176,
+ 171,
+ 11,
+ 64,
+ 51,
+ 125
+ ],
+ "tag": [
+ 136,
+ 47,
+ 134,
+ 93,
+ 247,
+ 218,
+ 82,
+ 159,
+ 118,
+ 141,
+ 73,
+ 68,
+ 232,
+ 56,
+ 127,
+ 105
+ ]
+ },
+ {
+ "key": [
+ 167,
+ 190,
+ 197,
+ 226,
+ 79,
+ 13,
+ 178,
+ 98,
+ 154,
+ 37,
+ 125,
+ 2,
+ 253,
+ 250,
+ 234,
+ 2
+ ],
+ "nonce": [
+ 157,
+ 46,
+ 201,
+ 75,
+ 146,
+ 115,
+ 39,
+ 121,
+ 53,
+ 131,
+ 184,
+ 24
+ ],
+ "aad": [],
+ "plaintext": [
+ 161,
+ 123,
+ 197,
+ 212,
+ 40,
+ 112,
+ 15,
+ 148,
+ 198,
+ 65,
+ 231,
+ 74,
+ 170,
+ 207,
+ 44,
+ 93
+ ],
+ "ciphertext": [
+ 212,
+ 96,
+ 253,
+ 165,
+ 178,
+ 68,
+ 37,
+ 181,
+ 202,
+ 168,
+ 23,
+ 108,
+ 140,
+ 103,
+ 179,
+ 169
+ ],
+ "tag": [
+ 13,
+ 247,
+ 36,
+ 52,
+ 11,
+ 140,
+ 165,
+ 110,
+ 141,
+ 234,
+ 107,
+ 190,
+ 180,
+ 181,
+ 92,
+ 53
+ ]
+ },
+ {
+ "key": [
+ 57,
+ 217,
+ 69,
+ 160,
+ 14,
+ 5,
+ 215,
+ 10,
+ 22,
+ 230,
+ 19,
+ 52,
+ 210,
+ 1,
+ 2,
+ 9
+ ],
+ "nonce": [
+ 31,
+ 147,
+ 20,
+ 72,
+ 233,
+ 1,
+ 62,
+ 196,
+ 236,
+ 97,
+ 175,
+ 12
+ ],
+ "aad": [],
+ "plaintext": [
+ 157,
+ 217,
+ 14,
+ 191,
+ 192,
+ 84,
+ 218,
+ 33,
+ 76,
+ 187,
+ 48,
+ 219,
+ 127,
+ 117,
+ 198,
+ 146
+ ],
+ "ciphertext": [
+ 228,
+ 203,
+ 118,
+ 84,
+ 8,
+ 105,
+ 124,
+ 248,
+ 89,
+ 23,
+ 167,
+ 169,
+ 38,
+ 64,
+ 134,
+ 228
+ ],
+ "tag": [
+ 254,
+ 154,
+ 31,
+ 231,
+ 165,
+ 141,
+ 102,
+ 227,
+ 185,
+ 34,
+ 105,
+ 58,
+ 22,
+ 60,
+ 31,
+ 244
+ ]
+ },
+ {
+ "key": [
+ 102,
+ 32,
+ 202,
+ 101,
+ 247,
+ 45,
+ 231,
+ 184,
+ 101,
+ 222,
+ 115,
+ 25,
+ 40,
+ 164,
+ 114,
+ 62
+ ],
+ "nonce": [
+ 230,
+ 66,
+ 139,
+ 107,
+ 119,
+ 233,
+ 182,
+ 153,
+ 59,
+ 128,
+ 154,
+ 239
+ ],
+ "aad": [],
+ "plaintext": [
+ 112,
+ 68,
+ 247,
+ 194,
+ 125,
+ 119,
+ 111,
+ 106,
+ 125,
+ 67,
+ 171,
+ 234,
+ 53,
+ 144,
+ 141,
+ 228
+ ],
+ "ciphertext": [
+ 161,
+ 197,
+ 99,
+ 74,
+ 7,
+ 208,
+ 92,
+ 169,
+ 9,
+ 219,
+ 168,
+ 123,
+ 240,
+ 34,
+ 40,
+ 228
+ ],
+ "tag": [
+ 216,
+ 180,
+ 10,
+ 96,
+ 166,
+ 82,
+ 55,
+ 51,
+ 125,
+ 176,
+ 91,
+ 4,
+ 93,
+ 232,
+ 7,
+ 76
+ ]
+ },
+ {
+ "key": [
+ 201,
+ 57,
+ 204,
+ 19,
+ 57,
+ 124,
+ 29,
+ 55,
+ 222,
+ 106,
+ 224,
+ 225,
+ 203,
+ 124,
+ 66,
+ 60
+ ],
+ "nonce": [
+ 179,
+ 216,
+ 204,
+ 1,
+ 124,
+ 187,
+ 137,
+ 179,
+ 158,
+ 15,
+ 103,
+ 226
+ ],
+ "aad": [
+ 36,
+ 130,
+ 86,
+ 2,
+ 189,
+ 18,
+ 169,
+ 132,
+ 224,
+ 9,
+ 45,
+ 62,
+ 68,
+ 142,
+ 218,
+ 95
+ ],
+ "plaintext": [
+ 195,
+ 179,
+ 196,
+ 31,
+ 17,
+ 58,
+ 49,
+ 183,
+ 61,
+ 154,
+ 92,
+ 212,
+ 50,
+ 16,
+ 48,
+ 105
+ ],
+ "ciphertext": [
+ 147,
+ 254,
+ 125,
+ 158,
+ 155,
+ 253,
+ 16,
+ 52,
+ 138,
+ 86,
+ 6,
+ 229,
+ 202,
+ 250,
+ 115,
+ 84
+ ],
+ "tag": [
+ 0,
+ 50,
+ 161,
+ 220,
+ 133,
+ 241,
+ 201,
+ 120,
+ 105,
+ 37,
+ 162,
+ 231,
+ 29,
+ 130,
+ 114,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 89,
+ 158,
+ 182,
+ 94,
+ 107,
+ 42,
+ 42,
+ 127,
+ 204,
+ 64,
+ 229,
+ 28,
+ 79,
+ 110,
+ 50,
+ 87
+ ],
+ "nonce": [
+ 212,
+ 7,
+ 48,
+ 28,
+ 250,
+ 41,
+ 175,
+ 133,
+ 37,
+ 152,
+ 28,
+ 23
+ ],
+ "aad": [
+ 16,
+ 231,
+ 46,
+ 254,
+ 4,
+ 134,
+ 72,
+ 212,
+ 1,
+ 57,
+ 71,
+ 122,
+ 32,
+ 22,
+ 248,
+ 206
+ ],
+ "plaintext": [
+ 166,
+ 201,
+ 224,
+ 242,
+ 72,
+ 240,
+ 122,
+ 48,
+ 70,
+ 236,
+ 225,
+ 33,
+ 37,
+ 102,
+ 105,
+ 33
+ ],
+ "ciphertext": [
+ 27,
+ 233,
+ 53,
+ 154,
+ 84,
+ 63,
+ 215,
+ 236,
+ 60,
+ 75,
+ 198,
+ 243,
+ 201,
+ 57,
+ 94,
+ 137
+ ],
+ "tag": [
+ 226,
+ 233,
+ 192,
+ 125,
+ 76,
+ 60,
+ 16,
+ 166,
+ 19,
+ 124,
+ 164,
+ 51,
+ 218,
+ 66,
+ 249,
+ 168
+ ]
+ },
+ {
+ "key": [
+ 45,
+ 38,
+ 84,
+ 145,
+ 113,
+ 47,
+ 230,
+ 215,
+ 8,
+ 122,
+ 85,
+ 69,
+ 133,
+ 47,
+ 79,
+ 68
+ ],
+ "nonce": [
+ 197,
+ 152,
+ 104,
+ 184,
+ 112,
+ 31,
+ 191,
+ 136,
+ 230,
+ 52,
+ 50,
+ 98
+ ],
+ "aad": [
+ 103,
+ 16,
+ 86,
+ 52,
+ 172,
+ 159,
+ 191,
+ 132,
+ 153,
+ 112,
+ 220,
+ 65,
+ 109,
+ 231,
+ 173,
+ 48
+ ],
+ "plaintext": [
+ 48,
+ 24,
+ 115,
+ 190,
+ 105,
+ 240,
+ 90,
+ 132,
+ 242,
+ 36,
+ 8,
+ 170,
+ 8,
+ 98,
+ 209,
+ 154
+ ],
+ "ciphertext": [
+ 152,
+ 176,
+ 60,
+ 119,
+ 166,
+ 120,
+ 49,
+ 188,
+ 241,
+ 107,
+ 29,
+ 217,
+ 108,
+ 50,
+ 78,
+ 28
+ ],
+ "tag": [
+ 57,
+ 21,
+ 46,
+ 38,
+ 189,
+ 196,
+ 209,
+ 126,
+ 140,
+ 0,
+ 73,
+ 63,
+ 160,
+ 190,
+ 146,
+ 242
+ ]
+ },
+ {
+ "key": [
+ 31,
+ 209,
+ 229,
+ 54,
+ 161,
+ 195,
+ 156,
+ 117,
+ 253,
+ 88,
+ 59,
+ 200,
+ 227,
+ 55,
+ 32,
+ 41
+ ],
+ "nonce": [
+ 40,
+ 31,
+ 37,
+ 82,
+ 248,
+ 195,
+ 79,
+ 185,
+ 179,
+ 236,
+ 133,
+ 170
+ ],
+ "aad": [
+ 191,
+ 18,
+ 161,
+ 64,
+ 216,
+ 103,
+ 39,
+ 246,
+ 123,
+ 134,
+ 11,
+ 207,
+ 111,
+ 52,
+ 229,
+ 95
+ ],
+ "plaintext": [
+ 248,
+ 1,
+ 224,
+ 131,
+ 150,
+ 25,
+ 210,
+ 193,
+ 70,
+ 95,
+ 2,
+ 69,
+ 134,
+ 147,
+ 96,
+ 218
+ ],
+ "ciphertext": [
+ 53,
+ 55,
+ 31,
+ 39,
+ 121,
+ 244,
+ 20,
+ 13,
+ 253,
+ 177,
+ 175,
+ 231,
+ 157,
+ 86,
+ 62,
+ 217
+ ],
+ "tag": [
+ 204,
+ 43,
+ 11,
+ 15,
+ 31,
+ 139,
+ 61,
+ 181,
+ 220,
+ 27,
+ 65,
+ 206,
+ 115,
+ 245,
+ 194,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 123,
+ 3,
+ 69,
+ 246,
+ 220,
+ 244,
+ 105,
+ 236,
+ 249,
+ 177,
+ 126,
+ 250,
+ 57,
+ 222,
+ 83,
+ 89
+ ],
+ "nonce": [
+ 177,
+ 93,
+ 111,
+ 205,
+ 229,
+ 230,
+ 207,
+ 31,
+ 169,
+ 155,
+ 161,
+ 69
+ ],
+ "aad": [
+ 114,
+ 233,
+ 203,
+ 38,
+ 136,
+ 81,
+ 84,
+ 212,
+ 98,
+ 158,
+ 123,
+ 201,
+ 18,
+ 121,
+ 187,
+ 25
+ ],
+ "plaintext": [
+ 130,
+ 42,
+ 224,
+ 26,
+ 3,
+ 114,
+ 182,
+ 170,
+ 70,
+ 194,
+ 229,
+ 191,
+ 25,
+ 219,
+ 146,
+ 242
+ ],
+ "ciphertext": [
+ 56,
+ 46,
+ 68,
+ 6,
+ 148,
+ 176,
+ 201,
+ 59,
+ 232,
+ 221,
+ 67,
+ 142,
+ 55,
+ 99,
+ 81,
+ 148
+ ],
+ "tag": [
+ 47,
+ 160,
+ 66,
+ 191,
+ 249,
+ 169,
+ 205,
+ 53,
+ 227,
+ 67,
+ 181,
+ 32,
+ 1,
+ 120,
+ 65,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 157,
+ 185,
+ 26,
+ 64,
+ 2,
+ 12,
+ 219,
+ 7,
+ 248,
+ 135,
+ 105,
+ 48,
+ 154,
+ 106,
+ 196,
+ 11
+ ],
+ "nonce": [
+ 248,
+ 158,
+ 27,
+ 126,
+ 89,
+ 140,
+ 194,
+ 83,
+ 90,
+ 92,
+ 134,
+ 89
+ ],
+ "aad": [
+ 112,
+ 145,
+ 5,
+ 152,
+ 231,
+ 171,
+ 212,
+ 240,
+ 80,
+ 62,
+ 205,
+ 158,
+ 33,
+ 189,
+ 175,
+ 181
+ ],
+ "plaintext": [
+ 244,
+ 165,
+ 0,
+ 61,
+ 180,
+ 164,
+ 235,
+ 188,
+ 47,
+ 219,
+ 140,
+ 103,
+ 86,
+ 131,
+ 3,
+ 145
+ ],
+ "ciphertext": [
+ 64,
+ 215,
+ 252,
+ 76,
+ 204,
+ 129,
+ 71,
+ 88,
+ 31,
+ 64,
+ 101,
+ 90,
+ 7,
+ 242,
+ 62,
+ 233
+ ],
+ "tag": [
+ 36,
+ 51,
+ 49,
+ 180,
+ 132,
+ 4,
+ 133,
+ 156,
+ 102,
+ 175,
+ 77,
+ 123,
+ 46,
+ 228,
+ 65,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 226,
+ 244,
+ 131,
+ 152,
+ 155,
+ 52,
+ 158,
+ 251,
+ 89,
+ 174,
+ 10,
+ 124,
+ 173,
+ 199,
+ 75,
+ 122
+ ],
+ "nonce": [
+ 51,
+ 56,
+ 52,
+ 63,
+ 155,
+ 151,
+ 235,
+ 183,
+ 132,
+ 231,
+ 80,
+ 39
+ ],
+ "aad": [
+ 139,
+ 18,
+ 152,
+ 126,
+ 96,
+ 15,
+ 245,
+ 141,
+ 245,
+ 79,
+ 31,
+ 94,
+ 98,
+ 229,
+ 158,
+ 97
+ ],
+ "plaintext": [
+ 20,
+ 216,
+ 10,
+ 214,
+ 110,
+ 143,
+ 95,
+ 46,
+ 108,
+ 67,
+ 195,
+ 16,
+ 158,
+ 2,
+ 58,
+ 147
+ ],
+ "ciphertext": [
+ 67,
+ 194,
+ 214,
+ 131,
+ 132,
+ 212,
+ 134,
+ 233,
+ 120,
+ 137,
+ 80,
+ 187,
+ 184,
+ 205,
+ 143,
+ 209
+ ],
+ "tag": [
+ 71,
+ 215,
+ 233,
+ 20,
+ 79,
+ 240,
+ 237,
+ 74,
+ 163,
+ 48,
+ 10,
+ 148,
+ 74,
+ 0,
+ 120,
+ 130
+ ]
+ },
+ {
+ "key": [
+ 92,
+ 17,
+ 85,
+ 8,
+ 76,
+ 192,
+ 237,
+ 231,
+ 107,
+ 59,
+ 194,
+ 46,
+ 159,
+ 117,
+ 116,
+ 239
+ ],
+ "nonce": [
+ 149,
+ 73,
+ 228,
+ 186,
+ 105,
+ 166,
+ 28,
+ 173,
+ 120,
+ 86,
+ 239,
+ 193
+ ],
+ "aad": [
+ 233,
+ 142,
+ 157,
+ 156,
+ 97,
+ 142,
+ 70,
+ 254,
+ 243,
+ 38,
+ 96,
+ 151,
+ 111,
+ 133,
+ 78,
+ 227
+ ],
+ "plaintext": [
+ 209,
+ 68,
+ 143,
+ 168,
+ 82,
+ 184,
+ 68,
+ 8,
+ 226,
+ 218,
+ 216,
+ 56,
+ 31,
+ 54,
+ 61,
+ 231
+ ],
+ "ciphertext": [
+ 247,
+ 139,
+ 96,
+ 202,
+ 18,
+ 82,
+ 24,
+ 73,
+ 59,
+ 234,
+ 28,
+ 80,
+ 162,
+ 225,
+ 46,
+ 244
+ ],
+ "tag": [
+ 215,
+ 45,
+ 167,
+ 245,
+ 198,
+ 207,
+ 11,
+ 202,
+ 114,
+ 66,
+ 199,
+ 24,
+ 53,
+ 128,
+ 148,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 35,
+ 82,
+ 80,
+ 55,
+ 64,
+ 164,
+ 225,
+ 178,
+ 45,
+ 204,
+ 156,
+ 0,
+ 47,
+ 83,
+ 189,
+ 17
+ ],
+ "nonce": [
+ 71,
+ 78,
+ 204,
+ 204,
+ 49,
+ 130,
+ 224,
+ 60,
+ 128,
+ 167,
+ 190,
+ 116
+ ],
+ "aad": [
+ 161,
+ 188,
+ 152,
+ 218,
+ 206,
+ 196,
+ 182,
+ 170,
+ 127,
+ 238,
+ 109,
+ 250,
+ 8,
+ 2,
+ 242,
+ 26
+ ],
+ "plaintext": [
+ 220,
+ 28,
+ 53,
+ 188,
+ 120,
+ 185,
+ 133,
+ 242,
+ 210,
+ 177,
+ 161,
+ 60,
+ 230,
+ 53,
+ 221,
+ 105
+ ],
+ "ciphertext": [
+ 63,
+ 111,
+ 77,
+ 175,
+ 109,
+ 7,
+ 116,
+ 59,
+ 155,
+ 210,
+ 160,
+ 105,
+ 211,
+ 113,
+ 8,
+ 52
+ ],
+ "tag": [
+ 185,
+ 194,
+ 179,
+ 25,
+ 173,
+ 189,
+ 116,
+ 63,
+ 94,
+ 79,
+ 253,
+ 68,
+ 48,
+ 74,
+ 27,
+ 95
+ ]
+ },
+ {
+ "key": [
+ 252,
+ 31,
+ 151,
+ 27,
+ 81,
+ 74,
+ 22,
+ 120,
+ 101,
+ 52,
+ 27,
+ 130,
+ 138,
+ 66,
+ 149,
+ 214
+ ],
+ "nonce": [
+ 136,
+ 81,
+ 234,
+ 104,
+ 210,
+ 12,
+ 224,
+ 190,
+ 255,
+ 30,
+ 58,
+ 152
+ ],
+ "aad": [
+ 236,
+ 232,
+ 213,
+ 246,
+ 58,
+ 235,
+ 218,
+ 128,
+ 235,
+ 222,
+ 75,
+ 117,
+ 6,
+ 55,
+ 246,
+ 84
+ ],
+ "plaintext": [
+ 47,
+ 236,
+ 23,
+ 177,
+ 169,
+ 87,
+ 15,
+ 102,
+ 81,
+ 187,
+ 233,
+ 166,
+ 87,
+ 216,
+ 43,
+ 206
+ ],
+ "ciphertext": [
+ 45,
+ 39,
+ 229,
+ 250,
+ 8,
+ 226,
+ 24,
+ 240,
+ 43,
+ 46,
+ 54,
+ 223,
+ 173,
+ 135,
+ 165,
+ 14
+ ],
+ "tag": [
+ 235,
+ 153,
+ 102,
+ 119,
+ 76,
+ 88,
+ 138,
+ 49,
+ 183,
+ 28,
+ 77,
+ 141,
+ 170,
+ 73,
+ 94,
+ 158
+ ]
+ },
+ {
+ "key": [
+ 0,
+ 239,
+ 60,
+ 103,
+ 98,
+ 190,
+ 63,
+ 186,
+ 179,
+ 129,
+ 84,
+ 217,
+ 2,
+ 255,
+ 67,
+ 181
+ ],
+ "nonce": [
+ 195,
+ 193,
+ 195,
+ 7,
+ 156,
+ 218,
+ 73,
+ 167,
+ 90,
+ 83,
+ 179,
+ 204
+ ],
+ "aad": [
+ 113,
+ 79,
+ 161,
+ 214,
+ 144,
+ 65,
+ 135,
+ 179,
+ 197,
+ 192,
+ 138,
+ 48,
+ 223,
+ 252,
+ 134,
+ 232
+ ],
+ "plaintext": [
+ 190,
+ 66,
+ 94,
+ 0,
+ 142,
+ 155,
+ 12,
+ 8,
+ 59,
+ 25,
+ 162,
+ 217,
+ 69,
+ 194,
+ 237,
+ 233
+ ],
+ "ciphertext": [
+ 201,
+ 97,
+ 161,
+ 117,
+ 141,
+ 207,
+ 145,
+ 229,
+ 57,
+ 101,
+ 131,
+ 114,
+ 219,
+ 24,
+ 150,
+ 142
+ ],
+ "tag": [
+ 234,
+ 249,
+ 189,
+ 169,
+ 179,
+ 50,
+ 47,
+ 80,
+ 31,
+ 115,
+ 41,
+ 203,
+ 97,
+ 193,
+ 196,
+ 40
+ ]
+ },
+ {
+ "key": [
+ 45,
+ 112,
+ 185,
+ 86,
+ 153,
+ 67,
+ 204,
+ 73,
+ 205,
+ 239,
+ 132,
+ 149,
+ 189,
+ 182,
+ 240,
+ 230
+ ],
+ "nonce": [
+ 180,
+ 1,
+ 208,
+ 245,
+ 8,
+ 128,
+ 166,
+ 33,
+ 31,
+ 222,
+ 157,
+ 156
+ ],
+ "aad": [
+ 89,
+ 46,
+ 114,
+ 118,
+ 189,
+ 160,
+ 102,
+ 50,
+ 127,
+ 43,
+ 60,
+ 216,
+ 204,
+ 57,
+ 245,
+ 113
+ ],
+ "plaintext": [
+ 71,
+ 168,
+ 122,
+ 56,
+ 121,
+ 68,
+ 247,
+ 57,
+ 189,
+ 60,
+ 176,
+ 62,
+ 14,
+ 139,
+ 228,
+ 153
+ ],
+ "ciphertext": [
+ 193,
+ 178,
+ 175,
+ 77,
+ 39,
+ 50,
+ 49,
+ 231,
+ 30,
+ 126,
+ 6,
+ 108,
+ 32,
+ 107,
+ 245,
+ 103
+ ],
+ "tag": [
+ 198,
+ 141,
+ 141,
+ 60,
+ 248,
+ 184,
+ 158,
+ 107,
+ 21,
+ 246,
+ 35,
+ 214,
+ 15,
+ 239,
+ 96,
+ 189
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 92,
+ 183,
+ 248,
+ 220,
+ 115,
+ 240,
+ 79,
+ 228,
+ 249,
+ 210,
+ 33,
+ 38,
+ 187,
+ 123,
+ 87
+ ],
+ "nonce": [
+ 129,
+ 206,
+ 177,
+ 125,
+ 238,
+ 225,
+ 155,
+ 129,
+ 83,
+ 255,
+ 146,
+ 124
+ ],
+ "aad": [
+ 151,
+ 224,
+ 124,
+ 214,
+ 80,
+ 101,
+ 209,
+ 237,
+ 200,
+ 99,
+ 25,
+ 45,
+ 233,
+ 139,
+ 198,
+ 44
+ ],
+ "plaintext": [
+ 130,
+ 66,
+ 198,
+ 192,
+ 238,
+ 214,
+ 213,
+ 209,
+ 171,
+ 105,
+ 205,
+ 17,
+ 219,
+ 227,
+ 97,
+ 208
+ ],
+ "ciphertext": [
+ 88,
+ 15,
+ 6,
+ 58,
+ 177,
+ 164,
+ 128,
+ 29,
+ 39,
+ 158,
+ 78,
+ 231,
+ 115,
+ 32,
+ 10,
+ 190
+ ],
+ "tag": [
+ 41,
+ 228,
+ 215,
+ 224,
+ 84,
+ 166,
+ 176,
+ 164,
+ 224,
+ 17,
+ 51,
+ 87,
+ 63,
+ 190,
+ 99,
+ 43
+ ]
+ },
+ {
+ "key": [
+ 88,
+ 186,
+ 60,
+ 183,
+ 192,
+ 160,
+ 207,
+ 87,
+ 117,
+ 0,
+ 43,
+ 243,
+ 177,
+ 18,
+ 208,
+ 81
+ ],
+ "nonce": [
+ 187,
+ 146,
+ 60,
+ 147,
+ 221,
+ 202,
+ 48,
+ 58,
+ 177,
+ 49,
+ 35,
+ 141
+ ],
+ "aad": [
+ 8,
+ 152,
+ 234,
+ 85,
+ 192,
+ 202,
+ 5,
+ 148,
+ 128,
+ 110,
+ 45,
+ 199,
+ 139,
+ 225,
+ 92,
+ 39
+ ],
+ "plaintext": [
+ 107,
+ 147,
+ 210,
+ 217,
+ 45,
+ 224,
+ 91,
+ 83,
+ 118,
+ 158,
+ 195,
+ 152,
+ 171,
+ 128,
+ 151,
+ 220
+ ],
+ "ciphertext": [
+ 208,
+ 86,
+ 64,
+ 6,
+ 177,
+ 137,
+ 123,
+ 242,
+ 25,
+ 34,
+ 254,
+ 244,
+ 246,
+ 56,
+ 111,
+ 212
+ ],
+ "tag": [
+ 58,
+ 146,
+ 243,
+ 201,
+ 227,
+ 174,
+ 107,
+ 12,
+ 105,
+ 220,
+ 184,
+ 134,
+ 141,
+ 77,
+ 226,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 149,
+ 91,
+ 118,
+ 29,
+ 232,
+ 233,
+ 143,
+ 55,
+ 172,
+ 180,
+ 18,
+ 89,
+ 250,
+ 48,
+ 132,
+ 66
+ ],
+ "nonce": [
+ 161,
+ 3,
+ 219,
+ 138,
+ 8,
+ 37,
+ 230,
+ 6,
+ 183,
+ 4,
+ 39,
+ 252
+ ],
+ "aad": [
+ 194,
+ 208,
+ 216,
+ 183,
+ 122,
+ 111,
+ 208,
+ 60,
+ 237,
+ 8,
+ 14,
+ 15,
+ 137,
+ 222,
+ 138,
+ 75
+ ],
+ "plaintext": [
+ 209,
+ 131,
+ 68,
+ 200,
+ 108,
+ 175,
+ 252,
+ 66,
+ 55,
+ 210,
+ 218,
+ 174,
+ 71,
+ 129,
+ 123,
+ 19
+ ],
+ "ciphertext": [
+ 6,
+ 93,
+ 34,
+ 140,
+ 18,
+ 137,
+ 0,
+ 122,
+ 104,
+ 42,
+ 168,
+ 71,
+ 163,
+ 107,
+ 111,
+ 48
+ ],
+ "tag": [
+ 251,
+ 54,
+ 127,
+ 71,
+ 146,
+ 45,
+ 103,
+ 200,
+ 75,
+ 244,
+ 122,
+ 171,
+ 178,
+ 185,
+ 132,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 162,
+ 36,
+ 136,
+ 248,
+ 221,
+ 29,
+ 92,
+ 108,
+ 25,
+ 167,
+ 214,
+ 202,
+ 23,
+ 150,
+ 76
+ ],
+ "nonce": [
+ 243,
+ 213,
+ 131,
+ 127,
+ 34,
+ 172,
+ 26,
+ 4,
+ 37,
+ 224,
+ 209,
+ 213
+ ],
+ "aad": [
+ 241,
+ 197,
+ 212,
+ 36,
+ 184,
+ 63,
+ 150,
+ 198,
+ 173,
+ 140,
+ 178,
+ 140,
+ 160,
+ 210,
+ 14,
+ 71,
+ 94,
+ 2,
+ 59,
+ 90
+ ],
+ "plaintext": [
+ 123,
+ 67,
+ 1,
+ 106,
+ 22,
+ 137,
+ 100,
+ 151,
+ 251,
+ 69,
+ 123,
+ 230,
+ 210,
+ 165,
+ 65,
+ 34
+ ],
+ "ciphertext": [
+ 194,
+ 189,
+ 103,
+ 238,
+ 245,
+ 233,
+ 92,
+ 172,
+ 39,
+ 227,
+ 176,
+ 110,
+ 48,
+ 49,
+ 208,
+ 168
+ ],
+ "tag": [
+ 242,
+ 62,
+ 172,
+ 249,
+ 209,
+ 205,
+ 248,
+ 115,
+ 119,
+ 38,
+ 197,
+ 134,
+ 72,
+ 130,
+ 110,
+ 156
+ ]
+ },
+ {
+ "key": [
+ 232,
+ 137,
+ 147,
+ 69,
+ 228,
+ 216,
+ 155,
+ 118,
+ 247,
+ 105,
+ 93,
+ 223,
+ 42,
+ 36,
+ 187,
+ 60
+ ],
+ "nonce": [
+ 157,
+ 250,
+ 235,
+ 93,
+ 115,
+ 55,
+ 44,
+ 235,
+ 6,
+ 202,
+ 123,
+ 190
+ ],
+ "aad": [
+ 254,
+ 208,
+ 180,
+ 90,
+ 154,
+ 123,
+ 7,
+ 198,
+ 218,
+ 84,
+ 116,
+ 144,
+ 127,
+ 88,
+ 144,
+ 227,
+ 23,
+ 231,
+ 74,
+ 66
+ ],
+ "plaintext": [
+ 194,
+ 128,
+ 126,
+ 64,
+ 62,
+ 155,
+ 171,
+ 246,
+ 69,
+ 38,
+ 140,
+ 146,
+ 188,
+ 157,
+ 29,
+ 230
+ ],
+ "ciphertext": [
+ 142,
+ 68,
+ 191,
+ 7,
+ 69,
+ 66,
+ 85,
+ 170,
+ 158,
+ 54,
+ 235,
+ 52,
+ 205,
+ 253,
+ 0,
+ 54
+ ],
+ "tag": [
+ 47,
+ 80,
+ 30,
+ 82,
+ 73,
+ 170,
+ 89,
+ 90,
+ 83,
+ 225,
+ 152,
+ 94,
+ 144,
+ 52,
+ 106,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 193,
+ 98,
+ 157,
+ 99,
+ 32,
+ 185,
+ 218,
+ 128,
+ 162,
+ 60,
+ 129,
+ 190,
+ 83,
+ 240,
+ 239,
+ 87
+ ],
+ "nonce": [
+ 184,
+ 97,
+ 95,
+ 111,
+ 250,
+ 48,
+ 102,
+ 137,
+ 71,
+ 85,
+ 108,
+ 216
+ ],
+ "aad": [
+ 95,
+ 41,
+ 85,
+ 228,
+ 48,
+ 24,
+ 82,
+ 167,
+ 6,
+ 132,
+ 249,
+ 120,
+ 248,
+ 158,
+ 122,
+ 97,
+ 83,
+ 31,
+ 8,
+ 97
+ ],
+ "plaintext": [
+ 101,
+ 119,
+ 26,
+ 181,
+ 37,
+ 50,
+ 201,
+ 205,
+ 252,
+ 179,
+ 169,
+ 235,
+ 123,
+ 129,
+ 147,
+ 223
+ ],
+ "ciphertext": [
+ 194,
+ 167,
+ 45,
+ 105,
+ 49,
+ 129,
+ 200,
+ 25,
+ 246,
+ 155,
+ 66,
+ 181,
+ 32,
+ 136,
+ 211,
+ 162
+ ],
+ "tag": [
+ 202,
+ 218,
+ 238,
+ 48,
+ 93,
+ 139,
+ 182,
+ 215,
+ 2,
+ 89,
+ 166,
+ 80,
+ 50,
+ 128,
+ 217,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 25,
+ 110,
+ 215,
+ 130,
+ 129,
+ 187,
+ 117,
+ 67,
+ 214,
+ 14,
+ 104,
+ 204,
+ 162,
+ 170,
+ 169,
+ 65
+ ],
+ "nonce": [
+ 110,
+ 125,
+ 44,
+ 143,
+ 19,
+ 87,
+ 21,
+ 83,
+ 42,
+ 7,
+ 92,
+ 80
+ ],
+ "aad": [
+ 214,
+ 252,
+ 152,
+ 198,
+ 50,
+ 210,
+ 226,
+ 100,
+ 16,
+ 65,
+ 255,
+ 115,
+ 132,
+ 217,
+ 42,
+ 131,
+ 88,
+ 174,
+ 154,
+ 190
+ ],
+ "plaintext": [
+ 21,
+ 180,
+ 46,
+ 126,
+ 162,
+ 26,
+ 138,
+ 213,
+ 220,
+ 215,
+ 169,
+ 187,
+ 160,
+ 37,
+ 61,
+ 68
+ ],
+ "ciphertext": [
+ 6,
+ 229,
+ 204,
+ 129,
+ 194,
+ 208,
+ 34,
+ 203,
+ 43,
+ 93,
+ 229,
+ 168,
+ 129,
+ 198,
+ 45,
+ 9
+ ],
+ "tag": [
+ 40,
+ 232,
+ 202,
+ 211,
+ 52,
+ 108,
+ 229,
+ 131,
+ 213,
+ 238,
+ 186,
+ 167,
+ 150,
+ 229,
+ 9,
+ 116
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 254,
+ 138,
+ 27,
+ 220,
+ 104,
+ 6,
+ 237,
+ 47,
+ 74,
+ 132,
+ 137,
+ 29,
+ 185,
+ 67,
+ 160
+ ],
+ "nonce": [
+ 175,
+ 77,
+ 11,
+ 160,
+ 169,
+ 15,
+ 30,
+ 113,
+ 61,
+ 113,
+ 174,
+ 148
+ ],
+ "aad": [
+ 103,
+ 124,
+ 212,
+ 230,
+ 192,
+ 166,
+ 121,
+ 19,
+ 8,
+ 93,
+ 186,
+ 76,
+ 194,
+ 167,
+ 120,
+ 184,
+ 148,
+ 225,
+ 116,
+ 173
+ ],
+ "plaintext": [
+ 129,
+ 49,
+ 89,
+ 114,
+ 240,
+ 177,
+ 174,
+ 170,
+ 0,
+ 83,
+ 99,
+ 233,
+ 236,
+ 160,
+ 157,
+ 122
+ ],
+ "ciphertext": [
+ 196,
+ 123,
+ 203,
+ 39,
+ 197,
+ 168,
+ 217,
+ 190,
+ 177,
+ 159,
+ 238,
+ 56,
+ 185,
+ 8,
+ 97,
+ 183
+ ],
+ "tag": [
+ 224,
+ 97,
+ 238,
+ 72,
+ 104,
+ 237,
+ 242,
+ 217,
+ 105,
+ 232,
+ 117,
+ 184,
+ 104,
+ 92,
+ 168,
+ 169
+ ]
+ },
+ {
+ "key": [
+ 109,
+ 134,
+ 168,
+ 85,
+ 80,
+ 134,
+ 87,
+ 248,
+ 4,
+ 9,
+ 27,
+ 226,
+ 41,
+ 10,
+ 23,
+ 224
+ ],
+ "nonce": [
+ 101,
+ 220,
+ 225,
+ 138,
+ 68,
+ 97,
+ 175,
+ 216,
+ 63,
+ 20,
+ 128,
+ 245
+ ],
+ "aad": [
+ 224,
+ 239,
+ 143,
+ 14,
+ 31,
+ 68,
+ 42,
+ 44,
+ 9,
+ 5,
+ 104,
+ 210,
+ 175,
+ 51,
+ 110,
+ 197,
+ 159,
+ 87,
+ 200,
+ 150
+ ],
+ "plaintext": [
+ 4,
+ 35,
+ 189,
+ 28,
+ 138,
+ 234,
+ 148,
+ 54,
+ 55,
+ 199,
+ 195,
+ 176,
+ 202,
+ 97,
+ 213,
+ 75
+ ],
+ "ciphertext": [
+ 83,
+ 80,
+ 93,
+ 68,
+ 147,
+ 105,
+ 201,
+ 188,
+ 216,
+ 161,
+ 56,
+ 116,
+ 14,
+ 166,
+ 96,
+ 46
+ ],
+ "tag": [
+ 134,
+ 249,
+ 40,
+ 180,
+ 83,
+ 40,
+ 37,
+ 175,
+ 156,
+ 172,
+ 56,
+ 32,
+ 35,
+ 74,
+ 254,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 102,
+ 189,
+ 123,
+ 93,
+ 253,
+ 10,
+ 170,
+ 237,
+ 139,
+ 184,
+ 137,
+ 14,
+ 238,
+ 155,
+ 156,
+ 154
+ ],
+ "nonce": [
+ 110,
+ 146,
+ 191,
+ 126,
+ 143,
+ 208,
+ 251,
+ 147,
+ 36,
+ 81,
+ 253,
+ 242
+ ],
+ "aad": [
+ 96,
+ 69,
+ 156,
+ 104,
+ 27,
+ 218,
+ 99,
+ 30,
+ 206,
+ 26,
+ 172,
+ 202,
+ 74,
+ 123,
+ 27,
+ 54,
+ 156,
+ 86,
+ 210,
+ 187
+ ],
+ "plaintext": [
+ 128,
+ 5,
+ 134,
+ 92,
+ 135,
+ 148,
+ 183,
+ 150,
+ 18,
+ 68,
+ 127,
+ 94,
+ 243,
+ 51,
+ 151,
+ 208
+ ],
+ "ciphertext": [
+ 131,
+ 185,
+ 146,
+ 83,
+ 222,
+ 5,
+ 98,
+ 90,
+ 168,
+ 230,
+ 132,
+ 144,
+ 187,
+ 54,
+ 139,
+ 185
+ ],
+ "tag": [
+ 101,
+ 212,
+ 68,
+ 176,
+ 42,
+ 35,
+ 232,
+ 84,
+ 168,
+ 84,
+ 35,
+ 33,
+ 117,
+ 98,
+ 208,
+ 127
+ ]
+ },
+ {
+ "key": [
+ 231,
+ 232,
+ 37,
+ 112,
+ 124,
+ 91,
+ 124,
+ 207,
+ 108,
+ 252,
+ 0,
+ 157,
+ 209,
+ 52,
+ 241,
+ 102
+ ],
+ "nonce": [
+ 221,
+ 12,
+ 122,
+ 156,
+ 104,
+ 209,
+ 78,
+ 7,
+ 63,
+ 22,
+ 167,
+ 160
+ ],
+ "aad": [
+ 17,
+ 198,
+ 158,
+ 209,
+ 135,
+ 241,
+ 101,
+ 22,
+ 6,
+ 131,
+ 231,
+ 240,
+ 16,
+ 48,
+ 56,
+ 183,
+ 117,
+ 18,
+ 70,
+ 11
+ ],
+ "plaintext": [
+ 136,
+ 177,
+ 177,
+ 30,
+ 71,
+ 223,
+ 226,
+ 248,
+ 16,
+ 150,
+ 195,
+ 96,
+ 207,
+ 30,
+ 48,
+ 231
+ ],
+ "ciphertext": [
+ 85,
+ 15,
+ 164,
+ 153,
+ 167,
+ 203,
+ 71,
+ 131,
+ 193,
+ 149,
+ 114,
+ 136,
+ 165,
+ 204,
+ 85,
+ 127
+ ],
+ "tag": [
+ 93,
+ 44,
+ 47,
+ 113,
+ 162,
+ 230,
+ 173,
+ 155,
+ 48,
+ 1,
+ 189,
+ 191,
+ 4,
+ 105,
+ 0,
+ 147
+ ]
+ },
+ {
+ "key": [
+ 146,
+ 89,
+ 27,
+ 21,
+ 226,
+ 140,
+ 228,
+ 113,
+ 49,
+ 108,
+ 87,
+ 95,
+ 57,
+ 99,
+ 16,
+ 58
+ ],
+ "nonce": [
+ 44,
+ 48,
+ 210,
+ 21,
+ 229,
+ 201,
+ 80,
+ 241,
+ 254,
+ 145,
+ 132,
+ 246
+ ],
+ "aad": [
+ 70,
+ 225,
+ 189,
+ 95,
+ 166,
+ 70,
+ 228,
+ 96,
+ 94,
+ 47,
+ 190,
+ 199,
+ 0,
+ 250,
+ 89,
+ 42,
+ 113,
+ 75,
+ 199,
+ 239
+ ],
+ "plaintext": [
+ 220,
+ 136,
+ 66,
+ 179,
+ 193,
+ 70,
+ 103,
+ 134,
+ 39,
+ 96,
+ 7,
+ 66,
+ 18,
+ 110,
+ 167,
+ 20
+ ],
+ "ciphertext": [
+ 165,
+ 65,
+ 211,
+ 216,
+ 240,
+ 121,
+ 191,
+ 224,
+ 83,
+ 186,
+ 136,
+ 53,
+ 224,
+ 43,
+ 52,
+ 157
+ ],
+ "tag": [
+ 211,
+ 34,
+ 169,
+ 36,
+ 191,
+ 68,
+ 128,
+ 156,
+ 184,
+ 207,
+ 232,
+ 196,
+ 185,
+ 114,
+ 163,
+ 7
+ ]
+ },
+ {
+ "key": [
+ 116,
+ 240,
+ 131,
+ 83,
+ 212,
+ 19,
+ 157,
+ 218,
+ 212,
+ 102,
+ 145,
+ 218,
+ 136,
+ 142,
+ 232,
+ 151
+ ],
+ "nonce": [
+ 226,
+ 97,
+ 146,
+ 23,
+ 220,
+ 139,
+ 9,
+ 62,
+ 44,
+ 124,
+ 91,
+ 120
+ ],
+ "aad": [
+ 146,
+ 39,
+ 124,
+ 247,
+ 138,
+ 190,
+ 36,
+ 114,
+ 12,
+ 226,
+ 25,
+ 187,
+ 163,
+ 167,
+ 163,
+ 57,
+ 162,
+ 224,
+ 17,
+ 178
+ ],
+ "plaintext": [
+ 22,
+ 144,
+ 214,
+ 200,
+ 249,
+ 94,
+ 245,
+ 172,
+ 53,
+ 197,
+ 110,
+ 49,
+ 41,
+ 113,
+ 123,
+ 68
+ ],
+ "ciphertext": [
+ 180,
+ 19,
+ 85,
+ 124,
+ 13,
+ 242,
+ 158,
+ 48,
+ 114,
+ 187,
+ 27,
+ 50,
+ 110,
+ 32,
+ 2,
+ 220
+ ],
+ "tag": [
+ 59,
+ 182,
+ 39,
+ 54,
+ 135,
+ 236,
+ 106,
+ 63,
+ 74,
+ 3,
+ 102,
+ 241,
+ 181,
+ 75,
+ 211,
+ 24
+ ]
+ },
+ {
+ "key": [
+ 92,
+ 149,
+ 28,
+ 208,
+ 56,
+ 163,
+ 198,
+ 92,
+ 214,
+ 83,
+ 37,
+ 191,
+ 221,
+ 232,
+ 105,
+ 100
+ ],
+ "nonce": [
+ 59,
+ 245,
+ 98,
+ 63,
+ 209,
+ 21,
+ 95,
+ 16,
+ 54,
+ 234,
+ 137,
+ 63
+ ],
+ "aad": [
+ 220,
+ 52,
+ 1,
+ 69,
+ 19,
+ 253,
+ 14,
+ 237,
+ 232,
+ 233,
+ 202,
+ 68,
+ 161,
+ 110,
+ 64,
+ 10,
+ 95,
+ 137,
+ 205,
+ 208
+ ],
+ "plaintext": [
+ 182,
+ 9,
+ 236,
+ 102,
+ 115,
+ 227,
+ 148,
+ 23,
+ 109,
+ 217,
+ 130,
+ 185,
+ 129,
+ 165,
+ 67,
+ 107
+ ],
+ "ciphertext": [
+ 0,
+ 156,
+ 246,
+ 35,
+ 229,
+ 122,
+ 49,
+ 41,
+ 98,
+ 106,
+ 48,
+ 72,
+ 155,
+ 115,
+ 6,
+ 7
+ ],
+ "tag": [
+ 29,
+ 32,
+ 40,
+ 37,
+ 219,
+ 129,
+ 60,
+ 15,
+ 197,
+ 33,
+ 194,
+ 132,
+ 221,
+ 84,
+ 63,
+ 255
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 48,
+ 28,
+ 9,
+ 59,
+ 168,
+ 4,
+ 103,
+ 28,
+ 68,
+ 166,
+ 191,
+ 82,
+ 131,
+ 157,
+ 156
+ ],
+ "nonce": [
+ 135,
+ 204,
+ 126,
+ 101,
+ 121,
+ 204,
+ 146,
+ 130,
+ 47,
+ 87,
+ 68,
+ 246
+ ],
+ "aad": [
+ 244,
+ 97,
+ 148,
+ 108,
+ 79,
+ 235,
+ 167,
+ 156,
+ 24,
+ 54,
+ 101,
+ 85,
+ 216,
+ 83,
+ 17,
+ 36,
+ 141,
+ 38,
+ 156,
+ 135
+ ],
+ "plaintext": [
+ 213,
+ 155,
+ 186,
+ 228,
+ 255,
+ 62,
+ 55,
+ 85,
+ 192,
+ 166,
+ 26,
+ 155,
+ 109,
+ 62,
+ 35,
+ 76
+ ],
+ "ciphertext": [
+ 238,
+ 116,
+ 61,
+ 41,
+ 220,
+ 186,
+ 160,
+ 132,
+ 253,
+ 169,
+ 30,
+ 180,
+ 139,
+ 59,
+ 233,
+ 97
+ ],
+ "tag": [
+ 7,
+ 147,
+ 74,
+ 83,
+ 114,
+ 212,
+ 25,
+ 40,
+ 242,
+ 238,
+ 125,
+ 75,
+ 184,
+ 193,
+ 137,
+ 130
+ ]
+ },
+ {
+ "key": [
+ 57,
+ 180,
+ 248,
+ 38,
+ 181,
+ 32,
+ 131,
+ 9,
+ 65,
+ 179,
+ 177,
+ 188,
+ 213,
+ 126,
+ 65,
+ 213
+ ],
+ "nonce": [
+ 202,
+ 50,
+ 172,
+ 82,
+ 63,
+ 231,
+ 223,
+ 239,
+ 228,
+ 21,
+ 203,
+ 161
+ ],
+ "aad": [
+ 197,
+ 134,
+ 205,
+ 147,
+ 155,
+ 39,
+ 130,
+ 22,
+ 149,
+ 180,
+ 238,
+ 77,
+ 215,
+ 153,
+ 251,
+ 14,
+ 52,
+ 73,
+ 168,
+ 14
+ ],
+ "plaintext": [
+ 170,
+ 43,
+ 122,
+ 108,
+ 145,
+ 142,
+ 214,
+ 113,
+ 84,
+ 65,
+ 208,
+ 70,
+ 133,
+ 139,
+ 82,
+ 95
+ ],
+ "ciphertext": [
+ 139,
+ 100,
+ 245,
+ 234,
+ 154,
+ 140,
+ 181,
+ 33,
+ 198,
+ 109,
+ 249,
+ 199,
+ 77,
+ 75,
+ 126,
+ 205
+ ],
+ "tag": [
+ 61,
+ 181,
+ 106,
+ 121,
+ 43,
+ 103,
+ 172,
+ 109,
+ 12,
+ 64,
+ 1,
+ 225,
+ 127,
+ 68,
+ 97,
+ 17
+ ]
+ },
+ {
+ "key": [
+ 121,
+ 68,
+ 158,
+ 95,
+ 103,
+ 13,
+ 85,
+ 238,
+ 45,
+ 145,
+ 202,
+ 153,
+ 74,
+ 38,
+ 122,
+ 140
+ ],
+ "nonce": [
+ 199,
+ 121,
+ 218,
+ 0,
+ 214,
+ 114,
+ 129,
+ 29,
+ 138,
+ 81,
+ 36,
+ 241
+ ],
+ "aad": [
+ 84,
+ 120,
+ 8,
+ 70,
+ 220,
+ 61,
+ 247,
+ 124,
+ 141,
+ 144,
+ 201,
+ 242,
+ 222,
+ 203,
+ 7,
+ 56,
+ 218,
+ 54,
+ 251,
+ 218
+ ],
+ "plaintext": [
+ 118,
+ 126,
+ 18,
+ 13,
+ 235,
+ 216,
+ 161,
+ 220,
+ 141,
+ 45,
+ 184,
+ 183,
+ 244,
+ 117,
+ 7,
+ 65
+ ],
+ "ciphertext": [
+ 235,
+ 134,
+ 68,
+ 18,
+ 173,
+ 208,
+ 138,
+ 187,
+ 79,
+ 137,
+ 215,
+ 45,
+ 65,
+ 45,
+ 0,
+ 133
+ ],
+ "tag": [
+ 73,
+ 74,
+ 84,
+ 127,
+ 97,
+ 120,
+ 64,
+ 38,
+ 125,
+ 63,
+ 237,
+ 82,
+ 128,
+ 227,
+ 235,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 204,
+ 144,
+ 194,
+ 243,
+ 127,
+ 151,
+ 15,
+ 151,
+ 172,
+ 151,
+ 227,
+ 227,
+ 184,
+ 142,
+ 138,
+ 227
+ ],
+ "nonce": [
+ 103,
+ 188,
+ 192,
+ 143,
+ 34,
+ 63,
+ 18,
+ 16,
+ 126,
+ 77,
+ 145,
+ 34
+ ],
+ "aad": [
+ 6,
+ 90,
+ 205,
+ 193,
+ 146,
+ 51,
+ 175,
+ 75,
+ 231,
+ 192,
+ 103,
+ 116,
+ 74,
+ 171,
+ 171,
+ 2,
+ 76,
+ 103,
+ 124,
+ 94
+ ],
+ "plaintext": [
+ 176,
+ 254,
+ 13,
+ 205,
+ 205,
+ 82,
+ 96,
+ 23,
+ 245,
+ 81,
+ 218,
+ 31,
+ 115,
+ 239,
+ 159,
+ 225
+ ],
+ "ciphertext": [
+ 80,
+ 28,
+ 218,
+ 44,
+ 149,
+ 79,
+ 131,
+ 14,
+ 137,
+ 34,
+ 195,
+ 215,
+ 64,
+ 91,
+ 94,
+ 225
+ ],
+ "tag": [
+ 157,
+ 238,
+ 229,
+ 208,
+ 228,
+ 119,
+ 138,
+ 159,
+ 119,
+ 3,
+ 103,
+ 241,
+ 156,
+ 116,
+ 218,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 137,
+ 133,
+ 13,
+ 211,
+ 152,
+ 225,
+ 241,
+ 226,
+ 132,
+ 67,
+ 163,
+ 61,
+ 64,
+ 22,
+ 38,
+ 100
+ ],
+ "nonce": [
+ 228,
+ 98,
+ 197,
+ 132,
+ 130,
+ 254,
+ 130,
+ 100,
+ 174,
+ 235,
+ 114,
+ 49
+ ],
+ "aad": [
+ 215,
+ 78,
+ 153,
+ 209,
+ 189,
+ 170,
+ 113,
+ 40,
+ 100,
+ 238,
+ 196,
+ 34,
+ 172,
+ 80,
+ 123,
+ 221,
+ 190,
+ 43,
+ 13,
+ 70,
+ 51,
+ 205,
+ 61,
+ 255,
+ 41,
+ 206,
+ 80,
+ 89,
+ 180,
+ 159,
+ 232,
+ 104,
+ 82,
+ 108,
+ 89,
+ 162,
+ 163,
+ 166,
+ 4,
+ 69,
+ 123,
+ 194,
+ 175,
+ 234,
+ 134,
+ 110,
+ 118,
+ 6
+ ],
+ "plaintext": [
+ 40,
+ 5,
+ 205,
+ 239,
+ 179,
+ 239,
+ 108,
+ 195,
+ 92,
+ 209,
+ 241,
+ 105,
+ 249,
+ 141,
+ 168,
+ 26
+ ],
+ "ciphertext": [
+ 186,
+ 128,
+ 226,
+ 68,
+ 183,
+ 252,
+ 144,
+ 37,
+ 205,
+ 3,
+ 29,
+ 15,
+ 99,
+ 103,
+ 126,
+ 6
+ ],
+ "tag": [
+ 216,
+ 74,
+ 140,
+ 62,
+ 172,
+ 87,
+ 209,
+ 187,
+ 14,
+ 137,
+ 10,
+ 143,
+ 70,
+ 29,
+ 16,
+ 101
+ ]
+ },
+ {
+ "key": [
+ 205,
+ 184,
+ 80,
+ 218,
+ 148,
+ 211,
+ 181,
+ 101,
+ 99,
+ 137,
+ 124,
+ 89,
+ 97,
+ 239,
+ 58,
+ 216
+ ],
+ "nonce": [
+ 132,
+ 21,
+ 135,
+ 183,
+ 23,
+ 79,
+ 179,
+ 143,
+ 183,
+ 179,
+ 98,
+ 110
+ ],
+ "aad": [
+ 222,
+ 51,
+ 230,
+ 210,
+ 12,
+ 20,
+ 121,
+ 100,
+ 132,
+ 41,
+ 61,
+ 255,
+ 72,
+ 202,
+ 255,
+ 199,
+ 132,
+ 54,
+ 127,
+ 75,
+ 215,
+ 185,
+ 87,
+ 81,
+ 46,
+ 192,
+ 38,
+ 192,
+ 171,
+ 196,
+ 163,
+ 146,
+ 23,
+ 175,
+ 13,
+ 179,
+ 91,
+ 225,
+ 84,
+ 196,
+ 88,
+ 51,
+ 185,
+ 122,
+ 11,
+ 100,
+ 84,
+ 223
+ ],
+ "plaintext": [
+ 193,
+ 104,
+ 55,
+ 203,
+ 72,
+ 108,
+ 4,
+ 189,
+ 48,
+ 220,
+ 174,
+ 75,
+ 205,
+ 11,
+ 192,
+ 152
+ ],
+ "ciphertext": [
+ 244,
+ 26,
+ 155,
+ 169,
+ 255,
+ 41,
+ 110,
+ 189,
+ 190,
+ 63,
+ 221,
+ 139,
+ 28,
+ 39,
+ 220,
+ 219
+ ],
+ "tag": [
+ 80,
+ 108,
+ 194,
+ 19,
+ 108,
+ 21,
+ 35,
+ 139,
+ 15,
+ 36,
+ 246,
+ 27,
+ 82,
+ 15,
+ 181,
+ 230
+ ]
+ },
+ {
+ "key": [
+ 69,
+ 85,
+ 23,
+ 16,
+ 70,
+ 74,
+ 158,
+ 161,
+ 5,
+ 163,
+ 14,
+ 5,
+ 97,
+ 103,
+ 207,
+ 176
+ ],
+ "nonce": [
+ 87,
+ 39,
+ 104,
+ 140,
+ 158,
+ 116,
+ 188,
+ 210,
+ 60,
+ 20,
+ 163,
+ 69
+ ],
+ "aad": [
+ 62,
+ 235,
+ 205,
+ 197,
+ 197,
+ 233,
+ 151,
+ 11,
+ 63,
+ 202,
+ 148,
+ 189,
+ 13,
+ 40,
+ 234,
+ 215,
+ 13,
+ 31,
+ 54,
+ 169,
+ 79,
+ 39,
+ 120,
+ 4,
+ 114,
+ 188,
+ 60,
+ 201,
+ 255,
+ 57,
+ 221,
+ 123,
+ 126,
+ 58,
+ 118,
+ 235,
+ 206,
+ 150,
+ 125,
+ 106,
+ 229,
+ 114,
+ 74,
+ 217,
+ 4,
+ 220,
+ 85,
+ 72
+ ],
+ "plaintext": [
+ 106,
+ 222,
+ 170,
+ 161,
+ 81,
+ 181,
+ 140,
+ 51,
+ 116,
+ 113,
+ 101,
+ 60,
+ 153,
+ 175,
+ 251,
+ 220
+ ],
+ "ciphertext": [
+ 236,
+ 24,
+ 241,
+ 214,
+ 117,
+ 221,
+ 5,
+ 107,
+ 174,
+ 179,
+ 116,
+ 130,
+ 156,
+ 228,
+ 90,
+ 51
+ ],
+ "tag": [
+ 55,
+ 139,
+ 220,
+ 76,
+ 52,
+ 117,
+ 58,
+ 18,
+ 132,
+ 182,
+ 84,
+ 175,
+ 4,
+ 155,
+ 133,
+ 58
+ ]
+ },
+ {
+ "key": [
+ 200,
+ 101,
+ 14,
+ 134,
+ 149,
+ 57,
+ 107,
+ 132,
+ 163,
+ 253,
+ 238,
+ 168,
+ 249,
+ 92,
+ 130,
+ 21
+ ],
+ "nonce": [
+ 90,
+ 28,
+ 38,
+ 211,
+ 132,
+ 137,
+ 16,
+ 19,
+ 125,
+ 249,
+ 247,
+ 108
+ ],
+ "aad": [
+ 61,
+ 172,
+ 227,
+ 155,
+ 114,
+ 132,
+ 234,
+ 39,
+ 134,
+ 166,
+ 188,
+ 103,
+ 12,
+ 237,
+ 28,
+ 124,
+ 192,
+ 194,
+ 140,
+ 74,
+ 228,
+ 231,
+ 73,
+ 74,
+ 109,
+ 131,
+ 78,
+ 176,
+ 146,
+ 96,
+ 182,
+ 136,
+ 152,
+ 185,
+ 20,
+ 213,
+ 166,
+ 176,
+ 181,
+ 51,
+ 78,
+ 255,
+ 150,
+ 105,
+ 242,
+ 51,
+ 174,
+ 184
+ ],
+ "plaintext": [
+ 136,
+ 174,
+ 205,
+ 151,
+ 67,
+ 93,
+ 151,
+ 226,
+ 223,
+ 248,
+ 118,
+ 63,
+ 100,
+ 10,
+ 86,
+ 64
+ ],
+ "ciphertext": [
+ 73,
+ 169,
+ 57,
+ 140,
+ 112,
+ 168,
+ 156,
+ 14,
+ 67,
+ 206,
+ 122,
+ 123,
+ 215,
+ 169,
+ 12,
+ 88
+ ],
+ "tag": [
+ 133,
+ 9,
+ 239,
+ 95,
+ 168,
+ 4,
+ 106,
+ 72,
+ 165,
+ 240,
+ 129,
+ 229,
+ 33,
+ 93,
+ 178,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 71,
+ 15,
+ 249,
+ 42,
+ 174,
+ 238,
+ 178,
+ 65,
+ 114,
+ 184,
+ 35,
+ 252,
+ 230,
+ 48,
+ 177
+ ],
+ "nonce": [
+ 199,
+ 0,
+ 136,
+ 233,
+ 38,
+ 51,
+ 104,
+ 139,
+ 235,
+ 227,
+ 38,
+ 91
+ ],
+ "aad": [
+ 162,
+ 98,
+ 252,
+ 2,
+ 163,
+ 208,
+ 219,
+ 17,
+ 52,
+ 147,
+ 212,
+ 23,
+ 156,
+ 201,
+ 236,
+ 128,
+ 104,
+ 37,
+ 242,
+ 15,
+ 88,
+ 100,
+ 187,
+ 16,
+ 92,
+ 97,
+ 22,
+ 234,
+ 114,
+ 240,
+ 40,
+ 73,
+ 80,
+ 236,
+ 200,
+ 160,
+ 93,
+ 197,
+ 72,
+ 2,
+ 56,
+ 83,
+ 166,
+ 87,
+ 182,
+ 124,
+ 224,
+ 30
+ ],
+ "plaintext": [
+ 255,
+ 79,
+ 116,
+ 175,
+ 21,
+ 28,
+ 41,
+ 42,
+ 11,
+ 53,
+ 186,
+ 112,
+ 73,
+ 201,
+ 165,
+ 173
+ ],
+ "ciphertext": [
+ 36,
+ 4,
+ 134,
+ 142,
+ 107,
+ 254,
+ 229,
+ 255,
+ 230,
+ 236,
+ 133,
+ 23,
+ 133,
+ 97,
+ 138,
+ 171
+ ],
+ "tag": [
+ 179,
+ 56,
+ 169,
+ 204,
+ 241,
+ 13,
+ 69,
+ 223,
+ 212,
+ 224,
+ 204,
+ 184,
+ 168,
+ 123,
+ 60,
+ 26
+ ]
+ },
+ {
+ "key": [
+ 36,
+ 123,
+ 3,
+ 48,
+ 170,
+ 53,
+ 168,
+ 168,
+ 85,
+ 20,
+ 47,
+ 147,
+ 61,
+ 24,
+ 37,
+ 129
+ ],
+ "nonce": [
+ 109,
+ 247,
+ 153,
+ 11,
+ 96,
+ 228,
+ 31,
+ 31,
+ 172,
+ 95,
+ 40,
+ 63
+ ],
+ "aad": [
+ 12,
+ 236,
+ 105,
+ 214,
+ 246,
+ 83,
+ 43,
+ 247,
+ 129,
+ 245,
+ 176,
+ 254,
+ 112,
+ 227,
+ 62,
+ 28,
+ 214,
+ 143,
+ 139,
+ 32,
+ 25,
+ 170,
+ 115,
+ 149,
+ 27,
+ 175,
+ 151,
+ 139,
+ 193,
+ 20,
+ 27,
+ 81,
+ 8,
+ 58,
+ 142,
+ 92,
+ 120,
+ 92,
+ 153,
+ 75,
+ 18,
+ 255,
+ 236,
+ 160,
+ 27,
+ 108,
+ 148,
+ 244
+ ],
+ "plaintext": [
+ 250,
+ 151,
+ 156,
+ 32,
+ 190,
+ 159,
+ 127,
+ 126,
+ 128,
+ 47,
+ 213,
+ 202,
+ 85,
+ 193,
+ 70,
+ 24
+ ],
+ "ciphertext": [
+ 202,
+ 75,
+ 102,
+ 160,
+ 150,
+ 6,
+ 202,
+ 174,
+ 138,
+ 16,
+ 12,
+ 233,
+ 148,
+ 218,
+ 148,
+ 82
+ ],
+ "tag": [
+ 83,
+ 65,
+ 136,
+ 244,
+ 57,
+ 185,
+ 41,
+ 24,
+ 61,
+ 33,
+ 16,
+ 157,
+ 150,
+ 33,
+ 69,
+ 234
+ ]
+ },
+ {
+ "key": [
+ 30,
+ 165,
+ 205,
+ 254,
+ 32,
+ 97,
+ 48,
+ 89,
+ 107,
+ 101,
+ 91,
+ 198,
+ 251,
+ 147,
+ 95,
+ 173
+ ],
+ "nonce": [
+ 14,
+ 201,
+ 48,
+ 114,
+ 231,
+ 38,
+ 236,
+ 88,
+ 53,
+ 45,
+ 90,
+ 144
+ ],
+ "aad": [
+ 217,
+ 218,
+ 71,
+ 65,
+ 253,
+ 164,
+ 130,
+ 30,
+ 179,
+ 145,
+ 162,
+ 63,
+ 127,
+ 107,
+ 55,
+ 123,
+ 237,
+ 146,
+ 50,
+ 96,
+ 182,
+ 248,
+ 200,
+ 172,
+ 155,
+ 188,
+ 164,
+ 237,
+ 239,
+ 27,
+ 194,
+ 164,
+ 138,
+ 69,
+ 200,
+ 103,
+ 108,
+ 181,
+ 152,
+ 166,
+ 104,
+ 226,
+ 143,
+ 225,
+ 16,
+ 62,
+ 250,
+ 35
+ ],
+ "plaintext": [
+ 26,
+ 192,
+ 68,
+ 181,
+ 248,
+ 182,
+ 147,
+ 250,
+ 35,
+ 105,
+ 134,
+ 173,
+ 22,
+ 33,
+ 237,
+ 216
+ ],
+ "ciphertext": [
+ 51,
+ 211,
+ 135,
+ 163,
+ 183,
+ 58,
+ 89,
+ 11,
+ 253,
+ 120,
+ 50,
+ 13,
+ 218,
+ 216,
+ 193,
+ 105
+ ],
+ "tag": [
+ 239,
+ 54,
+ 214,
+ 192,
+ 27,
+ 90,
+ 84,
+ 191,
+ 6,
+ 186,
+ 33,
+ 138,
+ 162,
+ 55,
+ 250,
+ 84
+ ]
+ },
+ {
+ "key": [
+ 213,
+ 167,
+ 7,
+ 210,
+ 227,
+ 22,
+ 63,
+ 189,
+ 159,
+ 186,
+ 47,
+ 18,
+ 232,
+ 221,
+ 152,
+ 12
+ ],
+ "nonce": [
+ 74,
+ 78,
+ 211,
+ 211,
+ 62,
+ 90,
+ 29,
+ 214,
+ 190,
+ 253,
+ 179,
+ 130
+ ],
+ "aad": [
+ 245,
+ 57,
+ 46,
+ 1,
+ 76,
+ 190,
+ 45,
+ 51,
+ 205,
+ 10,
+ 4,
+ 151,
+ 207,
+ 3,
+ 152,
+ 136,
+ 51,
+ 56,
+ 116,
+ 132,
+ 145,
+ 168,
+ 84,
+ 57,
+ 145,
+ 153,
+ 15,
+ 153,
+ 88,
+ 228,
+ 168,
+ 39,
+ 225,
+ 144,
+ 230,
+ 245,
+ 206,
+ 137,
+ 186,
+ 172,
+ 95,
+ 59,
+ 239,
+ 145,
+ 220,
+ 181,
+ 133,
+ 139
+ ],
+ "plaintext": [
+ 99,
+ 147,
+ 49,
+ 255,
+ 78,
+ 250,
+ 173,
+ 201,
+ 62,
+ 146,
+ 229,
+ 141,
+ 233,
+ 232,
+ 134,
+ 238
+ ],
+ "ciphertext": [
+ 201,
+ 134,
+ 196,
+ 200,
+ 5,
+ 9,
+ 42,
+ 81,
+ 16,
+ 49,
+ 118,
+ 181,
+ 101,
+ 7,
+ 221,
+ 149
+ ],
+ "tag": [
+ 93,
+ 164,
+ 254,
+ 78,
+ 40,
+ 30,
+ 153,
+ 93,
+ 12,
+ 117,
+ 88,
+ 123,
+ 73,
+ 69,
+ 202,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 61,
+ 44,
+ 96,
+ 67,
+ 152,
+ 194,
+ 71,
+ 227,
+ 174,
+ 125,
+ 144,
+ 204,
+ 30,
+ 17,
+ 246,
+ 207
+ ],
+ "nonce": [
+ 93,
+ 250,
+ 250,
+ 82,
+ 203,
+ 181,
+ 47,
+ 87,
+ 172,
+ 48,
+ 67,
+ 129
+ ],
+ "aad": [
+ 83,
+ 224,
+ 80,
+ 181,
+ 89,
+ 48,
+ 135,
+ 5,
+ 55,
+ 106,
+ 35,
+ 238,
+ 43,
+ 34,
+ 183,
+ 100,
+ 47,
+ 6,
+ 171,
+ 119,
+ 160,
+ 2,
+ 89,
+ 191,
+ 123,
+ 242,
+ 140,
+ 246,
+ 102,
+ 89,
+ 18,
+ 175,
+ 75,
+ 137,
+ 1,
+ 248,
+ 175,
+ 118,
+ 233,
+ 130,
+ 168,
+ 188,
+ 186,
+ 254,
+ 94,
+ 161,
+ 170,
+ 246
+ ],
+ "plaintext": [
+ 156,
+ 18,
+ 203,
+ 115,
+ 144,
+ 38,
+ 8,
+ 231,
+ 178,
+ 234,
+ 48,
+ 218,
+ 115,
+ 151,
+ 182,
+ 106
+ ],
+ "ciphertext": [
+ 127,
+ 230,
+ 181,
+ 168,
+ 129,
+ 200,
+ 166,
+ 184,
+ 227,
+ 226,
+ 159,
+ 26,
+ 56,
+ 25,
+ 56,
+ 59
+ ],
+ "tag": [
+ 197,
+ 40,
+ 253,
+ 223,
+ 129,
+ 102,
+ 165,
+ 192,
+ 236,
+ 63,
+ 2,
+ 149,
+ 178,
+ 195,
+ 215,
+ 166
+ ]
+ },
+ {
+ "key": [
+ 163,
+ 53,
+ 240,
+ 87,
+ 124,
+ 135,
+ 110,
+ 97,
+ 217,
+ 69,
+ 34,
+ 213,
+ 38,
+ 21,
+ 159,
+ 87
+ ],
+ "nonce": [
+ 110,
+ 168,
+ 90,
+ 116,
+ 81,
+ 63,
+ 102,
+ 74,
+ 144,
+ 127,
+ 239,
+ 128
+ ],
+ "aad": [
+ 3,
+ 138,
+ 242,
+ 112,
+ 174,
+ 206,
+ 150,
+ 135,
+ 227,
+ 76,
+ 85,
+ 236,
+ 48,
+ 73,
+ 78,
+ 159,
+ 114,
+ 182,
+ 169,
+ 10,
+ 196,
+ 50,
+ 128,
+ 169,
+ 184,
+ 233,
+ 88,
+ 53,
+ 61,
+ 140,
+ 2,
+ 168,
+ 62,
+ 209,
+ 99,
+ 198,
+ 146,
+ 75,
+ 114,
+ 1,
+ 117,
+ 150,
+ 21,
+ 119,
+ 156,
+ 213,
+ 102,
+ 30
+ ],
+ "plaintext": [
+ 219,
+ 56,
+ 207,
+ 59,
+ 177,
+ 72,
+ 37,
+ 166,
+ 193,
+ 26,
+ 201,
+ 120,
+ 251,
+ 81,
+ 102,
+ 71
+ ],
+ "ciphertext": [
+ 126,
+ 129,
+ 223,
+ 139,
+ 240,
+ 182,
+ 113,
+ 232,
+ 154,
+ 99,
+ 157,
+ 100,
+ 50,
+ 212,
+ 73,
+ 82
+ ],
+ "tag": [
+ 33,
+ 128,
+ 230,
+ 200,
+ 254,
+ 143,
+ 187,
+ 51,
+ 148,
+ 249,
+ 223,
+ 220,
+ 28,
+ 67,
+ 157,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 175,
+ 179,
+ 171,
+ 81,
+ 207,
+ 5,
+ 224,
+ 207,
+ 162,
+ 204,
+ 194,
+ 195,
+ 200,
+ 244,
+ 182,
+ 127
+ ],
+ "nonce": [
+ 38,
+ 165,
+ 209,
+ 102,
+ 127,
+ 234,
+ 224,
+ 98,
+ 193,
+ 70,
+ 99,
+ 188
+ ],
+ "aad": [
+ 19,
+ 11,
+ 21,
+ 189,
+ 231,
+ 151,
+ 73,
+ 208,
+ 87,
+ 123,
+ 255,
+ 108,
+ 152,
+ 171,
+ 80,
+ 240,
+ 53,
+ 171,
+ 174,
+ 4,
+ 27,
+ 13,
+ 95,
+ 102,
+ 109,
+ 178,
+ 124,
+ 38,
+ 44,
+ 14,
+ 210,
+ 168,
+ 1,
+ 194,
+ 79,
+ 239,
+ 252,
+ 254,
+ 36,
+ 140,
+ 243,
+ 175,
+ 90,
+ 252,
+ 182,
+ 176,
+ 221,
+ 26
+ ],
+ "plaintext": [
+ 38,
+ 130,
+ 27,
+ 47,
+ 226,
+ 28,
+ 38,
+ 210,
+ 8,
+ 67,
+ 175,
+ 38,
+ 111,
+ 206,
+ 31,
+ 22
+ ],
+ "ciphertext": [
+ 197,
+ 49,
+ 122,
+ 214,
+ 149,
+ 96,
+ 97,
+ 36,
+ 102,
+ 36,
+ 83,
+ 219,
+ 251,
+ 150,
+ 162,
+ 109
+ ],
+ "tag": [
+ 42,
+ 206,
+ 47,
+ 167,
+ 93,
+ 170,
+ 49,
+ 254,
+ 79,
+ 32,
+ 32,
+ 206,
+ 169,
+ 231,
+ 30,
+ 198
+ ]
+ },
+ {
+ "key": [
+ 11,
+ 77,
+ 3,
+ 59,
+ 240,
+ 24,
+ 43,
+ 176,
+ 111,
+ 139,
+ 151,
+ 20,
+ 213,
+ 37,
+ 238,
+ 116
+ ],
+ "nonce": [
+ 240,
+ 128,
+ 125,
+ 204,
+ 163,
+ 85,
+ 170,
+ 51,
+ 159,
+ 235,
+ 173,
+ 162
+ ],
+ "aad": [
+ 156,
+ 179,
+ 115,
+ 168,
+ 183,
+ 204,
+ 97,
+ 235,
+ 56,
+ 45,
+ 254,
+ 30,
+ 161,
+ 125,
+ 120,
+ 135,
+ 126,
+ 147,
+ 102,
+ 32,
+ 124,
+ 58,
+ 81,
+ 97,
+ 161,
+ 243,
+ 75,
+ 117,
+ 172,
+ 80,
+ 61,
+ 194,
+ 14,
+ 74,
+ 249,
+ 217,
+ 150,
+ 43,
+ 125,
+ 79,
+ 176,
+ 243,
+ 154,
+ 201,
+ 102,
+ 108,
+ 102,
+ 12
+ ],
+ "plaintext": [
+ 124,
+ 144,
+ 112,
+ 157,
+ 110,
+ 163,
+ 229,
+ 134,
+ 187,
+ 241,
+ 25,
+ 19,
+ 187,
+ 43,
+ 82,
+ 97
+ ],
+ "ciphertext": [
+ 191,
+ 221,
+ 224,
+ 110,
+ 49,
+ 18,
+ 64,
+ 52,
+ 143,
+ 4,
+ 39,
+ 117,
+ 4,
+ 253,
+ 117,
+ 251
+ ],
+ "tag": [
+ 29,
+ 197,
+ 137,
+ 140,
+ 73,
+ 226,
+ 218,
+ 180,
+ 174,
+ 26,
+ 89,
+ 149,
+ 71,
+ 167,
+ 106,
+ 177
+ ]
+ },
+ {
+ "key": [
+ 211,
+ 43,
+ 124,
+ 60,
+ 179,
+ 39,
+ 120,
+ 13,
+ 20,
+ 34,
+ 17,
+ 108,
+ 64,
+ 71,
+ 10,
+ 176
+ ],
+ "nonce": [
+ 252,
+ 199,
+ 149,
+ 115,
+ 5,
+ 16,
+ 17,
+ 104,
+ 94,
+ 224,
+ 217,
+ 225
+ ],
+ "aad": [
+ 205,
+ 170,
+ 233,
+ 136,
+ 216,
+ 191,
+ 1,
+ 226,
+ 74,
+ 75,
+ 175,
+ 72,
+ 152,
+ 147,
+ 238,
+ 50,
+ 155,
+ 125,
+ 13,
+ 207,
+ 222,
+ 246,
+ 132,
+ 254,
+ 62,
+ 56,
+ 43,
+ 32,
+ 12,
+ 189,
+ 90,
+ 126,
+ 163,
+ 228,
+ 107,
+ 226,
+ 129,
+ 176,
+ 198,
+ 204,
+ 0,
+ 65,
+ 125,
+ 103,
+ 244,
+ 211,
+ 219,
+ 2
+ ],
+ "plaintext": [
+ 240,
+ 21,
+ 244,
+ 171,
+ 59,
+ 193,
+ 89,
+ 219,
+ 156,
+ 246,
+ 180,
+ 187,
+ 103,
+ 80,
+ 219,
+ 70
+ ],
+ "ciphertext": [
+ 72,
+ 190,
+ 194,
+ 16,
+ 246,
+ 105,
+ 66,
+ 248,
+ 119,
+ 153,
+ 62,
+ 148,
+ 134,
+ 166,
+ 120,
+ 231
+ ],
+ "tag": [
+ 228,
+ 163,
+ 130,
+ 23,
+ 9,
+ 98,
+ 108,
+ 195,
+ 0,
+ 108,
+ 128,
+ 90,
+ 117,
+ 240,
+ 103,
+ 204
+ ]
+ },
+ {
+ "key": [
+ 8,
+ 106,
+ 12,
+ 221,
+ 141,
+ 82,
+ 10,
+ 138,
+ 105,
+ 93,
+ 23,
+ 232,
+ 105,
+ 224,
+ 62,
+ 252
+ ],
+ "nonce": [
+ 240,
+ 164,
+ 99,
+ 192,
+ 209,
+ 226,
+ 134,
+ 51,
+ 218,
+ 152,
+ 177,
+ 226
+ ],
+ "aad": [
+ 170,
+ 126,
+ 186,
+ 198,
+ 31,
+ 126,
+ 11,
+ 157,
+ 160,
+ 217,
+ 65,
+ 232,
+ 1,
+ 115,
+ 10,
+ 57,
+ 59,
+ 39,
+ 40,
+ 71,
+ 109,
+ 253,
+ 6,
+ 94,
+ 47,
+ 110,
+ 244,
+ 179,
+ 67,
+ 188,
+ 43,
+ 166,
+ 225,
+ 124,
+ 89,
+ 162,
+ 229,
+ 56,
+ 21,
+ 151,
+ 148,
+ 138,
+ 115,
+ 255,
+ 37,
+ 73,
+ 63,
+ 142
+ ],
+ "plaintext": [
+ 173,
+ 111,
+ 188,
+ 247,
+ 20,
+ 171,
+ 137,
+ 52,
+ 85,
+ 237,
+ 219,
+ 60,
+ 95,
+ 180,
+ 6,
+ 220
+ ],
+ "ciphertext": [
+ 240,
+ 177,
+ 163,
+ 104,
+ 184,
+ 50,
+ 237,
+ 53,
+ 213,
+ 76,
+ 128,
+ 6,
+ 122,
+ 6,
+ 162,
+ 174
+ ],
+ "tag": [
+ 227,
+ 200,
+ 9,
+ 16,
+ 219,
+ 156,
+ 225,
+ 243,
+ 173,
+ 37,
+ 25,
+ 254,
+ 30,
+ 226,
+ 223,
+ 215
+ ]
+ },
+ {
+ "key": [
+ 228,
+ 126,
+ 30,
+ 58,
+ 149,
+ 98,
+ 116,
+ 24,
+ 237,
+ 101,
+ 148,
+ 82,
+ 163,
+ 201,
+ 45,
+ 69
+ ],
+ "nonce": [
+ 120,
+ 173,
+ 207,
+ 63,
+ 115,
+ 45,
+ 211,
+ 120,
+ 124,
+ 181,
+ 73,
+ 11
+ ],
+ "aad": [
+ 65,
+ 145,
+ 58,
+ 108,
+ 92,
+ 77,
+ 221,
+ 174,
+ 6,
+ 243,
+ 192,
+ 246,
+ 142,
+ 142,
+ 206,
+ 19,
+ 156,
+ 169,
+ 2,
+ 254,
+ 52,
+ 10,
+ 130,
+ 14,
+ 124,
+ 64,
+ 216,
+ 149,
+ 179,
+ 94,
+ 143,
+ 76,
+ 186,
+ 120,
+ 9,
+ 199,
+ 238,
+ 208,
+ 178,
+ 183,
+ 173,
+ 69,
+ 198,
+ 209,
+ 82,
+ 236,
+ 48,
+ 83
+ ],
+ "plaintext": [
+ 128,
+ 30,
+ 252,
+ 171,
+ 30,
+ 50,
+ 154,
+ 83,
+ 106,
+ 123,
+ 80,
+ 108,
+ 74,
+ 117,
+ 9,
+ 236
+ ],
+ "ciphertext": [
+ 103,
+ 81,
+ 164,
+ 165,
+ 224,
+ 204,
+ 60,
+ 15,
+ 70,
+ 203,
+ 85,
+ 64,
+ 147,
+ 126,
+ 253,
+ 232
+ ],
+ "tag": [
+ 123,
+ 7,
+ 210,
+ 26,
+ 76,
+ 186,
+ 222,
+ 237,
+ 202,
+ 220,
+ 232,
+ 23,
+ 217,
+ 171,
+ 129,
+ 190
+ ]
+ },
+ {
+ "key": [
+ 189,
+ 124,
+ 92,
+ 99,
+ 183,
+ 84,
+ 43,
+ 86,
+ 160,
+ 14,
+ 190,
+ 113,
+ 51,
+ 106,
+ 21,
+ 136
+ ],
+ "nonce": [
+ 135,
+ 114,
+ 31,
+ 35,
+ 186,
+ 156,
+ 60,
+ 142,
+ 165,
+ 87,
+ 26,
+ 188
+ ],
+ "aad": [
+ 166,
+ 236,
+ 128,
+ 117,
+ 160,
+ 211,
+ 55,
+ 14,
+ 183,
+ 89,
+ 137,
+ 24,
+ 243,
+ 185,
+ 62,
+ 72,
+ 68,
+ 71,
+ 81,
+ 98,
+ 73,
+ 151,
+ 184,
+ 153,
+ 168,
+ 127,
+ 166,
+ 169,
+ 147,
+ 159,
+ 132,
+ 78,
+ 0,
+ 138,
+ 168,
+ 183,
+ 14,
+ 159,
+ 76,
+ 59,
+ 26,
+ 25,
+ 211,
+ 40,
+ 107,
+ 245,
+ 67,
+ 231,
+ 18,
+ 123,
+ 254,
+ 203,
+ 161,
+ 173,
+ 23,
+ 165,
+ 236,
+ 83,
+ 252,
+ 204,
+ 38,
+ 250,
+ 236,
+ 172,
+ 196,
+ 199,
+ 83,
+ 105,
+ 73,
+ 142,
+ 170,
+ 125,
+ 112,
+ 106,
+ 239,
+ 99,
+ 77,
+ 0,
+ 9,
+ 39,
+ 155,
+ 17,
+ 228,
+ 186,
+ 108,
+ 153,
+ 62,
+ 94,
+ 158,
+ 217
+ ],
+ "plaintext": [
+ 222,
+ 21,
+ 221,
+ 187,
+ 30,
+ 32,
+ 33,
+ 97,
+ 232,
+ 167,
+ 154,
+ 246,
+ 165,
+ 90,
+ 198,
+ 243
+ ],
+ "ciphertext": [
+ 65,
+ 235,
+ 40,
+ 192,
+ 254,
+ 228,
+ 215,
+ 98,
+ 222,
+ 151,
+ 35,
+ 97,
+ 200,
+ 99,
+ 188,
+ 128
+ ],
+ "tag": [
+ 156,
+ 181,
+ 103,
+ 34,
+ 13,
+ 11,
+ 37,
+ 46,
+ 185,
+ 123,
+ 255,
+ 70,
+ 228,
+ 176,
+ 15,
+ 248
+ ]
+ },
+ {
+ "key": [
+ 17,
+ 244,
+ 117,
+ 81,
+ 65,
+ 97,
+ 84,
+ 0,
+ 107,
+ 248,
+ 158,
+ 117,
+ 148,
+ 234,
+ 32,
+ 130
+ ],
+ "nonce": [
+ 213,
+ 70,
+ 252,
+ 211,
+ 255,
+ 42,
+ 106,
+ 23,
+ 70,
+ 30,
+ 158,
+ 148
+ ],
+ "aad": [
+ 73,
+ 239,
+ 220,
+ 228,
+ 142,
+ 130,
+ 30,
+ 177,
+ 78,
+ 202,
+ 95,
+ 29,
+ 214,
+ 97,
+ 248,
+ 182,
+ 185,
+ 165,
+ 166,
+ 145,
+ 123,
+ 8,
+ 236,
+ 148,
+ 134,
+ 194,
+ 145,
+ 36,
+ 239,
+ 30,
+ 122,
+ 154,
+ 242,
+ 33,
+ 116,
+ 148,
+ 238,
+ 202,
+ 211,
+ 216,
+ 238,
+ 249,
+ 252,
+ 34,
+ 210,
+ 156,
+ 225,
+ 141,
+ 146,
+ 0,
+ 109,
+ 225,
+ 88,
+ 140,
+ 59,
+ 6,
+ 248,
+ 219,
+ 159,
+ 232,
+ 9,
+ 190,
+ 222,
+ 64,
+ 144,
+ 140,
+ 239,
+ 79,
+ 70,
+ 210,
+ 196,
+ 182,
+ 249,
+ 47,
+ 245,
+ 168,
+ 48,
+ 67,
+ 98,
+ 116,
+ 145,
+ 67,
+ 218,
+ 178,
+ 102,
+ 222,
+ 69,
+ 191,
+ 91,
+ 74
+ ],
+ "plaintext": [
+ 211,
+ 120,
+ 58,
+ 61,
+ 122,
+ 30,
+ 9,
+ 31,
+ 156,
+ 182,
+ 71,
+ 191,
+ 69,
+ 96,
+ 68,
+ 87
+ ],
+ "ciphertext": [
+ 233,
+ 121,
+ 136,
+ 166,
+ 100,
+ 91,
+ 147,
+ 163,
+ 46,
+ 130,
+ 150,
+ 187,
+ 29,
+ 188,
+ 184,
+ 249
+ ],
+ "tag": [
+ 57,
+ 147,
+ 69,
+ 249,
+ 116,
+ 168,
+ 42,
+ 42,
+ 117,
+ 0,
+ 124,
+ 132,
+ 170,
+ 8,
+ 220,
+ 26
+ ]
+ },
+ {
+ "key": [
+ 7,
+ 54,
+ 161,
+ 240,
+ 116,
+ 145,
+ 157,
+ 254,
+ 35,
+ 191,
+ 42,
+ 130,
+ 142,
+ 172,
+ 43,
+ 38
+ ],
+ "nonce": [
+ 91,
+ 33,
+ 5,
+ 22,
+ 107,
+ 203,
+ 21,
+ 239,
+ 192,
+ 127,
+ 28,
+ 3
+ ],
+ "aad": [
+ 243,
+ 49,
+ 166,
+ 246,
+ 211,
+ 29,
+ 230,
+ 159,
+ 17,
+ 107,
+ 39,
+ 252,
+ 215,
+ 249,
+ 20,
+ 170,
+ 11,
+ 44,
+ 58,
+ 9,
+ 73,
+ 3,
+ 96,
+ 231,
+ 134,
+ 52,
+ 23,
+ 162,
+ 52,
+ 96,
+ 48,
+ 204,
+ 153,
+ 182,
+ 186,
+ 56,
+ 158,
+ 101,
+ 224,
+ 241,
+ 15,
+ 224,
+ 129,
+ 93,
+ 56,
+ 62,
+ 111,
+ 152,
+ 221,
+ 139,
+ 185,
+ 125,
+ 41,
+ 144,
+ 133,
+ 96,
+ 206,
+ 152,
+ 228,
+ 191,
+ 23,
+ 126,
+ 66,
+ 225,
+ 74,
+ 113,
+ 55,
+ 207,
+ 211,
+ 11,
+ 125,
+ 203,
+ 77,
+ 134,
+ 85,
+ 179,
+ 192,
+ 53,
+ 20,
+ 233,
+ 90,
+ 223,
+ 105,
+ 134,
+ 69,
+ 88,
+ 68,
+ 117,
+ 134,
+ 90
+ ],
+ "plaintext": [
+ 64,
+ 43,
+ 91,
+ 69,
+ 219,
+ 190,
+ 247,
+ 241,
+ 217,
+ 85,
+ 66,
+ 62,
+ 149,
+ 205,
+ 164,
+ 4
+ ],
+ "ciphertext": [
+ 110,
+ 158,
+ 121,
+ 226,
+ 159,
+ 48,
+ 133,
+ 24,
+ 62,
+ 10,
+ 122,
+ 199,
+ 246,
+ 186,
+ 29,
+ 103
+ ],
+ "tag": [
+ 132,
+ 67,
+ 78,
+ 12,
+ 130,
+ 184,
+ 88,
+ 236,
+ 39,
+ 230,
+ 28,
+ 84,
+ 236,
+ 246,
+ 205,
+ 148
+ ]
+ },
+ {
+ "key": [
+ 163,
+ 146,
+ 157,
+ 117,
+ 63,
+ 228,
+ 90,
+ 111,
+ 50,
+ 106,
+ 133,
+ 187,
+ 159,
+ 30,
+ 119,
+ 127
+ ],
+ "nonce": [
+ 174,
+ 216,
+ 95,
+ 137,
+ 132,
+ 79,
+ 6,
+ 17,
+ 19,
+ 0,
+ 77,
+ 44
+ ],
+ "aad": [
+ 236,
+ 239,
+ 114,
+ 167,
+ 174,
+ 158,
+ 107,
+ 209,
+ 94,
+ 99,
+ 200,
+ 233,
+ 251,
+ 42,
+ 58,
+ 124,
+ 83,
+ 235,
+ 154,
+ 136,
+ 188,
+ 5,
+ 41,
+ 111,
+ 246,
+ 242,
+ 85,
+ 68,
+ 246,
+ 129,
+ 255,
+ 245,
+ 40,
+ 154,
+ 9,
+ 157,
+ 56,
+ 171,
+ 182,
+ 131,
+ 22,
+ 238,
+ 216,
+ 33,
+ 94,
+ 173,
+ 156,
+ 160,
+ 70,
+ 32,
+ 101,
+ 190,
+ 231,
+ 159,
+ 219,
+ 99,
+ 180,
+ 64,
+ 83,
+ 132,
+ 5,
+ 63,
+ 220,
+ 104,
+ 254,
+ 65,
+ 36,
+ 168,
+ 131,
+ 245,
+ 10,
+ 43,
+ 75,
+ 196,
+ 223,
+ 110,
+ 41,
+ 56,
+ 60,
+ 44,
+ 238,
+ 164,
+ 36,
+ 228,
+ 172,
+ 83,
+ 155,
+ 38,
+ 201,
+ 206
+ ],
+ "plaintext": [
+ 240,
+ 36,
+ 231,
+ 150,
+ 244,
+ 73,
+ 113,
+ 43,
+ 112,
+ 213,
+ 199,
+ 254,
+ 91,
+ 229,
+ 254,
+ 20
+ ],
+ "ciphertext": [
+ 52,
+ 158,
+ 119,
+ 10,
+ 127,
+ 125,
+ 194,
+ 251,
+ 65,
+ 250,
+ 8,
+ 155,
+ 247,
+ 35,
+ 246,
+ 182
+ ],
+ "tag": [
+ 38,
+ 241,
+ 43,
+ 200,
+ 119,
+ 125,
+ 114,
+ 79,
+ 229,
+ 154,
+ 212,
+ 254,
+ 43,
+ 151,
+ 87,
+ 244
+ ]
+ },
+ {
+ "key": [
+ 133,
+ 171,
+ 214,
+ 199,
+ 185,
+ 3,
+ 20,
+ 178,
+ 155,
+ 189,
+ 41,
+ 63,
+ 241,
+ 19,
+ 99,
+ 126
+ ],
+ "nonce": [
+ 244,
+ 143,
+ 78,
+ 210,
+ 235,
+ 123,
+ 122,
+ 174,
+ 176,
+ 23,
+ 238,
+ 114
+ ],
+ "aad": [
+ 43,
+ 130,
+ 93,
+ 71,
+ 126,
+ 185,
+ 110,
+ 13,
+ 141,
+ 120,
+ 126,
+ 228,
+ 242,
+ 132,
+ 236,
+ 165,
+ 103,
+ 251,
+ 82,
+ 20,
+ 180,
+ 126,
+ 38,
+ 112,
+ 83,
+ 137,
+ 207,
+ 159,
+ 206,
+ 75,
+ 141,
+ 188,
+ 73,
+ 161,
+ 82,
+ 223,
+ 94,
+ 74,
+ 204,
+ 176,
+ 173,
+ 170,
+ 25,
+ 179,
+ 124,
+ 144,
+ 254,
+ 125,
+ 110,
+ 180,
+ 86,
+ 160,
+ 103,
+ 241,
+ 194,
+ 182,
+ 59,
+ 97,
+ 246,
+ 213,
+ 150,
+ 32,
+ 159,
+ 126,
+ 233,
+ 108,
+ 133,
+ 170,
+ 72,
+ 241,
+ 135,
+ 14,
+ 147,
+ 56,
+ 116,
+ 62,
+ 223,
+ 241,
+ 216,
+ 255,
+ 182,
+ 29,
+ 189,
+ 171,
+ 136,
+ 182,
+ 117,
+ 95,
+ 161,
+ 53
+ ],
+ "plaintext": [
+ 84,
+ 44,
+ 111,
+ 167,
+ 231,
+ 205,
+ 175,
+ 33,
+ 230,
+ 246,
+ 179,
+ 69,
+ 23,
+ 242,
+ 106,
+ 181
+ ],
+ "ciphertext": [
+ 131,
+ 116,
+ 249,
+ 111,
+ 3,
+ 120,
+ 7,
+ 36,
+ 168,
+ 232,
+ 209,
+ 241,
+ 23,
+ 104,
+ 212,
+ 79
+ ],
+ "tag": [
+ 180,
+ 27,
+ 83,
+ 196,
+ 106,
+ 231,
+ 110,
+ 255,
+ 80,
+ 92,
+ 254,
+ 228,
+ 122,
+ 141,
+ 170,
+ 163
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 47,
+ 41,
+ 113,
+ 15,
+ 235,
+ 124,
+ 134,
+ 23,
+ 90,
+ 55,
+ 196,
+ 30,
+ 50,
+ 250,
+ 221
+ ],
+ "nonce": [
+ 177,
+ 144,
+ 253,
+ 185,
+ 16,
+ 97,
+ 160,
+ 142,
+ 248,
+ 33,
+ 0,
+ 184
+ ],
+ "aad": [
+ 10,
+ 244,
+ 213,
+ 193,
+ 236,
+ 81,
+ 122,
+ 31,
+ 193,
+ 4,
+ 174,
+ 167,
+ 213,
+ 19,
+ 181,
+ 145,
+ 182,
+ 3,
+ 99,
+ 79,
+ 197,
+ 88,
+ 0,
+ 126,
+ 6,
+ 214,
+ 205,
+ 34,
+ 153,
+ 116,
+ 7,
+ 235,
+ 130,
+ 129,
+ 167,
+ 66,
+ 174,
+ 246,
+ 232,
+ 139,
+ 160,
+ 143,
+ 16,
+ 198,
+ 75,
+ 66,
+ 49,
+ 33,
+ 216,
+ 152,
+ 188,
+ 208,
+ 76,
+ 31,
+ 29,
+ 108,
+ 124,
+ 18,
+ 214,
+ 115,
+ 170,
+ 26,
+ 187,
+ 0,
+ 74,
+ 133,
+ 37,
+ 241,
+ 215,
+ 171,
+ 194,
+ 60,
+ 135,
+ 36,
+ 136,
+ 81,
+ 121,
+ 226,
+ 146,
+ 192,
+ 86,
+ 90,
+ 57,
+ 217,
+ 245,
+ 198,
+ 210,
+ 54,
+ 158,
+ 55
+ ],
+ "plaintext": [
+ 223,
+ 182,
+ 40,
+ 79,
+ 253,
+ 108,
+ 193,
+ 149,
+ 237,
+ 117,
+ 219,
+ 12,
+ 159,
+ 175,
+ 85,
+ 89
+ ],
+ "ciphertext": [
+ 251,
+ 108,
+ 182,
+ 82,
+ 123,
+ 146,
+ 220,
+ 46,
+ 246,
+ 162,
+ 39,
+ 232,
+ 6,
+ 120,
+ 121,
+ 170
+ ],
+ "tag": [
+ 224,
+ 16,
+ 55,
+ 246,
+ 233,
+ 214,
+ 44,
+ 24,
+ 177,
+ 99,
+ 167,
+ 20,
+ 248,
+ 90,
+ 146,
+ 204
+ ]
+ },
+ {
+ "key": [
+ 71,
+ 13,
+ 87,
+ 113,
+ 55,
+ 197,
+ 1,
+ 75,
+ 120,
+ 19,
+ 125,
+ 198,
+ 178,
+ 78,
+ 250,
+ 109
+ ],
+ "nonce": [
+ 74,
+ 250,
+ 127,
+ 87,
+ 102,
+ 248,
+ 52,
+ 90,
+ 27,
+ 18,
+ 4,
+ 43
+ ],
+ "aad": [
+ 207,
+ 221,
+ 93,
+ 66,
+ 224,
+ 208,
+ 18,
+ 122,
+ 28,
+ 13,
+ 60,
+ 75,
+ 173,
+ 48,
+ 46,
+ 242,
+ 58,
+ 182,
+ 61,
+ 135,
+ 159,
+ 173,
+ 113,
+ 16,
+ 159,
+ 71,
+ 146,
+ 229,
+ 178,
+ 17,
+ 86,
+ 218,
+ 253,
+ 206,
+ 192,
+ 34,
+ 252,
+ 50,
+ 48,
+ 40,
+ 169,
+ 251,
+ 202,
+ 254,
+ 12,
+ 54,
+ 6,
+ 237,
+ 97,
+ 181,
+ 130,
+ 191,
+ 160,
+ 11,
+ 166,
+ 229,
+ 201,
+ 161,
+ 177,
+ 59,
+ 151,
+ 109,
+ 103,
+ 193,
+ 76,
+ 121,
+ 144,
+ 90,
+ 118,
+ 147,
+ 153,
+ 217,
+ 103,
+ 176,
+ 221,
+ 69,
+ 240,
+ 231,
+ 73,
+ 103,
+ 182,
+ 125,
+ 123,
+ 182,
+ 125,
+ 148,
+ 102,
+ 97,
+ 143,
+ 161
+ ],
+ "plaintext": [
+ 71,
+ 69,
+ 203,
+ 154,
+ 62,
+ 227,
+ 167,
+ 106,
+ 225,
+ 102,
+ 218,
+ 213,
+ 161,
+ 182,
+ 43,
+ 28
+ ],
+ "ciphertext": [
+ 202,
+ 88,
+ 206,
+ 216,
+ 99,
+ 105,
+ 107,
+ 248,
+ 10,
+ 224,
+ 25,
+ 29,
+ 225,
+ 37,
+ 35,
+ 51
+ ],
+ "tag": [
+ 36,
+ 109,
+ 69,
+ 31,
+ 170,
+ 184,
+ 133,
+ 17,
+ 70,
+ 126,
+ 56,
+ 182,
+ 12,
+ 91,
+ 70,
+ 199
+ ]
+ },
+ {
+ "key": [
+ 92,
+ 249,
+ 207,
+ 164,
+ 211,
+ 103,
+ 117,
+ 47,
+ 19,
+ 84,
+ 3,
+ 126,
+ 19,
+ 43,
+ 201,
+ 72
+ ],
+ "nonce": [
+ 19,
+ 230,
+ 162,
+ 134,
+ 166,
+ 199,
+ 177,
+ 137,
+ 151,
+ 77,
+ 126,
+ 163
+ ],
+ "aad": [
+ 101,
+ 218,
+ 77,
+ 189,
+ 108,
+ 239,
+ 127,
+ 200,
+ 160,
+ 154,
+ 118,
+ 106,
+ 111,
+ 91,
+ 71,
+ 78,
+ 151,
+ 17,
+ 162,
+ 212,
+ 15,
+ 175,
+ 132,
+ 28,
+ 70,
+ 122,
+ 136,
+ 56,
+ 229,
+ 200,
+ 202,
+ 218,
+ 63,
+ 28,
+ 202,
+ 116,
+ 237,
+ 59,
+ 76,
+ 221,
+ 166,
+ 213,
+ 211,
+ 52,
+ 201,
+ 23,
+ 99,
+ 231,
+ 152,
+ 185,
+ 199,
+ 137,
+ 27,
+ 41,
+ 29,
+ 191,
+ 70,
+ 216,
+ 157,
+ 220,
+ 114,
+ 141,
+ 114,
+ 249,
+ 60,
+ 149,
+ 224,
+ 129,
+ 188,
+ 52,
+ 4,
+ 72,
+ 81,
+ 154,
+ 236,
+ 204,
+ 109,
+ 16,
+ 91,
+ 241,
+ 105,
+ 107,
+ 127,
+ 249,
+ 192,
+ 183,
+ 192,
+ 6,
+ 68,
+ 76
+ ],
+ "plaintext": [
+ 199,
+ 239,
+ 51,
+ 231,
+ 171,
+ 200,
+ 242,
+ 152,
+ 178,
+ 242,
+ 36,
+ 207,
+ 82,
+ 24,
+ 102,
+ 29
+ ],
+ "ciphertext": [
+ 173,
+ 136,
+ 244,
+ 231,
+ 185,
+ 128,
+ 190,
+ 5,
+ 179,
+ 223,
+ 15,
+ 192,
+ 90,
+ 73,
+ 209,
+ 235
+ ],
+ "tag": [
+ 10,
+ 209,
+ 83,
+ 120,
+ 241,
+ 143,
+ 67,
+ 56,
+ 150,
+ 110,
+ 142,
+ 23,
+ 149,
+ 29,
+ 141,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 209,
+ 218,
+ 253,
+ 158,
+ 7,
+ 171,
+ 15,
+ 144,
+ 58,
+ 155,
+ 0,
+ 214,
+ 227,
+ 83,
+ 214,
+ 127
+ ],
+ "nonce": [
+ 138,
+ 150,
+ 160,
+ 254,
+ 136,
+ 240,
+ 199,
+ 227,
+ 7,
+ 124,
+ 56,
+ 244
+ ],
+ "aad": [
+ 211,
+ 225,
+ 236,
+ 208,
+ 111,
+ 121,
+ 230,
+ 131,
+ 151,
+ 103,
+ 217,
+ 87,
+ 196,
+ 215,
+ 21,
+ 180,
+ 34,
+ 143,
+ 76,
+ 188,
+ 167,
+ 175,
+ 164,
+ 41,
+ 216,
+ 96,
+ 197,
+ 219,
+ 42,
+ 107,
+ 244,
+ 163,
+ 173,
+ 226,
+ 208,
+ 11,
+ 145,
+ 135,
+ 95,
+ 237,
+ 191,
+ 155,
+ 9,
+ 233,
+ 238,
+ 94,
+ 105,
+ 24,
+ 47,
+ 50,
+ 111,
+ 179,
+ 111,
+ 204,
+ 53,
+ 71,
+ 94,
+ 251,
+ 50,
+ 229,
+ 234,
+ 218,
+ 58,
+ 111,
+ 166,
+ 4,
+ 108,
+ 141,
+ 12,
+ 14,
+ 233,
+ 51,
+ 176,
+ 231,
+ 243,
+ 124,
+ 135,
+ 179,
+ 235,
+ 139,
+ 156,
+ 12,
+ 43,
+ 69,
+ 127,
+ 134,
+ 149,
+ 210,
+ 88,
+ 117
+ ],
+ "plaintext": [
+ 187,
+ 228,
+ 204,
+ 189,
+ 38,
+ 82,
+ 45,
+ 53,
+ 202,
+ 13,
+ 72,
+ 51,
+ 65,
+ 56,
+ 94,
+ 43
+ ],
+ "ciphertext": [
+ 157,
+ 1,
+ 108,
+ 217,
+ 73,
+ 51,
+ 192,
+ 124,
+ 16,
+ 185,
+ 42,
+ 244,
+ 14,
+ 175,
+ 172,
+ 125
+ ],
+ "tag": [
+ 2,
+ 46,
+ 45,
+ 213,
+ 138,
+ 200,
+ 98,
+ 150,
+ 46,
+ 127,
+ 160,
+ 83,
+ 107,
+ 173,
+ 135,
+ 203
+ ]
+ },
+ {
+ "key": [
+ 218,
+ 82,
+ 54,
+ 178,
+ 84,
+ 238,
+ 47,
+ 245,
+ 215,
+ 231,
+ 61,
+ 122,
+ 9,
+ 87,
+ 65,
+ 119
+ ],
+ "nonce": [
+ 210,
+ 217,
+ 31,
+ 92,
+ 48,
+ 34,
+ 18,
+ 85,
+ 127,
+ 214,
+ 43,
+ 206
+ ],
+ "aad": [
+ 157,
+ 223,
+ 160,
+ 82,
+ 144,
+ 226,
+ 40,
+ 229,
+ 236,
+ 235,
+ 126,
+ 150,
+ 222,
+ 58,
+ 9,
+ 122,
+ 250,
+ 169,
+ 109,
+ 141,
+ 62,
+ 13,
+ 95,
+ 252,
+ 14,
+ 1,
+ 22,
+ 244,
+ 56,
+ 20,
+ 245,
+ 176,
+ 148,
+ 121,
+ 25,
+ 38,
+ 124,
+ 45,
+ 191,
+ 14,
+ 95,
+ 82,
+ 169,
+ 114,
+ 150,
+ 231,
+ 130,
+ 111,
+ 40,
+ 145,
+ 221,
+ 74,
+ 4,
+ 60,
+ 132,
+ 80,
+ 70,
+ 201,
+ 171,
+ 154,
+ 232,
+ 50,
+ 115,
+ 70,
+ 199,
+ 105,
+ 90,
+ 114,
+ 135,
+ 91,
+ 144,
+ 98,
+ 221,
+ 85,
+ 120,
+ 190,
+ 137,
+ 133,
+ 237,
+ 249,
+ 250,
+ 164,
+ 145,
+ 121,
+ 129,
+ 170,
+ 204,
+ 111,
+ 17,
+ 47
+ ],
+ "plaintext": [
+ 58,
+ 170,
+ 42,
+ 123,
+ 38,
+ 5,
+ 104,
+ 108,
+ 52,
+ 68,
+ 187,
+ 22,
+ 223,
+ 140,
+ 87,
+ 165
+ ],
+ "ciphertext": [
+ 32,
+ 42,
+ 142,
+ 103,
+ 215,
+ 242,
+ 47,
+ 248,
+ 55,
+ 87,
+ 252,
+ 158,
+ 249,
+ 178,
+ 10,
+ 15
+ ],
+ "tag": [
+ 165,
+ 91,
+ 171,
+ 36,
+ 42,
+ 78,
+ 190,
+ 115,
+ 181,
+ 44,
+ 199,
+ 32,
+ 47,
+ 92,
+ 221,
+ 87
+ ]
+ },
+ {
+ "key": [
+ 195,
+ 229,
+ 119,
+ 218,
+ 42,
+ 43,
+ 127,
+ 221,
+ 5,
+ 201,
+ 157,
+ 198,
+ 252,
+ 129,
+ 204,
+ 221
+ ],
+ "nonce": [
+ 223,
+ 167,
+ 71,
+ 176,
+ 143,
+ 83,
+ 105,
+ 21,
+ 52,
+ 87,
+ 102,
+ 240
+ ],
+ "aad": [
+ 135,
+ 42,
+ 109,
+ 14,
+ 58,
+ 10,
+ 59,
+ 50,
+ 244,
+ 201,
+ 42,
+ 78,
+ 91,
+ 175,
+ 126,
+ 251,
+ 114,
+ 112,
+ 169,
+ 171,
+ 156,
+ 252,
+ 211,
+ 193,
+ 23,
+ 58,
+ 47,
+ 203,
+ 44,
+ 21,
+ 90,
+ 146,
+ 63,
+ 157,
+ 139,
+ 142,
+ 53,
+ 169,
+ 101,
+ 177,
+ 29,
+ 21,
+ 226,
+ 224,
+ 204,
+ 89,
+ 30,
+ 149,
+ 61,
+ 168,
+ 28,
+ 23,
+ 43,
+ 136,
+ 130,
+ 52,
+ 76,
+ 255,
+ 123,
+ 64,
+ 238,
+ 170,
+ 48,
+ 212,
+ 121,
+ 57,
+ 0,
+ 221,
+ 133,
+ 203,
+ 101,
+ 251,
+ 234,
+ 233,
+ 209,
+ 211,
+ 178,
+ 166,
+ 44,
+ 102,
+ 203,
+ 147,
+ 45,
+ 172,
+ 30,
+ 104,
+ 6,
+ 171,
+ 97,
+ 80
+ ],
+ "plaintext": [
+ 184,
+ 99,
+ 18,
+ 4,
+ 38,
+ 212,
+ 203,
+ 213,
+ 199,
+ 49,
+ 36,
+ 199,
+ 176,
+ 52,
+ 47,
+ 167
+ ],
+ "ciphertext": [
+ 67,
+ 218,
+ 136,
+ 128,
+ 71,
+ 203,
+ 28,
+ 252,
+ 125,
+ 212,
+ 35,
+ 41,
+ 49,
+ 12,
+ 130,
+ 52
+ ],
+ "tag": [
+ 248,
+ 38,
+ 118,
+ 53,
+ 170,
+ 123,
+ 81,
+ 184,
+ 156,
+ 128,
+ 250,
+ 151,
+ 152,
+ 97,
+ 235,
+ 63
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 225,
+ 192,
+ 145,
+ 124,
+ 168,
+ 212,
+ 154,
+ 166,
+ 159,
+ 56,
+ 207,
+ 156,
+ 102,
+ 235,
+ 77
+ ],
+ "nonce": [
+ 12,
+ 85,
+ 103,
+ 35,
+ 54,
+ 210,
+ 25,
+ 230,
+ 76,
+ 96,
+ 225,
+ 93
+ ],
+ "aad": [
+ 193,
+ 180,
+ 35,
+ 242,
+ 125,
+ 121,
+ 78,
+ 148,
+ 123,
+ 197,
+ 106,
+ 172,
+ 227,
+ 153,
+ 80,
+ 101,
+ 39,
+ 146,
+ 33,
+ 245,
+ 184,
+ 190,
+ 246,
+ 86,
+ 139,
+ 91,
+ 40,
+ 130,
+ 32,
+ 155,
+ 240,
+ 221,
+ 119,
+ 118,
+ 233,
+ 174,
+ 110,
+ 177,
+ 161,
+ 237,
+ 160,
+ 183,
+ 104,
+ 174,
+ 170,
+ 237,
+ 158,
+ 56,
+ 132,
+ 204,
+ 57,
+ 104,
+ 182,
+ 209,
+ 121,
+ 233,
+ 229,
+ 171,
+ 240,
+ 141,
+ 248,
+ 38,
+ 28,
+ 62,
+ 229,
+ 79,
+ 139,
+ 14,
+ 175,
+ 38,
+ 70,
+ 203,
+ 34,
+ 18,
+ 136,
+ 168,
+ 121,
+ 197,
+ 234,
+ 78,
+ 145,
+ 131,
+ 128,
+ 93,
+ 193,
+ 218,
+ 138,
+ 99,
+ 106,
+ 88
+ ],
+ "plaintext": [
+ 125,
+ 172,
+ 62,
+ 49,
+ 38,
+ 157,
+ 215,
+ 147,
+ 153,
+ 201,
+ 71,
+ 152,
+ 244,
+ 187,
+ 198,
+ 64
+ ],
+ "ciphertext": [
+ 55,
+ 210,
+ 21,
+ 161,
+ 51,
+ 98,
+ 191,
+ 8,
+ 123,
+ 203,
+ 168,
+ 249,
+ 89,
+ 1,
+ 235,
+ 5
+ ],
+ "tag": [
+ 27,
+ 62,
+ 236,
+ 183,
+ 174,
+ 147,
+ 134,
+ 219,
+ 193,
+ 64,
+ 158,
+ 112,
+ 245,
+ 130,
+ 127,
+ 88
+ ]
+ },
+ {
+ "key": [
+ 8,
+ 129,
+ 141,
+ 81,
+ 101,
+ 88,
+ 99,
+ 17,
+ 97,
+ 228,
+ 158,
+ 235,
+ 214,
+ 33,
+ 247,
+ 141
+ ],
+ "nonce": [
+ 241,
+ 248,
+ 85,
+ 235,
+ 138,
+ 236,
+ 204,
+ 157,
+ 223,
+ 122,
+ 168,
+ 14
+ ],
+ "aad": [
+ 104,
+ 254,
+ 223,
+ 106,
+ 66,
+ 183,
+ 128,
+ 238,
+ 176,
+ 17,
+ 170,
+ 11,
+ 36,
+ 38,
+ 54,
+ 102,
+ 142,
+ 92,
+ 137,
+ 65,
+ 214,
+ 4,
+ 91,
+ 5,
+ 201,
+ 72,
+ 248,
+ 44,
+ 93,
+ 179,
+ 151,
+ 120,
+ 49,
+ 67,
+ 90,
+ 180,
+ 4,
+ 152,
+ 149,
+ 182,
+ 7,
+ 232,
+ 84,
+ 247,
+ 16,
+ 227,
+ 216,
+ 183,
+ 162,
+ 106,
+ 250,
+ 162,
+ 231,
+ 145,
+ 48,
+ 147,
+ 49,
+ 62,
+ 147,
+ 195,
+ 225,
+ 6,
+ 168,
+ 53,
+ 109,
+ 108,
+ 68,
+ 87,
+ 147,
+ 152,
+ 206,
+ 67,
+ 65,
+ 170,
+ 203,
+ 59,
+ 114,
+ 110,
+ 127,
+ 66,
+ 250,
+ 183,
+ 89,
+ 52,
+ 146,
+ 13,
+ 242,
+ 48,
+ 203,
+ 75
+ ],
+ "plaintext": [
+ 26,
+ 137,
+ 201,
+ 201,
+ 98,
+ 58,
+ 38,
+ 183,
+ 200,
+ 6,
+ 44,
+ 95,
+ 106,
+ 95,
+ 127,
+ 152
+ ],
+ "ciphertext": [
+ 158,
+ 18,
+ 227,
+ 132,
+ 47,
+ 247,
+ 245,
+ 194,
+ 90,
+ 23,
+ 28,
+ 196,
+ 197,
+ 163,
+ 223,
+ 168
+ ],
+ "tag": [
+ 1,
+ 205,
+ 73,
+ 128,
+ 217,
+ 45,
+ 246,
+ 115,
+ 155,
+ 237,
+ 242,
+ 34,
+ 1,
+ 162,
+ 204,
+ 18
+ ]
+ },
+ {
+ "key": [
+ 191,
+ 164,
+ 161,
+ 43,
+ 53,
+ 118,
+ 5,
+ 177,
+ 30,
+ 101,
+ 250,
+ 146,
+ 185,
+ 13,
+ 34,
+ 252
+ ],
+ "nonce": [
+ 154,
+ 235,
+ 114,
+ 27,
+ 105,
+ 141,
+ 180,
+ 13,
+ 201,
+ 8,
+ 14,
+ 35
+ ],
+ "aad": [
+ 83,
+ 188,
+ 102,
+ 22,
+ 72,
+ 17,
+ 134,
+ 110,
+ 18,
+ 235,
+ 205,
+ 100,
+ 68,
+ 124,
+ 153,
+ 151,
+ 119,
+ 55,
+ 129,
+ 25,
+ 162,
+ 87,
+ 254,
+ 0,
+ 212,
+ 91,
+ 92,
+ 147,
+ 146,
+ 213,
+ 97,
+ 143,
+ 44,
+ 44,
+ 120,
+ 70,
+ 150,
+ 245,
+ 169,
+ 254,
+ 168,
+ 93,
+ 15,
+ 140,
+ 156,
+ 181,
+ 67,
+ 139,
+ 21,
+ 179,
+ 245,
+ 102,
+ 29,
+ 73,
+ 224,
+ 176,
+ 152,
+ 15,
+ 246,
+ 26,
+ 238,
+ 224,
+ 205,
+ 246,
+ 80,
+ 171,
+ 79,
+ 168,
+ 43,
+ 203,
+ 13,
+ 3,
+ 144,
+ 249,
+ 157,
+ 175,
+ 2,
+ 216,
+ 86,
+ 27,
+ 245,
+ 188,
+ 165,
+ 98,
+ 126,
+ 59,
+ 25,
+ 73,
+ 81,
+ 174
+ ],
+ "plaintext": [
+ 147,
+ 131,
+ 53,
+ 138,
+ 64,
+ 101,
+ 243,
+ 227,
+ 101,
+ 146,
+ 79,
+ 127,
+ 166,
+ 100,
+ 1,
+ 43
+ ],
+ "ciphertext": [
+ 223,
+ 70,
+ 157,
+ 152,
+ 103,
+ 68,
+ 195,
+ 50,
+ 68,
+ 104,
+ 33,
+ 132,
+ 145,
+ 44,
+ 221,
+ 104
+ ],
+ "tag": [
+ 140,
+ 18,
+ 248,
+ 51,
+ 143,
+ 251,
+ 120,
+ 64,
+ 224,
+ 133,
+ 253,
+ 237,
+ 170,
+ 106,
+ 179,
+ 204
+ ]
+ },
+ {
+ "key": [
+ 225,
+ 106,
+ 87,
+ 200,
+ 63,
+ 35,
+ 12,
+ 54,
+ 138,
+ 15,
+ 89,
+ 154,
+ 126,
+ 191,
+ 63,
+ 94
+ ],
+ "nonce": [
+ 38,
+ 49,
+ 184,
+ 17,
+ 234,
+ 87,
+ 203,
+ 125,
+ 88,
+ 250,
+ 35,
+ 42
+ ],
+ "aad": [
+ 213,
+ 188,
+ 16,
+ 26,
+ 210,
+ 111,
+ 125,
+ 3,
+ 153,
+ 158,
+ 172,
+ 18,
+ 47,
+ 78,
+ 6,
+ 15,
+ 32,
+ 164,
+ 2,
+ 255,
+ 138,
+ 42,
+ 3,
+ 36,
+ 167,
+ 119,
+ 84,
+ 225,
+ 235,
+ 139,
+ 122,
+ 101,
+ 247,
+ 135,
+ 67,
+ 172,
+ 46,
+ 227,
+ 75,
+ 84,
+ 41,
+ 236,
+ 159,
+ 214,
+ 18,
+ 15,
+ 230,
+ 209,
+ 126,
+ 113,
+ 247,
+ 56,
+ 206,
+ 191,
+ 10,
+ 227,
+ 154,
+ 91,
+ 229,
+ 164,
+ 221,
+ 232,
+ 83,
+ 132,
+ 217,
+ 140,
+ 217,
+ 13,
+ 33,
+ 135,
+ 133,
+ 176,
+ 141,
+ 170,
+ 102,
+ 47,
+ 36,
+ 24,
+ 113,
+ 86,
+ 17,
+ 143,
+ 186,
+ 152,
+ 27,
+ 150,
+ 145,
+ 207,
+ 18,
+ 248
+ ],
+ "plaintext": [
+ 42,
+ 55,
+ 227,
+ 128,
+ 245,
+ 117,
+ 228,
+ 54,
+ 81,
+ 22,
+ 254,
+ 137,
+ 165,
+ 142,
+ 232,
+ 220
+ ],
+ "ciphertext": [
+ 146,
+ 120,
+ 209,
+ 234,
+ 176,
+ 125,
+ 199,
+ 250,
+ 104,
+ 116,
+ 32,
+ 89,
+ 217,
+ 253,
+ 190,
+ 96
+ ],
+ "tag": [
+ 39,
+ 164,
+ 116,
+ 41,
+ 79,
+ 248,
+ 17,
+ 219,
+ 79,
+ 110,
+ 12,
+ 136,
+ 177,
+ 168,
+ 107,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 155,
+ 180,
+ 125,
+ 235,
+ 58,
+ 97,
+ 228,
+ 35,
+ 194,
+ 35,
+ 24,
+ 65,
+ 207,
+ 209,
+ 251
+ ],
+ "nonce": [
+ 77,
+ 50,
+ 142,
+ 183,
+ 118,
+ 245,
+ 0,
+ 162,
+ 247,
+ 251,
+ 71,
+ 170
+ ],
+ "aad": [],
+ "plaintext": [
+ 241,
+ 204,
+ 56,
+ 24,
+ 228,
+ 33,
+ 135,
+ 107,
+ 182,
+ 184,
+ 187,
+ 214,
+ 201
+ ],
+ "ciphertext": [
+ 184,
+ 140,
+ 92,
+ 25,
+ 119,
+ 179,
+ 91,
+ 81,
+ 123,
+ 10,
+ 234,
+ 233,
+ 103
+ ],
+ "tag": [
+ 67,
+ 253,
+ 71,
+ 39,
+ 254,
+ 92,
+ 219,
+ 75,
+ 91,
+ 66,
+ 129,
+ 141,
+ 234,
+ 126,
+ 248,
+ 201
+ ]
+ },
+ {
+ "key": [
+ 103,
+ 3,
+ 223,
+ 55,
+ 1,
+ 167,
+ 245,
+ 73,
+ 17,
+ 202,
+ 114,
+ 226,
+ 77,
+ 202,
+ 4,
+ 106
+ ],
+ "nonce": [
+ 18,
+ 130,
+ 58,
+ 182,
+ 1,
+ 195,
+ 80,
+ 234,
+ 75,
+ 194,
+ 72,
+ 140
+ ],
+ "aad": [],
+ "plaintext": [
+ 121,
+ 60,
+ 209,
+ 37,
+ 176,
+ 184,
+ 74,
+ 4,
+ 62,
+ 58,
+ 198,
+ 119,
+ 23
+ ],
+ "ciphertext": [
+ 178,
+ 5,
+ 28,
+ 128,
+ 1,
+ 79,
+ 66,
+ 240,
+ 135,
+ 53,
+ 167,
+ 176,
+ 205
+ ],
+ "tag": [
+ 56,
+ 230,
+ 188,
+ 210,
+ 153,
+ 98,
+ 229,
+ 242,
+ 193,
+ 54,
+ 38,
+ 184,
+ 90,
+ 135,
+ 113,
+ 1
+ ]
+ },
+ {
+ "key": [
+ 91,
+ 215,
+ 54,
+ 47,
+ 56,
+ 186,
+ 253,
+ 51,
+ 255,
+ 64,
+ 104,
+ 134,
+ 14,
+ 179,
+ 92,
+ 39
+ ],
+ "nonce": [
+ 96,
+ 100,
+ 54,
+ 129,
+ 102,
+ 196,
+ 134,
+ 51,
+ 176,
+ 144,
+ 203,
+ 154
+ ],
+ "aad": [],
+ "plaintext": [
+ 99,
+ 72,
+ 82,
+ 166,
+ 182,
+ 133,
+ 67,
+ 234,
+ 216,
+ 137,
+ 170,
+ 25,
+ 239
+ ],
+ "ciphertext": [
+ 58,
+ 68,
+ 249,
+ 17,
+ 55,
+ 108,
+ 55,
+ 30,
+ 109,
+ 89,
+ 117,
+ 57,
+ 211
+ ],
+ "tag": [
+ 69,
+ 43,
+ 103,
+ 233,
+ 211,
+ 106,
+ 158,
+ 197,
+ 168,
+ 147,
+ 39,
+ 43,
+ 77,
+ 47,
+ 33,
+ 3
+ ]
+ },
+ {
+ "key": [
+ 37,
+ 145,
+ 54,
+ 2,
+ 40,
+ 221,
+ 148,
+ 90,
+ 174,
+ 143,
+ 186,
+ 149,
+ 220,
+ 39,
+ 37,
+ 197
+ ],
+ "nonce": [
+ 42,
+ 218,
+ 188,
+ 21,
+ 193,
+ 110,
+ 92,
+ 89,
+ 84,
+ 200,
+ 171,
+ 1
+ ],
+ "aad": [],
+ "plaintext": [
+ 197,
+ 128,
+ 176,
+ 81,
+ 96,
+ 13,
+ 217,
+ 2,
+ 178,
+ 115,
+ 226,
+ 102,
+ 119
+ ],
+ "ciphertext": [
+ 154,
+ 198,
+ 106,
+ 169,
+ 61,
+ 117,
+ 71,
+ 188,
+ 10,
+ 69,
+ 186,
+ 245,
+ 172
+ ],
+ "tag": [
+ 166,
+ 9,
+ 65,
+ 60,
+ 156,
+ 19,
+ 129,
+ 114,
+ 135,
+ 243,
+ 156,
+ 252,
+ 244,
+ 218,
+ 46,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 133,
+ 246,
+ 78,
+ 53,
+ 149,
+ 63,
+ 44,
+ 173,
+ 237,
+ 99,
+ 249,
+ 135,
+ 89,
+ 38,
+ 17
+ ],
+ "nonce": [
+ 122,
+ 209,
+ 60,
+ 180,
+ 14,
+ 33,
+ 238,
+ 99,
+ 50,
+ 81,
+ 150,
+ 143
+ ],
+ "aad": [],
+ "plaintext": [
+ 123,
+ 221,
+ 180,
+ 3,
+ 124,
+ 43,
+ 224,
+ 15,
+ 78,
+ 246,
+ 248,
+ 92,
+ 205
+ ],
+ "ciphertext": [
+ 156,
+ 32,
+ 48,
+ 227,
+ 225,
+ 158,
+ 73,
+ 12,
+ 48,
+ 150,
+ 16,
+ 216,
+ 137
+ ],
+ "tag": [
+ 176,
+ 228,
+ 8,
+ 10,
+ 141,
+ 174,
+ 84,
+ 166,
+ 119,
+ 15,
+ 78,
+ 33,
+ 213,
+ 50,
+ 78,
+ 144
+ ]
+ },
+ {
+ "key": [
+ 123,
+ 141,
+ 50,
+ 56,
+ 45,
+ 41,
+ 192,
+ 1,
+ 152,
+ 241,
+ 212,
+ 31,
+ 198,
+ 181,
+ 43,
+ 140
+ ],
+ "nonce": [
+ 189,
+ 101,
+ 215,
+ 40,
+ 26,
+ 154,
+ 106,
+ 169,
+ 252,
+ 38,
+ 143,
+ 97
+ ],
+ "aad": [],
+ "plaintext": [
+ 16,
+ 242,
+ 125,
+ 171,
+ 185,
+ 201,
+ 233,
+ 250,
+ 203,
+ 210,
+ 27,
+ 19,
+ 205
+ ],
+ "ciphertext": [
+ 112,
+ 126,
+ 251,
+ 213,
+ 74,
+ 171,
+ 190,
+ 204,
+ 34,
+ 238,
+ 107,
+ 83,
+ 4
+ ],
+ "tag": [
+ 202,
+ 53,
+ 245,
+ 222,
+ 168,
+ 105,
+ 80,
+ 134,
+ 83,
+ 206,
+ 85,
+ 108,
+ 156,
+ 5,
+ 211,
+ 46
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 149,
+ 168,
+ 202,
+ 37,
+ 136,
+ 51,
+ 83,
+ 175,
+ 245,
+ 196,
+ 20,
+ 173,
+ 154,
+ 197,
+ 192
+ ],
+ "nonce": [
+ 190,
+ 46,
+ 211,
+ 164,
+ 211,
+ 143,
+ 166,
+ 92,
+ 243,
+ 65,
+ 229,
+ 238
+ ],
+ "aad": [],
+ "plaintext": [
+ 91,
+ 12,
+ 41,
+ 200,
+ 190,
+ 242,
+ 25,
+ 213,
+ 41,
+ 50,
+ 179,
+ 48,
+ 65
+ ],
+ "ciphertext": [
+ 73,
+ 24,
+ 172,
+ 226,
+ 89,
+ 97,
+ 250,
+ 224,
+ 109,
+ 189,
+ 137,
+ 29,
+ 22
+ ],
+ "tag": [
+ 174,
+ 111,
+ 6,
+ 154,
+ 204,
+ 250,
+ 203,
+ 166,
+ 26,
+ 56,
+ 50,
+ 61,
+ 214,
+ 95,
+ 76,
+ 2
+ ]
+ },
+ {
+ "key": [
+ 77,
+ 176,
+ 25,
+ 131,
+ 246,
+ 173,
+ 158,
+ 57,
+ 56,
+ 80,
+ 112,
+ 184,
+ 16,
+ 194,
+ 108,
+ 128
+ ],
+ "nonce": [
+ 35,
+ 66,
+ 220,
+ 63,
+ 182,
+ 96,
+ 227,
+ 146,
+ 85,
+ 9,
+ 182,
+ 237
+ ],
+ "aad": [],
+ "plaintext": [
+ 92,
+ 239,
+ 108,
+ 79,
+ 5,
+ 7,
+ 58,
+ 227,
+ 158,
+ 5,
+ 53,
+ 109,
+ 197
+ ],
+ "ciphertext": [
+ 18,
+ 228,
+ 31,
+ 67,
+ 115,
+ 241,
+ 229,
+ 220,
+ 252,
+ 247,
+ 88,
+ 226,
+ 200
+ ],
+ "tag": [
+ 54,
+ 254,
+ 27,
+ 137,
+ 129,
+ 148,
+ 111,
+ 209,
+ 108,
+ 241,
+ 42,
+ 216,
+ 15,
+ 4,
+ 213,
+ 158
+ ]
+ },
+ {
+ "key": [
+ 141,
+ 89,
+ 249,
+ 49,
+ 212,
+ 207,
+ 138,
+ 38,
+ 131,
+ 226,
+ 105,
+ 0,
+ 142,
+ 232,
+ 96,
+ 98
+ ],
+ "nonce": [
+ 122,
+ 200,
+ 98,
+ 160,
+ 156,
+ 52,
+ 8,
+ 182,
+ 103,
+ 232,
+ 205,
+ 56
+ ],
+ "aad": [],
+ "plaintext": [
+ 44,
+ 71,
+ 65,
+ 58,
+ 130,
+ 86,
+ 242,
+ 86,
+ 119,
+ 177,
+ 222,
+ 142,
+ 241
+ ],
+ "ciphertext": [
+ 40,
+ 79,
+ 244,
+ 223,
+ 228,
+ 37,
+ 95,
+ 86,
+ 180,
+ 165,
+ 101,
+ 133,
+ 167
+ ],
+ "tag": [
+ 22,
+ 192,
+ 164,
+ 165,
+ 130,
+ 110,
+ 41,
+ 29,
+ 75,
+ 63,
+ 126,
+ 173,
+ 104,
+ 146,
+ 195,
+ 146
+ ]
+ },
+ {
+ "key": [
+ 1,
+ 198,
+ 129,
+ 226,
+ 207,
+ 29,
+ 124,
+ 132,
+ 132,
+ 195,
+ 129,
+ 18,
+ 1,
+ 55,
+ 97,
+ 135
+ ],
+ "nonce": [
+ 86,
+ 168,
+ 244,
+ 138,
+ 49,
+ 152,
+ 185,
+ 119,
+ 245,
+ 6,
+ 77,
+ 2
+ ],
+ "aad": [],
+ "plaintext": [
+ 55,
+ 220,
+ 15,
+ 87,
+ 44,
+ 158,
+ 81,
+ 198,
+ 252,
+ 24,
+ 100,
+ 45,
+ 127
+ ],
+ "ciphertext": [
+ 84,
+ 146,
+ 44,
+ 101,
+ 2,
+ 54,
+ 5,
+ 193,
+ 235,
+ 161,
+ 70,
+ 212,
+ 72
+ ],
+ "tag": [
+ 221,
+ 219,
+ 246,
+ 84,
+ 3,
+ 14,
+ 115,
+ 190,
+ 13,
+ 214,
+ 210,
+ 107,
+ 103,
+ 239,
+ 208,
+ 230
+ ]
+ },
+ {
+ "key": [
+ 218,
+ 230,
+ 207,
+ 218,
+ 137,
+ 121,
+ 128,
+ 29,
+ 147,
+ 153,
+ 0,
+ 103,
+ 151,
+ 162,
+ 54,
+ 107
+ ],
+ "nonce": [
+ 28,
+ 180,
+ 29,
+ 172,
+ 19,
+ 255,
+ 167,
+ 46,
+ 114,
+ 164,
+ 5,
+ 208
+ ],
+ "aad": [],
+ "plaintext": [
+ 159,
+ 67,
+ 172,
+ 83,
+ 212,
+ 206,
+ 200,
+ 13,
+ 210,
+ 154,
+ 144,
+ 45,
+ 134
+ ],
+ "ciphertext": [
+ 225,
+ 86,
+ 165,
+ 240,
+ 113,
+ 16,
+ 150,
+ 202,
+ 221,
+ 72,
+ 153,
+ 55,
+ 167
+ ],
+ "tag": [
+ 223,
+ 162,
+ 210,
+ 163,
+ 66,
+ 183,
+ 138,
+ 198,
+ 231,
+ 39,
+ 99,
+ 101,
+ 242,
+ 250,
+ 109,
+ 192
+ ]
+ },
+ {
+ "key": [
+ 81,
+ 70,
+ 235,
+ 227,
+ 209,
+ 253,
+ 241,
+ 102,
+ 255,
+ 164,
+ 9,
+ 155,
+ 99,
+ 140,
+ 91,
+ 100
+ ],
+ "nonce": [
+ 16,
+ 1,
+ 68,
+ 73,
+ 129,
+ 125,
+ 136,
+ 19,
+ 40,
+ 194,
+ 184,
+ 130
+ ],
+ "aad": [],
+ "plaintext": [
+ 112,
+ 10,
+ 246,
+ 152,
+ 149,
+ 39,
+ 235,
+ 22,
+ 255,
+ 171,
+ 102,
+ 52,
+ 210
+ ],
+ "ciphertext": [
+ 138,
+ 179,
+ 92,
+ 40,
+ 143,
+ 9,
+ 8,
+ 77,
+ 163,
+ 192,
+ 203,
+ 210,
+ 64
+ ],
+ "tag": [
+ 238,
+ 200,
+ 35,
+ 47,
+ 41,
+ 7,
+ 178,
+ 225,
+ 203,
+ 44,
+ 148,
+ 6,
+ 34,
+ 83,
+ 13,
+ 37
+ ]
+ },
+ {
+ "key": [
+ 205,
+ 112,
+ 248,
+ 111,
+ 192,
+ 161,
+ 120,
+ 7,
+ 64,
+ 254,
+ 254,
+ 245,
+ 116,
+ 46,
+ 67,
+ 152
+ ],
+ "nonce": [
+ 194,
+ 171,
+ 209,
+ 25,
+ 242,
+ 45,
+ 49,
+ 11,
+ 52,
+ 244,
+ 28,
+ 92
+ ],
+ "aad": [],
+ "plaintext": [
+ 57,
+ 251,
+ 73,
+ 122,
+ 38,
+ 145,
+ 38,
+ 79,
+ 2,
+ 252,
+ 186,
+ 72,
+ 135
+ ],
+ "ciphertext": [
+ 1,
+ 51,
+ 154,
+ 58,
+ 145,
+ 25,
+ 131,
+ 111,
+ 107,
+ 3,
+ 138,
+ 26,
+ 80
+ ],
+ "tag": [
+ 228,
+ 90,
+ 10,
+ 18,
+ 200,
+ 78,
+ 186,
+ 175,
+ 24,
+ 133,
+ 244,
+ 87,
+ 80,
+ 123,
+ 154,
+ 94
+ ]
+ },
+ {
+ "key": [
+ 136,
+ 40,
+ 69,
+ 76,
+ 238,
+ 253,
+ 144,
+ 4,
+ 227,
+ 10,
+ 232,
+ 160,
+ 61,
+ 113,
+ 249,
+ 209
+ ],
+ "nonce": [
+ 141,
+ 158,
+ 60,
+ 97,
+ 170,
+ 104,
+ 122,
+ 143,
+ 43,
+ 158,
+ 227,
+ 10
+ ],
+ "aad": [],
+ "plaintext": [
+ 169,
+ 75,
+ 2,
+ 15,
+ 71,
+ 36,
+ 23,
+ 138,
+ 63,
+ 79,
+ 145,
+ 55,
+ 197
+ ],
+ "ciphertext": [
+ 196,
+ 169,
+ 79,
+ 137,
+ 224,
+ 51,
+ 5,
+ 170,
+ 65,
+ 92,
+ 123,
+ 53,
+ 12
+ ],
+ "tag": [
+ 26,
+ 204,
+ 28,
+ 117,
+ 185,
+ 252,
+ 130,
+ 106,
+ 242,
+ 233,
+ 80,
+ 204,
+ 123,
+ 230,
+ 207,
+ 100
+ ]
+ },
+ {
+ "key": [
+ 71,
+ 152,
+ 47,
+ 19,
+ 60,
+ 183,
+ 35,
+ 66,
+ 221,
+ 100,
+ 47,
+ 52,
+ 117,
+ 189,
+ 230,
+ 52
+ ],
+ "nonce": [
+ 131,
+ 4,
+ 48,
+ 74,
+ 206,
+ 162,
+ 222,
+ 247,
+ 120,
+ 242,
+ 191,
+ 158
+ ],
+ "aad": [],
+ "plaintext": [
+ 44,
+ 151,
+ 165,
+ 251,
+ 109,
+ 248,
+ 81,
+ 83,
+ 165,
+ 195,
+ 191,
+ 65,
+ 76
+ ],
+ "ciphertext": [
+ 55,
+ 224,
+ 150,
+ 41,
+ 96,
+ 237,
+ 207,
+ 10,
+ 9,
+ 168,
+ 83,
+ 140,
+ 172
+ ],
+ "tag": [
+ 7,
+ 69,
+ 159,
+ 164,
+ 56,
+ 225,
+ 241,
+ 89,
+ 166,
+ 100,
+ 154,
+ 142,
+ 214,
+ 249,
+ 52,
+ 184
+ ]
+ },
+ {
+ "key": [
+ 223,
+ 239,
+ 222,
+ 35,
+ 198,
+ 18,
+ 43,
+ 240,
+ 55,
+ 10,
+ 181,
+ 137,
+ 14,
+ 128,
+ 75,
+ 115
+ ],
+ "nonce": [
+ 146,
+ 214,
+ 168,
+ 2,
+ 153,
+ 144,
+ 103,
+ 15,
+ 22,
+ 222,
+ 121,
+ 226
+ ],
+ "aad": [
+ 162,
+ 177,
+ 109,
+ 120,
+ 37,
+ 29,
+ 230,
+ 193,
+ 145,
+ 206,
+ 53,
+ 14,
+ 92,
+ 94,
+ 242,
+ 66
+ ],
+ "plaintext": [
+ 100,
+ 38,
+ 10,
+ 140,
+ 40,
+ 125,
+ 233,
+ 120,
+ 233,
+ 108,
+ 117,
+ 33,
+ 208
+ ],
+ "ciphertext": [
+ 191,
+ 120,
+ 222,
+ 148,
+ 138,
+ 132,
+ 124,
+ 23,
+ 54,
+ 73,
+ 212,
+ 180,
+ 208
+ ],
+ "tag": [
+ 157,
+ 163,
+ 130,
+ 153,
+ 104,
+ 205,
+ 197,
+ 7,
+ 148,
+ 209,
+ 195,
+ 13,
+ 65,
+ 205,
+ 69,
+ 21
+ ]
+ },
+ {
+ "key": [
+ 48,
+ 22,
+ 98,
+ 0,
+ 21,
+ 219,
+ 29,
+ 133,
+ 238,
+ 240,
+ 155,
+ 188,
+ 229,
+ 10,
+ 226,
+ 148
+ ],
+ "nonce": [
+ 235,
+ 72,
+ 29,
+ 179,
+ 165,
+ 34,
+ 1,
+ 23,
+ 62,
+ 45,
+ 74,
+ 215
+ ],
+ "aad": [
+ 250,
+ 61,
+ 149,
+ 184,
+ 26,
+ 97,
+ 150,
+ 56,
+ 206,
+ 163,
+ 246,
+ 141,
+ 251,
+ 192,
+ 33,
+ 51
+ ],
+ "plaintext": [
+ 56,
+ 181,
+ 124,
+ 13,
+ 65,
+ 81,
+ 215,
+ 238,
+ 87,
+ 224,
+ 50,
+ 130,
+ 159
+ ],
+ "ciphertext": [
+ 119,
+ 56,
+ 96,
+ 26,
+ 177,
+ 71,
+ 72,
+ 34,
+ 49,
+ 100,
+ 209,
+ 246,
+ 157
+ ],
+ "tag": [
+ 99,
+ 202,
+ 158,
+ 140,
+ 39,
+ 217,
+ 250,
+ 131,
+ 124,
+ 164,
+ 160,
+ 187,
+ 112,
+ 57,
+ 227,
+ 144
+ ]
+ },
+ {
+ "key": [
+ 179,
+ 186,
+ 56,
+ 41,
+ 9,
+ 233,
+ 78,
+ 245,
+ 211,
+ 24,
+ 238,
+ 50,
+ 203,
+ 84,
+ 163,
+ 62
+ ],
+ "nonce": [
+ 60,
+ 241,
+ 11,
+ 23,
+ 0,
+ 113,
+ 20,
+ 134,
+ 17,
+ 156,
+ 253,
+ 158
+ ],
+ "aad": [
+ 209,
+ 225,
+ 124,
+ 1,
+ 137,
+ 176,
+ 69,
+ 97,
+ 105,
+ 155,
+ 210,
+ 247,
+ 145,
+ 214,
+ 148,
+ 145
+ ],
+ "plaintext": [
+ 74,
+ 144,
+ 173,
+ 63,
+ 151,
+ 201,
+ 199,
+ 232,
+ 46,
+ 252,
+ 187,
+ 49,
+ 139
+ ],
+ "ciphertext": [
+ 189,
+ 246,
+ 168,
+ 161,
+ 18,
+ 136,
+ 232,
+ 49,
+ 38,
+ 147,
+ 44,
+ 217,
+ 70
+ ],
+ "tag": [
+ 202,
+ 127,
+ 247,
+ 69,
+ 140,
+ 58,
+ 223,
+ 56,
+ 142,
+ 239,
+ 126,
+ 14,
+ 50,
+ 214,
+ 178,
+ 196
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 143,
+ 201,
+ 224,
+ 126,
+ 181,
+ 11,
+ 9,
+ 44,
+ 217,
+ 252,
+ 203,
+ 61,
+ 178,
+ 55,
+ 62
+ ],
+ "nonce": [
+ 55,
+ 29,
+ 10,
+ 248,
+ 11,
+ 178,
+ 15,
+ 46,
+ 173,
+ 9,
+ 220,
+ 34
+ ],
+ "aad": [
+ 159,
+ 66,
+ 151,
+ 104,
+ 71,
+ 83,
+ 29,
+ 223,
+ 228,
+ 40,
+ 105,
+ 79,
+ 97,
+ 38,
+ 11,
+ 42
+ ],
+ "plaintext": [
+ 120,
+ 38,
+ 191,
+ 1,
+ 233,
+ 98,
+ 162,
+ 1,
+ 245,
+ 200,
+ 231,
+ 247,
+ 66
+ ],
+ "ciphertext": [
+ 102,
+ 92,
+ 219,
+ 62,
+ 37,
+ 104,
+ 238,
+ 17,
+ 87,
+ 216,
+ 119,
+ 221,
+ 37
+ ],
+ "tag": [
+ 198,
+ 111,
+ 193,
+ 41,
+ 236,
+ 179,
+ 14,
+ 160,
+ 213,
+ 75,
+ 109,
+ 105,
+ 50,
+ 217,
+ 215,
+ 168
+ ]
+ },
+ {
+ "key": [
+ 61,
+ 31,
+ 201,
+ 50,
+ 51,
+ 232,
+ 108,
+ 184,
+ 130,
+ 228,
+ 205,
+ 117,
+ 77,
+ 246,
+ 55,
+ 84
+ ],
+ "nonce": [
+ 30,
+ 222,
+ 140,
+ 173,
+ 199,
+ 139,
+ 180,
+ 115,
+ 60,
+ 52,
+ 27,
+ 172
+ ],
+ "aad": [
+ 88,
+ 7,
+ 200,
+ 86,
+ 148,
+ 79,
+ 238,
+ 30,
+ 108,
+ 46,
+ 112,
+ 173,
+ 154,
+ 8,
+ 222,
+ 0
+ ],
+ "plaintext": [
+ 116,
+ 35,
+ 43,
+ 254,
+ 220,
+ 55,
+ 126,
+ 253,
+ 90,
+ 99,
+ 171,
+ 119,
+ 204
+ ],
+ "ciphertext": [
+ 255,
+ 62,
+ 9,
+ 49,
+ 29,
+ 89,
+ 191,
+ 31,
+ 61,
+ 255,
+ 71,
+ 79,
+ 212
+ ],
+ "tag": [
+ 125,
+ 186,
+ 247,
+ 90,
+ 182,
+ 8,
+ 69,
+ 4,
+ 224,
+ 128,
+ 70,
+ 14,
+ 191,
+ 210,
+ 85,
+ 175
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 107,
+ 169,
+ 252,
+ 113,
+ 92,
+ 110,
+ 45,
+ 112,
+ 167,
+ 152,
+ 107,
+ 20,
+ 184,
+ 44,
+ 230
+ ],
+ "nonce": [
+ 69,
+ 179,
+ 35,
+ 157,
+ 4,
+ 91,
+ 213,
+ 110,
+ 165,
+ 160,
+ 231,
+ 127
+ ],
+ "aad": [
+ 162,
+ 87,
+ 13,
+ 149,
+ 72,
+ 189,
+ 108,
+ 5,
+ 248,
+ 36,
+ 87,
+ 120,
+ 113,
+ 120,
+ 78,
+ 228
+ ],
+ "plaintext": [
+ 148,
+ 18,
+ 85,
+ 54,
+ 151,
+ 4,
+ 236,
+ 25,
+ 43,
+ 171,
+ 28,
+ 240,
+ 57
+ ],
+ "ciphertext": [
+ 179,
+ 234,
+ 208,
+ 121,
+ 68,
+ 96,
+ 83,
+ 168,
+ 32,
+ 111,
+ 74,
+ 55,
+ 166
+ ],
+ "tag": [
+ 250,
+ 93,
+ 152,
+ 240,
+ 83,
+ 232,
+ 82,
+ 15,
+ 69,
+ 225,
+ 89,
+ 126,
+ 227,
+ 139,
+ 55,
+ 81
+ ]
+ },
+ {
+ "key": [
+ 150,
+ 160,
+ 88,
+ 137,
+ 167,
+ 89,
+ 28,
+ 25,
+ 24,
+ 71,
+ 47,
+ 210,
+ 105,
+ 119,
+ 69,
+ 26
+ ],
+ "nonce": [
+ 125,
+ 128,
+ 73,
+ 42,
+ 254,
+ 252,
+ 232,
+ 13,
+ 166,
+ 104,
+ 159,
+ 252
+ ],
+ "aad": [
+ 244,
+ 255,
+ 163,
+ 106,
+ 71,
+ 140,
+ 121,
+ 94,
+ 13,
+ 40,
+ 211,
+ 127,
+ 169,
+ 230,
+ 252,
+ 194
+ ],
+ "plaintext": [
+ 176,
+ 155,
+ 45,
+ 197,
+ 197,
+ 70,
+ 58,
+ 3,
+ 221,
+ 92,
+ 155,
+ 14,
+ 207
+ ],
+ "ciphertext": [
+ 247,
+ 203,
+ 5,
+ 61,
+ 68,
+ 125,
+ 221,
+ 203,
+ 110,
+ 58,
+ 45,
+ 137,
+ 31
+ ],
+ "tag": [
+ 42,
+ 56,
+ 246,
+ 58,
+ 27,
+ 124,
+ 220,
+ 206,
+ 196,
+ 38,
+ 104,
+ 59,
+ 52,
+ 164,
+ 79,
+ 245
+ ]
+ },
+ {
+ "key": [
+ 124,
+ 152,
+ 86,
+ 127,
+ 181,
+ 174,
+ 150,
+ 1,
+ 252,
+ 164,
+ 18,
+ 231,
+ 45,
+ 201,
+ 254,
+ 47
+ ],
+ "nonce": [
+ 18,
+ 24,
+ 206,
+ 105,
+ 7,
+ 62,
+ 239,
+ 210,
+ 90,
+ 121,
+ 68,
+ 230
+ ],
+ "aad": [
+ 223,
+ 66,
+ 3,
+ 195,
+ 64,
+ 45,
+ 43,
+ 50,
+ 139,
+ 203,
+ 68,
+ 231,
+ 104,
+ 62,
+ 8,
+ 171
+ ],
+ "plaintext": [
+ 13,
+ 247,
+ 93,
+ 57,
+ 216,
+ 250,
+ 204,
+ 58,
+ 204,
+ 189,
+ 239,
+ 200,
+ 124
+ ],
+ "ciphertext": [
+ 126,
+ 92,
+ 160,
+ 209,
+ 193,
+ 255,
+ 131,
+ 188,
+ 54,
+ 51,
+ 242,
+ 48,
+ 28
+ ],
+ "tag": [
+ 126,
+ 167,
+ 23,
+ 69,
+ 140,
+ 169,
+ 61,
+ 136,
+ 68,
+ 218,
+ 93,
+ 247,
+ 239,
+ 116,
+ 0,
+ 90
+ ]
+ },
+ {
+ "key": [
+ 78,
+ 27,
+ 25,
+ 156,
+ 18,
+ 241,
+ 43,
+ 89,
+ 28,
+ 5,
+ 28,
+ 126,
+ 220,
+ 96,
+ 141,
+ 17
+ ],
+ "nonce": [
+ 164,
+ 189,
+ 58,
+ 247,
+ 243,
+ 93,
+ 15,
+ 162,
+ 31,
+ 115,
+ 100,
+ 30
+ ],
+ "aad": [
+ 218,
+ 226,
+ 205,
+ 116,
+ 145,
+ 149,
+ 188,
+ 251,
+ 103,
+ 166,
+ 99,
+ 120,
+ 158,
+ 133,
+ 153,
+ 94
+ ],
+ "plaintext": [
+ 5,
+ 30,
+ 213,
+ 215,
+ 0,
+ 167,
+ 229,
+ 153,
+ 144,
+ 240,
+ 53,
+ 137,
+ 40
+ ],
+ "ciphertext": [
+ 174,
+ 80,
+ 53,
+ 159,
+ 16,
+ 75,
+ 162,
+ 8,
+ 154,
+ 233,
+ 142,
+ 180,
+ 90
+ ],
+ "tag": [
+ 192,
+ 138,
+ 124,
+ 206,
+ 124,
+ 56,
+ 98,
+ 102,
+ 4,
+ 3,
+ 45,
+ 43,
+ 233,
+ 189,
+ 81,
+ 156
+ ]
+ },
+ {
+ "key": [
+ 148,
+ 145,
+ 203,
+ 93,
+ 79,
+ 43,
+ 148,
+ 204,
+ 90,
+ 80,
+ 220,
+ 103,
+ 191,
+ 237,
+ 208,
+ 116
+ ],
+ "nonce": [
+ 131,
+ 119,
+ 57,
+ 150,
+ 7,
+ 65,
+ 142,
+ 141,
+ 81,
+ 218,
+ 197,
+ 234
+ ],
+ "aad": [
+ 151,
+ 45,
+ 156,
+ 72,
+ 105,
+ 97,
+ 51,
+ 74,
+ 252,
+ 16,
+ 71,
+ 101,
+ 194,
+ 134,
+ 50,
+ 83
+ ],
+ "plaintext": [
+ 42,
+ 30,
+ 80,
+ 204,
+ 181,
+ 165,
+ 43,
+ 227,
+ 211,
+ 56,
+ 232,
+ 240,
+ 166
+ ],
+ "ciphertext": [
+ 175,
+ 231,
+ 89,
+ 181,
+ 19,
+ 24,
+ 246,
+ 125,
+ 135,
+ 42,
+ 29,
+ 253,
+ 174
+ ],
+ "tag": [
+ 119,
+ 164,
+ 73,
+ 58,
+ 237,
+ 126,
+ 58,
+ 110,
+ 1,
+ 77,
+ 10,
+ 26,
+ 49,
+ 76,
+ 63,
+ 134
+ ]
+ },
+ {
+ "key": [
+ 9,
+ 147,
+ 87,
+ 17,
+ 131,
+ 8,
+ 156,
+ 74,
+ 123,
+ 216,
+ 232,
+ 120,
+ 152,
+ 84,
+ 194,
+ 101
+ ],
+ "nonce": [
+ 215,
+ 44,
+ 230,
+ 219,
+ 51,
+ 179,
+ 62,
+ 42,
+ 45,
+ 67,
+ 13,
+ 46
+ ],
+ "aad": [
+ 228,
+ 114,
+ 82,
+ 210,
+ 168,
+ 239,
+ 81,
+ 144,
+ 250,
+ 243,
+ 40,
+ 23,
+ 101,
+ 136,
+ 96,
+ 155
+ ],
+ "plaintext": [
+ 218,
+ 247,
+ 243,
+ 236,
+ 46,
+ 37,
+ 146,
+ 198,
+ 88,
+ 71,
+ 115,
+ 79,
+ 64
+ ],
+ "ciphertext": [
+ 198,
+ 250,
+ 222,
+ 192,
+ 199,
+ 82,
+ 15,
+ 113,
+ 113,
+ 68,
+ 240,
+ 16,
+ 74
+ ],
+ "tag": [
+ 102,
+ 112,
+ 200,
+ 203,
+ 247,
+ 233,
+ 235,
+ 67,
+ 30,
+ 137,
+ 159,
+ 97,
+ 172,
+ 204,
+ 244,
+ 86
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 91,
+ 108,
+ 133,
+ 41,
+ 61,
+ 96,
+ 147,
+ 16,
+ 235,
+ 49,
+ 121,
+ 207,
+ 186,
+ 196,
+ 251
+ ],
+ "nonce": [
+ 176,
+ 35,
+ 40,
+ 48,
+ 44,
+ 196,
+ 105,
+ 205,
+ 161,
+ 199,
+ 235,
+ 72
+ ],
+ "aad": [
+ 116,
+ 202,
+ 91,
+ 70,
+ 171,
+ 49,
+ 161,
+ 27,
+ 75,
+ 76,
+ 37,
+ 54,
+ 102,
+ 132,
+ 75,
+ 50
+ ],
+ "plaintext": [
+ 112,
+ 245,
+ 175,
+ 140,
+ 29,
+ 169,
+ 135,
+ 246,
+ 171,
+ 93,
+ 234,
+ 49,
+ 222
+ ],
+ "ciphertext": [
+ 218,
+ 107,
+ 53,
+ 144,
+ 114,
+ 172,
+ 207,
+ 95,
+ 3,
+ 108,
+ 133,
+ 96,
+ 13
+ ],
+ "tag": [
+ 216,
+ 228,
+ 150,
+ 197,
+ 55,
+ 151,
+ 177,
+ 36,
+ 227,
+ 86,
+ 150,
+ 126,
+ 229,
+ 37,
+ 192,
+ 202
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 38,
+ 21,
+ 90,
+ 155,
+ 129,
+ 1,
+ 60,
+ 30,
+ 219,
+ 20,
+ 63,
+ 159,
+ 90,
+ 233,
+ 210
+ ],
+ "nonce": [
+ 201,
+ 83,
+ 131,
+ 235,
+ 48,
+ 80,
+ 235,
+ 234,
+ 77,
+ 235,
+ 128,
+ 233
+ ],
+ "aad": [
+ 100,
+ 167,
+ 63,
+ 4,
+ 151,
+ 116,
+ 100,
+ 54,
+ 172,
+ 148,
+ 195,
+ 193,
+ 142,
+ 30,
+ 246,
+ 225
+ ],
+ "plaintext": [
+ 170,
+ 128,
+ 203,
+ 235,
+ 251,
+ 1,
+ 176,
+ 53,
+ 164,
+ 225,
+ 229,
+ 14,
+ 53
+ ],
+ "ciphertext": [
+ 69,
+ 236,
+ 141,
+ 230,
+ 51,
+ 199,
+ 187,
+ 88,
+ 92,
+ 10,
+ 127,
+ 234,
+ 31
+ ],
+ "tag": [
+ 83,
+ 123,
+ 97,
+ 3,
+ 176,
+ 247,
+ 197,
+ 220,
+ 232,
+ 43,
+ 250,
+ 55,
+ 194,
+ 115,
+ 72,
+ 119
+ ]
+ },
+ {
+ "key": [
+ 145,
+ 146,
+ 206,
+ 77,
+ 56,
+ 55,
+ 82,
+ 233,
+ 217,
+ 198,
+ 107,
+ 147,
+ 239,
+ 127,
+ 5,
+ 171
+ ],
+ "nonce": [
+ 173,
+ 171,
+ 211,
+ 186,
+ 164,
+ 55,
+ 70,
+ 151,
+ 197,
+ 59,
+ 66,
+ 137
+ ],
+ "aad": [
+ 20,
+ 202,
+ 208,
+ 203,
+ 23,
+ 54,
+ 204,
+ 222,
+ 115,
+ 248,
+ 104,
+ 151,
+ 234,
+ 1,
+ 117,
+ 112
+ ],
+ "plaintext": [
+ 197,
+ 91,
+ 93,
+ 22,
+ 227,
+ 206,
+ 226,
+ 43,
+ 173,
+ 31,
+ 84,
+ 32,
+ 186
+ ],
+ "ciphertext": [
+ 58,
+ 162,
+ 42,
+ 87,
+ 100,
+ 98,
+ 41,
+ 253,
+ 51,
+ 187,
+ 250,
+ 230,
+ 206
+ ],
+ "tag": [
+ 92,
+ 231,
+ 205,
+ 67,
+ 152,
+ 35,
+ 83,
+ 143,
+ 188,
+ 25,
+ 72,
+ 134,
+ 52,
+ 143,
+ 240,
+ 41
+ ]
+ },
+ {
+ "key": [
+ 61,
+ 209,
+ 4,
+ 41,
+ 126,
+ 128,
+ 61,
+ 194,
+ 43,
+ 143,
+ 17,
+ 241,
+ 149,
+ 28,
+ 133,
+ 8
+ ],
+ "nonce": [
+ 138,
+ 189,
+ 31,
+ 216,
+ 205,
+ 136,
+ 239,
+ 132,
+ 142,
+ 140,
+ 224,
+ 130
+ ],
+ "aad": [
+ 150,
+ 246,
+ 200,
+ 42,
+ 169,
+ 60,
+ 204,
+ 164,
+ 112,
+ 86,
+ 239,
+ 195,
+ 172,
+ 151,
+ 22,
+ 19
+ ],
+ "plaintext": [
+ 225,
+ 235,
+ 83,
+ 112,
+ 76,
+ 205,
+ 93,
+ 121,
+ 146,
+ 241,
+ 201,
+ 16,
+ 151
+ ],
+ "ciphertext": [
+ 142,
+ 65,
+ 37,
+ 81,
+ 72,
+ 112,
+ 0,
+ 63,
+ 11,
+ 14,
+ 128,
+ 68,
+ 168
+ ],
+ "tag": [
+ 217,
+ 81,
+ 4,
+ 124,
+ 216,
+ 213,
+ 12,
+ 165,
+ 247,
+ 255,
+ 222,
+ 191,
+ 120,
+ 114,
+ 92,
+ 86
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 1,
+ 33,
+ 244,
+ 46,
+ 89,
+ 159,
+ 136,
+ 255,
+ 2,
+ 169,
+ 133,
+ 64,
+ 62,
+ 25,
+ 187
+ ],
+ "nonce": [
+ 59,
+ 185,
+ 235,
+ 119,
+ 36,
+ 203,
+ 225,
+ 148,
+ 61,
+ 67,
+ 222,
+ 33
+ ],
+ "aad": [
+ 38,
+ 98,
+ 216,
+ 149,
+ 3,
+ 91,
+ 101,
+ 25,
+ 243,
+ 81,
+ 14,
+ 174,
+ 15,
+ 170,
+ 57,
+ 0,
+ 173,
+ 35,
+ 207,
+ 223
+ ],
+ "plaintext": [
+ 253,
+ 51,
+ 28,
+ 168,
+ 100,
+ 96,
+ 145,
+ 194,
+ 159,
+ 33,
+ 229,
+ 240,
+ 161
+ ],
+ "ciphertext": [
+ 89,
+ 254,
+ 41,
+ 176,
+ 123,
+ 13,
+ 232,
+ 216,
+ 105,
+ 239,
+ 187,
+ 217,
+ 180
+ ],
+ "tag": [
+ 210,
+ 76,
+ 62,
+ 156,
+ 28,
+ 115,
+ 192,
+ 175,
+ 16,
+ 151,
+ 226,
+ 96,
+ 97,
+ 200,
+ 87,
+ 222
+ ]
+ },
+ {
+ "key": [
+ 84,
+ 78,
+ 200,
+ 47,
+ 131,
+ 127,
+ 190,
+ 86,
+ 31,
+ 55,
+ 27,
+ 38,
+ 108,
+ 197,
+ 46,
+ 213
+ ],
+ "nonce": [
+ 183,
+ 86,
+ 149,
+ 42,
+ 14,
+ 152,
+ 207,
+ 76,
+ 176,
+ 36,
+ 164,
+ 153
+ ],
+ "aad": [
+ 205,
+ 10,
+ 36,
+ 253,
+ 15,
+ 106,
+ 105,
+ 58,
+ 21,
+ 120,
+ 185,
+ 223,
+ 210,
+ 162,
+ 18,
+ 233,
+ 144,
+ 170,
+ 102,
+ 43
+ ],
+ "plaintext": [
+ 162,
+ 232,
+ 31,
+ 120,
+ 184,
+ 227,
+ 227,
+ 158,
+ 108,
+ 223,
+ 47,
+ 41,
+ 130
+ ],
+ "ciphertext": [
+ 164,
+ 240,
+ 137,
+ 151,
+ 226,
+ 217,
+ 60,
+ 60,
+ 98,
+ 33,
+ 55,
+ 249,
+ 168
+ ],
+ "tag": [
+ 5,
+ 156,
+ 242,
+ 102,
+ 36,
+ 2,
+ 54,
+ 253,
+ 63,
+ 65,
+ 163,
+ 244,
+ 250,
+ 187,
+ 54,
+ 191
+ ]
+ },
+ {
+ "key": [
+ 145,
+ 183,
+ 62,
+ 32,
+ 97,
+ 176,
+ 43,
+ 30,
+ 94,
+ 76,
+ 21,
+ 12,
+ 225,
+ 223,
+ 77,
+ 39
+ ],
+ "nonce": [
+ 139,
+ 21,
+ 89,
+ 124,
+ 132,
+ 219,
+ 98,
+ 226,
+ 216,
+ 176,
+ 56,
+ 87
+ ],
+ "aad": [
+ 235,
+ 167,
+ 241,
+ 160,
+ 96,
+ 232,
+ 31,
+ 74,
+ 231,
+ 167,
+ 115,
+ 70,
+ 215,
+ 77,
+ 174,
+ 146,
+ 99,
+ 236,
+ 40,
+ 76
+ ],
+ "plaintext": [
+ 33,
+ 225,
+ 180,
+ 180,
+ 5,
+ 5,
+ 4,
+ 8,
+ 176,
+ 142,
+ 94,
+ 42,
+ 151
+ ],
+ "ciphertext": [
+ 15,
+ 129,
+ 155,
+ 37,
+ 252,
+ 104,
+ 60,
+ 24,
+ 37,
+ 51,
+ 80,
+ 58,
+ 216
+ ],
+ "tag": [
+ 90,
+ 29,
+ 166,
+ 41,
+ 15,
+ 239,
+ 128,
+ 31,
+ 33,
+ 49,
+ 97,
+ 79,
+ 124,
+ 210,
+ 208,
+ 191
+ ]
+ },
+ {
+ "key": [
+ 230,
+ 161,
+ 228,
+ 38,
+ 14,
+ 251,
+ 43,
+ 179,
+ 7,
+ 58,
+ 26,
+ 180,
+ 117,
+ 233,
+ 1,
+ 185
+ ],
+ "nonce": [
+ 190,
+ 68,
+ 95,
+ 186,
+ 188,
+ 56,
+ 102,
+ 215,
+ 2,
+ 150,
+ 91,
+ 8
+ ],
+ "aad": [
+ 148,
+ 82,
+ 19,
+ 114,
+ 37,
+ 222,
+ 100,
+ 79,
+ 148,
+ 85,
+ 107,
+ 56,
+ 42,
+ 193,
+ 57,
+ 21,
+ 232,
+ 38,
+ 25,
+ 19
+ ],
+ "plaintext": [
+ 40,
+ 151,
+ 215,
+ 124,
+ 127,
+ 32,
+ 103,
+ 156,
+ 191,
+ 39,
+ 24,
+ 26,
+ 202
+ ],
+ "ciphertext": [
+ 213,
+ 110,
+ 45,
+ 109,
+ 82,
+ 146,
+ 50,
+ 5,
+ 41,
+ 31,
+ 255,
+ 165,
+ 10
+ ],
+ "tag": [
+ 166,
+ 172,
+ 241,
+ 156,
+ 84,
+ 52,
+ 249,
+ 94,
+ 51,
+ 56,
+ 39,
+ 237,
+ 156,
+ 123,
+ 136,
+ 236
+ ]
+ },
+ {
+ "key": [
+ 73,
+ 193,
+ 139,
+ 237,
+ 148,
+ 18,
+ 52,
+ 106,
+ 142,
+ 240,
+ 35,
+ 81,
+ 205,
+ 70,
+ 128,
+ 214
+ ],
+ "nonce": [
+ 123,
+ 90,
+ 126,
+ 155,
+ 238,
+ 197,
+ 182,
+ 39,
+ 247,
+ 139,
+ 253,
+ 29
+ ],
+ "aad": [
+ 37,
+ 27,
+ 158,
+ 147,
+ 93,
+ 114,
+ 193,
+ 237,
+ 5,
+ 121,
+ 92,
+ 116,
+ 200,
+ 139,
+ 109,
+ 74,
+ 3,
+ 189,
+ 114,
+ 155
+ ],
+ "plaintext": [
+ 186,
+ 254,
+ 133,
+ 28,
+ 128,
+ 15,
+ 109,
+ 246,
+ 126,
+ 148,
+ 31,
+ 180,
+ 150
+ ],
+ "ciphertext": [
+ 111,
+ 12,
+ 46,
+ 235,
+ 10,
+ 55,
+ 213,
+ 29,
+ 120,
+ 49,
+ 76,
+ 52,
+ 20
+ ],
+ "tag": [
+ 26,
+ 117,
+ 217,
+ 98,
+ 211,
+ 66,
+ 5,
+ 214,
+ 15,
+ 121,
+ 228,
+ 222,
+ 135,
+ 56,
+ 16,
+ 70
+ ]
+ },
+ {
+ "key": [
+ 237,
+ 3,
+ 52,
+ 35,
+ 158,
+ 182,
+ 241,
+ 238,
+ 29,
+ 104,
+ 109,
+ 241,
+ 99,
+ 210,
+ 25,
+ 183
+ ],
+ "nonce": [
+ 97,
+ 70,
+ 51,
+ 142,
+ 64,
+ 252,
+ 216,
+ 191,
+ 38,
+ 75,
+ 200,
+ 59
+ ],
+ "aad": [
+ 205,
+ 186,
+ 142,
+ 181,
+ 113,
+ 48,
+ 117,
+ 73,
+ 126,
+ 181,
+ 171,
+ 241,
+ 67,
+ 64,
+ 69,
+ 160,
+ 16,
+ 248,
+ 24,
+ 50
+ ],
+ "plaintext": [
+ 149,
+ 77,
+ 223,
+ 85,
+ 59,
+ 246,
+ 100,
+ 115,
+ 101,
+ 113,
+ 16,
+ 160,
+ 40
+ ],
+ "ciphertext": [
+ 62,
+ 183,
+ 109,
+ 253,
+ 64,
+ 197,
+ 235,
+ 200,
+ 64,
+ 149,
+ 29,
+ 27,
+ 40
+ ],
+ "tag": [
+ 93,
+ 90,
+ 161,
+ 220,
+ 74,
+ 102,
+ 62,
+ 235,
+ 132,
+ 126,
+ 84,
+ 15,
+ 154,
+ 70,
+ 129,
+ 85
+ ]
+ },
+ {
+ "key": [
+ 20,
+ 171,
+ 77,
+ 58,
+ 145,
+ 232,
+ 248,
+ 50,
+ 14,
+ 219,
+ 165,
+ 176,
+ 69,
+ 185,
+ 71,
+ 74
+ ],
+ "nonce": [
+ 131,
+ 198,
+ 172,
+ 151,
+ 112,
+ 74,
+ 253,
+ 210,
+ 79,
+ 190,
+ 62,
+ 186
+ ],
+ "aad": [
+ 227,
+ 152,
+ 30,
+ 162,
+ 231,
+ 70,
+ 137,
+ 115,
+ 166,
+ 169,
+ 152,
+ 222,
+ 183,
+ 103,
+ 109,
+ 6,
+ 99,
+ 11,
+ 173,
+ 71
+ ],
+ "plaintext": [
+ 222,
+ 95,
+ 21,
+ 33,
+ 206,
+ 148,
+ 35,
+ 82,
+ 105,
+ 50,
+ 145,
+ 120,
+ 99
+ ],
+ "ciphertext": [
+ 25,
+ 147,
+ 106,
+ 231,
+ 214,
+ 98,
+ 8,
+ 153,
+ 100,
+ 154,
+ 92,
+ 120,
+ 135
+ ],
+ "tag": [
+ 102,
+ 168,
+ 5,
+ 53,
+ 59,
+ 222,
+ 11,
+ 19,
+ 21,
+ 247,
+ 114,
+ 212,
+ 158,
+ 234,
+ 248,
+ 242
+ ]
+ },
+ {
+ "key": [
+ 248,
+ 34,
+ 195,
+ 158,
+ 171,
+ 163,
+ 235,
+ 179,
+ 216,
+ 181,
+ 140,
+ 255,
+ 56,
+ 69,
+ 172,
+ 89
+ ],
+ "nonce": [
+ 31,
+ 93,
+ 17,
+ 196,
+ 105,
+ 233,
+ 251,
+ 116,
+ 241,
+ 157,
+ 133,
+ 129
+ ],
+ "aad": [
+ 179,
+ 56,
+ 113,
+ 246,
+ 82,
+ 51,
+ 187,
+ 43,
+ 167,
+ 115,
+ 205,
+ 143,
+ 237,
+ 181,
+ 23,
+ 23,
+ 154,
+ 42,
+ 36,
+ 165
+ ],
+ "plaintext": [
+ 192,
+ 250,
+ 200,
+ 124,
+ 165,
+ 24,
+ 171,
+ 34,
+ 133,
+ 60,
+ 143,
+ 160,
+ 43
+ ],
+ "ciphertext": [
+ 160,
+ 114,
+ 56,
+ 25,
+ 86,
+ 33,
+ 9,
+ 37,
+ 20,
+ 142,
+ 59,
+ 197,
+ 93
+ ],
+ "tag": [
+ 247,
+ 22,
+ 236,
+ 1,
+ 47,
+ 127,
+ 155,
+ 233,
+ 136,
+ 169,
+ 228,
+ 80,
+ 218,
+ 122,
+ 162,
+ 254
+ ]
+ },
+ {
+ "key": [
+ 197,
+ 102,
+ 233,
+ 153,
+ 92,
+ 3,
+ 167,
+ 119,
+ 249,
+ 153,
+ 148,
+ 70,
+ 56,
+ 46,
+ 242,
+ 252
+ ],
+ "nonce": [
+ 79,
+ 52,
+ 52,
+ 119,
+ 56,
+ 127,
+ 72,
+ 185,
+ 198,
+ 209,
+ 94,
+ 105
+ ],
+ "aad": [
+ 194,
+ 183,
+ 59,
+ 240,
+ 209,
+ 171,
+ 214,
+ 212,
+ 132,
+ 223,
+ 114,
+ 90,
+ 118,
+ 15,
+ 24,
+ 75,
+ 195,
+ 21,
+ 224,
+ 186
+ ],
+ "plaintext": [
+ 169,
+ 234,
+ 253,
+ 137,
+ 3,
+ 199,
+ 24,
+ 98,
+ 199,
+ 201,
+ 156,
+ 240,
+ 104
+ ],
+ "ciphertext": [
+ 159,
+ 149,
+ 81,
+ 163,
+ 173,
+ 1,
+ 124,
+ 63,
+ 165,
+ 24,
+ 150,
+ 71,
+ 4
+ ],
+ "tag": [
+ 21,
+ 56,
+ 63,
+ 184,
+ 172,
+ 226,
+ 224,
+ 1,
+ 193,
+ 148,
+ 71,
+ 64,
+ 49,
+ 193,
+ 78,
+ 135
+ ]
+ },
+ {
+ "key": [
+ 250,
+ 47,
+ 224,
+ 27,
+ 124,
+ 180,
+ 202,
+ 36,
+ 171,
+ 165,
+ 136,
+ 13,
+ 162,
+ 104,
+ 57,
+ 138
+ ],
+ "nonce": [
+ 147,
+ 241,
+ 157,
+ 10,
+ 142,
+ 223,
+ 31,
+ 41,
+ 54,
+ 71,
+ 67,
+ 242
+ ],
+ "aad": [
+ 232,
+ 15,
+ 51,
+ 126,
+ 181,
+ 108,
+ 51,
+ 109,
+ 30,
+ 146,
+ 141,
+ 179,
+ 183,
+ 238,
+ 238,
+ 150,
+ 142,
+ 47,
+ 117,
+ 189
+ ],
+ "plaintext": [
+ 0,
+ 108,
+ 59,
+ 6,
+ 129,
+ 242,
+ 26,
+ 215,
+ 5,
+ 207,
+ 148,
+ 208,
+ 112
+ ],
+ "ciphertext": [
+ 167,
+ 59,
+ 49,
+ 76,
+ 127,
+ 11,
+ 189,
+ 121,
+ 238,
+ 86,
+ 189,
+ 119,
+ 187
+ ],
+ "tag": [
+ 210,
+ 249,
+ 236,
+ 200,
+ 10,
+ 90,
+ 226,
+ 225,
+ 210,
+ 115,
+ 91,
+ 159,
+ 191,
+ 1,
+ 190,
+ 37
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 179,
+ 73,
+ 112,
+ 212,
+ 48,
+ 0,
+ 105,
+ 224,
+ 9,
+ 44,
+ 214,
+ 74,
+ 209,
+ 115,
+ 5
+ ],
+ "nonce": [
+ 216,
+ 142,
+ 118,
+ 129,
+ 79,
+ 60,
+ 247,
+ 162,
+ 248,
+ 135,
+ 227,
+ 113
+ ],
+ "aad": [
+ 124,
+ 119,
+ 32,
+ 16,
+ 232,
+ 59,
+ 239,
+ 236,
+ 34,
+ 246,
+ 174,
+ 190,
+ 142,
+ 24,
+ 160,
+ 67,
+ 127,
+ 80,
+ 165,
+ 115
+ ],
+ "plaintext": [
+ 78,
+ 101,
+ 164,
+ 106,
+ 69,
+ 121,
+ 240,
+ 129,
+ 48,
+ 39,
+ 46,
+ 92,
+ 131
+ ],
+ "ciphertext": [
+ 210,
+ 216,
+ 255,
+ 211,
+ 248,
+ 65,
+ 230,
+ 3,
+ 159,
+ 29,
+ 85,
+ 25,
+ 5
+ ],
+ "tag": [
+ 238,
+ 44,
+ 115,
+ 196,
+ 85,
+ 8,
+ 29,
+ 132,
+ 166,
+ 49,
+ 177,
+ 138,
+ 127,
+ 229,
+ 247,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 28,
+ 42,
+ 174,
+ 57,
+ 84,
+ 214,
+ 246,
+ 69,
+ 206,
+ 42,
+ 105,
+ 122,
+ 79,
+ 58,
+ 248
+ ],
+ "nonce": [
+ 4,
+ 181,
+ 79,
+ 100,
+ 71,
+ 235,
+ 188,
+ 251,
+ 218,
+ 87,
+ 68,
+ 90
+ ],
+ "aad": [
+ 231,
+ 169,
+ 213,
+ 200,
+ 50,
+ 130,
+ 120,
+ 49,
+ 29,
+ 202,
+ 62,
+ 132,
+ 218,
+ 43,
+ 240,
+ 245,
+ 115,
+ 25,
+ 141,
+ 79
+ ],
+ "plaintext": [
+ 247,
+ 62,
+ 34,
+ 107,
+ 80,
+ 167,
+ 85,
+ 88,
+ 163,
+ 137,
+ 204,
+ 215,
+ 56
+ ],
+ "ciphertext": [
+ 119,
+ 14,
+ 75,
+ 121,
+ 139,
+ 145,
+ 133,
+ 14,
+ 196,
+ 233,
+ 1,
+ 54,
+ 202
+ ],
+ "tag": [
+ 140,
+ 185,
+ 206,
+ 44,
+ 144,
+ 65,
+ 127,
+ 28,
+ 73,
+ 162,
+ 53,
+ 222,
+ 155,
+ 42,
+ 218,
+ 45
+ ]
+ },
+ {
+ "key": [
+ 21,
+ 202,
+ 41,
+ 16,
+ 223,
+ 78,
+ 67,
+ 196,
+ 74,
+ 124,
+ 1,
+ 212,
+ 133,
+ 185,
+ 145,
+ 87
+ ],
+ "nonce": [
+ 74,
+ 101,
+ 202,
+ 119,
+ 221,
+ 225,
+ 75,
+ 191,
+ 19,
+ 29,
+ 213,
+ 151
+ ],
+ "aad": [
+ 249,
+ 1,
+ 30,
+ 44,
+ 251,
+ 156,
+ 130,
+ 211,
+ 127,
+ 107,
+ 63,
+ 42,
+ 247,
+ 48,
+ 162,
+ 226,
+ 140,
+ 3,
+ 111,
+ 44
+ ],
+ "plaintext": [
+ 120,
+ 103,
+ 68,
+ 179,
+ 148,
+ 228,
+ 11,
+ 254,
+ 93,
+ 185,
+ 56,
+ 192,
+ 173
+ ],
+ "ciphertext": [
+ 67,
+ 192,
+ 15,
+ 172,
+ 124,
+ 17,
+ 195,
+ 39,
+ 48,
+ 120,
+ 240,
+ 159,
+ 226
+ ],
+ "tag": [
+ 149,
+ 91,
+ 234,
+ 168,
+ 119,
+ 55,
+ 211,
+ 9,
+ 75,
+ 172,
+ 196,
+ 42,
+ 21,
+ 152,
+ 109,
+ 131
+ ]
+ },
+ {
+ "key": [
+ 153,
+ 137,
+ 144,
+ 254,
+ 74,
+ 154,
+ 108,
+ 86,
+ 239,
+ 223,
+ 29,
+ 234,
+ 196,
+ 26,
+ 30,
+ 245
+ ],
+ "nonce": [
+ 27,
+ 122,
+ 118,
+ 100,
+ 54,
+ 244,
+ 166,
+ 116,
+ 181,
+ 237,
+ 134,
+ 171
+ ],
+ "aad": [
+ 46,
+ 186,
+ 111,
+ 44,
+ 97,
+ 112,
+ 73,
+ 23,
+ 67,
+ 69,
+ 7,
+ 244,
+ 162,
+ 219,
+ 22,
+ 196,
+ 144,
+ 107,
+ 180,
+ 229
+ ],
+ "plaintext": [
+ 229,
+ 58,
+ 153,
+ 84,
+ 195,
+ 148,
+ 54,
+ 145,
+ 222,
+ 229,
+ 177,
+ 121,
+ 145
+ ],
+ "ciphertext": [
+ 229,
+ 104,
+ 32,
+ 69,
+ 244,
+ 56,
+ 244,
+ 169,
+ 106,
+ 200,
+ 112,
+ 105,
+ 11
+ ],
+ "tag": [
+ 26,
+ 253,
+ 220,
+ 3,
+ 128,
+ 158,
+ 86,
+ 83,
+ 33,
+ 234,
+ 102,
+ 216,
+ 200,
+ 58,
+ 50,
+ 74
+ ]
+ },
+ {
+ "key": [
+ 38,
+ 139,
+ 167,
+ 104,
+ 22,
+ 208,
+ 14,
+ 32,
+ 153,
+ 125,
+ 162,
+ 104,
+ 189,
+ 143,
+ 170,
+ 24
+ ],
+ "nonce": [
+ 33,
+ 205,
+ 93,
+ 33,
+ 237,
+ 25,
+ 54,
+ 18,
+ 253,
+ 109,
+ 184,
+ 84
+ ],
+ "aad": [
+ 25,
+ 113,
+ 185,
+ 13,
+ 160,
+ 85,
+ 78,
+ 231,
+ 182,
+ 176,
+ 165,
+ 233,
+ 167,
+ 130,
+ 240,
+ 93,
+ 81,
+ 28,
+ 27,
+ 153
+ ],
+ "plaintext": [
+ 22,
+ 51,
+ 153,
+ 134,
+ 208,
+ 146,
+ 2,
+ 126,
+ 124,
+ 190,
+ 206,
+ 15,
+ 182
+ ],
+ "ciphertext": [
+ 124,
+ 253,
+ 83,
+ 184,
+ 195,
+ 200,
+ 52,
+ 194,
+ 19,
+ 217,
+ 134,
+ 4,
+ 153
+ ],
+ "tag": [
+ 31,
+ 133,
+ 34,
+ 191,
+ 171,
+ 151,
+ 190,
+ 196,
+ 54,
+ 215,
+ 104,
+ 51,
+ 42,
+ 227,
+ 124,
+ 32
+ ]
+ },
+ {
+ "key": [
+ 203,
+ 211,
+ 184,
+ 219,
+ 252,
+ 251,
+ 17,
+ 206,
+ 52,
+ 87,
+ 6,
+ 230,
+ 205,
+ 115,
+ 136,
+ 26
+ ],
+ "nonce": [
+ 220,
+ 98,
+ 187,
+ 104,
+ 208,
+ 236,
+ 154,
+ 93,
+ 117,
+ 157,
+ 103,
+ 65
+ ],
+ "aad": [
+ 9,
+ 68,
+ 182,
+ 97,
+ 254,
+ 98,
+ 148,
+ 243,
+ 201,
+ 42,
+ 187,
+ 8,
+ 126,
+ 193,
+ 178,
+ 89,
+ 176,
+ 50,
+ 220,
+ 78,
+ 12,
+ 95,
+ 40,
+ 104,
+ 28,
+ 190,
+ 110,
+ 99,
+ 194,
+ 23,
+ 143,
+ 71,
+ 67,
+ 38,
+ 243,
+ 90,
+ 211,
+ 202,
+ 128,
+ 194,
+ 142,
+ 52,
+ 133,
+ 231,
+ 229,
+ 178,
+ 82,
+ 200
+ ],
+ "plaintext": [
+ 133,
+ 248,
+ 59,
+ 245,
+ 152,
+ 223,
+ 213,
+ 91,
+ 200,
+ 191,
+ 222,
+ 42,
+ 100
+ ],
+ "ciphertext": [
+ 32,
+ 111,
+ 107,
+ 59,
+ 176,
+ 50,
+ 223,
+ 236,
+ 211,
+ 159,
+ 131,
+ 64,
+ 177
+ ],
+ "tag": [
+ 66,
+ 90,
+ 33,
+ 178,
+ 234,
+ 144,
+ 88,
+ 12,
+ 136,
+ 145,
+ 52,
+ 3,
+ 43,
+ 145,
+ 75,
+ 181
+ ]
+ },
+ {
+ "key": [
+ 167,
+ 143,
+ 52,
+ 205,
+ 12,
+ 172,
+ 112,
+ 170,
+ 182,
+ 74,
+ 202,
+ 225,
+ 142,
+ 60,
+ 190,
+ 238
+ ],
+ "nonce": [
+ 60,
+ 136,
+ 87,
+ 4,
+ 152,
+ 218,
+ 150,
+ 231,
+ 181,
+ 44,
+ 121,
+ 41
+ ],
+ "aad": [
+ 54,
+ 182,
+ 111,
+ 248,
+ 30,
+ 194,
+ 58,
+ 40,
+ 148,
+ 76,
+ 152,
+ 210,
+ 131,
+ 76,
+ 199,
+ 100,
+ 187,
+ 112,
+ 112,
+ 63,
+ 11,
+ 38,
+ 224,
+ 121,
+ 182,
+ 235,
+ 0,
+ 142,
+ 193,
+ 28,
+ 207,
+ 181,
+ 74,
+ 24,
+ 154,
+ 211,
+ 147,
+ 135,
+ 143,
+ 8,
+ 36,
+ 67,
+ 106,
+ 230,
+ 158,
+ 126,
+ 45,
+ 140
+ ],
+ "plaintext": [
+ 191,
+ 97,
+ 177,
+ 251,
+ 59,
+ 36,
+ 80,
+ 108,
+ 200,
+ 199,
+ 48,
+ 211,
+ 153
+ ],
+ "ciphertext": [
+ 247,
+ 32,
+ 87,
+ 248,
+ 115,
+ 173,
+ 18,
+ 181,
+ 225,
+ 156,
+ 228,
+ 51,
+ 224
+ ],
+ "tag": [
+ 31,
+ 234,
+ 91,
+ 65,
+ 118,
+ 70,
+ 75,
+ 31,
+ 93,
+ 206,
+ 17,
+ 85,
+ 138,
+ 117,
+ 236,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 14,
+ 3,
+ 138,
+ 19,
+ 104,
+ 153,
+ 158,
+ 46,
+ 112,
+ 182,
+ 227,
+ 80,
+ 224,
+ 22,
+ 132,
+ 189
+ ],
+ "nonce": [
+ 165,
+ 137,
+ 82,
+ 184,
+ 19,
+ 84,
+ 32,
+ 205,
+ 15,
+ 97,
+ 190,
+ 24
+ ],
+ "aad": [
+ 118,
+ 82,
+ 3,
+ 179,
+ 214,
+ 21,
+ 55,
+ 190,
+ 40,
+ 131,
+ 251,
+ 169,
+ 137,
+ 156,
+ 63,
+ 62,
+ 255,
+ 96,
+ 203,
+ 151,
+ 20,
+ 229,
+ 77,
+ 227,
+ 167,
+ 138,
+ 150,
+ 219,
+ 242,
+ 156,
+ 245,
+ 61,
+ 130,
+ 17,
+ 46,
+ 25,
+ 177,
+ 1,
+ 65,
+ 241,
+ 59,
+ 17,
+ 98,
+ 122,
+ 143,
+ 165,
+ 80,
+ 38
+ ],
+ "plaintext": [
+ 128,
+ 27,
+ 186,
+ 191,
+ 144,
+ 143,
+ 240,
+ 77,
+ 88,
+ 86,
+ 202,
+ 220,
+ 43
+ ],
+ "ciphertext": [
+ 127,
+ 15,
+ 53,
+ 203,
+ 21,
+ 251,
+ 78,
+ 126,
+ 56,
+ 32,
+ 217,
+ 171,
+ 31
+ ],
+ "tag": [
+ 141,
+ 206,
+ 100,
+ 55,
+ 32,
+ 217,
+ 214,
+ 249,
+ 15,
+ 19,
+ 161,
+ 85,
+ 224,
+ 190,
+ 89,
+ 54
+ ]
+ },
+ {
+ "key": [
+ 182,
+ 157,
+ 130,
+ 231,
+ 139,
+ 34,
+ 164,
+ 115,
+ 175,
+ 98,
+ 52,
+ 6,
+ 107,
+ 137,
+ 23,
+ 120
+ ],
+ "nonce": [
+ 4,
+ 21,
+ 171,
+ 47,
+ 50,
+ 210,
+ 161,
+ 80,
+ 6,
+ 195,
+ 189,
+ 213
+ ],
+ "aad": [
+ 240,
+ 190,
+ 101,
+ 16,
+ 94,
+ 28,
+ 212,
+ 253,
+ 26,
+ 39,
+ 47,
+ 127,
+ 109,
+ 185,
+ 88,
+ 4,
+ 11,
+ 68,
+ 237,
+ 208,
+ 96,
+ 139,
+ 34,
+ 37,
+ 120,
+ 156,
+ 243,
+ 66,
+ 23,
+ 207,
+ 205,
+ 106,
+ 88,
+ 121,
+ 184,
+ 231,
+ 157,
+ 250,
+ 125,
+ 36,
+ 52,
+ 90,
+ 210,
+ 15,
+ 12,
+ 79,
+ 154,
+ 28
+ ],
+ "plaintext": [
+ 212,
+ 171,
+ 52,
+ 110,
+ 218,
+ 202,
+ 92,
+ 132,
+ 212,
+ 91,
+ 69,
+ 198,
+ 254
+ ],
+ "ciphertext": [
+ 173,
+ 119,
+ 201,
+ 28,
+ 107,
+ 166,
+ 203,
+ 41,
+ 235,
+ 94,
+ 79,
+ 96,
+ 113
+ ],
+ "tag": [
+ 246,
+ 112,
+ 97,
+ 219,
+ 222,
+ 209,
+ 168,
+ 223,
+ 85,
+ 254,
+ 159,
+ 205,
+ 104,
+ 246,
+ 17,
+ 104
+ ]
+ },
+ {
+ "key": [
+ 120,
+ 250,
+ 249,
+ 55,
+ 117,
+ 143,
+ 52,
+ 182,
+ 211,
+ 20,
+ 226,
+ 250,
+ 48,
+ 246,
+ 12,
+ 46
+ ],
+ "nonce": [
+ 133,
+ 201,
+ 239,
+ 14,
+ 23,
+ 235,
+ 203,
+ 183,
+ 34,
+ 123,
+ 164,
+ 193
+ ],
+ "aad": [
+ 112,
+ 254,
+ 198,
+ 230,
+ 8,
+ 182,
+ 38,
+ 66,
+ 40,
+ 184,
+ 34,
+ 231,
+ 73,
+ 14,
+ 94,
+ 118,
+ 57,
+ 132,
+ 148,
+ 198,
+ 72,
+ 157,
+ 229,
+ 232,
+ 57,
+ 251,
+ 128,
+ 81,
+ 52,
+ 66,
+ 205,
+ 13,
+ 252,
+ 248,
+ 131,
+ 0,
+ 9,
+ 149,
+ 24,
+ 82,
+ 19,
+ 226,
+ 131,
+ 244,
+ 146,
+ 52,
+ 40,
+ 11
+ ],
+ "plaintext": [
+ 10,
+ 217,
+ 26,
+ 139,
+ 228,
+ 204,
+ 214,
+ 238,
+ 12,
+ 231,
+ 84,
+ 19,
+ 163
+ ],
+ "ciphertext": [
+ 66,
+ 152,
+ 208,
+ 161,
+ 234,
+ 76,
+ 84,
+ 149,
+ 0,
+ 33,
+ 217,
+ 25,
+ 33
+ ],
+ "tag": [
+ 25,
+ 137,
+ 59,
+ 131,
+ 253,
+ 36,
+ 168,
+ 194,
+ 27,
+ 180,
+ 255,
+ 20,
+ 97,
+ 44,
+ 219,
+ 39
+ ]
+ },
+ {
+ "key": [
+ 248,
+ 18,
+ 98,
+ 124,
+ 182,
+ 220,
+ 89,
+ 33,
+ 211,
+ 86,
+ 125,
+ 209,
+ 127,
+ 31,
+ 59,
+ 154
+ ],
+ "nonce": [
+ 55,
+ 190,
+ 185,
+ 192,
+ 96,
+ 242,
+ 64,
+ 217,
+ 255,
+ 120,
+ 200,
+ 68
+ ],
+ "aad": [
+ 162,
+ 127,
+ 216,
+ 17,
+ 51,
+ 14,
+ 250,
+ 103,
+ 43,
+ 191,
+ 161,
+ 203,
+ 42,
+ 34,
+ 31,
+ 164,
+ 91,
+ 171,
+ 136,
+ 197,
+ 24,
+ 62,
+ 237,
+ 99,
+ 131,
+ 227,
+ 76,
+ 126,
+ 116,
+ 80,
+ 253,
+ 87,
+ 127,
+ 108,
+ 120,
+ 60,
+ 117,
+ 217,
+ 236,
+ 175,
+ 116,
+ 187,
+ 42,
+ 210,
+ 178,
+ 232,
+ 193,
+ 67
+ ],
+ "plaintext": [
+ 219,
+ 206,
+ 82,
+ 53,
+ 188,
+ 205,
+ 11,
+ 198,
+ 36,
+ 155,
+ 48,
+ 233,
+ 177
+ ],
+ "ciphertext": [
+ 16,
+ 10,
+ 176,
+ 73,
+ 96,
+ 167,
+ 98,
+ 219,
+ 115,
+ 23,
+ 70,
+ 102,
+ 180
+ ],
+ "tag": [
+ 18,
+ 33,
+ 114,
+ 238,
+ 48,
+ 147,
+ 184,
+ 203,
+ 35,
+ 138,
+ 124,
+ 153,
+ 29,
+ 163,
+ 185,
+ 79
+ ]
+ },
+ {
+ "key": [
+ 164,
+ 149,
+ 248,
+ 39,
+ 81,
+ 191,
+ 119,
+ 129,
+ 254,
+ 227,
+ 109,
+ 38,
+ 86,
+ 7,
+ 170,
+ 107
+ ],
+ "nonce": [
+ 114,
+ 154,
+ 81,
+ 59,
+ 175,
+ 28,
+ 205,
+ 28,
+ 151,
+ 49,
+ 23,
+ 0
+ ],
+ "aad": [
+ 58,
+ 68,
+ 167,
+ 234,
+ 109,
+ 62,
+ 209,
+ 48,
+ 5,
+ 212,
+ 108,
+ 25,
+ 245,
+ 236,
+ 125,
+ 47,
+ 126,
+ 80,
+ 232,
+ 162,
+ 104,
+ 252,
+ 73,
+ 227,
+ 198,
+ 254,
+ 21,
+ 180,
+ 27,
+ 111,
+ 110,
+ 167,
+ 36,
+ 93,
+ 136,
+ 203,
+ 53,
+ 142,
+ 83,
+ 205,
+ 186,
+ 130,
+ 207,
+ 41,
+ 126,
+ 160,
+ 234,
+ 151
+ ],
+ "plaintext": [
+ 10,
+ 196,
+ 19,
+ 250,
+ 83,
+ 59,
+ 1,
+ 190,
+ 69,
+ 158,
+ 149,
+ 215,
+ 132
+ ],
+ "ciphertext": [
+ 208,
+ 95,
+ 82,
+ 168,
+ 117,
+ 245,
+ 109,
+ 58,
+ 105,
+ 113,
+ 73,
+ 91,
+ 123
+ ],
+ "tag": [
+ 20,
+ 174,
+ 55,
+ 138,
+ 95,
+ 117,
+ 179,
+ 134,
+ 32,
+ 33,
+ 148,
+ 198,
+ 119,
+ 55,
+ 120,
+ 3
+ ]
+ },
+ {
+ "key": [
+ 99,
+ 238,
+ 210,
+ 98,
+ 60,
+ 128,
+ 234,
+ 28,
+ 93,
+ 6,
+ 160,
+ 0,
+ 60,
+ 75,
+ 48,
+ 101
+ ],
+ "nonce": [
+ 58,
+ 39,
+ 111,
+ 67,
+ 97,
+ 204,
+ 109,
+ 123,
+ 219,
+ 52,
+ 9,
+ 134
+ ],
+ "aad": [
+ 212,
+ 132,
+ 100,
+ 111,
+ 220,
+ 169,
+ 245,
+ 211,
+ 212,
+ 250,
+ 44,
+ 133,
+ 237,
+ 20,
+ 95,
+ 153,
+ 227,
+ 199,
+ 63,
+ 77,
+ 129,
+ 246,
+ 192,
+ 142,
+ 173,
+ 243,
+ 24,
+ 105,
+ 75,
+ 215,
+ 204,
+ 148,
+ 56,
+ 44,
+ 199,
+ 58,
+ 86,
+ 16,
+ 249,
+ 203,
+ 253,
+ 153,
+ 135,
+ 220,
+ 22,
+ 125,
+ 103,
+ 12
+ ],
+ "plaintext": [
+ 101,
+ 6,
+ 123,
+ 40,
+ 29,
+ 90,
+ 175,
+ 192,
+ 20,
+ 109,
+ 32,
+ 111,
+ 226
+ ],
+ "ciphertext": [
+ 76,
+ 242,
+ 255,
+ 113,
+ 228,
+ 74,
+ 57,
+ 235,
+ 106,
+ 150,
+ 17,
+ 225,
+ 80
+ ],
+ "tag": [
+ 17,
+ 62,
+ 125,
+ 35,
+ 153,
+ 70,
+ 215,
+ 132,
+ 195,
+ 49,
+ 188,
+ 205,
+ 94,
+ 9,
+ 129,
+ 148
+ ]
+ },
+ {
+ "key": [
+ 58,
+ 216,
+ 83,
+ 4,
+ 180,
+ 38,
+ 125,
+ 214,
+ 3,
+ 7,
+ 12,
+ 26,
+ 153,
+ 158,
+ 182,
+ 88
+ ],
+ "nonce": [
+ 42,
+ 2,
+ 166,
+ 34,
+ 13,
+ 57,
+ 93,
+ 201,
+ 31,
+ 160,
+ 210,
+ 32
+ ],
+ "aad": [
+ 122,
+ 21,
+ 17,
+ 202,
+ 184,
+ 170,
+ 159,
+ 114,
+ 119,
+ 247,
+ 178,
+ 108,
+ 222,
+ 230,
+ 2,
+ 228,
+ 166,
+ 8,
+ 181,
+ 86,
+ 90,
+ 32,
+ 238,
+ 221,
+ 102,
+ 215,
+ 5,
+ 7,
+ 169,
+ 14,
+ 121,
+ 218,
+ 101,
+ 33,
+ 202,
+ 225,
+ 226,
+ 202,
+ 129,
+ 7,
+ 113,
+ 57,
+ 37,
+ 103,
+ 175,
+ 81,
+ 216,
+ 131
+ ],
+ "plaintext": [
+ 224,
+ 98,
+ 10,
+ 158,
+ 40,
+ 173,
+ 141,
+ 186,
+ 50,
+ 182,
+ 1,
+ 198,
+ 98
+ ],
+ "ciphertext": [
+ 207,
+ 56,
+ 247,
+ 171,
+ 175,
+ 79,
+ 146,
+ 65,
+ 78,
+ 203,
+ 112,
+ 33,
+ 168
+ ],
+ "tag": [
+ 139,
+ 235,
+ 176,
+ 182,
+ 44,
+ 129,
+ 164,
+ 163,
+ 174,
+ 118,
+ 93,
+ 188,
+ 124,
+ 135,
+ 71,
+ 168
+ ]
+ },
+ {
+ "key": [
+ 99,
+ 1,
+ 11,
+ 117,
+ 173,
+ 163,
+ 204,
+ 208,
+ 193,
+ 51,
+ 134,
+ 19,
+ 213,
+ 126,
+ 63,
+ 83
+ ],
+ "nonce": [
+ 152,
+ 152,
+ 185,
+ 18,
+ 218,
+ 10,
+ 47,
+ 22,
+ 156,
+ 59,
+ 249,
+ 7
+ ],
+ "aad": [
+ 86,
+ 94,
+ 30,
+ 88,
+ 16,
+ 137,
+ 9,
+ 132,
+ 81,
+ 204,
+ 175,
+ 29,
+ 89,
+ 77,
+ 27,
+ 78,
+ 219,
+ 220,
+ 213,
+ 203,
+ 0,
+ 186,
+ 75,
+ 46,
+ 8,
+ 228,
+ 219,
+ 120,
+ 12,
+ 232,
+ 37,
+ 141,
+ 244,
+ 29,
+ 1,
+ 219,
+ 221,
+ 80,
+ 82,
+ 27,
+ 117,
+ 167,
+ 42,
+ 130,
+ 89,
+ 247,
+ 3,
+ 33
+ ],
+ "plaintext": [
+ 252,
+ 16,
+ 216,
+ 92,
+ 181,
+ 72,
+ 91,
+ 226,
+ 99,
+ 55,
+ 74,
+ 170,
+ 223
+ ],
+ "ciphertext": [
+ 143,
+ 35,
+ 144,
+ 232,
+ 139,
+ 198,
+ 241,
+ 142,
+ 205,
+ 193,
+ 161,
+ 185,
+ 210
+ ],
+ "tag": [
+ 21,
+ 196,
+ 14,
+ 152,
+ 182,
+ 189,
+ 91,
+ 7,
+ 212,
+ 117,
+ 119,
+ 39,
+ 173,
+ 107,
+ 123,
+ 113
+ ]
+ },
+ {
+ "key": [
+ 210,
+ 161,
+ 129,
+ 136,
+ 187,
+ 136,
+ 49,
+ 46,
+ 193,
+ 137,
+ 22,
+ 67,
+ 27,
+ 109,
+ 216,
+ 128
+ ],
+ "nonce": [
+ 174,
+ 223,
+ 46,
+ 251,
+ 128,
+ 182,
+ 51,
+ 215,
+ 175,
+ 190,
+ 90,
+ 81
+ ],
+ "aad": [
+ 82,
+ 73,
+ 41,
+ 33,
+ 246,
+ 183,
+ 110,
+ 136,
+ 139,
+ 170,
+ 90,
+ 76,
+ 179,
+ 145,
+ 175,
+ 4,
+ 250,
+ 235,
+ 49,
+ 191,
+ 0,
+ 232,
+ 237,
+ 67,
+ 99,
+ 72,
+ 47,
+ 169,
+ 81,
+ 72,
+ 245,
+ 115,
+ 185,
+ 173,
+ 190,
+ 186,
+ 191,
+ 72,
+ 211,
+ 173,
+ 51,
+ 203,
+ 94,
+ 211,
+ 192,
+ 214,
+ 223,
+ 97
+ ],
+ "plaintext": [
+ 52,
+ 63,
+ 131,
+ 99,
+ 102,
+ 32,
+ 119,
+ 251,
+ 10,
+ 181,
+ 11,
+ 162,
+ 132
+ ],
+ "ciphertext": [
+ 151,
+ 166,
+ 244,
+ 74,
+ 4,
+ 5,
+ 88,
+ 80,
+ 119,
+ 155,
+ 199,
+ 8,
+ 66
+ ],
+ "tag": [
+ 95,
+ 251,
+ 117,
+ 181,
+ 139,
+ 69,
+ 114,
+ 54,
+ 111,
+ 176,
+ 6,
+ 69,
+ 95,
+ 105,
+ 47,
+ 147
+ ]
+ },
+ {
+ "key": [
+ 123,
+ 59,
+ 129,
+ 250,
+ 135,
+ 246,
+ 252,
+ 32,
+ 121,
+ 94,
+ 95,
+ 227,
+ 63,
+ 224,
+ 209,
+ 232
+ ],
+ "nonce": [
+ 184,
+ 88,
+ 18,
+ 126,
+ 17,
+ 234,
+ 13,
+ 91,
+ 165,
+ 35,
+ 247,
+ 206
+ ],
+ "aad": [
+ 194,
+ 61,
+ 76,
+ 247,
+ 75,
+ 215,
+ 106,
+ 222,
+ 224,
+ 151,
+ 62,
+ 75,
+ 58,
+ 195,
+ 26,
+ 150,
+ 253,
+ 235,
+ 15,
+ 36,
+ 85,
+ 224,
+ 68,
+ 210,
+ 209,
+ 184,
+ 46,
+ 189,
+ 25,
+ 55,
+ 224,
+ 150,
+ 35,
+ 146,
+ 28,
+ 129,
+ 182,
+ 161,
+ 185,
+ 105,
+ 139,
+ 91,
+ 9,
+ 123,
+ 124,
+ 92,
+ 72,
+ 61
+ ],
+ "plaintext": [
+ 229,
+ 116,
+ 146,
+ 12,
+ 219,
+ 163,
+ 82,
+ 75,
+ 172,
+ 140,
+ 34,
+ 148,
+ 191
+ ],
+ "ciphertext": [
+ 1,
+ 106,
+ 123,
+ 87,
+ 219,
+ 119,
+ 143,
+ 208,
+ 25,
+ 98,
+ 128,
+ 22,
+ 246
+ ],
+ "tag": [
+ 232,
+ 3,
+ 80,
+ 34,
+ 176,
+ 94,
+ 76,
+ 16,
+ 121,
+ 35,
+ 33,
+ 209,
+ 149,
+ 183,
+ 88,
+ 84
+ ]
+ },
+ {
+ "key": [
+ 133,
+ 44,
+ 52,
+ 89,
+ 30,
+ 127,
+ 254,
+ 240,
+ 146,
+ 89,
+ 169,
+ 237,
+ 242,
+ 80,
+ 32,
+ 225
+ ],
+ "nonce": [
+ 158,
+ 66,
+ 67,
+ 245,
+ 53,
+ 109,
+ 72,
+ 248,
+ 83,
+ 204,
+ 58,
+ 203
+ ],
+ "aad": [
+ 138,
+ 69,
+ 20,
+ 165,
+ 231,
+ 212,
+ 226,
+ 224,
+ 54,
+ 73,
+ 11,
+ 84,
+ 18,
+ 6,
+ 191,
+ 230,
+ 71,
+ 28,
+ 20,
+ 187,
+ 80,
+ 175,
+ 111,
+ 200,
+ 105,
+ 4,
+ 139,
+ 174,
+ 149,
+ 75,
+ 93,
+ 216,
+ 19,
+ 66,
+ 147,
+ 89,
+ 238,
+ 94,
+ 239,
+ 35,
+ 238,
+ 66,
+ 234,
+ 53,
+ 224,
+ 195,
+ 107,
+ 184
+ ],
+ "plaintext": [
+ 201,
+ 145,
+ 56,
+ 156,
+ 36,
+ 44,
+ 72,
+ 227,
+ 26,
+ 154,
+ 224,
+ 13,
+ 89
+ ],
+ "ciphertext": [
+ 92,
+ 49,
+ 153,
+ 131,
+ 229,
+ 226,
+ 118,
+ 101,
+ 143,
+ 16,
+ 165,
+ 142,
+ 219
+ ],
+ "tag": [
+ 83,
+ 67,
+ 8,
+ 109,
+ 74,
+ 192,
+ 228,
+ 94,
+ 74,
+ 220,
+ 109,
+ 194,
+ 125,
+ 86,
+ 98,
+ 150
+ ]
+ },
+ {
+ "key": [
+ 185,
+ 132,
+ 15,
+ 28,
+ 4,
+ 247,
+ 201,
+ 233,
+ 178,
+ 201,
+ 190,
+ 192,
+ 198,
+ 23,
+ 103,
+ 56
+ ],
+ "nonce": [
+ 122,
+ 244,
+ 98,
+ 204,
+ 137,
+ 18,
+ 112,
+ 254,
+ 120,
+ 86,
+ 104,
+ 144
+ ],
+ "aad": [
+ 73,
+ 62,
+ 248,
+ 60,
+ 24,
+ 56,
+ 156,
+ 30,
+ 82,
+ 5,
+ 13,
+ 37,
+ 105,
+ 240,
+ 214,
+ 249,
+ 85,
+ 207,
+ 142,
+ 118,
+ 207,
+ 10,
+ 22,
+ 151,
+ 255,
+ 203,
+ 22,
+ 101,
+ 226,
+ 133,
+ 254,
+ 110,
+ 53,
+ 149,
+ 244,
+ 86,
+ 207,
+ 247,
+ 243,
+ 47,
+ 235,
+ 123,
+ 222,
+ 76,
+ 200,
+ 45,
+ 78,
+ 187
+ ],
+ "plaintext": [
+ 201,
+ 23,
+ 22,
+ 133,
+ 40,
+ 75,
+ 32,
+ 91,
+ 244,
+ 253,
+ 157,
+ 63,
+ 69
+ ],
+ "ciphertext": [
+ 152,
+ 140,
+ 44,
+ 61,
+ 243,
+ 124,
+ 104,
+ 252,
+ 139,
+ 199,
+ 162,
+ 155,
+ 17
+ ],
+ "tag": [
+ 216,
+ 27,
+ 11,
+ 195,
+ 84,
+ 63,
+ 239,
+ 74,
+ 146,
+ 152,
+ 103,
+ 191,
+ 246,
+ 58,
+ 28,
+ 23
+ ]
+ },
+ {
+ "key": [
+ 148,
+ 73,
+ 4,
+ 48,
+ 113,
+ 222,
+ 144,
+ 79,
+ 94,
+ 110,
+ 121,
+ 34,
+ 178,
+ 99,
+ 241,
+ 34
+ ],
+ "nonce": [
+ 57,
+ 240,
+ 113,
+ 62,
+ 96,
+ 203,
+ 200,
+ 228,
+ 30,
+ 77,
+ 115,
+ 40
+ ],
+ "aad": [
+ 11,
+ 122,
+ 37,
+ 227,
+ 227,
+ 2,
+ 112,
+ 149,
+ 119,
+ 47,
+ 63,
+ 139,
+ 131,
+ 54,
+ 129,
+ 59,
+ 96,
+ 112,
+ 49,
+ 237,
+ 221,
+ 111,
+ 53,
+ 74,
+ 23,
+ 30,
+ 75,
+ 88,
+ 85,
+ 4,
+ 149,
+ 44,
+ 181,
+ 19,
+ 38,
+ 195,
+ 237,
+ 244,
+ 196,
+ 142,
+ 65,
+ 73,
+ 141,
+ 164,
+ 65,
+ 204,
+ 9,
+ 15
+ ],
+ "plaintext": [
+ 134,
+ 154,
+ 145,
+ 126,
+ 5,
+ 111,
+ 68,
+ 96,
+ 214,
+ 194,
+ 7,
+ 109,
+ 16
+ ],
+ "ciphertext": [
+ 204,
+ 135,
+ 140,
+ 143,
+ 118,
+ 9,
+ 97,
+ 228,
+ 173,
+ 8,
+ 173,
+ 9,
+ 165
+ ],
+ "tag": [
+ 195,
+ 3,
+ 201,
+ 104,
+ 11,
+ 103,
+ 60,
+ 4,
+ 158,
+ 155,
+ 123,
+ 236,
+ 140,
+ 40,
+ 66,
+ 139
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 177,
+ 231,
+ 169,
+ 78,
+ 158,
+ 31,
+ 218,
+ 8,
+ 115,
+ 87,
+ 30,
+ 236,
+ 113,
+ 52,
+ 41
+ ],
+ "nonce": [
+ 93,
+ 221,
+ 232,
+ 41,
+ 168,
+ 23,
+ 19,
+ 52,
+ 106,
+ 248,
+ 229,
+ 183
+ ],
+ "aad": [
+ 176,
+ 206,
+ 117,
+ 218,
+ 66,
+ 127,
+ 186,
+ 147,
+ 218,
+ 109,
+ 52,
+ 85,
+ 178,
+ 180,
+ 64,
+ 168,
+ 119,
+ 89,
+ 154,
+ 109,
+ 141,
+ 109,
+ 45,
+ 102,
+ 238,
+ 144,
+ 181,
+ 207,
+ 154,
+ 51,
+ 186,
+ 170,
+ 131,
+ 41,
+ 169,
+ 255,
+ 170,
+ 194,
+ 144,
+ 232,
+ 227,
+ 63,
+ 42,
+ 242,
+ 84,
+ 140,
+ 42,
+ 138,
+ 24,
+ 27,
+ 61,
+ 77,
+ 159,
+ 143,
+ 172,
+ 134,
+ 12,
+ 194,
+ 107,
+ 13,
+ 38,
+ 185,
+ 204,
+ 83,
+ 188,
+ 159,
+ 64,
+ 90,
+ 250,
+ 115,
+ 96,
+ 94,
+ 190,
+ 179,
+ 118,
+ 242,
+ 209,
+ 215,
+ 252,
+ 176,
+ 101,
+ 186,
+ 185,
+ 47,
+ 32,
+ 242,
+ 149,
+ 85,
+ 106,
+ 222
+ ],
+ "plaintext": [
+ 133,
+ 0,
+ 105,
+ 229,
+ 237,
+ 118,
+ 139,
+ 93,
+ 201,
+ 237,
+ 122,
+ 212,
+ 133
+ ],
+ "ciphertext": [
+ 194,
+ 17,
+ 217,
+ 7,
+ 157,
+ 85,
+ 98,
+ 101,
+ 157,
+ 176,
+ 30,
+ 23,
+ 209
+ ],
+ "tag": [
+ 136,
+ 72,
+ 147,
+ 251,
+ 3,
+ 93,
+ 61,
+ 114,
+ 55,
+ 212,
+ 124,
+ 54,
+ 61,
+ 230,
+ 43,
+ 179
+ ]
+ },
+ {
+ "key": [
+ 27,
+ 150,
+ 168,
+ 105,
+ 159,
+ 132,
+ 5,
+ 133,
+ 145,
+ 242,
+ 133,
+ 144,
+ 165,
+ 230,
+ 60,
+ 14
+ ],
+ "nonce": [
+ 212,
+ 55,
+ 178,
+ 134,
+ 115,
+ 36,
+ 13,
+ 220,
+ 99,
+ 210,
+ 45,
+ 43
+ ],
+ "aad": [
+ 15,
+ 152,
+ 90,
+ 102,
+ 211,
+ 80,
+ 193,
+ 83,
+ 164,
+ 136,
+ 45,
+ 10,
+ 79,
+ 198,
+ 225,
+ 184,
+ 184,
+ 69,
+ 12,
+ 208,
+ 130,
+ 81,
+ 130,
+ 53,
+ 133,
+ 33,
+ 177,
+ 190,
+ 95,
+ 199,
+ 52,
+ 51,
+ 138,
+ 247,
+ 42,
+ 72,
+ 23,
+ 15,
+ 222,
+ 117,
+ 18,
+ 168,
+ 169,
+ 42,
+ 200,
+ 29,
+ 18,
+ 227,
+ 167,
+ 253,
+ 207,
+ 125,
+ 152,
+ 147,
+ 55,
+ 50,
+ 169,
+ 137,
+ 61,
+ 146,
+ 217,
+ 67,
+ 95,
+ 202,
+ 238,
+ 96,
+ 51,
+ 183,
+ 38,
+ 210,
+ 143,
+ 115,
+ 197,
+ 247,
+ 111,
+ 214,
+ 185,
+ 61,
+ 19,
+ 188,
+ 137,
+ 4,
+ 209,
+ 28,
+ 212,
+ 167,
+ 19,
+ 205,
+ 53,
+ 63
+ ],
+ "plaintext": [
+ 128,
+ 33,
+ 146,
+ 185,
+ 194,
+ 215,
+ 142,
+ 29,
+ 249,
+ 172,
+ 34,
+ 53,
+ 152
+ ],
+ "ciphertext": [
+ 140,
+ 19,
+ 205,
+ 237,
+ 97,
+ 208,
+ 140,
+ 31,
+ 45,
+ 184,
+ 120,
+ 55,
+ 142
+ ],
+ "tag": [
+ 67,
+ 238,
+ 135,
+ 124,
+ 18,
+ 29,
+ 74,
+ 50,
+ 158,
+ 129,
+ 229,
+ 29,
+ 104,
+ 169,
+ 216,
+ 69
+ ]
+ },
+ {
+ "key": [
+ 148,
+ 135,
+ 75,
+ 111,
+ 55,
+ 56,
+ 217,
+ 99,
+ 87,
+ 117,
+ 83,
+ 161,
+ 145,
+ 85,
+ 244,
+ 250
+ ],
+ "nonce": [
+ 142,
+ 159,
+ 97,
+ 237,
+ 200,
+ 83,
+ 219,
+ 36,
+ 251,
+ 22,
+ 32,
+ 98
+ ],
+ "aad": [
+ 211,
+ 11,
+ 17,
+ 69,
+ 107,
+ 104,
+ 216,
+ 157,
+ 254,
+ 204,
+ 0,
+ 147,
+ 12,
+ 81,
+ 2,
+ 202,
+ 189,
+ 178,
+ 7,
+ 171,
+ 173,
+ 252,
+ 126,
+ 38,
+ 40,
+ 110,
+ 130,
+ 42,
+ 20,
+ 198,
+ 231,
+ 35,
+ 234,
+ 84,
+ 146,
+ 239,
+ 83,
+ 204,
+ 34,
+ 6,
+ 219,
+ 233,
+ 134,
+ 5,
+ 131,
+ 226,
+ 253,
+ 42,
+ 142,
+ 210,
+ 111,
+ 207,
+ 93,
+ 186,
+ 137,
+ 20,
+ 202,
+ 228,
+ 130,
+ 159,
+ 248,
+ 55,
+ 69,
+ 188,
+ 242,
+ 3,
+ 194,
+ 201,
+ 114,
+ 158,
+ 197,
+ 246,
+ 53,
+ 211,
+ 104,
+ 248,
+ 105,
+ 113,
+ 57,
+ 177,
+ 143,
+ 28,
+ 57,
+ 234,
+ 78,
+ 62,
+ 132,
+ 159,
+ 75,
+ 63
+ ],
+ "plaintext": [
+ 171,
+ 95,
+ 168,
+ 147,
+ 59,
+ 248,
+ 180,
+ 182,
+ 235,
+ 143,
+ 212,
+ 160,
+ 246
+ ],
+ "ciphertext": [
+ 227,
+ 89,
+ 69,
+ 154,
+ 249,
+ 65,
+ 132,
+ 147,
+ 221,
+ 138,
+ 244,
+ 109,
+ 39
+ ],
+ "tag": [
+ 77,
+ 217,
+ 79,
+ 59,
+ 18,
+ 143,
+ 52,
+ 221,
+ 212,
+ 3,
+ 104,
+ 134,
+ 250,
+ 8,
+ 69,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 116,
+ 52,
+ 228,
+ 236,
+ 10,
+ 162,
+ 106,
+ 168,
+ 159,
+ 122,
+ 2,
+ 91,
+ 124,
+ 171,
+ 238,
+ 107
+ ],
+ "nonce": [
+ 237,
+ 159,
+ 169,
+ 157,
+ 42,
+ 34,
+ 203,
+ 79,
+ 203,
+ 45,
+ 37,
+ 238
+ ],
+ "aad": [
+ 236,
+ 155,
+ 173,
+ 51,
+ 24,
+ 82,
+ 254,
+ 191,
+ 78,
+ 225,
+ 146,
+ 140,
+ 101,
+ 213,
+ 125,
+ 245,
+ 238,
+ 169,
+ 92,
+ 175,
+ 133,
+ 47,
+ 187,
+ 130,
+ 28,
+ 2,
+ 41,
+ 120,
+ 211,
+ 61,
+ 7,
+ 254,
+ 193,
+ 206,
+ 214,
+ 6,
+ 202,
+ 237,
+ 19,
+ 98,
+ 75,
+ 182,
+ 208,
+ 138,
+ 34,
+ 218,
+ 126,
+ 35,
+ 227,
+ 146,
+ 152,
+ 225,
+ 3,
+ 149,
+ 178,
+ 157,
+ 145,
+ 164,
+ 98,
+ 32,
+ 246,
+ 76,
+ 164,
+ 215,
+ 211,
+ 51,
+ 217,
+ 61,
+ 222,
+ 196,
+ 18,
+ 50,
+ 43,
+ 103,
+ 213,
+ 225,
+ 1,
+ 120,
+ 78,
+ 10,
+ 101,
+ 8,
+ 135,
+ 121,
+ 184,
+ 196,
+ 79,
+ 124,
+ 208,
+ 93
+ ],
+ "plaintext": [
+ 253,
+ 83,
+ 24,
+ 54,
+ 136,
+ 165,
+ 29,
+ 75,
+ 203,
+ 229,
+ 47,
+ 109,
+ 55
+ ],
+ "ciphertext": [
+ 151,
+ 247,
+ 76,
+ 214,
+ 255,
+ 46,
+ 167,
+ 212,
+ 50,
+ 98,
+ 254,
+ 111,
+ 25
+ ],
+ "tag": [
+ 126,
+ 213,
+ 188,
+ 240,
+ 206,
+ 4,
+ 72,
+ 250,
+ 102,
+ 29,
+ 12,
+ 15,
+ 188,
+ 211,
+ 101,
+ 120
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 165,
+ 101,
+ 211,
+ 179,
+ 182,
+ 129,
+ 75,
+ 234,
+ 55,
+ 219,
+ 127,
+ 101,
+ 155,
+ 161,
+ 210
+ ],
+ "nonce": [
+ 111,
+ 151,
+ 92,
+ 251,
+ 143,
+ 9,
+ 115,
+ 235,
+ 167,
+ 207,
+ 246,
+ 2
+ ],
+ "aad": [
+ 186,
+ 192,
+ 23,
+ 8,
+ 76,
+ 221,
+ 76,
+ 3,
+ 90,
+ 25,
+ 23,
+ 222,
+ 74,
+ 188,
+ 69,
+ 62,
+ 135,
+ 93,
+ 30,
+ 201,
+ 247,
+ 214,
+ 3,
+ 104,
+ 60,
+ 204,
+ 221,
+ 100,
+ 230,
+ 39,
+ 62,
+ 175,
+ 17,
+ 97,
+ 154,
+ 203,
+ 239,
+ 64,
+ 127,
+ 237,
+ 3,
+ 255,
+ 62,
+ 118,
+ 55,
+ 49,
+ 50,
+ 197,
+ 189,
+ 104,
+ 15,
+ 118,
+ 69,
+ 228,
+ 252,
+ 219,
+ 9,
+ 204,
+ 198,
+ 12,
+ 230,
+ 85,
+ 132,
+ 246,
+ 7,
+ 160,
+ 144,
+ 66,
+ 111,
+ 102,
+ 13,
+ 245,
+ 191,
+ 77,
+ 171,
+ 169,
+ 94,
+ 124,
+ 251,
+ 63,
+ 48,
+ 228,
+ 25,
+ 114,
+ 24,
+ 248,
+ 222,
+ 207,
+ 13,
+ 202
+ ],
+ "plaintext": [
+ 70,
+ 169,
+ 149,
+ 101,
+ 133,
+ 169,
+ 192,
+ 101,
+ 7,
+ 236,
+ 7,
+ 62,
+ 44
+ ],
+ "ciphertext": [
+ 166,
+ 87,
+ 72,
+ 45,
+ 18,
+ 55,
+ 120,
+ 70,
+ 235,
+ 227,
+ 202,
+ 111,
+ 102
+ ],
+ "tag": [
+ 15,
+ 16,
+ 150,
+ 78,
+ 119,
+ 107,
+ 37,
+ 174,
+ 7,
+ 155,
+ 53,
+ 126,
+ 25,
+ 156,
+ 140,
+ 208
+ ]
+ },
+ {
+ "key": [
+ 168,
+ 90,
+ 142,
+ 15,
+ 22,
+ 199,
+ 175,
+ 158,
+ 127,
+ 50,
+ 200,
+ 23,
+ 97,
+ 26,
+ 2,
+ 73
+ ],
+ "nonce": [
+ 18,
+ 180,
+ 161,
+ 193,
+ 190,
+ 210,
+ 6,
+ 196,
+ 38,
+ 193,
+ 217,
+ 119
+ ],
+ "aad": [
+ 64,
+ 116,
+ 30,
+ 172,
+ 147,
+ 186,
+ 111,
+ 59,
+ 96,
+ 253,
+ 241,
+ 172,
+ 27,
+ 23,
+ 250,
+ 61,
+ 215,
+ 13,
+ 26,
+ 212,
+ 117,
+ 95,
+ 90,
+ 107,
+ 189,
+ 89,
+ 201,
+ 197,
+ 170,
+ 153,
+ 187,
+ 101,
+ 191,
+ 126,
+ 7,
+ 126,
+ 88,
+ 99,
+ 177,
+ 208,
+ 185,
+ 49,
+ 4,
+ 222,
+ 167,
+ 184,
+ 228,
+ 85,
+ 215,
+ 188,
+ 20,
+ 150,
+ 104,
+ 130,
+ 45,
+ 199,
+ 136,
+ 180,
+ 105,
+ 128,
+ 178,
+ 180,
+ 57,
+ 195,
+ 62,
+ 16,
+ 204,
+ 124,
+ 23,
+ 65,
+ 85,
+ 41,
+ 201,
+ 66,
+ 233,
+ 234,
+ 243,
+ 62,
+ 174,
+ 182,
+ 39,
+ 188,
+ 76,
+ 255,
+ 195,
+ 92,
+ 174,
+ 77,
+ 55,
+ 201
+ ],
+ "plaintext": [
+ 69,
+ 68,
+ 7,
+ 149,
+ 120,
+ 220,
+ 144,
+ 99,
+ 28,
+ 97,
+ 106,
+ 137,
+ 203
+ ],
+ "ciphertext": [
+ 176,
+ 190,
+ 149,
+ 22,
+ 107,
+ 245,
+ 87,
+ 186,
+ 230,
+ 21,
+ 43,
+ 54,
+ 11
+ ],
+ "tag": [
+ 70,
+ 57,
+ 31,
+ 53,
+ 215,
+ 57,
+ 1,
+ 115,
+ 42,
+ 123,
+ 156,
+ 126,
+ 185,
+ 118,
+ 174,
+ 217
+ ]
+ },
+ {
+ "key": [
+ 150,
+ 200,
+ 55,
+ 202,
+ 82,
+ 148,
+ 68,
+ 109,
+ 56,
+ 154,
+ 111,
+ 6,
+ 203,
+ 66,
+ 231,
+ 55
+ ],
+ "nonce": [
+ 179,
+ 124,
+ 224,
+ 146,
+ 142,
+ 23,
+ 152,
+ 46,
+ 247,
+ 131,
+ 178,
+ 184
+ ],
+ "aad": [
+ 143,
+ 103,
+ 171,
+ 187,
+ 122,
+ 147,
+ 148,
+ 130,
+ 28,
+ 113,
+ 150,
+ 52,
+ 146,
+ 98,
+ 197,
+ 137,
+ 213,
+ 225,
+ 193,
+ 86,
+ 214,
+ 18,
+ 111,
+ 179,
+ 218,
+ 5,
+ 98,
+ 191,
+ 64,
+ 62,
+ 115,
+ 53,
+ 8,
+ 241,
+ 241,
+ 146,
+ 109,
+ 108,
+ 144,
+ 69,
+ 53,
+ 12,
+ 173,
+ 61,
+ 18,
+ 67,
+ 80,
+ 77,
+ 199,
+ 10,
+ 161,
+ 122,
+ 77,
+ 231,
+ 72,
+ 228,
+ 161,
+ 253,
+ 128,
+ 74,
+ 226,
+ 98,
+ 200,
+ 173,
+ 85,
+ 122,
+ 218,
+ 247,
+ 153,
+ 70,
+ 100,
+ 52,
+ 38,
+ 107,
+ 145,
+ 210,
+ 192,
+ 131,
+ 249,
+ 98,
+ 24,
+ 71,
+ 58,
+ 223,
+ 201,
+ 221,
+ 46,
+ 140,
+ 55,
+ 0
+ ],
+ "plaintext": [
+ 139,
+ 119,
+ 254,
+ 122,
+ 172,
+ 106,
+ 112,
+ 252,
+ 174,
+ 30,
+ 231,
+ 65,
+ 87
+ ],
+ "ciphertext": [
+ 217,
+ 80,
+ 171,
+ 134,
+ 49,
+ 166,
+ 108,
+ 49,
+ 61,
+ 104,
+ 1,
+ 151,
+ 125
+ ],
+ "tag": [
+ 49,
+ 225,
+ 9,
+ 117,
+ 60,
+ 187,
+ 101,
+ 30,
+ 209,
+ 148,
+ 54,
+ 159,
+ 0,
+ 132,
+ 3,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 250,
+ 214,
+ 153,
+ 254,
+ 45,
+ 251,
+ 138,
+ 43,
+ 149,
+ 87,
+ 8,
+ 255,
+ 151,
+ 177,
+ 88,
+ 146
+ ],
+ "nonce": [
+ 97,
+ 217,
+ 151,
+ 155,
+ 181,
+ 221,
+ 101,
+ 94,
+ 130,
+ 106,
+ 191,
+ 104
+ ],
+ "aad": [
+ 124,
+ 2,
+ 183,
+ 242,
+ 231,
+ 190,
+ 53,
+ 120,
+ 67,
+ 168,
+ 101,
+ 150,
+ 215,
+ 186,
+ 58,
+ 135,
+ 233,
+ 34,
+ 187,
+ 10,
+ 152,
+ 44,
+ 50,
+ 162,
+ 14,
+ 128,
+ 148,
+ 145,
+ 198,
+ 52,
+ 60,
+ 254,
+ 226,
+ 238,
+ 146,
+ 250,
+ 43,
+ 111,
+ 137,
+ 142,
+ 229,
+ 183,
+ 122,
+ 158,
+ 197,
+ 113,
+ 157,
+ 227,
+ 86,
+ 197,
+ 231,
+ 80,
+ 123,
+ 28,
+ 172,
+ 73,
+ 176,
+ 110,
+ 111,
+ 213,
+ 49,
+ 30,
+ 185,
+ 207,
+ 122,
+ 12,
+ 66,
+ 181,
+ 37,
+ 44,
+ 169,
+ 6,
+ 50,
+ 41,
+ 109,
+ 18,
+ 255,
+ 83,
+ 22,
+ 165,
+ 98,
+ 83,
+ 204,
+ 102,
+ 102,
+ 251,
+ 77,
+ 10,
+ 56,
+ 242
+ ],
+ "plaintext": [
+ 202,
+ 136,
+ 217,
+ 155,
+ 44,
+ 136,
+ 176,
+ 120,
+ 169,
+ 135,
+ 143,
+ 207,
+ 222
+ ],
+ "ciphertext": [
+ 191,
+ 162,
+ 134,
+ 50,
+ 61,
+ 73,
+ 4,
+ 222,
+ 140,
+ 210,
+ 19,
+ 137,
+ 192
+ ],
+ "tag": [
+ 207,
+ 58,
+ 248,
+ 13,
+ 246,
+ 189,
+ 229,
+ 149,
+ 214,
+ 181,
+ 162,
+ 141,
+ 107,
+ 113,
+ 18,
+ 241
+ ]
+ },
+ {
+ "key": [
+ 202,
+ 131,
+ 161,
+ 16,
+ 156,
+ 245,
+ 191,
+ 183,
+ 210,
+ 77,
+ 107,
+ 167,
+ 44,
+ 108,
+ 26,
+ 116
+ ],
+ "nonce": [
+ 238,
+ 64,
+ 118,
+ 45,
+ 154,
+ 95,
+ 205,
+ 180,
+ 20,
+ 56,
+ 206,
+ 5
+ ],
+ "aad": [
+ 245,
+ 76,
+ 68,
+ 24,
+ 223,
+ 73,
+ 140,
+ 120,
+ 46,
+ 214,
+ 28,
+ 203,
+ 164,
+ 230,
+ 87,
+ 200,
+ 222,
+ 144,
+ 50,
+ 35,
+ 31,
+ 214,
+ 169,
+ 140,
+ 113,
+ 128,
+ 99,
+ 96,
+ 13,
+ 150,
+ 240,
+ 229,
+ 241,
+ 127,
+ 167,
+ 59,
+ 148,
+ 146,
+ 250,
+ 162,
+ 100,
+ 181,
+ 185,
+ 112,
+ 110,
+ 13,
+ 9,
+ 99,
+ 134,
+ 152,
+ 54,
+ 148,
+ 251,
+ 65,
+ 185,
+ 4,
+ 193,
+ 9,
+ 179,
+ 43,
+ 103,
+ 196,
+ 228,
+ 114,
+ 226,
+ 164,
+ 22,
+ 253,
+ 216,
+ 242,
+ 164,
+ 31,
+ 191,
+ 177,
+ 197,
+ 236,
+ 223,
+ 91,
+ 233,
+ 127,
+ 205,
+ 52,
+ 124,
+ 37,
+ 65,
+ 193,
+ 229,
+ 12,
+ 254,
+ 24
+ ],
+ "plaintext": [
+ 83,
+ 199,
+ 250,
+ 158,
+ 186,
+ 105,
+ 84,
+ 17,
+ 19,
+ 193,
+ 153,
+ 140,
+ 70
+ ],
+ "ciphertext": [
+ 140,
+ 237,
+ 214,
+ 20,
+ 154,
+ 32,
+ 59,
+ 235,
+ 71,
+ 215,
+ 132,
+ 137,
+ 255
+ ],
+ "tag": [
+ 0,
+ 144,
+ 104,
+ 23,
+ 120,
+ 85,
+ 57,
+ 48,
+ 109,
+ 7,
+ 119,
+ 94,
+ 33,
+ 91,
+ 251,
+ 75
+ ]
+ },
+ {
+ "key": [
+ 101,
+ 164,
+ 103,
+ 213,
+ 232,
+ 213,
+ 3,
+ 160,
+ 145,
+ 110,
+ 92,
+ 202,
+ 175,
+ 36,
+ 11,
+ 32
+ ],
+ "nonce": [
+ 12,
+ 198,
+ 242,
+ 242,
+ 165,
+ 207,
+ 150,
+ 206,
+ 106,
+ 220,
+ 44,
+ 94
+ ],
+ "aad": [
+ 174,
+ 152,
+ 216,
+ 230,
+ 117,
+ 188,
+ 162,
+ 205,
+ 75,
+ 248,
+ 240,
+ 134,
+ 13,
+ 70,
+ 189,
+ 44,
+ 24,
+ 242,
+ 209,
+ 93,
+ 212,
+ 49,
+ 197,
+ 31,
+ 230,
+ 60,
+ 135,
+ 140,
+ 201,
+ 177,
+ 207,
+ 71,
+ 163,
+ 184,
+ 76,
+ 241,
+ 233,
+ 160,
+ 42,
+ 79,
+ 10,
+ 137,
+ 64,
+ 0,
+ 139,
+ 114,
+ 244,
+ 241,
+ 237,
+ 156,
+ 181,
+ 170,
+ 230,
+ 112,
+ 137,
+ 151,
+ 5,
+ 87,
+ 58,
+ 128,
+ 69,
+ 0,
+ 140,
+ 173,
+ 18,
+ 132,
+ 205,
+ 221,
+ 21,
+ 50,
+ 121,
+ 29,
+ 56,
+ 200,
+ 6,
+ 118,
+ 148,
+ 102,
+ 157,
+ 139,
+ 125,
+ 6,
+ 164,
+ 105,
+ 105,
+ 196,
+ 19,
+ 230,
+ 227,
+ 92
+ ],
+ "plaintext": [
+ 182,
+ 25,
+ 175,
+ 67,
+ 33,
+ 93,
+ 65,
+ 177,
+ 176,
+ 101,
+ 11,
+ 190,
+ 13
+ ],
+ "ciphertext": [
+ 108,
+ 36,
+ 189,
+ 14,
+ 204,
+ 151,
+ 135,
+ 63,
+ 15,
+ 124,
+ 136,
+ 2,
+ 197
+ ],
+ "tag": [
+ 3,
+ 22,
+ 138,
+ 6,
+ 180,
+ 149,
+ 243,
+ 243,
+ 29,
+ 70,
+ 240,
+ 222,
+ 135,
+ 213,
+ 71,
+ 26
+ ]
+ },
+ {
+ "key": [
+ 76,
+ 243,
+ 40,
+ 225,
+ 242,
+ 241,
+ 128,
+ 194,
+ 221,
+ 158,
+ 109,
+ 112,
+ 60,
+ 174,
+ 24,
+ 143
+ ],
+ "nonce": [
+ 53,
+ 183,
+ 207,
+ 230,
+ 83,
+ 49,
+ 229,
+ 32,
+ 38,
+ 93,
+ 102,
+ 87
+ ],
+ "aad": [
+ 114,
+ 166,
+ 164,
+ 244,
+ 53,
+ 152,
+ 185,
+ 17,
+ 105,
+ 168,
+ 52,
+ 217,
+ 6,
+ 203,
+ 228,
+ 203,
+ 64,
+ 218,
+ 26,
+ 65,
+ 80,
+ 42,
+ 127,
+ 75,
+ 200,
+ 2,
+ 101,
+ 162,
+ 57,
+ 51,
+ 10,
+ 145,
+ 2,
+ 222,
+ 148,
+ 167,
+ 254,
+ 141,
+ 87,
+ 210,
+ 141,
+ 193,
+ 37,
+ 170,
+ 94,
+ 109,
+ 6,
+ 30,
+ 125,
+ 42,
+ 144,
+ 205,
+ 173,
+ 132,
+ 6,
+ 238,
+ 137,
+ 150,
+ 135,
+ 208,
+ 47,
+ 120,
+ 15,
+ 12,
+ 26,
+ 232,
+ 233,
+ 68,
+ 179,
+ 0,
+ 182,
+ 28,
+ 211,
+ 72,
+ 152,
+ 82,
+ 214,
+ 30,
+ 178,
+ 52,
+ 154,
+ 68,
+ 123,
+ 232,
+ 93,
+ 37,
+ 211,
+ 205,
+ 222,
+ 14
+ ],
+ "plaintext": [
+ 156,
+ 26,
+ 25,
+ 87,
+ 53,
+ 168,
+ 78,
+ 100,
+ 145,
+ 168,
+ 172,
+ 7,
+ 255
+ ],
+ "ciphertext": [
+ 235,
+ 77,
+ 56,
+ 194,
+ 59,
+ 233,
+ 116,
+ 69,
+ 194,
+ 94,
+ 139,
+ 242,
+ 244
+ ],
+ "tag": [
+ 176,
+ 5,
+ 244,
+ 36,
+ 247,
+ 122,
+ 129,
+ 244,
+ 169,
+ 101,
+ 170,
+ 122,
+ 27,
+ 248,
+ 207,
+ 229
+ ]
+ },
+ {
+ "key": [
+ 125,
+ 98,
+ 177,
+ 106,
+ 85,
+ 28,
+ 18,
+ 172,
+ 33,
+ 2,
+ 71,
+ 36,
+ 146,
+ 164,
+ 211,
+ 175
+ ],
+ "nonce": [
+ 212,
+ 100,
+ 201,
+ 136,
+ 1,
+ 60,
+ 254,
+ 228,
+ 186,
+ 253,
+ 122,
+ 155
+ ],
+ "aad": [
+ 18,
+ 169,
+ 21,
+ 94,
+ 114,
+ 246,
+ 193,
+ 154,
+ 159,
+ 0,
+ 166,
+ 81,
+ 254,
+ 82,
+ 214,
+ 218,
+ 195,
+ 49,
+ 202,
+ 192,
+ 107,
+ 59,
+ 165,
+ 148,
+ 226,
+ 64,
+ 33,
+ 144,
+ 12,
+ 218,
+ 167,
+ 215,
+ 58,
+ 117,
+ 160,
+ 150,
+ 141,
+ 213,
+ 215,
+ 210,
+ 241,
+ 110,
+ 186,
+ 178,
+ 25,
+ 124,
+ 98,
+ 10,
+ 23,
+ 104,
+ 187,
+ 192,
+ 131,
+ 158,
+ 33,
+ 200,
+ 163,
+ 114,
+ 3,
+ 175,
+ 76,
+ 43,
+ 161,
+ 70,
+ 253,
+ 202,
+ 194,
+ 180,
+ 135,
+ 1,
+ 204,
+ 75,
+ 181,
+ 134,
+ 63,
+ 81,
+ 76,
+ 101,
+ 98,
+ 224,
+ 30,
+ 128,
+ 124,
+ 213,
+ 48,
+ 140,
+ 146,
+ 116,
+ 173,
+ 158
+ ],
+ "plaintext": [
+ 109,
+ 229,
+ 45,
+ 75,
+ 8,
+ 120,
+ 194,
+ 107,
+ 13,
+ 138,
+ 111,
+ 241,
+ 39
+ ],
+ "ciphertext": [
+ 166,
+ 221,
+ 66,
+ 183,
+ 82,
+ 202,
+ 203,
+ 71,
+ 241,
+ 222,
+ 154,
+ 218,
+ 161
+ ],
+ "tag": [
+ 198,
+ 71,
+ 46,
+ 114,
+ 42,
+ 57,
+ 174,
+ 68,
+ 190,
+ 94,
+ 66,
+ 66,
+ 204,
+ 88,
+ 224,
+ 70
+ ]
+ },
+ {
+ "key": [
+ 239,
+ 108,
+ 133,
+ 250,
+ 73,
+ 9,
+ 25,
+ 211,
+ 66,
+ 115,
+ 67,
+ 87,
+ 254,
+ 54,
+ 86,
+ 189
+ ],
+ "nonce": [
+ 119,
+ 144,
+ 211,
+ 168,
+ 222,
+ 184,
+ 113,
+ 44,
+ 104,
+ 221,
+ 174,
+ 128
+ ],
+ "aad": [
+ 251,
+ 4,
+ 204,
+ 193,
+ 215,
+ 133,
+ 35,
+ 201,
+ 174,
+ 246,
+ 232,
+ 40,
+ 95,
+ 169,
+ 145,
+ 2,
+ 108,
+ 90,
+ 164,
+ 203,
+ 200,
+ 195,
+ 127,
+ 158,
+ 9,
+ 105,
+ 215,
+ 76,
+ 87,
+ 30,
+ 36,
+ 9,
+ 119,
+ 93,
+ 17,
+ 108,
+ 74,
+ 85,
+ 176,
+ 63,
+ 2,
+ 152,
+ 66,
+ 215,
+ 227,
+ 165,
+ 61,
+ 248,
+ 247,
+ 206,
+ 185,
+ 70,
+ 155,
+ 68,
+ 97,
+ 100,
+ 157,
+ 251,
+ 65,
+ 131,
+ 229,
+ 126,
+ 190,
+ 168,
+ 151,
+ 27,
+ 217,
+ 103,
+ 238,
+ 149,
+ 213,
+ 246,
+ 86,
+ 135,
+ 51,
+ 104,
+ 168,
+ 51,
+ 19,
+ 250,
+ 49,
+ 207,
+ 106,
+ 177,
+ 29,
+ 123,
+ 44,
+ 119,
+ 210,
+ 13
+ ],
+ "plaintext": [
+ 191,
+ 69,
+ 213,
+ 142,
+ 60,
+ 240,
+ 205,
+ 71,
+ 191,
+ 233,
+ 8,
+ 20,
+ 234
+ ],
+ "ciphertext": [
+ 124,
+ 241,
+ 175,
+ 166,
+ 13,
+ 52,
+ 40,
+ 200,
+ 253,
+ 37,
+ 217,
+ 71,
+ 155
+ ],
+ "tag": [
+ 99,
+ 227,
+ 165,
+ 238,
+ 188,
+ 215,
+ 36,
+ 104,
+ 232,
+ 255,
+ 171,
+ 85,
+ 227,
+ 202,
+ 239,
+ 231
+ ]
+ },
+ {
+ "key": [
+ 172,
+ 91,
+ 74,
+ 208,
+ 156,
+ 115,
+ 237,
+ 11,
+ 128,
+ 147,
+ 27,
+ 146,
+ 12,
+ 235,
+ 15,
+ 173
+ ],
+ "nonce": [
+ 28,
+ 10,
+ 178,
+ 148,
+ 16,
+ 37,
+ 206,
+ 127,
+ 8,
+ 75,
+ 133,
+ 9
+ ],
+ "aad": [
+ 232,
+ 203,
+ 133,
+ 71,
+ 172,
+ 103,
+ 220,
+ 203,
+ 60,
+ 184,
+ 142,
+ 4,
+ 67,
+ 249,
+ 86,
+ 105,
+ 68,
+ 167,
+ 154,
+ 218,
+ 237,
+ 118,
+ 128,
+ 185,
+ 225,
+ 116,
+ 8,
+ 7,
+ 81,
+ 217,
+ 30,
+ 77,
+ 131,
+ 53,
+ 127,
+ 40,
+ 128,
+ 42,
+ 87,
+ 110,
+ 15,
+ 181,
+ 63,
+ 179,
+ 46,
+ 141,
+ 77,
+ 135,
+ 157,
+ 85,
+ 170,
+ 158,
+ 121,
+ 226,
+ 1,
+ 190,
+ 54,
+ 63,
+ 77,
+ 219,
+ 22,
+ 218,
+ 211,
+ 94,
+ 5,
+ 138,
+ 125,
+ 105,
+ 226,
+ 98,
+ 195,
+ 89,
+ 192,
+ 54,
+ 240,
+ 215,
+ 33,
+ 81,
+ 170,
+ 11,
+ 240,
+ 79,
+ 190,
+ 245,
+ 196,
+ 195,
+ 247,
+ 233,
+ 29,
+ 5
+ ],
+ "plaintext": [
+ 191,
+ 100,
+ 222,
+ 66,
+ 1,
+ 51,
+ 178,
+ 157,
+ 29,
+ 80,
+ 244,
+ 117,
+ 125
+ ],
+ "ciphertext": [
+ 55,
+ 97,
+ 246,
+ 17,
+ 236,
+ 63,
+ 248,
+ 83,
+ 201,
+ 21,
+ 230,
+ 30,
+ 246
+ ],
+ "tag": [
+ 191,
+ 144,
+ 108,
+ 61,
+ 171,
+ 215,
+ 133,
+ 150,
+ 139,
+ 165,
+ 199,
+ 171,
+ 212,
+ 161,
+ 236,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 53,
+ 129,
+ 140,
+ 147,
+ 197,
+ 74,
+ 50,
+ 31,
+ 44,
+ 204,
+ 40,
+ 233,
+ 103,
+ 210,
+ 44,
+ 225
+ ],
+ "nonce": [
+ 24,
+ 223,
+ 204,
+ 115,
+ 130,
+ 154,
+ 60,
+ 19,
+ 40,
+ 122,
+ 97,
+ 18
+ ],
+ "aad": [
+ 9,
+ 190,
+ 115,
+ 28,
+ 213,
+ 47,
+ 228,
+ 247,
+ 198,
+ 221,
+ 154,
+ 239,
+ 151,
+ 143,
+ 143,
+ 17,
+ 124,
+ 53,
+ 137,
+ 151,
+ 132,
+ 47,
+ 251,
+ 178,
+ 223,
+ 150,
+ 114,
+ 118,
+ 37,
+ 102,
+ 155,
+ 88,
+ 81,
+ 62,
+ 43,
+ 201,
+ 126,
+ 249,
+ 199,
+ 17,
+ 154,
+ 250,
+ 107,
+ 8,
+ 138,
+ 79,
+ 147,
+ 18,
+ 190,
+ 190,
+ 191,
+ 166,
+ 231,
+ 16,
+ 128,
+ 166,
+ 231,
+ 243,
+ 105,
+ 32,
+ 127,
+ 51,
+ 150,
+ 249,
+ 194,
+ 64,
+ 161,
+ 49,
+ 67,
+ 215,
+ 191,
+ 197,
+ 202,
+ 213,
+ 4,
+ 156,
+ 176,
+ 103,
+ 206,
+ 79,
+ 87,
+ 135,
+ 109,
+ 136,
+ 59,
+ 200,
+ 40,
+ 63,
+ 237,
+ 135
+ ],
+ "plaintext": [
+ 111,
+ 50,
+ 242,
+ 91,
+ 252,
+ 81,
+ 30,
+ 138,
+ 124,
+ 96,
+ 133,
+ 73,
+ 68
+ ],
+ "ciphertext": [
+ 149,
+ 83,
+ 235,
+ 3,
+ 120,
+ 34,
+ 159,
+ 219,
+ 33,
+ 63,
+ 212,
+ 96,
+ 2
+ ],
+ "tag": [
+ 236,
+ 34,
+ 142,
+ 192,
+ 252,
+ 39,
+ 59,
+ 103,
+ 217,
+ 34,
+ 194,
+ 186,
+ 61,
+ 222,
+ 91,
+ 223
+ ]
+ },
+ {
+ "key": [
+ 153,
+ 113,
+ 7,
+ 16,
+ 89,
+ 171,
+ 192,
+ 9,
+ 228,
+ 242,
+ 189,
+ 105,
+ 134,
+ 157,
+ 179,
+ 56
+ ],
+ "nonce": [
+ 7,
+ 169,
+ 169,
+ 94,
+ 163,
+ 130,
+ 30,
+ 156,
+ 19,
+ 198,
+ 50,
+ 81
+ ],
+ "aad": [],
+ "plaintext": [
+ 245,
+ 75,
+ 195,
+ 80,
+ 31,
+ 237,
+ 79,
+ 111,
+ 109,
+ 251,
+ 94,
+ 168,
+ 1,
+ 6,
+ 223,
+ 11,
+ 216,
+ 54,
+ 230,
+ 130,
+ 98,
+ 37,
+ 183,
+ 92,
+ 2,
+ 34,
+ 246,
+ 232,
+ 89,
+ 179,
+ 89,
+ 131
+ ],
+ "ciphertext": [
+ 5,
+ 86,
+ 193,
+ 89,
+ 248,
+ 78,
+ 243,
+ 108,
+ 177,
+ 96,
+ 43,
+ 69,
+ 38,
+ 177,
+ 32,
+ 9,
+ 199,
+ 117,
+ 97,
+ 27,
+ 255,
+ 182,
+ 77,
+ 192,
+ 217,
+ 202,
+ 146,
+ 151,
+ 205,
+ 44,
+ 106,
+ 1
+ ],
+ "tag": [
+ 120,
+ 112,
+ 217,
+ 17,
+ 127,
+ 84,
+ 129,
+ 26,
+ 52,
+ 105,
+ 112,
+ 241,
+ 222,
+ 9,
+ 12,
+ 65
+ ]
+ },
+ {
+ "key": [
+ 240,
+ 165,
+ 81,
+ 197,
+ 105,
+ 115,
+ 225,
+ 207,
+ 223,
+ 226,
+ 211,
+ 83,
+ 170,
+ 214,
+ 108,
+ 42
+ ],
+ "nonce": [
+ 148,
+ 233,
+ 94,
+ 5,
+ 68,
+ 171,
+ 11,
+ 11,
+ 153,
+ 151,
+ 174,
+ 227
+ ],
+ "aad": [],
+ "plaintext": [
+ 115,
+ 76,
+ 9,
+ 7,
+ 239,
+ 73,
+ 161,
+ 216,
+ 107,
+ 198,
+ 101,
+ 187,
+ 157,
+ 169,
+ 206,
+ 222,
+ 238,
+ 205,
+ 42,
+ 191,
+ 237,
+ 127,
+ 89,
+ 28,
+ 32,
+ 26,
+ 195,
+ 96,
+ 202,
+ 66,
+ 249,
+ 65
+ ],
+ "ciphertext": [
+ 242,
+ 194,
+ 240,
+ 195,
+ 94,
+ 11,
+ 246,
+ 197,
+ 245,
+ 194,
+ 77,
+ 138,
+ 173,
+ 186,
+ 25,
+ 237,
+ 53,
+ 132,
+ 137,
+ 89,
+ 185,
+ 197,
+ 134,
+ 96,
+ 76,
+ 57,
+ 100,
+ 40,
+ 73,
+ 52,
+ 24,
+ 208
+ ],
+ "tag": [
+ 136,
+ 85,
+ 174,
+ 203,
+ 233,
+ 96,
+ 74,
+ 131,
+ 159,
+ 165,
+ 212,
+ 129,
+ 248,
+ 118,
+ 15,
+ 252
+ ]
+ },
+ {
+ "key": [
+ 198,
+ 53,
+ 119,
+ 95,
+ 161,
+ 65,
+ 106,
+ 190,
+ 55,
+ 92,
+ 121,
+ 46,
+ 167,
+ 164,
+ 134,
+ 172
+ ],
+ "nonce": [
+ 91,
+ 159,
+ 3,
+ 133,
+ 150,
+ 245,
+ 81,
+ 21,
+ 152,
+ 106,
+ 49,
+ 9
+ ],
+ "aad": [],
+ "plaintext": [
+ 84,
+ 23,
+ 33,
+ 86,
+ 252,
+ 178,
+ 196,
+ 3,
+ 146,
+ 0,
+ 152,
+ 7,
+ 189,
+ 62,
+ 196,
+ 161,
+ 28,
+ 44,
+ 27,
+ 109,
+ 105,
+ 173,
+ 32,
+ 199,
+ 115,
+ 223,
+ 61,
+ 158,
+ 124,
+ 243,
+ 94,
+ 61
+ ],
+ "ciphertext": [
+ 115,
+ 169,
+ 217,
+ 222,
+ 10,
+ 61,
+ 205,
+ 197,
+ 45,
+ 217,
+ 116,
+ 95,
+ 223,
+ 18,
+ 53,
+ 63,
+ 77,
+ 99,
+ 208,
+ 199,
+ 100,
+ 100,
+ 67,
+ 245,
+ 32,
+ 104,
+ 131,
+ 246,
+ 183,
+ 218,
+ 43,
+ 148
+ ],
+ "tag": [
+ 17,
+ 151,
+ 10,
+ 96,
+ 133,
+ 91,
+ 15,
+ 232,
+ 144,
+ 212,
+ 245,
+ 152,
+ 143,
+ 108,
+ 175,
+ 174
+ ]
+ },
+ {
+ "key": [
+ 67,
+ 208,
+ 101,
+ 26,
+ 165,
+ 208,
+ 111,
+ 40,
+ 70,
+ 254,
+ 216,
+ 51,
+ 251,
+ 183,
+ 34,
+ 65
+ ],
+ "nonce": [
+ 42,
+ 230,
+ 38,
+ 119,
+ 43,
+ 115,
+ 199,
+ 205,
+ 37,
+ 218,
+ 176,
+ 20
+ ],
+ "aad": [],
+ "plaintext": [
+ 206,
+ 193,
+ 96,
+ 124,
+ 205,
+ 198,
+ 51,
+ 46,
+ 83,
+ 113,
+ 118,
+ 97,
+ 144,
+ 204,
+ 123,
+ 3,
+ 160,
+ 159,
+ 184,
+ 20,
+ 179,
+ 210,
+ 175,
+ 197,
+ 46,
+ 220,
+ 116,
+ 125,
+ 112,
+ 183,
+ 255,
+ 244
+ ],
+ "ciphertext": [
+ 234,
+ 116,
+ 44,
+ 196,
+ 26,
+ 250,
+ 197,
+ 255,
+ 191,
+ 168,
+ 30,
+ 137,
+ 186,
+ 216,
+ 47,
+ 31,
+ 138,
+ 7,
+ 236,
+ 162,
+ 129,
+ 252,
+ 37,
+ 59,
+ 83,
+ 60,
+ 193,
+ 87,
+ 236,
+ 238,
+ 196,
+ 224
+ ],
+ "tag": [
+ 219,
+ 30,
+ 25,
+ 251,
+ 84,
+ 90,
+ 226,
+ 24,
+ 244,
+ 173,
+ 60,
+ 154,
+ 109,
+ 166,
+ 73,
+ 151
+ ]
+ },
+ {
+ "key": [
+ 222,
+ 250,
+ 47,
+ 14,
+ 186,
+ 101,
+ 23,
+ 153,
+ 198,
+ 4,
+ 30,
+ 111,
+ 40,
+ 160,
+ 219,
+ 59
+ ],
+ "nonce": [
+ 16,
+ 33,
+ 88,
+ 214,
+ 237,
+ 84,
+ 236,
+ 199,
+ 239,
+ 222,
+ 186,
+ 122
+ ],
+ "aad": [],
+ "plaintext": [
+ 103,
+ 132,
+ 69,
+ 119,
+ 161,
+ 152,
+ 180,
+ 86,
+ 250,
+ 65,
+ 10,
+ 252,
+ 237,
+ 232,
+ 252,
+ 36,
+ 251,
+ 151,
+ 4,
+ 89,
+ 9,
+ 110,
+ 186,
+ 224,
+ 59,
+ 254,
+ 29,
+ 211,
+ 42,
+ 107,
+ 150,
+ 101
+ ],
+ "ciphertext": [
+ 77,
+ 135,
+ 120,
+ 44,
+ 153,
+ 234,
+ 43,
+ 24,
+ 197,
+ 131,
+ 147,
+ 238,
+ 249,
+ 117,
+ 0,
+ 123,
+ 144,
+ 25,
+ 244,
+ 38,
+ 103,
+ 185,
+ 128,
+ 152,
+ 64,
+ 65,
+ 55,
+ 220,
+ 8,
+ 93,
+ 99,
+ 27
+ ],
+ "tag": [
+ 251,
+ 223,
+ 133,
+ 124,
+ 27,
+ 255,
+ 137,
+ 189,
+ 114,
+ 91,
+ 140,
+ 169,
+ 13,
+ 100,
+ 62,
+ 91
+ ]
+ },
+ {
+ "key": [
+ 240,
+ 152,
+ 222,
+ 177,
+ 232,
+ 20,
+ 155,
+ 60,
+ 136,
+ 50,
+ 14,
+ 251,
+ 254,
+ 160,
+ 135,
+ 226
+ ],
+ "nonce": [
+ 129,
+ 70,
+ 57,
+ 62,
+ 208,
+ 221,
+ 9,
+ 216,
+ 157,
+ 26,
+ 231,
+ 229
+ ],
+ "aad": [],
+ "plaintext": [
+ 142,
+ 230,
+ 244,
+ 192,
+ 30,
+ 152,
+ 181,
+ 1,
+ 169,
+ 145,
+ 79,
+ 87,
+ 35,
+ 155,
+ 218,
+ 125,
+ 88,
+ 49,
+ 172,
+ 20,
+ 124,
+ 50,
+ 6,
+ 81,
+ 134,
+ 62,
+ 6,
+ 219,
+ 96,
+ 193,
+ 160,
+ 45
+ ],
+ "ciphertext": [
+ 18,
+ 35,
+ 9,
+ 171,
+ 148,
+ 201,
+ 137,
+ 1,
+ 16,
+ 75,
+ 218,
+ 4,
+ 136,
+ 239,
+ 181,
+ 99,
+ 149,
+ 157,
+ 166,
+ 73,
+ 121,
+ 101,
+ 62,
+ 228,
+ 248,
+ 230,
+ 88,
+ 163,
+ 234,
+ 138,
+ 60,
+ 156
+ ],
+ "tag": [
+ 147,
+ 227,
+ 217,
+ 61,
+ 5,
+ 128,
+ 197,
+ 86,
+ 126,
+ 207,
+ 172,
+ 39,
+ 77,
+ 162,
+ 17,
+ 226
+ ]
+ },
+ {
+ "key": [
+ 99,
+ 178,
+ 138,
+ 236,
+ 143,
+ 125,
+ 212,
+ 74,
+ 242,
+ 105,
+ 228,
+ 142,
+ 53,
+ 41,
+ 74,
+ 52
+ ],
+ "nonce": [
+ 76,
+ 61,
+ 136,
+ 80,
+ 15,
+ 106,
+ 72,
+ 59,
+ 99,
+ 186,
+ 17,
+ 57
+ ],
+ "aad": [],
+ "plaintext": [
+ 91,
+ 134,
+ 235,
+ 113,
+ 139,
+ 57,
+ 23,
+ 83,
+ 125,
+ 78,
+ 245,
+ 27,
+ 108,
+ 116,
+ 168,
+ 92,
+ 201,
+ 169,
+ 0,
+ 2,
+ 65,
+ 13,
+ 143,
+ 52,
+ 108,
+ 190,
+ 86,
+ 200,
+ 106,
+ 199,
+ 45,
+ 77
+ ],
+ "ciphertext": [
+ 208,
+ 40,
+ 17,
+ 23,
+ 226,
+ 159,
+ 191,
+ 150,
+ 118,
+ 247,
+ 136,
+ 120,
+ 17,
+ 176,
+ 16,
+ 161,
+ 154,
+ 52,
+ 71,
+ 90,
+ 217,
+ 228,
+ 81,
+ 108,
+ 216,
+ 66,
+ 77,
+ 11,
+ 158,
+ 90,
+ 44,
+ 60
+ ],
+ "tag": [
+ 144,
+ 75,
+ 169,
+ 40,
+ 32,
+ 95,
+ 221,
+ 169,
+ 226,
+ 103,
+ 72,
+ 5,
+ 190,
+ 7,
+ 233,
+ 62
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 94,
+ 216,
+ 132,
+ 167,
+ 85,
+ 76,
+ 121,
+ 44,
+ 198,
+ 113,
+ 233,
+ 60,
+ 2,
+ 67,
+ 63
+ ],
+ "nonce": [
+ 102,
+ 116,
+ 103,
+ 177,
+ 104,
+ 219,
+ 86,
+ 173,
+ 244,
+ 138,
+ 38,
+ 226
+ ],
+ "aad": [],
+ "plaintext": [
+ 185,
+ 65,
+ 187,
+ 31,
+ 115,
+ 152,
+ 11,
+ 13,
+ 118,
+ 50,
+ 74,
+ 73,
+ 166,
+ 195,
+ 54,
+ 35,
+ 212,
+ 161,
+ 6,
+ 59,
+ 5,
+ 200,
+ 44,
+ 180,
+ 62,
+ 75,
+ 12,
+ 221,
+ 79,
+ 145,
+ 56,
+ 96
+ ],
+ "ciphertext": [
+ 132,
+ 144,
+ 110,
+ 120,
+ 172,
+ 121,
+ 223,
+ 103,
+ 160,
+ 251,
+ 76,
+ 207,
+ 76,
+ 141,
+ 164,
+ 57,
+ 9,
+ 67,
+ 57,
+ 173,
+ 201,
+ 45,
+ 152,
+ 171,
+ 190,
+ 3,
+ 44,
+ 223,
+ 79,
+ 93,
+ 146,
+ 236
+ ],
+ "tag": [
+ 117,
+ 10,
+ 137,
+ 168,
+ 66,
+ 166,
+ 221,
+ 125,
+ 19,
+ 23,
+ 245,
+ 97,
+ 185,
+ 3,
+ 132,
+ 2
+ ]
+ },
+ {
+ "key": [
+ 129,
+ 110,
+ 215,
+ 237,
+ 173,
+ 202,
+ 158,
+ 143,
+ 162,
+ 178,
+ 185,
+ 249,
+ 235,
+ 209,
+ 77,
+ 81
+ ],
+ "nonce": [
+ 125,
+ 165,
+ 20,
+ 226,
+ 116,
+ 181,
+ 184,
+ 18,
+ 114,
+ 43,
+ 92,
+ 63
+ ],
+ "aad": [],
+ "plaintext": [
+ 199,
+ 105,
+ 8,
+ 35,
+ 73,
+ 84,
+ 255,
+ 147,
+ 155,
+ 162,
+ 41,
+ 63,
+ 161,
+ 172,
+ 101,
+ 74,
+ 75,
+ 238,
+ 65,
+ 165,
+ 116,
+ 242,
+ 105,
+ 77,
+ 9,
+ 9,
+ 128,
+ 72,
+ 26,
+ 8,
+ 8,
+ 63
+ ],
+ "ciphertext": [
+ 181,
+ 154,
+ 80,
+ 228,
+ 65,
+ 75,
+ 73,
+ 3,
+ 193,
+ 149,
+ 255,
+ 71,
+ 232,
+ 249,
+ 2,
+ 141,
+ 119,
+ 183,
+ 231,
+ 58,
+ 154,
+ 84,
+ 225,
+ 206,
+ 217,
+ 235,
+ 177,
+ 99,
+ 107,
+ 18,
+ 56,
+ 100
+ ],
+ "tag": [
+ 0,
+ 122,
+ 242,
+ 35,
+ 231,
+ 172,
+ 19,
+ 158,
+ 175,
+ 215,
+ 141,
+ 10,
+ 44,
+ 135,
+ 202,
+ 37
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 179,
+ 141,
+ 13,
+ 52,
+ 3,
+ 115,
+ 185,
+ 139,
+ 137,
+ 114,
+ 95,
+ 216,
+ 137,
+ 190,
+ 73
+ ],
+ "nonce": [
+ 188,
+ 43,
+ 135,
+ 168,
+ 131,
+ 175,
+ 28,
+ 11,
+ 255,
+ 131,
+ 136,
+ 251
+ ],
+ "aad": [],
+ "plaintext": [
+ 10,
+ 141,
+ 228,
+ 223,
+ 110,
+ 1,
+ 188,
+ 123,
+ 42,
+ 54,
+ 228,
+ 161,
+ 35,
+ 175,
+ 140,
+ 230,
+ 36,
+ 11,
+ 236,
+ 66,
+ 205,
+ 78,
+ 79,
+ 9,
+ 170,
+ 146,
+ 82,
+ 12,
+ 22,
+ 88,
+ 16,
+ 60
+ ],
+ "ciphertext": [
+ 101,
+ 238,
+ 8,
+ 171,
+ 117,
+ 27,
+ 239,
+ 55,
+ 32,
+ 219,
+ 49,
+ 52,
+ 145,
+ 252,
+ 162,
+ 10,
+ 135,
+ 205,
+ 253,
+ 107,
+ 139,
+ 2,
+ 143,
+ 83,
+ 191,
+ 53,
+ 35,
+ 4,
+ 218,
+ 80,
+ 73,
+ 17
+ ],
+ "tag": [
+ 171,
+ 188,
+ 129,
+ 202,
+ 113,
+ 143,
+ 203,
+ 198,
+ 167,
+ 92,
+ 133,
+ 173,
+ 167,
+ 78,
+ 70,
+ 111
+ ]
+ },
+ {
+ "key": [
+ 220,
+ 102,
+ 44,
+ 119,
+ 162,
+ 213,
+ 32,
+ 160,
+ 103,
+ 203,
+ 214,
+ 189,
+ 126,
+ 17,
+ 150,
+ 150
+ ],
+ "nonce": [
+ 35,
+ 170,
+ 118,
+ 209,
+ 232,
+ 195,
+ 167,
+ 43,
+ 232,
+ 98,
+ 165,
+ 235
+ ],
+ "aad": [],
+ "plaintext": [
+ 95,
+ 182,
+ 110,
+ 20,
+ 77,
+ 37,
+ 100,
+ 224,
+ 150,
+ 131,
+ 32,
+ 101,
+ 100,
+ 125,
+ 174,
+ 118,
+ 134,
+ 89,
+ 214,
+ 220,
+ 209,
+ 10,
+ 29,
+ 190,
+ 0,
+ 133,
+ 140,
+ 228,
+ 245,
+ 20,
+ 137,
+ 18
+ ],
+ "ciphertext": [
+ 97,
+ 39,
+ 19,
+ 249,
+ 230,
+ 189,
+ 128,
+ 23,
+ 246,
+ 20,
+ 16,
+ 193,
+ 11,
+ 161,
+ 189,
+ 33,
+ 173,
+ 200,
+ 117,
+ 101,
+ 186,
+ 251,
+ 209,
+ 131,
+ 157,
+ 149,
+ 114,
+ 226,
+ 112,
+ 233,
+ 66,
+ 16
+ ],
+ "tag": [
+ 157,
+ 118,
+ 22,
+ 195,
+ 180,
+ 134,
+ 16,
+ 124,
+ 199,
+ 74,
+ 138,
+ 42,
+ 169,
+ 198,
+ 82,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 92,
+ 91,
+ 55,
+ 153,
+ 161,
+ 144,
+ 152,
+ 185,
+ 197,
+ 115,
+ 119,
+ 131,
+ 239,
+ 12,
+ 128,
+ 233
+ ],
+ "nonce": [
+ 52,
+ 251,
+ 158,
+ 16,
+ 25,
+ 21,
+ 99,
+ 157,
+ 239,
+ 48,
+ 244,
+ 14
+ ],
+ "aad": [],
+ "plaintext": [
+ 5,
+ 241,
+ 92,
+ 212,
+ 90,
+ 130,
+ 243,
+ 107,
+ 196,
+ 229,
+ 227,
+ 214,
+ 219,
+ 122,
+ 96,
+ 100,
+ 15,
+ 170,
+ 14,
+ 146,
+ 156,
+ 0,
+ 240,
+ 53,
+ 78,
+ 145,
+ 59,
+ 203,
+ 2,
+ 216,
+ 49,
+ 24
+ ],
+ "ciphertext": [
+ 173,
+ 96,
+ 245,
+ 61,
+ 81,
+ 182,
+ 176,
+ 15,
+ 195,
+ 54,
+ 106,
+ 75,
+ 75,
+ 193,
+ 107,
+ 103,
+ 142,
+ 205,
+ 18,
+ 71,
+ 62,
+ 139,
+ 213,
+ 92,
+ 54,
+ 59,
+ 192,
+ 217,
+ 74,
+ 132,
+ 75,
+ 112
+ ],
+ "tag": [
+ 26,
+ 82,
+ 131,
+ 152,
+ 238,
+ 44,
+ 159,
+ 67,
+ 103,
+ 67,
+ 209,
+ 160,
+ 134,
+ 2,
+ 197,
+ 180
+ ]
+ },
+ {
+ "key": [
+ 58,
+ 84,
+ 19,
+ 23,
+ 25,
+ 138,
+ 47,
+ 177,
+ 185,
+ 4,
+ 112,
+ 233,
+ 13,
+ 109,
+ 127,
+ 56
+ ],
+ "nonce": [
+ 223,
+ 166,
+ 235,
+ 43,
+ 83,
+ 23,
+ 127,
+ 245,
+ 208,
+ 146,
+ 66,
+ 149
+ ],
+ "aad": [],
+ "plaintext": [
+ 58,
+ 193,
+ 138,
+ 244,
+ 109,
+ 63,
+ 177,
+ 93,
+ 71,
+ 123,
+ 132,
+ 159,
+ 225,
+ 234,
+ 208,
+ 135,
+ 132,
+ 7,
+ 66,
+ 203,
+ 216,
+ 178,
+ 236,
+ 49,
+ 180,
+ 91,
+ 138,
+ 194,
+ 228,
+ 165,
+ 57,
+ 117
+ ],
+ "ciphertext": [
+ 102,
+ 117,
+ 94,
+ 126,
+ 199,
+ 16,
+ 168,
+ 237,
+ 124,
+ 119,
+ 101,
+ 33,
+ 242,
+ 20,
+ 206,
+ 181,
+ 78,
+ 85,
+ 2,
+ 32,
+ 23,
+ 126,
+ 184,
+ 159,
+ 227,
+ 148,
+ 156,
+ 158,
+ 116,
+ 226,
+ 225,
+ 8
+ ],
+ "tag": [
+ 32,
+ 66,
+ 90,
+ 197,
+ 240,
+ 120,
+ 104,
+ 180,
+ 158,
+ 223,
+ 152,
+ 150,
+ 175,
+ 100,
+ 57,
+ 106
+ ]
+ },
+ {
+ "key": [
+ 143,
+ 133,
+ 211,
+ 102,
+ 22,
+ 169,
+ 95,
+ 193,
+ 5,
+ 134,
+ 195,
+ 22,
+ 179,
+ 5,
+ 55,
+ 112
+ ],
+ "nonce": [
+ 211,
+ 32,
+ 181,
+ 0,
+ 38,
+ 150,
+ 9,
+ 172,
+ 225,
+ 190,
+ 103,
+ 206
+ ],
+ "aad": [],
+ "plaintext": [
+ 58,
+ 117,
+ 142,
+ 224,
+ 114,
+ 252,
+ 112,
+ 166,
+ 66,
+ 117,
+ 181,
+ 110,
+ 114,
+ 203,
+ 35,
+ 161,
+ 89,
+ 4,
+ 88,
+ 156,
+ 239,
+ 190,
+ 235,
+ 88,
+ 72,
+ 236,
+ 83,
+ 255,
+ 192,
+ 108,
+ 122,
+ 93
+ ],
+ "ciphertext": [
+ 251,
+ 47,
+ 227,
+ 235,
+ 64,
+ 237,
+ 251,
+ 210,
+ 42,
+ 81,
+ 107,
+ 236,
+ 53,
+ 157,
+ 75,
+ 180,
+ 35,
+ 138,
+ 7,
+ 0,
+ 164,
+ 111,
+ 238,
+ 17,
+ 54,
+ 160,
+ 97,
+ 133,
+ 64,
+ 34,
+ 156,
+ 65
+ ],
+ "tag": [
+ 66,
+ 38,
+ 147,
+ 22,
+ 206,
+ 206,
+ 125,
+ 136,
+ 44,
+ 198,
+ 140,
+ 62,
+ 217,
+ 210,
+ 240,
+ 174
+ ]
+ },
+ {
+ "key": [
+ 95,
+ 226,
+ 101,
+ 12,
+ 5,
+ 152,
+ 217,
+ 24,
+ 228,
+ 155,
+ 179,
+ 62,
+ 60,
+ 49,
+ 213,
+ 180
+ ],
+ "nonce": [
+ 221,
+ 149,
+ 1,
+ 170,
+ 156,
+ 14,
+ 69,
+ 47,
+ 103,
+ 134,
+ 235,
+ 239
+ ],
+ "aad": [],
+ "plaintext": [
+ 90,
+ 107,
+ 96,
+ 236,
+ 10,
+ 194,
+ 63,
+ 109,
+ 99,
+ 255,
+ 43,
+ 25,
+ 25,
+ 186,
+ 99,
+ 130,
+ 146,
+ 126,
+ 246,
+ 222,
+ 105,
+ 58,
+ 133,
+ 95,
+ 62,
+ 62,
+ 253,
+ 73,
+ 189,
+ 68,
+ 83,
+ 216
+ ],
+ "ciphertext": [
+ 240,
+ 172,
+ 45,
+ 145,
+ 83,
+ 240,
+ 11,
+ 227,
+ 252,
+ 232,
+ 45,
+ 36,
+ 253,
+ 61,
+ 243,
+ 234,
+ 73,
+ 248,
+ 38,
+ 81,
+ 55,
+ 65,
+ 116,
+ 104,
+ 114,
+ 74,
+ 225,
+ 52,
+ 44,
+ 109,
+ 159,
+ 0
+ ],
+ "tag": [
+ 107,
+ 171,
+ 51,
+ 50,
+ 200,
+ 211,
+ 112,
+ 250,
+ 49,
+ 99,
+ 76,
+ 105,
+ 8,
+ 164,
+ 176,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 41,
+ 142,
+ 250,
+ 28,
+ 207,
+ 41,
+ 207,
+ 98,
+ 174,
+ 104,
+ 36,
+ 191,
+ 193,
+ 149,
+ 87,
+ 252
+ ],
+ "nonce": [
+ 111,
+ 88,
+ 169,
+ 63,
+ 225,
+ 210,
+ 7,
+ 250,
+ 228,
+ 237,
+ 47,
+ 109
+ ],
+ "aad": [
+ 2,
+ 31,
+ 175,
+ 210,
+ 56,
+ 70,
+ 57,
+ 115,
+ 255,
+ 232,
+ 2,
+ 86,
+ 229,
+ 177,
+ 198,
+ 177
+ ],
+ "plaintext": [
+ 204,
+ 56,
+ 188,
+ 205,
+ 107,
+ 197,
+ 54,
+ 173,
+ 145,
+ 155,
+ 19,
+ 149,
+ 245,
+ 214,
+ 56,
+ 1,
+ 249,
+ 159,
+ 128,
+ 104,
+ 214,
+ 92,
+ 165,
+ 172,
+ 99,
+ 135,
+ 45,
+ 175,
+ 22,
+ 185,
+ 57,
+ 1
+ ],
+ "ciphertext": [
+ 223,
+ 206,
+ 78,
+ 156,
+ 210,
+ 145,
+ 16,
+ 61,
+ 127,
+ 228,
+ 230,
+ 51,
+ 81,
+ 217,
+ 231,
+ 157,
+ 61,
+ 253,
+ 57,
+ 30,
+ 50,
+ 103,
+ 16,
+ 70,
+ 88,
+ 33,
+ 45,
+ 169,
+ 101,
+ 33,
+ 183,
+ 219
+ ],
+ "tag": [
+ 84,
+ 36,
+ 101,
+ 239,
+ 89,
+ 147,
+ 22,
+ 247,
+ 58,
+ 122,
+ 86,
+ 5,
+ 9,
+ 162,
+ 217,
+ 242
+ ]
+ },
+ {
+ "key": [
+ 155,
+ 45,
+ 221,
+ 26,
+ 246,
+ 102,
+ 185,
+ 30,
+ 5,
+ 45,
+ 98,
+ 75,
+ 4,
+ 230,
+ 176,
+ 66
+ ],
+ "nonce": [
+ 78,
+ 225,
+ 46,
+ 98,
+ 137,
+ 156,
+ 97,
+ 249,
+ 82,
+ 10,
+ 19,
+ 193
+ ],
+ "aad": [
+ 229,
+ 145,
+ 230,
+ 238,
+ 9,
+ 73,
+ 129,
+ 176,
+ 227,
+ 131,
+ 66,
+ 154,
+ 49,
+ 204,
+ 234,
+ 170
+ ],
+ "plaintext": [
+ 1,
+ 229,
+ 220,
+ 135,
+ 162,
+ 66,
+ 120,
+ 44,
+ 163,
+ 21,
+ 106,
+ 39,
+ 68,
+ 111,
+ 56,
+ 107,
+ 217,
+ 160,
+ 96,
+ 255,
+ 239,
+ 31,
+ 99,
+ 195,
+ 188,
+ 17,
+ 169,
+ 60,
+ 227,
+ 5,
+ 23,
+ 93
+ ],
+ "ciphertext": [
+ 135,
+ 185,
+ 118,
+ 72,
+ 138,
+ 192,
+ 119,
+ 80,
+ 170,
+ 82,
+ 158,
+ 22,
+ 2,
+ 41,
+ 13,
+ 179,
+ 111,
+ 77,
+ 56,
+ 213,
+ 197,
+ 204,
+ 180,
+ 18,
+ 146,
+ 182,
+ 108,
+ 49,
+ 57,
+ 97,
+ 126,
+ 190
+ ],
+ "tag": [
+ 196,
+ 231,
+ 234,
+ 83,
+ 239,
+ 213,
+ 147,
+ 84,
+ 236,
+ 107,
+ 75,
+ 141,
+ 159,
+ 139,
+ 35,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 135,
+ 55,
+ 73,
+ 11,
+ 220,
+ 2,
+ 227,
+ 84,
+ 60,
+ 49,
+ 46,
+ 8,
+ 30,
+ 39,
+ 133,
+ 205
+ ],
+ "nonce": [
+ 207,
+ 52,
+ 96,
+ 184,
+ 1,
+ 13,
+ 65,
+ 15,
+ 213,
+ 82,
+ 71,
+ 32
+ ],
+ "aad": [
+ 235,
+ 168,
+ 193,
+ 202,
+ 73,
+ 233,
+ 119,
+ 207,
+ 38,
+ 235,
+ 82,
+ 50,
+ 94,
+ 89,
+ 175,
+ 168
+ ],
+ "plaintext": [
+ 170,
+ 10,
+ 203,
+ 191,
+ 43,
+ 132,
+ 121,
+ 16,
+ 213,
+ 110,
+ 228,
+ 218,
+ 138,
+ 159,
+ 64,
+ 151,
+ 63,
+ 133,
+ 214,
+ 204,
+ 225,
+ 214,
+ 50,
+ 106,
+ 119,
+ 126,
+ 255,
+ 1,
+ 23,
+ 62,
+ 102,
+ 208
+ ],
+ "ciphertext": [
+ 137,
+ 57,
+ 2,
+ 89,
+ 72,
+ 52,
+ 195,
+ 167,
+ 45,
+ 161,
+ 123,
+ 215,
+ 60,
+ 205,
+ 83,
+ 35,
+ 138,
+ 88,
+ 26,
+ 62,
+ 51,
+ 237,
+ 248,
+ 185,
+ 185,
+ 1,
+ 102,
+ 43,
+ 95,
+ 126,
+ 29,
+ 58
+ ],
+ "tag": [
+ 54,
+ 163,
+ 161,
+ 6,
+ 211,
+ 193,
+ 10,
+ 101,
+ 218,
+ 125,
+ 129,
+ 148,
+ 44,
+ 152,
+ 179,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 252,
+ 115,
+ 252,
+ 28,
+ 66,
+ 142,
+ 86,
+ 175,
+ 146,
+ 230,
+ 178,
+ 135,
+ 8,
+ 69,
+ 227
+ ],
+ "nonce": [
+ 55,
+ 91,
+ 26,
+ 132,
+ 254,
+ 250,
+ 170,
+ 128,
+ 127,
+ 254,
+ 186,
+ 24
+ ],
+ "aad": [
+ 13,
+ 102,
+ 137,
+ 1,
+ 22,
+ 58,
+ 8,
+ 163,
+ 56,
+ 196,
+ 39,
+ 52,
+ 45,
+ 49,
+ 231,
+ 153
+ ],
+ "plaintext": [
+ 248,
+ 113,
+ 169,
+ 166,
+ 149,
+ 183,
+ 79,
+ 149,
+ 1,
+ 148,
+ 47,
+ 153,
+ 163,
+ 72,
+ 157,
+ 75,
+ 239,
+ 236,
+ 103,
+ 104,
+ 215,
+ 193,
+ 125,
+ 28,
+ 56,
+ 245,
+ 31,
+ 214,
+ 205,
+ 22,
+ 173,
+ 196
+ ],
+ "ciphertext": [
+ 239,
+ 101,
+ 41,
+ 13,
+ 34,
+ 2,
+ 39,
+ 20,
+ 113,
+ 84,
+ 246,
+ 106,
+ 18,
+ 0,
+ 76,
+ 226,
+ 146,
+ 80,
+ 117,
+ 39,
+ 241,
+ 124,
+ 81,
+ 25,
+ 198,
+ 159,
+ 164,
+ 248,
+ 30,
+ 86,
+ 208,
+ 161
+ ],
+ "tag": [
+ 45,
+ 72,
+ 200,
+ 177,
+ 152,
+ 97,
+ 12,
+ 222,
+ 167,
+ 57,
+ 101,
+ 246,
+ 171,
+ 29,
+ 154,
+ 18
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 34,
+ 214,
+ 113,
+ 91,
+ 180,
+ 8,
+ 64,
+ 28,
+ 90,
+ 122,
+ 243,
+ 239,
+ 25,
+ 12,
+ 170
+ ],
+ "nonce": [
+ 26,
+ 59,
+ 42,
+ 49,
+ 52,
+ 24,
+ 237,
+ 38,
+ 222,
+ 141,
+ 223,
+ 87
+ ],
+ "aad": [
+ 185,
+ 147,
+ 235,
+ 25,
+ 62,
+ 157,
+ 89,
+ 56,
+ 41,
+ 25,
+ 235,
+ 188,
+ 158,
+ 58,
+ 216,
+ 41
+ ],
+ "plaintext": [
+ 211,
+ 241,
+ 2,
+ 51,
+ 80,
+ 95,
+ 82,
+ 79,
+ 251,
+ 141,
+ 150,
+ 29,
+ 131,
+ 33,
+ 190,
+ 136,
+ 201,
+ 117,
+ 112,
+ 75,
+ 221,
+ 157,
+ 249,
+ 88,
+ 243,
+ 121,
+ 90,
+ 223,
+ 0,
+ 133,
+ 170,
+ 167
+ ],
+ "ciphertext": [
+ 225,
+ 81,
+ 145,
+ 86,
+ 204,
+ 39,
+ 144,
+ 91,
+ 141,
+ 162,
+ 77,
+ 41,
+ 251,
+ 80,
+ 45,
+ 84,
+ 4,
+ 46,
+ 182,
+ 250,
+ 177,
+ 12,
+ 95,
+ 106,
+ 153,
+ 209,
+ 239,
+ 84,
+ 201,
+ 44,
+ 85,
+ 93
+ ],
+ "tag": [
+ 127,
+ 208,
+ 79,
+ 99,
+ 123,
+ 116,
+ 141,
+ 177,
+ 125,
+ 167,
+ 238,
+ 52,
+ 9,
+ 154,
+ 17,
+ 42
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 25,
+ 13,
+ 225,
+ 60,
+ 251,
+ 190,
+ 223,
+ 74,
+ 7,
+ 135,
+ 249,
+ 236,
+ 195,
+ 78,
+ 69
+ ],
+ "nonce": [
+ 135,
+ 128,
+ 59,
+ 207,
+ 106,
+ 105,
+ 150,
+ 42,
+ 186,
+ 233,
+ 41,
+ 229
+ ],
+ "aad": [
+ 6,
+ 124,
+ 56,
+ 87,
+ 204,
+ 36,
+ 12,
+ 107,
+ 181,
+ 246,
+ 40,
+ 188,
+ 199,
+ 207,
+ 85,
+ 89
+ ],
+ "plaintext": [
+ 238,
+ 93,
+ 160,
+ 2,
+ 108,
+ 225,
+ 3,
+ 20,
+ 8,
+ 115,
+ 34,
+ 97,
+ 73,
+ 183,
+ 95,
+ 167,
+ 52,
+ 136,
+ 139,
+ 0,
+ 81,
+ 138,
+ 234,
+ 192,
+ 34,
+ 68,
+ 102,
+ 187,
+ 176,
+ 210,
+ 61,
+ 12
+ ],
+ "ciphertext": [
+ 6,
+ 54,
+ 45,
+ 35,
+ 110,
+ 150,
+ 24,
+ 3,
+ 125,
+ 49,
+ 212,
+ 241,
+ 234,
+ 13,
+ 246,
+ 6,
+ 78,
+ 11,
+ 240,
+ 107,
+ 108,
+ 89,
+ 4,
+ 83,
+ 14,
+ 16,
+ 2,
+ 232,
+ 71,
+ 156,
+ 22,
+ 251
+ ],
+ "tag": [
+ 52,
+ 42,
+ 39,
+ 174,
+ 160,
+ 239,
+ 10,
+ 162,
+ 106,
+ 217,
+ 46,
+ 163,
+ 169,
+ 42,
+ 250,
+ 55
+ ]
+ },
+ {
+ "key": [
+ 101,
+ 247,
+ 165,
+ 255,
+ 127,
+ 234,
+ 168,
+ 213,
+ 7,
+ 54,
+ 220,
+ 227,
+ 200,
+ 82,
+ 76,
+ 249
+ ],
+ "nonce": [
+ 223,
+ 160,
+ 130,
+ 32,
+ 101,
+ 177,
+ 237,
+ 73,
+ 135,
+ 104,
+ 82,
+ 23
+ ],
+ "aad": [
+ 204,
+ 79,
+ 212,
+ 216,
+ 37,
+ 132,
+ 5,
+ 155,
+ 90,
+ 22,
+ 93,
+ 99,
+ 45,
+ 86,
+ 254,
+ 30
+ ],
+ "plaintext": [
+ 163,
+ 45,
+ 58,
+ 237,
+ 19,
+ 113,
+ 207,
+ 205,
+ 223,
+ 94,
+ 115,
+ 90,
+ 157,
+ 149,
+ 185,
+ 109,
+ 26,
+ 197,
+ 156,
+ 58,
+ 183,
+ 132,
+ 190,
+ 131,
+ 100,
+ 204,
+ 28,
+ 243,
+ 183,
+ 27,
+ 247,
+ 14
+ ],
+ "ciphertext": [
+ 189,
+ 243,
+ 86,
+ 165,
+ 74,
+ 92,
+ 250,
+ 40,
+ 30,
+ 219,
+ 231,
+ 227,
+ 89,
+ 102,
+ 181,
+ 184,
+ 166,
+ 136,
+ 148,
+ 242,
+ 130,
+ 205,
+ 122,
+ 115,
+ 77,
+ 80,
+ 45,
+ 254,
+ 230,
+ 220,
+ 177,
+ 245
+ ],
+ "tag": [
+ 79,
+ 240,
+ 91,
+ 40,
+ 152,
+ 223,
+ 110,
+ 220,
+ 39,
+ 87,
+ 74,
+ 46,
+ 179,
+ 149,
+ 255,
+ 200
+ ]
+ },
+ {
+ "key": [
+ 223,
+ 12,
+ 235,
+ 115,
+ 223,
+ 189,
+ 6,
+ 120,
+ 47,
+ 105,
+ 205,
+ 81,
+ 204,
+ 79,
+ 193,
+ 251
+ ],
+ "nonce": [
+ 197,
+ 251,
+ 75,
+ 240,
+ 180,
+ 4,
+ 119,
+ 225,
+ 14,
+ 93,
+ 21,
+ 212
+ ],
+ "aad": [
+ 242,
+ 146,
+ 196,
+ 194,
+ 162,
+ 53,
+ 110,
+ 112,
+ 254,
+ 176,
+ 0,
+ 58,
+ 40,
+ 112,
+ 142,
+ 216
+ ],
+ "plaintext": [
+ 250,
+ 157,
+ 163,
+ 93,
+ 141,
+ 129,
+ 37,
+ 133,
+ 50,
+ 47,
+ 161,
+ 192,
+ 207,
+ 70,
+ 51,
+ 176,
+ 100,
+ 36,
+ 39,
+ 44,
+ 250,
+ 193,
+ 197,
+ 165,
+ 17,
+ 56,
+ 176,
+ 185,
+ 185,
+ 29,
+ 68,
+ 61
+ ],
+ "ciphertext": [
+ 232,
+ 28,
+ 208,
+ 10,
+ 150,
+ 220,
+ 183,
+ 25,
+ 252,
+ 44,
+ 58,
+ 247,
+ 181,
+ 66,
+ 12,
+ 181,
+ 102,
+ 127,
+ 237,
+ 83,
+ 175,
+ 143,
+ 86,
+ 29,
+ 194,
+ 22,
+ 252,
+ 114,
+ 21,
+ 171,
+ 22,
+ 161
+ ],
+ "tag": [
+ 96,
+ 132,
+ 129,
+ 22,
+ 112,
+ 107,
+ 229,
+ 91,
+ 78,
+ 169,
+ 57,
+ 186,
+ 137,
+ 158,
+ 178,
+ 183
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 32,
+ 94,
+ 101,
+ 31,
+ 3,
+ 226,
+ 193,
+ 110,
+ 234,
+ 118,
+ 137,
+ 175,
+ 67,
+ 188,
+ 74
+ ],
+ "nonce": [
+ 66,
+ 196,
+ 123,
+ 47,
+ 149,
+ 176,
+ 236,
+ 2,
+ 101,
+ 47,
+ 31,
+ 255
+ ],
+ "aad": [
+ 127,
+ 151,
+ 143,
+ 193,
+ 241,
+ 178,
+ 249,
+ 243,
+ 123,
+ 136,
+ 185,
+ 107,
+ 140,
+ 20,
+ 235,
+ 236
+ ],
+ "plaintext": [
+ 127,
+ 190,
+ 120,
+ 22,
+ 80,
+ 195,
+ 150,
+ 202,
+ 140,
+ 220,
+ 107,
+ 46,
+ 253,
+ 218,
+ 224,
+ 0,
+ 124,
+ 176,
+ 8,
+ 196,
+ 252,
+ 115,
+ 16,
+ 250,
+ 23,
+ 236,
+ 90,
+ 224,
+ 96,
+ 23,
+ 19,
+ 145
+ ],
+ "ciphertext": [
+ 179,
+ 243,
+ 168,
+ 191,
+ 226,
+ 144,
+ 106,
+ 193,
+ 187,
+ 201,
+ 61,
+ 220,
+ 112,
+ 26,
+ 85,
+ 41,
+ 194,
+ 203,
+ 21,
+ 99,
+ 84,
+ 206,
+ 223,
+ 133,
+ 146,
+ 143,
+ 96,
+ 94,
+ 214,
+ 0,
+ 91,
+ 220
+ ],
+ "tag": [
+ 145,
+ 81,
+ 200,
+ 0,
+ 13,
+ 194,
+ 94,
+ 186,
+ 74,
+ 87,
+ 144,
+ 139,
+ 35,
+ 138,
+ 251,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 201,
+ 108,
+ 11,
+ 5,
+ 28,
+ 99,
+ 62,
+ 193,
+ 11,
+ 47,
+ 204,
+ 180,
+ 63,
+ 69,
+ 23
+ ],
+ "nonce": [
+ 196,
+ 193,
+ 63,
+ 201,
+ 241,
+ 95,
+ 72,
+ 43,
+ 246,
+ 189,
+ 141,
+ 11
+ ],
+ "aad": [
+ 148,
+ 175,
+ 199,
+ 74,
+ 112,
+ 64,
+ 196,
+ 119,
+ 5,
+ 114,
+ 38,
+ 39,
+ 224,
+ 95,
+ 21,
+ 156
+ ],
+ "plaintext": [
+ 95,
+ 10,
+ 80,
+ 217,
+ 118,
+ 235,
+ 32,
+ 72,
+ 188,
+ 72,
+ 29,
+ 123,
+ 202,
+ 155,
+ 62,
+ 115,
+ 103,
+ 195,
+ 177,
+ 44,
+ 158,
+ 152,
+ 172,
+ 133,
+ 33,
+ 244,
+ 92,
+ 113,
+ 90,
+ 227,
+ 191,
+ 255
+ ],
+ "ciphertext": [
+ 43,
+ 222,
+ 34,
+ 92,
+ 166,
+ 59,
+ 64,
+ 206,
+ 100,
+ 80,
+ 12,
+ 64,
+ 192,
+ 15,
+ 165,
+ 197,
+ 0,
+ 134,
+ 196,
+ 49,
+ 233,
+ 93,
+ 31,
+ 153,
+ 103,
+ 140,
+ 185,
+ 169,
+ 11,
+ 218,
+ 37,
+ 2
+ ],
+ "tag": [
+ 106,
+ 41,
+ 106,
+ 164,
+ 126,
+ 82,
+ 115,
+ 115,
+ 4,
+ 234,
+ 175,
+ 236,
+ 12,
+ 61,
+ 12,
+ 101
+ ]
+ },
+ {
+ "key": [
+ 16,
+ 129,
+ 70,
+ 222,
+ 20,
+ 139,
+ 212,
+ 219,
+ 166,
+ 156,
+ 74,
+ 210,
+ 193,
+ 26,
+ 53,
+ 192
+ ],
+ "nonce": [
+ 157,
+ 251,
+ 226,
+ 250,
+ 70,
+ 164,
+ 108,
+ 62,
+ 186,
+ 243,
+ 28,
+ 72
+ ],
+ "aad": [
+ 188,
+ 131,
+ 128,
+ 143,
+ 158,
+ 136,
+ 73,
+ 103,
+ 200,
+ 77,
+ 40,
+ 206,
+ 152,
+ 29,
+ 253,
+ 27
+ ],
+ "plaintext": [
+ 1,
+ 4,
+ 195,
+ 218,
+ 76,
+ 190,
+ 80,
+ 243,
+ 28,
+ 207,
+ 204,
+ 66,
+ 109,
+ 99,
+ 77,
+ 141,
+ 57,
+ 104,
+ 100,
+ 68,
+ 163,
+ 183,
+ 91,
+ 251,
+ 84,
+ 214,
+ 115,
+ 73,
+ 251,
+ 126,
+ 112,
+ 23
+ ],
+ "ciphertext": [
+ 63,
+ 68,
+ 36,
+ 145,
+ 45,
+ 250,
+ 175,
+ 216,
+ 248,
+ 176,
+ 139,
+ 167,
+ 186,
+ 234,
+ 149,
+ 239,
+ 251,
+ 62,
+ 69,
+ 113,
+ 114,
+ 10,
+ 38,
+ 38,
+ 185,
+ 42,
+ 216,
+ 247,
+ 166,
+ 157,
+ 68,
+ 119
+ ],
+ "tag": [
+ 238,
+ 222,
+ 200,
+ 94,
+ 217,
+ 225,
+ 74,
+ 95,
+ 204,
+ 44,
+ 208,
+ 206,
+ 80,
+ 255,
+ 0,
+ 164
+ ]
+ },
+ {
+ "key": [
+ 55,
+ 185,
+ 53,
+ 36,
+ 68,
+ 188,
+ 170,
+ 150,
+ 36,
+ 178,
+ 103,
+ 86,
+ 106,
+ 89,
+ 9,
+ 90
+ ],
+ "nonce": [
+ 215,
+ 167,
+ 36,
+ 115,
+ 185,
+ 155,
+ 40,
+ 144,
+ 239,
+ 124,
+ 73,
+ 40
+ ],
+ "aad": [
+ 247,
+ 117,
+ 26,
+ 242,
+ 220,
+ 191,
+ 90,
+ 126,
+ 184,
+ 29,
+ 107,
+ 215,
+ 60,
+ 237,
+ 18,
+ 32
+ ],
+ "plaintext": [
+ 147,
+ 3,
+ 123,
+ 43,
+ 72,
+ 20,
+ 84,
+ 31,
+ 66,
+ 94,
+ 160,
+ 188,
+ 200,
+ 140,
+ 225,
+ 72,
+ 102,
+ 50,
+ 145,
+ 156,
+ 239,
+ 68,
+ 58,
+ 83,
+ 116,
+ 217,
+ 148,
+ 78,
+ 220,
+ 126,
+ 66,
+ 237
+ ],
+ "ciphertext": [
+ 73,
+ 30,
+ 8,
+ 147,
+ 166,
+ 82,
+ 165,
+ 151,
+ 93,
+ 61,
+ 183,
+ 40,
+ 104,
+ 181,
+ 97,
+ 147,
+ 17,
+ 169,
+ 205,
+ 218,
+ 209,
+ 28,
+ 85,
+ 34,
+ 233,
+ 88,
+ 147,
+ 196,
+ 46,
+ 59,
+ 99,
+ 169
+ ],
+ "tag": [
+ 252,
+ 216,
+ 18,
+ 5,
+ 18,
+ 235,
+ 63,
+ 20,
+ 41,
+ 94,
+ 253,
+ 59,
+ 4,
+ 91,
+ 8,
+ 104
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 19,
+ 50,
+ 241,
+ 126,
+ 98,
+ 178,
+ 190,
+ 136,
+ 158,
+ 154,
+ 57,
+ 159,
+ 176,
+ 211,
+ 254
+ ],
+ "nonce": [
+ 63,
+ 0,
+ 40,
+ 203,
+ 124,
+ 184,
+ 241,
+ 9,
+ 26,
+ 78,
+ 47,
+ 74
+ ],
+ "aad": [
+ 47,
+ 51,
+ 197,
+ 248,
+ 95,
+ 151,
+ 104,
+ 17,
+ 239,
+ 103,
+ 83,
+ 63,
+ 72,
+ 137,
+ 23,
+ 250
+ ],
+ "plaintext": [
+ 156,
+ 46,
+ 7,
+ 104,
+ 60,
+ 108,
+ 160,
+ 109,
+ 1,
+ 39,
+ 8,
+ 173,
+ 109,
+ 174,
+ 149,
+ 8,
+ 46,
+ 235,
+ 211,
+ 98,
+ 97,
+ 204,
+ 200,
+ 116,
+ 34,
+ 106,
+ 211,
+ 84,
+ 204,
+ 139,
+ 168,
+ 46
+ ],
+ "ciphertext": [
+ 164,
+ 250,
+ 147,
+ 17,
+ 227,
+ 192,
+ 44,
+ 59,
+ 6,
+ 138,
+ 63,
+ 17,
+ 174,
+ 118,
+ 87,
+ 239,
+ 195,
+ 163,
+ 230,
+ 153,
+ 145,
+ 37,
+ 18,
+ 128,
+ 80,
+ 57,
+ 64,
+ 172,
+ 74,
+ 126,
+ 137,
+ 80
+ ],
+ "tag": [
+ 14,
+ 94,
+ 119,
+ 186,
+ 160,
+ 243,
+ 109,
+ 177,
+ 28,
+ 197,
+ 191,
+ 194,
+ 127,
+ 252,
+ 122,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 57,
+ 226,
+ 21,
+ 241,
+ 162,
+ 87,
+ 34,
+ 87,
+ 239,
+ 217,
+ 57,
+ 172,
+ 3,
+ 101,
+ 236,
+ 151
+ ],
+ "nonce": [
+ 225,
+ 244,
+ 218,
+ 113,
+ 44,
+ 76,
+ 30,
+ 179,
+ 16,
+ 39,
+ 53,
+ 44
+ ],
+ "aad": [
+ 147,
+ 104,
+ 232,
+ 213,
+ 37,
+ 231,
+ 119,
+ 7,
+ 211,
+ 22,
+ 84,
+ 45,
+ 205,
+ 115,
+ 92,
+ 110
+ ],
+ "plaintext": [
+ 33,
+ 247,
+ 214,
+ 43,
+ 178,
+ 145,
+ 141,
+ 222,
+ 106,
+ 207,
+ 155,
+ 108,
+ 155,
+ 122,
+ 254,
+ 212,
+ 190,
+ 125,
+ 98,
+ 60,
+ 62,
+ 32,
+ 112,
+ 68,
+ 75,
+ 8,
+ 127,
+ 180,
+ 13,
+ 231,
+ 230,
+ 241
+ ],
+ "ciphertext": [
+ 60,
+ 147,
+ 235,
+ 141,
+ 240,
+ 5,
+ 86,
+ 227,
+ 244,
+ 45,
+ 84,
+ 172,
+ 253,
+ 99,
+ 95,
+ 191,
+ 252,
+ 15,
+ 119,
+ 248,
+ 104,
+ 166,
+ 143,
+ 115,
+ 142,
+ 194,
+ 145,
+ 130,
+ 19,
+ 186,
+ 154,
+ 34
+ ],
+ "tag": [
+ 13,
+ 216,
+ 53,
+ 45,
+ 80,
+ 126,
+ 82,
+ 83,
+ 238,
+ 8,
+ 73,
+ 104,
+ 141,
+ 46,
+ 232,
+ 109
+ ]
+ },
+ {
+ "key": [
+ 6,
+ 243,
+ 111,
+ 73,
+ 57,
+ 71,
+ 59,
+ 84,
+ 14,
+ 113,
+ 219,
+ 53,
+ 243,
+ 152,
+ 165,
+ 61
+ ],
+ "nonce": [
+ 19,
+ 239,
+ 226,
+ 17,
+ 203,
+ 110,
+ 243,
+ 163,
+ 116,
+ 244,
+ 218,
+ 133
+ ],
+ "aad": [
+ 140,
+ 190,
+ 62,
+ 62,
+ 177,
+ 152,
+ 24,
+ 219,
+ 25,
+ 121,
+ 1,
+ 189,
+ 78,
+ 228,
+ 45,
+ 226
+ ],
+ "plaintext": [
+ 165,
+ 170,
+ 254,
+ 220,
+ 76,
+ 29,
+ 219,
+ 127,
+ 107,
+ 56,
+ 247,
+ 151,
+ 77,
+ 22,
+ 161,
+ 200,
+ 140,
+ 247,
+ 239,
+ 30,
+ 190,
+ 80,
+ 39,
+ 234,
+ 79,
+ 181,
+ 93,
+ 177,
+ 97,
+ 1,
+ 252,
+ 32
+ ],
+ "ciphertext": [
+ 125,
+ 33,
+ 251,
+ 6,
+ 0,
+ 45,
+ 25,
+ 244,
+ 7,
+ 65,
+ 178,
+ 117,
+ 183,
+ 44,
+ 219,
+ 171,
+ 190,
+ 3,
+ 36,
+ 96,
+ 236,
+ 241,
+ 61,
+ 152,
+ 241,
+ 202,
+ 252,
+ 179,
+ 15,
+ 112,
+ 74,
+ 240
+ ],
+ "tag": [
+ 221,
+ 75,
+ 236,
+ 161,
+ 103,
+ 12,
+ 244,
+ 55,
+ 55,
+ 42,
+ 186,
+ 119,
+ 188,
+ 62,
+ 146,
+ 97
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 220,
+ 113,
+ 85,
+ 25,
+ 45,
+ 0,
+ 178,
+ 60,
+ 221,
+ 152,
+ 117,
+ 13,
+ 185,
+ 235,
+ 186
+ ],
+ "nonce": [
+ 167,
+ 107,
+ 116,
+ 245,
+ 92,
+ 26,
+ 23,
+ 86,
+ 160,
+ 131,
+ 56,
+ 177
+ ],
+ "aad": [
+ 42,
+ 210,
+ 6,
+ 196,
+ 23,
+ 110,
+ 126,
+ 85,
+ 42,
+ 160,
+ 136,
+ 54,
+ 136,
+ 104,
+ 22,
+ 250,
+ 250,
+ 119,
+ 231,
+ 89
+ ],
+ "plaintext": [
+ 104,
+ 49,
+ 67,
+ 91,
+ 136,
+ 87,
+ 218,
+ 241,
+ 197,
+ 19,
+ 177,
+ 72,
+ 130,
+ 13,
+ 19,
+ 181,
+ 167,
+ 44,
+ 196,
+ 144,
+ 189,
+ 167,
+ 154,
+ 152,
+ 166,
+ 245,
+ 32,
+ 216,
+ 118,
+ 60,
+ 57,
+ 209
+ ],
+ "ciphertext": [
+ 21,
+ 130,
+ 56,
+ 5,
+ 218,
+ 137,
+ 161,
+ 146,
+ 59,
+ 252,
+ 29,
+ 111,
+ 135,
+ 120,
+ 77,
+ 86,
+ 186,
+ 209,
+ 18,
+ 139,
+ 77,
+ 255,
+ 219,
+ 222,
+ 239,
+ 187,
+ 47,
+ 165,
+ 98,
+ 195,
+ 94,
+ 104
+ ],
+ "tag": [
+ 210,
+ 61,
+ 196,
+ 85,
+ 206,
+ 212,
+ 152,
+ 135,
+ 199,
+ 23,
+ 232,
+ 234,
+ 190,
+ 236,
+ 41,
+ 132
+ ]
+ },
+ {
+ "key": [
+ 139,
+ 222,
+ 196,
+ 88,
+ 167,
+ 51,
+ 197,
+ 44,
+ 217,
+ 148,
+ 183,
+ 194,
+ 163,
+ 121,
+ 71,
+ 217
+ ],
+ "nonce": [
+ 191,
+ 141,
+ 149,
+ 77,
+ 245,
+ 241,
+ 238,
+ 81,
+ 252,
+ 63,
+ 24,
+ 144
+ ],
+ "aad": [
+ 255,
+ 226,
+ 104,
+ 116,
+ 165,
+ 75,
+ 211,
+ 138,
+ 2,
+ 108,
+ 92,
+ 114,
+ 158,
+ 40,
+ 82,
+ 167,
+ 72,
+ 69,
+ 116,
+ 18
+ ],
+ "plaintext": [
+ 157,
+ 95,
+ 28,
+ 144,
+ 93,
+ 249,
+ 0,
+ 17,
+ 31,
+ 32,
+ 82,
+ 166,
+ 9,
+ 19,
+ 216,
+ 169,
+ 216,
+ 60,
+ 212,
+ 14,
+ 67,
+ 186,
+ 136,
+ 32,
+ 59,
+ 5,
+ 227,
+ 219,
+ 240,
+ 227,
+ 127,
+ 190
+ ],
+ "ciphertext": [
+ 240,
+ 86,
+ 207,
+ 142,
+ 166,
+ 196,
+ 243,
+ 83,
+ 240,
+ 141,
+ 84,
+ 194,
+ 122,
+ 142,
+ 243,
+ 50,
+ 74,
+ 185,
+ 39,
+ 166,
+ 65,
+ 86,
+ 63,
+ 159,
+ 93,
+ 197,
+ 240,
+ 44,
+ 59,
+ 34,
+ 4,
+ 177
+ ],
+ "tag": [
+ 47,
+ 139,
+ 147,
+ 81,
+ 66,
+ 99,
+ 99,
+ 240,
+ 159,
+ 93,
+ 23,
+ 246,
+ 52,
+ 163,
+ 129,
+ 169
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 101,
+ 31,
+ 149,
+ 182,
+ 254,
+ 93,
+ 148,
+ 66,
+ 253,
+ 49,
+ 28,
+ 238,
+ 36,
+ 82,
+ 41
+ ],
+ "nonce": [
+ 183,
+ 178,
+ 52,
+ 155,
+ 96,
+ 172,
+ 92,
+ 240,
+ 152,
+ 133,
+ 239,
+ 78
+ ],
+ "aad": [
+ 114,
+ 90,
+ 8,
+ 154,
+ 55,
+ 186,
+ 80,
+ 229,
+ 49,
+ 67,
+ 114,
+ 33,
+ 64,
+ 206,
+ 92,
+ 55,
+ 188,
+ 10,
+ 72,
+ 231
+ ],
+ "plaintext": [
+ 28,
+ 215,
+ 190,
+ 118,
+ 17,
+ 216,
+ 247,
+ 201,
+ 215,
+ 95,
+ 223,
+ 63,
+ 83,
+ 210,
+ 129,
+ 114,
+ 174,
+ 77,
+ 70,
+ 44,
+ 6,
+ 218,
+ 86,
+ 203,
+ 56,
+ 102,
+ 135,
+ 242,
+ 192,
+ 152,
+ 226,
+ 139
+ ],
+ "ciphertext": [
+ 226,
+ 146,
+ 111,
+ 52,
+ 195,
+ 8,
+ 131,
+ 163,
+ 183,
+ 235,
+ 13,
+ 196,
+ 118,
+ 39,
+ 170,
+ 208,
+ 144,
+ 17,
+ 22,
+ 84,
+ 164,
+ 152,
+ 15,
+ 196,
+ 252,
+ 149,
+ 47,
+ 231,
+ 167,
+ 182,
+ 182,
+ 10
+ ],
+ "tag": [
+ 97,
+ 115,
+ 69,
+ 218,
+ 184,
+ 151,
+ 60,
+ 33,
+ 173,
+ 113,
+ 28,
+ 42,
+ 81,
+ 136,
+ 95,
+ 131
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 194,
+ 69,
+ 45,
+ 8,
+ 131,
+ 165,
+ 76,
+ 14,
+ 51,
+ 252,
+ 204,
+ 9,
+ 45,
+ 220,
+ 246
+ ],
+ "nonce": [
+ 158,
+ 62,
+ 53,
+ 77,
+ 48,
+ 194,
+ 199,
+ 124,
+ 208,
+ 217,
+ 160,
+ 254
+ ],
+ "aad": [
+ 108,
+ 18,
+ 177,
+ 18,
+ 17,
+ 14,
+ 191,
+ 54,
+ 147,
+ 9,
+ 16,
+ 241,
+ 191,
+ 201,
+ 237,
+ 73,
+ 225,
+ 68,
+ 64,
+ 177
+ ],
+ "plaintext": [
+ 149,
+ 185,
+ 197,
+ 230,
+ 173,
+ 183,
+ 252,
+ 206,
+ 33,
+ 42,
+ 191,
+ 83,
+ 80,
+ 149,
+ 189,
+ 149,
+ 92,
+ 58,
+ 160,
+ 247,
+ 172,
+ 36,
+ 40,
+ 132,
+ 31,
+ 77,
+ 233,
+ 3,
+ 82,
+ 99,
+ 68,
+ 106
+ ],
+ "ciphertext": [
+ 168,
+ 87,
+ 84,
+ 244,
+ 81,
+ 180,
+ 15,
+ 58,
+ 181,
+ 118,
+ 50,
+ 123,
+ 75,
+ 153,
+ 250,
+ 9,
+ 173,
+ 201,
+ 83,
+ 128,
+ 41,
+ 159,
+ 97,
+ 197,
+ 199,
+ 168,
+ 226,
+ 129,
+ 136,
+ 210,
+ 164,
+ 11
+ ],
+ "tag": [
+ 148,
+ 185,
+ 121,
+ 247,
+ 113,
+ 142,
+ 193,
+ 52,
+ 18,
+ 224,
+ 63,
+ 52,
+ 97,
+ 68,
+ 1,
+ 0
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 246,
+ 217,
+ 242,
+ 200,
+ 173,
+ 8,
+ 161,
+ 80,
+ 1,
+ 87,
+ 224,
+ 39,
+ 185,
+ 34,
+ 25
+ ],
+ "nonce": [
+ 148,
+ 53,
+ 142,
+ 235,
+ 104,
+ 41,
+ 241,
+ 190,
+ 77,
+ 227,
+ 171,
+ 252
+ ],
+ "aad": [
+ 179,
+ 184,
+ 96,
+ 146,
+ 156,
+ 220,
+ 63,
+ 176,
+ 227,
+ 147,
+ 242,
+ 18,
+ 135,
+ 243,
+ 221,
+ 220,
+ 74,
+ 28,
+ 146,
+ 122
+ ],
+ "plaintext": [
+ 50,
+ 4,
+ 133,
+ 96,
+ 64,
+ 237,
+ 217,
+ 64,
+ 26,
+ 137,
+ 7,
+ 105,
+ 135,
+ 92,
+ 194,
+ 82,
+ 229,
+ 220,
+ 180,
+ 167,
+ 126,
+ 149,
+ 30,
+ 110,
+ 174,
+ 246,
+ 215,
+ 49,
+ 138,
+ 6,
+ 188,
+ 244
+ ],
+ "ciphertext": [
+ 177,
+ 186,
+ 81,
+ 74,
+ 228,
+ 196,
+ 18,
+ 112,
+ 215,
+ 190,
+ 175,
+ 170,
+ 27,
+ 172,
+ 47,
+ 169,
+ 147,
+ 207,
+ 90,
+ 243,
+ 96,
+ 122,
+ 0,
+ 140,
+ 107,
+ 180,
+ 174,
+ 226,
+ 161,
+ 33,
+ 45,
+ 212
+ ],
+ "tag": [
+ 126,
+ 15,
+ 90,
+ 164,
+ 5,
+ 83,
+ 18,
+ 143,
+ 44,
+ 21,
+ 203,
+ 149,
+ 103,
+ 201,
+ 80,
+ 225
+ ]
+ },
+ {
+ "key": [
+ 174,
+ 204,
+ 252,
+ 101,
+ 6,
+ 60,
+ 63,
+ 204,
+ 252,
+ 90,
+ 11,
+ 41,
+ 25,
+ 61,
+ 30,
+ 244
+ ],
+ "nonce": [
+ 112,
+ 100,
+ 156,
+ 157,
+ 40,
+ 72,
+ 210,
+ 28,
+ 87,
+ 93,
+ 105,
+ 20
+ ],
+ "aad": [
+ 99,
+ 125,
+ 195,
+ 146,
+ 207,
+ 227,
+ 168,
+ 226,
+ 254,
+ 94,
+ 135,
+ 23,
+ 153,
+ 164,
+ 109,
+ 190,
+ 56,
+ 245,
+ 150,
+ 16
+ ],
+ "plaintext": [
+ 70,
+ 172,
+ 55,
+ 93,
+ 165,
+ 101,
+ 39,
+ 195,
+ 198,
+ 253,
+ 95,
+ 40,
+ 243,
+ 60,
+ 99,
+ 177,
+ 255,
+ 175,
+ 6,
+ 195,
+ 59,
+ 143,
+ 50,
+ 158,
+ 174,
+ 55,
+ 248,
+ 87,
+ 154,
+ 98,
+ 41,
+ 27
+ ],
+ "ciphertext": [
+ 127,
+ 136,
+ 65,
+ 211,
+ 200,
+ 41,
+ 7,
+ 89,
+ 108,
+ 74,
+ 166,
+ 237,
+ 67,
+ 59,
+ 158,
+ 179,
+ 59,
+ 36,
+ 214,
+ 111,
+ 10,
+ 12,
+ 221,
+ 132,
+ 109,
+ 94,
+ 165,
+ 22,
+ 104,
+ 151,
+ 93,
+ 157
+ ],
+ "tag": [
+ 223,
+ 186,
+ 183,
+ 164,
+ 45,
+ 96,
+ 205,
+ 167,
+ 59,
+ 3,
+ 24,
+ 144,
+ 52,
+ 228,
+ 79,
+ 245
+ ]
+ },
+ {
+ "key": [
+ 29,
+ 186,
+ 240,
+ 189,
+ 217,
+ 116,
+ 180,
+ 138,
+ 227,
+ 115,
+ 246,
+ 134,
+ 169,
+ 97,
+ 174,
+ 186
+ ],
+ "nonce": [
+ 163,
+ 166,
+ 69,
+ 77,
+ 23,
+ 172,
+ 98,
+ 34,
+ 72,
+ 174,
+ 152,
+ 87
+ ],
+ "aad": [
+ 57,
+ 56,
+ 67,
+ 54,
+ 12,
+ 56,
+ 138,
+ 110,
+ 47,
+ 131,
+ 199,
+ 32,
+ 46,
+ 141,
+ 166,
+ 250,
+ 112,
+ 65,
+ 166,
+ 190
+ ],
+ "plaintext": [
+ 131,
+ 161,
+ 49,
+ 247,
+ 115,
+ 123,
+ 78,
+ 136,
+ 31,
+ 178,
+ 85,
+ 171,
+ 146,
+ 37,
+ 247,
+ 250,
+ 186,
+ 150,
+ 71,
+ 102,
+ 38,
+ 237,
+ 39,
+ 22,
+ 141,
+ 99,
+ 66,
+ 204,
+ 202,
+ 141,
+ 62,
+ 117
+ ],
+ "ciphertext": [
+ 36,
+ 113,
+ 210,
+ 57,
+ 87,
+ 214,
+ 48,
+ 90,
+ 134,
+ 82,
+ 11,
+ 117,
+ 124,
+ 84,
+ 137,
+ 10,
+ 87,
+ 246,
+ 101,
+ 164,
+ 74,
+ 25,
+ 175,
+ 47,
+ 141,
+ 85,
+ 230,
+ 131,
+ 54,
+ 89,
+ 231,
+ 48
+ ],
+ "tag": [
+ 70,
+ 147,
+ 177,
+ 12,
+ 137,
+ 152,
+ 88,
+ 14,
+ 152,
+ 107,
+ 224,
+ 187,
+ 38,
+ 162,
+ 46,
+ 63
+ ]
+ },
+ {
+ "key": [
+ 84,
+ 15,
+ 64,
+ 254,
+ 138,
+ 194,
+ 229,
+ 6,
+ 182,
+ 155,
+ 178,
+ 186,
+ 53,
+ 111,
+ 248,
+ 219
+ ],
+ "nonce": [
+ 5,
+ 2,
+ 229,
+ 26,
+ 196,
+ 47,
+ 100,
+ 29,
+ 122,
+ 1,
+ 118,
+ 176
+ ],
+ "aad": [
+ 155,
+ 31,
+ 43,
+ 47,
+ 215,
+ 38,
+ 87,
+ 146,
+ 133,
+ 38,
+ 40,
+ 223,
+ 146,
+ 106,
+ 188,
+ 86,
+ 9,
+ 170,
+ 167,
+ 98
+ ],
+ "plaintext": [
+ 145,
+ 10,
+ 0,
+ 12,
+ 94,
+ 153,
+ 36,
+ 88,
+ 112,
+ 240,
+ 141,
+ 214,
+ 88,
+ 182,
+ 72,
+ 249,
+ 68,
+ 208,
+ 68,
+ 38,
+ 167,
+ 13,
+ 109,
+ 70,
+ 216,
+ 232,
+ 142,
+ 200,
+ 237,
+ 223,
+ 179,
+ 36
+ ],
+ "ciphertext": [
+ 147,
+ 129,
+ 212,
+ 183,
+ 45,
+ 116,
+ 11,
+ 88,
+ 195,
+ 242,
+ 127,
+ 141,
+ 255,
+ 1,
+ 216,
+ 190,
+ 244,
+ 94,
+ 118,
+ 155,
+ 131,
+ 69,
+ 57,
+ 164,
+ 57,
+ 23,
+ 60,
+ 136,
+ 166,
+ 209,
+ 142,
+ 98
+ ],
+ "tag": [
+ 124,
+ 103,
+ 136,
+ 147,
+ 161,
+ 34,
+ 165,
+ 15,
+ 119,
+ 125,
+ 252,
+ 235,
+ 245,
+ 20,
+ 248,
+ 29
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 208,
+ 224,
+ 86,
+ 10,
+ 32,
+ 39,
+ 187,
+ 135,
+ 61,
+ 132,
+ 163,
+ 159,
+ 248,
+ 112,
+ 70
+ ],
+ "nonce": [
+ 97,
+ 109,
+ 97,
+ 186,
+ 148,
+ 33,
+ 108,
+ 156,
+ 124,
+ 9,
+ 3,
+ 176
+ ],
+ "aad": [
+ 160,
+ 32,
+ 62,
+ 31,
+ 49,
+ 246,
+ 107,
+ 253,
+ 200,
+ 25,
+ 208,
+ 134,
+ 164,
+ 139,
+ 112,
+ 93,
+ 30,
+ 183,
+ 114,
+ 27
+ ],
+ "plaintext": [
+ 22,
+ 16,
+ 67,
+ 23,
+ 119,
+ 192,
+ 17,
+ 54,
+ 192,
+ 160,
+ 7,
+ 63,
+ 92,
+ 17,
+ 76,
+ 53,
+ 127,
+ 2,
+ 22,
+ 213,
+ 234,
+ 163,
+ 28,
+ 212,
+ 11,
+ 140,
+ 214,
+ 5,
+ 172,
+ 86,
+ 223,
+ 171
+ ],
+ "ciphertext": [
+ 93,
+ 132,
+ 106,
+ 141,
+ 254,
+ 2,
+ 207,
+ 36,
+ 84,
+ 225,
+ 16,
+ 117,
+ 162,
+ 54,
+ 178,
+ 166,
+ 172,
+ 197,
+ 152,
+ 25,
+ 233,
+ 202,
+ 106,
+ 245,
+ 128,
+ 105,
+ 6,
+ 100,
+ 193,
+ 149,
+ 237,
+ 211
+ ],
+ "tag": [
+ 36,
+ 205,
+ 13,
+ 217,
+ 80,
+ 133,
+ 154,
+ 185,
+ 209,
+ 174,
+ 101,
+ 78,
+ 247,
+ 23,
+ 79,
+ 152
+ ]
+ },
+ {
+ "key": [
+ 183,
+ 255,
+ 132,
+ 2,
+ 241,
+ 50,
+ 93,
+ 148,
+ 92,
+ 152,
+ 102,
+ 32,
+ 3,
+ 50,
+ 61,
+ 183
+ ],
+ "nonce": [
+ 107,
+ 97,
+ 99,
+ 251,
+ 45,
+ 22,
+ 65,
+ 188,
+ 227,
+ 52,
+ 89,
+ 230
+ ],
+ "aad": [
+ 80,
+ 167,
+ 100,
+ 159,
+ 90,
+ 194,
+ 95,
+ 17,
+ 15,
+ 148,
+ 8,
+ 236,
+ 243,
+ 40,
+ 157,
+ 151,
+ 138,
+ 85,
+ 98,
+ 10
+ ],
+ "plaintext": [
+ 162,
+ 166,
+ 83,
+ 238,
+ 152,
+ 223,
+ 65,
+ 254,
+ 135,
+ 59,
+ 192,
+ 54,
+ 165,
+ 250,
+ 125,
+ 223,
+ 234,
+ 141,
+ 99,
+ 255,
+ 9,
+ 73,
+ 174,
+ 142,
+ 20,
+ 137,
+ 205,
+ 176,
+ 195,
+ 168,
+ 12,
+ 127
+ ],
+ "ciphertext": [
+ 130,
+ 10,
+ 55,
+ 63,
+ 68,
+ 106,
+ 131,
+ 65,
+ 200,
+ 217,
+ 40,
+ 210,
+ 35,
+ 165,
+ 174,
+ 168,
+ 84,
+ 182,
+ 67,
+ 255,
+ 7,
+ 144,
+ 43,
+ 12,
+ 91,
+ 208,
+ 198,
+ 49,
+ 155,
+ 66,
+ 216,
+ 85
+ ],
+ "tag": [
+ 118,
+ 76,
+ 105,
+ 222,
+ 237,
+ 83,
+ 58,
+ 178,
+ 155,
+ 216,
+ 93,
+ 211,
+ 93,
+ 77,
+ 207,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 72,
+ 201,
+ 1,
+ 186,
+ 78,
+ 144,
+ 91,
+ 214,
+ 138,
+ 253,
+ 174,
+ 199,
+ 57,
+ 174,
+ 0,
+ 194
+ ],
+ "nonce": [
+ 91,
+ 190,
+ 61,
+ 237,
+ 229,
+ 235,
+ 189,
+ 140,
+ 184,
+ 69,
+ 169,
+ 182
+ ],
+ "aad": [
+ 12,
+ 12,
+ 188,
+ 220,
+ 219,
+ 179,
+ 90,
+ 53,
+ 17,
+ 107,
+ 18,
+ 182,
+ 39,
+ 21,
+ 223,
+ 75,
+ 100,
+ 125,
+ 120,
+ 197
+ ],
+ "plaintext": [
+ 128,
+ 184,
+ 69,
+ 136,
+ 139,
+ 210,
+ 242,
+ 93,
+ 239,
+ 205,
+ 98,
+ 183,
+ 43,
+ 107,
+ 222,
+ 235,
+ 214,
+ 21,
+ 43,
+ 58,
+ 166,
+ 176,
+ 6,
+ 137,
+ 27,
+ 13,
+ 105,
+ 118,
+ 159,
+ 204,
+ 6,
+ 211
+ ],
+ "ciphertext": [
+ 81,
+ 39,
+ 121,
+ 88,
+ 45,
+ 31,
+ 225,
+ 131,
+ 31,
+ 51,
+ 59,
+ 181,
+ 99,
+ 99,
+ 74,
+ 206,
+ 248,
+ 2,
+ 28,
+ 60,
+ 118,
+ 176,
+ 107,
+ 235,
+ 108,
+ 125,
+ 169,
+ 141,
+ 170,
+ 196,
+ 194,
+ 41
+ ],
+ "tag": [
+ 21,
+ 253,
+ 50,
+ 249,
+ 106,
+ 75,
+ 149,
+ 5,
+ 188,
+ 19,
+ 115,
+ 82,
+ 93,
+ 64,
+ 238,
+ 183
+ ]
+ },
+ {
+ "key": [
+ 200,
+ 44,
+ 196,
+ 217,
+ 255,
+ 6,
+ 129,
+ 150,
+ 136,
+ 57,
+ 153,
+ 26,
+ 253,
+ 13,
+ 252,
+ 42
+ ],
+ "nonce": [
+ 38,
+ 169,
+ 89,
+ 49,
+ 148,
+ 111,
+ 210,
+ 17,
+ 140,
+ 205,
+ 1,
+ 203
+ ],
+ "aad": [
+ 139,
+ 190,
+ 128,
+ 212,
+ 244,
+ 205,
+ 108,
+ 97,
+ 180,
+ 254,
+ 61,
+ 36,
+ 233,
+ 136,
+ 83,
+ 172,
+ 212,
+ 221,
+ 131,
+ 252
+ ],
+ "plaintext": [
+ 117,
+ 22,
+ 196,
+ 167,
+ 129,
+ 190,
+ 2,
+ 202,
+ 252,
+ 54,
+ 223,
+ 74,
+ 7,
+ 210,
+ 201,
+ 255,
+ 185,
+ 120,
+ 253,
+ 236,
+ 245,
+ 33,
+ 114,
+ 64,
+ 9,
+ 125,
+ 92,
+ 38,
+ 255,
+ 30,
+ 119,
+ 189
+ ],
+ "ciphertext": [
+ 249,
+ 132,
+ 54,
+ 254,
+ 75,
+ 246,
+ 229,
+ 153,
+ 58,
+ 218,
+ 176,
+ 240,
+ 0,
+ 27,
+ 235,
+ 251,
+ 68,
+ 151,
+ 53,
+ 235,
+ 54,
+ 91,
+ 158,
+ 124,
+ 228,
+ 177,
+ 81,
+ 248,
+ 32,
+ 5,
+ 197,
+ 199
+ ],
+ "tag": [
+ 200,
+ 59,
+ 228,
+ 97,
+ 225,
+ 254,
+ 219,
+ 180,
+ 221,
+ 243,
+ 238,
+ 114,
+ 185,
+ 222,
+ 190,
+ 32
+ ]
+ },
+ {
+ "key": [
+ 116,
+ 138,
+ 136,
+ 191,
+ 78,
+ 38,
+ 74,
+ 17,
+ 128,
+ 191,
+ 214,
+ 101,
+ 7,
+ 42,
+ 186,
+ 101
+ ],
+ "nonce": [
+ 176,
+ 167,
+ 104,
+ 182,
+ 45,
+ 227,
+ 203,
+ 188,
+ 27,
+ 207,
+ 233,
+ 63
+ ],
+ "aad": [
+ 244,
+ 177,
+ 2,
+ 216,
+ 133,
+ 73,
+ 95,
+ 184,
+ 147,
+ 24,
+ 154,
+ 162,
+ 22,
+ 216,
+ 171,
+ 101,
+ 59,
+ 185,
+ 123,
+ 153
+ ],
+ "plaintext": [
+ 30,
+ 29,
+ 246,
+ 26,
+ 159,
+ 16,
+ 199,
+ 180,
+ 5,
+ 125,
+ 104,
+ 76,
+ 206,
+ 247,
+ 78,
+ 9,
+ 242,
+ 168,
+ 127,
+ 126,
+ 74,
+ 237,
+ 57,
+ 58,
+ 69,
+ 20,
+ 97,
+ 213,
+ 116,
+ 200,
+ 221,
+ 188
+ ],
+ "ciphertext": [
+ 94,
+ 26,
+ 249,
+ 81,
+ 25,
+ 137,
+ 6,
+ 154,
+ 97,
+ 90,
+ 104,
+ 80,
+ 64,
+ 37,
+ 71,
+ 239,
+ 71,
+ 136,
+ 25,
+ 116,
+ 82,
+ 70,
+ 31,
+ 18,
+ 65,
+ 226,
+ 75,
+ 230,
+ 116,
+ 198,
+ 0,
+ 116
+ ],
+ "tag": [
+ 115,
+ 78,
+ 28,
+ 201,
+ 55,
+ 202,
+ 56,
+ 78,
+ 40,
+ 36,
+ 16,
+ 253,
+ 159,
+ 196,
+ 191,
+ 242
+ ]
+ },
+ {
+ "key": [
+ 35,
+ 147,
+ 24,
+ 11,
+ 184,
+ 19,
+ 32,
+ 150,
+ 90,
+ 88,
+ 66,
+ 75,
+ 40,
+ 124,
+ 155,
+ 62
+ ],
+ "nonce": [
+ 72,
+ 0,
+ 83,
+ 198,
+ 154,
+ 197,
+ 75,
+ 147,
+ 245,
+ 232,
+ 19,
+ 56
+ ],
+ "aad": [
+ 246,
+ 162,
+ 163,
+ 172,
+ 142,
+ 70,
+ 47,
+ 176,
+ 27,
+ 190,
+ 220,
+ 201,
+ 176,
+ 248,
+ 104,
+ 106,
+ 212,
+ 71,
+ 121,
+ 41
+ ],
+ "plaintext": [
+ 212,
+ 111,
+ 203,
+ 249,
+ 80,
+ 191,
+ 207,
+ 202,
+ 57,
+ 6,
+ 118,
+ 159,
+ 146,
+ 40,
+ 33,
+ 71,
+ 61,
+ 48,
+ 5,
+ 213,
+ 161,
+ 216,
+ 18,
+ 120,
+ 98,
+ 45,
+ 77,
+ 60,
+ 217,
+ 114,
+ 26,
+ 51
+ ],
+ "ciphertext": [
+ 18,
+ 88,
+ 116,
+ 255,
+ 90,
+ 127,
+ 137,
+ 54,
+ 167,
+ 107,
+ 17,
+ 88,
+ 123,
+ 190,
+ 189,
+ 70,
+ 30,
+ 39,
+ 99,
+ 139,
+ 255,
+ 90,
+ 30,
+ 153,
+ 52,
+ 101,
+ 201,
+ 205,
+ 232,
+ 47,
+ 43,
+ 212
+ ],
+ "tag": [
+ 155,
+ 98,
+ 91,
+ 76,
+ 47,
+ 102,
+ 207,
+ 47,
+ 200,
+ 128,
+ 67,
+ 185,
+ 180,
+ 198,
+ 242,
+ 250
+ ]
+ },
+ {
+ "key": [
+ 214,
+ 81,
+ 22,
+ 107,
+ 175,
+ 66,
+ 183,
+ 90,
+ 219,
+ 38,
+ 227,
+ 112,
+ 183,
+ 96,
+ 22,
+ 229
+ ],
+ "nonce": [
+ 74,
+ 247,
+ 14,
+ 59,
+ 225,
+ 53,
+ 117,
+ 1,
+ 203,
+ 177,
+ 107,
+ 202
+ ],
+ "aad": [
+ 44,
+ 16,
+ 114,
+ 213,
+ 223,
+ 83,
+ 6,
+ 226,
+ 13,
+ 50,
+ 58,
+ 152,
+ 151,
+ 171,
+ 172,
+ 18,
+ 11,
+ 251,
+ 77,
+ 4
+ ],
+ "plaintext": [
+ 33,
+ 215,
+ 109,
+ 4,
+ 72,
+ 141,
+ 76,
+ 51,
+ 167,
+ 232,
+ 130,
+ 39,
+ 151,
+ 247,
+ 133,
+ 180,
+ 53,
+ 64,
+ 189,
+ 55,
+ 66,
+ 6,
+ 150,
+ 108,
+ 158,
+ 247,
+ 131,
+ 44,
+ 81,
+ 204,
+ 0,
+ 159
+ ],
+ "ciphertext": [
+ 188,
+ 85,
+ 117,
+ 114,
+ 73,
+ 15,
+ 77,
+ 99,
+ 129,
+ 31,
+ 141,
+ 131,
+ 229,
+ 130,
+ 20,
+ 186,
+ 77,
+ 141,
+ 36,
+ 41,
+ 2,
+ 100,
+ 56,
+ 24,
+ 56,
+ 50,
+ 138,
+ 41,
+ 98,
+ 240,
+ 16,
+ 178
+ ],
+ "tag": [
+ 139,
+ 209,
+ 246,
+ 92,
+ 85,
+ 28,
+ 74,
+ 255,
+ 165,
+ 23,
+ 168,
+ 176,
+ 59,
+ 99,
+ 55,
+ 226
+ ]
+ },
+ {
+ "key": [
+ 72,
+ 183,
+ 243,
+ 55,
+ 205,
+ 249,
+ 37,
+ 38,
+ 135,
+ 236,
+ 199,
+ 96,
+ 189,
+ 142,
+ 193,
+ 132
+ ],
+ "nonce": [
+ 62,
+ 137,
+ 78,
+ 187,
+ 22,
+ 206,
+ 130,
+ 165,
+ 60,
+ 62,
+ 5,
+ 178
+ ],
+ "aad": [
+ 125,
+ 146,
+ 76,
+ 253,
+ 55,
+ 179,
+ 208,
+ 70,
+ 169,
+ 110,
+ 181,
+ 225,
+ 50,
+ 4,
+ 36,
+ 5,
+ 200,
+ 115,
+ 30,
+ 6,
+ 80,
+ 151,
+ 135,
+ 187,
+ 235,
+ 65,
+ 242,
+ 88,
+ 39,
+ 87,
+ 70,
+ 73,
+ 94,
+ 136,
+ 77,
+ 105,
+ 135,
+ 31,
+ 119,
+ 99,
+ 76,
+ 88,
+ 75,
+ 176,
+ 7,
+ 49,
+ 34,
+ 52
+ ],
+ "plaintext": [
+ 187,
+ 43,
+ 172,
+ 103,
+ 164,
+ 112,
+ 148,
+ 48,
+ 195,
+ 156,
+ 46,
+ 185,
+ 172,
+ 250,
+ 188,
+ 13,
+ 69,
+ 108,
+ 128,
+ 211,
+ 10,
+ 161,
+ 115,
+ 78,
+ 87,
+ 153,
+ 125,
+ 84,
+ 138,
+ 143,
+ 6,
+ 3
+ ],
+ "ciphertext": [
+ 210,
+ 99,
+ 34,
+ 139,
+ 140,
+ 224,
+ 81,
+ 246,
+ 126,
+ 155,
+ 175,
+ 28,
+ 231,
+ 223,
+ 151,
+ 209,
+ 12,
+ 213,
+ 243,
+ 188,
+ 151,
+ 35,
+ 98,
+ 5,
+ 81,
+ 48,
+ 199,
+ 209,
+ 60,
+ 58,
+ 178,
+ 231
+ ],
+ "tag": [
+ 113,
+ 68,
+ 103,
+ 55,
+ 202,
+ 31,
+ 169,
+ 46,
+ 109,
+ 2,
+ 109,
+ 125,
+ 46,
+ 209,
+ 170,
+ 156
+ ]
+ },
+ {
+ "key": [
+ 53,
+ 167,
+ 234,
+ 190,
+ 125,
+ 226,
+ 209,
+ 118,
+ 233,
+ 124,
+ 219,
+ 144,
+ 92,
+ 11,
+ 127,
+ 23
+ ],
+ "nonce": [
+ 47,
+ 160,
+ 207,
+ 239,
+ 137,
+ 253,
+ 152,
+ 73,
+ 223,
+ 85,
+ 156,
+ 152
+ ],
+ "aad": [
+ 49,
+ 78,
+ 4,
+ 35,
+ 172,
+ 66,
+ 159,
+ 67,
+ 237,
+ 144,
+ 215,
+ 49,
+ 252,
+ 181,
+ 189,
+ 199,
+ 132,
+ 149,
+ 149,
+ 238,
+ 22,
+ 85,
+ 58,
+ 27,
+ 127,
+ 145,
+ 65,
+ 43,
+ 249,
+ 138,
+ 196,
+ 203,
+ 5,
+ 44,
+ 169,
+ 28,
+ 98,
+ 163,
+ 59,
+ 57,
+ 40,
+ 238,
+ 40,
+ 135,
+ 235,
+ 194,
+ 115,
+ 183
+ ],
+ "plaintext": [
+ 8,
+ 242,
+ 63,
+ 198,
+ 253,
+ 228,
+ 95,
+ 224,
+ 68,
+ 204,
+ 44,
+ 57,
+ 115,
+ 144,
+ 187,
+ 54,
+ 37,
+ 36,
+ 187,
+ 22,
+ 207,
+ 171,
+ 124,
+ 84,
+ 141,
+ 232,
+ 159,
+ 175,
+ 58,
+ 217,
+ 137,
+ 71
+ ],
+ "ciphertext": [
+ 207,
+ 4,
+ 1,
+ 116,
+ 248,
+ 226,
+ 128,
+ 209,
+ 10,
+ 166,
+ 94,
+ 181,
+ 157,
+ 184,
+ 191,
+ 62,
+ 78,
+ 42,
+ 138,
+ 160,
+ 27,
+ 31,
+ 50,
+ 5,
+ 100,
+ 49,
+ 73,
+ 70,
+ 179,
+ 116,
+ 154,
+ 242
+ ],
+ "tag": [
+ 148,
+ 247,
+ 140,
+ 138,
+ 185,
+ 97,
+ 7,
+ 67,
+ 120,
+ 38,
+ 5,
+ 14,
+ 26,
+ 137,
+ 185,
+ 226
+ ]
+ },
+ {
+ "key": [
+ 35,
+ 195,
+ 30,
+ 14,
+ 80,
+ 237,
+ 68,
+ 250,
+ 231,
+ 230,
+ 223,
+ 56,
+ 171,
+ 240,
+ 177,
+ 106
+ ],
+ "nonce": [
+ 119,
+ 144,
+ 52,
+ 174,
+ 227,
+ 227,
+ 177,
+ 148,
+ 46,
+ 243,
+ 231,
+ 19
+ ],
+ "aad": [
+ 106,
+ 120,
+ 119,
+ 0,
+ 31,
+ 176,
+ 24,
+ 81,
+ 156,
+ 127,
+ 102,
+ 13,
+ 119,
+ 202,
+ 231,
+ 189,
+ 137,
+ 42,
+ 240,
+ 117,
+ 174,
+ 45,
+ 104,
+ 148,
+ 0,
+ 113,
+ 249,
+ 21,
+ 107,
+ 218,
+ 112,
+ 16,
+ 235,
+ 37,
+ 213,
+ 120,
+ 133,
+ 145,
+ 53,
+ 68,
+ 212,
+ 146,
+ 42,
+ 33,
+ 52,
+ 124,
+ 128,
+ 142
+ ],
+ "plaintext": [
+ 104,
+ 29,
+ 73,
+ 141,
+ 126,
+ 133,
+ 104,
+ 76,
+ 89,
+ 150,
+ 206,
+ 39,
+ 39,
+ 15,
+ 232,
+ 6,
+ 80,
+ 137,
+ 229,
+ 134,
+ 23,
+ 204,
+ 109,
+ 234,
+ 228,
+ 156,
+ 206,
+ 178,
+ 125,
+ 193,
+ 233,
+ 103
+ ],
+ "ciphertext": [
+ 123,
+ 20,
+ 161,
+ 86,
+ 116,
+ 117,
+ 91,
+ 102,
+ 175,
+ 8,
+ 213,
+ 129,
+ 238,
+ 111,
+ 139,
+ 152,
+ 105,
+ 25,
+ 39,
+ 203,
+ 31,
+ 92,
+ 67,
+ 229,
+ 88,
+ 157,
+ 230,
+ 28,
+ 27,
+ 56,
+ 131,
+ 201
+ ],
+ "tag": [
+ 47,
+ 164,
+ 13,
+ 156,
+ 101,
+ 238,
+ 210,
+ 138,
+ 153,
+ 249,
+ 90,
+ 244,
+ 104,
+ 41,
+ 48,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 75,
+ 79,
+ 145,
+ 85,
+ 216,
+ 219,
+ 133,
+ 224,
+ 226,
+ 179,
+ 107,
+ 243,
+ 170,
+ 152,
+ 30,
+ 108
+ ],
+ "nonce": [
+ 124,
+ 141,
+ 147,
+ 55,
+ 120,
+ 225,
+ 65,
+ 78,
+ 115,
+ 56,
+ 217,
+ 52
+ ],
+ "aad": [
+ 67,
+ 182,
+ 197,
+ 69,
+ 38,
+ 49,
+ 142,
+ 250,
+ 168,
+ 240,
+ 164,
+ 151,
+ 156,
+ 207,
+ 160,
+ 242,
+ 153,
+ 245,
+ 217,
+ 136,
+ 148,
+ 51,
+ 177,
+ 153,
+ 113,
+ 246,
+ 10,
+ 102,
+ 62,
+ 53,
+ 157,
+ 31,
+ 44,
+ 26,
+ 243,
+ 147,
+ 146,
+ 140,
+ 155,
+ 65,
+ 101,
+ 192,
+ 125,
+ 117,
+ 54,
+ 201,
+ 16,
+ 222
+ ],
+ "plaintext": [
+ 248,
+ 162,
+ 108,
+ 122,
+ 154,
+ 97,
+ 74,
+ 23,
+ 21,
+ 31,
+ 205,
+ 84,
+ 64,
+ 104,
+ 145,
+ 173,
+ 243,
+ 78,
+ 49,
+ 160,
+ 213,
+ 80,
+ 70,
+ 225,
+ 180,
+ 19,
+ 25,
+ 91,
+ 68,
+ 17,
+ 59,
+ 183
+ ],
+ "ciphertext": [
+ 63,
+ 155,
+ 222,
+ 163,
+ 195,
+ 86,
+ 26,
+ 212,
+ 23,
+ 194,
+ 5,
+ 136,
+ 122,
+ 234,
+ 108,
+ 161,
+ 238,
+ 7,
+ 0,
+ 87,
+ 56,
+ 141,
+ 200,
+ 2,
+ 38,
+ 243,
+ 49,
+ 255,
+ 176,
+ 1,
+ 125,
+ 229
+ ],
+ "tag": [
+ 232,
+ 234,
+ 29,
+ 48,
+ 119,
+ 223,
+ 44,
+ 61,
+ 32,
+ 240,
+ 42,
+ 80,
+ 70,
+ 253,
+ 174,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 65,
+ 72,
+ 221,
+ 135,
+ 188,
+ 106,
+ 170,
+ 144,
+ 138,
+ 13,
+ 190,
+ 30,
+ 93,
+ 47,
+ 108,
+ 199
+ ],
+ "nonce": [
+ 208,
+ 31,
+ 250,
+ 119,
+ 135,
+ 17,
+ 127,
+ 140,
+ 176,
+ 180,
+ 1,
+ 75
+ ],
+ "aad": [
+ 253,
+ 236,
+ 235,
+ 56,
+ 94,
+ 214,
+ 222,
+ 13,
+ 45,
+ 21,
+ 69,
+ 63,
+ 2,
+ 45,
+ 212,
+ 85,
+ 184,
+ 219,
+ 59,
+ 217,
+ 241,
+ 62,
+ 68,
+ 240,
+ 133,
+ 114,
+ 42,
+ 105,
+ 53,
+ 234,
+ 102,
+ 49,
+ 5,
+ 142,
+ 12,
+ 181,
+ 252,
+ 189,
+ 59,
+ 158,
+ 151,
+ 219,
+ 51,
+ 155,
+ 82,
+ 157,
+ 225,
+ 35
+ ],
+ "plaintext": [
+ 191,
+ 25,
+ 104,
+ 169,
+ 29,
+ 93,
+ 165,
+ 201,
+ 228,
+ 47,
+ 251,
+ 92,
+ 223,
+ 17,
+ 224,
+ 211,
+ 27,
+ 105,
+ 147,
+ 91,
+ 34,
+ 149,
+ 140,
+ 20,
+ 156,
+ 0,
+ 93,
+ 82,
+ 87,
+ 107,
+ 38,
+ 43
+ ],
+ "ciphertext": [
+ 191,
+ 201,
+ 236,
+ 187,
+ 175,
+ 73,
+ 55,
+ 17,
+ 7,
+ 206,
+ 195,
+ 127,
+ 128,
+ 23,
+ 31,
+ 148,
+ 20,
+ 30,
+ 37,
+ 164,
+ 134,
+ 225,
+ 180,
+ 45,
+ 130,
+ 88,
+ 32,
+ 138,
+ 96,
+ 56,
+ 250,
+ 52
+ ],
+ "tag": [
+ 242,
+ 218,
+ 208,
+ 177,
+ 107,
+ 183,
+ 40,
+ 203,
+ 149,
+ 122,
+ 217,
+ 171,
+ 7,
+ 22,
+ 209,
+ 149
+ ]
+ },
+ {
+ "key": [
+ 93,
+ 80,
+ 150,
+ 26,
+ 167,
+ 250,
+ 215,
+ 202,
+ 233,
+ 168,
+ 208,
+ 67,
+ 225,
+ 145,
+ 201,
+ 198
+ ],
+ "nonce": [
+ 38,
+ 63,
+ 77,
+ 198,
+ 70,
+ 78,
+ 137,
+ 17,
+ 10,
+ 119,
+ 242,
+ 79
+ ],
+ "aad": [
+ 231,
+ 76,
+ 216,
+ 98,
+ 28,
+ 45,
+ 176,
+ 61,
+ 107,
+ 71,
+ 205,
+ 164,
+ 174,
+ 6,
+ 113,
+ 223,
+ 232,
+ 187,
+ 98,
+ 242,
+ 103,
+ 21,
+ 189,
+ 67,
+ 151,
+ 173,
+ 198,
+ 121,
+ 201,
+ 135,
+ 1,
+ 107,
+ 243,
+ 5,
+ 161,
+ 229,
+ 85,
+ 235,
+ 201,
+ 26,
+ 4,
+ 142,
+ 42,
+ 123,
+ 220,
+ 124,
+ 184,
+ 185
+ ],
+ "plaintext": [
+ 15,
+ 237,
+ 137,
+ 250,
+ 134,
+ 229,
+ 251,
+ 196,
+ 191,
+ 46,
+ 53,
+ 44,
+ 175,
+ 142,
+ 30,
+ 137,
+ 16,
+ 241,
+ 6,
+ 219,
+ 123,
+ 80,
+ 146,
+ 254,
+ 236,
+ 159,
+ 255,
+ 95,
+ 79,
+ 118,
+ 138,
+ 228
+ ],
+ "ciphertext": [
+ 33,
+ 144,
+ 56,
+ 11,
+ 238,
+ 16,
+ 173,
+ 233,
+ 115,
+ 174,
+ 160,
+ 219,
+ 38,
+ 152,
+ 53,
+ 100,
+ 159,
+ 78,
+ 83,
+ 228,
+ 114,
+ 69,
+ 152,
+ 225,
+ 169,
+ 53,
+ 112,
+ 74,
+ 64,
+ 65,
+ 27,
+ 22
+ ],
+ "tag": [
+ 10,
+ 163,
+ 214,
+ 141,
+ 144,
+ 239,
+ 61,
+ 50,
+ 159,
+ 243,
+ 148,
+ 69,
+ 29,
+ 176,
+ 162,
+ 194
+ ]
+ },
+ {
+ "key": [
+ 194,
+ 66,
+ 139,
+ 84,
+ 167,
+ 129,
+ 36,
+ 47,
+ 137,
+ 107,
+ 188,
+ 136,
+ 22,
+ 232,
+ 23,
+ 107
+ ],
+ "nonce": [
+ 113,
+ 93,
+ 140,
+ 131,
+ 151,
+ 238,
+ 85,
+ 235,
+ 83,
+ 248,
+ 106,
+ 42
+ ],
+ "aad": [
+ 67,
+ 91,
+ 178,
+ 169,
+ 111,
+ 174,
+ 10,
+ 182,
+ 76,
+ 10,
+ 73,
+ 157,
+ 110,
+ 80,
+ 191,
+ 46,
+ 85,
+ 96,
+ 100,
+ 51,
+ 56,
+ 170,
+ 218,
+ 186,
+ 167,
+ 149,
+ 248,
+ 45,
+ 101,
+ 3,
+ 88,
+ 141,
+ 101,
+ 34,
+ 167,
+ 14,
+ 78,
+ 71,
+ 82,
+ 151,
+ 170,
+ 156,
+ 91,
+ 188,
+ 167,
+ 19,
+ 139,
+ 5
+ ],
+ "plaintext": [
+ 0,
+ 136,
+ 18,
+ 155,
+ 181,
+ 20,
+ 166,
+ 109,
+ 90,
+ 32,
+ 136,
+ 56,
+ 226,
+ 12,
+ 121,
+ 120,
+ 234,
+ 99,
+ 137,
+ 203,
+ 213,
+ 110,
+ 133,
+ 222,
+ 135,
+ 224,
+ 219,
+ 6,
+ 8,
+ 216,
+ 193,
+ 164
+ ],
+ "ciphertext": [
+ 169,
+ 251,
+ 117,
+ 12,
+ 0,
+ 159,
+ 253,
+ 127,
+ 231,
+ 103,
+ 3,
+ 227,
+ 88,
+ 143,
+ 116,
+ 127,
+ 165,
+ 140,
+ 239,
+ 104,
+ 177,
+ 217,
+ 221,
+ 47,
+ 149,
+ 59,
+ 191,
+ 58,
+ 182,
+ 218,
+ 43,
+ 89
+ ],
+ "tag": [
+ 97,
+ 59,
+ 185,
+ 18,
+ 57,
+ 170,
+ 253,
+ 206,
+ 216,
+ 251,
+ 135,
+ 182,
+ 186,
+ 15,
+ 158,
+ 93
+ ]
+ },
+ {
+ "key": [
+ 106,
+ 52,
+ 8,
+ 72,
+ 26,
+ 84,
+ 161,
+ 217,
+ 35,
+ 17,
+ 66,
+ 255,
+ 185,
+ 253,
+ 53,
+ 79
+ ],
+ "nonce": [
+ 187,
+ 47,
+ 222,
+ 221,
+ 26,
+ 51,
+ 50,
+ 26,
+ 206,
+ 10,
+ 92,
+ 102
+ ],
+ "aad": [
+ 68,
+ 143,
+ 23,
+ 198,
+ 4,
+ 203,
+ 151,
+ 108,
+ 181,
+ 39,
+ 179,
+ 177,
+ 248,
+ 212,
+ 3,
+ 80,
+ 66,
+ 12,
+ 148,
+ 84,
+ 93,
+ 115,
+ 171,
+ 114,
+ 163,
+ 220,
+ 16,
+ 163,
+ 44,
+ 236,
+ 83,
+ 125,
+ 120,
+ 161,
+ 125,
+ 50,
+ 254,
+ 7,
+ 59,
+ 50,
+ 158,
+ 37,
+ 187,
+ 45,
+ 83,
+ 139,
+ 91,
+ 193
+ ],
+ "plaintext": [
+ 99,
+ 201,
+ 52,
+ 238,
+ 234,
+ 13,
+ 202,
+ 151,
+ 50,
+ 115,
+ 77,
+ 128,
+ 0,
+ 52,
+ 229,
+ 118,
+ 22,
+ 244,
+ 211,
+ 57,
+ 174,
+ 222,
+ 253,
+ 81,
+ 90,
+ 130,
+ 147,
+ 0,
+ 147,
+ 126,
+ 109,
+ 95
+ ],
+ "ciphertext": [
+ 180,
+ 19,
+ 169,
+ 200,
+ 66,
+ 250,
+ 81,
+ 0,
+ 27,
+ 137,
+ 73,
+ 170,
+ 129,
+ 223,
+ 193,
+ 4,
+ 8,
+ 57,
+ 24,
+ 146,
+ 237,
+ 168,
+ 71,
+ 133,
+ 231,
+ 37,
+ 116,
+ 83,
+ 120,
+ 83,
+ 109,
+ 36
+ ],
+ "tag": [
+ 30,
+ 50,
+ 61,
+ 18,
+ 133,
+ 106,
+ 100,
+ 74,
+ 134,
+ 243,
+ 148,
+ 249,
+ 97,
+ 133,
+ 160,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 197,
+ 167,
+ 239,
+ 151,
+ 10,
+ 127,
+ 66,
+ 184,
+ 49,
+ 148,
+ 191,
+ 170,
+ 98,
+ 220,
+ 9,
+ 44
+ ],
+ "nonce": [
+ 149,
+ 5,
+ 146,
+ 77,
+ 11,
+ 17,
+ 32,
+ 13,
+ 179,
+ 196,
+ 5,
+ 41
+ ],
+ "aad": [
+ 194,
+ 185,
+ 137,
+ 211,
+ 213,
+ 109,
+ 109,
+ 192,
+ 195,
+ 232,
+ 70,
+ 99,
+ 30,
+ 17,
+ 240,
+ 150,
+ 161,
+ 195,
+ 240,
+ 22,
+ 152,
+ 74,
+ 42,
+ 96,
+ 245,
+ 147,
+ 245,
+ 180,
+ 90,
+ 205,
+ 40,
+ 49,
+ 154,
+ 201,
+ 130,
+ 135,
+ 115,
+ 198,
+ 209,
+ 224,
+ 67,
+ 198,
+ 33,
+ 60,
+ 233,
+ 112,
+ 231,
+ 73
+ ],
+ "plaintext": [
+ 132,
+ 186,
+ 24,
+ 209,
+ 225,
+ 80,
+ 61,
+ 28,
+ 81,
+ 46,
+ 9,
+ 86,
+ 56,
+ 8,
+ 17,
+ 188,
+ 112,
+ 242,
+ 217,
+ 127,
+ 101,
+ 38,
+ 151,
+ 18,
+ 67,
+ 26,
+ 55,
+ 32,
+ 221,
+ 172,
+ 145,
+ 179
+ ],
+ "ciphertext": [
+ 176,
+ 124,
+ 2,
+ 218,
+ 191,
+ 250,
+ 168,
+ 247,
+ 177,
+ 31,
+ 100,
+ 78,
+ 84,
+ 127,
+ 136,
+ 127,
+ 120,
+ 189,
+ 201,
+ 186,
+ 187,
+ 170,
+ 12,
+ 166,
+ 110,
+ 53,
+ 14,
+ 43,
+ 90,
+ 41,
+ 59,
+ 53
+ ],
+ "tag": [
+ 17,
+ 57,
+ 61,
+ 244,
+ 50,
+ 99,
+ 109,
+ 199,
+ 215,
+ 163,
+ 241,
+ 131,
+ 245,
+ 49,
+ 22,
+ 106
+ ]
+ },
+ {
+ "key": [
+ 63,
+ 69,
+ 197,
+ 199,
+ 208,
+ 66,
+ 238,
+ 52,
+ 232,
+ 37,
+ 123,
+ 248,
+ 58,
+ 70,
+ 20,
+ 78
+ ],
+ "nonce": [
+ 12,
+ 115,
+ 47,
+ 32,
+ 142,
+ 193,
+ 248,
+ 224,
+ 224,
+ 222,
+ 14,
+ 176
+ ],
+ "aad": [
+ 153,
+ 28,
+ 130,
+ 201,
+ 228,
+ 141,
+ 200,
+ 135,
+ 240,
+ 84,
+ 188,
+ 11,
+ 69,
+ 151,
+ 157,
+ 216,
+ 210,
+ 68,
+ 149,
+ 78,
+ 169,
+ 16,
+ 227,
+ 1,
+ 57,
+ 218,
+ 157,
+ 173,
+ 71,
+ 104,
+ 67,
+ 105,
+ 31,
+ 50,
+ 199,
+ 180,
+ 148,
+ 17,
+ 78,
+ 5,
+ 141,
+ 43,
+ 39,
+ 40,
+ 78,
+ 161,
+ 58,
+ 98
+ ],
+ "plaintext": [
+ 212,
+ 111,
+ 175,
+ 223,
+ 4,
+ 70,
+ 142,
+ 145,
+ 185,
+ 184,
+ 122,
+ 132,
+ 247,
+ 18,
+ 97,
+ 188,
+ 212,
+ 75,
+ 67,
+ 142,
+ 58,
+ 148,
+ 53,
+ 144,
+ 198,
+ 209,
+ 153,
+ 7,
+ 134,
+ 144,
+ 158,
+ 193
+ ],
+ "ciphertext": [
+ 84,
+ 203,
+ 177,
+ 131,
+ 40,
+ 104,
+ 32,
+ 55,
+ 189,
+ 221,
+ 184,
+ 197,
+ 133,
+ 183,
+ 49,
+ 177,
+ 139,
+ 92,
+ 252,
+ 73,
+ 93,
+ 155,
+ 137,
+ 156,
+ 155,
+ 141,
+ 184,
+ 161,
+ 29,
+ 158,
+ 70,
+ 233
+ ],
+ "tag": [
+ 40,
+ 147,
+ 73,
+ 234,
+ 9,
+ 72,
+ 57,
+ 220,
+ 110,
+ 149,
+ 112,
+ 193,
+ 215,
+ 214,
+ 42,
+ 145
+ ]
+ },
+ {
+ "key": [
+ 16,
+ 240,
+ 86,
+ 155,
+ 78,
+ 108,
+ 68,
+ 24,
+ 88,
+ 248,
+ 5,
+ 58,
+ 100,
+ 107,
+ 119,
+ 95
+ ],
+ "nonce": [
+ 134,
+ 61,
+ 189,
+ 201,
+ 235,
+ 138,
+ 156,
+ 26,
+ 193,
+ 175,
+ 106,
+ 201
+ ],
+ "aad": [
+ 65,
+ 211,
+ 114,
+ 222,
+ 186,
+ 155,
+ 37,
+ 187,
+ 152,
+ 45,
+ 140,
+ 70,
+ 98,
+ 240,
+ 99,
+ 249,
+ 93,
+ 24,
+ 89,
+ 100,
+ 5,
+ 80,
+ 238,
+ 97,
+ 119,
+ 134,
+ 38,
+ 68,
+ 176,
+ 40,
+ 244,
+ 44,
+ 67,
+ 86,
+ 54,
+ 205,
+ 192,
+ 205,
+ 197,
+ 117,
+ 9,
+ 165,
+ 252,
+ 183,
+ 86,
+ 87,
+ 229,
+ 129
+ ],
+ "plaintext": [
+ 249,
+ 158,
+ 234,
+ 213,
+ 27,
+ 178,
+ 161,
+ 127,
+ 55,
+ 10,
+ 80,
+ 7,
+ 157,
+ 147,
+ 22,
+ 113,
+ 121,
+ 175,
+ 92,
+ 73,
+ 150,
+ 90,
+ 242,
+ 211,
+ 240,
+ 109,
+ 33,
+ 31,
+ 217,
+ 109,
+ 107,
+ 160
+ ],
+ "ciphertext": [
+ 86,
+ 111,
+ 89,
+ 207,
+ 79,
+ 231,
+ 177,
+ 77,
+ 202,
+ 53,
+ 87,
+ 87,
+ 67,
+ 134,
+ 115,
+ 81,
+ 241,
+ 139,
+ 31,
+ 167,
+ 227,
+ 148,
+ 23,
+ 248,
+ 231,
+ 254,
+ 78,
+ 139,
+ 241,
+ 5,
+ 44,
+ 164
+ ],
+ "tag": [
+ 223,
+ 57,
+ 194,
+ 145,
+ 178,
+ 111,
+ 140,
+ 162,
+ 85,
+ 122,
+ 188,
+ 96,
+ 116,
+ 105,
+ 64,
+ 112
+ ]
+ },
+ {
+ "key": [
+ 102,
+ 249,
+ 88,
+ 224,
+ 152,
+ 150,
+ 171,
+ 43,
+ 33,
+ 235,
+ 54,
+ 252,
+ 54,
+ 251,
+ 252,
+ 173
+ ],
+ "nonce": [
+ 55,
+ 26,
+ 77,
+ 189,
+ 248,
+ 14,
+ 109,
+ 70,
+ 80,
+ 138,
+ 150,
+ 33
+ ],
+ "aad": [
+ 25,
+ 241,
+ 158,
+ 175,
+ 182,
+ 25,
+ 31,
+ 176,
+ 69,
+ 40,
+ 7,
+ 186,
+ 43,
+ 166,
+ 174,
+ 74,
+ 195,
+ 107,
+ 55,
+ 19,
+ 143,
+ 9,
+ 44,
+ 186,
+ 26,
+ 99,
+ 190,
+ 88,
+ 228,
+ 248,
+ 185,
+ 148,
+ 242,
+ 246,
+ 149,
+ 135,
+ 153,
+ 68,
+ 107,
+ 93,
+ 34,
+ 111,
+ 210,
+ 58,
+ 149,
+ 254,
+ 121,
+ 59
+ ],
+ "plaintext": [
+ 192,
+ 69,
+ 143,
+ 89,
+ 186,
+ 192,
+ 57,
+ 164,
+ 52,
+ 158,
+ 57,
+ 194,
+ 89,
+ 237,
+ 246,
+ 207,
+ 98,
+ 251,
+ 216,
+ 121,
+ 16,
+ 6,
+ 68,
+ 9,
+ 198,
+ 77,
+ 143,
+ 110,
+ 245,
+ 93,
+ 150,
+ 239
+ ],
+ "ciphertext": [
+ 25,
+ 36,
+ 116,
+ 173,
+ 121,
+ 94,
+ 62,
+ 62,
+ 54,
+ 171,
+ 206,
+ 242,
+ 212,
+ 44,
+ 3,
+ 141,
+ 57,
+ 236,
+ 232,
+ 17,
+ 159,
+ 176,
+ 88,
+ 167,
+ 82,
+ 183,
+ 149,
+ 159,
+ 228,
+ 103,
+ 3,
+ 245
+ ],
+ "tag": [
+ 209,
+ 125,
+ 198,
+ 29,
+ 21,
+ 19,
+ 252,
+ 28,
+ 194,
+ 223,
+ 69,
+ 40,
+ 58,
+ 254,
+ 181,
+ 86
+ ]
+ },
+ {
+ "key": [
+ 15,
+ 70,
+ 239,
+ 105,
+ 153,
+ 163,
+ 203,
+ 204,
+ 46,
+ 83,
+ 154,
+ 137,
+ 82,
+ 167,
+ 251,
+ 204
+ ],
+ "nonce": [
+ 255,
+ 136,
+ 41,
+ 194,
+ 251,
+ 86,
+ 205,
+ 247,
+ 73,
+ 20,
+ 173,
+ 45
+ ],
+ "aad": [
+ 252,
+ 154,
+ 28,
+ 22,
+ 176,
+ 244,
+ 207,
+ 19,
+ 56,
+ 67,
+ 167,
+ 102,
+ 74,
+ 23,
+ 233,
+ 124,
+ 2,
+ 231,
+ 170,
+ 54,
+ 1,
+ 83,
+ 245,
+ 180,
+ 184,
+ 129,
+ 237,
+ 56,
+ 37,
+ 247,
+ 178,
+ 164,
+ 20,
+ 173,
+ 174,
+ 148,
+ 201,
+ 166,
+ 71,
+ 154,
+ 158,
+ 234,
+ 170,
+ 32,
+ 111,
+ 153,
+ 195,
+ 219
+ ],
+ "plaintext": [
+ 55,
+ 64,
+ 29,
+ 86,
+ 5,
+ 36,
+ 18,
+ 249,
+ 26,
+ 169,
+ 57,
+ 143,
+ 58,
+ 179,
+ 175,
+ 230,
+ 138,
+ 229,
+ 0,
+ 170,
+ 244,
+ 15,
+ 121,
+ 65,
+ 200,
+ 168,
+ 42,
+ 229,
+ 99,
+ 121,
+ 253,
+ 93
+ ],
+ "ciphertext": [
+ 104,
+ 102,
+ 170,
+ 118,
+ 153,
+ 168,
+ 206,
+ 44,
+ 116,
+ 120,
+ 128,
+ 0,
+ 25,
+ 135,
+ 194,
+ 131,
+ 147,
+ 254,
+ 168,
+ 10,
+ 203,
+ 123,
+ 36,
+ 169,
+ 230,
+ 230,
+ 16,
+ 134,
+ 223,
+ 104,
+ 245,
+ 182
+ ],
+ "tag": [
+ 201,
+ 150,
+ 252,
+ 62,
+ 68,
+ 136,
+ 122,
+ 212,
+ 215,
+ 3,
+ 183,
+ 45,
+ 194,
+ 236,
+ 177,
+ 184
+ ]
+ },
+ {
+ "key": [
+ 144,
+ 131,
+ 130,
+ 9,
+ 187,
+ 200,
+ 208,
+ 120,
+ 70,
+ 18,
+ 118,
+ 103,
+ 86,
+ 77,
+ 214,
+ 150
+ ],
+ "nonce": [
+ 254,
+ 191,
+ 180,
+ 221,
+ 4,
+ 235,
+ 49,
+ 57,
+ 51,
+ 185,
+ 194,
+ 120
+ ],
+ "aad": [
+ 1,
+ 203,
+ 179,
+ 167,
+ 167,
+ 0,
+ 1,
+ 2,
+ 123,
+ 6,
+ 76,
+ 51,
+ 114,
+ 96,
+ 221,
+ 222,
+ 140,
+ 208,
+ 127,
+ 199,
+ 134,
+ 215,
+ 30,
+ 41,
+ 63,
+ 224,
+ 189,
+ 68,
+ 199,
+ 148,
+ 219,
+ 247,
+ 176,
+ 84,
+ 17,
+ 75,
+ 205,
+ 37,
+ 158,
+ 17,
+ 94,
+ 58,
+ 204,
+ 152,
+ 205,
+ 46,
+ 215,
+ 177
+ ],
+ "plaintext": [
+ 206,
+ 192,
+ 82,
+ 115,
+ 41,
+ 132,
+ 122,
+ 126,
+ 236,
+ 230,
+ 175,
+ 166,
+ 92,
+ 127,
+ 80,
+ 255,
+ 45,
+ 125,
+ 244,
+ 188,
+ 78,
+ 141,
+ 41,
+ 144,
+ 196,
+ 27,
+ 244,
+ 42,
+ 169,
+ 189,
+ 166,
+ 21
+ ],
+ "ciphertext": [
+ 230,
+ 39,
+ 84,
+ 112,
+ 69,
+ 74,
+ 158,
+ 11,
+ 111,
+ 110,
+ 162,
+ 164,
+ 214,
+ 76,
+ 185,
+ 52,
+ 98,
+ 166,
+ 205,
+ 220,
+ 105,
+ 232,
+ 15,
+ 51,
+ 128,
+ 152,
+ 254,
+ 139,
+ 29,
+ 75,
+ 195,
+ 100
+ ],
+ "tag": [
+ 80,
+ 221,
+ 194,
+ 84,
+ 215,
+ 80,
+ 69,
+ 144,
+ 201,
+ 56,
+ 165,
+ 3,
+ 4,
+ 140,
+ 200,
+ 254
+ ]
+ },
+ {
+ "key": [
+ 249,
+ 78,
+ 157,
+ 128,
+ 180,
+ 141,
+ 197,
+ 189,
+ 202,
+ 130,
+ 241,
+ 77,
+ 170,
+ 70,
+ 190,
+ 22
+ ],
+ "nonce": [
+ 41,
+ 191,
+ 25,
+ 49,
+ 240,
+ 220,
+ 79,
+ 227,
+ 200,
+ 7,
+ 226,
+ 52
+ ],
+ "aad": [
+ 68,
+ 158,
+ 104,
+ 215,
+ 143,
+ 202,
+ 162,
+ 224,
+ 242,
+ 129,
+ 26,
+ 135,
+ 169,
+ 196,
+ 138,
+ 60,
+ 209,
+ 142,
+ 77,
+ 100,
+ 78,
+ 184,
+ 142,
+ 240,
+ 91,
+ 145,
+ 244,
+ 82,
+ 142,
+ 53,
+ 199,
+ 19,
+ 244,
+ 223,
+ 47,
+ 249,
+ 125,
+ 226,
+ 81,
+ 188,
+ 91,
+ 4,
+ 161,
+ 119,
+ 210,
+ 226,
+ 146,
+ 153
+ ],
+ "plaintext": [
+ 100,
+ 151,
+ 31,
+ 223,
+ 116,
+ 249,
+ 63,
+ 138,
+ 174,
+ 50,
+ 169,
+ 152,
+ 229,
+ 172,
+ 242,
+ 176,
+ 150,
+ 35,
+ 121,
+ 90,
+ 119,
+ 203,
+ 154,
+ 216,
+ 136,
+ 171,
+ 230,
+ 199,
+ 117,
+ 107,
+ 10,
+ 157
+ ],
+ "ciphertext": [
+ 243,
+ 23,
+ 96,
+ 125,
+ 151,
+ 237,
+ 81,
+ 252,
+ 194,
+ 246,
+ 255,
+ 123,
+ 57,
+ 68,
+ 112,
+ 117,
+ 141,
+ 247,
+ 114,
+ 171,
+ 179,
+ 59,
+ 123,
+ 160,
+ 73,
+ 198,
+ 116,
+ 139,
+ 57,
+ 252,
+ 64,
+ 5
+ ],
+ "tag": [
+ 108,
+ 71,
+ 59,
+ 188,
+ 136,
+ 129,
+ 35,
+ 159,
+ 133,
+ 237,
+ 220,
+ 121,
+ 245,
+ 218,
+ 160,
+ 185
+ ]
+ },
+ {
+ "key": [
+ 143,
+ 191,
+ 124,
+ 161,
+ 47,
+ 213,
+ 37,
+ 221,
+ 233,
+ 30,
+ 98,
+ 88,
+ 115,
+ 254,
+ 81,
+ 194
+ ],
+ "nonce": [
+ 32,
+ 11,
+ 234,
+ 81,
+ 123,
+ 151,
+ 144,
+ 161,
+ 207,
+ 173,
+ 175,
+ 94
+ ],
+ "aad": [
+ 164,
+ 20,
+ 192,
+ 127,
+ 226,
+ 230,
+ 11,
+ 236,
+ 156,
+ 204,
+ 64,
+ 158,
+ 158,
+ 137,
+ 156,
+ 111,
+ 230,
+ 5,
+ 128,
+ 187,
+ 38,
+ 7,
+ 200,
+ 97,
+ 247,
+ 240,
+ 133,
+ 35,
+ 230,
+ 156,
+ 218,
+ 27,
+ 156,
+ 58,
+ 113,
+ 29,
+ 29,
+ 156,
+ 53,
+ 9,
+ 23,
+ 113,
+ 228,
+ 201,
+ 80,
+ 185,
+ 153,
+ 109,
+ 10,
+ 208,
+ 79,
+ 46,
+ 0,
+ 209,
+ 179,
+ 16,
+ 88,
+ 83,
+ 84,
+ 42,
+ 150,
+ 224,
+ 159,
+ 255,
+ 252,
+ 46,
+ 200,
+ 15,
+ 140,
+ 248,
+ 135,
+ 40,
+ 245,
+ 148,
+ 240,
+ 174,
+ 177,
+ 79,
+ 152,
+ 166,
+ 136,
+ 35,
+ 78,
+ 139,
+ 251,
+ 247,
+ 3,
+ 39,
+ 179,
+ 100
+ ],
+ "plaintext": [
+ 57,
+ 211,
+ 230,
+ 39,
+ 124,
+ 75,
+ 73,
+ 99,
+ 132,
+ 13,
+ 22,
+ 66,
+ 230,
+ 250,
+ 174,
+ 10,
+ 91,
+ 226,
+ 218,
+ 151,
+ 246,
+ 28,
+ 78,
+ 85,
+ 187,
+ 87,
+ 206,
+ 2,
+ 25,
+ 3,
+ 212,
+ 196
+ ],
+ "ciphertext": [
+ 254,
+ 103,
+ 142,
+ 247,
+ 111,
+ 105,
+ 172,
+ 149,
+ 219,
+ 85,
+ 59,
+ 109,
+ 173,
+ 213,
+ 160,
+ 122,
+ 157,
+ 200,
+ 225,
+ 81,
+ 254,
+ 106,
+ 159,
+ 163,
+ 161,
+ 205,
+ 98,
+ 22,
+ 54,
+ 184,
+ 120,
+ 104
+ ],
+ "tag": [
+ 124,
+ 134,
+ 7,
+ 116,
+ 248,
+ 131,
+ 50,
+ 185,
+ 167,
+ 206,
+ 107,
+ 189,
+ 2,
+ 114,
+ 167,
+ 39
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 164,
+ 91,
+ 22,
+ 242,
+ 192,
+ 106,
+ 72,
+ 114,
+ 24,
+ 215,
+ 97,
+ 234,
+ 191,
+ 24,
+ 115
+ ],
+ "nonce": [
+ 246,
+ 88,
+ 237,
+ 124,
+ 229,
+ 8,
+ 231,
+ 16,
+ 213,
+ 129,
+ 95,
+ 24
+ ],
+ "aad": [
+ 51,
+ 21,
+ 106,
+ 119,
+ 85,
+ 134,
+ 232,
+ 201,
+ 44,
+ 126,
+ 153,
+ 196,
+ 103,
+ 168,
+ 64,
+ 40,
+ 26,
+ 188,
+ 25,
+ 72,
+ 59,
+ 154,
+ 50,
+ 14,
+ 112,
+ 123,
+ 241,
+ 255,
+ 232,
+ 86,
+ 255,
+ 28,
+ 71,
+ 59,
+ 181,
+ 47,
+ 91,
+ 148,
+ 14,
+ 68,
+ 223,
+ 44,
+ 47,
+ 118,
+ 108,
+ 190,
+ 158,
+ 211,
+ 96,
+ 216,
+ 68,
+ 40,
+ 63,
+ 141,
+ 170,
+ 62,
+ 246,
+ 141,
+ 239,
+ 75,
+ 245,
+ 242,
+ 195,
+ 170,
+ 227,
+ 2,
+ 140,
+ 45,
+ 52,
+ 140,
+ 161,
+ 150,
+ 62,
+ 146,
+ 39,
+ 205,
+ 250,
+ 111,
+ 98,
+ 5,
+ 219,
+ 217,
+ 243,
+ 131,
+ 46,
+ 70,
+ 164,
+ 245,
+ 82,
+ 236
+ ],
+ "plaintext": [
+ 182,
+ 162,
+ 175,
+ 185,
+ 22,
+ 162,
+ 53,
+ 199,
+ 250,
+ 197,
+ 205,
+ 106,
+ 142,
+ 144,
+ 87,
+ 194,
+ 255,
+ 244,
+ 55,
+ 183,
+ 84,
+ 69,
+ 50,
+ 162,
+ 150,
+ 163,
+ 200,
+ 12,
+ 53,
+ 244,
+ 124,
+ 153
+ ],
+ "ciphertext": [
+ 101,
+ 100,
+ 225,
+ 82,
+ 135,
+ 233,
+ 149,
+ 136,
+ 99,
+ 149,
+ 53,
+ 60,
+ 101,
+ 200,
+ 48,
+ 230,
+ 253,
+ 210,
+ 149,
+ 199,
+ 236,
+ 38,
+ 51,
+ 199,
+ 248,
+ 210,
+ 128,
+ 242,
+ 52,
+ 12,
+ 221,
+ 21
+ ],
+ "tag": [
+ 228,
+ 244,
+ 223,
+ 239,
+ 118,
+ 66,
+ 112,
+ 160,
+ 104,
+ 169,
+ 9,
+ 91,
+ 150,
+ 24,
+ 255,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 80,
+ 21,
+ 246,
+ 178,
+ 103,
+ 247,
+ 186,
+ 143,
+ 131,
+ 180,
+ 110,
+ 249,
+ 68,
+ 10,
+ 0,
+ 131
+ ],
+ "nonce": [
+ 182,
+ 109,
+ 212,
+ 46,
+ 105,
+ 248,
+ 166,
+ 20,
+ 81,
+ 106,
+ 182,
+ 207
+ ],
+ "aad": [
+ 240,
+ 111,
+ 225,
+ 135,
+ 173,
+ 85,
+ 223,
+ 76,
+ 21,
+ 117,
+ 4,
+ 58,
+ 251,
+ 73,
+ 12,
+ 17,
+ 124,
+ 102,
+ 230,
+ 49,
+ 182,
+ 160,
+ 38,
+ 172,
+ 139,
+ 54,
+ 99,
+ 214,
+ 95,
+ 78,
+ 96,
+ 91,
+ 87,
+ 244,
+ 103,
+ 237,
+ 108,
+ 10,
+ 63,
+ 222,
+ 3,
+ 219,
+ 97,
+ 248,
+ 45,
+ 152,
+ 162,
+ 56,
+ 149,
+ 90,
+ 62,
+ 15,
+ 81,
+ 186,
+ 199,
+ 141,
+ 20,
+ 185,
+ 74,
+ 11,
+ 117,
+ 5,
+ 122,
+ 67,
+ 47,
+ 243,
+ 117,
+ 160,
+ 155,
+ 10,
+ 65,
+ 222,
+ 243,
+ 200,
+ 135,
+ 252,
+ 177,
+ 3,
+ 238,
+ 153,
+ 244,
+ 185,
+ 244,
+ 71,
+ 74,
+ 100,
+ 96,
+ 11,
+ 135,
+ 235
+ ],
+ "plaintext": [
+ 209,
+ 32,
+ 117,
+ 73,
+ 204,
+ 131,
+ 26,
+ 74,
+ 252,
+ 126,
+ 130,
+ 65,
+ 87,
+ 118,
+ 165,
+ 164,
+ 38,
+ 100,
+ 188,
+ 51,
+ 131,
+ 61,
+ 6,
+ 29,
+ 164,
+ 9,
+ 251,
+ 225,
+ 251,
+ 30,
+ 132,
+ 223
+ ],
+ "ciphertext": [
+ 150,
+ 0,
+ 183,
+ 170,
+ 111,
+ 93,
+ 142,
+ 48,
+ 211,
+ 187,
+ 202,
+ 104,
+ 0,
+ 100,
+ 62,
+ 231,
+ 100,
+ 181,
+ 155,
+ 203,
+ 131,
+ 222,
+ 61,
+ 253,
+ 3,
+ 54,
+ 75,
+ 188,
+ 154,
+ 72,
+ 37,
+ 46
+ ],
+ "tag": [
+ 73,
+ 160,
+ 173,
+ 45,
+ 251,
+ 180,
+ 158,
+ 138,
+ 204,
+ 106,
+ 209,
+ 222,
+ 77,
+ 147,
+ 17,
+ 215
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 135,
+ 34,
+ 232,
+ 13,
+ 156,
+ 174,
+ 33,
+ 49,
+ 128,
+ 239,
+ 192,
+ 242,
+ 103,
+ 95,
+ 50
+ ],
+ "nonce": [
+ 233,
+ 237,
+ 21,
+ 177,
+ 148,
+ 47,
+ 26,
+ 181,
+ 233,
+ 207,
+ 148,
+ 33
+ ],
+ "aad": [
+ 25,
+ 251,
+ 112,
+ 52,
+ 172,
+ 79,
+ 87,
+ 3,
+ 92,
+ 241,
+ 159,
+ 104,
+ 215,
+ 108,
+ 69,
+ 129,
+ 5,
+ 78,
+ 219,
+ 171,
+ 232,
+ 132,
+ 224,
+ 118,
+ 160,
+ 73,
+ 133,
+ 66,
+ 212,
+ 47,
+ 4,
+ 18,
+ 245,
+ 235,
+ 135,
+ 194,
+ 202,
+ 251,
+ 225,
+ 59,
+ 153,
+ 54,
+ 198,
+ 252,
+ 238,
+ 76,
+ 123,
+ 180,
+ 109,
+ 242,
+ 39,
+ 67,
+ 6,
+ 251,
+ 26,
+ 134,
+ 186,
+ 228,
+ 102,
+ 2,
+ 144,
+ 193,
+ 62,
+ 221,
+ 235,
+ 140,
+ 254,
+ 141,
+ 229,
+ 133,
+ 228,
+ 21,
+ 86,
+ 59,
+ 193,
+ 166,
+ 202,
+ 152,
+ 35,
+ 182,
+ 108,
+ 143,
+ 45,
+ 165,
+ 218,
+ 93,
+ 248,
+ 244,
+ 22,
+ 119
+ ],
+ "plaintext": [
+ 57,
+ 237,
+ 69,
+ 189,
+ 215,
+ 63,
+ 114,
+ 170,
+ 22,
+ 174,
+ 131,
+ 61,
+ 5,
+ 198,
+ 217,
+ 171,
+ 31,
+ 202,
+ 43,
+ 94,
+ 164,
+ 120,
+ 219,
+ 85,
+ 48,
+ 39,
+ 120,
+ 120,
+ 87,
+ 252,
+ 159,
+ 205
+ ],
+ "ciphertext": [
+ 146,
+ 65,
+ 82,
+ 108,
+ 99,
+ 140,
+ 47,
+ 10,
+ 45,
+ 30,
+ 82,
+ 187,
+ 4,
+ 159,
+ 113,
+ 3,
+ 149,
+ 101,
+ 187,
+ 165,
+ 197,
+ 152,
+ 118,
+ 235,
+ 19,
+ 111,
+ 146,
+ 172,
+ 104,
+ 172,
+ 127,
+ 108
+ ],
+ "tag": [
+ 166,
+ 169,
+ 182,
+ 44,
+ 54,
+ 177,
+ 86,
+ 173,
+ 64,
+ 36,
+ 231,
+ 5,
+ 193,
+ 215,
+ 131,
+ 96
+ ]
+ },
+ {
+ "key": [
+ 103,
+ 140,
+ 75,
+ 244,
+ 20,
+ 69,
+ 47,
+ 28,
+ 90,
+ 101,
+ 150,
+ 105,
+ 100,
+ 109,
+ 65,
+ 97
+ ],
+ "nonce": [
+ 41,
+ 93,
+ 39,
+ 98,
+ 38,
+ 29,
+ 26,
+ 83,
+ 110,
+ 28,
+ 5,
+ 124
+ ],
+ "aad": [
+ 188,
+ 132,
+ 116,
+ 58,
+ 12,
+ 66,
+ 187,
+ 52,
+ 35,
+ 3,
+ 42,
+ 137,
+ 133,
+ 125,
+ 229,
+ 169,
+ 53,
+ 94,
+ 215,
+ 130,
+ 25,
+ 128,
+ 191,
+ 24,
+ 55,
+ 154,
+ 229,
+ 3,
+ 182,
+ 157,
+ 163,
+ 86,
+ 1,
+ 96,
+ 143,
+ 98,
+ 187,
+ 252,
+ 178,
+ 226,
+ 173,
+ 158,
+ 255,
+ 126,
+ 3,
+ 252,
+ 180,
+ 182,
+ 209,
+ 118,
+ 138,
+ 211,
+ 164,
+ 217,
+ 40,
+ 49,
+ 197,
+ 178,
+ 227,
+ 252,
+ 14,
+ 234,
+ 58,
+ 183,
+ 184,
+ 116,
+ 246,
+ 78,
+ 132,
+ 195,
+ 118,
+ 168,
+ 249,
+ 225,
+ 91,
+ 154,
+ 235,
+ 83,
+ 146,
+ 222,
+ 16,
+ 18,
+ 38,
+ 5,
+ 105,
+ 159,
+ 125,
+ 3,
+ 169,
+ 153
+ ],
+ "plaintext": [
+ 83,
+ 244,
+ 171,
+ 120,
+ 193,
+ 106,
+ 32,
+ 192,
+ 112,
+ 149,
+ 175,
+ 165,
+ 15,
+ 126,
+ 150,
+ 214,
+ 107,
+ 219,
+ 93,
+ 169,
+ 14,
+ 126,
+ 58,
+ 138,
+ 73,
+ 250,
+ 195,
+ 70,
+ 82,
+ 114,
+ 110,
+ 221
+ ],
+ "ciphertext": [
+ 44,
+ 130,
+ 26,
+ 14,
+ 182,
+ 28,
+ 189,
+ 176,
+ 159,
+ 132,
+ 240,
+ 134,
+ 246,
+ 150,
+ 82,
+ 179,
+ 138,
+ 201,
+ 208,
+ 122,
+ 144,
+ 152,
+ 95,
+ 62,
+ 243,
+ 100,
+ 130,
+ 169,
+ 239,
+ 142,
+ 219,
+ 178
+ ],
+ "tag": [
+ 230,
+ 224,
+ 66,
+ 254,
+ 8,
+ 148,
+ 223,
+ 69,
+ 183,
+ 217,
+ 137,
+ 142,
+ 150,
+ 233,
+ 185,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 141,
+ 248,
+ 67,
+ 173,
+ 147,
+ 118,
+ 215,
+ 50,
+ 97,
+ 20,
+ 20,
+ 56,
+ 153,
+ 180,
+ 202,
+ 111
+ ],
+ "nonce": [
+ 205,
+ 243,
+ 184,
+ 134,
+ 19,
+ 228,
+ 133,
+ 254,
+ 104,
+ 134,
+ 231,
+ 32
+ ],
+ "aad": [
+ 229,
+ 189,
+ 127,
+ 168,
+ 165,
+ 111,
+ 60,
+ 21,
+ 81,
+ 32,
+ 243,
+ 188,
+ 203,
+ 15,
+ 165,
+ 87,
+ 6,
+ 62,
+ 123,
+ 185,
+ 81,
+ 124,
+ 208,
+ 77,
+ 153,
+ 150,
+ 83,
+ 62,
+ 243,
+ 146,
+ 78,
+ 230,
+ 25,
+ 126,
+ 231,
+ 81,
+ 44,
+ 110,
+ 240,
+ 157,
+ 33,
+ 119,
+ 231,
+ 91,
+ 73,
+ 9,
+ 198,
+ 207,
+ 240,
+ 232,
+ 108,
+ 218,
+ 220,
+ 226,
+ 14,
+ 39,
+ 154,
+ 5,
+ 3,
+ 149,
+ 111,
+ 76,
+ 33,
+ 150,
+ 57,
+ 26,
+ 143,
+ 254,
+ 194,
+ 209,
+ 122,
+ 29,
+ 102,
+ 20,
+ 190,
+ 120,
+ 71,
+ 205,
+ 17,
+ 77,
+ 247,
+ 11,
+ 147,
+ 149,
+ 159,
+ 23,
+ 101,
+ 130,
+ 101,
+ 146
+ ],
+ "plaintext": [
+ 193,
+ 252,
+ 253,
+ 163,
+ 39,
+ 83,
+ 61,
+ 23,
+ 225,
+ 166,
+ 172,
+ 126,
+ 37,
+ 204,
+ 160,
+ 37,
+ 70,
+ 198,
+ 102,
+ 53,
+ 161,
+ 21,
+ 207,
+ 63,
+ 109,
+ 0,
+ 142,
+ 186,
+ 85,
+ 148,
+ 125,
+ 96
+ ],
+ "ciphertext": [
+ 113,
+ 184,
+ 34,
+ 182,
+ 211,
+ 156,
+ 154,
+ 128,
+ 26,
+ 76,
+ 42,
+ 44,
+ 145,
+ 115,
+ 176,
+ 243,
+ 217,
+ 181,
+ 12,
+ 241,
+ 142,
+ 142,
+ 149,
+ 41,
+ 17,
+ 54,
+ 82,
+ 122,
+ 151,
+ 120,
+ 237,
+ 194
+ ],
+ "tag": [
+ 181,
+ 132,
+ 167,
+ 229,
+ 29,
+ 64,
+ 171,
+ 40,
+ 115,
+ 44,
+ 17,
+ 237,
+ 96,
+ 39,
+ 48,
+ 165
+ ]
+ },
+ {
+ "key": [
+ 100,
+ 180,
+ 61,
+ 252,
+ 220,
+ 243,
+ 13,
+ 251,
+ 151,
+ 55,
+ 61,
+ 117,
+ 208,
+ 154,
+ 183,
+ 51
+ ],
+ "nonce": [
+ 147,
+ 89,
+ 216,
+ 83,
+ 97,
+ 163,
+ 228,
+ 193,
+ 16,
+ 215,
+ 21,
+ 244
+ ],
+ "aad": [
+ 1,
+ 172,
+ 238,
+ 98,
+ 150,
+ 71,
+ 129,
+ 52,
+ 153,
+ 146,
+ 128,
+ 237,
+ 71,
+ 165,
+ 188,
+ 101,
+ 221,
+ 81,
+ 34,
+ 197,
+ 211,
+ 80,
+ 146,
+ 223,
+ 84,
+ 113,
+ 137,
+ 0,
+ 208,
+ 76,
+ 251,
+ 129,
+ 69,
+ 123,
+ 169,
+ 236,
+ 157,
+ 1,
+ 229,
+ 93,
+ 216,
+ 166,
+ 93,
+ 107,
+ 56,
+ 101,
+ 250,
+ 14,
+ 122,
+ 69,
+ 56,
+ 47,
+ 40,
+ 124,
+ 104,
+ 140,
+ 81,
+ 255,
+ 204,
+ 149,
+ 25,
+ 69,
+ 227,
+ 233,
+ 200,
+ 123,
+ 3,
+ 197,
+ 84,
+ 92,
+ 236,
+ 13,
+ 150,
+ 105,
+ 38,
+ 184,
+ 238,
+ 4,
+ 83,
+ 182,
+ 159,
+ 37,
+ 206,
+ 159,
+ 223,
+ 10,
+ 48,
+ 101,
+ 200,
+ 30
+ ],
+ "plaintext": [
+ 124,
+ 92,
+ 148,
+ 172,
+ 123,
+ 19,
+ 130,
+ 115,
+ 222,
+ 118,
+ 141,
+ 43,
+ 218,
+ 22,
+ 190,
+ 240,
+ 119,
+ 71,
+ 153,
+ 223,
+ 51,
+ 63,
+ 221,
+ 26,
+ 117,
+ 110,
+ 52,
+ 78,
+ 195,
+ 95,
+ 40,
+ 68
+ ],
+ "ciphertext": [
+ 95,
+ 154,
+ 166,
+ 21,
+ 225,
+ 59,
+ 123,
+ 88,
+ 91,
+ 220,
+ 45,
+ 76,
+ 58,
+ 131,
+ 209,
+ 48,
+ 77,
+ 111,
+ 120,
+ 235,
+ 186,
+ 13,
+ 91,
+ 50,
+ 157,
+ 134,
+ 202,
+ 115,
+ 10,
+ 81,
+ 87,
+ 2
+ ],
+ "tag": [
+ 60,
+ 191,
+ 159,
+ 165,
+ 48,
+ 176,
+ 73,
+ 224,
+ 103,
+ 134,
+ 132,
+ 51,
+ 48,
+ 116,
+ 37,
+ 219
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 169,
+ 81,
+ 41,
+ 93,
+ 68,
+ 40,
+ 144,
+ 42,
+ 92,
+ 206,
+ 143,
+ 226,
+ 6,
+ 135,
+ 99
+ ],
+ "nonce": [
+ 138,
+ 237,
+ 53,
+ 174,
+ 74,
+ 231,
+ 20,
+ 207,
+ 117,
+ 110,
+ 104,
+ 107
+ ],
+ "aad": [
+ 129,
+ 134,
+ 120,
+ 138,
+ 147,
+ 167,
+ 100,
+ 168,
+ 102,
+ 148,
+ 74,
+ 32,
+ 86,
+ 39,
+ 154,
+ 215,
+ 241,
+ 210,
+ 8,
+ 58,
+ 150,
+ 206,
+ 34,
+ 79,
+ 230,
+ 222,
+ 96,
+ 231,
+ 11,
+ 23,
+ 219,
+ 24,
+ 2,
+ 42,
+ 21,
+ 4,
+ 225,
+ 191,
+ 69,
+ 195,
+ 38,
+ 198,
+ 214,
+ 153,
+ 45,
+ 140,
+ 0,
+ 91,
+ 103,
+ 87,
+ 21,
+ 1,
+ 110,
+ 0,
+ 236,
+ 150,
+ 91,
+ 57,
+ 139,
+ 46,
+ 164,
+ 171,
+ 9,
+ 204,
+ 162,
+ 172,
+ 74,
+ 195,
+ 18,
+ 230,
+ 132,
+ 12,
+ 224,
+ 10,
+ 54,
+ 246,
+ 70,
+ 112,
+ 40,
+ 50,
+ 143,
+ 163,
+ 13,
+ 64,
+ 134,
+ 229,
+ 188,
+ 182,
+ 119,
+ 186
+ ],
+ "plaintext": [
+ 0,
+ 41,
+ 183,
+ 73,
+ 180,
+ 219,
+ 71,
+ 125,
+ 207,
+ 71,
+ 208,
+ 41,
+ 110,
+ 184,
+ 136,
+ 6,
+ 239,
+ 11,
+ 86,
+ 6,
+ 13,
+ 89,
+ 142,
+ 72,
+ 201,
+ 181,
+ 166,
+ 249,
+ 208,
+ 70,
+ 64,
+ 77
+ ],
+ "ciphertext": [
+ 121,
+ 44,
+ 209,
+ 161,
+ 67,
+ 48,
+ 79,
+ 199,
+ 55,
+ 208,
+ 115,
+ 155,
+ 229,
+ 43,
+ 46,
+ 97,
+ 132,
+ 26,
+ 144,
+ 137,
+ 99,
+ 131,
+ 44,
+ 255,
+ 6,
+ 171,
+ 110,
+ 197,
+ 133,
+ 190,
+ 100,
+ 103
+ ],
+ "tag": [
+ 225,
+ 187,
+ 62,
+ 172,
+ 127,
+ 87,
+ 0,
+ 85,
+ 252,
+ 45,
+ 47,
+ 5,
+ 136,
+ 196,
+ 147,
+ 94
+ ]
+ },
+ {
+ "key": [
+ 79,
+ 49,
+ 20,
+ 113,
+ 12,
+ 14,
+ 127,
+ 57,
+ 59,
+ 145,
+ 201,
+ 130,
+ 190,
+ 179,
+ 207,
+ 204
+ ],
+ "nonce": [
+ 3,
+ 153,
+ 77,
+ 11,
+ 36,
+ 79,
+ 148,
+ 209,
+ 60,
+ 237,
+ 206,
+ 144
+ ],
+ "aad": [
+ 210,
+ 148,
+ 249,
+ 57,
+ 54,
+ 26,
+ 241,
+ 191,
+ 245,
+ 103,
+ 74,
+ 82,
+ 53,
+ 186,
+ 62,
+ 121,
+ 191,
+ 48,
+ 165,
+ 52,
+ 27,
+ 134,
+ 52,
+ 181,
+ 218,
+ 198,
+ 19,
+ 233,
+ 165,
+ 103,
+ 204,
+ 206,
+ 1,
+ 176,
+ 89,
+ 98,
+ 130,
+ 234,
+ 88,
+ 78,
+ 87,
+ 151,
+ 25,
+ 32,
+ 107,
+ 35,
+ 19,
+ 246,
+ 103,
+ 94,
+ 120,
+ 52,
+ 248,
+ 166,
+ 217,
+ 65,
+ 225,
+ 100,
+ 22,
+ 158,
+ 151,
+ 100,
+ 140,
+ 231,
+ 121,
+ 104,
+ 171,
+ 78,
+ 205,
+ 251,
+ 61,
+ 99,
+ 152,
+ 152,
+ 70,
+ 138,
+ 30,
+ 141,
+ 40,
+ 90,
+ 147,
+ 39,
+ 220,
+ 149,
+ 128,
+ 147,
+ 235,
+ 51,
+ 248,
+ 177
+ ],
+ "plaintext": [
+ 54,
+ 131,
+ 23,
+ 68,
+ 253,
+ 28,
+ 23,
+ 165,
+ 223,
+ 101,
+ 166,
+ 61,
+ 102,
+ 66,
+ 80,
+ 32,
+ 117,
+ 160,
+ 16,
+ 159,
+ 15,
+ 12,
+ 9,
+ 63,
+ 243,
+ 53,
+ 5,
+ 20,
+ 3,
+ 113,
+ 19,
+ 108
+ ],
+ "ciphertext": [
+ 85,
+ 126,
+ 120,
+ 53,
+ 14,
+ 190,
+ 83,
+ 209,
+ 183,
+ 193,
+ 101,
+ 38,
+ 105,
+ 98,
+ 29,
+ 183,
+ 167,
+ 26,
+ 143,
+ 226,
+ 192,
+ 168,
+ 78,
+ 97,
+ 186,
+ 223,
+ 45,
+ 217,
+ 240,
+ 52,
+ 185,
+ 27
+ ],
+ "tag": [
+ 188,
+ 108,
+ 31,
+ 19,
+ 34,
+ 6,
+ 78,
+ 171,
+ 117,
+ 115,
+ 112,
+ 103,
+ 151,
+ 61,
+ 86,
+ 167
+ ]
+ },
+ {
+ "key": [
+ 240,
+ 10,
+ 3,
+ 78,
+ 162,
+ 247,
+ 50,
+ 134,
+ 63,
+ 144,
+ 48,
+ 37,
+ 124,
+ 141,
+ 203,
+ 249
+ ],
+ "nonce": [
+ 43,
+ 210,
+ 136,
+ 252,
+ 47,
+ 171,
+ 186,
+ 108,
+ 68,
+ 160,
+ 71,
+ 5
+ ],
+ "aad": [
+ 49,
+ 45,
+ 224,
+ 39,
+ 37,
+ 165,
+ 59,
+ 138,
+ 61,
+ 202,
+ 127,
+ 2,
+ 135,
+ 109,
+ 217,
+ 164,
+ 102,
+ 93,
+ 231,
+ 163,
+ 243,
+ 218,
+ 183,
+ 228,
+ 172,
+ 55,
+ 183,
+ 29,
+ 157,
+ 2,
+ 71,
+ 136,
+ 41,
+ 202,
+ 56,
+ 211,
+ 236,
+ 118,
+ 215,
+ 121,
+ 46,
+ 179,
+ 36,
+ 120,
+ 185,
+ 37,
+ 82,
+ 233,
+ 1,
+ 84,
+ 207,
+ 86,
+ 8,
+ 220,
+ 173,
+ 79,
+ 51,
+ 73,
+ 96,
+ 97,
+ 22,
+ 26,
+ 249,
+ 51,
+ 208,
+ 102,
+ 225,
+ 70,
+ 136,
+ 141,
+ 27,
+ 127,
+ 169,
+ 176,
+ 197,
+ 37,
+ 93,
+ 89,
+ 168,
+ 253,
+ 216,
+ 141,
+ 166,
+ 56,
+ 208,
+ 110,
+ 230,
+ 209,
+ 109,
+ 147
+ ],
+ "plaintext": [
+ 133,
+ 71,
+ 32,
+ 145,
+ 163,
+ 126,
+ 197,
+ 243,
+ 125,
+ 80,
+ 252,
+ 9,
+ 251,
+ 107,
+ 157,
+ 128,
+ 53,
+ 119,
+ 34,
+ 123,
+ 76,
+ 7,
+ 154,
+ 230,
+ 74,
+ 146,
+ 100,
+ 231,
+ 167,
+ 132,
+ 196,
+ 252
+ ],
+ "ciphertext": [
+ 154,
+ 162,
+ 120,
+ 16,
+ 195,
+ 118,
+ 26,
+ 225,
+ 117,
+ 86,
+ 3,
+ 64,
+ 20,
+ 70,
+ 16,
+ 199,
+ 210,
+ 99,
+ 173,
+ 53,
+ 35,
+ 78,
+ 204,
+ 85,
+ 254,
+ 237,
+ 28,
+ 93,
+ 211,
+ 164,
+ 218,
+ 223
+ ],
+ "tag": [
+ 2,
+ 114,
+ 77,
+ 20,
+ 167,
+ 220,
+ 181,
+ 239,
+ 129,
+ 206,
+ 138,
+ 169,
+ 55,
+ 241,
+ 65,
+ 157
+ ]
+ },
+ {
+ "key": [
+ 73,
+ 223,
+ 189,
+ 54,
+ 138,
+ 84,
+ 23,
+ 33,
+ 214,
+ 205,
+ 91,
+ 37,
+ 19,
+ 236,
+ 96,
+ 135
+ ],
+ "nonce": [
+ 139,
+ 2,
+ 20,
+ 236,
+ 58,
+ 106,
+ 106,
+ 246,
+ 91,
+ 232,
+ 76,
+ 235
+ ],
+ "aad": [
+ 109,
+ 61,
+ 200,
+ 106,
+ 244,
+ 187,
+ 158,
+ 146,
+ 175,
+ 13,
+ 236,
+ 140,
+ 234,
+ 152,
+ 20,
+ 129,
+ 52,
+ 31,
+ 55,
+ 190,
+ 69,
+ 112,
+ 147,
+ 217,
+ 138,
+ 129,
+ 141,
+ 140,
+ 180,
+ 182,
+ 139,
+ 159,
+ 113,
+ 151,
+ 177,
+ 250,
+ 49,
+ 1,
+ 71,
+ 112,
+ 31,
+ 4,
+ 121,
+ 73,
+ 175,
+ 65,
+ 208,
+ 178,
+ 38,
+ 175,
+ 74,
+ 59,
+ 11,
+ 146,
+ 229,
+ 52,
+ 34,
+ 36,
+ 118,
+ 109,
+ 171,
+ 120,
+ 48,
+ 225,
+ 104,
+ 122,
+ 163,
+ 145,
+ 138,
+ 137,
+ 212,
+ 211,
+ 181,
+ 13,
+ 105,
+ 89,
+ 89,
+ 68,
+ 244,
+ 146,
+ 211,
+ 214,
+ 139,
+ 54,
+ 9,
+ 202,
+ 89,
+ 78,
+ 127,
+ 38
+ ],
+ "plaintext": [
+ 239,
+ 108,
+ 255,
+ 8,
+ 203,
+ 203,
+ 99,
+ 167,
+ 46,
+ 132,
+ 19,
+ 64,
+ 81,
+ 63,
+ 78,
+ 40,
+ 154,
+ 211,
+ 78,
+ 137,
+ 115,
+ 55,
+ 49,
+ 69,
+ 108,
+ 191,
+ 188,
+ 154,
+ 135,
+ 178,
+ 15,
+ 155
+ ],
+ "ciphertext": [
+ 224,
+ 128,
+ 46,
+ 96,
+ 247,
+ 58,
+ 162,
+ 253,
+ 102,
+ 156,
+ 245,
+ 135,
+ 14,
+ 150,
+ 59,
+ 31,
+ 51,
+ 112,
+ 122,
+ 212,
+ 204,
+ 85,
+ 31,
+ 101,
+ 139,
+ 24,
+ 187,
+ 114,
+ 253,
+ 124,
+ 217,
+ 227
+ ],
+ "tag": [
+ 205,
+ 109,
+ 154,
+ 51,
+ 69,
+ 138,
+ 199,
+ 9,
+ 56,
+ 90,
+ 207,
+ 188,
+ 255,
+ 164,
+ 87,
+ 229
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 15,
+ 87,
+ 152,
+ 36,
+ 73,
+ 250,
+ 211,
+ 57,
+ 199,
+ 172,
+ 95,
+ 101,
+ 1,
+ 185,
+ 236
+ ],
+ "nonce": [
+ 77,
+ 182,
+ 48,
+ 27,
+ 99,
+ 139,
+ 171,
+ 106,
+ 131,
+ 48,
+ 1,
+ 235
+ ],
+ "aad": [
+ 234,
+ 56,
+ 114,
+ 176,
+ 212,
+ 141,
+ 173,
+ 100,
+ 154,
+ 135,
+ 106,
+ 107,
+ 54,
+ 114,
+ 233,
+ 199,
+ 255,
+ 205,
+ 105,
+ 105,
+ 90,
+ 77,
+ 46,
+ 177,
+ 133,
+ 62,
+ 213,
+ 194,
+ 110,
+ 202,
+ 14,
+ 143,
+ 33,
+ 56,
+ 85,
+ 99,
+ 212,
+ 45,
+ 254,
+ 242,
+ 225,
+ 67,
+ 14,
+ 6,
+ 86,
+ 27,
+ 142,
+ 11,
+ 115,
+ 181,
+ 246,
+ 43,
+ 165,
+ 26,
+ 74,
+ 202,
+ 120,
+ 197,
+ 108,
+ 6,
+ 196,
+ 121,
+ 150,
+ 28,
+ 61,
+ 33,
+ 193,
+ 250,
+ 56,
+ 35,
+ 207,
+ 128,
+ 20,
+ 95,
+ 123,
+ 36,
+ 228,
+ 116,
+ 1,
+ 39,
+ 233,
+ 233,
+ 150,
+ 15,
+ 162,
+ 72,
+ 14,
+ 54,
+ 228,
+ 196
+ ],
+ "plaintext": [
+ 209,
+ 213,
+ 225,
+ 243,
+ 216,
+ 180,
+ 145,
+ 178,
+ 52,
+ 93,
+ 74,
+ 2,
+ 10,
+ 221,
+ 147,
+ 227,
+ 21,
+ 150,
+ 165,
+ 162,
+ 4,
+ 4,
+ 95,
+ 117,
+ 250,
+ 213,
+ 51,
+ 5,
+ 214,
+ 181,
+ 170,
+ 181
+ ],
+ "ciphertext": [
+ 50,
+ 197,
+ 8,
+ 37,
+ 20,
+ 148,
+ 208,
+ 94,
+ 217,
+ 65,
+ 59,
+ 0,
+ 17,
+ 160,
+ 40,
+ 161,
+ 187,
+ 155,
+ 247,
+ 225,
+ 143,
+ 114,
+ 222,
+ 75,
+ 117,
+ 12,
+ 199,
+ 171,
+ 150,
+ 236,
+ 3,
+ 77
+ ],
+ "tag": [
+ 39,
+ 201,
+ 148,
+ 104,
+ 8,
+ 16,
+ 247,
+ 181,
+ 56,
+ 195,
+ 123,
+ 85,
+ 27,
+ 47,
+ 23,
+ 223
+ ]
+ },
+ {
+ "key": [
+ 139,
+ 178,
+ 170,
+ 50,
+ 25,
+ 198,
+ 4,
+ 84,
+ 75,
+ 65,
+ 135,
+ 212,
+ 145,
+ 88,
+ 109,
+ 159
+ ],
+ "nonce": [
+ 52,
+ 29,
+ 118,
+ 218,
+ 110,
+ 48,
+ 148,
+ 252,
+ 53,
+ 112,
+ 174,
+ 120
+ ],
+ "aad": [
+ 105,
+ 197,
+ 233,
+ 140,
+ 173,
+ 154,
+ 163,
+ 50,
+ 116,
+ 68,
+ 185,
+ 98,
+ 94,
+ 171,
+ 205,
+ 8,
+ 99,
+ 103,
+ 230,
+ 65,
+ 112,
+ 211,
+ 92,
+ 69,
+ 134,
+ 250,
+ 56,
+ 90,
+ 57,
+ 107,
+ 21,
+ 148,
+ 37,
+ 248,
+ 221,
+ 57,
+ 105,
+ 68,
+ 101,
+ 41,
+ 214,
+ 81,
+ 206,
+ 90,
+ 59,
+ 100,
+ 50,
+ 82,
+ 148,
+ 135,
+ 249,
+ 29,
+ 25,
+ 61,
+ 5,
+ 210,
+ 227,
+ 69,
+ 162,
+ 139,
+ 80,
+ 223,
+ 252,
+ 204,
+ 3,
+ 150,
+ 247,
+ 110,
+ 65,
+ 128,
+ 134,
+ 225,
+ 254,
+ 39,
+ 104,
+ 227,
+ 64,
+ 193,
+ 252,
+ 255,
+ 219,
+ 41,
+ 233,
+ 81,
+ 72,
+ 41,
+ 84,
+ 136,
+ 35,
+ 243
+ ],
+ "plaintext": [
+ 39,
+ 74,
+ 32,
+ 151,
+ 112,
+ 140,
+ 83,
+ 253,
+ 42,
+ 129,
+ 68,
+ 78,
+ 19,
+ 40,
+ 86,
+ 145,
+ 238,
+ 193,
+ 146,
+ 194,
+ 35,
+ 184,
+ 77,
+ 201,
+ 130,
+ 76,
+ 103,
+ 237,
+ 58,
+ 5,
+ 11,
+ 169
+ ],
+ "ciphertext": [
+ 237,
+ 135,
+ 117,
+ 0,
+ 31,
+ 51,
+ 186,
+ 253,
+ 177,
+ 239,
+ 87,
+ 118,
+ 152,
+ 17,
+ 110,
+ 154,
+ 230,
+ 86,
+ 8,
+ 95,
+ 202,
+ 139,
+ 150,
+ 151,
+ 64,
+ 199,
+ 198,
+ 151,
+ 69,
+ 15,
+ 152,
+ 121
+ ],
+ "tag": [
+ 108,
+ 137,
+ 54,
+ 196,
+ 45,
+ 196,
+ 99,
+ 33,
+ 105,
+ 93,
+ 58,
+ 242,
+ 163,
+ 58,
+ 218,
+ 20
+ ]
+ },
+ {
+ "key": [
+ 77,
+ 129,
+ 84,
+ 66,
+ 109,
+ 27,
+ 18,
+ 234,
+ 249,
+ 141,
+ 9,
+ 172,
+ 5,
+ 177,
+ 249,
+ 228
+ ],
+ "nonce": [
+ 35,
+ 227,
+ 145,
+ 107,
+ 157,
+ 100,
+ 249,
+ 141,
+ 18,
+ 46,
+ 107,
+ 230
+ ],
+ "aad": [
+ 35,
+ 85,
+ 99,
+ 27,
+ 157,
+ 72,
+ 127,
+ 74,
+ 126,
+ 201,
+ 141,
+ 73,
+ 127,
+ 37,
+ 28,
+ 183,
+ 154,
+ 207,
+ 197,
+ 140,
+ 5,
+ 23,
+ 213,
+ 231,
+ 185,
+ 42,
+ 26,
+ 187,
+ 174,
+ 106,
+ 231,
+ 53,
+ 59,
+ 135,
+ 77,
+ 2,
+ 250,
+ 175,
+ 100,
+ 16,
+ 67,
+ 133,
+ 57,
+ 224,
+ 39,
+ 16,
+ 228,
+ 215,
+ 205,
+ 173,
+ 166,
+ 134,
+ 135,
+ 31,
+ 239,
+ 117,
+ 130,
+ 213,
+ 98,
+ 243,
+ 132,
+ 165,
+ 113,
+ 206,
+ 30,
+ 220,
+ 104,
+ 239,
+ 253,
+ 185,
+ 50,
+ 70,
+ 46,
+ 100,
+ 140,
+ 113,
+ 43,
+ 78,
+ 29,
+ 78,
+ 46,
+ 70,
+ 113,
+ 138,
+ 189,
+ 60,
+ 197,
+ 151,
+ 58,
+ 160
+ ],
+ "plaintext": [
+ 216,
+ 166,
+ 156,
+ 87,
+ 150,
+ 156,
+ 101,
+ 81,
+ 195,
+ 40,
+ 103,
+ 95,
+ 125,
+ 119,
+ 47,
+ 170,
+ 214,
+ 194,
+ 198,
+ 132,
+ 59,
+ 244,
+ 178,
+ 9,
+ 228,
+ 131,
+ 251,
+ 223,
+ 197,
+ 239,
+ 202,
+ 164
+ ],
+ "ciphertext": [
+ 47,
+ 165,
+ 60,
+ 111,
+ 209,
+ 132,
+ 109,
+ 184,
+ 16,
+ 2,
+ 233,
+ 193,
+ 77,
+ 166,
+ 52,
+ 72,
+ 11,
+ 53,
+ 34,
+ 37,
+ 233,
+ 25,
+ 10,
+ 176,
+ 61,
+ 37,
+ 152,
+ 239,
+ 73,
+ 163,
+ 178,
+ 184
+ ],
+ "tag": [
+ 164,
+ 2,
+ 63,
+ 216,
+ 208,
+ 240,
+ 118,
+ 238,
+ 213,
+ 153,
+ 47,
+ 104,
+ 11,
+ 21,
+ 68,
+ 51
+ ]
+ },
+ {
+ "key": [
+ 44,
+ 20,
+ 181,
+ 93,
+ 193,
+ 248,
+ 227,
+ 172,
+ 248,
+ 82,
+ 88,
+ 161,
+ 35,
+ 96,
+ 5,
+ 63
+ ],
+ "nonce": [
+ 91,
+ 89,
+ 48,
+ 167,
+ 246,
+ 59,
+ 26,
+ 142,
+ 196,
+ 69,
+ 223,
+ 160
+ ],
+ "aad": [
+ 220,
+ 143,
+ 183,
+ 13,
+ 58,
+ 253,
+ 60,
+ 103,
+ 201,
+ 168,
+ 107,
+ 52,
+ 103,
+ 221,
+ 250,
+ 35,
+ 41,
+ 140,
+ 101,
+ 35,
+ 235,
+ 231,
+ 239,
+ 23,
+ 183,
+ 188,
+ 219,
+ 46,
+ 241,
+ 48,
+ 198,
+ 27,
+ 213,
+ 173,
+ 202,
+ 46,
+ 235,
+ 200,
+ 151,
+ 253,
+ 65,
+ 38,
+ 71,
+ 14,
+ 10,
+ 144,
+ 136,
+ 232,
+ 238,
+ 74,
+ 96,
+ 147,
+ 144,
+ 36,
+ 185,
+ 171,
+ 199,
+ 237,
+ 85,
+ 29,
+ 14,
+ 121,
+ 33,
+ 78,
+ 222,
+ 165,
+ 102,
+ 202,
+ 77,
+ 151,
+ 1,
+ 152,
+ 249,
+ 179,
+ 162,
+ 11,
+ 104,
+ 34,
+ 244,
+ 227,
+ 15,
+ 194,
+ 203,
+ 231,
+ 101,
+ 150,
+ 160,
+ 24,
+ 23,
+ 255
+ ],
+ "plaintext": [
+ 65,
+ 167,
+ 86,
+ 157,
+ 95,
+ 63,
+ 57,
+ 174,
+ 6,
+ 84,
+ 125,
+ 14,
+ 214,
+ 129,
+ 232,
+ 146,
+ 35,
+ 130,
+ 207,
+ 201,
+ 64,
+ 188,
+ 126,
+ 85,
+ 218,
+ 32,
+ 14,
+ 191,
+ 144,
+ 91,
+ 244,
+ 118
+ ],
+ "ciphertext": [
+ 246,
+ 67,
+ 100,
+ 238,
+ 21,
+ 172,
+ 240,
+ 73,
+ 216,
+ 191,
+ 144,
+ 170,
+ 169,
+ 20,
+ 191,
+ 250,
+ 233,
+ 172,
+ 96,
+ 115,
+ 184,
+ 213,
+ 97,
+ 34,
+ 39,
+ 110,
+ 254,
+ 4,
+ 178,
+ 2,
+ 208,
+ 249
+ ],
+ "tag": [
+ 250,
+ 9,
+ 57,
+ 12,
+ 28,
+ 233,
+ 236,
+ 151,
+ 252,
+ 16,
+ 197,
+ 94,
+ 242,
+ 218,
+ 36,
+ 37
+ ]
+ },
+ {
+ "key": [
+ 89,
+ 65,
+ 87,
+ 236,
+ 70,
+ 147,
+ 32,
+ 43,
+ 3,
+ 15,
+ 51,
+ 121,
+ 139,
+ 7,
+ 23,
+ 109
+ ],
+ "nonce": [
+ 73,
+ 177,
+ 32,
+ 84,
+ 8,
+ 38,
+ 96,
+ 128,
+ 58,
+ 29,
+ 243,
+ 223
+ ],
+ "aad": [],
+ "plaintext": [
+ 63,
+ 238,
+ 249,
+ 138,
+ 151,
+ 106,
+ 27,
+ 214,
+ 52,
+ 243,
+ 100,
+ 172,
+ 66,
+ 139,
+ 181,
+ 156,
+ 213,
+ 31,
+ 177,
+ 89,
+ 236,
+ 23,
+ 137,
+ 148,
+ 105,
+ 24,
+ 219,
+ 213,
+ 14,
+ 166,
+ 201,
+ 213,
+ 148,
+ 163,
+ 163,
+ 26,
+ 82,
+ 105,
+ 176,
+ 218,
+ 105,
+ 54,
+ 194,
+ 157,
+ 6,
+ 58,
+ 95,
+ 162,
+ 204,
+ 138,
+ 28
+ ],
+ "ciphertext": [
+ 193,
+ 183,
+ 164,
+ 106,
+ 51,
+ 95,
+ 35,
+ 214,
+ 91,
+ 141,
+ 180,
+ 0,
+ 138,
+ 73,
+ 121,
+ 105,
+ 6,
+ 226,
+ 37,
+ 71,
+ 79,
+ 79,
+ 231,
+ 211,
+ 158,
+ 85,
+ 191,
+ 46,
+ 253,
+ 151,
+ 253,
+ 130,
+ 212,
+ 22,
+ 125,
+ 224,
+ 130,
+ 174,
+ 48,
+ 250,
+ 1,
+ 228,
+ 101,
+ 166,
+ 1,
+ 35,
+ 93,
+ 141,
+ 104,
+ 188,
+ 105
+ ],
+ "tag": [
+ 186,
+ 146,
+ 211,
+ 102,
+ 28,
+ 232,
+ 176,
+ 70,
+ 135,
+ 232,
+ 120,
+ 141,
+ 85,
+ 65,
+ 125,
+ 194
+ ]
+ },
+ {
+ "key": [
+ 126,
+ 106,
+ 91,
+ 109,
+ 41,
+ 106,
+ 199,
+ 167,
+ 73,
+ 75,
+ 114,
+ 201,
+ 59,
+ 173,
+ 21,
+ 206
+ ],
+ "nonce": [
+ 82,
+ 37,
+ 194,
+ 85,
+ 188,
+ 130,
+ 148,
+ 154,
+ 28,
+ 219,
+ 134,
+ 200
+ ],
+ "aad": [],
+ "plaintext": [
+ 139,
+ 212,
+ 82,
+ 99,
+ 63,
+ 157,
+ 174,
+ 6,
+ 57,
+ 254,
+ 14,
+ 103,
+ 227,
+ 100,
+ 1,
+ 173,
+ 246,
+ 91,
+ 62,
+ 223,
+ 103,
+ 153,
+ 255,
+ 158,
+ 236,
+ 128,
+ 216,
+ 92,
+ 19,
+ 200,
+ 94,
+ 14,
+ 224,
+ 148,
+ 145,
+ 212,
+ 245,
+ 172,
+ 175,
+ 138,
+ 233,
+ 32,
+ 40,
+ 24,
+ 1,
+ 162,
+ 245,
+ 209,
+ 44,
+ 147,
+ 112
+ ],
+ "ciphertext": [
+ 35,
+ 72,
+ 245,
+ 18,
+ 163,
+ 168,
+ 80,
+ 27,
+ 233,
+ 234,
+ 164,
+ 29,
+ 138,
+ 18,
+ 127,
+ 205,
+ 143,
+ 3,
+ 104,
+ 213,
+ 5,
+ 57,
+ 129,
+ 165,
+ 98,
+ 111,
+ 133,
+ 64,
+ 83,
+ 99,
+ 210,
+ 24,
+ 175,
+ 123,
+ 165,
+ 42,
+ 43,
+ 219,
+ 135,
+ 161,
+ 255,
+ 7,
+ 50,
+ 159,
+ 33,
+ 121,
+ 47,
+ 76,
+ 100,
+ 252,
+ 57
+ ],
+ "tag": [
+ 135,
+ 83,
+ 206,
+ 224,
+ 32,
+ 172,
+ 102,
+ 142,
+ 158,
+ 26,
+ 55,
+ 246,
+ 50,
+ 49,
+ 84,
+ 62
+ ]
+ },
+ {
+ "key": [
+ 13,
+ 84,
+ 231,
+ 139,
+ 224,
+ 235,
+ 166,
+ 84,
+ 70,
+ 104,
+ 39,
+ 33,
+ 54,
+ 133,
+ 103,
+ 242
+ ],
+ "nonce": [
+ 174,
+ 252,
+ 233,
+ 248,
+ 3,
+ 7,
+ 251,
+ 255,
+ 9,
+ 101,
+ 136,
+ 27
+ ],
+ "aad": [],
+ "plaintext": [
+ 91,
+ 51,
+ 91,
+ 233,
+ 122,
+ 134,
+ 200,
+ 193,
+ 162,
+ 155,
+ 116,
+ 8,
+ 131,
+ 63,
+ 117,
+ 44,
+ 140,
+ 93,
+ 76,
+ 145,
+ 46,
+ 127,
+ 38,
+ 199,
+ 59,
+ 144,
+ 146,
+ 57,
+ 225,
+ 34,
+ 47,
+ 200,
+ 81,
+ 180,
+ 227,
+ 192,
+ 172,
+ 204,
+ 81,
+ 72,
+ 204,
+ 96,
+ 175,
+ 47,
+ 1,
+ 159,
+ 158,
+ 224,
+ 6,
+ 1,
+ 49
+ ],
+ "ciphertext": [
+ 114,
+ 119,
+ 174,
+ 189,
+ 27,
+ 235,
+ 35,
+ 154,
+ 58,
+ 97,
+ 5,
+ 135,
+ 176,
+ 215,
+ 205,
+ 113,
+ 100,
+ 2,
+ 145,
+ 164,
+ 228,
+ 214,
+ 220,
+ 167,
+ 58,
+ 93,
+ 14,
+ 5,
+ 240,
+ 88,
+ 231,
+ 160,
+ 225,
+ 81,
+ 160,
+ 208,
+ 135,
+ 255,
+ 37,
+ 109,
+ 8,
+ 135,
+ 110,
+ 31,
+ 195,
+ 224,
+ 229,
+ 230,
+ 156,
+ 114,
+ 176
+ ],
+ "tag": [
+ 189,
+ 168,
+ 121,
+ 64,
+ 79,
+ 194,
+ 38,
+ 207,
+ 173,
+ 131,
+ 74,
+ 62,
+ 133,
+ 224,
+ 68,
+ 21
+ ]
+ },
+ {
+ "key": [
+ 11,
+ 219,
+ 183,
+ 152,
+ 106,
+ 96,
+ 38,
+ 209,
+ 122,
+ 157,
+ 237,
+ 119,
+ 0,
+ 131,
+ 31,
+ 89
+ ],
+ "nonce": [
+ 227,
+ 189,
+ 186,
+ 47,
+ 227,
+ 181,
+ 202,
+ 215,
+ 39,
+ 7,
+ 18,
+ 2
+ ],
+ "aad": [],
+ "plaintext": [
+ 119,
+ 236,
+ 104,
+ 181,
+ 31,
+ 94,
+ 176,
+ 242,
+ 216,
+ 13,
+ 58,
+ 246,
+ 150,
+ 98,
+ 127,
+ 54,
+ 91,
+ 110,
+ 131,
+ 230,
+ 159,
+ 16,
+ 92,
+ 123,
+ 173,
+ 142,
+ 72,
+ 105,
+ 178,
+ 40,
+ 160,
+ 196,
+ 150,
+ 170,
+ 5,
+ 201,
+ 110,
+ 151,
+ 166,
+ 191,
+ 203,
+ 51,
+ 170,
+ 23,
+ 47,
+ 34,
+ 198,
+ 191,
+ 61,
+ 81,
+ 22
+ ],
+ "ciphertext": [
+ 231,
+ 165,
+ 167,
+ 1,
+ 233,
+ 80,
+ 202,
+ 38,
+ 152,
+ 126,
+ 28,
+ 64,
+ 200,
+ 137,
+ 180,
+ 117,
+ 219,
+ 165,
+ 12,
+ 234,
+ 19,
+ 240,
+ 158,
+ 157,
+ 59,
+ 195,
+ 207,
+ 76,
+ 132,
+ 56,
+ 44,
+ 21,
+ 189,
+ 228,
+ 195,
+ 79,
+ 240,
+ 94,
+ 178,
+ 120,
+ 180,
+ 183,
+ 69,
+ 229,
+ 28,
+ 191,
+ 79,
+ 18,
+ 193,
+ 38,
+ 137
+ ],
+ "tag": [
+ 183,
+ 148,
+ 153,
+ 26,
+ 138,
+ 74,
+ 159,
+ 61,
+ 89,
+ 217,
+ 152,
+ 126,
+ 159,
+ 183,
+ 172,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 130,
+ 62,
+ 133,
+ 46,
+ 240,
+ 185,
+ 85,
+ 27,
+ 39,
+ 0,
+ 190,
+ 214,
+ 94,
+ 220,
+ 200,
+ 8
+ ],
+ "nonce": [
+ 133,
+ 121,
+ 142,
+ 229,
+ 253,
+ 51,
+ 239,
+ 117,
+ 42,
+ 54,
+ 61,
+ 133
+ ],
+ "aad": [],
+ "plaintext": [
+ 193,
+ 235,
+ 217,
+ 104,
+ 216,
+ 97,
+ 253,
+ 223,
+ 250,
+ 180,
+ 24,
+ 87,
+ 222,
+ 112,
+ 73,
+ 189,
+ 238,
+ 115,
+ 172,
+ 254,
+ 165,
+ 86,
+ 76,
+ 244,
+ 76,
+ 228,
+ 13,
+ 117,
+ 185,
+ 96,
+ 202,
+ 84,
+ 83,
+ 205,
+ 160,
+ 147,
+ 165,
+ 92,
+ 85,
+ 39,
+ 104,
+ 127,
+ 37,
+ 67,
+ 59,
+ 214,
+ 220,
+ 222,
+ 68,
+ 48,
+ 48
+ ],
+ "ciphertext": [
+ 232,
+ 233,
+ 118,
+ 232,
+ 23,
+ 90,
+ 65,
+ 236,
+ 106,
+ 98,
+ 154,
+ 34,
+ 92,
+ 242,
+ 119,
+ 161,
+ 167,
+ 226,
+ 184,
+ 57,
+ 178,
+ 245,
+ 129,
+ 200,
+ 134,
+ 152,
+ 163,
+ 147,
+ 0,
+ 228,
+ 165,
+ 78,
+ 243,
+ 129,
+ 247,
+ 180,
+ 51,
+ 224,
+ 234,
+ 154,
+ 207,
+ 254,
+ 89,
+ 128,
+ 29,
+ 81,
+ 108,
+ 212,
+ 198,
+ 17,
+ 53
+ ],
+ "tag": [
+ 204,
+ 253,
+ 192,
+ 16,
+ 189,
+ 22,
+ 221,
+ 214,
+ 81,
+ 208,
+ 161,
+ 137,
+ 37,
+ 90,
+ 112,
+ 53
+ ]
+ },
+ {
+ "key": [
+ 153,
+ 192,
+ 0,
+ 26,
+ 124,
+ 18,
+ 243,
+ 49,
+ 231,
+ 179,
+ 177,
+ 100,
+ 218,
+ 244,
+ 97,
+ 111
+ ],
+ "nonce": [
+ 56,
+ 62,
+ 141,
+ 249,
+ 219,
+ 57,
+ 140,
+ 94,
+ 152,
+ 66,
+ 37,
+ 124
+ ],
+ "aad": [],
+ "plaintext": [
+ 157,
+ 138,
+ 182,
+ 119,
+ 76,
+ 191,
+ 72,
+ 111,
+ 196,
+ 55,
+ 138,
+ 5,
+ 167,
+ 170,
+ 187,
+ 167,
+ 186,
+ 127,
+ 244,
+ 160,
+ 245,
+ 238,
+ 181,
+ 28,
+ 84,
+ 194,
+ 174,
+ 154,
+ 93,
+ 216,
+ 41,
+ 210,
+ 115,
+ 80,
+ 137,
+ 149,
+ 93,
+ 90,
+ 226,
+ 64,
+ 210,
+ 141,
+ 168,
+ 183,
+ 153,
+ 148,
+ 205,
+ 114,
+ 35,
+ 78,
+ 230
+ ],
+ "ciphertext": [
+ 35,
+ 197,
+ 227,
+ 11,
+ 64,
+ 176,
+ 148,
+ 108,
+ 245,
+ 180,
+ 223,
+ 21,
+ 64,
+ 127,
+ 242,
+ 217,
+ 115,
+ 57,
+ 122,
+ 16,
+ 233,
+ 74,
+ 48,
+ 59,
+ 113,
+ 164,
+ 165,
+ 222,
+ 7,
+ 70,
+ 68,
+ 0,
+ 106,
+ 16,
+ 252,
+ 171,
+ 25,
+ 143,
+ 134,
+ 196,
+ 21,
+ 108,
+ 89,
+ 226,
+ 137,
+ 0,
+ 185,
+ 88,
+ 239,
+ 203,
+ 138
+ ],
+ "tag": [
+ 142,
+ 205,
+ 97,
+ 150,
+ 19,
+ 121,
+ 5,
+ 38,
+ 55,
+ 41,
+ 218,
+ 252,
+ 6,
+ 134,
+ 7,
+ 32
+ ]
+ },
+ {
+ "key": [
+ 111,
+ 165,
+ 245,
+ 183,
+ 159,
+ 111,
+ 47,
+ 167,
+ 193,
+ 5,
+ 29,
+ 42,
+ 55,
+ 77,
+ 184,
+ 34
+ ],
+ "nonce": [
+ 212,
+ 102,
+ 191,
+ 207,
+ 114,
+ 120,
+ 145,
+ 67,
+ 234,
+ 222,
+ 30,
+ 132
+ ],
+ "aad": [],
+ "plaintext": [
+ 217,
+ 82,
+ 136,
+ 86,
+ 219,
+ 8,
+ 120,
+ 73,
+ 38,
+ 74,
+ 200,
+ 17,
+ 104,
+ 148,
+ 32,
+ 239,
+ 43,
+ 238,
+ 169,
+ 198,
+ 118,
+ 118,
+ 68,
+ 243,
+ 202,
+ 139,
+ 252,
+ 99,
+ 69,
+ 163,
+ 226,
+ 229,
+ 196,
+ 158,
+ 126,
+ 15,
+ 217,
+ 177,
+ 194,
+ 225,
+ 103,
+ 27,
+ 209,
+ 182,
+ 39,
+ 91,
+ 11,
+ 212,
+ 51,
+ 6,
+ 197
+ ],
+ "ciphertext": [
+ 17,
+ 40,
+ 177,
+ 218,
+ 134,
+ 183,
+ 29,
+ 60,
+ 12,
+ 185,
+ 144,
+ 79,
+ 37,
+ 19,
+ 210,
+ 50,
+ 156,
+ 3,
+ 55,
+ 84,
+ 252,
+ 13,
+ 64,
+ 248,
+ 124,
+ 223,
+ 199,
+ 238,
+ 83,
+ 219,
+ 227,
+ 171,
+ 86,
+ 87,
+ 25,
+ 200,
+ 209,
+ 220,
+ 93,
+ 51,
+ 20,
+ 18,
+ 59,
+ 201,
+ 224,
+ 150,
+ 252,
+ 133,
+ 9,
+ 184,
+ 93
+ ],
+ "tag": [
+ 25,
+ 9,
+ 43,
+ 151,
+ 118,
+ 196,
+ 161,
+ 246,
+ 227,
+ 3,
+ 84,
+ 250,
+ 81,
+ 21,
+ 220,
+ 4
+ ]
+ },
+ {
+ "key": [
+ 188,
+ 231,
+ 208,
+ 51,
+ 242,
+ 75,
+ 168,
+ 251,
+ 194,
+ 55,
+ 240,
+ 111,
+ 64,
+ 198,
+ 174,
+ 37
+ ],
+ "nonce": [
+ 192,
+ 214,
+ 137,
+ 6,
+ 233,
+ 135,
+ 254,
+ 34,
+ 52,
+ 76,
+ 174,
+ 82
+ ],
+ "aad": [],
+ "plaintext": [
+ 229,
+ 51,
+ 24,
+ 12,
+ 12,
+ 115,
+ 215,
+ 87,
+ 153,
+ 2,
+ 83,
+ 3,
+ 214,
+ 96,
+ 228,
+ 61,
+ 87,
+ 149,
+ 173,
+ 70,
+ 184,
+ 74,
+ 5,
+ 116,
+ 27,
+ 68,
+ 31,
+ 133,
+ 94,
+ 238,
+ 162,
+ 153,
+ 166,
+ 72,
+ 76,
+ 23,
+ 243,
+ 158,
+ 136,
+ 74,
+ 238,
+ 40,
+ 183,
+ 211,
+ 132,
+ 175,
+ 180,
+ 156,
+ 19,
+ 76,
+ 115
+ ],
+ "ciphertext": [
+ 71,
+ 35,
+ 218,
+ 165,
+ 22,
+ 185,
+ 32,
+ 236,
+ 3,
+ 157,
+ 216,
+ 192,
+ 112,
+ 74,
+ 55,
+ 240,
+ 187,
+ 173,
+ 147,
+ 64,
+ 167,
+ 233,
+ 135,
+ 136,
+ 141,
+ 177,
+ 32,
+ 69,
+ 156,
+ 57,
+ 204,
+ 6,
+ 149,
+ 84,
+ 99,
+ 138,
+ 182,
+ 179,
+ 44,
+ 255,
+ 88,
+ 94,
+ 213,
+ 142,
+ 45,
+ 124,
+ 24,
+ 8,
+ 34,
+ 151,
+ 118
+ ],
+ "tag": [
+ 26,
+ 230,
+ 18,
+ 228,
+ 118,
+ 245,
+ 190,
+ 185,
+ 159,
+ 101,
+ 170,
+ 155,
+ 95,
+ 2,
+ 179,
+ 219
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 138,
+ 5,
+ 205,
+ 38,
+ 33,
+ 233,
+ 56,
+ 92,
+ 161,
+ 17,
+ 243,
+ 161,
+ 104,
+ 253,
+ 171
+ ],
+ "nonce": [
+ 161,
+ 106,
+ 239,
+ 131,
+ 219,
+ 189,
+ 95,
+ 105,
+ 194,
+ 86,
+ 145,
+ 3
+ ],
+ "aad": [],
+ "plaintext": [
+ 158,
+ 118,
+ 29,
+ 75,
+ 123,
+ 220,
+ 226,
+ 184,
+ 81,
+ 229,
+ 8,
+ 247,
+ 127,
+ 175,
+ 68,
+ 127,
+ 248,
+ 53,
+ 5,
+ 117,
+ 84,
+ 148,
+ 241,
+ 187,
+ 81,
+ 105,
+ 220,
+ 35,
+ 187,
+ 2,
+ 217,
+ 186,
+ 143,
+ 184,
+ 180,
+ 135,
+ 140,
+ 138,
+ 71,
+ 223,
+ 209,
+ 78,
+ 160,
+ 220,
+ 239,
+ 62,
+ 131,
+ 198,
+ 136,
+ 229,
+ 151
+ ],
+ "ciphertext": [
+ 126,
+ 173,
+ 107,
+ 222,
+ 150,
+ 76,
+ 53,
+ 252,
+ 245,
+ 222,
+ 35,
+ 241,
+ 151,
+ 37,
+ 56,
+ 118,
+ 1,
+ 247,
+ 5,
+ 172,
+ 17,
+ 197,
+ 254,
+ 31,
+ 197,
+ 49,
+ 116,
+ 107,
+ 242,
+ 216,
+ 113,
+ 253,
+ 165,
+ 66,
+ 100,
+ 166,
+ 35,
+ 199,
+ 14,
+ 114,
+ 181,
+ 181,
+ 236,
+ 173,
+ 196,
+ 67,
+ 79,
+ 158,
+ 105,
+ 111,
+ 252
+ ],
+ "tag": [
+ 47,
+ 19,
+ 228,
+ 189,
+ 152,
+ 131,
+ 199,
+ 71,
+ 240,
+ 199,
+ 156,
+ 145,
+ 230,
+ 97,
+ 170,
+ 143
+ ]
+ },
+ {
+ "key": [
+ 220,
+ 27,
+ 133,
+ 105,
+ 168,
+ 4,
+ 110,
+ 63,
+ 41,
+ 76,
+ 60,
+ 202,
+ 1,
+ 143,
+ 102,
+ 19
+ ],
+ "nonce": [
+ 91,
+ 60,
+ 187,
+ 224,
+ 233,
+ 72,
+ 219,
+ 142,
+ 254,
+ 66,
+ 6,
+ 46
+ ],
+ "aad": [],
+ "plaintext": [
+ 106,
+ 58,
+ 26,
+ 152,
+ 21,
+ 105,
+ 1,
+ 6,
+ 209,
+ 144,
+ 139,
+ 199,
+ 230,
+ 62,
+ 37,
+ 191,
+ 216,
+ 1,
+ 144,
+ 14,
+ 148,
+ 169,
+ 251,
+ 194,
+ 139,
+ 109,
+ 82,
+ 184,
+ 249,
+ 180,
+ 222,
+ 112,
+ 3,
+ 176,
+ 102,
+ 187,
+ 177,
+ 139,
+ 186,
+ 51,
+ 218,
+ 131,
+ 198,
+ 120,
+ 9,
+ 227,
+ 188,
+ 249,
+ 139,
+ 92,
+ 188
+ ],
+ "ciphertext": [
+ 176,
+ 42,
+ 37,
+ 58,
+ 23,
+ 251,
+ 146,
+ 72,
+ 39,
+ 124,
+ 174,
+ 3,
+ 5,
+ 71,
+ 56,
+ 112,
+ 193,
+ 158,
+ 112,
+ 183,
+ 147,
+ 10,
+ 11,
+ 233,
+ 190,
+ 144,
+ 84,
+ 35,
+ 71,
+ 148,
+ 19,
+ 219,
+ 227,
+ 112,
+ 47,
+ 66,
+ 2,
+ 77,
+ 105,
+ 71,
+ 100,
+ 21,
+ 41,
+ 11,
+ 20,
+ 34,
+ 242,
+ 192,
+ 48,
+ 233,
+ 158
+ ],
+ "tag": [
+ 240,
+ 251,
+ 133,
+ 227,
+ 214,
+ 179,
+ 165,
+ 221,
+ 197,
+ 218,
+ 62,
+ 199,
+ 151,
+ 247,
+ 88,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 190,
+ 241,
+ 84,
+ 179,
+ 202,
+ 33,
+ 103,
+ 35,
+ 13,
+ 175,
+ 59,
+ 130,
+ 5,
+ 241,
+ 30
+ ],
+ "nonce": [
+ 224,
+ 220,
+ 35,
+ 170,
+ 80,
+ 165,
+ 44,
+ 174,
+ 100,
+ 72,
+ 116,
+ 176
+ ],
+ "aad": [],
+ "plaintext": [
+ 184,
+ 203,
+ 7,
+ 14,
+ 191,
+ 91,
+ 39,
+ 165,
+ 31,
+ 20,
+ 242,
+ 44,
+ 107,
+ 56,
+ 252,
+ 41,
+ 208,
+ 76,
+ 67,
+ 28,
+ 72,
+ 76,
+ 17,
+ 122,
+ 210,
+ 80,
+ 236,
+ 79,
+ 151,
+ 252,
+ 77,
+ 244,
+ 75,
+ 14,
+ 200,
+ 71,
+ 182,
+ 154,
+ 54,
+ 57,
+ 99,
+ 212,
+ 25,
+ 206,
+ 154,
+ 209,
+ 26,
+ 50,
+ 22,
+ 134,
+ 176
+ ],
+ "ciphertext": [
+ 76,
+ 9,
+ 24,
+ 232,
+ 107,
+ 21,
+ 43,
+ 226,
+ 196,
+ 223,
+ 227,
+ 108,
+ 120,
+ 184,
+ 165,
+ 89,
+ 194,
+ 199,
+ 248,
+ 63,
+ 167,
+ 119,
+ 109,
+ 3,
+ 65,
+ 49,
+ 138,
+ 6,
+ 92,
+ 42,
+ 47,
+ 27,
+ 38,
+ 120,
+ 170,
+ 175,
+ 247,
+ 108,
+ 173,
+ 48,
+ 204,
+ 170,
+ 29,
+ 205,
+ 3,
+ 165,
+ 187,
+ 22,
+ 208,
+ 15,
+ 63
+ ],
+ "tag": [
+ 121,
+ 38,
+ 123,
+ 223,
+ 112,
+ 231,
+ 78,
+ 170,
+ 1,
+ 30,
+ 136,
+ 147,
+ 105,
+ 245,
+ 131,
+ 29
+ ]
+ },
+ {
+ "key": [
+ 215,
+ 233,
+ 81,
+ 9,
+ 18,
+ 126,
+ 131,
+ 180,
+ 212,
+ 60,
+ 129,
+ 215,
+ 239,
+ 109,
+ 89,
+ 114
+ ],
+ "nonce": [
+ 67,
+ 172,
+ 13,
+ 136,
+ 149,
+ 237,
+ 120,
+ 94,
+ 44,
+ 182,
+ 157,
+ 72
+ ],
+ "aad": [],
+ "plaintext": [
+ 178,
+ 96,
+ 31,
+ 33,
+ 107,
+ 94,
+ 111,
+ 96,
+ 197,
+ 24,
+ 220,
+ 129,
+ 124,
+ 56,
+ 190,
+ 148,
+ 10,
+ 192,
+ 59,
+ 171,
+ 242,
+ 230,
+ 245,
+ 221,
+ 202,
+ 8,
+ 116,
+ 232,
+ 25,
+ 249,
+ 170,
+ 190,
+ 4,
+ 100,
+ 96,
+ 227,
+ 204,
+ 246,
+ 81,
+ 21,
+ 102,
+ 187,
+ 222,
+ 45,
+ 155,
+ 25,
+ 31,
+ 193,
+ 106,
+ 196,
+ 182
+ ],
+ "ciphertext": [
+ 149,
+ 126,
+ 113,
+ 45,
+ 195,
+ 74,
+ 216,
+ 145,
+ 205,
+ 179,
+ 173,
+ 204,
+ 230,
+ 43,
+ 4,
+ 84,
+ 234,
+ 233,
+ 199,
+ 146,
+ 230,
+ 78,
+ 180,
+ 224,
+ 134,
+ 36,
+ 222,
+ 16,
+ 48,
+ 137,
+ 204,
+ 25,
+ 73,
+ 151,
+ 73,
+ 232,
+ 174,
+ 109,
+ 140,
+ 146,
+ 226,
+ 192,
+ 76,
+ 92,
+ 179,
+ 110,
+ 240,
+ 151,
+ 187,
+ 0,
+ 221
+ ],
+ "tag": [
+ 245,
+ 105,
+ 86,
+ 44,
+ 185,
+ 72,
+ 40,
+ 254,
+ 113,
+ 251,
+ 221,
+ 207,
+ 217,
+ 132,
+ 186,
+ 229
+ ]
+ },
+ {
+ "key": [
+ 57,
+ 171,
+ 120,
+ 25,
+ 219,
+ 249,
+ 68,
+ 204,
+ 205,
+ 38,
+ 72,
+ 68,
+ 83,
+ 55,
+ 21,
+ 143
+ ],
+ "nonce": [
+ 69,
+ 148,
+ 132,
+ 14,
+ 5,
+ 195,
+ 59,
+ 219,
+ 192,
+ 24,
+ 113,
+ 116
+ ],
+ "aad": [],
+ "plaintext": [
+ 131,
+ 76,
+ 176,
+ 86,
+ 129,
+ 233,
+ 167,
+ 135,
+ 107,
+ 202,
+ 137,
+ 30,
+ 183,
+ 130,
+ 67,
+ 146,
+ 199,
+ 172,
+ 41,
+ 212,
+ 255,
+ 76,
+ 154,
+ 138,
+ 217,
+ 100,
+ 71,
+ 210,
+ 204,
+ 95,
+ 15,
+ 242,
+ 24,
+ 4,
+ 61,
+ 53,
+ 16,
+ 32,
+ 20,
+ 82,
+ 186,
+ 92,
+ 120,
+ 155,
+ 162,
+ 166,
+ 103,
+ 188,
+ 247,
+ 155,
+ 156
+ ],
+ "ciphertext": [
+ 54,
+ 42,
+ 207,
+ 121,
+ 223,
+ 40,
+ 195,
+ 200,
+ 88,
+ 233,
+ 44,
+ 12,
+ 95,
+ 10,
+ 50,
+ 59,
+ 62,
+ 162,
+ 232,
+ 27,
+ 230,
+ 124,
+ 253,
+ 144,
+ 58,
+ 98,
+ 126,
+ 209,
+ 99,
+ 192,
+ 99,
+ 147,
+ 40,
+ 123,
+ 115,
+ 254,
+ 51,
+ 164,
+ 53,
+ 185,
+ 102,
+ 114,
+ 185,
+ 191,
+ 26,
+ 90,
+ 44,
+ 44,
+ 255,
+ 74,
+ 21
+ ],
+ "tag": [
+ 229,
+ 138,
+ 48,
+ 226,
+ 201,
+ 30,
+ 109,
+ 37,
+ 244,
+ 35,
+ 171,
+ 222,
+ 152,
+ 124,
+ 242,
+ 247
+ ]
+ },
+ {
+ "key": [
+ 115,
+ 56,
+ 143,
+ 131,
+ 228,
+ 9,
+ 234,
+ 35,
+ 97,
+ 41,
+ 228,
+ 109,
+ 201,
+ 169,
+ 178,
+ 11
+ ],
+ "nonce": [
+ 169,
+ 6,
+ 155,
+ 0,
+ 225,
+ 205,
+ 41,
+ 162,
+ 176,
+ 123,
+ 141,
+ 182
+ ],
+ "aad": [],
+ "plaintext": [
+ 162,
+ 225,
+ 56,
+ 213,
+ 97,
+ 28,
+ 80,
+ 67,
+ 33,
+ 79,
+ 125,
+ 159,
+ 156,
+ 135,
+ 170,
+ 185,
+ 78,
+ 11,
+ 142,
+ 153,
+ 179,
+ 17,
+ 208,
+ 202,
+ 233,
+ 8,
+ 41,
+ 7,
+ 140,
+ 56,
+ 152,
+ 200,
+ 255,
+ 250,
+ 125,
+ 233,
+ 120,
+ 154,
+ 240,
+ 166,
+ 192,
+ 95,
+ 55,
+ 91,
+ 47,
+ 113,
+ 13,
+ 212,
+ 186,
+ 38,
+ 16
+ ],
+ "ciphertext": [
+ 119,
+ 224,
+ 250,
+ 107,
+ 39,
+ 101,
+ 66,
+ 138,
+ 228,
+ 24,
+ 181,
+ 126,
+ 207,
+ 90,
+ 57,
+ 34,
+ 48,
+ 250,
+ 42,
+ 155,
+ 209,
+ 104,
+ 107,
+ 145,
+ 223,
+ 105,
+ 132,
+ 92,
+ 250,
+ 10,
+ 45,
+ 217,
+ 173,
+ 210,
+ 25,
+ 34,
+ 158,
+ 101,
+ 255,
+ 106,
+ 47,
+ 136,
+ 123,
+ 120,
+ 235,
+ 232,
+ 192,
+ 197,
+ 209,
+ 190,
+ 33
+ ],
+ "tag": [
+ 50,
+ 56,
+ 92,
+ 237,
+ 25,
+ 90,
+ 22,
+ 218,
+ 213,
+ 238,
+ 165,
+ 161,
+ 159,
+ 208,
+ 250,
+ 67
+ ]
+ },
+ {
+ "key": [
+ 213,
+ 144,
+ 229,
+ 59,
+ 105,
+ 83,
+ 21,
+ 204,
+ 11,
+ 145,
+ 125,
+ 159,
+ 160,
+ 170,
+ 198,
+ 67
+ ],
+ "nonce": [
+ 16,
+ 45,
+ 231,
+ 223,
+ 70,
+ 26,
+ 85,
+ 120,
+ 231,
+ 92,
+ 73,
+ 117
+ ],
+ "aad": [],
+ "plaintext": [
+ 126,
+ 230,
+ 49,
+ 251,
+ 104,
+ 93,
+ 74,
+ 148,
+ 86,
+ 62,
+ 1,
+ 72,
+ 14,
+ 197,
+ 82,
+ 109,
+ 4,
+ 164,
+ 3,
+ 93,
+ 31,
+ 97,
+ 95,
+ 219,
+ 173,
+ 102,
+ 86,
+ 226,
+ 73,
+ 95,
+ 229,
+ 215,
+ 240,
+ 214,
+ 196,
+ 13,
+ 255,
+ 101,
+ 159,
+ 200,
+ 95,
+ 76,
+ 205,
+ 120,
+ 67,
+ 58,
+ 25,
+ 35,
+ 19,
+ 195,
+ 212
+ ],
+ "ciphertext": [
+ 225,
+ 50,
+ 45,
+ 12,
+ 146,
+ 101,
+ 205,
+ 119,
+ 77,
+ 46,
+ 157,
+ 155,
+ 103,
+ 113,
+ 121,
+ 150,
+ 0,
+ 183,
+ 155,
+ 163,
+ 131,
+ 116,
+ 238,
+ 23,
+ 86,
+ 170,
+ 104,
+ 113,
+ 226,
+ 4,
+ 229,
+ 246,
+ 135,
+ 28,
+ 213,
+ 13,
+ 177,
+ 82,
+ 37,
+ 222,
+ 214,
+ 74,
+ 156,
+ 136,
+ 153,
+ 186,
+ 179,
+ 114,
+ 136,
+ 167,
+ 146
+ ],
+ "tag": [
+ 19,
+ 230,
+ 6,
+ 169,
+ 164,
+ 199,
+ 134,
+ 182,
+ 94,
+ 34,
+ 96,
+ 205,
+ 218,
+ 75,
+ 24,
+ 67
+ ]
+ },
+ {
+ "key": [
+ 182,
+ 21,
+ 83,
+ 187,
+ 133,
+ 72,
+ 149,
+ 185,
+ 41,
+ 117,
+ 28,
+ 208,
+ 197,
+ 248,
+ 3,
+ 132
+ ],
+ "nonce": [
+ 136,
+ 99,
+ 249,
+ 153,
+ 174,
+ 100,
+ 229,
+ 93,
+ 11,
+ 189,
+ 116,
+ 87
+ ],
+ "aad": [
+ 217,
+ 20,
+ 181,
+ 242,
+ 209,
+ 176,
+ 140,
+ 229,
+ 62,
+ 165,
+ 156,
+ 179,
+ 16,
+ 88,
+ 114,
+ 69
+ ],
+ "plaintext": [
+ 155,
+ 27,
+ 17,
+ 50,
+ 23,
+ 208,
+ 196,
+ 234,
+ 121,
+ 67,
+ 207,
+ 18,
+ 60,
+ 105,
+ 198,
+ 173,
+ 46,
+ 60,
+ 151,
+ 54,
+ 140,
+ 81,
+ 201,
+ 117,
+ 65,
+ 69,
+ 209,
+ 85,
+ 221,
+ 225,
+ 238,
+ 134,
+ 64,
+ 200,
+ 202,
+ 255,
+ 241,
+ 122,
+ 92,
+ 151,
+ 55,
+ 210,
+ 106,
+ 19,
+ 126,
+ 238,
+ 75,
+ 243,
+ 105,
+ 9,
+ 109
+ ],
+ "ciphertext": [
+ 172,
+ 250,
+ 180,
+ 99,
+ 43,
+ 138,
+ 37,
+ 128,
+ 81,
+ 18,
+ 241,
+ 61,
+ 133,
+ 224,
+ 130,
+ 188,
+ 137,
+ 220,
+ 73,
+ 189,
+ 146,
+ 22,
+ 79,
+ 168,
+ 162,
+ 218,
+ 210,
+ 66,
+ 195,
+ 161,
+ 178,
+ 242,
+ 105,
+ 111,
+ 47,
+ 223,
+ 245,
+ 121,
+ 2,
+ 95,
+ 63,
+ 20,
+ 110,
+ 169,
+ 125,
+ 163,
+ 228,
+ 125,
+ 195,
+ 75,
+ 101
+ ],
+ "tag": [
+ 93,
+ 155,
+ 95,
+ 74,
+ 152,
+ 104,
+ 193,
+ 198,
+ 156,
+ 189,
+ 111,
+ 216,
+ 81,
+ 240,
+ 19,
+ 64
+ ]
+ },
+ {
+ "key": [
+ 67,
+ 36,
+ 201,
+ 123,
+ 168,
+ 201,
+ 242,
+ 161,
+ 189,
+ 68,
+ 123,
+ 222,
+ 94,
+ 117,
+ 147,
+ 141
+ ],
+ "nonce": [
+ 188,
+ 172,
+ 104,
+ 16,
+ 106,
+ 63,
+ 194,
+ 32,
+ 72,
+ 70,
+ 43,
+ 201
+ ],
+ "aad": [
+ 42,
+ 137,
+ 62,
+ 236,
+ 46,
+ 238,
+ 244,
+ 194,
+ 233,
+ 195,
+ 5,
+ 66,
+ 139,
+ 158,
+ 50,
+ 147
+ ],
+ "plaintext": [
+ 120,
+ 159,
+ 193,
+ 75,
+ 125,
+ 78,
+ 200,
+ 62,
+ 199,
+ 131,
+ 192,
+ 239,
+ 56,
+ 250,
+ 166,
+ 112,
+ 96,
+ 49,
+ 173,
+ 228,
+ 230,
+ 90,
+ 233,
+ 31,
+ 14,
+ 28,
+ 87,
+ 155,
+ 140,
+ 134,
+ 82,
+ 233,
+ 78,
+ 4,
+ 196,
+ 238,
+ 93,
+ 133,
+ 210,
+ 61,
+ 5,
+ 37,
+ 193,
+ 51,
+ 169,
+ 58,
+ 149,
+ 57,
+ 68,
+ 140,
+ 161
+ ],
+ "ciphertext": [
+ 43,
+ 167,
+ 33,
+ 222,
+ 26,
+ 167,
+ 175,
+ 186,
+ 105,
+ 205,
+ 15,
+ 164,
+ 146,
+ 252,
+ 173,
+ 95,
+ 230,
+ 57,
+ 216,
+ 85,
+ 193,
+ 242,
+ 128,
+ 128,
+ 43,
+ 156,
+ 213,
+ 223,
+ 243,
+ 127,
+ 75,
+ 245,
+ 74,
+ 17,
+ 123,
+ 143,
+ 64,
+ 12,
+ 182,
+ 57,
+ 6,
+ 163,
+ 199,
+ 140,
+ 220,
+ 26,
+ 233,
+ 139,
+ 12,
+ 48,
+ 209
+ ],
+ "tag": [
+ 23,
+ 29,
+ 242,
+ 99,
+ 167,
+ 34,
+ 82,
+ 242,
+ 196,
+ 79,
+ 90,
+ 99,
+ 240,
+ 137,
+ 173,
+ 177
+ ]
+ },
+ {
+ "key": [
+ 81,
+ 228,
+ 44,
+ 235,
+ 131,
+ 23,
+ 93,
+ 29,
+ 240,
+ 155,
+ 131,
+ 133,
+ 168,
+ 79,
+ 189,
+ 239
+ ],
+ "nonce": [
+ 236,
+ 107,
+ 127,
+ 33,
+ 219,
+ 110,
+ 177,
+ 108,
+ 232,
+ 127,
+ 137,
+ 176
+ ],
+ "aad": [
+ 58,
+ 8,
+ 27,
+ 87,
+ 52,
+ 83,
+ 115,
+ 5,
+ 34,
+ 47,
+ 49,
+ 78,
+ 243,
+ 154,
+ 141,
+ 32
+ ],
+ "plaintext": [
+ 76,
+ 90,
+ 52,
+ 176,
+ 172,
+ 200,
+ 116,
+ 95,
+ 69,
+ 192,
+ 77,
+ 108,
+ 130,
+ 113,
+ 107,
+ 131,
+ 236,
+ 107,
+ 229,
+ 20,
+ 109,
+ 18,
+ 114,
+ 131,
+ 94,
+ 166,
+ 66,
+ 180,
+ 159,
+ 85,
+ 53,
+ 63,
+ 188,
+ 114,
+ 163,
+ 172,
+ 209,
+ 102,
+ 36,
+ 229,
+ 55,
+ 124,
+ 186,
+ 181,
+ 78,
+ 53,
+ 110,
+ 58,
+ 246,
+ 190,
+ 1
+ ],
+ "ciphertext": [
+ 27,
+ 75,
+ 183,
+ 15,
+ 62,
+ 211,
+ 143,
+ 55,
+ 142,
+ 41,
+ 237,
+ 183,
+ 230,
+ 80,
+ 129,
+ 247,
+ 148,
+ 114,
+ 90,
+ 3,
+ 64,
+ 218,
+ 236,
+ 87,
+ 8,
+ 161,
+ 99,
+ 163,
+ 168,
+ 18,
+ 114,
+ 172,
+ 43,
+ 212,
+ 179,
+ 227,
+ 219,
+ 143,
+ 138,
+ 213,
+ 125,
+ 87,
+ 27,
+ 94,
+ 178,
+ 74,
+ 246,
+ 82,
+ 227,
+ 200,
+ 126
+ ],
+ "tag": [
+ 106,
+ 159,
+ 42,
+ 75,
+ 115,
+ 41,
+ 15,
+ 197,
+ 102,
+ 243,
+ 124,
+ 40,
+ 104,
+ 135,
+ 237,
+ 237
+ ]
+ },
+ {
+ "key": [
+ 146,
+ 128,
+ 224,
+ 90,
+ 97,
+ 77,
+ 69,
+ 47,
+ 64,
+ 122,
+ 171,
+ 105,
+ 106,
+ 250,
+ 213,
+ 47
+ ],
+ "nonce": [
+ 9,
+ 158,
+ 240,
+ 41,
+ 34,
+ 89,
+ 34,
+ 84,
+ 228,
+ 69,
+ 23,
+ 205
+ ],
+ "aad": [
+ 18,
+ 220,
+ 77,
+ 166,
+ 35,
+ 208,
+ 130,
+ 199,
+ 103,
+ 163,
+ 247,
+ 239,
+ 233,
+ 166,
+ 235,
+ 201
+ ],
+ "plaintext": [
+ 219,
+ 145,
+ 16,
+ 141,
+ 71,
+ 242,
+ 102,
+ 221,
+ 147,
+ 113,
+ 105,
+ 139,
+ 25,
+ 75,
+ 58,
+ 24,
+ 63,
+ 41,
+ 54,
+ 120,
+ 43,
+ 228,
+ 23,
+ 207,
+ 26,
+ 4,
+ 140,
+ 101,
+ 4,
+ 22,
+ 45,
+ 55,
+ 225,
+ 26,
+ 65,
+ 227,
+ 187,
+ 254,
+ 185,
+ 143,
+ 153,
+ 94,
+ 200,
+ 227,
+ 93,
+ 233,
+ 75,
+ 255,
+ 224,
+ 163,
+ 99
+ ],
+ "ciphertext": [
+ 138,
+ 192,
+ 112,
+ 171,
+ 151,
+ 82,
+ 24,
+ 175,
+ 12,
+ 34,
+ 67,
+ 81,
+ 116,
+ 171,
+ 202,
+ 176,
+ 26,
+ 245,
+ 219,
+ 153,
+ 23,
+ 9,
+ 94,
+ 103,
+ 20,
+ 11,
+ 49,
+ 254,
+ 235,
+ 120,
+ 183,
+ 213,
+ 190,
+ 49,
+ 134,
+ 180,
+ 252,
+ 65,
+ 241,
+ 6,
+ 48,
+ 58,
+ 81,
+ 155,
+ 90,
+ 50,
+ 57,
+ 157,
+ 45,
+ 231,
+ 123
+ ],
+ "tag": [
+ 120,
+ 17,
+ 180,
+ 133,
+ 19,
+ 217,
+ 188,
+ 241,
+ 153,
+ 155,
+ 82,
+ 48,
+ 68,
+ 146,
+ 176,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 137,
+ 190,
+ 60,
+ 9,
+ 174,
+ 126,
+ 46,
+ 255,
+ 91,
+ 99,
+ 249,
+ 19,
+ 170,
+ 139,
+ 87,
+ 92
+ ],
+ "nonce": [
+ 68,
+ 157,
+ 133,
+ 45,
+ 101,
+ 88,
+ 81,
+ 133,
+ 188,
+ 66,
+ 152,
+ 242
+ ],
+ "aad": [
+ 210,
+ 50,
+ 113,
+ 60,
+ 43,
+ 2,
+ 75,
+ 90,
+ 255,
+ 212,
+ 161,
+ 80,
+ 80,
+ 220,
+ 186,
+ 65
+ ],
+ "plaintext": [
+ 147,
+ 204,
+ 245,
+ 217,
+ 7,
+ 222,
+ 169,
+ 176,
+ 254,
+ 213,
+ 80,
+ 127,
+ 138,
+ 38,
+ 64,
+ 13,
+ 10,
+ 86,
+ 140,
+ 14,
+ 245,
+ 59,
+ 159,
+ 166,
+ 191,
+ 157,
+ 104,
+ 2,
+ 178,
+ 15,
+ 230,
+ 114,
+ 201,
+ 169,
+ 83,
+ 111,
+ 199,
+ 91,
+ 133,
+ 240,
+ 142,
+ 77,
+ 44,
+ 69,
+ 207,
+ 3,
+ 36,
+ 34,
+ 243,
+ 14,
+ 169
+ ],
+ "ciphertext": [
+ 91,
+ 56,
+ 6,
+ 157,
+ 105,
+ 91,
+ 118,
+ 166,
+ 9,
+ 49,
+ 142,
+ 147,
+ 205,
+ 230,
+ 226,
+ 57,
+ 70,
+ 90,
+ 197,
+ 34,
+ 100,
+ 1,
+ 124,
+ 62,
+ 81,
+ 105,
+ 189,
+ 219,
+ 218,
+ 13,
+ 42,
+ 199,
+ 110,
+ 240,
+ 69,
+ 26,
+ 58,
+ 57,
+ 208,
+ 126,
+ 142,
+ 141,
+ 163,
+ 176,
+ 205,
+ 46,
+ 232,
+ 8,
+ 145,
+ 43,
+ 76
+ ],
+ "tag": [
+ 227,
+ 22,
+ 230,
+ 3,
+ 47,
+ 255,
+ 86,
+ 229,
+ 36,
+ 44,
+ 170,
+ 27,
+ 78,
+ 242,
+ 187,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 4,
+ 203,
+ 247,
+ 219,
+ 235,
+ 169,
+ 6,
+ 225,
+ 208,
+ 232,
+ 169,
+ 141,
+ 121,
+ 110,
+ 134,
+ 19
+ ],
+ "nonce": [
+ 181,
+ 128,
+ 89,
+ 19,
+ 148,
+ 41,
+ 166,
+ 166,
+ 163,
+ 140,
+ 203,
+ 7
+ ],
+ "aad": [
+ 117,
+ 50,
+ 198,
+ 35,
+ 123,
+ 161,
+ 218,
+ 139,
+ 153,
+ 196,
+ 160,
+ 145,
+ 197,
+ 21,
+ 158,
+ 180
+ ],
+ "plaintext": [
+ 136,
+ 144,
+ 198,
+ 58,
+ 183,
+ 48,
+ 217,
+ 19,
+ 94,
+ 25,
+ 202,
+ 58,
+ 218,
+ 53,
+ 179,
+ 74,
+ 45,
+ 91,
+ 217,
+ 244,
+ 150,
+ 141,
+ 96,
+ 232,
+ 198,
+ 91,
+ 244,
+ 63,
+ 13,
+ 109,
+ 239,
+ 125,
+ 228,
+ 114,
+ 194,
+ 107,
+ 137,
+ 175,
+ 158,
+ 93,
+ 110,
+ 72,
+ 193,
+ 37,
+ 216,
+ 75,
+ 15,
+ 239,
+ 125,
+ 25,
+ 78
+ ],
+ "ciphertext": [
+ 82,
+ 188,
+ 11,
+ 225,
+ 146,
+ 10,
+ 79,
+ 31,
+ 179,
+ 186,
+ 63,
+ 159,
+ 195,
+ 231,
+ 150,
+ 156,
+ 117,
+ 228,
+ 15,
+ 173,
+ 225,
+ 99,
+ 137,
+ 116,
+ 40,
+ 244,
+ 159,
+ 197,
+ 43,
+ 111,
+ 239,
+ 251,
+ 97,
+ 182,
+ 83,
+ 68,
+ 171,
+ 58,
+ 201,
+ 149,
+ 224,
+ 125,
+ 213,
+ 246,
+ 21,
+ 194,
+ 75,
+ 68,
+ 125,
+ 249,
+ 167
+ ],
+ "tag": [
+ 35,
+ 155,
+ 96,
+ 81,
+ 143,
+ 60,
+ 53,
+ 178,
+ 76,
+ 37,
+ 87,
+ 84,
+ 145,
+ 121,
+ 253,
+ 54
+ ]
+ },
+ {
+ "key": [
+ 143,
+ 28,
+ 112,
+ 19,
+ 104,
+ 82,
+ 220,
+ 39,
+ 174,
+ 81,
+ 98,
+ 184,
+ 116,
+ 60,
+ 144,
+ 234
+ ],
+ "nonce": [
+ 211,
+ 114,
+ 249,
+ 43,
+ 12,
+ 240,
+ 48,
+ 170,
+ 176,
+ 66,
+ 166,
+ 250
+ ],
+ "aad": [
+ 126,
+ 239,
+ 245,
+ 209,
+ 126,
+ 121,
+ 240,
+ 13,
+ 104,
+ 226,
+ 108,
+ 183,
+ 230,
+ 190,
+ 231,
+ 108
+ ],
+ "plaintext": [
+ 11,
+ 100,
+ 70,
+ 175,
+ 136,
+ 196,
+ 85,
+ 215,
+ 241,
+ 255,
+ 81,
+ 22,
+ 199,
+ 175,
+ 148,
+ 152,
+ 3,
+ 204,
+ 80,
+ 188,
+ 241,
+ 236,
+ 252,
+ 129,
+ 198,
+ 98,
+ 113,
+ 65,
+ 164,
+ 43,
+ 54,
+ 63,
+ 126,
+ 183,
+ 252,
+ 98,
+ 133,
+ 3,
+ 187,
+ 111,
+ 3,
+ 125,
+ 174,
+ 132,
+ 63,
+ 210,
+ 211,
+ 25,
+ 182,
+ 17,
+ 24
+ ],
+ "ciphertext": [
+ 79,
+ 35,
+ 95,
+ 108,
+ 194,
+ 192,
+ 71,
+ 74,
+ 181,
+ 5,
+ 87,
+ 226,
+ 207,
+ 97,
+ 42,
+ 176,
+ 159,
+ 252,
+ 133,
+ 151,
+ 93,
+ 224,
+ 130,
+ 185,
+ 203,
+ 150,
+ 73,
+ 165,
+ 34,
+ 184,
+ 164,
+ 127,
+ 36,
+ 225,
+ 178,
+ 196,
+ 143,
+ 60,
+ 213,
+ 125,
+ 206,
+ 73,
+ 84,
+ 43,
+ 211,
+ 86,
+ 15,
+ 229,
+ 228,
+ 75,
+ 202
+ ],
+ "tag": [
+ 197,
+ 65,
+ 183,
+ 130,
+ 68,
+ 239,
+ 210,
+ 185,
+ 230,
+ 30,
+ 117,
+ 41,
+ 111,
+ 22,
+ 74,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 26,
+ 198,
+ 154,
+ 53,
+ 247,
+ 73,
+ 198,
+ 93,
+ 93,
+ 39,
+ 236,
+ 16,
+ 155,
+ 88,
+ 243,
+ 54
+ ],
+ "nonce": [
+ 240,
+ 185,
+ 198,
+ 232,
+ 207,
+ 199,
+ 186,
+ 76,
+ 136,
+ 13,
+ 153,
+ 168
+ ],
+ "aad": [
+ 37,
+ 29,
+ 117,
+ 214,
+ 154,
+ 182,
+ 79,
+ 19,
+ 99,
+ 239,
+ 234,
+ 167,
+ 113,
+ 243,
+ 220,
+ 1
+ ],
+ "plaintext": [
+ 150,
+ 149,
+ 80,
+ 123,
+ 148,
+ 72,
+ 101,
+ 88,
+ 127,
+ 39,
+ 57,
+ 92,
+ 116,
+ 70,
+ 138,
+ 246,
+ 168,
+ 69,
+ 113,
+ 107,
+ 52,
+ 219,
+ 97,
+ 228,
+ 55,
+ 183,
+ 125,
+ 1,
+ 7,
+ 56,
+ 123,
+ 63,
+ 218,
+ 88,
+ 28,
+ 70,
+ 107,
+ 109,
+ 244,
+ 9,
+ 72,
+ 218,
+ 53,
+ 144,
+ 107,
+ 119,
+ 255,
+ 142,
+ 208,
+ 148,
+ 2
+ ],
+ "ciphertext": [
+ 244,
+ 29,
+ 199,
+ 64,
+ 39,
+ 104,
+ 112,
+ 93,
+ 190,
+ 59,
+ 247,
+ 205,
+ 190,
+ 180,
+ 252,
+ 103,
+ 45,
+ 58,
+ 108,
+ 61,
+ 101,
+ 82,
+ 13,
+ 171,
+ 48,
+ 130,
+ 114,
+ 125,
+ 255,
+ 8,
+ 75,
+ 110,
+ 11,
+ 171,
+ 23,
+ 249,
+ 108,
+ 43,
+ 19,
+ 122,
+ 75,
+ 213,
+ 100,
+ 161,
+ 63,
+ 119,
+ 238,
+ 55,
+ 52,
+ 115,
+ 131
+ ],
+ "tag": [
+ 2,
+ 46,
+ 223,
+ 116,
+ 55,
+ 180,
+ 22,
+ 83,
+ 219,
+ 59,
+ 242,
+ 71,
+ 154,
+ 158,
+ 116,
+ 161
+ ]
+ },
+ {
+ "key": [
+ 22,
+ 203,
+ 253,
+ 200,
+ 249,
+ 144,
+ 15,
+ 103,
+ 2,
+ 164,
+ 48,
+ 176,
+ 216,
+ 182,
+ 36,
+ 207
+ ],
+ "nonce": [
+ 40,
+ 221,
+ 92,
+ 70,
+ 224,
+ 54,
+ 128,
+ 242,
+ 192,
+ 26,
+ 123,
+ 186
+ ],
+ "aad": [
+ 177,
+ 188,
+ 189,
+ 210,
+ 124,
+ 14,
+ 244,
+ 222,
+ 70,
+ 47,
+ 206,
+ 11,
+ 232,
+ 133,
+ 90,
+ 54
+ ],
+ "plaintext": [
+ 225,
+ 86,
+ 45,
+ 110,
+ 106,
+ 70,
+ 156,
+ 253,
+ 159,
+ 10,
+ 106,
+ 21,
+ 190,
+ 154,
+ 3,
+ 60,
+ 212,
+ 84,
+ 149,
+ 158,
+ 248,
+ 179,
+ 123,
+ 45,
+ 165,
+ 129,
+ 100,
+ 255,
+ 241,
+ 216,
+ 219,
+ 211,
+ 250,
+ 194,
+ 185,
+ 123,
+ 241,
+ 181,
+ 3,
+ 4,
+ 111,
+ 217,
+ 204,
+ 104,
+ 188,
+ 148,
+ 45,
+ 15,
+ 114,
+ 122,
+ 60
+ ],
+ "ciphertext": [
+ 16,
+ 145,
+ 95,
+ 248,
+ 123,
+ 128,
+ 228,
+ 45,
+ 84,
+ 137,
+ 80,
+ 229,
+ 63,
+ 246,
+ 100,
+ 42,
+ 212,
+ 74,
+ 250,
+ 105,
+ 81,
+ 117,
+ 210,
+ 76,
+ 155,
+ 81,
+ 151,
+ 246,
+ 76,
+ 21,
+ 87,
+ 14,
+ 190,
+ 11,
+ 201,
+ 105,
+ 192,
+ 37,
+ 27,
+ 233,
+ 64,
+ 180,
+ 40,
+ 137,
+ 70,
+ 76,
+ 245,
+ 98,
+ 195,
+ 225,
+ 164
+ ],
+ "tag": [
+ 249,
+ 96,
+ 111,
+ 122,
+ 14,
+ 65,
+ 21,
+ 58,
+ 27,
+ 69,
+ 194,
+ 95,
+ 23,
+ 132,
+ 202,
+ 206
+ ]
+ },
+ {
+ "key": [
+ 76,
+ 18,
+ 165,
+ 74,
+ 167,
+ 187,
+ 122,
+ 12,
+ 12,
+ 121,
+ 136,
+ 52,
+ 243,
+ 155,
+ 63,
+ 168
+ ],
+ "nonce": [
+ 229,
+ 133,
+ 79,
+ 172,
+ 154,
+ 220,
+ 163,
+ 187,
+ 27,
+ 197,
+ 73,
+ 183
+ ],
+ "aad": [
+ 127,
+ 66,
+ 167,
+ 121,
+ 30,
+ 112,
+ 83,
+ 69,
+ 136,
+ 143,
+ 0,
+ 87,
+ 59,
+ 233,
+ 137,
+ 128
+ ],
+ "plaintext": [
+ 126,
+ 127,
+ 229,
+ 143,
+ 159,
+ 19,
+ 144,
+ 122,
+ 105,
+ 75,
+ 71,
+ 240,
+ 83,
+ 201,
+ 39,
+ 12,
+ 46,
+ 77,
+ 115,
+ 181,
+ 38,
+ 66,
+ 167,
+ 20,
+ 70,
+ 148,
+ 58,
+ 92,
+ 95,
+ 62,
+ 47,
+ 205,
+ 85,
+ 75,
+ 55,
+ 109,
+ 210,
+ 245,
+ 73,
+ 170,
+ 126,
+ 7,
+ 55,
+ 182,
+ 44,
+ 100,
+ 20,
+ 245,
+ 66,
+ 187,
+ 162
+ ],
+ "ciphertext": [
+ 223,
+ 70,
+ 215,
+ 81,
+ 153,
+ 16,
+ 137,
+ 155,
+ 124,
+ 61,
+ 158,
+ 125,
+ 13,
+ 171,
+ 130,
+ 201,
+ 59,
+ 125,
+ 142,
+ 224,
+ 63,
+ 79,
+ 90,
+ 168,
+ 46,
+ 207,
+ 100,
+ 202,
+ 207,
+ 60,
+ 159,
+ 181,
+ 143,
+ 23,
+ 160,
+ 33,
+ 83,
+ 96,
+ 40,
+ 116,
+ 78,
+ 65,
+ 39,
+ 112,
+ 229,
+ 117,
+ 98,
+ 36,
+ 158,
+ 95,
+ 9
+ ],
+ "tag": [
+ 40,
+ 35,
+ 212,
+ 181,
+ 156,
+ 248,
+ 248,
+ 131,
+ 123,
+ 235,
+ 213,
+ 239,
+ 223,
+ 185,
+ 41,
+ 41
+ ]
+ },
+ {
+ "key": [
+ 50,
+ 172,
+ 237,
+ 84,
+ 20,
+ 226,
+ 103,
+ 207,
+ 119,
+ 132,
+ 76,
+ 10,
+ 203,
+ 184,
+ 135,
+ 44
+ ],
+ "nonce": [
+ 61,
+ 16,
+ 142,
+ 145,
+ 45,
+ 83,
+ 184,
+ 142,
+ 13,
+ 255,
+ 157,
+ 108
+ ],
+ "aad": [
+ 123,
+ 228,
+ 197,
+ 223,
+ 121,
+ 53,
+ 69,
+ 61,
+ 80,
+ 241,
+ 198,
+ 199,
+ 154,
+ 230,
+ 193,
+ 58
+ ],
+ "plaintext": [
+ 199,
+ 252,
+ 245,
+ 60,
+ 147,
+ 165,
+ 33,
+ 198,
+ 226,
+ 68,
+ 242,
+ 3,
+ 207,
+ 196,
+ 11,
+ 128,
+ 189,
+ 138,
+ 177,
+ 228,
+ 229,
+ 76,
+ 219,
+ 88,
+ 31,
+ 193,
+ 76,
+ 49,
+ 220,
+ 106,
+ 147,
+ 128,
+ 94,
+ 219,
+ 186,
+ 50,
+ 167,
+ 41,
+ 172,
+ 241,
+ 167,
+ 192,
+ 76,
+ 139,
+ 3,
+ 102,
+ 194,
+ 3,
+ 92,
+ 101,
+ 179
+ ],
+ "ciphertext": [
+ 128,
+ 190,
+ 236,
+ 140,
+ 32,
+ 199,
+ 233,
+ 81,
+ 76,
+ 56,
+ 172,
+ 110,
+ 55,
+ 117,
+ 222,
+ 32,
+ 103,
+ 84,
+ 67,
+ 60,
+ 177,
+ 215,
+ 200,
+ 155,
+ 190,
+ 251,
+ 51,
+ 177,
+ 180,
+ 18,
+ 69,
+ 224,
+ 209,
+ 186,
+ 247,
+ 204,
+ 135,
+ 11,
+ 31,
+ 30,
+ 195,
+ 135,
+ 242,
+ 221,
+ 237,
+ 62,
+ 15,
+ 71,
+ 158,
+ 241,
+ 96
+ ],
+ "tag": [
+ 217,
+ 127,
+ 125,
+ 130,
+ 179,
+ 255,
+ 151,
+ 242,
+ 246,
+ 198,
+ 82,
+ 25,
+ 76,
+ 0,
+ 71,
+ 72
+ ]
+ },
+ {
+ "key": [
+ 98,
+ 117,
+ 39,
+ 9,
+ 82,
+ 38,
+ 63,
+ 95,
+ 0,
+ 139,
+ 22,
+ 242,
+ 69,
+ 108,
+ 125,
+ 220
+ ],
+ "nonce": [
+ 29,
+ 24,
+ 55,
+ 234,
+ 76,
+ 179,
+ 115,
+ 42,
+ 110,
+ 166,
+ 72,
+ 125
+ ],
+ "aad": [
+ 110,
+ 232,
+ 237,
+ 46,
+ 210,
+ 65,
+ 241,
+ 215,
+ 206,
+ 229,
+ 92,
+ 166,
+ 112,
+ 1,
+ 114,
+ 155
+ ],
+ "plaintext": [
+ 253,
+ 77,
+ 226,
+ 138,
+ 24,
+ 163,
+ 222,
+ 59,
+ 150,
+ 96,
+ 172,
+ 240,
+ 142,
+ 234,
+ 196,
+ 14,
+ 25,
+ 43,
+ 119,
+ 197,
+ 38,
+ 76,
+ 128,
+ 101,
+ 28,
+ 40,
+ 98,
+ 142,
+ 97,
+ 195,
+ 145,
+ 111,
+ 122,
+ 192,
+ 61,
+ 132,
+ 154,
+ 227,
+ 156,
+ 152,
+ 26,
+ 40,
+ 8,
+ 134,
+ 106,
+ 130,
+ 146,
+ 116,
+ 106,
+ 71,
+ 147
+ ],
+ "ciphertext": [
+ 214,
+ 148,
+ 144,
+ 112,
+ 136,
+ 147,
+ 241,
+ 99,
+ 138,
+ 213,
+ 148,
+ 195,
+ 160,
+ 173,
+ 142,
+ 180,
+ 241,
+ 125,
+ 163,
+ 32,
+ 59,
+ 24,
+ 172,
+ 237,
+ 147,
+ 9,
+ 118,
+ 238,
+ 26,
+ 191,
+ 77,
+ 241,
+ 174,
+ 138,
+ 118,
+ 141,
+ 220,
+ 157,
+ 246,
+ 204,
+ 220,
+ 162,
+ 213,
+ 121,
+ 22,
+ 80,
+ 35,
+ 229,
+ 43,
+ 185,
+ 215
+ ],
+ "tag": [
+ 170,
+ 71,
+ 205,
+ 163,
+ 146,
+ 143,
+ 122,
+ 46,
+ 164,
+ 47,
+ 234,
+ 228,
+ 223,
+ 176,
+ 128,
+ 15
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 150,
+ 212,
+ 121,
+ 188,
+ 178,
+ 19,
+ 241,
+ 158,
+ 46,
+ 215,
+ 62,
+ 241,
+ 6,
+ 159,
+ 230
+ ],
+ "nonce": [
+ 240,
+ 235,
+ 182,
+ 251,
+ 29,
+ 246,
+ 0,
+ 105,
+ 176,
+ 10,
+ 52,
+ 199
+ ],
+ "aad": [
+ 135,
+ 86,
+ 59,
+ 77,
+ 114,
+ 226,
+ 242,
+ 192,
+ 9,
+ 75,
+ 255,
+ 103,
+ 142,
+ 59,
+ 121,
+ 117
+ ],
+ "plaintext": [
+ 247,
+ 38,
+ 3,
+ 182,
+ 231,
+ 75,
+ 175,
+ 194,
+ 15,
+ 66,
+ 59,
+ 234,
+ 42,
+ 16,
+ 54,
+ 171,
+ 68,
+ 70,
+ 27,
+ 94,
+ 90,
+ 86,
+ 49,
+ 176,
+ 19,
+ 87,
+ 61,
+ 149,
+ 62,
+ 31,
+ 176,
+ 115,
+ 184,
+ 85,
+ 81,
+ 24,
+ 96,
+ 209,
+ 120,
+ 44,
+ 31,
+ 59,
+ 20,
+ 107,
+ 92,
+ 65,
+ 235,
+ 148,
+ 110,
+ 47,
+ 202
+ ],
+ "ciphertext": [
+ 68,
+ 196,
+ 215,
+ 186,
+ 42,
+ 241,
+ 190,
+ 34,
+ 218,
+ 166,
+ 53,
+ 43,
+ 88,
+ 191,
+ 140,
+ 218,
+ 40,
+ 153,
+ 155,
+ 195,
+ 60,
+ 66,
+ 15,
+ 136,
+ 129,
+ 0,
+ 23,
+ 25,
+ 254,
+ 99,
+ 154,
+ 158,
+ 158,
+ 92,
+ 72,
+ 223,
+ 18,
+ 15,
+ 124,
+ 190,
+ 115,
+ 175,
+ 76,
+ 21,
+ 19,
+ 166,
+ 55,
+ 185,
+ 222,
+ 51,
+ 232
+ ],
+ "tag": [
+ 139,
+ 112,
+ 2,
+ 33,
+ 159,
+ 88,
+ 99,
+ 24,
+ 21,
+ 1,
+ 50,
+ 224,
+ 229,
+ 203,
+ 242,
+ 233
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 197,
+ 15,
+ 41,
+ 71,
+ 159,
+ 240,
+ 249,
+ 148,
+ 90,
+ 185,
+ 223,
+ 86,
+ 135,
+ 46,
+ 170
+ ],
+ "nonce": [
+ 27,
+ 185,
+ 77,
+ 123,
+ 57,
+ 158,
+ 183,
+ 169,
+ 160,
+ 239,
+ 175,
+ 110
+ ],
+ "aad": [
+ 136,
+ 169,
+ 248,
+ 16,
+ 120,
+ 214,
+ 160,
+ 130,
+ 12,
+ 86,
+ 197,
+ 130,
+ 163,
+ 3,
+ 51,
+ 185
+ ],
+ "plaintext": [
+ 250,
+ 134,
+ 105,
+ 27,
+ 116,
+ 100,
+ 36,
+ 179,
+ 66,
+ 109,
+ 217,
+ 206,
+ 140,
+ 240,
+ 241,
+ 50,
+ 222,
+ 92,
+ 87,
+ 94,
+ 0,
+ 23,
+ 1,
+ 50,
+ 76,
+ 167,
+ 206,
+ 71,
+ 77,
+ 88,
+ 19,
+ 161,
+ 153,
+ 4,
+ 89,
+ 16,
+ 85,
+ 252,
+ 127,
+ 52,
+ 62,
+ 32,
+ 208,
+ 244,
+ 201,
+ 33,
+ 24,
+ 177,
+ 76,
+ 231,
+ 116
+ ],
+ "ciphertext": [
+ 85,
+ 2,
+ 79,
+ 197,
+ 233,
+ 94,
+ 95,
+ 124,
+ 51,
+ 191,
+ 148,
+ 140,
+ 22,
+ 123,
+ 19,
+ 56,
+ 34,
+ 54,
+ 178,
+ 207,
+ 24,
+ 124,
+ 192,
+ 158,
+ 55,
+ 220,
+ 224,
+ 67,
+ 246,
+ 41,
+ 63,
+ 228,
+ 87,
+ 161,
+ 221,
+ 231,
+ 40,
+ 207,
+ 64,
+ 124,
+ 112,
+ 45,
+ 117,
+ 166,
+ 112,
+ 57,
+ 127,
+ 254,
+ 40,
+ 232,
+ 186
+ ],
+ "tag": [
+ 100,
+ 92,
+ 166,
+ 12,
+ 252,
+ 128,
+ 70,
+ 160,
+ 37,
+ 63,
+ 67,
+ 142,
+ 105,
+ 184,
+ 228,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 243,
+ 227,
+ 2,
+ 161,
+ 86,
+ 138,
+ 83,
+ 64,
+ 181,
+ 116,
+ 90,
+ 232,
+ 127,
+ 90,
+ 91,
+ 234
+ ],
+ "nonce": [
+ 206,
+ 65,
+ 244,
+ 54,
+ 242,
+ 232,
+ 70,
+ 67,
+ 246,
+ 115,
+ 96,
+ 62
+ ],
+ "aad": [
+ 135,
+ 186,
+ 54,
+ 210,
+ 52,
+ 236,
+ 80,
+ 139,
+ 48,
+ 143,
+ 242,
+ 88,
+ 198,
+ 189,
+ 66,
+ 123
+ ],
+ "plaintext": [
+ 228,
+ 171,
+ 170,
+ 102,
+ 135,
+ 91,
+ 216,
+ 212,
+ 91,
+ 110,
+ 213,
+ 231,
+ 103,
+ 27,
+ 3,
+ 224,
+ 148,
+ 35,
+ 234,
+ 65,
+ 183,
+ 216,
+ 144,
+ 57,
+ 218,
+ 146,
+ 114,
+ 129,
+ 81,
+ 189,
+ 105,
+ 12,
+ 205,
+ 239,
+ 79,
+ 161,
+ 99,
+ 146,
+ 167,
+ 248,
+ 94,
+ 252,
+ 11,
+ 194,
+ 177,
+ 102,
+ 75,
+ 211,
+ 241,
+ 94,
+ 119
+ ],
+ "ciphertext": [
+ 18,
+ 59,
+ 105,
+ 178,
+ 208,
+ 241,
+ 9,
+ 52,
+ 218,
+ 63,
+ 219,
+ 92,
+ 27,
+ 150,
+ 180,
+ 255,
+ 200,
+ 255,
+ 193,
+ 68,
+ 96,
+ 136,
+ 182,
+ 52,
+ 179,
+ 142,
+ 20,
+ 94,
+ 109,
+ 217,
+ 142,
+ 143,
+ 234,
+ 23,
+ 33,
+ 75,
+ 92,
+ 145,
+ 54,
+ 240,
+ 57,
+ 87,
+ 125,
+ 68,
+ 147,
+ 184,
+ 188,
+ 249,
+ 53,
+ 174,
+ 25
+ ],
+ "tag": [
+ 151,
+ 202,
+ 140,
+ 240,
+ 100,
+ 164,
+ 8,
+ 199,
+ 183,
+ 100,
+ 207,
+ 50,
+ 211,
+ 183,
+ 156,
+ 10
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 71,
+ 252,
+ 206,
+ 95,
+ 195,
+ 38,
+ 101,
+ 210,
+ 174,
+ 57,
+ 158,
+ 78,
+ 236,
+ 114,
+ 186
+ ],
+ "nonce": [
+ 90,
+ 219,
+ 150,
+ 9,
+ 219,
+ 174,
+ 181,
+ 140,
+ 189,
+ 110,
+ 114,
+ 117
+ ],
+ "aad": [
+ 136,
+ 49,
+ 157,
+ 110,
+ 29,
+ 63,
+ 250,
+ 95,
+ 152,
+ 113,
+ 153,
+ 22,
+ 108,
+ 138,
+ 155,
+ 86,
+ 194,
+ 174,
+ 186,
+ 90
+ ],
+ "plaintext": [
+ 124,
+ 14,
+ 136,
+ 200,
+ 136,
+ 153,
+ 167,
+ 121,
+ 34,
+ 132,
+ 101,
+ 7,
+ 71,
+ 151,
+ 205,
+ 76,
+ 46,
+ 20,
+ 152,
+ 210,
+ 89,
+ 181,
+ 67,
+ 144,
+ 184,
+ 94,
+ 62,
+ 239,
+ 28,
+ 2,
+ 223,
+ 96,
+ 231,
+ 67,
+ 241,
+ 184,
+ 64,
+ 56,
+ 44,
+ 75,
+ 204,
+ 175,
+ 59,
+ 175,
+ 180,
+ 202,
+ 132,
+ 41,
+ 190,
+ 160,
+ 99
+ ],
+ "ciphertext": [
+ 152,
+ 244,
+ 130,
+ 111,
+ 5,
+ 162,
+ 101,
+ 230,
+ 221,
+ 43,
+ 232,
+ 45,
+ 178,
+ 65,
+ 192,
+ 251,
+ 187,
+ 249,
+ 255,
+ 177,
+ 193,
+ 115,
+ 170,
+ 131,
+ 150,
+ 75,
+ 124,
+ 245,
+ 57,
+ 48,
+ 67,
+ 115,
+ 99,
+ 101,
+ 37,
+ 61,
+ 219,
+ 197,
+ 219,
+ 135,
+ 120,
+ 55,
+ 20,
+ 149,
+ 218,
+ 118,
+ 210,
+ 105,
+ 229,
+ 219,
+ 62
+ ],
+ "tag": [
+ 41,
+ 30,
+ 241,
+ 152,
+ 46,
+ 77,
+ 239,
+ 237,
+ 170,
+ 34,
+ 73,
+ 248,
+ 152,
+ 85,
+ 107,
+ 71
+ ]
+ },
+ {
+ "key": [
+ 236,
+ 12,
+ 43,
+ 161,
+ 122,
+ 169,
+ 92,
+ 214,
+ 175,
+ 255,
+ 233,
+ 73,
+ 218,
+ 156,
+ 195,
+ 168
+ ],
+ "nonce": [
+ 41,
+ 107,
+ 206,
+ 91,
+ 80,
+ 183,
+ 214,
+ 96,
+ 150,
+ 214,
+ 39,
+ 239
+ ],
+ "aad": [
+ 248,
+ 208,
+ 15,
+ 5,
+ 210,
+ 43,
+ 246,
+ 133,
+ 153,
+ 188,
+ 222,
+ 177,
+ 49,
+ 41,
+ 42,
+ 214,
+ 226,
+ 223,
+ 93,
+ 20
+ ],
+ "plaintext": [
+ 184,
+ 91,
+ 55,
+ 83,
+ 83,
+ 91,
+ 130,
+ 92,
+ 190,
+ 95,
+ 99,
+ 44,
+ 11,
+ 132,
+ 60,
+ 116,
+ 19,
+ 81,
+ 241,
+ 138,
+ 164,
+ 132,
+ 40,
+ 26,
+ 235,
+ 236,
+ 47,
+ 69,
+ 187,
+ 158,
+ 234,
+ 45,
+ 121,
+ 217,
+ 135,
+ 183,
+ 100,
+ 185,
+ 97,
+ 31,
+ 108,
+ 15,
+ 134,
+ 65,
+ 132,
+ 61,
+ 93,
+ 88,
+ 243,
+ 162,
+ 66
+ ],
+ "ciphertext": [
+ 167,
+ 68,
+ 61,
+ 49,
+ 194,
+ 107,
+ 223,
+ 42,
+ 28,
+ 148,
+ 94,
+ 41,
+ 238,
+ 75,
+ 211,
+ 68,
+ 169,
+ 156,
+ 250,
+ 243,
+ 170,
+ 113,
+ 248,
+ 179,
+ 241,
+ 145,
+ 248,
+ 60,
+ 42,
+ 223,
+ 199,
+ 160,
+ 113,
+ 98,
+ 153,
+ 85,
+ 6,
+ 253,
+ 230,
+ 48,
+ 159,
+ 252,
+ 25,
+ 231,
+ 22,
+ 237,
+ 223,
+ 26,
+ 130,
+ 140,
+ 90
+ ],
+ "tag": [
+ 137,
+ 1,
+ 71,
+ 151,
+ 25,
+ 70,
+ 182,
+ 39,
+ 196,
+ 0,
+ 22,
+ 218,
+ 30,
+ 207,
+ 62,
+ 119
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 65,
+ 40,
+ 9,
+ 5,
+ 163,
+ 59,
+ 207,
+ 2,
+ 172,
+ 22,
+ 248,
+ 202,
+ 190,
+ 151,
+ 204
+ ],
+ "nonce": [
+ 83,
+ 41,
+ 79,
+ 139,
+ 68,
+ 12,
+ 130,
+ 219,
+ 217,
+ 189,
+ 117,
+ 67
+ ],
+ "aad": [
+ 174,
+ 205,
+ 73,
+ 203,
+ 136,
+ 144,
+ 128,
+ 109,
+ 71,
+ 169,
+ 80,
+ 200,
+ 233,
+ 42,
+ 178,
+ 148,
+ 243,
+ 37,
+ 150,
+ 29
+ ],
+ "plaintext": [
+ 92,
+ 212,
+ 43,
+ 21,
+ 13,
+ 183,
+ 208,
+ 189,
+ 101,
+ 86,
+ 227,
+ 126,
+ 56,
+ 109,
+ 250,
+ 250,
+ 250,
+ 190,
+ 42,
+ 239,
+ 237,
+ 40,
+ 35,
+ 190,
+ 147,
+ 47,
+ 157,
+ 175,
+ 18,
+ 52,
+ 170,
+ 4,
+ 2,
+ 190,
+ 173,
+ 72,
+ 94,
+ 189,
+ 163,
+ 160,
+ 166,
+ 227,
+ 146,
+ 213,
+ 176,
+ 230,
+ 3,
+ 174,
+ 45,
+ 252,
+ 165
+ ],
+ "ciphertext": [
+ 58,
+ 231,
+ 65,
+ 147,
+ 201,
+ 78,
+ 187,
+ 150,
+ 251,
+ 177,
+ 188,
+ 94,
+ 205,
+ 24,
+ 11,
+ 44,
+ 14,
+ 250,
+ 30,
+ 244,
+ 169,
+ 236,
+ 182,
+ 149,
+ 150,
+ 49,
+ 248,
+ 85,
+ 79,
+ 14,
+ 178,
+ 55,
+ 137,
+ 52,
+ 118,
+ 204,
+ 13,
+ 79,
+ 181,
+ 95,
+ 161,
+ 136,
+ 9,
+ 137,
+ 193,
+ 97,
+ 109,
+ 211,
+ 43,
+ 150,
+ 79
+ ],
+ "tag": [
+ 14,
+ 174,
+ 1,
+ 168,
+ 71,
+ 58,
+ 143,
+ 96,
+ 60,
+ 106,
+ 230,
+ 182,
+ 55,
+ 228,
+ 174,
+ 186
+ ]
+ },
+ {
+ "key": [
+ 79,
+ 102,
+ 242,
+ 24,
+ 23,
+ 209,
+ 134,
+ 92,
+ 47,
+ 182,
+ 45,
+ 77,
+ 227,
+ 68,
+ 224,
+ 133
+ ],
+ "nonce": [
+ 76,
+ 120,
+ 10,
+ 39,
+ 7,
+ 245,
+ 103,
+ 71,
+ 178,
+ 74,
+ 74,
+ 160
+ ],
+ "aad": [
+ 76,
+ 14,
+ 194,
+ 83,
+ 21,
+ 66,
+ 188,
+ 128,
+ 27,
+ 61,
+ 223,
+ 89,
+ 60,
+ 46,
+ 27,
+ 164,
+ 175,
+ 235,
+ 96,
+ 62
+ ],
+ "plaintext": [
+ 4,
+ 234,
+ 222,
+ 45,
+ 104,
+ 220,
+ 60,
+ 93,
+ 131,
+ 242,
+ 211,
+ 241,
+ 196,
+ 66,
+ 64,
+ 191,
+ 134,
+ 18,
+ 124,
+ 159,
+ 107,
+ 57,
+ 102,
+ 8,
+ 94,
+ 244,
+ 30,
+ 245,
+ 1,
+ 7,
+ 208,
+ 66,
+ 177,
+ 139,
+ 190,
+ 128,
+ 189,
+ 67,
+ 205,
+ 209,
+ 88,
+ 95,
+ 197,
+ 169,
+ 157,
+ 248,
+ 39,
+ 27,
+ 155,
+ 135,
+ 103
+ ],
+ "ciphertext": [
+ 220,
+ 223,
+ 141,
+ 43,
+ 13,
+ 56,
+ 128,
+ 114,
+ 206,
+ 39,
+ 58,
+ 211,
+ 80,
+ 45,
+ 234,
+ 81,
+ 34,
+ 186,
+ 192,
+ 2,
+ 10,
+ 122,
+ 227,
+ 185,
+ 119,
+ 5,
+ 211,
+ 162,
+ 187,
+ 73,
+ 165,
+ 203,
+ 79,
+ 149,
+ 230,
+ 203,
+ 215,
+ 65,
+ 131,
+ 117,
+ 140,
+ 46,
+ 171,
+ 201,
+ 234,
+ 56,
+ 21,
+ 92,
+ 126,
+ 246,
+ 71
+ ],
+ "tag": [
+ 37,
+ 88,
+ 197,
+ 156,
+ 199,
+ 215,
+ 26,
+ 47,
+ 206,
+ 221,
+ 19,
+ 241,
+ 198,
+ 101,
+ 154,
+ 99
+ ]
+ },
+ {
+ "key": [
+ 99,
+ 130,
+ 118,
+ 7,
+ 15,
+ 112,
+ 164,
+ 141,
+ 253,
+ 211,
+ 7,
+ 73,
+ 5,
+ 244,
+ 221,
+ 139
+ ],
+ "nonce": [
+ 8,
+ 170,
+ 5,
+ 238,
+ 233,
+ 190,
+ 57,
+ 242,
+ 143,
+ 97,
+ 41,
+ 156
+ ],
+ "aad": [
+ 126,
+ 62,
+ 246,
+ 249,
+ 217,
+ 211,
+ 58,
+ 107,
+ 197,
+ 144,
+ 75,
+ 19,
+ 23,
+ 210,
+ 53,
+ 206,
+ 26,
+ 153,
+ 255,
+ 179
+ ],
+ "plaintext": [
+ 188,
+ 166,
+ 59,
+ 31,
+ 212,
+ 128,
+ 183,
+ 198,
+ 130,
+ 249,
+ 146,
+ 179,
+ 172,
+ 64,
+ 113,
+ 44,
+ 212,
+ 18,
+ 229,
+ 189,
+ 81,
+ 65,
+ 18,
+ 99,
+ 17,
+ 234,
+ 60,
+ 92,
+ 217,
+ 31,
+ 248,
+ 215,
+ 91,
+ 122,
+ 215,
+ 190,
+ 10,
+ 199,
+ 246,
+ 29,
+ 65,
+ 41,
+ 46,
+ 103,
+ 49,
+ 119,
+ 229,
+ 94,
+ 20,
+ 139,
+ 140
+ ],
+ "ciphertext": [
+ 250,
+ 177,
+ 106,
+ 175,
+ 140,
+ 206,
+ 38,
+ 88,
+ 107,
+ 80,
+ 231,
+ 148,
+ 232,
+ 137,
+ 131,
+ 158,
+ 14,
+ 219,
+ 99,
+ 241,
+ 79,
+ 146,
+ 127,
+ 53,
+ 53,
+ 105,
+ 202,
+ 193,
+ 105,
+ 70,
+ 4,
+ 222,
+ 89,
+ 61,
+ 114,
+ 197,
+ 41,
+ 119,
+ 191,
+ 127,
+ 226,
+ 182,
+ 252,
+ 236,
+ 178,
+ 216,
+ 145,
+ 141,
+ 13,
+ 232,
+ 233
+ ],
+ "tag": [
+ 189,
+ 151,
+ 170,
+ 205,
+ 176,
+ 43,
+ 128,
+ 160,
+ 20,
+ 135,
+ 214,
+ 144,
+ 181,
+ 233,
+ 5,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 220,
+ 127,
+ 169,
+ 52,
+ 139,
+ 127,
+ 225,
+ 179,
+ 190,
+ 250,
+ 90,
+ 9,
+ 178,
+ 220,
+ 15,
+ 122
+ ],
+ "nonce": [
+ 81,
+ 226,
+ 8,
+ 207,
+ 169,
+ 185,
+ 217,
+ 144,
+ 1,
+ 63,
+ 80,
+ 243
+ ],
+ "aad": [
+ 183,
+ 33,
+ 155,
+ 91,
+ 24,
+ 1,
+ 69,
+ 125,
+ 113,
+ 207,
+ 190,
+ 52,
+ 33,
+ 72,
+ 132,
+ 150,
+ 34,
+ 89,
+ 44,
+ 64
+ ],
+ "plaintext": [
+ 11,
+ 101,
+ 128,
+ 11,
+ 77,
+ 194,
+ 170,
+ 175,
+ 188,
+ 131,
+ 127,
+ 158,
+ 206,
+ 122,
+ 145,
+ 17,
+ 243,
+ 186,
+ 3,
+ 9,
+ 25,
+ 107,
+ 171,
+ 170,
+ 107,
+ 99,
+ 239,
+ 15,
+ 237,
+ 171,
+ 119,
+ 158,
+ 13,
+ 53,
+ 41,
+ 51,
+ 83,
+ 101,
+ 32,
+ 228,
+ 255,
+ 28,
+ 127,
+ 7,
+ 149,
+ 5,
+ 234,
+ 216,
+ 130,
+ 173,
+ 240
+ ],
+ "ciphertext": [
+ 44,
+ 170,
+ 229,
+ 146,
+ 60,
+ 173,
+ 121,
+ 128,
+ 45,
+ 104,
+ 33,
+ 114,
+ 245,
+ 129,
+ 145,
+ 52,
+ 146,
+ 64,
+ 162,
+ 78,
+ 37,
+ 137,
+ 20,
+ 97,
+ 174,
+ 101,
+ 57,
+ 75,
+ 149,
+ 65,
+ 59,
+ 52,
+ 224,
+ 63,
+ 53,
+ 81,
+ 186,
+ 241,
+ 160,
+ 85,
+ 210,
+ 42,
+ 83,
+ 168,
+ 163,
+ 143,
+ 142,
+ 247,
+ 143,
+ 109,
+ 64
+ ],
+ "tag": [
+ 16,
+ 118,
+ 154,
+ 232,
+ 84,
+ 248,
+ 41,
+ 140,
+ 217,
+ 76,
+ 40,
+ 195,
+ 226,
+ 142,
+ 148,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 234,
+ 241,
+ 101,
+ 158,
+ 8,
+ 208,
+ 242,
+ 42,
+ 112,
+ 66,
+ 53,
+ 138,
+ 176,
+ 238,
+ 15,
+ 13
+ ],
+ "nonce": [
+ 214,
+ 145,
+ 27,
+ 104,
+ 133,
+ 96,
+ 56,
+ 239,
+ 157,
+ 236,
+ 18,
+ 21
+ ],
+ "aad": [
+ 67,
+ 58,
+ 230,
+ 56,
+ 33,
+ 76,
+ 72,
+ 32,
+ 127,
+ 233,
+ 205,
+ 199,
+ 110,
+ 249,
+ 158,
+ 40,
+ 145,
+ 61,
+ 106,
+ 140
+ ],
+ "plaintext": [
+ 14,
+ 113,
+ 179,
+ 118,
+ 95,
+ 23,
+ 224,
+ 22,
+ 195,
+ 2,
+ 75,
+ 226,
+ 61,
+ 10,
+ 246,
+ 207,
+ 80,
+ 206,
+ 152,
+ 216,
+ 105,
+ 67,
+ 179,
+ 140,
+ 187,
+ 232,
+ 243,
+ 220,
+ 181,
+ 64,
+ 221,
+ 166,
+ 75,
+ 119,
+ 191,
+ 115,
+ 199,
+ 205,
+ 161,
+ 8,
+ 225,
+ 165,
+ 196,
+ 189,
+ 181,
+ 144,
+ 167,
+ 247,
+ 71,
+ 236,
+ 253
+ ],
+ "ciphertext": [
+ 191,
+ 74,
+ 255,
+ 101,
+ 251,
+ 125,
+ 240,
+ 133,
+ 137,
+ 98,
+ 71,
+ 75,
+ 238,
+ 159,
+ 191,
+ 149,
+ 176,
+ 240,
+ 102,
+ 55,
+ 199,
+ 215,
+ 43,
+ 177,
+ 203,
+ 171,
+ 228,
+ 102,
+ 98,
+ 244,
+ 85,
+ 211,
+ 129,
+ 54,
+ 101,
+ 71,
+ 123,
+ 75,
+ 173,
+ 251,
+ 32,
+ 106,
+ 77,
+ 143,
+ 1,
+ 52,
+ 97,
+ 25,
+ 229,
+ 89,
+ 236
+ ],
+ "tag": [
+ 134,
+ 111,
+ 32,
+ 75,
+ 4,
+ 163,
+ 9,
+ 212,
+ 94,
+ 101,
+ 234,
+ 137,
+ 10,
+ 23,
+ 237,
+ 13
+ ]
+ },
+ {
+ "key": [
+ 56,
+ 38,
+ 151,
+ 252,
+ 44,
+ 162,
+ 32,
+ 165,
+ 214,
+ 167,
+ 0,
+ 247,
+ 250,
+ 219,
+ 170,
+ 229
+ ],
+ "nonce": [
+ 63,
+ 233,
+ 212,
+ 0,
+ 209,
+ 13,
+ 195,
+ 53,
+ 69,
+ 214,
+ 204,
+ 92
+ ],
+ "aad": [
+ 163,
+ 205,
+ 75,
+ 2,
+ 22,
+ 55,
+ 137,
+ 24,
+ 164,
+ 98,
+ 82,
+ 202,
+ 22,
+ 242,
+ 172,
+ 151,
+ 117,
+ 233,
+ 147,
+ 249
+ ],
+ "plaintext": [
+ 125,
+ 24,
+ 122,
+ 31,
+ 212,
+ 213,
+ 24,
+ 25,
+ 124,
+ 30,
+ 132,
+ 61,
+ 97,
+ 55,
+ 151,
+ 212,
+ 169,
+ 250,
+ 157,
+ 166,
+ 254,
+ 159,
+ 119,
+ 59,
+ 148,
+ 125,
+ 204,
+ 0,
+ 35,
+ 196,
+ 62,
+ 145,
+ 125,
+ 245,
+ 117,
+ 186,
+ 173,
+ 234,
+ 144,
+ 35,
+ 125,
+ 149,
+ 248,
+ 140,
+ 84,
+ 105,
+ 46,
+ 248,
+ 190,
+ 103,
+ 46
+ ],
+ "ciphertext": [
+ 142,
+ 100,
+ 11,
+ 135,
+ 157,
+ 71,
+ 61,
+ 124,
+ 230,
+ 104,
+ 145,
+ 117,
+ 128,
+ 139,
+ 146,
+ 91,
+ 107,
+ 161,
+ 23,
+ 122,
+ 216,
+ 176,
+ 197,
+ 50,
+ 8,
+ 225,
+ 183,
+ 198,
+ 48,
+ 56,
+ 68,
+ 245,
+ 44,
+ 140,
+ 174,
+ 87,
+ 145,
+ 208,
+ 174,
+ 206,
+ 234,
+ 2,
+ 141,
+ 172,
+ 16,
+ 127,
+ 173,
+ 94,
+ 128,
+ 134,
+ 108
+ ],
+ "tag": [
+ 56,
+ 73,
+ 228,
+ 254,
+ 252,
+ 236,
+ 177,
+ 8,
+ 248,
+ 61,
+ 220,
+ 3,
+ 154,
+ 33,
+ 221,
+ 145
+ ]
+ },
+ {
+ "key": [
+ 24,
+ 111,
+ 106,
+ 115,
+ 172,
+ 130,
+ 227,
+ 63,
+ 105,
+ 197,
+ 177,
+ 88,
+ 199,
+ 238,
+ 28,
+ 190
+ ],
+ "nonce": [
+ 186,
+ 212,
+ 27,
+ 254,
+ 139,
+ 103,
+ 21,
+ 17,
+ 49,
+ 232,
+ 91,
+ 43
+ ],
+ "aad": [
+ 218,
+ 180,
+ 150,
+ 174,
+ 20,
+ 18,
+ 90,
+ 242,
+ 254,
+ 244,
+ 126,
+ 227,
+ 178,
+ 38,
+ 166,
+ 201,
+ 46,
+ 153,
+ 185,
+ 224
+ ],
+ "plaintext": [
+ 204,
+ 77,
+ 157,
+ 194,
+ 223,
+ 134,
+ 22,
+ 83,
+ 67,
+ 170,
+ 218,
+ 96,
+ 203,
+ 92,
+ 29,
+ 159,
+ 153,
+ 19,
+ 49,
+ 213,
+ 48,
+ 216,
+ 96,
+ 219,
+ 249,
+ 22,
+ 105,
+ 7,
+ 211,
+ 148,
+ 114,
+ 27,
+ 42,
+ 34,
+ 181,
+ 58,
+ 107,
+ 7,
+ 12,
+ 92,
+ 179,
+ 43,
+ 163,
+ 120,
+ 143,
+ 245,
+ 91,
+ 198,
+ 160,
+ 213,
+ 243
+ ],
+ "ciphertext": [
+ 65,
+ 161,
+ 124,
+ 59,
+ 24,
+ 230,
+ 125,
+ 132,
+ 191,
+ 171,
+ 52,
+ 75,
+ 255,
+ 20,
+ 41,
+ 168,
+ 124,
+ 48,
+ 118,
+ 135,
+ 158,
+ 164,
+ 35,
+ 131,
+ 209,
+ 230,
+ 34,
+ 231,
+ 16,
+ 166,
+ 6,
+ 18,
+ 238,
+ 207,
+ 47,
+ 174,
+ 138,
+ 86,
+ 169,
+ 90,
+ 8,
+ 201,
+ 88,
+ 165,
+ 47,
+ 135,
+ 62,
+ 203,
+ 48,
+ 55,
+ 133
+ ],
+ "tag": [
+ 51,
+ 80,
+ 21,
+ 225,
+ 77,
+ 44,
+ 216,
+ 235,
+ 152,
+ 19,
+ 121,
+ 156,
+ 92,
+ 112,
+ 58,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 20,
+ 186,
+ 57,
+ 1,
+ 218,
+ 249,
+ 219,
+ 64,
+ 213,
+ 223,
+ 189,
+ 130,
+ 138,
+ 54,
+ 26,
+ 184
+ ],
+ "nonce": [
+ 175,
+ 55,
+ 25,
+ 39,
+ 7,
+ 163,
+ 128,
+ 75,
+ 235,
+ 87,
+ 200,
+ 54
+ ],
+ "aad": [
+ 26,
+ 196,
+ 163,
+ 142,
+ 131,
+ 100,
+ 144,
+ 4,
+ 114,
+ 125,
+ 43,
+ 43,
+ 113,
+ 7,
+ 82,
+ 100,
+ 207,
+ 202,
+ 222,
+ 9
+ ],
+ "plaintext": [
+ 133,
+ 240,
+ 22,
+ 248,
+ 60,
+ 235,
+ 167,
+ 106,
+ 6,
+ 142,
+ 93,
+ 239,
+ 62,
+ 213,
+ 235,
+ 172,
+ 133,
+ 226,
+ 3,
+ 198,
+ 158,
+ 50,
+ 103,
+ 101,
+ 80,
+ 198,
+ 237,
+ 134,
+ 78,
+ 223,
+ 210,
+ 204,
+ 178,
+ 200,
+ 218,
+ 65,
+ 90,
+ 66,
+ 204,
+ 110,
+ 173,
+ 121,
+ 30,
+ 134,
+ 146,
+ 150,
+ 9,
+ 30,
+ 254,
+ 124,
+ 160
+ ],
+ "ciphertext": [
+ 42,
+ 104,
+ 46,
+ 85,
+ 121,
+ 215,
+ 248,
+ 1,
+ 253,
+ 189,
+ 221,
+ 178,
+ 181,
+ 248,
+ 86,
+ 76,
+ 158,
+ 145,
+ 195,
+ 156,
+ 222,
+ 71,
+ 196,
+ 138,
+ 193,
+ 223,
+ 253,
+ 247,
+ 239,
+ 22,
+ 116,
+ 237,
+ 147,
+ 126,
+ 119,
+ 33,
+ 86,
+ 145,
+ 17,
+ 10,
+ 183,
+ 48,
+ 175,
+ 151,
+ 52,
+ 159,
+ 132,
+ 18,
+ 142,
+ 237,
+ 86
+ ],
+ "tag": [
+ 177,
+ 181,
+ 2,
+ 152,
+ 244,
+ 139,
+ 150,
+ 230,
+ 121,
+ 195,
+ 215,
+ 31,
+ 61,
+ 23,
+ 214,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 192,
+ 85,
+ 43,
+ 47,
+ 84,
+ 244,
+ 232,
+ 41,
+ 33,
+ 25,
+ 219,
+ 246,
+ 18,
+ 133,
+ 254,
+ 205
+ ],
+ "nonce": [
+ 181,
+ 165,
+ 128,
+ 236,
+ 35,
+ 117,
+ 54,
+ 144,
+ 214,
+ 199,
+ 57,
+ 47
+ ],
+ "aad": [
+ 70,
+ 202,
+ 216,
+ 63,
+ 190,
+ 164,
+ 196,
+ 123,
+ 147,
+ 116,
+ 186,
+ 203,
+ 7,
+ 36,
+ 114,
+ 237,
+ 206,
+ 206,
+ 154,
+ 207
+ ],
+ "plaintext": [
+ 136,
+ 192,
+ 79,
+ 52,
+ 33,
+ 222,
+ 65,
+ 95,
+ 158,
+ 233,
+ 180,
+ 126,
+ 3,
+ 54,
+ 102,
+ 192,
+ 209,
+ 130,
+ 208,
+ 79,
+ 56,
+ 230,
+ 250,
+ 255,
+ 95,
+ 238,
+ 94,
+ 200,
+ 157,
+ 27,
+ 211,
+ 145,
+ 7,
+ 158,
+ 144,
+ 251,
+ 34,
+ 197,
+ 55,
+ 239,
+ 228,
+ 86,
+ 23,
+ 24,
+ 88,
+ 142,
+ 171,
+ 49,
+ 60,
+ 253,
+ 92
+ ],
+ "ciphertext": [
+ 44,
+ 168,
+ 58,
+ 74,
+ 99,
+ 222,
+ 64,
+ 74,
+ 210,
+ 48,
+ 106,
+ 73,
+ 24,
+ 66,
+ 15,
+ 227,
+ 16,
+ 92,
+ 247,
+ 249,
+ 165,
+ 45,
+ 22,
+ 170,
+ 97,
+ 14,
+ 59,
+ 105,
+ 160,
+ 254,
+ 210,
+ 70,
+ 218,
+ 65,
+ 118,
+ 140,
+ 128,
+ 28,
+ 25,
+ 215,
+ 80,
+ 44,
+ 204,
+ 205,
+ 91,
+ 160,
+ 161,
+ 188,
+ 11,
+ 80,
+ 246
+ ],
+ "tag": [
+ 140,
+ 3,
+ 48,
+ 78,
+ 138,
+ 116,
+ 221,
+ 82,
+ 212,
+ 227,
+ 186,
+ 236,
+ 137,
+ 205,
+ 57,
+ 125
+ ]
+ },
+ {
+ "key": [
+ 198,
+ 239,
+ 190,
+ 237,
+ 202,
+ 151,
+ 156,
+ 178,
+ 196,
+ 250,
+ 93,
+ 100,
+ 84,
+ 167,
+ 125,
+ 193
+ ],
+ "nonce": [
+ 78,
+ 87,
+ 223,
+ 73,
+ 136,
+ 217,
+ 61,
+ 19,
+ 220,
+ 81,
+ 36,
+ 135
+ ],
+ "aad": [
+ 158,
+ 101,
+ 208,
+ 84,
+ 39,
+ 17,
+ 254,
+ 87,
+ 171,
+ 253,
+ 162,
+ 117,
+ 135,
+ 239,
+ 65,
+ 97,
+ 235,
+ 63,
+ 227,
+ 46
+ ],
+ "plaintext": [
+ 165,
+ 32,
+ 119,
+ 73,
+ 27,
+ 32,
+ 172,
+ 101,
+ 239,
+ 248,
+ 155,
+ 208,
+ 189,
+ 182,
+ 21,
+ 12,
+ 167,
+ 85,
+ 207,
+ 70,
+ 156,
+ 66,
+ 235,
+ 188,
+ 92,
+ 149,
+ 187,
+ 207,
+ 58,
+ 186,
+ 145,
+ 169,
+ 0,
+ 43,
+ 243,
+ 134,
+ 252,
+ 154,
+ 18,
+ 111,
+ 174,
+ 115,
+ 219,
+ 178,
+ 218,
+ 167,
+ 206,
+ 183,
+ 157,
+ 11,
+ 95
+ ],
+ "ciphertext": [
+ 77,
+ 216,
+ 3,
+ 207,
+ 108,
+ 153,
+ 210,
+ 206,
+ 62,
+ 232,
+ 161,
+ 153,
+ 111,
+ 82,
+ 131,
+ 126,
+ 82,
+ 195,
+ 187,
+ 56,
+ 108,
+ 252,
+ 39,
+ 146,
+ 49,
+ 142,
+ 27,
+ 166,
+ 76,
+ 53,
+ 182,
+ 56,
+ 201,
+ 80,
+ 139,
+ 46,
+ 33,
+ 209,
+ 218,
+ 110,
+ 99,
+ 94,
+ 89,
+ 227,
+ 124,
+ 2,
+ 192,
+ 176,
+ 162,
+ 82,
+ 157
+ ],
+ "tag": [
+ 175,
+ 132,
+ 124,
+ 228,
+ 25,
+ 250,
+ 84,
+ 4,
+ 90,
+ 139,
+ 243,
+ 16,
+ 98,
+ 246,
+ 211,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 61,
+ 104,
+ 64,
+ 29,
+ 124,
+ 95,
+ 92,
+ 10,
+ 37,
+ 41,
+ 237,
+ 224,
+ 7,
+ 36,
+ 190,
+ 20
+ ],
+ "nonce": [
+ 63,
+ 62,
+ 175,
+ 118,
+ 231,
+ 134,
+ 232,
+ 175,
+ 84,
+ 186,
+ 165,
+ 111
+ ],
+ "aad": [
+ 106,
+ 110,
+ 62,
+ 168,
+ 21,
+ 224,
+ 28,
+ 218,
+ 120,
+ 167,
+ 107,
+ 15,
+ 184,
+ 189,
+ 175,
+ 184,
+ 162,
+ 90,
+ 107,
+ 126
+ ],
+ "plaintext": [
+ 139,
+ 254,
+ 174,
+ 29,
+ 173,
+ 252,
+ 85,
+ 186,
+ 202,
+ 25,
+ 26,
+ 106,
+ 63,
+ 84,
+ 171,
+ 114,
+ 24,
+ 98,
+ 197,
+ 28,
+ 230,
+ 132,
+ 228,
+ 174,
+ 166,
+ 233,
+ 163,
+ 226,
+ 243,
+ 210,
+ 170,
+ 193,
+ 74,
+ 241,
+ 203,
+ 2,
+ 82,
+ 242,
+ 154,
+ 76,
+ 140,
+ 9,
+ 132,
+ 206,
+ 134,
+ 122,
+ 206,
+ 188,
+ 117,
+ 150,
+ 199
+ ],
+ "ciphertext": [
+ 138,
+ 98,
+ 184,
+ 26,
+ 105,
+ 230,
+ 225,
+ 4,
+ 220,
+ 7,
+ 92,
+ 195,
+ 39,
+ 48,
+ 255,
+ 203,
+ 65,
+ 155,
+ 159,
+ 65,
+ 113,
+ 30,
+ 6,
+ 215,
+ 194,
+ 217,
+ 232,
+ 145,
+ 168,
+ 141,
+ 198,
+ 232,
+ 136,
+ 23,
+ 207,
+ 91,
+ 194,
+ 184,
+ 126,
+ 149,
+ 196,
+ 103,
+ 141,
+ 175,
+ 12,
+ 164,
+ 184,
+ 241,
+ 224,
+ 57,
+ 39
+ ],
+ "tag": [
+ 158,
+ 235,
+ 188,
+ 238,
+ 70,
+ 86,
+ 95,
+ 212,
+ 195,
+ 75,
+ 143,
+ 71,
+ 188,
+ 217,
+ 75,
+ 49
+ ]
+ },
+ {
+ "key": [
+ 6,
+ 87,
+ 187,
+ 89,
+ 108,
+ 194,
+ 142,
+ 175,
+ 213,
+ 28,
+ 192,
+ 154,
+ 62,
+ 110,
+ 193,
+ 246
+ ],
+ "nonce": [
+ 142,
+ 17,
+ 160,
+ 98,
+ 95,
+ 186,
+ 81,
+ 105,
+ 134,
+ 20,
+ 248,
+ 249
+ ],
+ "aad": [
+ 207,
+ 115,
+ 113,
+ 84,
+ 116,
+ 228,
+ 157,
+ 113,
+ 244,
+ 245,
+ 173,
+ 8,
+ 226,
+ 9,
+ 255,
+ 151,
+ 116,
+ 174,
+ 150,
+ 57
+ ],
+ "plaintext": [
+ 67,
+ 95,
+ 22,
+ 245,
+ 106,
+ 167,
+ 23,
+ 52,
+ 220,
+ 101,
+ 113,
+ 226,
+ 113,
+ 66,
+ 7,
+ 247,
+ 255,
+ 133,
+ 199,
+ 238,
+ 170,
+ 24,
+ 121,
+ 144,
+ 31,
+ 47,
+ 250,
+ 0,
+ 234,
+ 69,
+ 3,
+ 141,
+ 181,
+ 67,
+ 41,
+ 240,
+ 162,
+ 231,
+ 138,
+ 197,
+ 138,
+ 93,
+ 118,
+ 49,
+ 71,
+ 136,
+ 216,
+ 53,
+ 23,
+ 119,
+ 250
+ ],
+ "ciphertext": [
+ 216,
+ 118,
+ 51,
+ 159,
+ 13,
+ 179,
+ 191,
+ 240,
+ 34,
+ 203,
+ 69,
+ 4,
+ 254,
+ 10,
+ 138,
+ 226,
+ 96,
+ 64,
+ 16,
+ 47,
+ 87,
+ 94,
+ 205,
+ 78,
+ 69,
+ 131,
+ 176,
+ 73,
+ 89,
+ 151,
+ 98,
+ 84,
+ 208,
+ 115,
+ 132,
+ 20,
+ 27,
+ 165,
+ 116,
+ 141,
+ 53,
+ 121,
+ 129,
+ 94,
+ 59,
+ 94,
+ 29,
+ 30,
+ 143,
+ 221,
+ 170
+ ],
+ "tag": [
+ 126,
+ 111,
+ 112,
+ 150,
+ 228,
+ 37,
+ 145,
+ 31,
+ 231,
+ 57,
+ 172,
+ 144,
+ 204,
+ 160,
+ 95,
+ 218
+ ]
+ },
+ {
+ "key": [
+ 178,
+ 198,
+ 69,
+ 224,
+ 242,
+ 221,
+ 13,
+ 33,
+ 233,
+ 81,
+ 19,
+ 100,
+ 249,
+ 53,
+ 89,
+ 25
+ ],
+ "nonce": [
+ 145,
+ 246,
+ 240,
+ 137,
+ 245,
+ 232,
+ 40,
+ 214,
+ 253,
+ 241,
+ 37,
+ 16
+ ],
+ "aad": [
+ 230,
+ 120,
+ 31,
+ 248,
+ 144,
+ 50,
+ 223,
+ 94,
+ 83,
+ 152,
+ 16,
+ 143,
+ 29,
+ 86,
+ 157,
+ 127,
+ 131,
+ 39,
+ 178,
+ 92
+ ],
+ "plaintext": [
+ 60,
+ 1,
+ 21,
+ 158,
+ 71,
+ 135,
+ 167,
+ 74,
+ 112,
+ 123,
+ 78,
+ 173,
+ 59,
+ 225,
+ 38,
+ 184,
+ 25,
+ 131,
+ 18,
+ 150,
+ 130,
+ 31,
+ 26,
+ 221,
+ 57,
+ 71,
+ 98,
+ 172,
+ 151,
+ 89,
+ 156,
+ 200,
+ 16,
+ 189,
+ 151,
+ 32,
+ 93,
+ 7,
+ 67,
+ 84,
+ 142,
+ 113,
+ 80,
+ 191,
+ 190,
+ 109,
+ 156,
+ 27,
+ 165,
+ 213,
+ 129
+ ],
+ "ciphertext": [
+ 26,
+ 6,
+ 222,
+ 193,
+ 142,
+ 180,
+ 201,
+ 179,
+ 97,
+ 241,
+ 242,
+ 236,
+ 99,
+ 145,
+ 218,
+ 242,
+ 117,
+ 241,
+ 93,
+ 151,
+ 167,
+ 241,
+ 167,
+ 63,
+ 190,
+ 29,
+ 20,
+ 75,
+ 193,
+ 225,
+ 1,
+ 130,
+ 0,
+ 247,
+ 37,
+ 213,
+ 36,
+ 0,
+ 198,
+ 147,
+ 164,
+ 56,
+ 237,
+ 181,
+ 149,
+ 253,
+ 69,
+ 88,
+ 196,
+ 34,
+ 122
+ ],
+ "tag": [
+ 69,
+ 23,
+ 131,
+ 135,
+ 79,
+ 157,
+ 146,
+ 83,
+ 40,
+ 32,
+ 139,
+ 196,
+ 197,
+ 110,
+ 237,
+ 51
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 80,
+ 98,
+ 40,
+ 104,
+ 244,
+ 80,
+ 170,
+ 9,
+ 40,
+ 153,
+ 12,
+ 21,
+ 225,
+ 235,
+ 54
+ ],
+ "nonce": [
+ 129,
+ 29,
+ 82,
+ 144,
+ 118,
+ 141,
+ 87,
+ 231,
+ 216,
+ 123,
+ 182,
+ 199
+ ],
+ "aad": [
+ 218,
+ 226,
+ 199,
+ 224,
+ 163,
+ 211,
+ 253,
+ 43,
+ 192,
+ 78,
+ 202,
+ 25,
+ 177,
+ 81,
+ 120,
+ 160,
+ 3,
+ 181,
+ 207,
+ 132,
+ 137,
+ 12,
+ 40,
+ 194,
+ 166,
+ 21,
+ 242,
+ 15,
+ 138,
+ 219,
+ 66,
+ 127,
+ 112,
+ 105,
+ 140,
+ 18,
+ 178,
+ 239,
+ 135,
+ 120,
+ 12,
+ 17,
+ 147,
+ 251,
+ 184,
+ 205,
+ 22,
+ 116
+ ],
+ "plaintext": [
+ 237,
+ 208,
+ 168,
+ 248,
+ 40,
+ 51,
+ 233,
+ 25,
+ 116,
+ 15,
+ 226,
+ 191,
+ 158,
+ 222,
+ 207,
+ 74,
+ 200,
+ 108,
+ 114,
+ 220,
+ 137,
+ 73,
+ 12,
+ 239,
+ 123,
+ 105,
+ 131,
+ 170,
+ 175,
+ 153,
+ 252,
+ 133,
+ 108,
+ 92,
+ 200,
+ 125,
+ 99,
+ 249,
+ 138,
+ 124,
+ 134,
+ 27,
+ 243,
+ 39,
+ 31,
+ 234,
+ 109,
+ 168,
+ 106,
+ 21,
+ 171
+ ],
+ "ciphertext": [
+ 165,
+ 20,
+ 37,
+ 176,
+ 96,
+ 141,
+ 59,
+ 75,
+ 70,
+ 212,
+ 236,
+ 5,
+ 202,
+ 29,
+ 218,
+ 240,
+ 43,
+ 221,
+ 32,
+ 137,
+ 174,
+ 5,
+ 84,
+ 236,
+ 251,
+ 42,
+ 28,
+ 132,
+ 198,
+ 61,
+ 130,
+ 220,
+ 113,
+ 221,
+ 185,
+ 171,
+ 27,
+ 31,
+ 11,
+ 73,
+ 222,
+ 42,
+ 210,
+ 124,
+ 43,
+ 81,
+ 115,
+ 231,
+ 0,
+ 10,
+ 166
+ ],
+ "tag": [
+ 189,
+ 155,
+ 94,
+ 252,
+ 164,
+ 128,
+ 8,
+ 205,
+ 151,
+ 58,
+ 79,
+ 125,
+ 44,
+ 114,
+ 56,
+ 68
+ ]
+ },
+ {
+ "key": [
+ 167,
+ 38,
+ 140,
+ 126,
+ 247,
+ 187,
+ 194,
+ 190,
+ 74,
+ 63,
+ 252,
+ 40,
+ 32,
+ 25,
+ 251,
+ 166
+ ],
+ "nonce": [
+ 223,
+ 44,
+ 91,
+ 208,
+ 63,
+ 44,
+ 196,
+ 90,
+ 7,
+ 23,
+ 49,
+ 68
+ ],
+ "aad": [
+ 68,
+ 91,
+ 78,
+ 198,
+ 197,
+ 5,
+ 241,
+ 50,
+ 211,
+ 176,
+ 18,
+ 223,
+ 98,
+ 79,
+ 232,
+ 246,
+ 233,
+ 205,
+ 160,
+ 216,
+ 236,
+ 94,
+ 30,
+ 247,
+ 205,
+ 232,
+ 184,
+ 146,
+ 89,
+ 225,
+ 103,
+ 214,
+ 140,
+ 31,
+ 180,
+ 220,
+ 74,
+ 120,
+ 229,
+ 197,
+ 147,
+ 119,
+ 243,
+ 46,
+ 245,
+ 206,
+ 164,
+ 185
+ ],
+ "plaintext": [
+ 248,
+ 139,
+ 234,
+ 233,
+ 49,
+ 166,
+ 142,
+ 216,
+ 19,
+ 163,
+ 91,
+ 239,
+ 84,
+ 189,
+ 153,
+ 153,
+ 253,
+ 35,
+ 206,
+ 74,
+ 29,
+ 37,
+ 142,
+ 52,
+ 250,
+ 193,
+ 132,
+ 186,
+ 121,
+ 145,
+ 50,
+ 164,
+ 8,
+ 189,
+ 228,
+ 206,
+ 210,
+ 55,
+ 72,
+ 219,
+ 91,
+ 53,
+ 234,
+ 150,
+ 146,
+ 244,
+ 225,
+ 86,
+ 29,
+ 76,
+ 220
+ ],
+ "ciphertext": [
+ 234,
+ 83,
+ 226,
+ 100,
+ 225,
+ 176,
+ 246,
+ 126,
+ 227,
+ 124,
+ 129,
+ 35,
+ 77,
+ 59,
+ 156,
+ 37,
+ 58,
+ 177,
+ 169,
+ 74,
+ 74,
+ 209,
+ 119,
+ 121,
+ 239,
+ 203,
+ 238,
+ 240,
+ 82,
+ 97,
+ 41,
+ 176,
+ 253,
+ 34,
+ 75,
+ 88,
+ 132,
+ 235,
+ 139,
+ 56,
+ 227,
+ 92,
+ 224,
+ 189,
+ 218,
+ 34,
+ 46,
+ 48,
+ 245,
+ 118,
+ 243
+ ],
+ "tag": [
+ 56,
+ 181,
+ 239,
+ 141,
+ 102,
+ 15,
+ 133,
+ 109,
+ 73,
+ 93,
+ 181,
+ 15,
+ 112,
+ 43,
+ 180,
+ 98
+ ]
+ },
+ {
+ "key": [
+ 24,
+ 61,
+ 198,
+ 188,
+ 154,
+ 73,
+ 115,
+ 4,
+ 1,
+ 30,
+ 90,
+ 164,
+ 29,
+ 197,
+ 117,
+ 180
+ ],
+ "nonce": [
+ 15,
+ 78,
+ 41,
+ 97,
+ 216,
+ 172,
+ 79,
+ 129,
+ 245,
+ 89,
+ 222,
+ 124
+ ],
+ "aad": [
+ 138,
+ 222,
+ 54,
+ 192,
+ 214,
+ 143,
+ 164,
+ 49,
+ 131,
+ 139,
+ 235,
+ 159,
+ 29,
+ 106,
+ 66,
+ 35,
+ 101,
+ 2,
+ 75,
+ 213,
+ 1,
+ 153,
+ 121,
+ 250,
+ 155,
+ 9,
+ 183,
+ 196,
+ 75,
+ 120,
+ 94,
+ 5,
+ 29,
+ 222,
+ 213,
+ 201,
+ 226,
+ 31,
+ 52,
+ 44,
+ 243,
+ 118,
+ 231,
+ 44,
+ 218,
+ 233,
+ 82,
+ 7
+ ],
+ "plaintext": [
+ 170,
+ 173,
+ 56,
+ 184,
+ 71,
+ 199,
+ 166,
+ 252,
+ 232,
+ 1,
+ 255,
+ 75,
+ 166,
+ 38,
+ 57,
+ 89,
+ 44,
+ 72,
+ 115,
+ 130,
+ 231,
+ 227,
+ 171,
+ 15,
+ 41,
+ 208,
+ 221,
+ 228,
+ 50,
+ 243,
+ 16,
+ 40,
+ 192,
+ 177,
+ 76,
+ 103,
+ 193,
+ 92,
+ 195,
+ 102,
+ 76,
+ 102,
+ 12,
+ 25,
+ 123,
+ 71,
+ 146,
+ 67,
+ 57,
+ 36,
+ 212
+ ],
+ "ciphertext": [
+ 56,
+ 224,
+ 157,
+ 118,
+ 18,
+ 165,
+ 54,
+ 168,
+ 13,
+ 46,
+ 50,
+ 164,
+ 107,
+ 14,
+ 30,
+ 74,
+ 177,
+ 225,
+ 2,
+ 46,
+ 133,
+ 68,
+ 97,
+ 170,
+ 126,
+ 105,
+ 93,
+ 122,
+ 164,
+ 160,
+ 3,
+ 227,
+ 121,
+ 192,
+ 226,
+ 112,
+ 250,
+ 206,
+ 41,
+ 225,
+ 157,
+ 116,
+ 212,
+ 10,
+ 96,
+ 251,
+ 46,
+ 140,
+ 114,
+ 106,
+ 202
+ ],
+ "tag": [
+ 64,
+ 4,
+ 233,
+ 118,
+ 63,
+ 74,
+ 125,
+ 15,
+ 203,
+ 11,
+ 165,
+ 124,
+ 118,
+ 17,
+ 242,
+ 129
+ ]
+ },
+ {
+ "key": [
+ 4,
+ 125,
+ 203,
+ 136,
+ 193,
+ 107,
+ 208,
+ 211,
+ 45,
+ 154,
+ 98,
+ 114,
+ 176,
+ 121,
+ 227,
+ 121
+ ],
+ "nonce": [
+ 209,
+ 116,
+ 237,
+ 141,
+ 96,
+ 192,
+ 213,
+ 200,
+ 20,
+ 218,
+ 212,
+ 246
+ ],
+ "aad": [
+ 198,
+ 86,
+ 112,
+ 34,
+ 189,
+ 181,
+ 242,
+ 243,
+ 161,
+ 227,
+ 215,
+ 142,
+ 2,
+ 2,
+ 165,
+ 246,
+ 180,
+ 87,
+ 192,
+ 235,
+ 244,
+ 106,
+ 75,
+ 6,
+ 32,
+ 175,
+ 162,
+ 181,
+ 186,
+ 112,
+ 111,
+ 26,
+ 55,
+ 249,
+ 50,
+ 5,
+ 138,
+ 253,
+ 184,
+ 207,
+ 78,
+ 185,
+ 163,
+ 129,
+ 94,
+ 202,
+ 212,
+ 69
+ ],
+ "plaintext": [
+ 249,
+ 87,
+ 16,
+ 79,
+ 31,
+ 216,
+ 126,
+ 158,
+ 29,
+ 109,
+ 53,
+ 23,
+ 26,
+ 28,
+ 190,
+ 143,
+ 178,
+ 44,
+ 180,
+ 234,
+ 122,
+ 186,
+ 49,
+ 231,
+ 99,
+ 231,
+ 124,
+ 111,
+ 41,
+ 29,
+ 184,
+ 28,
+ 99,
+ 201,
+ 16,
+ 207,
+ 155,
+ 141,
+ 55,
+ 191,
+ 147,
+ 250,
+ 40,
+ 253,
+ 78,
+ 40,
+ 8,
+ 72,
+ 11,
+ 88,
+ 54
+ ],
+ "ciphertext": [
+ 183,
+ 248,
+ 60,
+ 183,
+ 126,
+ 249,
+ 56,
+ 149,
+ 166,
+ 114,
+ 29,
+ 250,
+ 253,
+ 232,
+ 147,
+ 0,
+ 144,
+ 210,
+ 169,
+ 243,
+ 154,
+ 29,
+ 96,
+ 91,
+ 187,
+ 141,
+ 127,
+ 224,
+ 240,
+ 250,
+ 131,
+ 143,
+ 198,
+ 209,
+ 240,
+ 229,
+ 229,
+ 50,
+ 89,
+ 45,
+ 12,
+ 104,
+ 130,
+ 49,
+ 226,
+ 65,
+ 57,
+ 230,
+ 53,
+ 181,
+ 2
+ ],
+ "tag": [
+ 69,
+ 35,
+ 104,
+ 212,
+ 47,
+ 138,
+ 18,
+ 17,
+ 180,
+ 160,
+ 24,
+ 173,
+ 26,
+ 207,
+ 131,
+ 125
+ ]
+ },
+ {
+ "key": [
+ 114,
+ 134,
+ 254,
+ 152,
+ 172,
+ 12,
+ 3,
+ 37,
+ 47,
+ 58,
+ 183,
+ 234,
+ 187,
+ 137,
+ 136,
+ 235
+ ],
+ "nonce": [
+ 227,
+ 46,
+ 112,
+ 140,
+ 99,
+ 2,
+ 206,
+ 38,
+ 144,
+ 43,
+ 213,
+ 153
+ ],
+ "aad": [
+ 75,
+ 144,
+ 3,
+ 160,
+ 37,
+ 158,
+ 215,
+ 10,
+ 235,
+ 250,
+ 188,
+ 144,
+ 171,
+ 231,
+ 80,
+ 184,
+ 136,
+ 233,
+ 219,
+ 69,
+ 61,
+ 159,
+ 149,
+ 121,
+ 13,
+ 117,
+ 45,
+ 74,
+ 185,
+ 242,
+ 8,
+ 238,
+ 71,
+ 128,
+ 70,
+ 171,
+ 170,
+ 155,
+ 43,
+ 242,
+ 69,
+ 100,
+ 33,
+ 96,
+ 113,
+ 97,
+ 50,
+ 151
+ ],
+ "plaintext": [
+ 88,
+ 250,
+ 208,
+ 55,
+ 230,
+ 239,
+ 166,
+ 86,
+ 48,
+ 202,
+ 20,
+ 105,
+ 135,
+ 37,
+ 83,
+ 140,
+ 104,
+ 108,
+ 237,
+ 73,
+ 124,
+ 88,
+ 74,
+ 250,
+ 210,
+ 24,
+ 250,
+ 59,
+ 117,
+ 59,
+ 234,
+ 167,
+ 167,
+ 47,
+ 171,
+ 156,
+ 76,
+ 16,
+ 138,
+ 209,
+ 75,
+ 245,
+ 240,
+ 36,
+ 97,
+ 63,
+ 145,
+ 161,
+ 21,
+ 86,
+ 121
+ ],
+ "ciphertext": [
+ 234,
+ 208,
+ 188,
+ 78,
+ 89,
+ 2,
+ 96,
+ 5,
+ 152,
+ 249,
+ 202,
+ 158,
+ 145,
+ 207,
+ 69,
+ 67,
+ 66,
+ 12,
+ 214,
+ 78,
+ 40,
+ 26,
+ 113,
+ 15,
+ 232,
+ 144,
+ 224,
+ 207,
+ 254,
+ 250,
+ 128,
+ 61,
+ 140,
+ 4,
+ 99,
+ 144,
+ 218,
+ 111,
+ 80,
+ 253,
+ 68,
+ 183,
+ 232,
+ 120,
+ 97,
+ 172,
+ 64,
+ 136,
+ 181,
+ 38,
+ 109
+ ],
+ "tag": [
+ 151,
+ 6,
+ 89,
+ 213,
+ 23,
+ 13,
+ 101,
+ 75,
+ 85,
+ 202,
+ 95,
+ 121,
+ 169,
+ 224,
+ 105,
+ 87
+ ]
+ },
+ {
+ "key": [
+ 13,
+ 195,
+ 9,
+ 13,
+ 39,
+ 134,
+ 239,
+ 241,
+ 103,
+ 178,
+ 145,
+ 232,
+ 149,
+ 172,
+ 34,
+ 97
+ ],
+ "nonce": [
+ 106,
+ 200,
+ 243,
+ 168,
+ 166,
+ 20,
+ 72,
+ 225,
+ 254,
+ 192,
+ 109,
+ 109
+ ],
+ "aad": [
+ 168,
+ 85,
+ 136,
+ 212,
+ 101,
+ 177,
+ 236,
+ 45,
+ 147,
+ 92,
+ 225,
+ 186,
+ 93,
+ 99,
+ 151,
+ 189,
+ 87,
+ 5,
+ 89,
+ 21,
+ 50,
+ 152,
+ 48,
+ 177,
+ 170,
+ 74,
+ 147,
+ 79,
+ 32,
+ 128,
+ 236,
+ 244,
+ 138,
+ 181,
+ 246,
+ 38,
+ 156,
+ 202,
+ 174,
+ 216,
+ 161,
+ 15,
+ 57,
+ 139,
+ 230,
+ 76,
+ 219,
+ 139
+ ],
+ "plaintext": [
+ 48,
+ 23,
+ 38,
+ 29,
+ 32,
+ 0,
+ 47,
+ 175,
+ 218,
+ 228,
+ 37,
+ 45,
+ 204,
+ 155,
+ 18,
+ 20,
+ 233,
+ 169,
+ 238,
+ 149,
+ 149,
+ 51,
+ 211,
+ 74,
+ 171,
+ 19,
+ 98,
+ 73,
+ 202,
+ 78,
+ 245,
+ 42,
+ 178,
+ 5,
+ 234,
+ 105,
+ 239,
+ 230,
+ 253,
+ 33,
+ 237,
+ 60,
+ 144,
+ 248,
+ 147,
+ 53,
+ 147,
+ 252,
+ 99,
+ 69,
+ 76
+ ],
+ "ciphertext": [
+ 31,
+ 215,
+ 239,
+ 196,
+ 26,
+ 84,
+ 55,
+ 64,
+ 72,
+ 229,
+ 210,
+ 161,
+ 150,
+ 187,
+ 181,
+ 183,
+ 132,
+ 82,
+ 99,
+ 157,
+ 178,
+ 50,
+ 196,
+ 193,
+ 6,
+ 250,
+ 141,
+ 166,
+ 177,
+ 71,
+ 26,
+ 193,
+ 74,
+ 175,
+ 35,
+ 40,
+ 233,
+ 89,
+ 169,
+ 197,
+ 95,
+ 32,
+ 29,
+ 114,
+ 113,
+ 69,
+ 17,
+ 81,
+ 191,
+ 180,
+ 141
+ ],
+ "tag": [
+ 190,
+ 127,
+ 240,
+ 50,
+ 45,
+ 77,
+ 66,
+ 0,
+ 157,
+ 173,
+ 244,
+ 142,
+ 90,
+ 169,
+ 57,
+ 213
+ ]
+ },
+ {
+ "key": [
+ 209,
+ 105,
+ 40,
+ 40,
+ 9,
+ 221,
+ 174,
+ 51,
+ 132,
+ 161,
+ 11,
+ 144,
+ 139,
+ 133,
+ 38,
+ 195
+ ],
+ "nonce": [
+ 201,
+ 68,
+ 138,
+ 144,
+ 46,
+ 5,
+ 248,
+ 171,
+ 16,
+ 173,
+ 146,
+ 232
+ ],
+ "aad": [
+ 113,
+ 177,
+ 239,
+ 236,
+ 78,
+ 80,
+ 4,
+ 29,
+ 4,
+ 70,
+ 224,
+ 59,
+ 7,
+ 255,
+ 223,
+ 240,
+ 92,
+ 98,
+ 89,
+ 217,
+ 10,
+ 167,
+ 179,
+ 49,
+ 137,
+ 233,
+ 83,
+ 96,
+ 191,
+ 235,
+ 162,
+ 58,
+ 254,
+ 145,
+ 77,
+ 15,
+ 23,
+ 219,
+ 107,
+ 164,
+ 126,
+ 161,
+ 101,
+ 204,
+ 6,
+ 213,
+ 1,
+ 231
+ ],
+ "plaintext": [
+ 73,
+ 11,
+ 70,
+ 159,
+ 132,
+ 147,
+ 157,
+ 98,
+ 224,
+ 15,
+ 222,
+ 245,
+ 52,
+ 48,
+ 35,
+ 46,
+ 91,
+ 14,
+ 241,
+ 48,
+ 213,
+ 134,
+ 187,
+ 250,
+ 138,
+ 61,
+ 59,
+ 163,
+ 13,
+ 145,
+ 97,
+ 75,
+ 100,
+ 224,
+ 218,
+ 9,
+ 47,
+ 22,
+ 184,
+ 58,
+ 70,
+ 201,
+ 56,
+ 110,
+ 190,
+ 208,
+ 191,
+ 158,
+ 134,
+ 57,
+ 80
+ ],
+ "ciphertext": [
+ 202,
+ 105,
+ 59,
+ 35,
+ 80,
+ 210,
+ 56,
+ 8,
+ 132,
+ 8,
+ 112,
+ 194,
+ 55,
+ 31,
+ 73,
+ 237,
+ 164,
+ 83,
+ 242,
+ 225,
+ 137,
+ 199,
+ 11,
+ 151,
+ 90,
+ 242,
+ 83,
+ 27,
+ 158,
+ 139,
+ 13,
+ 140,
+ 38,
+ 40,
+ 41,
+ 230,
+ 31,
+ 137,
+ 144,
+ 128,
+ 72,
+ 68,
+ 172,
+ 148,
+ 27,
+ 47,
+ 228,
+ 115,
+ 153,
+ 168,
+ 141
+ ],
+ "tag": [
+ 139,
+ 201,
+ 226,
+ 90,
+ 86,
+ 137,
+ 135,
+ 180,
+ 39,
+ 207,
+ 197,
+ 180,
+ 46,
+ 65,
+ 45,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 129,
+ 72,
+ 57,
+ 218,
+ 32,
+ 181,
+ 96,
+ 38,
+ 138,
+ 216,
+ 254,
+ 37,
+ 122,
+ 147,
+ 114
+ ],
+ "nonce": [
+ 241,
+ 87,
+ 172,
+ 74,
+ 131,
+ 167,
+ 183,
+ 59,
+ 128,
+ 133,
+ 8,
+ 93
+ ],
+ "aad": [
+ 155,
+ 66,
+ 46,
+ 116,
+ 242,
+ 16,
+ 153,
+ 37,
+ 38,
+ 76,
+ 28,
+ 13,
+ 218,
+ 43,
+ 104,
+ 201,
+ 121,
+ 175,
+ 218,
+ 193,
+ 16,
+ 228,
+ 43,
+ 129,
+ 175,
+ 210,
+ 197,
+ 158,
+ 45,
+ 243,
+ 255,
+ 63,
+ 147,
+ 131,
+ 37,
+ 82,
+ 182,
+ 38,
+ 179,
+ 130,
+ 18,
+ 18,
+ 163,
+ 226,
+ 12,
+ 64,
+ 25,
+ 73
+ ],
+ "plaintext": [
+ 187,
+ 173,
+ 146,
+ 45,
+ 230,
+ 222,
+ 167,
+ 21,
+ 55,
+ 36,
+ 163,
+ 51,
+ 85,
+ 78,
+ 26,
+ 175,
+ 46,
+ 55,
+ 174,
+ 205,
+ 24,
+ 43,
+ 69,
+ 136,
+ 93,
+ 4,
+ 243,
+ 209,
+ 28,
+ 55,
+ 99,
+ 254,
+ 89,
+ 194,
+ 104,
+ 40,
+ 211,
+ 12,
+ 157,
+ 169,
+ 90,
+ 219,
+ 117,
+ 251,
+ 213,
+ 251,
+ 210,
+ 230,
+ 236,
+ 225,
+ 44
+ ],
+ "ciphertext": [
+ 190,
+ 6,
+ 155,
+ 65,
+ 77,
+ 147,
+ 212,
+ 246,
+ 65,
+ 176,
+ 83,
+ 241,
+ 238,
+ 122,
+ 97,
+ 226,
+ 59,
+ 242,
+ 135,
+ 166,
+ 59,
+ 29,
+ 6,
+ 192,
+ 83,
+ 147,
+ 232,
+ 250,
+ 165,
+ 133,
+ 109,
+ 34,
+ 114,
+ 75,
+ 252,
+ 81,
+ 26,
+ 48,
+ 106,
+ 228,
+ 186,
+ 18,
+ 192,
+ 160,
+ 81,
+ 180,
+ 121,
+ 227,
+ 92,
+ 34,
+ 154
+ ],
+ "tag": [
+ 83,
+ 166,
+ 47,
+ 148,
+ 49,
+ 184,
+ 230,
+ 18,
+ 76,
+ 155,
+ 246,
+ 41,
+ 143,
+ 27,
+ 40,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 50,
+ 98,
+ 242,
+ 68,
+ 43,
+ 137,
+ 163,
+ 100,
+ 20,
+ 86,
+ 207,
+ 163,
+ 212,
+ 209,
+ 134,
+ 252
+ ],
+ "nonce": [
+ 208,
+ 252,
+ 79,
+ 143,
+ 123,
+ 183,
+ 74,
+ 23,
+ 99,
+ 134,
+ 36,
+ 7
+ ],
+ "aad": [
+ 190,
+ 225,
+ 200,
+ 237,
+ 82,
+ 191,
+ 52,
+ 116,
+ 49,
+ 186,
+ 188,
+ 202,
+ 194,
+ 166,
+ 66,
+ 117,
+ 34,
+ 64,
+ 69,
+ 213,
+ 193,
+ 18,
+ 46,
+ 184,
+ 194,
+ 172,
+ 61,
+ 135,
+ 145,
+ 165,
+ 169,
+ 195,
+ 122,
+ 191,
+ 5,
+ 12,
+ 64,
+ 110,
+ 190,
+ 185,
+ 71,
+ 66,
+ 139,
+ 182,
+ 13,
+ 88,
+ 208,
+ 98
+ ],
+ "plaintext": [
+ 252,
+ 221,
+ 124,
+ 216,
+ 58,
+ 54,
+ 111,
+ 148,
+ 40,
+ 157,
+ 139,
+ 71,
+ 3,
+ 69,
+ 252,
+ 206,
+ 162,
+ 175,
+ 247,
+ 120,
+ 237,
+ 217,
+ 246,
+ 12,
+ 109,
+ 130,
+ 115,
+ 179,
+ 39,
+ 122,
+ 132,
+ 57,
+ 101,
+ 240,
+ 212,
+ 255,
+ 139,
+ 225,
+ 230,
+ 30,
+ 232,
+ 44,
+ 170,
+ 232,
+ 117,
+ 75,
+ 135,
+ 231,
+ 71,
+ 178,
+ 213
+ ],
+ "ciphertext": [
+ 208,
+ 229,
+ 206,
+ 207,
+ 50,
+ 239,
+ 101,
+ 3,
+ 85,
+ 70,
+ 207,
+ 138,
+ 153,
+ 220,
+ 126,
+ 111,
+ 67,
+ 32,
+ 55,
+ 111,
+ 142,
+ 22,
+ 165,
+ 25,
+ 88,
+ 220,
+ 121,
+ 108,
+ 155,
+ 154,
+ 55,
+ 160,
+ 215,
+ 78,
+ 123,
+ 153,
+ 121,
+ 160,
+ 171,
+ 91,
+ 136,
+ 173,
+ 146,
+ 152,
+ 141,
+ 193,
+ 132,
+ 185,
+ 100,
+ 161,
+ 31
+ ],
+ "tag": [
+ 55,
+ 197,
+ 44,
+ 212,
+ 30,
+ 226,
+ 213,
+ 25,
+ 170,
+ 131,
+ 99,
+ 177,
+ 134,
+ 170,
+ 220,
+ 196
+ ]
+ },
+ {
+ "key": [
+ 252,
+ 147,
+ 115,
+ 72,
+ 164,
+ 70,
+ 138,
+ 250,
+ 166,
+ 41,
+ 241,
+ 88,
+ 220,
+ 255,
+ 90,
+ 110
+ ],
+ "nonce": [
+ 120,
+ 58,
+ 168,
+ 129,
+ 186,
+ 9,
+ 56,
+ 237,
+ 143,
+ 232,
+ 234,
+ 48
+ ],
+ "aad": [
+ 49,
+ 178,
+ 137,
+ 42,
+ 102,
+ 156,
+ 206,
+ 151,
+ 76,
+ 43,
+ 70,
+ 125,
+ 132,
+ 196,
+ 81,
+ 137,
+ 179,
+ 53,
+ 165,
+ 148,
+ 61,
+ 67,
+ 178,
+ 241,
+ 88,
+ 213,
+ 193,
+ 115,
+ 190,
+ 79,
+ 227,
+ 31,
+ 129,
+ 66,
+ 241,
+ 182,
+ 151,
+ 199,
+ 114,
+ 241,
+ 117,
+ 166,
+ 93,
+ 216,
+ 122,
+ 229,
+ 251,
+ 82
+ ],
+ "plaintext": [
+ 13,
+ 182,
+ 40,
+ 94,
+ 210,
+ 49,
+ 67,
+ 118,
+ 45,
+ 110,
+ 155,
+ 112,
+ 143,
+ 12,
+ 132,
+ 237,
+ 63,
+ 72,
+ 213,
+ 30,
+ 139,
+ 61,
+ 165,
+ 73,
+ 241,
+ 206,
+ 19,
+ 11,
+ 212,
+ 52,
+ 208,
+ 195,
+ 130,
+ 56,
+ 208,
+ 226,
+ 198,
+ 226,
+ 183,
+ 246,
+ 163,
+ 94,
+ 186,
+ 44,
+ 216,
+ 77,
+ 40,
+ 120,
+ 29,
+ 255,
+ 25
+ ],
+ "ciphertext": [
+ 41,
+ 214,
+ 101,
+ 121,
+ 31,
+ 172,
+ 9,
+ 167,
+ 45,
+ 210,
+ 23,
+ 141,
+ 105,
+ 222,
+ 22,
+ 165,
+ 234,
+ 52,
+ 50,
+ 191,
+ 112,
+ 172,
+ 250,
+ 161,
+ 116,
+ 236,
+ 76,
+ 201,
+ 61,
+ 247,
+ 239,
+ 255,
+ 95,
+ 60,
+ 5,
+ 124,
+ 31,
+ 250,
+ 204,
+ 128,
+ 235,
+ 41,
+ 145,
+ 177,
+ 199,
+ 154,
+ 181,
+ 101,
+ 193,
+ 249,
+ 122
+ ],
+ "tag": [
+ 17,
+ 58,
+ 45,
+ 208,
+ 190,
+ 96,
+ 221,
+ 69,
+ 234,
+ 79,
+ 61,
+ 139,
+ 144,
+ 193,
+ 18,
+ 44
+ ]
+ },
+ {
+ "key": [
+ 169,
+ 163,
+ 59,
+ 113,
+ 235,
+ 129,
+ 208,
+ 145,
+ 172,
+ 29,
+ 21,
+ 228,
+ 138,
+ 25,
+ 160,
+ 103
+ ],
+ "nonce": [
+ 187,
+ 134,
+ 185,
+ 153,
+ 117,
+ 49,
+ 66,
+ 222,
+ 101,
+ 115,
+ 232,
+ 99
+ ],
+ "aad": [
+ 122,
+ 75,
+ 168,
+ 179,
+ 14,
+ 238,
+ 226,
+ 244,
+ 87,
+ 183,
+ 70,
+ 153,
+ 210,
+ 255,
+ 119,
+ 216,
+ 249,
+ 145,
+ 47,
+ 9,
+ 117,
+ 121,
+ 114,
+ 191,
+ 142,
+ 94,
+ 142,
+ 195,
+ 118,
+ 132,
+ 168,
+ 225,
+ 82,
+ 59,
+ 10,
+ 254,
+ 192,
+ 174,
+ 181,
+ 250,
+ 186,
+ 189,
+ 217,
+ 69,
+ 251,
+ 85,
+ 234,
+ 196
+ ],
+ "plaintext": [
+ 145,
+ 2,
+ 70,
+ 210,
+ 67,
+ 87,
+ 134,
+ 253,
+ 200,
+ 249,
+ 80,
+ 160,
+ 227,
+ 167,
+ 157,
+ 8,
+ 30,
+ 161,
+ 196,
+ 30,
+ 235,
+ 184,
+ 117,
+ 222,
+ 46,
+ 238,
+ 157,
+ 170,
+ 168,
+ 37,
+ 8,
+ 80,
+ 246,
+ 54,
+ 82,
+ 44,
+ 201,
+ 83,
+ 65,
+ 151,
+ 103,
+ 173,
+ 36,
+ 152,
+ 43,
+ 241,
+ 68,
+ 39,
+ 36,
+ 57,
+ 113
+ ],
+ "ciphertext": [
+ 164,
+ 203,
+ 3,
+ 153,
+ 86,
+ 227,
+ 152,
+ 132,
+ 107,
+ 172,
+ 52,
+ 61,
+ 183,
+ 43,
+ 114,
+ 222,
+ 212,
+ 134,
+ 246,
+ 79,
+ 197,
+ 140,
+ 139,
+ 60,
+ 61,
+ 143,
+ 191,
+ 31,
+ 145,
+ 176,
+ 15,
+ 76,
+ 124,
+ 42,
+ 86,
+ 15,
+ 136,
+ 247,
+ 59,
+ 126,
+ 218,
+ 75,
+ 242,
+ 188,
+ 201,
+ 212,
+ 247,
+ 166,
+ 198,
+ 47,
+ 159
+ ],
+ "tag": [
+ 221,
+ 89,
+ 79,
+ 52,
+ 162,
+ 159,
+ 160,
+ 42,
+ 243,
+ 172,
+ 207,
+ 86,
+ 125,
+ 124,
+ 82,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 124,
+ 178,
+ 249,
+ 123,
+ 86,
+ 9,
+ 231,
+ 96,
+ 64,
+ 113,
+ 42,
+ 149,
+ 191,
+ 232,
+ 79,
+ 173
+ ],
+ "nonce": [
+ 28,
+ 35,
+ 152,
+ 234,
+ 103,
+ 193,
+ 36,
+ 101,
+ 64,
+ 196,
+ 105,
+ 171
+ ],
+ "aad": [
+ 173,
+ 211,
+ 232,
+ 152,
+ 114,
+ 224,
+ 159,
+ 100,
+ 216,
+ 40,
+ 70,
+ 61,
+ 93,
+ 247,
+ 81,
+ 157,
+ 225,
+ 169,
+ 219,
+ 118,
+ 57,
+ 34,
+ 155,
+ 103,
+ 144,
+ 27,
+ 210,
+ 122,
+ 195,
+ 195,
+ 234,
+ 97,
+ 172,
+ 22,
+ 18,
+ 6,
+ 125,
+ 114,
+ 3,
+ 122,
+ 218,
+ 221,
+ 46,
+ 20,
+ 71,
+ 85,
+ 132,
+ 168
+ ],
+ "plaintext": [
+ 237,
+ 228,
+ 181,
+ 115,
+ 44,
+ 143,
+ 167,
+ 190,
+ 188,
+ 135,
+ 247,
+ 45,
+ 162,
+ 226,
+ 67,
+ 221,
+ 65,
+ 115,
+ 221,
+ 173,
+ 112,
+ 11,
+ 239,
+ 101,
+ 173,
+ 238,
+ 170,
+ 12,
+ 87,
+ 3,
+ 146,
+ 252,
+ 71,
+ 123,
+ 61,
+ 43,
+ 125,
+ 64,
+ 75,
+ 234,
+ 64,
+ 7,
+ 74,
+ 109,
+ 88,
+ 160,
+ 15,
+ 36,
+ 102,
+ 193,
+ 188
+ ],
+ "ciphertext": [
+ 108,
+ 109,
+ 216,
+ 166,
+ 145,
+ 235,
+ 34,
+ 41,
+ 72,
+ 24,
+ 230,
+ 30,
+ 51,
+ 175,
+ 234,
+ 158,
+ 73,
+ 53,
+ 61,
+ 27,
+ 182,
+ 246,
+ 69,
+ 232,
+ 33,
+ 215,
+ 196,
+ 195,
+ 31,
+ 180,
+ 64,
+ 221,
+ 140,
+ 194,
+ 101,
+ 20,
+ 80,
+ 167,
+ 100,
+ 162,
+ 32,
+ 56,
+ 151,
+ 134,
+ 81,
+ 255,
+ 211,
+ 61,
+ 75,
+ 225,
+ 8
+ ],
+ "tag": [
+ 234,
+ 36,
+ 107,
+ 181,
+ 226,
+ 171,
+ 50,
+ 130,
+ 194,
+ 121,
+ 39,
+ 205,
+ 152,
+ 58,
+ 114,
+ 151
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 47,
+ 200,
+ 121,
+ 18,
+ 111,
+ 241,
+ 68,
+ 121,
+ 42,
+ 244,
+ 9,
+ 117,
+ 240,
+ 162,
+ 76
+ ],
+ "nonce": [
+ 189,
+ 191,
+ 110,
+ 129,
+ 254,
+ 255,
+ 90,
+ 17,
+ 223,
+ 23,
+ 226,
+ 5
+ ],
+ "aad": [
+ 222,
+ 132,
+ 67,
+ 223,
+ 68,
+ 217,
+ 59,
+ 55,
+ 52,
+ 216,
+ 130,
+ 11,
+ 154,
+ 38,
+ 1,
+ 13,
+ 108,
+ 224,
+ 156,
+ 27,
+ 185,
+ 160,
+ 34,
+ 96,
+ 35,
+ 90,
+ 64,
+ 41,
+ 157,
+ 56,
+ 51,
+ 15,
+ 103,
+ 121,
+ 45,
+ 15,
+ 84,
+ 192,
+ 192,
+ 251,
+ 53,
+ 239,
+ 159,
+ 235,
+ 203,
+ 204,
+ 208,
+ 43
+ ],
+ "plaintext": [
+ 140,
+ 96,
+ 220,
+ 232,
+ 11,
+ 10,
+ 94,
+ 245,
+ 120,
+ 214,
+ 128,
+ 209,
+ 200,
+ 17,
+ 150,
+ 114,
+ 101,
+ 204,
+ 118,
+ 100,
+ 199,
+ 81,
+ 250,
+ 244,
+ 209,
+ 71,
+ 45,
+ 172,
+ 91,
+ 150,
+ 226,
+ 110,
+ 59,
+ 228,
+ 57,
+ 177,
+ 158,
+ 61,
+ 168,
+ 59,
+ 26,
+ 25,
+ 220,
+ 130,
+ 186,
+ 0,
+ 212,
+ 53,
+ 224,
+ 51,
+ 66
+ ],
+ "ciphertext": [
+ 135,
+ 83,
+ 224,
+ 30,
+ 229,
+ 192,
+ 136,
+ 188,
+ 174,
+ 19,
+ 9,
+ 178,
+ 228,
+ 38,
+ 157,
+ 159,
+ 177,
+ 84,
+ 145,
+ 131,
+ 26,
+ 30,
+ 23,
+ 20,
+ 8,
+ 8,
+ 243,
+ 10,
+ 238,
+ 79,
+ 165,
+ 40,
+ 2,
+ 10,
+ 127,
+ 199,
+ 223,
+ 134,
+ 39,
+ 205,
+ 169,
+ 183,
+ 64,
+ 28,
+ 68,
+ 177,
+ 90,
+ 161,
+ 231,
+ 198,
+ 68
+ ],
+ "tag": [
+ 15,
+ 69,
+ 124,
+ 146,
+ 169,
+ 154,
+ 193,
+ 235,
+ 161,
+ 182,
+ 16,
+ 93,
+ 109,
+ 35,
+ 206,
+ 83
+ ]
+ },
+ {
+ "key": [
+ 202,
+ 85,
+ 73,
+ 97,
+ 77,
+ 192,
+ 50,
+ 69,
+ 100,
+ 0,
+ 33,
+ 57,
+ 253,
+ 106,
+ 54,
+ 14
+ ],
+ "nonce": [
+ 138,
+ 77,
+ 227,
+ 27,
+ 13,
+ 220,
+ 109,
+ 42,
+ 53,
+ 112,
+ 250,
+ 192
+ ],
+ "aad": [
+ 107,
+ 136,
+ 112,
+ 150,
+ 39,
+ 194,
+ 136,
+ 37,
+ 86,
+ 157,
+ 96,
+ 119,
+ 43,
+ 102,
+ 66,
+ 169,
+ 218,
+ 219,
+ 243,
+ 234,
+ 153,
+ 4,
+ 178,
+ 144,
+ 220,
+ 99,
+ 42,
+ 131,
+ 125,
+ 87,
+ 157,
+ 46,
+ 129,
+ 40,
+ 75,
+ 244,
+ 53,
+ 9,
+ 35,
+ 193,
+ 134,
+ 62,
+ 14,
+ 141,
+ 88,
+ 148,
+ 163,
+ 75
+ ],
+ "plaintext": [
+ 55,
+ 97,
+ 12,
+ 24,
+ 125,
+ 40,
+ 121,
+ 130,
+ 233,
+ 175,
+ 193,
+ 90,
+ 146,
+ 80,
+ 174,
+ 185,
+ 25,
+ 51,
+ 54,
+ 157,
+ 237,
+ 197,
+ 145,
+ 14,
+ 77,
+ 229,
+ 132,
+ 215,
+ 12,
+ 39,
+ 183,
+ 228,
+ 224,
+ 167,
+ 176,
+ 40,
+ 105,
+ 41,
+ 145,
+ 0,
+ 253,
+ 142,
+ 247,
+ 91,
+ 198,
+ 106,
+ 228,
+ 190,
+ 210,
+ 168,
+ 83
+ ],
+ "ciphertext": [
+ 41,
+ 80,
+ 90,
+ 245,
+ 18,
+ 118,
+ 140,
+ 137,
+ 216,
+ 64,
+ 84,
+ 204,
+ 232,
+ 248,
+ 136,
+ 158,
+ 155,
+ 74,
+ 9,
+ 80,
+ 152,
+ 185,
+ 206,
+ 199,
+ 226,
+ 106,
+ 106,
+ 252,
+ 247,
+ 174,
+ 229,
+ 19,
+ 47,
+ 180,
+ 60,
+ 175,
+ 126,
+ 220,
+ 6,
+ 143,
+ 182,
+ 174,
+ 163,
+ 87,
+ 10,
+ 217,
+ 49,
+ 10,
+ 92,
+ 51,
+ 41
+ ],
+ "tag": [
+ 208,
+ 145,
+ 128,
+ 51,
+ 182,
+ 219,
+ 95,
+ 153,
+ 159,
+ 38,
+ 190,
+ 217,
+ 77,
+ 53,
+ 42,
+ 246
+ ]
+ },
+ {
+ "key": [
+ 166,
+ 139,
+ 100,
+ 38,
+ 125,
+ 13,
+ 27,
+ 194,
+ 217,
+ 75,
+ 159,
+ 105,
+ 31,
+ 248,
+ 233,
+ 228
+ ],
+ "nonce": [
+ 162,
+ 119,
+ 6,
+ 189,
+ 142,
+ 174,
+ 139,
+ 179,
+ 220,
+ 149,
+ 161,
+ 185
+ ],
+ "aad": [
+ 135,
+ 52,
+ 250,
+ 60,
+ 236,
+ 181,
+ 121,
+ 59,
+ 43,
+ 123,
+ 203,
+ 79,
+ 205,
+ 231,
+ 128,
+ 131,
+ 3,
+ 194,
+ 124,
+ 44,
+ 0,
+ 42,
+ 39,
+ 224,
+ 219,
+ 170,
+ 55,
+ 139,
+ 61,
+ 244,
+ 144,
+ 158,
+ 55,
+ 194,
+ 56,
+ 162,
+ 79,
+ 175,
+ 73,
+ 182,
+ 205,
+ 19,
+ 68,
+ 25,
+ 148,
+ 139,
+ 222,
+ 198
+ ],
+ "plaintext": [
+ 74,
+ 153,
+ 171,
+ 65,
+ 198,
+ 4,
+ 215,
+ 33,
+ 0,
+ 105,
+ 217,
+ 34,
+ 141,
+ 211,
+ 34,
+ 59,
+ 111,
+ 125,
+ 162,
+ 21,
+ 221,
+ 218,
+ 22,
+ 207,
+ 147,
+ 191,
+ 102,
+ 88,
+ 120,
+ 76,
+ 187,
+ 254,
+ 8,
+ 239,
+ 106,
+ 1,
+ 82,
+ 206,
+ 243,
+ 104,
+ 65,
+ 93,
+ 255,
+ 159,
+ 141,
+ 29,
+ 5,
+ 234,
+ 208,
+ 67,
+ 249
+ ],
+ "ciphertext": [
+ 67,
+ 170,
+ 4,
+ 50,
+ 161,
+ 180,
+ 104,
+ 190,
+ 198,
+ 77,
+ 228,
+ 91,
+ 102,
+ 181,
+ 251,
+ 62,
+ 139,
+ 43,
+ 217,
+ 39,
+ 120,
+ 1,
+ 239,
+ 83,
+ 161,
+ 205,
+ 103,
+ 87,
+ 191,
+ 212,
+ 90,
+ 171,
+ 156,
+ 107,
+ 35,
+ 240,
+ 161,
+ 244,
+ 179,
+ 15,
+ 163,
+ 63,
+ 229,
+ 47,
+ 171,
+ 231,
+ 187,
+ 134,
+ 40,
+ 25,
+ 100
+ ],
+ "tag": [
+ 253,
+ 57,
+ 239,
+ 46,
+ 148,
+ 112,
+ 122,
+ 26,
+ 186,
+ 87,
+ 255,
+ 45,
+ 231,
+ 193,
+ 121,
+ 39
+ ]
+ },
+ {
+ "key": [
+ 44,
+ 31,
+ 33,
+ 207,
+ 15,
+ 111,
+ 179,
+ 102,
+ 25,
+ 67,
+ 21,
+ 92,
+ 62,
+ 61,
+ 132,
+ 146
+ ],
+ "nonce": [
+ 35,
+ 203,
+ 95,
+ 243,
+ 98,
+ 226,
+ 36,
+ 38,
+ 152,
+ 77,
+ 25,
+ 7
+ ],
+ "aad": [
+ 93,
+ 54,
+ 36,
+ 135,
+ 157,
+ 53,
+ 228,
+ 104,
+ 73,
+ 149,
+ 62,
+ 69,
+ 163,
+ 42,
+ 98,
+ 77,
+ 106,
+ 108,
+ 83,
+ 110,
+ 217,
+ 133,
+ 124,
+ 97,
+ 59,
+ 87,
+ 43,
+ 3,
+ 51,
+ 231,
+ 1,
+ 85,
+ 122,
+ 113,
+ 62,
+ 63,
+ 1,
+ 14,
+ 205,
+ 249,
+ 166,
+ 189,
+ 108,
+ 158,
+ 62,
+ 68,
+ 176,
+ 101,
+ 32,
+ 134,
+ 69,
+ 175,
+ 244,
+ 170,
+ 190,
+ 230,
+ 17,
+ 179,
+ 145,
+ 82,
+ 133,
+ 20,
+ 23,
+ 0,
+ 132,
+ 204,
+ 245,
+ 135,
+ 23,
+ 127,
+ 68,
+ 136,
+ 243,
+ 60,
+ 251,
+ 94,
+ 151,
+ 158,
+ 66,
+ 182,
+ 225,
+ 207,
+ 192,
+ 166,
+ 2,
+ 56,
+ 152,
+ 42,
+ 122,
+ 236
+ ],
+ "plaintext": [
+ 66,
+ 247,
+ 88,
+ 131,
+ 105,
+ 134,
+ 149,
+ 77,
+ 180,
+ 75,
+ 243,
+ 124,
+ 110,
+ 245,
+ 228,
+ 172,
+ 10,
+ 218,
+ 243,
+ 143,
+ 39,
+ 37,
+ 42,
+ 27,
+ 130,
+ 208,
+ 46,
+ 169,
+ 73,
+ 200,
+ 161,
+ 162,
+ 219,
+ 192,
+ 214,
+ 139,
+ 86,
+ 21,
+ 186,
+ 124,
+ 18,
+ 32,
+ 255,
+ 101,
+ 16,
+ 226,
+ 89,
+ 240,
+ 102,
+ 85,
+ 216
+ ],
+ "ciphertext": [
+ 129,
+ 130,
+ 79,
+ 14,
+ 13,
+ 82,
+ 61,
+ 179,
+ 13,
+ 61,
+ 163,
+ 105,
+ 253,
+ 192,
+ 214,
+ 8,
+ 148,
+ 199,
+ 160,
+ 162,
+ 6,
+ 70,
+ 221,
+ 1,
+ 80,
+ 115,
+ 173,
+ 39,
+ 50,
+ 189,
+ 152,
+ 155,
+ 20,
+ 162,
+ 34,
+ 182,
+ 173,
+ 87,
+ 175,
+ 67,
+ 225,
+ 137,
+ 93,
+ 249,
+ 220,
+ 162,
+ 165,
+ 52,
+ 74,
+ 98,
+ 204
+ ],
+ "tag": [
+ 87,
+ 163,
+ 238,
+ 40,
+ 19,
+ 110,
+ 148,
+ 199,
+ 72,
+ 56,
+ 153,
+ 122,
+ 233,
+ 130,
+ 63,
+ 58
+ ]
+ },
+ {
+ "key": [
+ 217,
+ 247,
+ 210,
+ 65,
+ 16,
+ 145,
+ 249,
+ 71,
+ 180,
+ 214,
+ 241,
+ 226,
+ 209,
+ 240,
+ 251,
+ 46
+ ],
+ "nonce": [
+ 225,
+ 147,
+ 79,
+ 93,
+ 181,
+ 124,
+ 201,
+ 131,
+ 230,
+ 177,
+ 128,
+ 231
+ ],
+ "aad": [
+ 10,
+ 138,
+ 24,
+ 167,
+ 21,
+ 14,
+ 148,
+ 12,
+ 61,
+ 135,
+ 179,
+ 142,
+ 115,
+ 186,
+ 238,
+ 154,
+ 92,
+ 4,
+ 158,
+ 226,
+ 23,
+ 149,
+ 102,
+ 62,
+ 38,
+ 75,
+ 105,
+ 74,
+ 148,
+ 152,
+ 34,
+ 182,
+ 57,
+ 9,
+ 45,
+ 14,
+ 103,
+ 1,
+ 94,
+ 134,
+ 54,
+ 53,
+ 131,
+ 252,
+ 240,
+ 202,
+ 100,
+ 90,
+ 249,
+ 244,
+ 51,
+ 117,
+ 240,
+ 95,
+ 219,
+ 76,
+ 232,
+ 79,
+ 65,
+ 29,
+ 203,
+ 202,
+ 115,
+ 194,
+ 34,
+ 13,
+ 234,
+ 3,
+ 162,
+ 1,
+ 21,
+ 210,
+ 229,
+ 19,
+ 152,
+ 52,
+ 75,
+ 22,
+ 190,
+ 225,
+ 237,
+ 124,
+ 73,
+ 155,
+ 53,
+ 61,
+ 108,
+ 89,
+ 122,
+ 248
+ ],
+ "plaintext": [
+ 115,
+ 237,
+ 4,
+ 35,
+ 39,
+ 247,
+ 15,
+ 233,
+ 197,
+ 114,
+ 166,
+ 21,
+ 69,
+ 237,
+ 168,
+ 178,
+ 160,
+ 198,
+ 225,
+ 214,
+ 194,
+ 145,
+ 239,
+ 25,
+ 36,
+ 142,
+ 151,
+ 58,
+ 238,
+ 108,
+ 49,
+ 32,
+ 18,
+ 244,
+ 144,
+ 194,
+ 198,
+ 246,
+ 22,
+ 111,
+ 74,
+ 89,
+ 67,
+ 30,
+ 24,
+ 38,
+ 99,
+ 252,
+ 174,
+ 160,
+ 90
+ ],
+ "ciphertext": [
+ 170,
+ 173,
+ 189,
+ 92,
+ 146,
+ 233,
+ 21,
+ 28,
+ 227,
+ 219,
+ 114,
+ 16,
+ 184,
+ 113,
+ 65,
+ 38,
+ 183,
+ 62,
+ 67,
+ 67,
+ 109,
+ 36,
+ 38,
+ 119,
+ 175,
+ 165,
+ 3,
+ 132,
+ 242,
+ 20,
+ 155,
+ 131,
+ 31,
+ 29,
+ 87,
+ 60,
+ 120,
+ 145,
+ 194,
+ 169,
+ 31,
+ 188,
+ 72,
+ 219,
+ 41,
+ 150,
+ 126,
+ 201,
+ 84,
+ 43,
+ 35
+ ],
+ "tag": [
+ 33,
+ 181,
+ 28,
+ 168,
+ 98,
+ 203,
+ 99,
+ 124,
+ 221,
+ 3,
+ 185,
+ 154,
+ 15,
+ 147,
+ 177,
+ 52
+ ]
+ },
+ {
+ "key": [
+ 184,
+ 24,
+ 117,
+ 42,
+ 164,
+ 69,
+ 33,
+ 32,
+ 128,
+ 140,
+ 61,
+ 33,
+ 29,
+ 87,
+ 194,
+ 36
+ ],
+ "nonce": [
+ 214,
+ 121,
+ 160,
+ 190,
+ 34,
+ 194,
+ 218,
+ 246,
+ 25,
+ 177,
+ 20,
+ 99
+ ],
+ "aad": [
+ 187,
+ 133,
+ 59,
+ 96,
+ 181,
+ 253,
+ 139,
+ 210,
+ 74,
+ 204,
+ 157,
+ 185,
+ 221,
+ 61,
+ 228,
+ 139,
+ 119,
+ 93,
+ 74,
+ 92,
+ 178,
+ 168,
+ 121,
+ 193,
+ 221,
+ 120,
+ 189,
+ 233,
+ 76,
+ 175,
+ 238,
+ 6,
+ 219,
+ 18,
+ 161,
+ 87,
+ 78,
+ 173,
+ 226,
+ 5,
+ 223,
+ 211,
+ 168,
+ 198,
+ 246,
+ 133,
+ 153,
+ 225,
+ 32,
+ 236,
+ 115,
+ 182,
+ 180,
+ 85,
+ 156,
+ 208,
+ 61,
+ 49,
+ 24,
+ 178,
+ 177,
+ 187,
+ 227,
+ 64,
+ 187,
+ 21,
+ 50,
+ 12,
+ 107,
+ 248,
+ 216,
+ 161,
+ 195,
+ 193,
+ 36,
+ 123,
+ 64,
+ 35,
+ 186,
+ 41,
+ 73,
+ 186,
+ 106,
+ 90,
+ 177,
+ 63,
+ 45,
+ 133,
+ 185,
+ 59
+ ],
+ "plaintext": [
+ 124,
+ 205,
+ 236,
+ 241,
+ 49,
+ 48,
+ 194,
+ 15,
+ 103,
+ 221,
+ 111,
+ 71,
+ 173,
+ 236,
+ 51,
+ 223,
+ 181,
+ 43,
+ 200,
+ 74,
+ 119,
+ 0,
+ 67,
+ 27,
+ 127,
+ 211,
+ 152,
+ 214,
+ 82,
+ 161,
+ 35,
+ 240,
+ 134,
+ 174,
+ 25,
+ 115,
+ 40,
+ 207,
+ 174,
+ 209,
+ 39,
+ 169,
+ 24,
+ 102,
+ 201,
+ 91,
+ 223,
+ 219,
+ 72,
+ 73,
+ 206
+ ],
+ "ciphertext": [
+ 188,
+ 26,
+ 136,
+ 108,
+ 158,
+ 90,
+ 204,
+ 195,
+ 79,
+ 12,
+ 35,
+ 127,
+ 126,
+ 217,
+ 150,
+ 233,
+ 64,
+ 228,
+ 176,
+ 236,
+ 136,
+ 38,
+ 56,
+ 230,
+ 152,
+ 102,
+ 237,
+ 36,
+ 216,
+ 100,
+ 103,
+ 245,
+ 67,
+ 58,
+ 238,
+ 35,
+ 68,
+ 141,
+ 243,
+ 149,
+ 101,
+ 160,
+ 236,
+ 255,
+ 242,
+ 196,
+ 14,
+ 104,
+ 87,
+ 247,
+ 37
+ ],
+ "tag": [
+ 95,
+ 249,
+ 196,
+ 73,
+ 208,
+ 191,
+ 168,
+ 112,
+ 235,
+ 239,
+ 231,
+ 141,
+ 81,
+ 154,
+ 141,
+ 18
+ ]
+ },
+ {
+ "key": [
+ 82,
+ 139,
+ 137,
+ 72,
+ 181,
+ 52,
+ 213,
+ 247,
+ 128,
+ 174,
+ 63,
+ 30,
+ 35,
+ 164,
+ 122,
+ 37
+ ],
+ "nonce": [
+ 254,
+ 197,
+ 234,
+ 240,
+ 166,
+ 214,
+ 245,
+ 196,
+ 173,
+ 236,
+ 150,
+ 24
+ ],
+ "aad": [
+ 213,
+ 19,
+ 77,
+ 132,
+ 169,
+ 105,
+ 33,
+ 83,
+ 122,
+ 23,
+ 134,
+ 156,
+ 62,
+ 208,
+ 140,
+ 85,
+ 194,
+ 158,
+ 10,
+ 103,
+ 163,
+ 9,
+ 67,
+ 203,
+ 36,
+ 136,
+ 73,
+ 132,
+ 55,
+ 148,
+ 193,
+ 198,
+ 254,
+ 252,
+ 152,
+ 101,
+ 157,
+ 169,
+ 176,
+ 245,
+ 5,
+ 189,
+ 239,
+ 194,
+ 228,
+ 235,
+ 233,
+ 82,
+ 61,
+ 42,
+ 22,
+ 91,
+ 99,
+ 181,
+ 227,
+ 178,
+ 186,
+ 149,
+ 53,
+ 130,
+ 29,
+ 98,
+ 170,
+ 249,
+ 91,
+ 156,
+ 126,
+ 111,
+ 241,
+ 248,
+ 128,
+ 122,
+ 19,
+ 231,
+ 155,
+ 159,
+ 229,
+ 137,
+ 192,
+ 217,
+ 254,
+ 187,
+ 171,
+ 249,
+ 55,
+ 43,
+ 1,
+ 172,
+ 32,
+ 81
+ ],
+ "plaintext": [
+ 156,
+ 82,
+ 128,
+ 89,
+ 19,
+ 17,
+ 220,
+ 33,
+ 45,
+ 110,
+ 226,
+ 173,
+ 139,
+ 131,
+ 222,
+ 223,
+ 3,
+ 185,
+ 30,
+ 36,
+ 77,
+ 138,
+ 66,
+ 105,
+ 12,
+ 154,
+ 88,
+ 33,
+ 171,
+ 151,
+ 20,
+ 83,
+ 200,
+ 180,
+ 246,
+ 62,
+ 21,
+ 187,
+ 138,
+ 249,
+ 106,
+ 235,
+ 74,
+ 62,
+ 53,
+ 81,
+ 91,
+ 101,
+ 27,
+ 198,
+ 141
+ ],
+ "ciphertext": [
+ 189,
+ 240,
+ 183,
+ 82,
+ 22,
+ 14,
+ 100,
+ 182,
+ 38,
+ 213,
+ 197,
+ 67,
+ 149,
+ 69,
+ 112,
+ 22,
+ 158,
+ 40,
+ 176,
+ 51,
+ 247,
+ 123,
+ 110,
+ 248,
+ 163,
+ 123,
+ 203,
+ 174,
+ 42,
+ 41,
+ 74,
+ 158,
+ 112,
+ 96,
+ 195,
+ 35,
+ 91,
+ 41,
+ 15,
+ 121,
+ 198,
+ 156,
+ 57,
+ 166,
+ 107,
+ 13,
+ 94,
+ 204,
+ 129,
+ 208,
+ 42
+ ],
+ "tag": [
+ 249,
+ 55,
+ 104,
+ 201,
+ 119,
+ 129,
+ 173,
+ 4,
+ 134,
+ 242,
+ 249,
+ 232,
+ 33,
+ 15,
+ 42,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 130,
+ 76,
+ 168,
+ 94,
+ 46,
+ 75,
+ 42,
+ 108,
+ 110,
+ 106,
+ 101,
+ 239,
+ 134,
+ 22,
+ 197,
+ 123
+ ],
+ "nonce": [
+ 210,
+ 191,
+ 146,
+ 231,
+ 220,
+ 83,
+ 103,
+ 106,
+ 172,
+ 78,
+ 109,
+ 29
+ ],
+ "aad": [
+ 70,
+ 90,
+ 253,
+ 8,
+ 215,
+ 38,
+ 3,
+ 8,
+ 216,
+ 210,
+ 16,
+ 37,
+ 243,
+ 21,
+ 112,
+ 229,
+ 220,
+ 214,
+ 188,
+ 189,
+ 101,
+ 32,
+ 236,
+ 182,
+ 255,
+ 133,
+ 222,
+ 88,
+ 55,
+ 141,
+ 90,
+ 246,
+ 234,
+ 247,
+ 203,
+ 47,
+ 18,
+ 66,
+ 192,
+ 196,
+ 123,
+ 117,
+ 156,
+ 88,
+ 219,
+ 198,
+ 228,
+ 180,
+ 92,
+ 139,
+ 153,
+ 53,
+ 20,
+ 241,
+ 75,
+ 130,
+ 237,
+ 163,
+ 252,
+ 182,
+ 160,
+ 223,
+ 32,
+ 117,
+ 160,
+ 171,
+ 118,
+ 250,
+ 12,
+ 91,
+ 108,
+ 179,
+ 125,
+ 29,
+ 40,
+ 247,
+ 115,
+ 218,
+ 197,
+ 145,
+ 121,
+ 8,
+ 135,
+ 210,
+ 215,
+ 47,
+ 3,
+ 188,
+ 197,
+ 174
+ ],
+ "plaintext": [
+ 205,
+ 72,
+ 40,
+ 229,
+ 151,
+ 125,
+ 127,
+ 197,
+ 187,
+ 247,
+ 246,
+ 209,
+ 135,
+ 11,
+ 246,
+ 51,
+ 60,
+ 32,
+ 64,
+ 135,
+ 99,
+ 154,
+ 59,
+ 73,
+ 74,
+ 64,
+ 55,
+ 23,
+ 11,
+ 115,
+ 252,
+ 107,
+ 50,
+ 196,
+ 85,
+ 93,
+ 26,
+ 2,
+ 168,
+ 131,
+ 116,
+ 65,
+ 115,
+ 77,
+ 104,
+ 53,
+ 165,
+ 75,
+ 243,
+ 90,
+ 68
+ ],
+ "ciphertext": [
+ 77,
+ 160,
+ 36,
+ 116,
+ 239,
+ 24,
+ 157,
+ 232,
+ 99,
+ 213,
+ 51,
+ 35,
+ 255,
+ 103,
+ 55,
+ 193,
+ 46,
+ 251,
+ 61,
+ 96,
+ 168,
+ 144,
+ 168,
+ 213,
+ 57,
+ 145,
+ 222,
+ 87,
+ 255,
+ 198,
+ 202,
+ 253,
+ 68,
+ 196,
+ 41,
+ 167,
+ 98,
+ 162,
+ 21,
+ 76,
+ 90,
+ 147,
+ 113,
+ 32,
+ 219,
+ 33,
+ 97,
+ 242,
+ 207,
+ 46,
+ 161
+ ],
+ "tag": [
+ 148,
+ 157,
+ 57,
+ 154,
+ 126,
+ 37,
+ 103,
+ 178,
+ 117,
+ 198,
+ 248,
+ 66,
+ 222,
+ 96,
+ 38,
+ 5
+ ]
+ },
+ {
+ "key": [
+ 79,
+ 96,
+ 183,
+ 83,
+ 163,
+ 107,
+ 75,
+ 31,
+ 46,
+ 77,
+ 131,
+ 0,
+ 221,
+ 198,
+ 103,
+ 165
+ ],
+ "nonce": [
+ 53,
+ 250,
+ 37,
+ 81,
+ 88,
+ 31,
+ 133,
+ 146,
+ 19,
+ 75,
+ 186,
+ 69
+ ],
+ "aad": [
+ 154,
+ 0,
+ 107,
+ 124,
+ 234,
+ 39,
+ 243,
+ 180,
+ 163,
+ 5,
+ 255,
+ 176,
+ 197,
+ 190,
+ 199,
+ 227,
+ 88,
+ 44,
+ 106,
+ 59,
+ 224,
+ 40,
+ 235,
+ 244,
+ 75,
+ 178,
+ 73,
+ 109,
+ 174,
+ 31,
+ 73,
+ 47,
+ 118,
+ 92,
+ 198,
+ 108,
+ 130,
+ 211,
+ 162,
+ 33,
+ 42,
+ 189,
+ 97,
+ 66,
+ 82,
+ 78,
+ 7,
+ 39,
+ 218,
+ 184,
+ 174,
+ 80,
+ 110,
+ 109,
+ 91,
+ 157,
+ 211,
+ 97,
+ 227,
+ 163,
+ 125,
+ 243,
+ 190,
+ 201,
+ 91,
+ 20,
+ 241,
+ 23,
+ 78,
+ 127,
+ 37,
+ 198,
+ 86,
+ 170,
+ 187,
+ 66,
+ 152,
+ 27,
+ 145,
+ 149,
+ 7,
+ 85,
+ 40,
+ 28,
+ 94,
+ 248,
+ 245,
+ 46,
+ 87,
+ 191
+ ],
+ "plaintext": [
+ 131,
+ 128,
+ 124,
+ 4,
+ 41,
+ 0,
+ 97,
+ 31,
+ 80,
+ 253,
+ 66,
+ 85,
+ 123,
+ 124,
+ 246,
+ 99,
+ 21,
+ 135,
+ 34,
+ 37,
+ 20,
+ 61,
+ 44,
+ 223,
+ 140,
+ 5,
+ 204,
+ 246,
+ 136,
+ 255,
+ 33,
+ 218,
+ 143,
+ 106,
+ 37,
+ 86,
+ 176,
+ 5,
+ 18,
+ 133,
+ 184,
+ 231,
+ 203,
+ 138,
+ 238,
+ 5,
+ 183,
+ 40,
+ 22,
+ 171,
+ 213
+ ],
+ "ciphertext": [
+ 205,
+ 34,
+ 145,
+ 172,
+ 24,
+ 42,
+ 182,
+ 208,
+ 247,
+ 182,
+ 185,
+ 62,
+ 103,
+ 171,
+ 196,
+ 34,
+ 138,
+ 182,
+ 58,
+ 76,
+ 27,
+ 33,
+ 76,
+ 170,
+ 17,
+ 105,
+ 141,
+ 64,
+ 210,
+ 168,
+ 170,
+ 16,
+ 22,
+ 75,
+ 72,
+ 98,
+ 77,
+ 57,
+ 221,
+ 150,
+ 127,
+ 76,
+ 53,
+ 238,
+ 191,
+ 9,
+ 172,
+ 223,
+ 229,
+ 159,
+ 69
+ ],
+ "tag": [
+ 178,
+ 49,
+ 187,
+ 78,
+ 99,
+ 221,
+ 169,
+ 10,
+ 17,
+ 112,
+ 15,
+ 32,
+ 77,
+ 194,
+ 177,
+ 117
+ ]
+ },
+ {
+ "key": [
+ 7,
+ 177,
+ 34,
+ 166,
+ 24,
+ 187,
+ 84,
+ 184,
+ 195,
+ 157,
+ 87,
+ 159,
+ 229,
+ 81,
+ 138,
+ 92
+ ],
+ "nonce": [
+ 38,
+ 250,
+ 51,
+ 212,
+ 197,
+ 179,
+ 127,
+ 12,
+ 93,
+ 7,
+ 226,
+ 208
+ ],
+ "aad": [
+ 32,
+ 150,
+ 99,
+ 8,
+ 245,
+ 125,
+ 58,
+ 62,
+ 122,
+ 78,
+ 161,
+ 73,
+ 204,
+ 31,
+ 62,
+ 222,
+ 174,
+ 241,
+ 30,
+ 138,
+ 247,
+ 128,
+ 161,
+ 101,
+ 52,
+ 71,
+ 45,
+ 141,
+ 247,
+ 247,
+ 6,
+ 21,
+ 46,
+ 227,
+ 118,
+ 97,
+ 68,
+ 38,
+ 9,
+ 79,
+ 215,
+ 69,
+ 215,
+ 124,
+ 220,
+ 162,
+ 134,
+ 130,
+ 208,
+ 210,
+ 230,
+ 137,
+ 210,
+ 138,
+ 80,
+ 97,
+ 1,
+ 104,
+ 214,
+ 56,
+ 178,
+ 60,
+ 180,
+ 223,
+ 250,
+ 149,
+ 221,
+ 38,
+ 11,
+ 199,
+ 46,
+ 0,
+ 152,
+ 114,
+ 44,
+ 208,
+ 1,
+ 38,
+ 160,
+ 127,
+ 210,
+ 63,
+ 251,
+ 161,
+ 209,
+ 10,
+ 60,
+ 228,
+ 107,
+ 133
+ ],
+ "plaintext": [
+ 6,
+ 207,
+ 47,
+ 161,
+ 201,
+ 5,
+ 125,
+ 73,
+ 116,
+ 174,
+ 144,
+ 72,
+ 180,
+ 135,
+ 141,
+ 117,
+ 176,
+ 180,
+ 114,
+ 14,
+ 210,
+ 215,
+ 195,
+ 64,
+ 230,
+ 217,
+ 131,
+ 167,
+ 207,
+ 8,
+ 210,
+ 0,
+ 19,
+ 171,
+ 238,
+ 248,
+ 129,
+ 204,
+ 50,
+ 19,
+ 254,
+ 37,
+ 179,
+ 246,
+ 172,
+ 30,
+ 23,
+ 254,
+ 28,
+ 46,
+ 17
+ ],
+ "ciphertext": [
+ 97,
+ 166,
+ 157,
+ 53,
+ 150,
+ 124,
+ 133,
+ 221,
+ 94,
+ 7,
+ 65,
+ 169,
+ 184,
+ 129,
+ 82,
+ 195,
+ 176,
+ 75,
+ 24,
+ 36,
+ 147,
+ 12,
+ 246,
+ 192,
+ 63,
+ 28,
+ 180,
+ 76,
+ 18,
+ 88,
+ 183,
+ 31,
+ 163,
+ 245,
+ 35,
+ 61,
+ 47,
+ 78,
+ 226,
+ 86,
+ 53,
+ 60,
+ 11,
+ 143,
+ 109,
+ 71,
+ 11,
+ 83,
+ 215,
+ 129,
+ 26
+ ],
+ "tag": [
+ 233,
+ 138,
+ 122,
+ 51,
+ 116,
+ 141,
+ 233,
+ 94,
+ 34,
+ 181,
+ 32,
+ 186,
+ 34,
+ 84,
+ 188,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 40,
+ 142,
+ 126,
+ 254,
+ 98,
+ 185,
+ 59,
+ 153,
+ 15,
+ 35,
+ 152,
+ 194,
+ 70,
+ 14,
+ 65,
+ 93
+ ],
+ "nonce": [
+ 199,
+ 235,
+ 192,
+ 205,
+ 117,
+ 109,
+ 149,
+ 1,
+ 250,
+ 247,
+ 26,
+ 125
+ ],
+ "aad": [
+ 252,
+ 178,
+ 1,
+ 36,
+ 197,
+ 139,
+ 41,
+ 239,
+ 126,
+ 57,
+ 128,
+ 13,
+ 30,
+ 17,
+ 196,
+ 6,
+ 55,
+ 116,
+ 221,
+ 44,
+ 70,
+ 45,
+ 217,
+ 224,
+ 125,
+ 20,
+ 13,
+ 159,
+ 75,
+ 94,
+ 190,
+ 76,
+ 186,
+ 123,
+ 184,
+ 204,
+ 3,
+ 191,
+ 53,
+ 123,
+ 34,
+ 9,
+ 108,
+ 152,
+ 151,
+ 205,
+ 205,
+ 241,
+ 18,
+ 183,
+ 165,
+ 247,
+ 209,
+ 227,
+ 141,
+ 92,
+ 116,
+ 193,
+ 105,
+ 36,
+ 82,
+ 44,
+ 190,
+ 36,
+ 67,
+ 193,
+ 87,
+ 204,
+ 147,
+ 20,
+ 108,
+ 18,
+ 186,
+ 228,
+ 218,
+ 43,
+ 47,
+ 29,
+ 240,
+ 127,
+ 51,
+ 74,
+ 161,
+ 204,
+ 153,
+ 253,
+ 127,
+ 126,
+ 40,
+ 153
+ ],
+ "plaintext": [
+ 95,
+ 175,
+ 232,
+ 115,
+ 185,
+ 211,
+ 7,
+ 113,
+ 242,
+ 239,
+ 141,
+ 173,
+ 57,
+ 122,
+ 139,
+ 66,
+ 175,
+ 63,
+ 200,
+ 247,
+ 235,
+ 190,
+ 168,
+ 13,
+ 1,
+ 50,
+ 225,
+ 175,
+ 20,
+ 38,
+ 154,
+ 70,
+ 61,
+ 189,
+ 135,
+ 227,
+ 224,
+ 26,
+ 88,
+ 194,
+ 217,
+ 145,
+ 235,
+ 59,
+ 173,
+ 207,
+ 21,
+ 111,
+ 232,
+ 38,
+ 13
+ ],
+ "ciphertext": [
+ 229,
+ 230,
+ 145,
+ 0,
+ 199,
+ 125,
+ 87,
+ 224,
+ 90,
+ 65,
+ 178,
+ 139,
+ 231,
+ 75,
+ 28,
+ 133,
+ 66,
+ 253,
+ 31,
+ 21,
+ 231,
+ 63,
+ 197,
+ 137,
+ 83,
+ 94,
+ 161,
+ 250,
+ 194,
+ 210,
+ 99,
+ 253,
+ 146,
+ 205,
+ 170,
+ 153,
+ 8,
+ 234,
+ 182,
+ 255,
+ 217,
+ 25,
+ 69,
+ 134,
+ 170,
+ 63,
+ 237,
+ 95,
+ 205,
+ 16,
+ 159
+ ],
+ "tag": [
+ 83,
+ 117,
+ 22,
+ 251,
+ 130,
+ 124,
+ 191,
+ 108,
+ 224,
+ 80,
+ 12,
+ 111,
+ 239,
+ 244,
+ 219,
+ 52
+ ]
+ },
+ {
+ "key": [
+ 246,
+ 108,
+ 91,
+ 68,
+ 231,
+ 169,
+ 218,
+ 222,
+ 87,
+ 101,
+ 195,
+ 246,
+ 79,
+ 178,
+ 186,
+ 185
+ ],
+ "nonce": [
+ 52,
+ 130,
+ 164,
+ 108,
+ 141,
+ 79,
+ 23,
+ 62,
+ 98,
+ 206,
+ 29,
+ 197
+ ],
+ "aad": [
+ 30,
+ 119,
+ 100,
+ 94,
+ 250,
+ 68,
+ 25,
+ 178,
+ 201,
+ 105,
+ 107,
+ 143,
+ 152,
+ 144,
+ 81,
+ 146,
+ 154,
+ 214,
+ 160,
+ 31,
+ 226,
+ 34,
+ 58,
+ 230,
+ 131,
+ 37,
+ 248,
+ 23,
+ 108,
+ 196,
+ 103,
+ 255,
+ 251,
+ 209,
+ 152,
+ 224,
+ 8,
+ 144,
+ 75,
+ 130,
+ 175,
+ 100,
+ 105,
+ 163,
+ 187,
+ 176,
+ 149,
+ 196,
+ 208,
+ 12,
+ 254,
+ 209,
+ 67,
+ 114,
+ 62,
+ 214,
+ 207,
+ 107,
+ 164,
+ 25,
+ 140,
+ 64,
+ 234,
+ 189,
+ 5,
+ 192,
+ 62,
+ 2,
+ 96,
+ 248,
+ 178,
+ 245,
+ 80,
+ 56,
+ 229,
+ 195,
+ 130,
+ 105,
+ 8,
+ 134,
+ 40,
+ 15,
+ 105,
+ 137,
+ 53,
+ 124,
+ 80,
+ 247,
+ 79,
+ 229
+ ],
+ "plaintext": [
+ 128,
+ 80,
+ 20,
+ 8,
+ 226,
+ 62,
+ 42,
+ 101,
+ 103,
+ 32,
+ 179,
+ 43,
+ 159,
+ 65,
+ 245,
+ 66,
+ 252,
+ 100,
+ 233,
+ 232,
+ 216,
+ 36,
+ 175,
+ 17,
+ 94,
+ 206,
+ 136,
+ 213,
+ 81,
+ 165,
+ 245,
+ 213,
+ 247,
+ 253,
+ 182,
+ 126,
+ 35,
+ 57,
+ 252,
+ 38,
+ 61,
+ 253,
+ 177,
+ 138,
+ 120,
+ 212,
+ 35,
+ 253,
+ 134,
+ 140,
+ 175
+ ],
+ "ciphertext": [
+ 231,
+ 120,
+ 169,
+ 70,
+ 82,
+ 148,
+ 68,
+ 226,
+ 101,
+ 101,
+ 5,
+ 228,
+ 245,
+ 246,
+ 81,
+ 157,
+ 62,
+ 202,
+ 213,
+ 69,
+ 143,
+ 143,
+ 26,
+ 4,
+ 243,
+ 26,
+ 138,
+ 249,
+ 124,
+ 161,
+ 133,
+ 255,
+ 113,
+ 119,
+ 100,
+ 188,
+ 166,
+ 233,
+ 146,
+ 88,
+ 162,
+ 77,
+ 201,
+ 124,
+ 50,
+ 42,
+ 193,
+ 199,
+ 245,
+ 79,
+ 186
+ ],
+ "tag": [
+ 197,
+ 178,
+ 203,
+ 83,
+ 44,
+ 208,
+ 91,
+ 22,
+ 43,
+ 71,
+ 233,
+ 79,
+ 109,
+ 121,
+ 203,
+ 142
+ ]
+ },
+ {
+ "key": [
+ 65,
+ 232,
+ 175,
+ 85,
+ 66,
+ 110,
+ 219,
+ 232,
+ 240,
+ 51,
+ 157,
+ 15,
+ 186,
+ 64,
+ 4,
+ 151
+ ],
+ "nonce": [
+ 7,
+ 235,
+ 135,
+ 212,
+ 46,
+ 144,
+ 160,
+ 117,
+ 212,
+ 179,
+ 73,
+ 17
+ ],
+ "aad": [
+ 187,
+ 46,
+ 92,
+ 82,
+ 242,
+ 234,
+ 204,
+ 155,
+ 119,
+ 6,
+ 162,
+ 239,
+ 228,
+ 182,
+ 7,
+ 133,
+ 137,
+ 34,
+ 253,
+ 105,
+ 20,
+ 161,
+ 226,
+ 45,
+ 251,
+ 236,
+ 171,
+ 42,
+ 6,
+ 70,
+ 73,
+ 66,
+ 247,
+ 105,
+ 169,
+ 197,
+ 68,
+ 240,
+ 70,
+ 184,
+ 138,
+ 117,
+ 112,
+ 226,
+ 207,
+ 111,
+ 216,
+ 20,
+ 108,
+ 134,
+ 178,
+ 180,
+ 222,
+ 203,
+ 147,
+ 79,
+ 4,
+ 168,
+ 30,
+ 109,
+ 72,
+ 175,
+ 251,
+ 206,
+ 31,
+ 83,
+ 129,
+ 171,
+ 49,
+ 169,
+ 115,
+ 107,
+ 99,
+ 245,
+ 164,
+ 231,
+ 68,
+ 115,
+ 23,
+ 38,
+ 163,
+ 99,
+ 87,
+ 232,
+ 88,
+ 192,
+ 152,
+ 13,
+ 55,
+ 50
+ ],
+ "plaintext": [
+ 173,
+ 197,
+ 80,
+ 77,
+ 10,
+ 151,
+ 53,
+ 215,
+ 183,
+ 63,
+ 197,
+ 59,
+ 208,
+ 255,
+ 96,
+ 242,
+ 200,
+ 129,
+ 57,
+ 79,
+ 222,
+ 207,
+ 204,
+ 227,
+ 72,
+ 62,
+ 254,
+ 18,
+ 107,
+ 241,
+ 72,
+ 228,
+ 141,
+ 185,
+ 192,
+ 253,
+ 53,
+ 111,
+ 130,
+ 230,
+ 45,
+ 116,
+ 62,
+ 192,
+ 159,
+ 137,
+ 6,
+ 67,
+ 30,
+ 181,
+ 224
+ ],
+ "ciphertext": [
+ 4,
+ 13,
+ 153,
+ 105,
+ 139,
+ 42,
+ 94,
+ 1,
+ 105,
+ 246,
+ 249,
+ 78,
+ 97,
+ 21,
+ 156,
+ 19,
+ 95,
+ 177,
+ 156,
+ 89,
+ 23,
+ 192,
+ 21,
+ 170,
+ 248,
+ 235,
+ 180,
+ 164,
+ 81,
+ 255,
+ 216,
+ 52,
+ 116,
+ 40,
+ 235,
+ 253,
+ 216,
+ 12,
+ 131,
+ 132,
+ 29,
+ 41,
+ 147,
+ 24,
+ 8,
+ 76,
+ 119,
+ 157,
+ 201,
+ 27,
+ 12
+ ],
+ "tag": [
+ 161,
+ 109,
+ 98,
+ 103,
+ 239,
+ 174,
+ 236,
+ 19,
+ 214,
+ 188,
+ 40,
+ 19,
+ 22,
+ 171,
+ 139,
+ 231
+ ]
+ },
+ {
+ "key": [
+ 187,
+ 249,
+ 71,
+ 192,
+ 232,
+ 5,
+ 172,
+ 6,
+ 65,
+ 213,
+ 64,
+ 180,
+ 113,
+ 235,
+ 157,
+ 38
+ ],
+ "nonce": [
+ 181,
+ 125,
+ 175,
+ 0,
+ 4,
+ 244,
+ 56,
+ 33,
+ 241,
+ 186,
+ 134,
+ 222
+ ],
+ "aad": [
+ 225,
+ 141,
+ 134,
+ 29,
+ 201,
+ 187,
+ 53,
+ 169,
+ 239,
+ 166,
+ 60,
+ 124,
+ 29,
+ 234,
+ 245,
+ 57,
+ 16,
+ 37,
+ 104,
+ 9,
+ 164,
+ 119,
+ 241,
+ 195,
+ 219,
+ 137,
+ 59,
+ 35,
+ 137,
+ 241,
+ 209,
+ 55,
+ 101,
+ 144,
+ 51,
+ 165,
+ 132,
+ 27,
+ 136,
+ 140,
+ 214,
+ 73,
+ 27,
+ 181,
+ 116,
+ 183,
+ 130,
+ 222,
+ 194,
+ 200,
+ 64,
+ 246,
+ 53,
+ 8,
+ 37,
+ 64,
+ 99,
+ 135,
+ 215,
+ 19,
+ 64,
+ 210,
+ 117,
+ 230,
+ 42,
+ 243,
+ 204,
+ 7,
+ 12,
+ 19,
+ 137,
+ 55,
+ 93,
+ 129,
+ 206,
+ 152,
+ 173,
+ 55,
+ 199,
+ 175,
+ 202,
+ 220,
+ 215,
+ 159,
+ 28,
+ 82,
+ 10,
+ 70,
+ 46,
+ 125
+ ],
+ "plaintext": [
+ 18,
+ 17,
+ 233,
+ 34,
+ 78,
+ 187,
+ 134,
+ 47,
+ 45,
+ 39,
+ 222,
+ 105,
+ 35,
+ 98,
+ 50,
+ 73,
+ 66,
+ 218,
+ 18,
+ 218,
+ 68,
+ 17,
+ 118,
+ 196,
+ 116,
+ 42,
+ 34,
+ 141,
+ 121,
+ 40,
+ 211,
+ 193,
+ 251,
+ 62,
+ 131,
+ 198,
+ 109,
+ 104,
+ 198,
+ 25,
+ 161,
+ 9,
+ 17,
+ 252,
+ 46,
+ 217,
+ 2,
+ 38,
+ 212,
+ 174,
+ 72
+ ],
+ "ciphertext": [
+ 166,
+ 246,
+ 170,
+ 23,
+ 80,
+ 17,
+ 139,
+ 64,
+ 46,
+ 225,
+ 181,
+ 240,
+ 37,
+ 210,
+ 144,
+ 7,
+ 227,
+ 203,
+ 22,
+ 42,
+ 217,
+ 227,
+ 99,
+ 239,
+ 185,
+ 239,
+ 45,
+ 36,
+ 200,
+ 80,
+ 246,
+ 45,
+ 185,
+ 37,
+ 187,
+ 183,
+ 233,
+ 168,
+ 60,
+ 166,
+ 205,
+ 111,
+ 116,
+ 37,
+ 29,
+ 183,
+ 38,
+ 34,
+ 133,
+ 123,
+ 41
+ ],
+ "tag": [
+ 167,
+ 45,
+ 204,
+ 41,
+ 211,
+ 88,
+ 247,
+ 148,
+ 54,
+ 31,
+ 132,
+ 32,
+ 44,
+ 152,
+ 50,
+ 249
+ ]
+ },
+ {
+ "key": [
+ 165,
+ 111,
+ 77,
+ 230,
+ 119,
+ 43,
+ 18,
+ 66,
+ 241,
+ 223,
+ 243,
+ 68,
+ 236,
+ 155,
+ 81,
+ 45
+ ],
+ "nonce": [
+ 148,
+ 210,
+ 40,
+ 8,
+ 126,
+ 130,
+ 30,
+ 48,
+ 20,
+ 9,
+ 243,
+ 5
+ ],
+ "aad": [
+ 106,
+ 156,
+ 97,
+ 219,
+ 191,
+ 170,
+ 32,
+ 161,
+ 51,
+ 32,
+ 165,
+ 241,
+ 222,
+ 173,
+ 40,
+ 191,
+ 190,
+ 93,
+ 203,
+ 232,
+ 79,
+ 224,
+ 163,
+ 97,
+ 124,
+ 52,
+ 139,
+ 215,
+ 2,
+ 251,
+ 231,
+ 70,
+ 244,
+ 57,
+ 223,
+ 202,
+ 189,
+ 173,
+ 34,
+ 172,
+ 47,
+ 166,
+ 41,
+ 121,
+ 63,
+ 84,
+ 91,
+ 198,
+ 132,
+ 89,
+ 241,
+ 192,
+ 70,
+ 36,
+ 83,
+ 181,
+ 179,
+ 27,
+ 116,
+ 124,
+ 61,
+ 41,
+ 97,
+ 79,
+ 12,
+ 205,
+ 7,
+ 69,
+ 251,
+ 170,
+ 75,
+ 32,
+ 77,
+ 71,
+ 213,
+ 204,
+ 125,
+ 179,
+ 93,
+ 107,
+ 196,
+ 75,
+ 252,
+ 236,
+ 223,
+ 174,
+ 145,
+ 15,
+ 170,
+ 114
+ ],
+ "plaintext": [
+ 175,
+ 83,
+ 118,
+ 130,
+ 196,
+ 25,
+ 235,
+ 124,
+ 163,
+ 254,
+ 214,
+ 91,
+ 204,
+ 54,
+ 75,
+ 1,
+ 239,
+ 194,
+ 69,
+ 95,
+ 246,
+ 81,
+ 40,
+ 222,
+ 220,
+ 136,
+ 242,
+ 34,
+ 70,
+ 3,
+ 239,
+ 61,
+ 114,
+ 70,
+ 98,
+ 34,
+ 105,
+ 161,
+ 43,
+ 38,
+ 155,
+ 191,
+ 106,
+ 201,
+ 210,
+ 211,
+ 184,
+ 26,
+ 189,
+ 54,
+ 111
+ ],
+ "ciphertext": [
+ 85,
+ 182,
+ 5,
+ 135,
+ 235,
+ 135,
+ 145,
+ 5,
+ 206,
+ 74,
+ 54,
+ 85,
+ 93,
+ 143,
+ 121,
+ 150,
+ 24,
+ 35,
+ 139,
+ 241,
+ 247,
+ 253,
+ 77,
+ 246,
+ 34,
+ 102,
+ 43,
+ 208,
+ 127,
+ 69,
+ 10,
+ 24,
+ 55,
+ 90,
+ 183,
+ 238,
+ 240,
+ 42,
+ 128,
+ 54,
+ 71,
+ 4,
+ 40,
+ 196,
+ 131,
+ 79,
+ 136,
+ 27,
+ 240,
+ 92,
+ 212
+ ],
+ "tag": [
+ 140,
+ 190,
+ 72,
+ 212,
+ 107,
+ 92,
+ 18,
+ 150,
+ 176,
+ 91,
+ 43,
+ 111,
+ 75,
+ 36,
+ 247,
+ 198
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 96,
+ 103,
+ 250,
+ 143,
+ 13,
+ 195,
+ 72,
+ 183,
+ 125,
+ 85,
+ 171,
+ 83,
+ 23,
+ 166,
+ 9
+ ],
+ "nonce": [
+ 135,
+ 22,
+ 33,
+ 153,
+ 83,
+ 190,
+ 204,
+ 45,
+ 137,
+ 24,
+ 243,
+ 170
+ ],
+ "aad": [
+ 129,
+ 6,
+ 249,
+ 202,
+ 203,
+ 137,
+ 77,
+ 194,
+ 240,
+ 201,
+ 60,
+ 103,
+ 204,
+ 6,
+ 205,
+ 84,
+ 175,
+ 108,
+ 109,
+ 148,
+ 25,
+ 59,
+ 208,
+ 189,
+ 150,
+ 115,
+ 252,
+ 112,
+ 47,
+ 198,
+ 185,
+ 149,
+ 148,
+ 20,
+ 118,
+ 242,
+ 220,
+ 88,
+ 79,
+ 247,
+ 83,
+ 205,
+ 242,
+ 69,
+ 23,
+ 194,
+ 21,
+ 63,
+ 30,
+ 28,
+ 110,
+ 55,
+ 254,
+ 109,
+ 134,
+ 193,
+ 228,
+ 252,
+ 99,
+ 188,
+ 235,
+ 37,
+ 116,
+ 159,
+ 147,
+ 114,
+ 214,
+ 42,
+ 25,
+ 50,
+ 116,
+ 157,
+ 210,
+ 30,
+ 246,
+ 1,
+ 11,
+ 41,
+ 66,
+ 189,
+ 4,
+ 100,
+ 189,
+ 100,
+ 23,
+ 16,
+ 99,
+ 167,
+ 120,
+ 160
+ ],
+ "plaintext": [
+ 171,
+ 145,
+ 15,
+ 115,
+ 0,
+ 236,
+ 107,
+ 245,
+ 125,
+ 123,
+ 175,
+ 43,
+ 68,
+ 116,
+ 162,
+ 106,
+ 125,
+ 125,
+ 252,
+ 214,
+ 177,
+ 4,
+ 76,
+ 208,
+ 176,
+ 179,
+ 41,
+ 149,
+ 2,
+ 154,
+ 112,
+ 98,
+ 127,
+ 141,
+ 37,
+ 84,
+ 66,
+ 158,
+ 19,
+ 209,
+ 77,
+ 120,
+ 149,
+ 15,
+ 177,
+ 199,
+ 158,
+ 209,
+ 244,
+ 140,
+ 50
+ ],
+ "ciphertext": [
+ 139,
+ 200,
+ 34,
+ 24,
+ 63,
+ 158,
+ 66,
+ 240,
+ 84,
+ 41,
+ 224,
+ 100,
+ 147,
+ 77,
+ 159,
+ 132,
+ 223,
+ 225,
+ 113,
+ 61,
+ 113,
+ 105,
+ 14,
+ 104,
+ 152,
+ 31,
+ 148,
+ 37,
+ 111,
+ 164,
+ 166,
+ 7,
+ 54,
+ 96,
+ 124,
+ 88,
+ 100,
+ 227,
+ 176,
+ 94,
+ 55,
+ 48,
+ 202,
+ 237,
+ 128,
+ 0,
+ 74,
+ 155,
+ 179,
+ 173,
+ 182
+ ],
+ "tag": [
+ 67,
+ 155,
+ 11,
+ 205,
+ 210,
+ 74,
+ 135,
+ 66,
+ 154,
+ 64,
+ 152,
+ 253,
+ 138,
+ 5,
+ 81,
+ 76
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 126,
+ 242,
+ 30,
+ 145,
+ 241,
+ 8,
+ 246,
+ 171,
+ 69,
+ 25,
+ 128,
+ 131,
+ 124,
+ 240,
+ 41
+ ],
+ "nonce": [
+ 172,
+ 16,
+ 16,
+ 246,
+ 220,
+ 236,
+ 113,
+ 60,
+ 186,
+ 23,
+ 203,
+ 19
+ ],
+ "aad": [
+ 93,
+ 9,
+ 170,
+ 42,
+ 48,
+ 46,
+ 62,
+ 194,
+ 189,
+ 113,
+ 178,
+ 93,
+ 82,
+ 5,
+ 52,
+ 99,
+ 201,
+ 195,
+ 138,
+ 59,
+ 70,
+ 15,
+ 123,
+ 152,
+ 10,
+ 173,
+ 108,
+ 145,
+ 213,
+ 1,
+ 21,
+ 112,
+ 190,
+ 140,
+ 35,
+ 180,
+ 219,
+ 81,
+ 135,
+ 1,
+ 244,
+ 197,
+ 161,
+ 87,
+ 136,
+ 38,
+ 149,
+ 186,
+ 74,
+ 193,
+ 64,
+ 249,
+ 75,
+ 218,
+ 19,
+ 217,
+ 130,
+ 74,
+ 137,
+ 118,
+ 212,
+ 54,
+ 73,
+ 43,
+ 170,
+ 174,
+ 108,
+ 79,
+ 131,
+ 103,
+ 104,
+ 49,
+ 153,
+ 105,
+ 90,
+ 31,
+ 107,
+ 205,
+ 162,
+ 246,
+ 69,
+ 177,
+ 136,
+ 170,
+ 92,
+ 40,
+ 111,
+ 185,
+ 28,
+ 138
+ ],
+ "plaintext": [
+ 162,
+ 174,
+ 131,
+ 133,
+ 50,
+ 206,
+ 191,
+ 201,
+ 255,
+ 143,
+ 182,
+ 34,
+ 66,
+ 184,
+ 77,
+ 247,
+ 6,
+ 173,
+ 23,
+ 119,
+ 166,
+ 47,
+ 84,
+ 198,
+ 77,
+ 155,
+ 23,
+ 119,
+ 189,
+ 192,
+ 129,
+ 148,
+ 56,
+ 211,
+ 74,
+ 164,
+ 193,
+ 144,
+ 110,
+ 15,
+ 174,
+ 30,
+ 132,
+ 91,
+ 50,
+ 216,
+ 251,
+ 101,
+ 118,
+ 61,
+ 198
+ ],
+ "ciphertext": [
+ 148,
+ 193,
+ 148,
+ 24,
+ 135,
+ 255,
+ 148,
+ 243,
+ 76,
+ 185,
+ 108,
+ 255,
+ 43,
+ 106,
+ 37,
+ 246,
+ 96,
+ 206,
+ 155,
+ 58,
+ 197,
+ 73,
+ 99,
+ 150,
+ 14,
+ 112,
+ 238,
+ 73,
+ 80,
+ 13,
+ 174,
+ 106,
+ 32,
+ 211,
+ 48,
+ 115,
+ 147,
+ 243,
+ 125,
+ 58,
+ 74,
+ 53,
+ 193,
+ 59,
+ 88,
+ 247,
+ 191,
+ 240,
+ 245,
+ 222,
+ 123
+ ],
+ "tag": [
+ 149,
+ 229,
+ 116,
+ 247,
+ 15,
+ 94,
+ 250,
+ 20,
+ 184,
+ 238,
+ 33,
+ 150,
+ 25,
+ 114,
+ 238,
+ 60
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 200,
+ 188,
+ 176,
+ 2,
+ 16,
+ 144,
+ 228,
+ 178,
+ 199,
+ 133,
+ 199,
+ 156,
+ 185,
+ 102,
+ 184
+ ],
+ "nonce": [
+ 94,
+ 159,
+ 19,
+ 19,
+ 40,
+ 47,
+ 115,
+ 215,
+ 255,
+ 185,
+ 40,
+ 55
+ ],
+ "aad": [
+ 247,
+ 225,
+ 74,
+ 87,
+ 227,
+ 187,
+ 107,
+ 153,
+ 134,
+ 107,
+ 144,
+ 87,
+ 61,
+ 123,
+ 195,
+ 85,
+ 186,
+ 235,
+ 122,
+ 195,
+ 71,
+ 228,
+ 61,
+ 11,
+ 101,
+ 217,
+ 126,
+ 204,
+ 46,
+ 185,
+ 199,
+ 114,
+ 64,
+ 26,
+ 142,
+ 60,
+ 126,
+ 158,
+ 40,
+ 113,
+ 194,
+ 183,
+ 149,
+ 121,
+ 212,
+ 76,
+ 19,
+ 158,
+ 98,
+ 195,
+ 59,
+ 66,
+ 169,
+ 224,
+ 200,
+ 118,
+ 134,
+ 150,
+ 0,
+ 9,
+ 214,
+ 89,
+ 213,
+ 227,
+ 135,
+ 78,
+ 22,
+ 140,
+ 51,
+ 75,
+ 102,
+ 80,
+ 198,
+ 211,
+ 97,
+ 104,
+ 99,
+ 55,
+ 87,
+ 167,
+ 194,
+ 7,
+ 100,
+ 35,
+ 44,
+ 233,
+ 74,
+ 13,
+ 225,
+ 165
+ ],
+ "plaintext": [
+ 45,
+ 124,
+ 27,
+ 104,
+ 145,
+ 137,
+ 187,
+ 250,
+ 43,
+ 226,
+ 106,
+ 213,
+ 193,
+ 242,
+ 150,
+ 222,
+ 228,
+ 192,
+ 246,
+ 20,
+ 86,
+ 255,
+ 201,
+ 76,
+ 248,
+ 231,
+ 10,
+ 173,
+ 15,
+ 9,
+ 208,
+ 96,
+ 140,
+ 65,
+ 21,
+ 170,
+ 110,
+ 213,
+ 235,
+ 169,
+ 62,
+ 213,
+ 130,
+ 11,
+ 63,
+ 52,
+ 38,
+ 187,
+ 244,
+ 214,
+ 74
+ ],
+ "ciphertext": [
+ 186,
+ 89,
+ 0,
+ 45,
+ 243,
+ 57,
+ 76,
+ 91,
+ 128,
+ 152,
+ 53,
+ 25,
+ 220,
+ 22,
+ 62,
+ 202,
+ 92,
+ 68,
+ 223,
+ 128,
+ 248,
+ 196,
+ 196,
+ 225,
+ 93,
+ 63,
+ 247,
+ 63,
+ 19,
+ 193,
+ 112,
+ 200,
+ 10,
+ 89,
+ 216,
+ 122,
+ 33,
+ 101,
+ 167,
+ 180,
+ 80,
+ 190,
+ 1,
+ 3,
+ 26,
+ 142,
+ 65,
+ 197,
+ 5,
+ 200,
+ 159
+ ],
+ "tag": [
+ 40,
+ 65,
+ 140,
+ 86,
+ 71,
+ 49,
+ 189,
+ 223,
+ 61,
+ 80,
+ 77,
+ 142,
+ 211,
+ 46,
+ 102,
+ 238
+ ]
+ }
+]
diff --git a/tests/unit_node/crypto/gcmEncryptExtIV256.json b/tests/unit_node/crypto/gcmEncryptExtIV256.json
new file mode 100644
index 000000000..cb8ba3086
--- /dev/null
+++ b/tests/unit_node/crypto/gcmEncryptExtIV256.json
@@ -0,0 +1,57377 @@
+[
+ {
+ "key": [
+ 181,
+ 44,
+ 80,
+ 90,
+ 55,
+ 215,
+ 142,
+ 218,
+ 93,
+ 211,
+ 79,
+ 32,
+ 194,
+ 37,
+ 64,
+ 234,
+ 27,
+ 88,
+ 150,
+ 60,
+ 248,
+ 229,
+ 191,
+ 143,
+ 250,
+ 133,
+ 249,
+ 242,
+ 73,
+ 37,
+ 5,
+ 180
+ ],
+ "nonce": [
+ 81,
+ 108,
+ 51,
+ 146,
+ 157,
+ 245,
+ 163,
+ 40,
+ 79,
+ 244,
+ 99,
+ 215
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 189,
+ 193,
+ 172,
+ 136,
+ 77,
+ 51,
+ 36,
+ 87,
+ 161,
+ 210,
+ 102,
+ 79,
+ 22,
+ 140,
+ 118,
+ 240
+ ]
+ },
+ {
+ "key": [
+ 95,
+ 224,
+ 134,
+ 28,
+ 220,
+ 38,
+ 144,
+ 206,
+ 105,
+ 179,
+ 101,
+ 140,
+ 127,
+ 38,
+ 248,
+ 69,
+ 142,
+ 236,
+ 28,
+ 146,
+ 67,
+ 197,
+ 186,
+ 8,
+ 69,
+ 48,
+ 93,
+ 137,
+ 126,
+ 150,
+ 202,
+ 15
+ ],
+ "nonce": [
+ 119,
+ 10,
+ 193,
+ 165,
+ 163,
+ 212,
+ 118,
+ 213,
+ 217,
+ 105,
+ 68,
+ 161
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 25,
+ 109,
+ 105,
+ 30,
+ 16,
+ 71,
+ 9,
+ 60,
+ 164,
+ 179,
+ 210,
+ 239,
+ 75,
+ 171,
+ 162,
+ 22
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 32,
+ 183,
+ 155,
+ 23,
+ 178,
+ 27,
+ 6,
+ 217,
+ 112,
+ 25,
+ 170,
+ 112,
+ 225,
+ 202,
+ 16,
+ 94,
+ 28,
+ 3,
+ 210,
+ 160,
+ 207,
+ 139,
+ 32,
+ 181,
+ 160,
+ 206,
+ 92,
+ 57,
+ 3,
+ 229,
+ 72
+ ],
+ "nonce": [
+ 96,
+ 245,
+ 110,
+ 183,
+ 164,
+ 179,
+ 141,
+ 79,
+ 3,
+ 57,
+ 85,
+ 17
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 245,
+ 112,
+ 195,
+ 130,
+ 2,
+ 217,
+ 69,
+ 100,
+ 186,
+ 179,
+ 159,
+ 117,
+ 97,
+ 123,
+ 200,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 126,
+ 45,
+ 176,
+ 3,
+ 33,
+ 24,
+ 148,
+ 118,
+ 209,
+ 68,
+ 197,
+ 242,
+ 126,
+ 120,
+ 112,
+ 135,
+ 48,
+ 42,
+ 72,
+ 181,
+ 247,
+ 120,
+ 108,
+ 217,
+ 30,
+ 147,
+ 100,
+ 22,
+ 40,
+ 194,
+ 50,
+ 139
+ ],
+ "nonce": [
+ 234,
+ 157,
+ 82,
+ 91,
+ 240,
+ 29,
+ 231,
+ 178,
+ 35,
+ 75,
+ 96,
+ 106
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 219,
+ 157,
+ 245,
+ 241,
+ 79,
+ 108,
+ 159,
+ 42,
+ 232,
+ 31,
+ 212,
+ 33,
+ 65,
+ 45,
+ 219,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 61,
+ 251,
+ 132,
+ 181,
+ 151,
+ 107,
+ 70,
+ 177,
+ 131,
+ 13,
+ 147,
+ 188,
+ 246,
+ 25,
+ 65,
+ 202,
+ 229,
+ 228,
+ 9,
+ 228,
+ 245,
+ 85,
+ 29,
+ 198,
+ 132,
+ 189,
+ 206,
+ 249,
+ 135,
+ 100,
+ 128
+ ],
+ "nonce": [
+ 90,
+ 163,
+ 69,
+ 144,
+ 128,
+ 72,
+ 222,
+ 16,
+ 162,
+ 189,
+ 61,
+ 50
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 242,
+ 130,
+ 23,
+ 100,
+ 146,
+ 48,
+ 189,
+ 122,
+ 64,
+ 169,
+ 164,
+ 221,
+ 171,
+ 198,
+ 124,
+ 67
+ ]
+ },
+ {
+ "key": [
+ 223,
+ 233,
+ 40,
+ 248,
+ 100,
+ 48,
+ 183,
+ 138,
+ 221,
+ 123,
+ 183,
+ 105,
+ 96,
+ 35,
+ 230,
+ 21,
+ 61,
+ 118,
+ 151,
+ 126,
+ 86,
+ 16,
+ 59,
+ 24,
+ 2,
+ 83,
+ 73,
+ 10,
+ 255,
+ 185,
+ 67,
+ 28
+ ],
+ "nonce": [
+ 29,
+ 208,
+ 120,
+ 90,
+ 249,
+ 245,
+ 137,
+ 121,
+ 161,
+ 11,
+ 214,
+ 45
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 165,
+ 94,
+ 176,
+ 158,
+ 158,
+ 222,
+ 245,
+ 141,
+ 159,
+ 103,
+ 29,
+ 114,
+ 32,
+ 127,
+ 139,
+ 60
+ ]
+ },
+ {
+ "key": [
+ 52,
+ 4,
+ 141,
+ 184,
+ 21,
+ 145,
+ 238,
+ 104,
+ 34,
+ 73,
+ 86,
+ 189,
+ 105,
+ 137,
+ 225,
+ 99,
+ 15,
+ 207,
+ 6,
+ 141,
+ 127,
+ 247,
+ 38,
+ 174,
+ 129,
+ 229,
+ 178,
+ 159,
+ 84,
+ 140,
+ 252,
+ 251
+ ],
+ "nonce": [
+ 22,
+ 33,
+ 211,
+ 76,
+ 255,
+ 42,
+ 91,
+ 37,
+ 12,
+ 123,
+ 118,
+ 252
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 73,
+ 146,
+ 236,
+ 61,
+ 87,
+ 204,
+ 207,
+ 165,
+ 143,
+ 216,
+ 145,
+ 108,
+ 89,
+ 183,
+ 11,
+ 17
+ ]
+ },
+ {
+ "key": [
+ 161,
+ 17,
+ 79,
+ 135,
+ 73,
+ 199,
+ 43,
+ 140,
+ 239,
+ 98,
+ 231,
+ 80,
+ 63,
+ 26,
+ 217,
+ 33,
+ 211,
+ 62,
+ 238,
+ 222,
+ 50,
+ 176,
+ 181,
+ 184,
+ 224,
+ 214,
+ 128,
+ 122,
+ 162,
+ 51,
+ 208,
+ 173
+ ],
+ "nonce": [
+ 161,
+ 144,
+ 237,
+ 63,
+ 242,
+ 226,
+ 56,
+ 190,
+ 86,
+ 249,
+ 11,
+ 214
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 200,
+ 70,
+ 77,
+ 149,
+ 213,
+ 64,
+ 251,
+ 25,
+ 17,
+ 86,
+ 251,
+ 188,
+ 22,
+ 8,
+ 132,
+ 42
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 187,
+ 153,
+ 220,
+ 49,
+ 2,
+ 211,
+ 17,
+ 2,
+ 192,
+ 225,
+ 75,
+ 35,
+ 133,
+ 24,
+ 96,
+ 87,
+ 102,
+ 197,
+ 178,
+ 61,
+ 155,
+ 234,
+ 82,
+ 199,
+ 197,
+ 167,
+ 113,
+ 4,
+ 44,
+ 133,
+ 160
+ ],
+ "nonce": [
+ 149,
+ 209,
+ 94,
+ 215,
+ 92,
+ 106,
+ 16,
+ 154,
+ 172,
+ 27,
+ 29,
+ 134
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 129,
+ 61,
+ 29,
+ 163,
+ 119,
+ 92,
+ 172,
+ 215,
+ 142,
+ 150,
+ 216,
+ 111,
+ 3,
+ 108,
+ 255,
+ 150
+ ]
+ },
+ {
+ "key": [
+ 31,
+ 170,
+ 80,
+ 107,
+ 143,
+ 19,
+ 162,
+ 230,
+ 102,
+ 10,
+ 247,
+ 141,
+ 146,
+ 145,
+ 90,
+ 223,
+ 51,
+ 54,
+ 88,
+ 247,
+ 72,
+ 244,
+ 228,
+ 143,
+ 162,
+ 1,
+ 53,
+ 162,
+ 158,
+ 154,
+ 190,
+ 95
+ ],
+ "nonce": [
+ 229,
+ 15,
+ 39,
+ 141,
+ 54,
+ 98,
+ 201,
+ 157,
+ 117,
+ 15,
+ 96,
+ 211
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 174,
+ 199,
+ 236,
+ 230,
+ 107,
+ 115,
+ 68,
+ 175,
+ 214,
+ 246,
+ 204,
+ 116,
+ 25,
+ 207,
+ 96,
+ 39
+ ]
+ },
+ {
+ "key": [
+ 243,
+ 11,
+ 89,
+ 66,
+ 250,
+ 245,
+ 125,
+ 76,
+ 19,
+ 231,
+ 168,
+ 36,
+ 149,
+ 174,
+ 223,
+ 27,
+ 78,
+ 96,
+ 53,
+ 57,
+ 178,
+ 225,
+ 89,
+ 147,
+ 23,
+ 204,
+ 110,
+ 83,
+ 34,
+ 90,
+ 36,
+ 147
+ ],
+ "nonce": [
+ 51,
+ 108,
+ 56,
+ 142,
+ 24,
+ 230,
+ 171,
+ 249,
+ 43,
+ 183,
+ 57,
+ 169
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 221,
+ 175,
+ 142,
+ 244,
+ 203,
+ 47,
+ 138,
+ 109,
+ 64,
+ 31,
+ 59,
+ 229,
+ 255,
+ 11,
+ 175,
+ 106
+ ]
+ },
+ {
+ "key": [
+ 218,
+ 244,
+ 217,
+ 193,
+ 44,
+ 93,
+ 41,
+ 252,
+ 63,
+ 169,
+ 54,
+ 83,
+ 44,
+ 150,
+ 25,
+ 110,
+ 86,
+ 174,
+ 132,
+ 46,
+ 71,
+ 6,
+ 58,
+ 75,
+ 41,
+ 191,
+ 255,
+ 42,
+ 53,
+ 237,
+ 146,
+ 128
+ ],
+ "nonce": [
+ 83,
+ 129,
+ 242,
+ 17,
+ 151,
+ 224,
+ 147,
+ 185,
+ 108,
+ 218,
+ 196,
+ 250
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 127,
+ 24,
+ 50,
+ 199,
+ 247,
+ 205,
+ 120,
+ 18,
+ 160,
+ 4,
+ 183,
+ 156,
+ 61,
+ 57,
+ 148,
+ 115
+ ]
+ },
+ {
+ "key": [
+ 107,
+ 82,
+ 71,
+ 84,
+ 20,
+ 156,
+ 129,
+ 64,
+ 29,
+ 41,
+ 164,
+ 184,
+ 166,
+ 244,
+ 164,
+ 120,
+ 51,
+ 55,
+ 40,
+ 6,
+ 178,
+ 212,
+ 8,
+ 63,
+ 241,
+ 127,
+ 45,
+ 179,
+ 191,
+ 193,
+ 123,
+ 202
+ ],
+ "nonce": [
+ 172,
+ 125,
+ 61,
+ 97,
+ 138,
+ 182,
+ 144,
+ 85,
+ 94,
+ 194,
+ 68,
+ 8
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 219,
+ 7,
+ 168,
+ 133,
+ 226,
+ 189,
+ 57,
+ 218,
+ 116,
+ 17,
+ 109,
+ 6,
+ 195,
+ 22,
+ 165,
+ 201
+ ]
+ },
+ {
+ "key": [
+ 207,
+ 240,
+ 131,
+ 48,
+ 63,
+ 244,
+ 10,
+ 31,
+ 102,
+ 196,
+ 174,
+ 209,
+ 172,
+ 127,
+ 80,
+ 98,
+ 143,
+ 231,
+ 233,
+ 49,
+ 31,
+ 93,
+ 3,
+ 126,
+ 191,
+ 73,
+ 244,
+ 164,
+ 185,
+ 240,
+ 34,
+ 63
+ ],
+ "nonce": [
+ 69,
+ 212,
+ 110,
+ 27,
+ 170,
+ 220,
+ 251,
+ 200,
+ 240,
+ 233,
+ 34,
+ 255
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 22,
+ 135,
+ 198,
+ 212,
+ 89,
+ 234,
+ 72,
+ 27,
+ 248,
+ 142,
+ 75,
+ 34,
+ 99,
+ 34,
+ 121,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 57,
+ 84,
+ 246,
+ 12,
+ 221,
+ 187,
+ 57,
+ 210,
+ 216,
+ 176,
+ 88,
+ 173,
+ 245,
+ 69,
+ 213,
+ 184,
+ 36,
+ 144,
+ 200,
+ 174,
+ 146,
+ 131,
+ 175,
+ 165,
+ 39,
+ 134,
+ 137,
+ 4,
+ 29,
+ 65,
+ 90,
+ 58
+ ],
+ "nonce": [
+ 143,
+ 179,
+ 217,
+ 142,
+ 242,
+ 79,
+ 186,
+ 3,
+ 116,
+ 106,
+ 200,
+ 79
+ ],
+ "aad": [],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 127,
+ 177,
+ 48,
+ 133,
+ 93,
+ 254,
+ 122,
+ 55,
+ 51,
+ 19,
+ 54,
+ 31,
+ 51,
+ 245,
+ 82,
+ 55
+ ]
+ },
+ {
+ "key": [
+ 120,
+ 220,
+ 78,
+ 10,
+ 175,
+ 82,
+ 217,
+ 53,
+ 195,
+ 192,
+ 30,
+ 234,
+ 87,
+ 66,
+ 143,
+ 0,
+ 202,
+ 31,
+ 212,
+ 117,
+ 245,
+ 218,
+ 134,
+ 164,
+ 156,
+ 141,
+ 215,
+ 61,
+ 104,
+ 200,
+ 226,
+ 35
+ ],
+ "nonce": [
+ 215,
+ 156,
+ 242,
+ 45,
+ 80,
+ 76,
+ 199,
+ 147,
+ 195,
+ 251,
+ 108,
+ 138
+ ],
+ "aad": [
+ 185,
+ 107,
+ 170,
+ 140,
+ 28,
+ 117,
+ 166,
+ 113,
+ 191,
+ 178,
+ 208,
+ 141,
+ 6,
+ 190,
+ 95,
+ 54
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 62,
+ 93,
+ 72,
+ 106,
+ 162,
+ 227,
+ 11,
+ 34,
+ 224,
+ 64,
+ 184,
+ 87,
+ 35,
+ 160,
+ 110,
+ 118
+ ]
+ },
+ {
+ "key": [
+ 68,
+ 87,
+ 255,
+ 51,
+ 104,
+ 60,
+ 202,
+ 108,
+ 164,
+ 147,
+ 135,
+ 139,
+ 220,
+ 0,
+ 55,
+ 56,
+ 147,
+ 169,
+ 118,
+ 52,
+ 18,
+ 238,
+ 248,
+ 205,
+ 219,
+ 84,
+ 249,
+ 19,
+ 24,
+ 224,
+ 218,
+ 136
+ ],
+ "nonce": [
+ 105,
+ 157,
+ 31,
+ 41,
+ 215,
+ 184,
+ 197,
+ 83,
+ 0,
+ 187,
+ 31,
+ 210
+ ],
+ "aad": [
+ 103,
+ 73,
+ 218,
+ 238,
+ 163,
+ 103,
+ 208,
+ 233,
+ 128,
+ 158,
+ 45,
+ 194,
+ 243,
+ 9,
+ 230,
+ 227
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 214,
+ 12,
+ 116,
+ 210,
+ 81,
+ 127,
+ 222,
+ 74,
+ 116,
+ 224,
+ 205,
+ 71,
+ 9,
+ 237,
+ 67,
+ 169
+ ]
+ },
+ {
+ "key": [
+ 77,
+ 1,
+ 201,
+ 110,
+ 249,
+ 217,
+ 141,
+ 79,
+ 180,
+ 233,
+ 182,
+ 27,
+ 229,
+ 239,
+ 167,
+ 114,
+ 201,
+ 120,
+ 133,
+ 69,
+ 179,
+ 234,
+ 195,
+ 158,
+ 177,
+ 202,
+ 203,
+ 153,
+ 122,
+ 95,
+ 7,
+ 146
+ ],
+ "nonce": [
+ 50,
+ 18,
+ 74,
+ 77,
+ 158,
+ 87,
+ 106,
+ 234,
+ 37,
+ 137,
+ 242,
+ 56
+ ],
+ "aad": [
+ 215,
+ 43,
+ 173,
+ 12,
+ 56,
+ 73,
+ 94,
+ 218,
+ 80,
+ 213,
+ 88,
+ 17,
+ 148,
+ 94,
+ 226,
+ 5
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 109,
+ 99,
+ 151,
+ 201,
+ 226,
+ 3,
+ 15,
+ 91,
+ 128,
+ 83,
+ 191,
+ 229,
+ 16,
+ 243,
+ 242,
+ 207
+ ]
+ },
+ {
+ "key": [
+ 131,
+ 120,
+ 25,
+ 58,
+ 76,
+ 230,
+ 65,
+ 128,
+ 129,
+ 75,
+ 214,
+ 5,
+ 145,
+ 209,
+ 5,
+ 74,
+ 4,
+ 219,
+ 196,
+ 218,
+ 2,
+ 175,
+ 222,
+ 69,
+ 55,
+ 153,
+ 205,
+ 104,
+ 136,
+ 238,
+ 12,
+ 108
+ ],
+ "nonce": [
+ 189,
+ 139,
+ 78,
+ 53,
+ 44,
+ 127,
+ 105,
+ 135,
+ 138,
+ 71,
+ 84,
+ 53
+ ],
+ "aad": [
+ 28,
+ 107,
+ 52,
+ 60,
+ 77,
+ 4,
+ 92,
+ 187,
+ 165,
+ 98,
+ 186,
+ 227,
+ 229,
+ 255,
+ 27,
+ 24
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 8,
+ 51,
+ 150,
+ 122,
+ 106,
+ 83,
+ 186,
+ 36,
+ 231,
+ 92,
+ 3,
+ 114,
+ 166,
+ 161,
+ 123,
+ 218
+ ]
+ },
+ {
+ "key": [
+ 34,
+ 252,
+ 130,
+ 219,
+ 91,
+ 96,
+ 105,
+ 152,
+ 173,
+ 69,
+ 9,
+ 155,
+ 121,
+ 120,
+ 181,
+ 180,
+ 249,
+ 221,
+ 78,
+ 166,
+ 1,
+ 126,
+ 87,
+ 55,
+ 10,
+ 197,
+ 97,
+ 65,
+ 202,
+ 170,
+ 189,
+ 18
+ ],
+ "nonce": [
+ 136,
+ 13,
+ 5,
+ 197,
+ 238,
+ 89,
+ 158,
+ 95,
+ 21,
+ 30,
+ 48,
+ 47
+ ],
+ "aad": [
+ 62,
+ 62,
+ 181,
+ 116,
+ 126,
+ 57,
+ 15,
+ 123,
+ 200,
+ 14,
+ 116,
+ 130,
+ 51,
+ 72,
+ 79,
+ 252
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 46,
+ 18,
+ 42,
+ 71,
+ 142,
+ 100,
+ 70,
+ 50,
+ 134,
+ 248,
+ 180,
+ 137,
+ 220,
+ 221,
+ 9,
+ 200
+ ]
+ },
+ {
+ "key": [
+ 252,
+ 0,
+ 150,
+ 13,
+ 221,
+ 105,
+ 141,
+ 53,
+ 114,
+ 140,
+ 90,
+ 198,
+ 7,
+ 89,
+ 107,
+ 81,
+ 179,
+ 248,
+ 151,
+ 65,
+ 209,
+ 76,
+ 37,
+ 184,
+ 186,
+ 218,
+ 201,
+ 25,
+ 118,
+ 18,
+ 13,
+ 153
+ ],
+ "nonce": [
+ 164,
+ 36,
+ 163,
+ 42,
+ 35,
+ 127,
+ 13,
+ 245,
+ 48,
+ 240,
+ 94,
+ 48
+ ],
+ "aad": [
+ 207,
+ 183,
+ 224,
+ 94,
+ 49,
+ 87,
+ 240,
+ 201,
+ 5,
+ 73,
+ 213,
+ 199,
+ 134,
+ 80,
+ 99,
+ 17
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 220,
+ 220,
+ 185,
+ 228,
+ 0,
+ 75,
+ 133,
+ 42,
+ 13,
+ 161,
+ 43,
+ 223,
+ 37,
+ 91,
+ 77,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 116,
+ 153,
+ 67,
+ 9,
+ 47,
+ 86,
+ 5,
+ 191,
+ 151,
+ 30,
+ 24,
+ 92,
+ 25,
+ 28,
+ 97,
+ 130,
+ 97,
+ 178,
+ 199,
+ 204,
+ 22,
+ 147,
+ 205,
+ 161,
+ 8,
+ 12,
+ 162,
+ 253,
+ 141,
+ 81,
+ 17
+ ],
+ "nonce": [
+ 189,
+ 13,
+ 98,
+ 192,
+ 46,
+ 230,
+ 130,
+ 6,
+ 155,
+ 209,
+ 225,
+ 40
+ ],
+ "aad": [
+ 105,
+ 103,
+ 220,
+ 232,
+ 120,
+ 240,
+ 59,
+ 100,
+ 59,
+ 245,
+ 205,
+ 186,
+ 89,
+ 106,
+ 122,
+ 243
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 55,
+ 143,
+ 121,
+ 106,
+ 229,
+ 67,
+ 225,
+ 178,
+ 145,
+ 21,
+ 204,
+ 24,
+ 172,
+ 209,
+ 147,
+ 244
+ ]
+ },
+ {
+ "key": [
+ 252,
+ 72,
+ 117,
+ 219,
+ 132,
+ 129,
+ 152,
+ 52,
+ 177,
+ 203,
+ 67,
+ 130,
+ 141,
+ 47,
+ 10,
+ 227,
+ 71,
+ 58,
+ 163,
+ 128,
+ 17,
+ 28,
+ 39,
+ 55,
+ 232,
+ 42,
+ 154,
+ 177,
+ 31,
+ 234,
+ 31,
+ 25
+ ],
+ "nonce": [
+ 218,
+ 106,
+ 104,
+ 77,
+ 63,
+ 246,
+ 58,
+ 45,
+ 16,
+ 157,
+ 236,
+ 214
+ ],
+ "aad": [
+ 145,
+ 182,
+ 250,
+ 42,
+ 180,
+ 222,
+ 68,
+ 40,
+ 47,
+ 252,
+ 134,
+ 200,
+ 205,
+ 230,
+ 231,
+ 245
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 80,
+ 78,
+ 129,
+ 210,
+ 231,
+ 135,
+ 126,
+ 77,
+ 173,
+ 111,
+ 49,
+ 205,
+ 235,
+ 7,
+ 189,
+ 189
+ ]
+ },
+ {
+ "key": [
+ 159,
+ 159,
+ 231,
+ 210,
+ 162,
+ 109,
+ 207,
+ 89,
+ 214,
+ 132,
+ 241,
+ 192,
+ 148,
+ 91,
+ 95,
+ 250,
+ 254,
+ 10,
+ 71,
+ 70,
+ 132,
+ 94,
+ 211,
+ 23,
+ 211,
+ 95,
+ 62,
+ 215,
+ 108,
+ 147,
+ 4,
+ 77
+ ],
+ "nonce": [
+ 19,
+ 181,
+ 153,
+ 113,
+ 205,
+ 77,
+ 211,
+ 107,
+ 25,
+ 172,
+ 113,
+ 4
+ ],
+ "aad": [
+ 25,
+ 10,
+ 105,
+ 52,
+ 244,
+ 95,
+ 137,
+ 201,
+ 0,
+ 103,
+ 194,
+ 246,
+ 46,
+ 4,
+ 197,
+ 59
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 79,
+ 99,
+ 106,
+ 41,
+ 75,
+ 251,
+ 245,
+ 31,
+ 192,
+ 225,
+ 49,
+ 214,
+ 148,
+ 213,
+ 194,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 171,
+ 145,
+ 85,
+ 215,
+ 216,
+ 27,
+ 166,
+ 243,
+ 49,
+ 147,
+ 105,
+ 92,
+ 244,
+ 86,
+ 106,
+ 155,
+ 110,
+ 151,
+ 163,
+ 228,
+ 9,
+ 245,
+ 113,
+ 89,
+ 174,
+ 108,
+ 164,
+ 150,
+ 85,
+ 204,
+ 160,
+ 113
+ ],
+ "nonce": [
+ 38,
+ 169,
+ 248,
+ 214,
+ 101,
+ 209,
+ 99,
+ 221,
+ 185,
+ 45,
+ 3,
+ 93
+ ],
+ "aad": [
+ 74,
+ 32,
+ 58,
+ 194,
+ 107,
+ 149,
+ 26,
+ 31,
+ 103,
+ 60,
+ 102,
+ 5,
+ 101,
+ 62,
+ 192,
+ 45
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 67,
+ 126,
+ 167,
+ 122,
+ 56,
+ 121,
+ 240,
+ 16,
+ 105,
+ 30,
+ 40,
+ 141,
+ 98,
+ 105,
+ 169,
+ 150
+ ]
+ },
+ {
+ "key": [
+ 15,
+ 28,
+ 98,
+ 221,
+ 128,
+ 180,
+ 166,
+ 208,
+ 158,
+ 233,
+ 215,
+ 135,
+ 177,
+ 176,
+ 67,
+ 39,
+ 170,
+ 54,
+ 21,
+ 41,
+ 255,
+ 163,
+ 64,
+ 117,
+ 96,
+ 65,
+ 74,
+ 196,
+ 123,
+ 126,
+ 247,
+ 188
+ ],
+ "nonce": [
+ 200,
+ 118,
+ 19,
+ 163,
+ 183,
+ 13,
+ 42,
+ 4,
+ 143,
+ 50,
+ 203,
+ 154
+ ],
+ "aad": [
+ 143,
+ 35,
+ 212,
+ 4,
+ 190,
+ 45,
+ 158,
+ 136,
+ 141,
+ 33,
+ 159,
+ 27,
+ 64,
+ 170,
+ 41,
+ 232
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 54,
+ 216,
+ 163,
+ 9,
+ 172,
+ 187,
+ 135,
+ 22,
+ 201,
+ 192,
+ 140,
+ 127,
+ 93,
+ 228,
+ 145,
+ 30
+ ]
+ },
+ {
+ "key": [
+ 243,
+ 233,
+ 84,
+ 163,
+ 137,
+ 86,
+ 223,
+ 137,
+ 2,
+ 85,
+ 240,
+ 23,
+ 9,
+ 228,
+ 87,
+ 179,
+ 63,
+ 75,
+ 254,
+ 126,
+ 203,
+ 54,
+ 208,
+ 238,
+ 80,
+ 242,
+ 80,
+ 4,
+ 113,
+ 238,
+ 188,
+ 222
+ ],
+ "nonce": [
+ 151,
+ 153,
+ 171,
+ 211,
+ 197,
+ 33,
+ 16,
+ 199,
+ 4,
+ 176,
+ 243,
+ 106
+ ],
+ "aad": [
+ 221,
+ 183,
+ 1,
+ 115,
+ 244,
+ 65,
+ 87,
+ 117,
+ 91,
+ 108,
+ 155,
+ 112,
+ 88,
+ 244,
+ 12,
+ 183
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 179,
+ 35,
+ 174,
+ 58,
+ 188,
+ 180,
+ 21,
+ 199,
+ 244,
+ 32,
+ 135,
+ 108,
+ 152,
+ 15,
+ 72,
+ 88
+ ]
+ },
+ {
+ "key": [
+ 6,
+ 37,
+ 49,
+ 101,
+ 52,
+ 251,
+ 216,
+ 47,
+ 232,
+ 253,
+ 234,
+ 80,
+ 250,
+ 87,
+ 60,
+ 70,
+ 32,
+ 34,
+ 196,
+ 47,
+ 121,
+ 232,
+ 178,
+ 19,
+ 96,
+ 229,
+ 166,
+ 220,
+ 230,
+ 109,
+ 222,
+ 40
+ ],
+ "nonce": [
+ 218,
+ 100,
+ 166,
+ 116,
+ 144,
+ 124,
+ 214,
+ 207,
+ 36,
+ 143,
+ 95,
+ 187
+ ],
+ "aad": [
+ 242,
+ 77,
+ 72,
+ 224,
+ 79,
+ 90,
+ 13,
+ 152,
+ 123,
+ 167,
+ 199,
+ 69,
+ 183,
+ 59,
+ 3,
+ 100
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 223,
+ 54,
+ 11,
+ 129,
+ 15,
+ 39,
+ 231,
+ 148,
+ 103,
+ 58,
+ 139,
+ 178,
+ 220,
+ 13,
+ 104,
+ 176
+ ]
+ },
+ {
+ "key": [
+ 40,
+ 240,
+ 69,
+ 172,
+ 124,
+ 79,
+ 229,
+ 212,
+ 176,
+ 26,
+ 157,
+ 205,
+ 95,
+ 26,
+ 211,
+ 239,
+ 255,
+ 28,
+ 79,
+ 23,
+ 15,
+ 200,
+ 171,
+ 135,
+ 88,
+ 217,
+ 114,
+ 146,
+ 134,
+ 141,
+ 88,
+ 40
+ ],
+ "nonce": [
+ 93,
+ 133,
+ 222,
+ 149,
+ 176,
+ 189,
+ 196,
+ 69,
+ 20,
+ 20,
+ 57,
+ 25
+ ],
+ "aad": [
+ 96,
+ 29,
+ 33,
+ 88,
+ 241,
+ 122,
+ 179,
+ 199,
+ 180,
+ 220,
+ 182,
+ 149,
+ 15,
+ 189,
+ 205,
+ 222
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 66,
+ 195,
+ 245,
+ 39,
+ 65,
+ 140,
+ 242,
+ 195,
+ 245,
+ 213,
+ 1,
+ 12,
+ 203,
+ 168,
+ 242,
+ 113
+ ]
+ },
+ {
+ "key": [
+ 25,
+ 49,
+ 14,
+ 237,
+ 95,
+ 95,
+ 68,
+ 235,
+ 71,
+ 7,
+ 92,
+ 16,
+ 94,
+ 179,
+ 30,
+ 54,
+ 187,
+ 253,
+ 19,
+ 16,
+ 247,
+ 65,
+ 185,
+ 186,
+ 166,
+ 106,
+ 129,
+ 19,
+ 141,
+ 53,
+ 114,
+ 66
+ ],
+ "nonce": [
+ 161,
+ 36,
+ 113,
+ 32,
+ 19,
+ 143,
+ 164,
+ 240,
+ 233,
+ 108,
+ 153,
+ 44
+ ],
+ "aad": [
+ 41,
+ 215,
+ 70,
+ 65,
+ 67,
+ 51,
+ 224,
+ 247,
+ 43,
+ 76,
+ 63,
+ 68,
+ 236,
+ 107,
+ 254,
+ 66
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 213,
+ 153,
+ 126,
+ 47,
+ 149,
+ 109,
+ 243,
+ 250,
+ 44,
+ 35,
+ 136,
+ 226,
+ 15,
+ 48,
+ 196,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 136,
+ 108,
+ 255,
+ 95,
+ 62,
+ 107,
+ 141,
+ 14,
+ 26,
+ 208,
+ 163,
+ 143,
+ 205,
+ 178,
+ 109,
+ 233,
+ 126,
+ 138,
+ 203,
+ 231,
+ 159,
+ 107,
+ 237,
+ 102,
+ 149,
+ 154,
+ 89,
+ 143,
+ 165,
+ 4,
+ 125,
+ 101
+ ],
+ "nonce": [
+ 58,
+ 142,
+ 250,
+ 28,
+ 215,
+ 75,
+ 186,
+ 181,
+ 68,
+ 143,
+ 153,
+ 69
+ ],
+ "aad": [
+ 81,
+ 159,
+ 238,
+ 81,
+ 157,
+ 37,
+ 199,
+ 163,
+ 4,
+ 214,
+ 198,
+ 170,
+ 24,
+ 151,
+ 238,
+ 30,
+ 184,
+ 197,
+ 150,
+ 85
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 246,
+ 212,
+ 117,
+ 5,
+ 236,
+ 150,
+ 201,
+ 138,
+ 66,
+ 220,
+ 58,
+ 231,
+ 25,
+ 135,
+ 123,
+ 135
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 55,
+ 165,
+ 125,
+ 53,
+ 254,
+ 109,
+ 195,
+ 252,
+ 66,
+ 11,
+ 18,
+ 59,
+ 204,
+ 220,
+ 232,
+ 116,
+ 189,
+ 76,
+ 24,
+ 242,
+ 231,
+ 192,
+ 28,
+ 226,
+ 250,
+ 243,
+ 61,
+ 57,
+ 68,
+ 253,
+ 157
+ ],
+ "nonce": [
+ 168,
+ 114,
+ 71,
+ 121,
+ 123,
+ 117,
+ 132,
+ 103,
+ 185,
+ 99,
+ 16,
+ 243
+ ],
+ "aad": [
+ 234,
+ 217,
+ 97,
+ 147,
+ 154,
+ 51,
+ 221,
+ 87,
+ 143,
+ 142,
+ 147,
+ 219,
+ 139,
+ 40,
+ 161,
+ 200,
+ 83,
+ 98,
+ 144,
+ 95
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 89,
+ 157,
+ 227,
+ 236,
+ 242,
+ 44,
+ 184,
+ 103,
+ 240,
+ 63,
+ 127,
+ 109,
+ 159,
+ 215,
+ 66,
+ 138
+ ]
+ },
+ {
+ "key": [
+ 230,
+ 90,
+ 51,
+ 23,
+ 118,
+ 201,
+ 220,
+ 223,
+ 94,
+ 186,
+ 108,
+ 89,
+ 224,
+ 94,
+ 192,
+ 121,
+ 217,
+ 116,
+ 115,
+ 188,
+ 220,
+ 232,
+ 77,
+ 175,
+ 131,
+ 107,
+ 227,
+ 35,
+ 69,
+ 98,
+ 99,
+ 160
+ ],
+ "nonce": [
+ 202,
+ 115,
+ 31,
+ 118,
+ 141,
+ 160,
+ 29,
+ 2,
+ 235,
+ 142,
+ 114,
+ 126
+ ],
+ "aad": [
+ 215,
+ 39,
+ 69,
+ 134,
+ 81,
+ 123,
+ 241,
+ 216,
+ 218,
+ 134,
+ 111,
+ 74,
+ 71,
+ 173,
+ 11,
+ 207,
+ 41,
+ 72,
+ 168,
+ 98
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 168,
+ 171,
+ 231,
+ 168,
+ 8,
+ 95,
+ 37,
+ 19,
+ 10,
+ 114,
+ 6,
+ 211,
+ 122,
+ 138,
+ 175,
+ 109
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 187,
+ 27,
+ 110,
+ 248,
+ 152,
+ 104,
+ 60,
+ 152,
+ 27,
+ 47,
+ 200,
+ 153,
+ 49,
+ 159,
+ 251,
+ 182,
+ 0,
+ 14,
+ 220,
+ 162,
+ 37,
+ 102,
+ 182,
+ 52,
+ 219,
+ 58,
+ 60,
+ 128,
+ 64,
+ 89,
+ 229
+ ],
+ "nonce": [
+ 53,
+ 74,
+ 25,
+ 40,
+ 55,
+ 105,
+ 179,
+ 185,
+ 145,
+ 176,
+ 90,
+ 76
+ ],
+ "aad": [
+ 181,
+ 86,
+ 98,
+ 81,
+ 168,
+ 168,
+ 190,
+ 194,
+ 18,
+ 220,
+ 8,
+ 17,
+ 50,
+ 41,
+ 255,
+ 133,
+ 144,
+ 22,
+ 136,
+ 0
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 229,
+ 194,
+ 220,
+ 207,
+ 143,
+ 199,
+ 242,
+ 150,
+ 202,
+ 201,
+ 93,
+ 112,
+ 113,
+ 203,
+ 141,
+ 125
+ ]
+ },
+ {
+ "key": [
+ 42,
+ 67,
+ 48,
+ 141,
+ 82,
+ 10,
+ 89,
+ 237,
+ 81,
+ 228,
+ 122,
+ 58,
+ 145,
+ 94,
+ 29,
+ 191,
+ 32,
+ 169,
+ 31,
+ 8,
+ 134,
+ 80,
+ 110,
+ 72,
+ 26,
+ 211,
+ 222,
+ 101,
+ 213,
+ 9,
+ 117,
+ 180
+ ],
+ "nonce": [
+ 188,
+ 191,
+ 153,
+ 115,
+ 61,
+ 142,
+ 201,
+ 12,
+ 178,
+ 62,
+ 108,
+ 230
+ ],
+ "aad": [
+ 235,
+ 136,
+ 40,
+ 135,
+ 41,
+ 40,
+ 157,
+ 38,
+ 254,
+ 14,
+ 117,
+ 122,
+ 153,
+ 173,
+ 142,
+ 236,
+ 150,
+ 16,
+ 96,
+ 83
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 1,
+ 176,
+ 25,
+ 105,
+ 51,
+ 170,
+ 73,
+ 18,
+ 62,
+ 171,
+ 78,
+ 21,
+ 113,
+ 37,
+ 3,
+ 131
+ ]
+ },
+ {
+ "key": [
+ 35,
+ 121,
+ 179,
+ 95,
+ 133,
+ 16,
+ 45,
+ 180,
+ 231,
+ 174,
+ 204,
+ 82,
+ 183,
+ 5,
+ 188,
+ 105,
+ 93,
+ 71,
+ 104,
+ 212,
+ 18,
+ 226,
+ 215,
+ 190,
+ 190,
+ 153,
+ 146,
+ 54,
+ 120,
+ 57,
+ 114,
+ 255
+ ],
+ "nonce": [
+ 145,
+ 137,
+ 152,
+ 196,
+ 128,
+ 16,
+ 55,
+ 177,
+ 205,
+ 16,
+ 47,
+ 170
+ ],
+ "aad": [
+ 179,
+ 114,
+ 35,
+ 9,
+ 224,
+ 240,
+ 102,
+ 34,
+ 94,
+ 141,
+ 22,
+ 89,
+ 8,
+ 78,
+ 187,
+ 7,
+ 169,
+ 59,
+ 67,
+ 93
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 223,
+ 177,
+ 138,
+ 238,
+ 153,
+ 209,
+ 246,
+ 127,
+ 87,
+ 72,
+ 212,
+ 180,
+ 132,
+ 60,
+ 182,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 152,
+ 179,
+ 203,
+ 117,
+ 55,
+ 22,
+ 126,
+ 109,
+ 20,
+ 162,
+ 168,
+ 178,
+ 49,
+ 15,
+ 233,
+ 75,
+ 113,
+ 92,
+ 114,
+ 159,
+ 223,
+ 133,
+ 33,
+ 101,
+ 104,
+ 21,
+ 11,
+ 85,
+ 109,
+ 7,
+ 151,
+ 186
+ ],
+ "nonce": [
+ 188,
+ 165,
+ 226,
+ 229,
+ 166,
+ 179,
+ 15,
+ 24,
+ 210,
+ 99,
+ 198,
+ 178
+ ],
+ "aad": [
+ 38,
+ 13,
+ 61,
+ 114,
+ 219,
+ 112,
+ 214,
+ 119,
+ 164,
+ 227,
+ 225,
+ 243,
+ 225,
+ 20,
+ 49,
+ 33,
+ 122,
+ 46,
+ 71,
+ 19
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 214,
+ 183,
+ 86,
+ 15,
+ 138,
+ 194,
+ 240,
+ 169,
+ 11,
+ 173,
+ 66,
+ 166,
+ 160,
+ 114,
+ 4,
+ 188
+ ]
+ },
+ {
+ "key": [
+ 48,
+ 52,
+ 26,
+ 224,
+ 241,
+ 153,
+ 177,
+ 10,
+ 21,
+ 23,
+ 93,
+ 0,
+ 145,
+ 61,
+ 80,
+ 41,
+ 82,
+ 106,
+ 183,
+ 247,
+ 97,
+ 192,
+ 185,
+ 54,
+ 167,
+ 221,
+ 95,
+ 27,
+ 21,
+ 131,
+ 66,
+ 157
+ ],
+ "nonce": [
+ 219,
+ 225,
+ 9,
+ 168,
+ 206,
+ 95,
+ 123,
+ 36,
+ 30,
+ 153,
+ 247,
+ 175
+ ],
+ "aad": [
+ 254,
+ 75,
+ 222,
+ 229,
+ 202,
+ 156,
+ 72,
+ 6,
+ 250,
+ 2,
+ 71,
+ 21,
+ 251,
+ 246,
+ 106,
+ 184,
+ 69,
+ 40,
+ 95,
+ 167
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 174,
+ 145,
+ 218,
+ 237,
+ 101,
+ 142,
+ 38,
+ 192,
+ 209,
+ 38,
+ 87,
+ 81,
+ 71,
+ 175,
+ 152,
+ 153
+ ]
+ },
+ {
+ "key": [
+ 130,
+ 50,
+ 182,
+ 161,
+ 210,
+ 227,
+ 103,
+ 233,
+ 206,
+ 30,
+ 168,
+ 212,
+ 47,
+ 207,
+ 200,
+ 58,
+ 75,
+ 200,
+ 189,
+ 236,
+ 70,
+ 92,
+ 107,
+ 163,
+ 38,
+ 227,
+ 83,
+ 173,
+ 146,
+ 85,
+ 242,
+ 7
+ ],
+ "nonce": [
+ 205,
+ 47,
+ 181,
+ 255,
+ 156,
+ 240,
+ 243,
+ 152,
+ 104,
+ 173,
+ 134,
+ 133
+ ],
+ "aad": [
+ 2,
+ 65,
+ 139,
+ 61,
+ 222,
+ 84,
+ 146,
+ 74,
+ 150,
+ 40,
+ 222,
+ 6,
+ 0,
+ 76,
+ 8,
+ 130,
+ 174,
+ 78,
+ 195,
+ 187
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 213,
+ 48,
+ 143,
+ 99,
+ 112,
+ 134,
+ 117,
+ 206,
+ 209,
+ 155,
+ 39,
+ 16,
+ 175,
+ 210,
+ 219,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 249,
+ 161,
+ 50,
+ 165,
+ 10,
+ 80,
+ 129,
+ 69,
+ 255,
+ 216,
+ 41,
+ 78,
+ 104,
+ 148,
+ 78,
+ 164,
+ 54,
+ 206,
+ 15,
+ 154,
+ 151,
+ 225,
+ 129,
+ 245,
+ 224,
+ 214,
+ 197,
+ 210,
+ 114,
+ 49,
+ 31,
+ 193
+ ],
+ "nonce": [
+ 137,
+ 41,
+ 145,
+ 181,
+ 78,
+ 148,
+ 185,
+ 213,
+ 116,
+ 66,
+ 204,
+ 175
+ ],
+ "aad": [
+ 78,
+ 15,
+ 189,
+ 55,
+ 153,
+ 218,
+ 37,
+ 15,
+ 162,
+ 121,
+ 17,
+ 183,
+ 230,
+ 141,
+ 118,
+ 35,
+ 191,
+ 230,
+ 10,
+ 83
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 137,
+ 136,
+ 29,
+ 95,
+ 120,
+ 110,
+ 109,
+ 83,
+ 224,
+ 209,
+ 156,
+ 59,
+ 78,
+ 104,
+ 135,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 14,
+ 55,
+ 70,
+ 229,
+ 6,
+ 70,
+ 51,
+ 234,
+ 147,
+ 17,
+ 178,
+ 184,
+ 66,
+ 124,
+ 83,
+ 106,
+ 249,
+ 39,
+ 23,
+ 222,
+ 32,
+ 238,
+ 182,
+ 38,
+ 13,
+ 177,
+ 51,
+ 60,
+ 61,
+ 138,
+ 129,
+ 20
+ ],
+ "nonce": [
+ 248,
+ 76,
+ 58,
+ 28,
+ 148,
+ 83,
+ 63,
+ 127,
+ 37,
+ 206,
+ 192,
+ 172
+ ],
+ "aad": [
+ 140,
+ 13,
+ 65,
+ 230,
+ 19,
+ 83,
+ 56,
+ 200,
+ 211,
+ 230,
+ 62,
+ 42,
+ 95,
+ 160,
+ 169,
+ 102,
+ 126,
+ 201,
+ 165,
+ 128
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 71,
+ 156,
+ 207,
+ 233,
+ 36,
+ 29,
+ 226,
+ 196,
+ 116,
+ 242,
+ 237,
+ 235,
+ 187,
+ 56,
+ 92,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 185,
+ 151,
+ 233,
+ 176,
+ 116,
+ 106,
+ 186,
+ 174,
+ 214,
+ 230,
+ 75,
+ 99,
+ 189,
+ 246,
+ 72,
+ 130,
+ 82,
+ 106,
+ 217,
+ 46,
+ 36,
+ 162,
+ 245,
+ 100,
+ 157,
+ 240,
+ 85,
+ 201,
+ 236,
+ 15,
+ 29,
+ 170
+ ],
+ "nonce": [
+ 241,
+ 65,
+ 216,
+ 215,
+ 27,
+ 3,
+ 55,
+ 85,
+ 2,
+ 47,
+ 10,
+ 125
+ ],
+ "aad": [
+ 104,
+ 29,
+ 101,
+ 131,
+ 245,
+ 39,
+ 177,
+ 169,
+ 47,
+ 102,
+ 202,
+ 174,
+ 155,
+ 29,
+ 77,
+ 2,
+ 142,
+ 46,
+ 99,
+ 30
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 179,
+ 4,
+ 66,
+ 166,
+ 57,
+ 94,
+ 193,
+ 50,
+ 70,
+ 196,
+ 139,
+ 33,
+ 255,
+ 198,
+ 85,
+ 9
+ ]
+ },
+ {
+ "key": [
+ 135,
+ 102,
+ 14,
+ 193,
+ 112,
+ 13,
+ 78,
+ 159,
+ 136,
+ 163,
+ 35,
+ 164,
+ 159,
+ 11,
+ 135,
+ 30,
+ 106,
+ 175,
+ 67,
+ 74,
+ 45,
+ 132,
+ 72,
+ 208,
+ 77,
+ 74,
+ 34,
+ 246,
+ 86,
+ 16,
+ 40,
+ 224
+ ],
+ "nonce": [
+ 42,
+ 7,
+ 180,
+ 37,
+ 147,
+ 205,
+ 36,
+ 240,
+ 166,
+ 254,
+ 64,
+ 108
+ ],
+ "aad": [
+ 29,
+ 210,
+ 57,
+ 181,
+ 113,
+ 133,
+ 183,
+ 228,
+ 87,
+ 206,
+ 215,
+ 62,
+ 187,
+ 160,
+ 67,
+ 5,
+ 127,
+ 4,
+ 158,
+ 221
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 223,
+ 122,
+ 80,
+ 16,
+ 73,
+ 179,
+ 122,
+ 83,
+ 64,
+ 152,
+ 203,
+ 69,
+ 203,
+ 156,
+ 33,
+ 183
+ ]
+ },
+ {
+ "key": [
+ 234,
+ 71,
+ 146,
+ 225,
+ 241,
+ 113,
+ 123,
+ 119,
+ 160,
+ 13,
+ 228,
+ 209,
+ 9,
+ 230,
+ 39,
+ 84,
+ 155,
+ 22,
+ 92,
+ 130,
+ 175,
+ 53,
+ 243,
+ 60,
+ 167,
+ 225,
+ 166,
+ 184,
+ 237,
+ 98,
+ 241,
+ 79
+ ],
+ "nonce": [
+ 116,
+ 83,
+ 204,
+ 139,
+ 70,
+ 254,
+ 75,
+ 147,
+ 188,
+ 196,
+ 131,
+ 129
+ ],
+ "aad": [
+ 70,
+ 217,
+ 137,
+ 112,
+ 166,
+ 54,
+ 231,
+ 205,
+ 123,
+ 118,
+ 252,
+ 54,
+ 42,
+ 232,
+ 130,
+ 152,
+ 67,
+ 111,
+ 131,
+ 79
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 81,
+ 141,
+ 186,
+ 205,
+ 54,
+ 190,
+ 111,
+ 186,
+ 92,
+ 18,
+ 135,
+ 22,
+ 120,
+ 165,
+ 85,
+ 22
+ ]
+ },
+ {
+ "key": [
+ 52,
+ 137,
+ 44,
+ 221,
+ 29,
+ 72,
+ 202,
+ 22,
+ 111,
+ 123,
+ 167,
+ 49,
+ 130,
+ 203,
+ 151,
+ 51,
+ 108,
+ 44,
+ 117,
+ 74,
+ 193,
+ 96,
+ 163,
+ 227,
+ 113,
+ 131,
+ 214,
+ 251,
+ 80,
+ 120,
+ 206,
+ 195
+ ],
+ "nonce": [
+ 237,
+ 49,
+ 152,
+ 197,
+ 134,
+ 27,
+ 120,
+ 199,
+ 26,
+ 106,
+ 78,
+ 236
+ ],
+ "aad": [
+ 166,
+ 250,
+ 109,
+ 13,
+ 209,
+ 224,
+ 185,
+ 91,
+ 70,
+ 9,
+ 149,
+ 27,
+ 187,
+ 231,
+ 20,
+ 222,
+ 10,
+ 224,
+ 204,
+ 250
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 198,
+ 56,
+ 119,
+ 149,
+ 9,
+ 107,
+ 52,
+ 142,
+ 207,
+ 29,
+ 31,
+ 108,
+ 170,
+ 163,
+ 200,
+ 19
+ ]
+ },
+ {
+ "key": [
+ 244,
+ 6,
+ 155,
+ 183,
+ 57,
+ 208,
+ 125,
+ 12,
+ 175,
+ 220,
+ 188,
+ 96,
+ 156,
+ 160,
+ 21,
+ 151,
+ 249,
+ 133,
+ 196,
+ 61,
+ 182,
+ 59,
+ 186,
+ 170,
+ 13,
+ 235,
+ 187,
+ 4,
+ 211,
+ 132,
+ 228,
+ 156
+ ],
+ "nonce": [
+ 210,
+ 95,
+ 243,
+ 15,
+ 220,
+ 61,
+ 70,
+ 79,
+ 225,
+ 115,
+ 232,
+ 5
+ ],
+ "aad": [
+ 62,
+ 20,
+ 73,
+ 196,
+ 131,
+ 127,
+ 8,
+ 146,
+ 249,
+ 213,
+ 81,
+ 39,
+ 199,
+ 92,
+ 75,
+ 37,
+ 214,
+ 155,
+ 227,
+ 52,
+ 186,
+ 245,
+ 241,
+ 147,
+ 148,
+ 210,
+ 216,
+ 187,
+ 70,
+ 12,
+ 191,
+ 33,
+ 32,
+ 225,
+ 71,
+ 54,
+ 208,
+ 246,
+ 52,
+ 170,
+ 121,
+ 47,
+ 236,
+ 162,
+ 14,
+ 69,
+ 95,
+ 17
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 128,
+ 94,
+ 194,
+ 147,
+ 28,
+ 33,
+ 129,
+ 229,
+ 191,
+ 183,
+ 79,
+ 160,
+ 169,
+ 117,
+ 240,
+ 207
+ ]
+ },
+ {
+ "key": [
+ 98,
+ 24,
+ 157,
+ 204,
+ 75,
+ 235,
+ 151,
+ 70,
+ 45,
+ 108,
+ 9,
+ 39,
+ 216,
+ 162,
+ 112,
+ 211,
+ 154,
+ 27,
+ 7,
+ 215,
+ 45,
+ 10,
+ 210,
+ 136,
+ 64,
+ 186,
+ 221,
+ 79,
+ 104,
+ 207,
+ 156,
+ 139
+ ],
+ "nonce": [
+ 133,
+ 159,
+ 218,
+ 82,
+ 71,
+ 200,
+ 136,
+ 130,
+ 58,
+ 75,
+ 128,
+ 50
+ ],
+ "aad": [
+ 178,
+ 141,
+ 22,
+ 33,
+ 238,
+ 17,
+ 15,
+ 76,
+ 157,
+ 112,
+ 159,
+ 173,
+ 118,
+ 75,
+ 186,
+ 45,
+ 214,
+ 210,
+ 145,
+ 188,
+ 0,
+ 55,
+ 72,
+ 250,
+ 172,
+ 109,
+ 144,
+ 25,
+ 55,
+ 18,
+ 13,
+ 65,
+ 193,
+ 183,
+ 206,
+ 103,
+ 99,
+ 55,
+ 99,
+ 233,
+ 158,
+ 5,
+ 199,
+ 19,
+ 99,
+ 252,
+ 236,
+ 168
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 39,
+ 51,
+ 9,
+ 7,
+ 208,
+ 0,
+ 40,
+ 128,
+ 187,
+ 180,
+ 193,
+ 161,
+ 210,
+ 60,
+ 11,
+ 226
+ ]
+ },
+ {
+ "key": [
+ 89,
+ 1,
+ 45,
+ 133,
+ 161,
+ 185,
+ 10,
+ 235,
+ 3,
+ 89,
+ 230,
+ 56,
+ 76,
+ 153,
+ 145,
+ 231,
+ 190,
+ 33,
+ 147,
+ 25,
+ 245,
+ 184,
+ 145,
+ 201,
+ 44,
+ 56,
+ 74,
+ 222,
+ 47,
+ 55,
+ 24,
+ 22
+ ],
+ "nonce": [
+ 60,
+ 156,
+ 222,
+ 0,
+ 194,
+ 57,
+ 18,
+ 207,
+ 249,
+ 104,
+ 156,
+ 124
+ ],
+ "aad": [
+ 229,
+ 218,
+ 244,
+ 115,
+ 164,
+ 112,
+ 134,
+ 11,
+ 85,
+ 33,
+ 10,
+ 72,
+ 60,
+ 13,
+ 26,
+ 151,
+ 141,
+ 138,
+ 221,
+ 132,
+ 60,
+ 44,
+ 9,
+ 127,
+ 115,
+ 163,
+ 205,
+ 164,
+ 154,
+ 196,
+ 166,
+ 20,
+ 200,
+ 232,
+ 135,
+ 217,
+ 78,
+ 102,
+ 146,
+ 48,
+ 157,
+ 46,
+ 217,
+ 126,
+ 190,
+ 30,
+ 175,
+ 93
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 4,
+ 130,
+ 57,
+ 228,
+ 229,
+ 194,
+ 200,
+ 179,
+ 56,
+ 144,
+ 167,
+ 201,
+ 80,
+ 205,
+ 168,
+ 82
+ ]
+ },
+ {
+ "key": [
+ 75,
+ 224,
+ 155,
+ 64,
+ 138,
+ 214,
+ 139,
+ 137,
+ 15,
+ 148,
+ 190,
+ 94,
+ 250,
+ 127,
+ 233,
+ 201,
+ 23,
+ 54,
+ 39,
+ 18,
+ 163,
+ 72,
+ 12,
+ 87,
+ 205,
+ 56,
+ 68,
+ 147,
+ 95,
+ 53,
+ 172,
+ 183
+ ],
+ "nonce": [
+ 143,
+ 53,
+ 11,
+ 211,
+ 184,
+ 238,
+ 161,
+ 115,
+ 252,
+ 115,
+ 112,
+ 188
+ ],
+ "aad": [
+ 40,
+ 25,
+ 214,
+ 90,
+ 236,
+ 148,
+ 33,
+ 152,
+ 202,
+ 151,
+ 212,
+ 67,
+ 94,
+ 253,
+ 157,
+ 212,
+ 212,
+ 57,
+ 59,
+ 150,
+ 207,
+ 91,
+ 164,
+ 79,
+ 9,
+ 188,
+ 228,
+ 186,
+ 19,
+ 95,
+ 200,
+ 99,
+ 110,
+ 130,
+ 117,
+ 220,
+ 181,
+ 21,
+ 65,
+ 75,
+ 139,
+ 239,
+ 211,
+ 47,
+ 145,
+ 252,
+ 72,
+ 34
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 161,
+ 51,
+ 203,
+ 122,
+ 125,
+ 4,
+ 113,
+ 219,
+ 172,
+ 97,
+ 251,
+ 65,
+ 88,
+ 154,
+ 46,
+ 254
+ ]
+ },
+ {
+ "key": [
+ 19,
+ 203,
+ 150,
+ 90,
+ 77,
+ 157,
+ 26,
+ 54,
+ 239,
+ 173,
+ 159,
+ 108,
+ 161,
+ 186,
+ 118,
+ 56,
+ 106,
+ 91,
+ 177,
+ 96,
+ 216,
+ 11,
+ 9,
+ 23,
+ 39,
+ 113,
+ 2,
+ 53,
+ 122,
+ 199,
+ 175,
+ 200
+ ],
+ "nonce": [
+ 243,
+ 19,
+ 173,
+ 236,
+ 66,
+ 166,
+ 109,
+ 19,
+ 195,
+ 149,
+ 129,
+ 128
+ ],
+ "aad": [
+ 113,
+ 123,
+ 72,
+ 53,
+ 136,
+ 152,
+ 229,
+ 204,
+ 254,
+ 164,
+ 40,
+ 144,
+ 73,
+ 173,
+ 204,
+ 27,
+ 176,
+ 219,
+ 59,
+ 62,
+ 189,
+ 23,
+ 103,
+ 172,
+ 36,
+ 251,
+ 43,
+ 125,
+ 55,
+ 220,
+ 128,
+ 234,
+ 35,
+ 22,
+ 193,
+ 127,
+ 20,
+ 251,
+ 81,
+ 181,
+ 225,
+ 140,
+ 213,
+ 187,
+ 9,
+ 175,
+ 228,
+ 20
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 129,
+ 180,
+ 239,
+ 122,
+ 132,
+ 220,
+ 74,
+ 11,
+ 31,
+ 221,
+ 190,
+ 254,
+ 55,
+ 245,
+ 56,
+ 82
+ ]
+ },
+ {
+ "key": [
+ 210,
+ 127,
+ 27,
+ 235,
+ 187,
+ 222,
+ 240,
+ 237,
+ 202,
+ 57,
+ 58,
+ 98,
+ 97,
+ 176,
+ 51,
+ 138,
+ 187,
+ 196,
+ 145,
+ 38,
+ 46,
+ 171,
+ 7,
+ 55,
+ 245,
+ 82,
+ 70,
+ 69,
+ 143,
+ 102,
+ 104,
+ 204
+ ],
+ "nonce": [
+ 252,
+ 6,
+ 47,
+ 133,
+ 120,
+ 134,
+ 226,
+ 120,
+ 243,
+ 165,
+ 103,
+ 210
+ ],
+ "aad": [
+ 43,
+ 174,
+ 146,
+ 222,
+ 166,
+ 74,
+ 169,
+ 145,
+ 137,
+ 222,
+ 142,
+ 164,
+ 192,
+ 70,
+ 116,
+ 83,
+ 6,
+ 0,
+ 46,
+ 2,
+ 207,
+ 180,
+ 106,
+ 65,
+ 68,
+ 76,
+ 232,
+ 191,
+ 204,
+ 50,
+ 155,
+ 212,
+ 32,
+ 89,
+ 99,
+ 217,
+ 171,
+ 83,
+ 87,
+ 176,
+ 38,
+ 164,
+ 163,
+ 75,
+ 26,
+ 134,
+ 23,
+ 113
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 92,
+ 90,
+ 108,
+ 70,
+ 19,
+ 241,
+ 229,
+ 34,
+ 89,
+ 99,
+ 48,
+ 212,
+ 95,
+ 36,
+ 63,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 123,
+ 77,
+ 25,
+ 205,
+ 53,
+ 105,
+ 247,
+ 76,
+ 123,
+ 93,
+ 246,
+ 26,
+ 183,
+ 131,
+ 121,
+ 238,
+ 107,
+ 250,
+ 21,
+ 16,
+ 93,
+ 33,
+ 177,
+ 11,
+ 246,
+ 9,
+ 102,
+ 153,
+ 83,
+ 144,
+ 6,
+ 208
+ ],
+ "nonce": [
+ 251,
+ 237,
+ 86,
+ 149,
+ 196,
+ 167,
+ 57,
+ 237,
+ 237,
+ 151,
+ 177,
+ 227
+ ],
+ "aad": [
+ 198,
+ 242,
+ 229,
+ 214,
+ 99,
+ 191,
+ 175,
+ 102,
+ 141,
+ 1,
+ 69,
+ 80,
+ 239,
+ 46,
+ 102,
+ 191,
+ 137,
+ 151,
+ 135,
+ 153,
+ 167,
+ 133,
+ 241,
+ 242,
+ 199,
+ 154,
+ 44,
+ 179,
+ 235,
+ 63,
+ 47,
+ 212,
+ 7,
+ 98,
+ 7,
+ 213,
+ 247,
+ 225,
+ 194,
+ 132,
+ 180,
+ 175,
+ 92,
+ 255,
+ 196,
+ 228,
+ 97,
+ 152
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 113,
+ 1,
+ 180,
+ 52,
+ 251,
+ 144,
+ 199,
+ 249,
+ 91,
+ 155,
+ 122,
+ 13,
+ 238,
+ 235,
+ 92,
+ 129
+ ]
+ },
+ {
+ "key": [
+ 211,
+ 67,
+ 20,
+ 136,
+ 216,
+ 240,
+ 72,
+ 89,
+ 11,
+ 215,
+ 110,
+ 198,
+ 110,
+ 113,
+ 66,
+ 30,
+ 240,
+ 159,
+ 101,
+ 93,
+ 124,
+ 248,
+ 4,
+ 59,
+ 243,
+ 47,
+ 117,
+ 180,
+ 178,
+ 231,
+ 239,
+ 204
+ ],
+ "nonce": [
+ 204,
+ 118,
+ 110,
+ 152,
+ 180,
+ 10,
+ 129,
+ 81,
+ 159,
+ 164,
+ 99,
+ 146
+ ],
+ "aad": [
+ 147,
+ 50,
+ 1,
+ 121,
+ 253,
+ 180,
+ 12,
+ 188,
+ 28,
+ 207,
+ 0,
+ 184,
+ 114,
+ 163,
+ 180,
+ 165,
+ 246,
+ 199,
+ 11,
+ 86,
+ 228,
+ 58,
+ 132,
+ 252,
+ 172,
+ 94,
+ 180,
+ 84,
+ 160,
+ 161,
+ 154,
+ 116,
+ 125,
+ 69,
+ 32,
+ 66,
+ 97,
+ 27,
+ 243,
+ 187,
+ 170,
+ 253,
+ 146,
+ 94,
+ 128,
+ 111,
+ 254,
+ 142
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 58,
+ 252,
+ 195,
+ 54,
+ 206,
+ 139,
+ 113,
+ 145,
+ 234,
+ 176,
+ 74,
+ 214,
+ 121,
+ 22,
+ 60,
+ 42
+ ]
+ },
+ {
+ "key": [
+ 164,
+ 64,
+ 148,
+ 140,
+ 3,
+ 120,
+ 86,
+ 28,
+ 57,
+ 86,
+ 129,
+ 60,
+ 3,
+ 31,
+ 129,
+ 87,
+ 50,
+ 8,
+ 199,
+ 255,
+ 168,
+ 21,
+ 17,
+ 78,
+ 242,
+ 238,
+ 225,
+ 235,
+ 100,
+ 46,
+ 116,
+ 198
+ ],
+ "nonce": [
+ 193,
+ 244,
+ 255,
+ 229,
+ 75,
+ 134,
+ 128,
+ 131,
+ 46,
+ 237,
+ 136,
+ 25
+ ],
+ "aad": [
+ 37,
+ 52,
+ 56,
+ 241,
+ 50,
+ 177,
+ 142,
+ 132,
+ 131,
+ 7,
+ 69,
+ 97,
+ 137,
+ 140,
+ 86,
+ 82,
+ 180,
+ 58,
+ 130,
+ 204,
+ 148,
+ 30,
+ 139,
+ 74,
+ 227,
+ 126,
+ 121,
+ 42,
+ 142,
+ 214,
+ 236,
+ 92,
+ 226,
+ 188,
+ 236,
+ 159,
+ 31,
+ 252,
+ 244,
+ 33,
+ 110,
+ 70,
+ 105,
+ 99,
+ 7,
+ 187,
+ 119,
+ 74
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 18,
+ 148,
+ 69,
+ 240,
+ 163,
+ 201,
+ 121,
+ 161,
+ 18,
+ 163,
+ 175,
+ 177,
+ 10,
+ 36,
+ 226,
+ 69
+ ]
+ },
+ {
+ "key": [
+ 121,
+ 135,
+ 6,
+ 182,
+ 81,
+ 3,
+ 61,
+ 158,
+ 155,
+ 242,
+ 206,
+ 6,
+ 79,
+ 177,
+ 43,
+ 231,
+ 223,
+ 115,
+ 8,
+ 207,
+ 69,
+ 223,
+ 68,
+ 119,
+ 101,
+ 136,
+ 205,
+ 57,
+ 28,
+ 73,
+ 255,
+ 133
+ ],
+ "nonce": [
+ 90,
+ 67,
+ 54,
+ 138,
+ 57,
+ 231,
+ 255,
+ 183,
+ 117,
+ 237,
+ 250,
+ 244
+ ],
+ "aad": [
+ 146,
+ 107,
+ 116,
+ 254,
+ 99,
+ 129,
+ 235,
+ 211,
+ 87,
+ 87,
+ 228,
+ 46,
+ 142,
+ 85,
+ 118,
+ 1,
+ 242,
+ 40,
+ 123,
+ 252,
+ 19,
+ 58,
+ 19,
+ 253,
+ 134,
+ 214,
+ 28,
+ 1,
+ 170,
+ 132,
+ 243,
+ 151,
+ 19,
+ 191,
+ 153,
+ 168,
+ 220,
+ 7,
+ 184,
+ 18,
+ 240,
+ 39,
+ 76,
+ 157,
+ 50,
+ 128,
+ 161,
+ 56
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 137,
+ 254,
+ 72,
+ 26,
+ 61,
+ 149,
+ 192,
+ 58,
+ 10,
+ 157,
+ 78,
+ 227,
+ 227,
+ 240,
+ 237,
+ 74
+ ]
+ },
+ {
+ "key": [
+ 195,
+ 170,
+ 42,
+ 57,
+ 169,
+ 254,
+ 244,
+ 164,
+ 102,
+ 97,
+ 141,
+ 18,
+ 136,
+ 187,
+ 98,
+ 248,
+ 218,
+ 123,
+ 28,
+ 183,
+ 96,
+ 204,
+ 200,
+ 241,
+ 190,
+ 62,
+ 153,
+ 224,
+ 118,
+ 240,
+ 142,
+ 255
+ ],
+ "nonce": [
+ 153,
+ 101,
+ 186,
+ 94,
+ 35,
+ 217,
+ 69,
+ 61,
+ 114,
+ 103,
+ 202,
+ 91
+ ],
+ "aad": [
+ 147,
+ 239,
+ 182,
+ 162,
+ 175,
+ 252,
+ 48,
+ 76,
+ 178,
+ 93,
+ 253,
+ 73,
+ 170,
+ 62,
+ 60,
+ 205,
+ 178,
+ 92,
+ 234,
+ 195,
+ 211,
+ 206,
+ 169,
+ 13,
+ 217,
+ 158,
+ 56,
+ 151,
+ 105,
+ 120,
+ 33,
+ 122,
+ 213,
+ 242,
+ 185,
+ 144,
+ 209,
+ 11,
+ 145,
+ 114,
+ 92,
+ 127,
+ 210,
+ 3,
+ 94,
+ 204,
+ 106,
+ 48
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 0,
+ 169,
+ 76,
+ 24,
+ 164,
+ 87,
+ 45,
+ 207,
+ 79,
+ 158,
+ 34,
+ 38,
+ 160,
+ 61,
+ 76,
+ 7
+ ]
+ },
+ {
+ "key": [
+ 20,
+ 224,
+ 104,
+ 88,
+ 0,
+ 143,
+ 126,
+ 119,
+ 24,
+ 106,
+ 43,
+ 58,
+ 121,
+ 40,
+ 160,
+ 199,
+ 252,
+ 238,
+ 34,
+ 19,
+ 107,
+ 195,
+ 111,
+ 83,
+ 85,
+ 63,
+ 32,
+ 250,
+ 92,
+ 55,
+ 237,
+ 205
+ ],
+ "nonce": [
+ 50,
+ 235,
+ 224,
+ 220,
+ 154,
+ 218,
+ 132,
+ 155,
+ 94,
+ 218,
+ 123,
+ 72
+ ],
+ "aad": [
+ 108,
+ 1,
+ 82,
+ 171,
+ 250,
+ 72,
+ 91,
+ 140,
+ 214,
+ 124,
+ 21,
+ 74,
+ 95,
+ 4,
+ 17,
+ 242,
+ 33,
+ 33,
+ 55,
+ 151,
+ 116,
+ 215,
+ 69,
+ 244,
+ 14,
+ 229,
+ 119,
+ 176,
+ 40,
+ 253,
+ 14,
+ 24,
+ 130,
+ 151,
+ 88,
+ 21,
+ 97,
+ 174,
+ 151,
+ 34,
+ 35,
+ 215,
+ 90,
+ 36,
+ 180,
+ 136,
+ 174,
+ 215
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 38,
+ 37,
+ 176,
+ 186,
+ 110,
+ 224,
+ 43,
+ 88,
+ 188,
+ 82,
+ 158,
+ 67,
+ 226,
+ 235,
+ 71,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 251,
+ 181,
+ 107,
+ 17,
+ 197,
+ 26,
+ 9,
+ 60,
+ 225,
+ 105,
+ 166,
+ 153,
+ 3,
+ 153,
+ 196,
+ 215,
+ 65,
+ 246,
+ 43,
+ 60,
+ 198,
+ 31,
+ 158,
+ 138,
+ 96,
+ 154,
+ 27,
+ 106,
+ 232,
+ 231,
+ 233,
+ 101
+ ],
+ "nonce": [
+ 156,
+ 90,
+ 149,
+ 50,
+ 71,
+ 233,
+ 26,
+ 206,
+ 206,
+ 185,
+ 222,
+ 251
+ ],
+ "aad": [
+ 70,
+ 203,
+ 92,
+ 79,
+ 97,
+ 121,
+ 22,
+ 169,
+ 177,
+ 178,
+ 224,
+ 50,
+ 114,
+ 203,
+ 5,
+ 144,
+ 206,
+ 113,
+ 100,
+ 152,
+ 83,
+ 48,
+ 71,
+ 215,
+ 60,
+ 129,
+ 228,
+ 203,
+ 233,
+ 39,
+ 138,
+ 54,
+ 134,
+ 17,
+ 111,
+ 86,
+ 50,
+ 117,
+ 62,
+ 162,
+ 223,
+ 82,
+ 239,
+ 179,
+ 85,
+ 26,
+ 234,
+ 45
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 79,
+ 59,
+ 130,
+ 230,
+ 190,
+ 79,
+ 8,
+ 117,
+ 96,
+ 113,
+ 242,
+ 196,
+ 108,
+ 49,
+ 254,
+ 223
+ ]
+ },
+ {
+ "key": [
+ 179,
+ 3,
+ 191,
+ 2,
+ 246,
+ 168,
+ 219,
+ 181,
+ 188,
+ 75,
+ 172,
+ 202,
+ 176,
+ 128,
+ 13,
+ 181,
+ 238,
+ 6,
+ 222,
+ 100,
+ 142,
+ 47,
+ 174,
+ 41,
+ 155,
+ 149,
+ 241,
+ 53,
+ 201,
+ 177,
+ 7,
+ 204
+ ],
+ "nonce": [
+ 144,
+ 100,
+ 149,
+ 182,
+ 126,
+ 244,
+ 206,
+ 0,
+ 180,
+ 68,
+ 34,
+ 250
+ ],
+ "aad": [
+ 135,
+ 44,
+ 108,
+ 55,
+ 9,
+ 38,
+ 83,
+ 92,
+ 63,
+ 161,
+ 186,
+ 236,
+ 3,
+ 30,
+ 49,
+ 231,
+ 198,
+ 200,
+ 40,
+ 8,
+ 200,
+ 160,
+ 96,
+ 116,
+ 45,
+ 190,
+ 241,
+ 20,
+ 150,
+ 28,
+ 49,
+ 79,
+ 25,
+ 134,
+ 178,
+ 19,
+ 26,
+ 157,
+ 145,
+ 243,
+ 15,
+ 83,
+ 6,
+ 126,
+ 192,
+ 18,
+ 198,
+ 183
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 100,
+ 221,
+ 227,
+ 113,
+ 105,
+ 8,
+ 45,
+ 24,
+ 26,
+ 105,
+ 16,
+ 127,
+ 96,
+ 197,
+ 198,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 41,
+ 245,
+ 248,
+ 7,
+ 89,
+ 3,
+ 6,
+ 60,
+ 182,
+ 215,
+ 5,
+ 6,
+ 105,
+ 177,
+ 247,
+ 78,
+ 8,
+ 163,
+ 247,
+ 158,
+ 245,
+ 102,
+ 41,
+ 45,
+ 253,
+ 239,
+ 28,
+ 6,
+ 164,
+ 8,
+ 225,
+ 171
+ ],
+ "nonce": [
+ 53,
+ 242,
+ 92,
+ 72,
+ 180,
+ 181,
+ 53,
+ 94,
+ 120,
+ 185,
+ 251,
+ 58
+ ],
+ "aad": [
+ 16,
+ 126,
+ 46,
+ 35,
+ 21,
+ 159,
+ 197,
+ 192,
+ 116,
+ 140,
+ 167,
+ 160,
+ 119,
+ 229,
+ 204,
+ 5,
+ 63,
+ 165,
+ 198,
+ 130,
+ 255,
+ 82,
+ 105,
+ 211,
+ 80,
+ 238,
+ 129,
+ 127,
+ 139,
+ 93,
+ 228,
+ 211,
+ 151,
+ 32,
+ 65,
+ 209,
+ 7,
+ 177,
+ 226,
+ 242,
+ 229,
+ 76,
+ 169,
+ 59,
+ 114,
+ 205,
+ 4,
+ 8
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 254,
+ 229,
+ 169,
+ 186,
+ 235,
+ 181,
+ 190,
+ 1,
+ 101,
+ 222,
+ 170,
+ 134,
+ 126,
+ 150,
+ 122,
+ 158
+ ]
+ },
+ {
+ "key": [
+ 3,
+ 204,
+ 183,
+ 219,
+ 199,
+ 184,
+ 66,
+ 84,
+ 101,
+ 194,
+ 195,
+ 252,
+ 57,
+ 237,
+ 5,
+ 147,
+ 146,
+ 159,
+ 253,
+ 2,
+ 164,
+ 95,
+ 245,
+ 131,
+ 189,
+ 137,
+ 183,
+ 156,
+ 111,
+ 100,
+ 111,
+ 233
+ ],
+ "nonce": [
+ 253,
+ 17,
+ 153,
+ 133,
+ 83,
+ 59,
+ 213,
+ 82,
+ 11,
+ 48,
+ 29,
+ 18
+ ],
+ "aad": [
+ 152,
+ 230,
+ 140,
+ 16,
+ 191,
+ 75,
+ 90,
+ 230,
+ 45,
+ 67,
+ 73,
+ 40,
+ 252,
+ 100,
+ 5,
+ 20,
+ 124,
+ 99,
+ 1,
+ 65,
+ 115,
+ 3,
+ 239,
+ 58,
+ 112,
+ 61,
+ 207,
+ 210,
+ 192,
+ 195,
+ 57,
+ 164,
+ 208,
+ 168,
+ 155,
+ 210,
+ 159,
+ 230,
+ 31,
+ 236,
+ 241,
+ 6,
+ 106,
+ 176,
+ 109,
+ 122,
+ 92,
+ 49,
+ 164,
+ 143,
+ 251,
+ 254,
+ 210,
+ 47,
+ 116,
+ 155,
+ 23,
+ 233,
+ 189,
+ 13,
+ 193,
+ 198,
+ 248,
+ 251,
+ 214,
+ 253,
+ 69,
+ 135,
+ 24,
+ 77,
+ 185,
+ 100,
+ 213,
+ 69,
+ 97,
+ 50,
+ 16,
+ 109,
+ 120,
+ 35,
+ 56,
+ 195,
+ 241,
+ 23,
+ 236,
+ 5,
+ 34,
+ 155,
+ 8,
+ 153
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 207,
+ 84,
+ 231,
+ 20,
+ 19,
+ 73,
+ 182,
+ 111,
+ 36,
+ 129,
+ 84,
+ 66,
+ 120,
+ 16,
+ 200,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 87,
+ 225,
+ 18,
+ 205,
+ 69,
+ 242,
+ 197,
+ 125,
+ 219,
+ 129,
+ 158,
+ 166,
+ 81,
+ 194,
+ 6,
+ 118,
+ 49,
+ 99,
+ 239,
+ 1,
+ 108,
+ 238,
+ 173,
+ 92,
+ 78,
+ 174,
+ 64,
+ 242,
+ 187,
+ 224,
+ 228,
+ 180
+ ],
+ "nonce": [
+ 24,
+ 128,
+ 34,
+ 194,
+ 18,
+ 93,
+ 43,
+ 31,
+ 207,
+ 158,
+ 71,
+ 105
+ ],
+ "aad": [
+ 9,
+ 200,
+ 244,
+ 69,
+ 206,
+ 91,
+ 113,
+ 70,
+ 86,
+ 149,
+ 248,
+ 56,
+ 196,
+ 187,
+ 43,
+ 0,
+ 98,
+ 74,
+ 28,
+ 145,
+ 133,
+ 163,
+ 213,
+ 82,
+ 84,
+ 109,
+ 157,
+ 46,
+ 228,
+ 135,
+ 0,
+ 7,
+ 170,
+ 243,
+ 0,
+ 112,
+ 8,
+ 248,
+ 174,
+ 154,
+ 255,
+ 183,
+ 88,
+ 139,
+ 136,
+ 208,
+ 154,
+ 144,
+ 229,
+ 139,
+ 69,
+ 127,
+ 136,
+ 241,
+ 227,
+ 117,
+ 46,
+ 63,
+ 185,
+ 73,
+ 206,
+ 55,
+ 134,
+ 112,
+ 182,
+ 122,
+ 149,
+ 248,
+ 207,
+ 127,
+ 92,
+ 124,
+ 235,
+ 101,
+ 14,
+ 253,
+ 115,
+ 93,
+ 188,
+ 101,
+ 44,
+ 174,
+ 6,
+ 229,
+ 70,
+ 165,
+ 219,
+ 216,
+ 97,
+ 189
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 158,
+ 252,
+ 221,
+ 250,
+ 11,
+ 226,
+ 21,
+ 130,
+ 160,
+ 87,
+ 73,
+ 244,
+ 5,
+ 13,
+ 41,
+ 254
+ ]
+ },
+ {
+ "key": [
+ 164,
+ 221,
+ 243,
+ 202,
+ 183,
+ 69,
+ 58,
+ 174,
+ 250,
+ 214,
+ 22,
+ 253,
+ 101,
+ 214,
+ 61,
+ 19,
+ 0,
+ 94,
+ 148,
+ 89,
+ 193,
+ 125,
+ 49,
+ 115,
+ 205,
+ 110,
+ 215,
+ 242,
+ 168,
+ 108,
+ 146,
+ 31
+ ],
+ "nonce": [
+ 6,
+ 23,
+ 123,
+ 36,
+ 197,
+ 143,
+ 59,
+ 228,
+ 243,
+ 221,
+ 73,
+ 32
+ ],
+ "aad": [
+ 249,
+ 91,
+ 4,
+ 109,
+ 128,
+ 72,
+ 94,
+ 65,
+ 28,
+ 86,
+ 184,
+ 52,
+ 32,
+ 157,
+ 58,
+ 189,
+ 90,
+ 138,
+ 157,
+ 223,
+ 114,
+ 177,
+ 185,
+ 22,
+ 103,
+ 154,
+ 223,
+ 221,
+ 232,
+ 147,
+ 4,
+ 67,
+ 21,
+ 165,
+ 244,
+ 150,
+ 127,
+ 208,
+ 64,
+ 94,
+ 194,
+ 151,
+ 170,
+ 51,
+ 47,
+ 103,
+ 111,
+ 240,
+ 250,
+ 91,
+ 215,
+ 149,
+ 235,
+ 96,
+ 155,
+ 46,
+ 79,
+ 8,
+ 141,
+ 177,
+ 205,
+ 243,
+ 124,
+ 207,
+ 240,
+ 115,
+ 90,
+ 94,
+ 83,
+ 196,
+ 193,
+ 33,
+ 115,
+ 160,
+ 2,
+ 106,
+ 234,
+ 66,
+ 56,
+ 138,
+ 125,
+ 113,
+ 83,
+ 168,
+ 131,
+ 11,
+ 138,
+ 144,
+ 28,
+ 249
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 157,
+ 27,
+ 216,
+ 236,
+ 179,
+ 39,
+ 105,
+ 6,
+ 19,
+ 141,
+ 11,
+ 3,
+ 252,
+ 184,
+ 193,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 36,
+ 169,
+ 43,
+ 36,
+ 232,
+ 89,
+ 3,
+ 205,
+ 74,
+ 170,
+ 191,
+ 224,
+ 124,
+ 49,
+ 13,
+ 245,
+ 164,
+ 248,
+ 244,
+ 89,
+ 224,
+ 58,
+ 99,
+ 203,
+ 209,
+ 180,
+ 120,
+ 85,
+ 176,
+ 156,
+ 11,
+ 232
+ ],
+ "nonce": [
+ 34,
+ 231,
+ 86,
+ 220,
+ 137,
+ 141,
+ 76,
+ 241,
+ 34,
+ 8,
+ 6,
+ 18
+ ],
+ "aad": [
+ 46,
+ 1,
+ 178,
+ 83,
+ 109,
+ 190,
+ 55,
+ 107,
+ 225,
+ 68,
+ 41,
+ 111,
+ 92,
+ 56,
+ 251,
+ 9,
+ 158,
+ 0,
+ 143,
+ 150,
+ 43,
+ 159,
+ 14,
+ 137,
+ 99,
+ 52,
+ 182,
+ 64,
+ 131,
+ 147,
+ 191,
+ 241,
+ 2,
+ 10,
+ 14,
+ 68,
+ 36,
+ 119,
+ 171,
+ 253,
+ 177,
+ 114,
+ 114,
+ 19,
+ 182,
+ 204,
+ 197,
+ 119,
+ 245,
+ 225,
+ 108,
+ 176,
+ 87,
+ 200,
+ 148,
+ 90,
+ 7,
+ 227,
+ 7,
+ 38,
+ 75,
+ 101,
+ 151,
+ 154,
+ 237,
+ 150,
+ 181,
+ 153,
+ 95,
+ 64,
+ 37,
+ 15,
+ 251,
+ 170,
+ 161,
+ 161,
+ 240,
+ 236,
+ 207,
+ 57,
+ 64,
+ 21,
+ 246,
+ 41,
+ 15,
+ 94,
+ 100,
+ 223,
+ 229,
+ 202
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 13,
+ 127,
+ 26,
+ 237,
+ 71,
+ 8,
+ 160,
+ 59,
+ 12,
+ 128,
+ 178,
+ 161,
+ 135,
+ 133,
+ 201,
+ 109
+ ]
+ },
+ {
+ "key": [
+ 21,
+ 39,
+ 111,
+ 198,
+ 68,
+ 56,
+ 87,
+ 142,
+ 14,
+ 197,
+ 51,
+ 102,
+ 185,
+ 10,
+ 14,
+ 35,
+ 217,
+ 57,
+ 16,
+ 254,
+ 193,
+ 13,
+ 195,
+ 0,
+ 61,
+ 155,
+ 63,
+ 63,
+ 167,
+ 45,
+ 183,
+ 2
+ ],
+ "nonce": [
+ 197,
+ 233,
+ 49,
+ 148,
+ 109,
+ 92,
+ 174,
+ 188,
+ 34,
+ 118,
+ 86,
+ 210
+ ],
+ "aad": [
+ 63,
+ 150,
+ 124,
+ 131,
+ 186,
+ 2,
+ 231,
+ 124,
+ 20,
+ 233,
+ 212,
+ 17,
+ 133,
+ 235,
+ 135,
+ 241,
+ 114,
+ 37,
+ 14,
+ 147,
+ 237,
+ 176,
+ 248,
+ 43,
+ 103,
+ 66,
+ 193,
+ 36,
+ 41,
+ 138,
+ 182,
+ 148,
+ 24,
+ 53,
+ 142,
+ 221,
+ 239,
+ 163,
+ 159,
+ 237,
+ 195,
+ 202,
+ 222,
+ 157,
+ 128,
+ 240,
+ 54,
+ 216,
+ 100,
+ 165,
+ 158,
+ 173,
+ 55,
+ 200,
+ 119,
+ 39,
+ 197,
+ 108,
+ 112,
+ 26,
+ 140,
+ 217,
+ 99,
+ 68,
+ 105,
+ 255,
+ 49,
+ 199,
+ 4,
+ 245,
+ 238,
+ 57,
+ 53,
+ 65,
+ 87,
+ 230,
+ 85,
+ 132,
+ 103,
+ 185,
+ 40,
+ 36,
+ 218,
+ 54,
+ 177,
+ 192,
+ 113,
+ 190,
+ 223,
+ 233
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 160,
+ 255,
+ 161,
+ 154,
+ 220,
+ 243,
+ 29,
+ 6,
+ 28,
+ 208,
+ 221,
+ 70,
+ 210,
+ 64,
+ 21,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 236,
+ 9,
+ 128,
+ 74,
+ 4,
+ 139,
+ 184,
+ 84,
+ 199,
+ 22,
+ 24,
+ 181,
+ 163,
+ 161,
+ 197,
+ 144,
+ 145,
+ 15,
+ 200,
+ 166,
+ 132,
+ 85,
+ 19,
+ 155,
+ 113,
+ 148,
+ 134,
+ 210,
+ 40,
+ 14,
+ 165,
+ 154
+ ],
+ "nonce": [
+ 208,
+ 177,
+ 36,
+ 126,
+ 113,
+ 33,
+ 169,
+ 39,
+ 106,
+ 193,
+ 140,
+ 163
+ ],
+ "aad": [
+ 102,
+ 177,
+ 211,
+ 157,
+ 65,
+ 69,
+ 150,
+ 48,
+ 142,
+ 134,
+ 107,
+ 4,
+ 71,
+ 110,
+ 5,
+ 59,
+ 113,
+ 172,
+ 209,
+ 205,
+ 7,
+ 206,
+ 128,
+ 147,
+ 149,
+ 119,
+ 235,
+ 190,
+ 172,
+ 224,
+ 67,
+ 15,
+ 126,
+ 76,
+ 12,
+ 24,
+ 95,
+ 225,
+ 217,
+ 122,
+ 199,
+ 86,
+ 153,
+ 80,
+ 200,
+ 61,
+ 180,
+ 11,
+ 190,
+ 208,
+ 241,
+ 209,
+ 115,
+ 225,
+ 170,
+ 13,
+ 194,
+ 139,
+ 71,
+ 115,
+ 112,
+ 80,
+ 50,
+ 217,
+ 117,
+ 81,
+ 247,
+ 252,
+ 239,
+ 127,
+ 85,
+ 228,
+ 182,
+ 159,
+ 136,
+ 223,
+ 101,
+ 0,
+ 50,
+ 223,
+ 197,
+ 35,
+ 44,
+ 21,
+ 102,
+ 65,
+ 16,
+ 75,
+ 83,
+ 151
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 132,
+ 64,
+ 230,
+ 216,
+ 100,
+ 171,
+ 119,
+ 143,
+ 155,
+ 228,
+ 120,
+ 242,
+ 3,
+ 22,
+ 45,
+ 134
+ ]
+ },
+ {
+ "key": [
+ 74,
+ 223,
+ 134,
+ 191,
+ 165,
+ 71,
+ 114,
+ 94,
+ 75,
+ 128,
+ 54,
+ 90,
+ 90,
+ 50,
+ 124,
+ 16,
+ 112,
+ 64,
+ 250,
+ 207,
+ 255,
+ 0,
+ 125,
+ 195,
+ 81,
+ 2,
+ 6,
+ 107,
+ 214,
+ 169,
+ 149,
+ 196
+ ],
+ "nonce": [
+ 177,
+ 1,
+ 140,
+ 195,
+ 49,
+ 145,
+ 18,
+ 85,
+ 165,
+ 90,
+ 7,
+ 149
+ ],
+ "aad": [
+ 5,
+ 60,
+ 164,
+ 66,
+ 140,
+ 153,
+ 11,
+ 68,
+ 86,
+ 211,
+ 193,
+ 137,
+ 93,
+ 93,
+ 82,
+ 222,
+ 255,
+ 103,
+ 88,
+ 150,
+ 222,
+ 159,
+ 170,
+ 83,
+ 216,
+ 207,
+ 36,
+ 18,
+ 85,
+ 244,
+ 163,
+ 29,
+ 195,
+ 57,
+ 159,
+ 21,
+ 216,
+ 59,
+ 227,
+ 128,
+ 37,
+ 102,
+ 22,
+ 229,
+ 175,
+ 4,
+ 58,
+ 191,
+ 179,
+ 117,
+ 82,
+ 101,
+ 90,
+ 223,
+ 79,
+ 46,
+ 104,
+ 221,
+ 162,
+ 75,
+ 195,
+ 115,
+ 105,
+ 81,
+ 19,
+ 79,
+ 53,
+ 157,
+ 156,
+ 14,
+ 40,
+ 139,
+ 183,
+ 152,
+ 182,
+ 195,
+ 234,
+ 70,
+ 35,
+ 146,
+ 49,
+ 163,
+ 203,
+ 40,
+ 0,
+ 102,
+ 219,
+ 152,
+ 98,
+ 231
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 199,
+ 66,
+ 79,
+ 56,
+ 8,
+ 73,
+ 48,
+ 191,
+ 197,
+ 237,
+ 193,
+ 252,
+ 241,
+ 231,
+ 96,
+ 141
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 146,
+ 224,
+ 209,
+ 227,
+ 154,
+ 60,
+ 118,
+ 101,
+ 115,
+ 196,
+ 100,
+ 108,
+ 118,
+ 140,
+ 64,
+ 44,
+ 207,
+ 244,
+ 138,
+ 86,
+ 104,
+ 42,
+ 147,
+ 67,
+ 53,
+ 18,
+ 171,
+ 240,
+ 69,
+ 110,
+ 0
+ ],
+ "nonce": [
+ 213,
+ 127,
+ 49,
+ 158,
+ 89,
+ 1,
+ 145,
+ 132,
+ 29,
+ 43,
+ 152,
+ 189
+ ],
+ "aad": [
+ 132,
+ 13,
+ 147,
+ 148,
+ 170,
+ 36,
+ 14,
+ 82,
+ 186,
+ 21,
+ 33,
+ 81,
+ 193,
+ 42,
+ 205,
+ 28,
+ 212,
+ 72,
+ 129,
+ 232,
+ 84,
+ 157,
+ 200,
+ 50,
+ 183,
+ 26,
+ 69,
+ 218,
+ 126,
+ 252,
+ 199,
+ 79,
+ 183,
+ 232,
+ 68,
+ 217,
+ 254,
+ 194,
+ 94,
+ 93,
+ 73,
+ 123,
+ 143,
+ 184,
+ 244,
+ 127,
+ 50,
+ 140,
+ 141,
+ 153,
+ 4,
+ 90,
+ 25,
+ 227,
+ 102,
+ 230,
+ 206,
+ 94,
+ 25,
+ 220,
+ 38,
+ 246,
+ 122,
+ 129,
+ 169,
+ 79,
+ 166,
+ 201,
+ 124,
+ 49,
+ 77,
+ 136,
+ 110,
+ 123,
+ 86,
+ 239,
+ 241,
+ 68,
+ 192,
+ 159,
+ 111,
+ 165,
+ 25,
+ 219,
+ 99,
+ 8,
+ 188,
+ 115,
+ 66,
+ 46
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 203,
+ 78,
+ 247,
+ 45,
+ 189,
+ 164,
+ 145,
+ 77,
+ 116,
+ 52,
+ 249,
+ 104,
+ 111,
+ 130,
+ 62,
+ 47
+ ]
+ },
+ {
+ "key": [
+ 182,
+ 107,
+ 163,
+ 151,
+ 51,
+ 136,
+ 138,
+ 158,
+ 10,
+ 46,
+ 48,
+ 69,
+ 40,
+ 68,
+ 22,
+ 29,
+ 195,
+ 60,
+ 179,
+ 131,
+ 192,
+ 44,
+ 225,
+ 108,
+ 78,
+ 250,
+ 213,
+ 69,
+ 37,
+ 9,
+ 181,
+ 181
+ ],
+ "nonce": [
+ 147,
+ 124,
+ 182,
+ 101,
+ 227,
+ 112,
+ 89,
+ 178,
+ 228,
+ 3,
+ 89,
+ 242
+ ],
+ "aad": [
+ 219,
+ 205,
+ 150,
+ 148,
+ 168,
+ 131,
+ 72,
+ 96,
+ 3,
+ 78,
+ 142,
+ 222,
+ 58,
+ 91,
+ 212,
+ 25,
+ 252,
+ 249,
+ 28,
+ 0,
+ 90,
+ 217,
+ 159,
+ 72,
+ 138,
+ 166,
+ 35,
+ 245,
+ 129,
+ 98,
+ 32,
+ 147,
+ 249,
+ 212,
+ 30,
+ 106,
+ 104,
+ 226,
+ 15,
+ 210,
+ 2,
+ 243,
+ 2,
+ 188,
+ 252,
+ 68,
+ 23,
+ 202,
+ 137,
+ 9,
+ 11,
+ 252,
+ 212,
+ 213,
+ 34,
+ 78,
+ 143,
+ 244,
+ 235,
+ 91,
+ 186,
+ 228,
+ 236,
+ 178,
+ 123,
+ 170,
+ 35,
+ 159,
+ 89,
+ 194,
+ 249,
+ 156,
+ 212,
+ 124,
+ 10,
+ 38,
+ 156,
+ 73,
+ 121,
+ 6,
+ 180,
+ 26,
+ 143,
+ 50,
+ 10,
+ 61,
+ 210,
+ 220,
+ 45,
+ 226
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 189,
+ 200,
+ 36,
+ 147,
+ 2,
+ 217,
+ 214,
+ 102,
+ 207,
+ 113,
+ 104,
+ 49,
+ 124,
+ 17,
+ 135,
+ 67
+ ]
+ },
+ {
+ "key": [
+ 47,
+ 159,
+ 205,
+ 16,
+ 67,
+ 69,
+ 86,
+ 149,
+ 99,
+ 140,
+ 153,
+ 26,
+ 27,
+ 29,
+ 53,
+ 173,
+ 87,
+ 193,
+ 142,
+ 240,
+ 114,
+ 115,
+ 34,
+ 116,
+ 123,
+ 121,
+ 145,
+ 171,
+ 195,
+ 215,
+ 135,
+ 243
+ ],
+ "nonce": [
+ 208,
+ 108,
+ 245,
+ 72,
+ 246,
+ 40,
+ 105,
+ 244,
+ 190,
+ 215,
+ 163,
+ 24
+ ],
+ "aad": [
+ 67,
+ 32,
+ 35,
+ 193,
+ 44,
+ 241,
+ 246,
+ 20,
+ 225,
+ 0,
+ 81,
+ 18,
+ 161,
+ 125,
+ 190,
+ 108,
+ 93,
+ 84,
+ 2,
+ 42,
+ 149,
+ 207,
+ 99,
+ 53,
+ 165,
+ 188,
+ 85,
+ 0,
+ 76,
+ 117,
+ 240,
+ 154,
+ 86,
+ 153,
+ 115,
+ 158,
+ 207,
+ 146,
+ 142,
+ 28,
+ 120,
+ 208,
+ 61,
+ 173,
+ 80,
+ 150,
+ 161,
+ 122,
+ 8,
+ 74,
+ 254,
+ 28,
+ 194,
+ 32,
+ 65,
+ 187,
+ 223,
+ 181,
+ 152,
+ 91,
+ 208,
+ 139,
+ 13,
+ 204,
+ 89,
+ 210,
+ 176,
+ 140,
+ 216,
+ 107,
+ 122,
+ 173,
+ 89,
+ 124,
+ 76,
+ 215,
+ 180,
+ 186,
+ 109,
+ 106,
+ 115,
+ 112,
+ 184,
+ 57,
+ 149,
+ 166,
+ 81,
+ 26,
+ 31,
+ 158
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 50,
+ 46,
+ 184,
+ 79,
+ 182,
+ 136,
+ 79,
+ 16,
+ 207,
+ 183,
+ 102,
+ 194,
+ 227,
+ 236,
+ 119,
+ 158
+ ]
+ },
+ {
+ "key": [
+ 33,
+ 197,
+ 131,
+ 154,
+ 99,
+ 225,
+ 35,
+ 12,
+ 6,
+ 176,
+ 134,
+ 52,
+ 28,
+ 150,
+ 171,
+ 116,
+ 88,
+ 94,
+ 105,
+ 188,
+ 237,
+ 148,
+ 51,
+ 44,
+ 174,
+ 177,
+ 250,
+ 119,
+ 213,
+ 16,
+ 194,
+ 79
+ ],
+ "nonce": [
+ 90,
+ 182,
+ 229,
+ 237,
+ 110,
+ 231,
+ 51,
+ 190,
+ 114,
+ 80,
+ 133,
+ 140
+ ],
+ "aad": [
+ 201,
+ 47,
+ 8,
+ 227,
+ 15,
+ 103,
+ 212,
+ 37,
+ 22,
+ 19,
+ 60,
+ 72,
+ 233,
+ 123,
+ 101,
+ 204,
+ 158,
+ 18,
+ 67,
+ 101,
+ 225,
+ 16,
+ 171,
+ 165,
+ 231,
+ 178,
+ 203,
+ 232,
+ 61,
+ 235,
+ 204,
+ 153,
+ 237,
+ 244,
+ 235,
+ 0,
+ 7,
+ 175,
+ 5,
+ 43,
+ 218,
+ 34,
+ 216,
+ 89,
+ 0,
+ 39,
+ 27,
+ 24,
+ 151,
+ 175,
+ 79,
+ 217,
+ 172,
+ 230,
+ 162,
+ 208,
+ 157,
+ 152,
+ 74,
+ 195,
+ 222,
+ 121,
+ 208,
+ 93,
+ 224,
+ 177,
+ 5,
+ 168,
+ 27,
+ 18,
+ 84,
+ 43,
+ 44,
+ 72,
+ 226,
+ 125,
+ 64,
+ 159,
+ 214,
+ 153,
+ 45,
+ 208,
+ 98,
+ 214,
+ 5,
+ 93,
+ 111,
+ 198,
+ 104,
+ 66
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 83,
+ 176,
+ 228,
+ 80,
+ 48,
+ 157,
+ 20,
+ 100,
+ 89,
+ 242,
+ 161,
+ 228,
+ 108,
+ 157,
+ 158,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 37,
+ 161,
+ 68,
+ 240,
+ 253,
+ 186,
+ 24,
+ 65,
+ 37,
+ 216,
+ 26,
+ 135,
+ 231,
+ 237,
+ 130,
+ 250,
+ 211,
+ 60,
+ 112,
+ 26,
+ 9,
+ 74,
+ 103,
+ 168,
+ 31,
+ 228,
+ 105,
+ 45,
+ 198,
+ 154,
+ 250,
+ 49
+ ],
+ "nonce": [
+ 139,
+ 245,
+ 117,
+ 197,
+ 194,
+ 180,
+ 91,
+ 78,
+ 252,
+ 103,
+ 70,
+ 228
+ ],
+ "aad": [
+ 42,
+ 54,
+ 124,
+ 176,
+ 211,
+ 183,
+ 197,
+ 184,
+ 50,
+ 11,
+ 60,
+ 249,
+ 94,
+ 130,
+ 182,
+ 186,
+ 11,
+ 186,
+ 29,
+ 9,
+ 162,
+ 5,
+ 88,
+ 133,
+ 222,
+ 221,
+ 158,
+ 245,
+ 100,
+ 22,
+ 35,
+ 104,
+ 34,
+ 18,
+ 16,
+ 50,
+ 56,
+ 184,
+ 247,
+ 117,
+ 204,
+ 228,
+ 45,
+ 223,
+ 212,
+ 246,
+ 99,
+ 130,
+ 242,
+ 195,
+ 165,
+ 232,
+ 214,
+ 223,
+ 249,
+ 22,
+ 60,
+ 237,
+ 131,
+ 88,
+ 10,
+ 117,
+ 112,
+ 85,
+ 116,
+ 2,
+ 107,
+ 85,
+ 219,
+ 144,
+ 247,
+ 95,
+ 138,
+ 187,
+ 48,
+ 20,
+ 201,
+ 167,
+ 7,
+ 2,
+ 29,
+ 237,
+ 192,
+ 117,
+ 218,
+ 56,
+ 190,
+ 187,
+ 240,
+ 160
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 14,
+ 44,
+ 233,
+ 202,
+ 200,
+ 223,
+ 206,
+ 219,
+ 5,
+ 114,
+ 236,
+ 108,
+ 171,
+ 98,
+ 30,
+ 253
+ ]
+ },
+ {
+ "key": [
+ 66,
+ 188,
+ 132,
+ 27,
+ 59,
+ 3,
+ 168,
+ 7,
+ 205,
+ 54,
+ 106,
+ 53,
+ 236,
+ 236,
+ 138,
+ 106,
+ 235,
+ 239,
+ 124,
+ 76,
+ 186,
+ 14,
+ 200,
+ 203,
+ 141,
+ 160,
+ 218,
+ 65,
+ 223,
+ 140,
+ 206,
+ 241
+ ],
+ "nonce": [
+ 27,
+ 212,
+ 111,
+ 133,
+ 223,
+ 95,
+ 75,
+ 58,
+ 18,
+ 110,
+ 227,
+ 21
+ ],
+ "aad": [
+ 237,
+ 227,
+ 220,
+ 221,
+ 189,
+ 199,
+ 216,
+ 229,
+ 208,
+ 52,
+ 192,
+ 22,
+ 97,
+ 51,
+ 46,
+ 195,
+ 73,
+ 203,
+ 78,
+ 122,
+ 159,
+ 186,
+ 175,
+ 122,
+ 190,
+ 44,
+ 100,
+ 117,
+ 135,
+ 219,
+ 134,
+ 205,
+ 66,
+ 124,
+ 230,
+ 105,
+ 8,
+ 224,
+ 112,
+ 188,
+ 73,
+ 239,
+ 131,
+ 135,
+ 71,
+ 224,
+ 107,
+ 69,
+ 172,
+ 72,
+ 109,
+ 251,
+ 234,
+ 111,
+ 134,
+ 152,
+ 180,
+ 98,
+ 94,
+ 33,
+ 230,
+ 157,
+ 184,
+ 50,
+ 126,
+ 192,
+ 92,
+ 253,
+ 116,
+ 172,
+ 203,
+ 230,
+ 122,
+ 182,
+ 68,
+ 148,
+ 140,
+ 219,
+ 85,
+ 74,
+ 241,
+ 121,
+ 161,
+ 226,
+ 100,
+ 224,
+ 143,
+ 225,
+ 102,
+ 65
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 99,
+ 58,
+ 182,
+ 170,
+ 245,
+ 179,
+ 43,
+ 83,
+ 167,
+ 148,
+ 246,
+ 190,
+ 98,
+ 98,
+ 252,
+ 95
+ ]
+ },
+ {
+ "key": [
+ 194,
+ 91,
+ 133,
+ 0,
+ 190,
+ 115,
+ 33,
+ 5,
+ 150,
+ 252,
+ 74,
+ 159,
+ 180,
+ 216,
+ 77,
+ 26,
+ 51,
+ 121,
+ 169,
+ 30,
+ 63,
+ 10,
+ 108,
+ 196,
+ 23,
+ 125,
+ 153,
+ 96,
+ 70,
+ 98,
+ 118,
+ 121
+ ],
+ "nonce": [
+ 181,
+ 108,
+ 72,
+ 192,
+ 196,
+ 205,
+ 49,
+ 139,
+ 32,
+ 67,
+ 112,
+ 2
+ ],
+ "aad": [
+ 188,
+ 209,
+ 77,
+ 208,
+ 67,
+ 253,
+ 200,
+ 195,
+ 39,
+ 149,
+ 126,
+ 28,
+ 20,
+ 40,
+ 105,
+ 133,
+ 67,
+ 236,
+ 134,
+ 2,
+ 82,
+ 26,
+ 124,
+ 116,
+ 120,
+ 141,
+ 41,
+ 109,
+ 55,
+ 212,
+ 130,
+ 143,
+ 16,
+ 249,
+ 6,
+ 86,
+ 136,
+ 61,
+ 37,
+ 49,
+ 199,
+ 2,
+ 235,
+ 218,
+ 45,
+ 192,
+ 166,
+ 141,
+ 171,
+ 0,
+ 21,
+ 69,
+ 119,
+ 69,
+ 68,
+ 85,
+ 250,
+ 217,
+ 134,
+ 255,
+ 142,
+ 9,
+ 115,
+ 9,
+ 141,
+ 191,
+ 55,
+ 15,
+ 247,
+ 3,
+ 237,
+ 152,
+ 34,
+ 43,
+ 148,
+ 87,
+ 38,
+ 237,
+ 155,
+ 231,
+ 144,
+ 146,
+ 16,
+ 221,
+ 188,
+ 103,
+ 46,
+ 153,
+ 253,
+ 217
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 129,
+ 113,
+ 212,
+ 255,
+ 96,
+ 254,
+ 126,
+ 246,
+ 222,
+ 2,
+ 136,
+ 50,
+ 106,
+ 167,
+ 50,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 149,
+ 37,
+ 155,
+ 200,
+ 238,
+ 250,
+ 62,
+ 73,
+ 60,
+ 177,
+ 166,
+ 186,
+ 29,
+ 142,
+ 226,
+ 179,
+ 65,
+ 213,
+ 35,
+ 13,
+ 80,
+ 54,
+ 48,
+ 148,
+ 162,
+ 204,
+ 52,
+ 51,
+ 179,
+ 217,
+ 185
+ ],
+ "nonce": [
+ 161,
+ 166,
+ 206,
+ 208,
+ 132,
+ 244,
+ 241,
+ 57,
+ 144,
+ 117,
+ 10,
+ 158
+ ],
+ "aad": [
+ 212,
+ 109,
+ 185,
+ 14,
+ 19,
+ 104,
+ 75,
+ 38,
+ 20,
+ 156,
+ 179,
+ 183,
+ 247,
+ 118,
+ 226,
+ 40,
+ 160,
+ 83,
+ 143,
+ 161,
+ 137,
+ 44,
+ 65,
+ 138,
+ 170,
+ 208,
+ 122,
+ 160,
+ 141,
+ 48,
+ 118,
+ 244,
+ 165,
+ 43,
+ 238,
+ 143,
+ 19,
+ 15,
+ 245,
+ 96,
+ 219,
+ 43,
+ 141,
+ 16,
+ 9,
+ 233,
+ 38,
+ 15,
+ 166,
+ 35,
+ 63,
+ 194,
+ 39,
+ 51,
+ 224,
+ 80,
+ 201,
+ 228,
+ 247,
+ 204,
+ 105,
+ 144,
+ 98,
+ 118,
+ 94,
+ 38,
+ 29,
+ 255,
+ 255,
+ 17,
+ 89,
+ 233,
+ 6,
+ 11,
+ 38,
+ 200,
+ 6,
+ 93,
+ 250,
+ 176,
+ 64,
+ 85,
+ 181,
+ 140,
+ 130,
+ 195,
+ 64,
+ 217,
+ 135,
+ 201
+ ],
+ "plaintext": [],
+ "ciphertext": [],
+ "tag": [
+ 158,
+ 18,
+ 11,
+ 1,
+ 137,
+ 159,
+ 226,
+ 203,
+ 62,
+ 58,
+ 11,
+ 12,
+ 5,
+ 4,
+ 89,
+ 64
+ ]
+ },
+ {
+ "key": [
+ 49,
+ 189,
+ 173,
+ 217,
+ 102,
+ 152,
+ 194,
+ 4,
+ 170,
+ 156,
+ 225,
+ 68,
+ 142,
+ 169,
+ 74,
+ 225,
+ 251,
+ 74,
+ 154,
+ 11,
+ 60,
+ 157,
+ 119,
+ 59,
+ 81,
+ 187,
+ 24,
+ 34,
+ 102,
+ 107,
+ 143,
+ 34
+ ],
+ "nonce": [
+ 13,
+ 24,
+ 224,
+ 108,
+ 124,
+ 114,
+ 90,
+ 201,
+ 227,
+ 98,
+ 225,
+ 206
+ ],
+ "aad": [],
+ "plaintext": [
+ 45,
+ 181,
+ 22,
+ 142,
+ 147,
+ 37,
+ 86,
+ 248,
+ 8,
+ 154,
+ 6,
+ 34,
+ 152,
+ 29,
+ 1,
+ 125
+ ],
+ "ciphertext": [
+ 250,
+ 67,
+ 98,
+ 24,
+ 150,
+ 97,
+ 209,
+ 99,
+ 252,
+ 214,
+ 165,
+ 109,
+ 139,
+ 240,
+ 64,
+ 90
+ ],
+ "tag": [
+ 214,
+ 54,
+ 172,
+ 27,
+ 190,
+ 221,
+ 92,
+ 195,
+ 238,
+ 114,
+ 125,
+ 194,
+ 171,
+ 74,
+ 148,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 70,
+ 15,
+ 200,
+ 100,
+ 151,
+ 34,
+ 97,
+ 194,
+ 86,
+ 14,
+ 30,
+ 184,
+ 135,
+ 97,
+ 255,
+ 28,
+ 153,
+ 43,
+ 152,
+ 36,
+ 151,
+ 189,
+ 42,
+ 195,
+ 108,
+ 4,
+ 7,
+ 28,
+ 187,
+ 142,
+ 93,
+ 153
+ ],
+ "nonce": [
+ 138,
+ 74,
+ 22,
+ 185,
+ 226,
+ 16,
+ 235,
+ 104,
+ 188,
+ 182,
+ 245,
+ 141
+ ],
+ "aad": [],
+ "plaintext": [
+ 153,
+ 228,
+ 233,
+ 38,
+ 255,
+ 233,
+ 39,
+ 246,
+ 145,
+ 137,
+ 63,
+ 183,
+ 154,
+ 150,
+ 176,
+ 103
+ ],
+ "ciphertext": [
+ 19,
+ 63,
+ 193,
+ 87,
+ 81,
+ 98,
+ 27,
+ 95,
+ 50,
+ 92,
+ 127,
+ 247,
+ 28,
+ 224,
+ 131,
+ 36
+ ],
+ "tag": [
+ 236,
+ 78,
+ 135,
+ 224,
+ 207,
+ 116,
+ 161,
+ 54,
+ 24,
+ 208,
+ 182,
+ 134,
+ 54,
+ 186,
+ 159,
+ 167
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 138,
+ 43,
+ 163,
+ 197,
+ 189,
+ 22,
+ 77,
+ 225,
+ 52,
+ 160,
+ 48,
+ 202,
+ 9,
+ 233,
+ 148,
+ 99,
+ 234,
+ 126,
+ 150,
+ 123,
+ 146,
+ 196,
+ 176,
+ 160,
+ 135,
+ 7,
+ 150,
+ 72,
+ 2,
+ 151,
+ 229
+ ],
+ "nonce": [
+ 43,
+ 185,
+ 47,
+ 203,
+ 114,
+ 108,
+ 39,
+ 138,
+ 47,
+ 163,
+ 90,
+ 136
+ ],
+ "aad": [],
+ "plaintext": [
+ 245,
+ 98,
+ 80,
+ 158,
+ 209,
+ 57,
+ 166,
+ 187,
+ 231,
+ 171,
+ 84,
+ 90,
+ 198,
+ 22,
+ 37,
+ 12
+ ],
+ "ciphertext": [
+ 226,
+ 247,
+ 135,
+ 153,
+ 110,
+ 55,
+ 211,
+ 180,
+ 114,
+ 148,
+ 191,
+ 126,
+ 187,
+ 165,
+ 238,
+ 37
+ ],
+ "tag": [
+ 0,
+ 246,
+ 19,
+ 238,
+ 233,
+ 189,
+ 173,
+ 108,
+ 158,
+ 231,
+ 118,
+ 93,
+ 177,
+ 203,
+ 69,
+ 192
+ ]
+ },
+ {
+ "key": [
+ 72,
+ 230,
+ 175,
+ 33,
+ 45,
+ 161,
+ 56,
+ 101,
+ 0,
+ 69,
+ 76,
+ 148,
+ 162,
+ 1,
+ 100,
+ 12,
+ 33,
+ 81,
+ 178,
+ 128,
+ 121,
+ 36,
+ 14,
+ 64,
+ 215,
+ 45,
+ 42,
+ 95,
+ 215,
+ 213,
+ 66,
+ 52
+ ],
+ "nonce": [
+ 239,
+ 15,
+ 240,
+ 98,
+ 34,
+ 14,
+ 184,
+ 23,
+ 220,
+ 46,
+ 206,
+ 148
+ ],
+ "aad": [],
+ "plaintext": [
+ 199,
+ 175,
+ 238,
+ 206,
+ 193,
+ 64,
+ 138,
+ 209,
+ 85,
+ 177,
+ 119,
+ 194,
+ 220,
+ 113,
+ 56,
+ 176
+ ],
+ "ciphertext": [
+ 148,
+ 50,
+ 166,
+ 32,
+ 230,
+ 162,
+ 35,
+ 7,
+ 224,
+ 106,
+ 50,
+ 29,
+ 102,
+ 132,
+ 111,
+ 212
+ ],
+ "tag": [
+ 227,
+ 234,
+ 73,
+ 145,
+ 146,
+ 242,
+ 205,
+ 141,
+ 58,
+ 179,
+ 237,
+ 252,
+ 85,
+ 137,
+ 116,
+ 21
+ ]
+ },
+ {
+ "key": [
+ 121,
+ 205,
+ 141,
+ 117,
+ 15,
+ 200,
+ 234,
+ 98,
+ 162,
+ 113,
+ 78,
+ 220,
+ 217,
+ 179,
+ 40,
+ 103,
+ 199,
+ 196,
+ 218,
+ 144,
+ 108,
+ 86,
+ 226,
+ 58,
+ 100,
+ 69,
+ 82,
+ 245,
+ 184,
+ 18,
+ 231,
+ 90
+ ],
+ "nonce": [
+ 155,
+ 191,
+ 219,
+ 129,
+ 1,
+ 93,
+ 43,
+ 87,
+ 222,
+ 173,
+ 45,
+ 229
+ ],
+ "aad": [],
+ "plaintext": [
+ 249,
+ 128,
+ 173,
+ 140,
+ 85,
+ 235,
+ 211,
+ 30,
+ 230,
+ 249,
+ 143,
+ 68,
+ 233,
+ 43,
+ 255,
+ 85
+ ],
+ "ciphertext": [
+ 65,
+ 163,
+ 77,
+ 30,
+ 117,
+ 156,
+ 133,
+ 158,
+ 145,
+ 184,
+ 207,
+ 93,
+ 61,
+ 237,
+ 25,
+ 112
+ ],
+ "tag": [
+ 104,
+ 205,
+ 152,
+ 64,
+ 109,
+ 91,
+ 50,
+ 37,
+ 113,
+ 231,
+ 80,
+ 195,
+ 10,
+ 164,
+ 152,
+ 52
+ ]
+ },
+ {
+ "key": [
+ 19,
+ 10,
+ 228,
+ 80,
+ 193,
+ 142,
+ 251,
+ 133,
+ 16,
+ 87,
+ 170,
+ 167,
+ 149,
+ 117,
+ 160,
+ 160,
+ 144,
+ 25,
+ 75,
+ 232,
+ 178,
+ 201,
+ 84,
+ 105,
+ 160,
+ 232,
+ 227,
+ 128,
+ 168,
+ 244,
+ 143,
+ 66
+ ],
+ "nonce": [
+ 178,
+ 105,
+ 17,
+ 83,
+ 150,
+ 248,
+ 27,
+ 57,
+ 224,
+ 195,
+ 143,
+ 71
+ ],
+ "aad": [],
+ "plaintext": [
+ 3,
+ 108,
+ 243,
+ 98,
+ 128,
+ 222,
+ 232,
+ 53,
+ 92,
+ 130,
+ 171,
+ 196,
+ 193,
+ 253,
+ 183,
+ 120
+ ],
+ "ciphertext": [
+ 9,
+ 247,
+ 86,
+ 143,
+ 216,
+ 24,
+ 22,
+ 82,
+ 229,
+ 86,
+ 240,
+ 221,
+ 165,
+ 164,
+ 158,
+ 213
+ ],
+ "tag": [
+ 209,
+ 11,
+ 97,
+ 148,
+ 124,
+ 174,
+ 39,
+ 91,
+ 112,
+ 52,
+ 245,
+ 37,
+ 155,
+ 166,
+ 252,
+ 40
+ ]
+ },
+ {
+ "key": [
+ 156,
+ 113,
+ 33,
+ 40,
+ 154,
+ 239,
+ 198,
+ 112,
+ 144,
+ 202,
+ 190,
+ 213,
+ 58,
+ 209,
+ 22,
+ 88,
+ 190,
+ 114,
+ 165,
+ 55,
+ 39,
+ 97,
+ 185,
+ 215,
+ 53,
+ 232,
+ 29,
+ 43,
+ 252,
+ 14,
+ 50,
+ 103
+ ],
+ "nonce": [
+ 173,
+ 225,
+ 112,
+ 45,
+ 32,
+ 81,
+ 184,
+ 221,
+ 32,
+ 59,
+ 84,
+ 25
+ ],
+ "aad": [],
+ "plaintext": [
+ 185,
+ 91,
+ 202,
+ 162,
+ 179,
+ 20,
+ 3,
+ 215,
+ 104,
+ 89,
+ 164,
+ 195,
+ 1,
+ 197,
+ 11,
+ 86
+ ],
+ "ciphertext": [
+ 98,
+ 130,
+ 133,
+ 230,
+ 72,
+ 144,
+ 144,
+ 221,
+ 225,
+ 185,
+ 166,
+ 6,
+ 116,
+ 120,
+ 80,
+ 3
+ ],
+ "tag": [
+ 159,
+ 81,
+ 106,
+ 243,
+ 243,
+ 185,
+ 61,
+ 97,
+ 14,
+ 219,
+ 197,
+ 186,
+ 110,
+ 45,
+ 17,
+ 95
+ ]
+ },
+ {
+ "key": [
+ 4,
+ 0,
+ 180,
+ 40,
+ 151,
+ 1,
+ 31,
+ 194,
+ 15,
+ 210,
+ 40,
+ 10,
+ 82,
+ 239,
+ 144,
+ 93,
+ 110,
+ 191,
+ 27,
+ 5,
+ 91,
+ 72,
+ 201,
+ 112,
+ 103,
+ 189,
+ 120,
+ 109,
+ 103,
+ 142,
+ 196,
+ 234
+ ],
+ "nonce": [
+ 10,
+ 191,
+ 176,
+ 164,
+ 20,
+ 150,
+ 180,
+ 83,
+ 53,
+ 132,
+ 9,
+ 217
+ ],
+ "aad": [],
+ "plaintext": [
+ 32,
+ 200,
+ 35,
+ 1,
+ 145,
+ 227,
+ 95,
+ 78,
+ 155,
+ 38,
+ 157,
+ 89,
+ 207,
+ 85,
+ 33,
+ 246
+ ],
+ "ciphertext": [
+ 221,
+ 140,
+ 56,
+ 8,
+ 125,
+ 175,
+ 251,
+ 187,
+ 62,
+ 187,
+ 87,
+ 235,
+ 245,
+ 238,
+ 95,
+ 120
+ ],
+ "tag": [
+ 191,
+ 176,
+ 122,
+ 165,
+ 4,
+ 158,
+ 227,
+ 80,
+ 236,
+ 111,
+ 177,
+ 57,
+ 127,
+ 55,
+ 8,
+ 123
+ ]
+ },
+ {
+ "key": [
+ 86,
+ 105,
+ 7,
+ 152,
+ 151,
+ 140,
+ 21,
+ 79,
+ 242,
+ 80,
+ 186,
+ 120,
+ 228,
+ 99,
+ 118,
+ 95,
+ 47,
+ 12,
+ 230,
+ 151,
+ 9,
+ 164,
+ 85,
+ 27,
+ 216,
+ 203,
+ 58,
+ 221,
+ 237,
+ 160,
+ 135,
+ 182
+ ],
+ "nonce": [
+ 207,
+ 55,
+ 194,
+ 134,
+ 193,
+ 138,
+ 212,
+ 234,
+ 61,
+ 11,
+ 166,
+ 160
+ ],
+ "aad": [],
+ "plaintext": [
+ 45,
+ 50,
+ 129,
+ 36,
+ 168,
+ 213,
+ 141,
+ 86,
+ 208,
+ 119,
+ 94,
+ 237,
+ 147,
+ 222,
+ 26,
+ 136
+ ],
+ "ciphertext": [
+ 59,
+ 10,
+ 2,
+ 103,
+ 246,
+ 236,
+ 222,
+ 58,
+ 120,
+ 179,
+ 9,
+ 3,
+ 235,
+ 212,
+ 202,
+ 110
+ ],
+ "tag": [
+ 31,
+ 210,
+ 0,
+ 100,
+ 9,
+ 252,
+ 99,
+ 99,
+ 121,
+ 243,
+ 212,
+ 6,
+ 126,
+ 202,
+ 9,
+ 136
+ ]
+ },
+ {
+ "key": [
+ 138,
+ 2,
+ 163,
+ 59,
+ 223,
+ 135,
+ 231,
+ 132,
+ 93,
+ 122,
+ 138,
+ 227,
+ 200,
+ 114,
+ 126,
+ 112,
+ 79,
+ 79,
+ 208,
+ 140,
+ 31,
+ 32,
+ 131,
+ 40,
+ 45,
+ 140,
+ 179,
+ 165,
+ 211,
+ 206,
+ 222,
+ 233
+ ],
+ "nonce": [
+ 89,
+ 159,
+ 88,
+ 150,
+ 133,
+ 28,
+ 150,
+ 142,
+ 216,
+ 8,
+ 50,
+ 59
+ ],
+ "aad": [],
+ "plaintext": [
+ 74,
+ 222,
+ 139,
+ 50,
+ 213,
+ 103,
+ 35,
+ 251,
+ 143,
+ 101,
+ 206,
+ 64,
+ 130,
+ 94,
+ 39,
+ 201
+ ],
+ "ciphertext": [
+ 203,
+ 145,
+ 51,
+ 121,
+ 107,
+ 144,
+ 117,
+ 101,
+ 120,
+ 64,
+ 66,
+ 26,
+ 70,
+ 2,
+ 43,
+ 99
+ ],
+ "tag": [
+ 167,
+ 158,
+ 69,
+ 60,
+ 111,
+ 173,
+ 138,
+ 90,
+ 76,
+ 42,
+ 142,
+ 135,
+ 130,
+ 28,
+ 127,
+ 136
+ ]
+ },
+ {
+ "key": [
+ 35,
+ 170,
+ 167,
+ 138,
+ 89,
+ 21,
+ 177,
+ 79,
+ 0,
+ 207,
+ 40,
+ 95,
+ 56,
+ 238,
+ 39,
+ 90,
+ 45,
+ 185,
+ 124,
+ 180,
+ 171,
+ 20,
+ 209,
+ 170,
+ 200,
+ 185,
+ 167,
+ 63,
+ 241,
+ 230,
+ 100,
+ 103
+ ],
+ "nonce": [
+ 74,
+ 103,
+ 94,
+ 201,
+ 190,
+ 26,
+ 171,
+ 150,
+ 50,
+ 221,
+ 159,
+ 89
+ ],
+ "aad": [],
+ "plaintext": [
+ 86,
+ 101,
+ 156,
+ 6,
+ 160,
+ 10,
+ 46,
+ 142,
+ 209,
+ 172,
+ 96,
+ 87,
+ 46,
+ 238,
+ 62,
+ 247
+ ],
+ "ciphertext": [
+ 230,
+ 192,
+ 23,
+ 35,
+ 191,
+ 191,
+ 163,
+ 152,
+ 217,
+ 201,
+ 170,
+ 200,
+ 198,
+ 131,
+ 187,
+ 18
+ ],
+ "tag": [
+ 74,
+ 47,
+ 120,
+ 169,
+ 151,
+ 93,
+ 74,
+ 27,
+ 95,
+ 80,
+ 58,
+ 74,
+ 44,
+ 183,
+ 21,
+ 83
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 100,
+ 127,
+ 114,
+ 233,
+ 92,
+ 70,
+ 144,
+ 39,
+ 244,
+ 215,
+ 119,
+ 132,
+ 41,
+ 162,
+ 232,
+ 233,
+ 13,
+ 9,
+ 2,
+ 104,
+ 212,
+ 250,
+ 125,
+ 244,
+ 79,
+ 101,
+ 192,
+ 175,
+ 132,
+ 25,
+ 10
+ ],
+ "nonce": [
+ 79,
+ 64,
+ 174,
+ 42,
+ 131,
+ 169,
+ 180,
+ 128,
+ 228,
+ 104,
+ 108,
+ 144
+ ],
+ "aad": [],
+ "plaintext": [
+ 49,
+ 253,
+ 108,
+ 206,
+ 63,
+ 13,
+ 43,
+ 13,
+ 24,
+ 224,
+ 175,
+ 1,
+ 196,
+ 181,
+ 96,
+ 158
+ ],
+ "ciphertext": [
+ 84,
+ 199,
+ 105,
+ 253,
+ 84,
+ 47,
+ 13,
+ 48,
+ 34,
+ 241,
+ 51,
+ 90,
+ 124,
+ 65,
+ 11,
+ 97
+ ],
+ "tag": [
+ 16,
+ 108,
+ 183,
+ 203,
+ 205,
+ 150,
+ 125,
+ 166,
+ 202,
+ 214,
+ 70,
+ 3,
+ 156,
+ 117,
+ 52,
+ 116
+ ]
+ },
+ {
+ "key": [
+ 252,
+ 226,
+ 5,
+ 81,
+ 95,
+ 5,
+ 81,
+ 177,
+ 121,
+ 113,
+ 40,
+ 162,
+ 19,
+ 45,
+ 142,
+ 0,
+ 46,
+ 165,
+ 171,
+ 27,
+ 235,
+ 153,
+ 197,
+ 231,
+ 232,
+ 50,
+ 147,
+ 152,
+ 207,
+ 71,
+ 142,
+ 16
+ ],
+ "nonce": [
+ 32,
+ 32,
+ 154,
+ 13,
+ 74,
+ 59,
+ 155,
+ 253,
+ 222,
+ 239,
+ 57,
+ 160
+ ],
+ "aad": [],
+ "plaintext": [
+ 125,
+ 102,
+ 62,
+ 49,
+ 162,
+ 246,
+ 255,
+ 239,
+ 23,
+ 229,
+ 54,
+ 104,
+ 77,
+ 174,
+ 46,
+ 135
+ ],
+ "ciphertext": [
+ 101,
+ 41,
+ 113,
+ 32,
+ 48,
+ 251,
+ 101,
+ 157,
+ 193,
+ 26,
+ 183,
+ 25,
+ 246,
+ 164,
+ 196,
+ 2
+ ],
+ "tag": [
+ 88,
+ 105,
+ 148,
+ 100,
+ 208,
+ 98,
+ 171,
+ 165,
+ 5,
+ 80,
+ 140,
+ 87,
+ 108,
+ 78,
+ 7,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 205,
+ 51,
+ 0,
+ 63,
+ 241,
+ 143,
+ 111,
+ 51,
+ 105,
+ 221,
+ 154,
+ 53,
+ 56,
+ 18,
+ 97,
+ 186,
+ 102,
+ 12,
+ 224,
+ 167,
+ 105,
+ 134,
+ 68,
+ 117,
+ 21,
+ 46,
+ 103,
+ 112,
+ 102,
+ 84,
+ 3,
+ 55
+ ],
+ "nonce": [
+ 32,
+ 191,
+ 254,
+ 144,
+ 100,
+ 206,
+ 118,
+ 210,
+ 117,
+ 32,
+ 65,
+ 56
+ ],
+ "aad": [],
+ "plaintext": [
+ 172,
+ 175,
+ 83,
+ 212,
+ 221,
+ 47,
+ 225,
+ 44,
+ 212,
+ 68,
+ 80,
+ 176,
+ 217,
+ 173,
+ 204,
+ 146
+ ],
+ "ciphertext": [
+ 166,
+ 105,
+ 253,
+ 160,
+ 68,
+ 75,
+ 24,
+ 1,
+ 101,
+ 249,
+ 8,
+ 21,
+ 220,
+ 153,
+ 43,
+ 51
+ ],
+ "tag": [
+ 110,
+ 49,
+ 245,
+ 165,
+ 108,
+ 71,
+ 144,
+ 206,
+ 220,
+ 194,
+ 54,
+ 140,
+ 81,
+ 208,
+ 99,
+ 155
+ ]
+ },
+ {
+ "key": [
+ 56,
+ 24,
+ 115,
+ 181,
+ 249,
+ 87,
+ 157,
+ 130,
+ 65,
+ 240,
+ 198,
+ 31,
+ 13,
+ 158,
+ 50,
+ 123,
+ 185,
+ 246,
+ 120,
+ 105,
+ 23,
+ 20,
+ 170,
+ 164,
+ 142,
+ 167,
+ 217,
+ 38,
+ 120,
+ 212,
+ 63,
+ 231
+ ],
+ "nonce": [
+ 63,
+ 200,
+ 190,
+ 194,
+ 54,
+ 3,
+ 21,
+ 142,
+ 1,
+ 45,
+ 101,
+ 229
+ ],
+ "aad": [],
+ "plaintext": [
+ 123,
+ 98,
+ 46,
+ 155,
+ 64,
+ 143,
+ 233,
+ 31,
+ 111,
+ 168,
+ 0,
+ 236,
+ 239,
+ 131,
+ 141,
+ 54
+ ],
+ "ciphertext": [
+ 140,
+ 164,
+ 222,
+ 91,
+ 78,
+ 42,
+ 178,
+ 36,
+ 49,
+ 160,
+ 9,
+ 243,
+ 221,
+ 208,
+ 27,
+ 174
+ ],
+ "tag": [
+ 179,
+ 167,
+ 248,
+ 14,
+ 62,
+ 223,
+ 50,
+ 38,
+ 34,
+ 115,
+ 21,
+ 80,
+ 22,
+ 76,
+ 215,
+ 71
+ ]
+ },
+ {
+ "key": [
+ 146,
+ 225,
+ 29,
+ 205,
+ 170,
+ 134,
+ 111,
+ 92,
+ 231,
+ 144,
+ 253,
+ 36,
+ 80,
+ 31,
+ 146,
+ 80,
+ 154,
+ 172,
+ 244,
+ 203,
+ 139,
+ 19,
+ 57,
+ 213,
+ 12,
+ 156,
+ 18,
+ 64,
+ 147,
+ 93,
+ 208,
+ 139
+ ],
+ "nonce": [
+ 172,
+ 147,
+ 161,
+ 166,
+ 20,
+ 82,
+ 153,
+ 189,
+ 233,
+ 2,
+ 242,
+ 26
+ ],
+ "aad": [
+ 30,
+ 8,
+ 137,
+ 1,
+ 111,
+ 103,
+ 96,
+ 28,
+ 142,
+ 190,
+ 164,
+ 148,
+ 59,
+ 194,
+ 58,
+ 214
+ ],
+ "plaintext": [
+ 45,
+ 113,
+ 188,
+ 250,
+ 145,
+ 78,
+ 74,
+ 192,
+ 69,
+ 178,
+ 170,
+ 96,
+ 149,
+ 95,
+ 173,
+ 36
+ ],
+ "ciphertext": [
+ 137,
+ 149,
+ 174,
+ 46,
+ 109,
+ 243,
+ 219,
+ 249,
+ 111,
+ 172,
+ 123,
+ 113,
+ 55,
+ 186,
+ 230,
+ 127
+ ],
+ "tag": [
+ 236,
+ 165,
+ 170,
+ 119,
+ 213,
+ 29,
+ 74,
+ 10,
+ 20,
+ 217,
+ 197,
+ 30,
+ 29,
+ 164,
+ 116,
+ 171
+ ]
+ },
+ {
+ "key": [
+ 125,
+ 163,
+ 188,
+ 202,
+ 255,
+ 179,
+ 70,
+ 65,
+ 120,
+ 202,
+ 124,
+ 114,
+ 35,
+ 121,
+ 131,
+ 109,
+ 181,
+ 12,
+ 224,
+ 191,
+ 180,
+ 118,
+ 64,
+ 185,
+ 87,
+ 33,
+ 99,
+ 134,
+ 83,
+ 50,
+ 228,
+ 134
+ ],
+ "nonce": [
+ 192,
+ 79,
+ 210,
+ 231,
+ 1,
+ 195,
+ 220,
+ 98,
+ 182,
+ 135,
+ 56,
+ 179
+ ],
+ "aad": [
+ 254,
+ 192,
+ 49,
+ 16,
+ 19,
+ 32,
+ 46,
+ 79,
+ 253,
+ 196,
+ 32,
+ 73,
+ 38,
+ 174,
+ 13,
+ 223
+ ],
+ "plaintext": [
+ 253,
+ 103,
+ 28,
+ 171,
+ 30,
+ 226,
+ 31,
+ 13,
+ 246,
+ 187,
+ 97,
+ 11,
+ 249,
+ 79,
+ 14,
+ 105
+ ],
+ "ciphertext": [
+ 107,
+ 230,
+ 27,
+ 23,
+ 183,
+ 247,
+ 212,
+ 148,
+ 167,
+ 205,
+ 242,
+ 112,
+ 86,
+ 47,
+ 55,
+ 186
+ ],
+ "tag": [
+ 94,
+ 112,
+ 42,
+ 56,
+ 50,
+ 63,
+ 225,
+ 22,
+ 11,
+ 120,
+ 13,
+ 23,
+ 173,
+ 173,
+ 62,
+ 150
+ ]
+ },
+ {
+ "key": [
+ 163,
+ 89,
+ 185,
+ 88,
+ 75,
+ 238,
+ 193,
+ 137,
+ 82,
+ 127,
+ 136,
+ 66,
+ 221,
+ 166,
+ 182,
+ 212,
+ 198,
+ 165,
+ 219,
+ 47,
+ 136,
+ 150,
+ 53,
+ 113,
+ 95,
+ 163,
+ 188,
+ 215,
+ 150,
+ 124,
+ 10,
+ 113
+ ],
+ "nonce": [
+ 134,
+ 22,
+ 196,
+ 205,
+ 225,
+ 27,
+ 52,
+ 169,
+ 68,
+ 202,
+ 186,
+ 50
+ ],
+ "aad": [
+ 225,
+ 121,
+ 111,
+ 202,
+ 32,
+ 203,
+ 61,
+ 58,
+ 176,
+ 173,
+ 230,
+ 155,
+ 42,
+ 24,
+ 137,
+ 30
+ ],
+ "plaintext": [
+ 51,
+ 164,
+ 107,
+ 117,
+ 57,
+ 214,
+ 76,
+ 110,
+ 27,
+ 219,
+ 145,
+ 186,
+ 34,
+ 30,
+ 48,
+ 7
+ ],
+ "ciphertext": [
+ 176,
+ 211,
+ 22,
+ 233,
+ 95,
+ 63,
+ 51,
+ 144,
+ 186,
+ 16,
+ 208,
+ 39,
+ 73,
+ 101,
+ 198,
+ 43
+ ],
+ "tag": [
+ 174,
+ 174,
+ 220,
+ 248,
+ 160,
+ 18,
+ 204,
+ 50,
+ 239,
+ 37,
+ 166,
+ 39,
+ 144,
+ 233,
+ 51,
+ 76
+ ]
+ },
+ {
+ "key": [
+ 140,
+ 131,
+ 35,
+ 142,
+ 123,
+ 59,
+ 88,
+ 39,
+ 130,
+ 0,
+ 181,
+ 73,
+ 64,
+ 215,
+ 121,
+ 208,
+ 160,
+ 117,
+ 6,
+ 115,
+ 170,
+ 176,
+ 191,
+ 47,
+ 88,
+ 8,
+ 221,
+ 21,
+ 220,
+ 26,
+ 140,
+ 73
+ ],
+ "nonce": [
+ 112,
+ 248,
+ 244,
+ 235,
+ 228,
+ 8,
+ 246,
+ 26,
+ 53,
+ 7,
+ 121,
+ 86
+ ],
+ "aad": [
+ 225,
+ 203,
+ 248,
+ 57,
+ 36,
+ 241,
+ 184,
+ 209,
+ 1,
+ 75,
+ 151,
+ 219,
+ 86,
+ 194,
+ 90,
+ 21
+ ],
+ "plaintext": [
+ 110,
+ 87,
+ 248,
+ 87,
+ 45,
+ 213,
+ 178,
+ 36,
+ 116,
+ 16,
+ 240,
+ 212,
+ 199,
+ 66,
+ 65,
+ 134
+ ],
+ "ciphertext": [
+ 74,
+ 17,
+ 172,
+ 185,
+ 97,
+ 18,
+ 81,
+ 223,
+ 1,
+ 247,
+ 159,
+ 22,
+ 248,
+ 32,
+ 31,
+ 251
+ ],
+ "tag": [
+ 151,
+ 50,
+ 190,
+ 74,
+ 208,
+ 86,
+ 149,
+ 134,
+ 117,
+ 61,
+ 144,
+ 250,
+ 187,
+ 6,
+ 246,
+ 44
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 33,
+ 145,
+ 155,
+ 179,
+ 32,
+ 175,
+ 135,
+ 68,
+ 201,
+ 232,
+ 98,
+ 181,
+ 183,
+ 207,
+ 139,
+ 129,
+ 173,
+ 58,
+ 209,
+ 251,
+ 14,
+ 125,
+ 125,
+ 113,
+ 10,
+ 104,
+ 141,
+ 62,
+ 237,
+ 21,
+ 75
+ ],
+ "nonce": [
+ 56,
+ 188,
+ 57,
+ 23,
+ 170,
+ 25,
+ 37,
+ 244,
+ 8,
+ 80,
+ 192,
+ 130
+ ],
+ "aad": [
+ 242,
+ 65,
+ 2,
+ 250,
+ 126,
+ 107,
+ 129,
+ 155,
+ 179,
+ 255,
+ 71,
+ 249,
+ 8,
+ 68,
+ 219,
+ 156
+ ],
+ "plaintext": [
+ 174,
+ 165,
+ 59,
+ 30,
+ 167,
+ 154,
+ 113,
+ 195,
+ 164,
+ 184,
+ 60,
+ 146,
+ 160,
+ 201,
+ 121,
+ 241
+ ],
+ "ciphertext": [
+ 47,
+ 184,
+ 182,
+ 151,
+ 191,
+ 143,
+ 122,
+ 46,
+ 234,
+ 37,
+ 254,
+ 112,
+ 42,
+ 58,
+ 224,
+ 169
+ ],
+ "tag": [
+ 91,
+ 231,
+ 126,
+ 130,
+ 119,
+ 55,
+ 173,
+ 124,
+ 79,
+ 121,
+ 224,
+ 227,
+ 67,
+ 254,
+ 1,
+ 13
+ ]
+ },
+ {
+ "key": [
+ 73,
+ 158,
+ 138,
+ 63,
+ 57,
+ 172,
+ 74,
+ 188,
+ 98,
+ 221,
+ 78,
+ 26,
+ 97,
+ 51,
+ 4,
+ 46,
+ 116,
+ 120,
+ 89,
+ 114,
+ 182,
+ 181,
+ 1,
+ 191,
+ 175,
+ 254,
+ 252,
+ 139,
+ 178,
+ 159,
+ 211,
+ 18
+ ],
+ "nonce": [
+ 92,
+ 114,
+ 141,
+ 187,
+ 239,
+ 157,
+ 204,
+ 15,
+ 244,
+ 131,
+ 232,
+ 145
+ ],
+ "aad": [
+ 130,
+ 48,
+ 13,
+ 171,
+ 89,
+ 47,
+ 132,
+ 10,
+ 233,
+ 145,
+ 239,
+ 163,
+ 98,
+ 58,
+ 98,
+ 3
+ ],
+ "plaintext": [
+ 180,
+ 64,
+ 20,
+ 199,
+ 252,
+ 107,
+ 63,
+ 21,
+ 209,
+ 38,
+ 168,
+ 129,
+ 251,
+ 226,
+ 189,
+ 43
+ ],
+ "ciphertext": [
+ 87,
+ 143,
+ 229,
+ 225,
+ 174,
+ 247,
+ 97,
+ 159,
+ 57,
+ 44,
+ 2,
+ 124,
+ 131,
+ 138,
+ 35,
+ 158
+ ],
+ "tag": [
+ 73,
+ 253,
+ 199,
+ 36,
+ 240,
+ 94,
+ 181,
+ 110,
+ 169,
+ 227,
+ 253,
+ 20,
+ 182,
+ 26,
+ 213,
+ 103
+ ]
+ },
+ {
+ "key": [
+ 39,
+ 117,
+ 211,
+ 231,
+ 168,
+ 252,
+ 102,
+ 91,
+ 185,
+ 165,
+ 158,
+ 220,
+ 34,
+ 235,
+ 19,
+ 106,
+ 221,
+ 25,
+ 72,
+ 36,
+ 237,
+ 143,
+ 42,
+ 219,
+ 68,
+ 145,
+ 119,
+ 64,
+ 76,
+ 115,
+ 151,
+ 22
+ ],
+ "nonce": [
+ 115,
+ 241,
+ 108,
+ 5,
+ 78,
+ 22,
+ 102,
+ 150,
+ 223,
+ 103,
+ 154,
+ 46
+ ],
+ "aad": [
+ 35,
+ 25,
+ 154,
+ 28,
+ 155,
+ 114,
+ 68,
+ 145,
+ 57,
+ 82,
+ 202,
+ 79,
+ 126,
+ 116,
+ 68,
+ 244
+ ],
+ "plaintext": [
+ 201,
+ 243,
+ 188,
+ 228,
+ 3,
+ 16,
+ 182,
+ 192,
+ 163,
+ 253,
+ 98,
+ 116,
+ 46,
+ 79,
+ 54,
+ 23
+ ],
+ "ciphertext": [
+ 114,
+ 200,
+ 92,
+ 16,
+ 117,
+ 98,
+ 102,
+ 208,
+ 10,
+ 154,
+ 67,
+ 64,
+ 178,
+ 203,
+ 49,
+ 55
+ ],
+ "tag": [
+ 88,
+ 129,
+ 228,
+ 86,
+ 91,
+ 66,
+ 57,
+ 78,
+ 98,
+ 213,
+ 218,
+ 240,
+ 209,
+ 235,
+ 197,
+ 147
+ ]
+ },
+ {
+ "key": [
+ 66,
+ 90,
+ 52,
+ 28,
+ 103,
+ 230,
+ 216,
+ 115,
+ 135,
+ 15,
+ 84,
+ 226,
+ 204,
+ 90,
+ 41,
+ 132,
+ 199,
+ 52,
+ 232,
+ 23,
+ 41,
+ 192,
+ 219,
+ 170,
+ 238,
+ 224,
+ 80,
+ 48,
+ 159,
+ 28,
+ 230,
+ 116
+ ],
+ "nonce": [
+ 12,
+ 9,
+ 183,
+ 180,
+ 233,
+ 224,
+ 151,
+ 49,
+ 123,
+ 121,
+ 20,
+ 51
+ ],
+ "aad": [
+ 67,
+ 0,
+ 167,
+ 33,
+ 84,
+ 120,
+ 70,
+ 118,
+ 30,
+ 75,
+ 248,
+ 223,
+ 43,
+ 110,
+ 193,
+ 214
+ ],
+ "plaintext": [
+ 118,
+ 221,
+ 166,
+ 68,
+ 179,
+ 250,
+ 202,
+ 80,
+ 155,
+ 55,
+ 222,
+ 240,
+ 49,
+ 159,
+ 48,
+ 204
+ ],
+ "ciphertext": [
+ 29,
+ 216,
+ 13,
+ 170,
+ 15,
+ 201,
+ 228,
+ 126,
+ 67,
+ 137,
+ 124,
+ 100,
+ 166,
+ 102,
+ 63,
+ 94
+ ],
+ "tag": [
+ 93,
+ 105,
+ 179,
+ 77,
+ 140,
+ 59,
+ 18,
+ 247,
+ 131,
+ 250,
+ 174,
+ 167,
+ 233,
+ 54,
+ 133,
+ 219
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 92,
+ 72,
+ 152,
+ 138,
+ 110,
+ 159,
+ 159,
+ 96,
+ 190,
+ 128,
+ 27,
+ 165,
+ 192,
+ 144,
+ 242,
+ 36,
+ 161,
+ 181,
+ 61,
+ 102,
+ 1,
+ 236,
+ 88,
+ 88,
+ 234,
+ 183,
+ 183,
+ 120,
+ 74,
+ 141,
+ 94
+ ],
+ "nonce": [
+ 67,
+ 86,
+ 45,
+ 72,
+ 205,
+ 65,
+ 16,
+ 166,
+ 109,
+ 156,
+ 166,
+ 78
+ ],
+ "aad": [
+ 85,
+ 229,
+ 104,
+ 48,
+ 159,
+ 198,
+ 203,
+ 15,
+ 176,
+ 224,
+ 231,
+ 210,
+ 81,
+ 29,
+ 65,
+ 22
+ ],
+ "plaintext": [
+ 44,
+ 218,
+ 39,
+ 97,
+ 253,
+ 11,
+ 226,
+ 176,
+ 63,
+ 151,
+ 20,
+ 252,
+ 232,
+ 208,
+ 227,
+ 3
+ ],
+ "ciphertext": [
+ 242,
+ 207,
+ 182,
+ 245,
+ 68,
+ 110,
+ 122,
+ 161,
+ 114,
+ 173,
+ 252,
+ 214,
+ 107,
+ 146,
+ 169,
+ 141
+ ],
+ "tag": [
+ 224,
+ 153,
+ 198,
+ 77,
+ 41,
+ 102,
+ 231,
+ 128,
+ 206,
+ 125,
+ 46,
+ 170,
+ 233,
+ 127,
+ 71,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 43,
+ 218,
+ 217,
+ 195,
+ 229,
+ 222,
+ 110,
+ 78,
+ 16,
+ 27,
+ 127,
+ 22,
+ 231,
+ 39,
+ 198,
+ 144,
+ 219,
+ 149,
+ 234,
+ 207,
+ 75,
+ 12,
+ 203,
+ 222,
+ 199,
+ 170,
+ 182,
+ 251,
+ 159,
+ 200,
+ 4,
+ 134
+ ],
+ "nonce": [
+ 165,
+ 207,
+ 57,
+ 103,
+ 210,
+ 68,
+ 7,
+ 77,
+ 33,
+ 83,
+ 197,
+ 118
+ ],
+ "aad": [
+ 107,
+ 218,
+ 231,
+ 43,
+ 94,
+ 208,
+ 228,
+ 209,
+ 241,
+ 0,
+ 100,
+ 235,
+ 208,
+ 44,
+ 248,
+ 92
+ ],
+ "plaintext": [
+ 132,
+ 200,
+ 103,
+ 236,
+ 54,
+ 204,
+ 111,
+ 227,
+ 72,
+ 127,
+ 81,
+ 146,
+ 253,
+ 253,
+ 57,
+ 11
+ ],
+ "ciphertext": [
+ 83,
+ 200,
+ 250,
+ 67,
+ 124,
+ 27,
+ 95,
+ 169,
+ 26,
+ 187,
+ 214,
+ 80,
+ 139,
+ 56,
+ 120,
+ 206
+ ],
+ "tag": [
+ 120,
+ 89,
+ 89,
+ 61,
+ 18,
+ 115,
+ 36,
+ 190,
+ 139,
+ 156,
+ 241,
+ 212,
+ 62,
+ 173,
+ 77,
+ 130
+ ]
+ },
+ {
+ "key": [
+ 1,
+ 233,
+ 42,
+ 253,
+ 181,
+ 217,
+ 86,
+ 190,
+ 18,
+ 211,
+ 139,
+ 9,
+ 37,
+ 41,
+ 102,
+ 197,
+ 114,
+ 141,
+ 38,
+ 243,
+ 199,
+ 46,
+ 84,
+ 187,
+ 98,
+ 187,
+ 197,
+ 90,
+ 229,
+ 144,
+ 231,
+ 22
+ ],
+ "nonce": [
+ 136,
+ 110,
+ 85,
+ 54,
+ 78,
+ 235,
+ 144,
+ 232,
+ 122,
+ 199,
+ 155,
+ 190
+ ],
+ "aad": [
+ 199,
+ 106,
+ 171,
+ 183,
+ 244,
+ 75,
+ 148,
+ 42,
+ 129,
+ 254,
+ 181,
+ 2,
+ 73,
+ 210,
+ 19,
+ 26
+ ],
+ "plaintext": [
+ 108,
+ 101,
+ 112,
+ 56,
+ 95,
+ 61,
+ 109,
+ 147,
+ 126,
+ 84,
+ 163,
+ 162,
+ 233,
+ 91,
+ 201,
+ 235
+ ],
+ "ciphertext": [
+ 66,
+ 59,
+ 116,
+ 154,
+ 80,
+ 127,
+ 67,
+ 123,
+ 67,
+ 17,
+ 20,
+ 150,
+ 33,
+ 128,
+ 211,
+ 82
+ ],
+ "tag": [
+ 84,
+ 216,
+ 89,
+ 50,
+ 10,
+ 73,
+ 40,
+ 19,
+ 104,
+ 41,
+ 125,
+ 167,
+ 212,
+ 227,
+ 115,
+ 38
+ ]
+ },
+ {
+ "key": [
+ 70,
+ 146,
+ 19,
+ 25,
+ 33,
+ 117,
+ 152,
+ 203,
+ 100,
+ 37,
+ 111,
+ 228,
+ 154,
+ 188,
+ 161,
+ 241,
+ 138,
+ 157,
+ 29,
+ 188,
+ 163,
+ 96,
+ 248,
+ 99,
+ 10,
+ 251,
+ 92,
+ 97,
+ 55,
+ 203,
+ 66,
+ 181
+ ],
+ "nonce": [
+ 41,
+ 8,
+ 39,
+ 207,
+ 152,
+ 20,
+ 21,
+ 118,
+ 14,
+ 195,
+ 179,
+ 122
+ ],
+ "aad": [
+ 83,
+ 94,
+ 232,
+ 11,
+ 18,
+ 245,
+ 129,
+ 186,
+ 175,
+ 128,
+ 39,
+ 230,
+ 227,
+ 144,
+ 14,
+ 49
+ ],
+ "plaintext": [
+ 72,
+ 13,
+ 50,
+ 177,
+ 145,
+ 194,
+ 226,
+ 1,
+ 174,
+ 208,
+ 54,
+ 128,
+ 249,
+ 62,
+ 162,
+ 218
+ ],
+ "ciphertext": [
+ 137,
+ 172,
+ 228,
+ 247,
+ 53,
+ 131,
+ 251,
+ 26,
+ 194,
+ 96,
+ 222,
+ 169,
+ 155,
+ 84,
+ 5,
+ 94
+ ],
+ "tag": [
+ 123,
+ 139,
+ 131,
+ 88,
+ 54,
+ 60,
+ 23,
+ 90,
+ 102,
+ 230,
+ 251,
+ 72,
+ 209,
+ 188,
+ 34,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 225,
+ 140,
+ 217,
+ 176,
+ 27,
+ 89,
+ 188,
+ 13,
+ 225,
+ 80,
+ 46,
+ 251,
+ 116,
+ 195,
+ 100,
+ 41,
+ 151,
+ 254,
+ 125,
+ 251,
+ 141,
+ 128,
+ 200,
+ 167,
+ 60,
+ 175,
+ 254,
+ 119,
+ 38,
+ 128,
+ 125,
+ 51
+ ],
+ "nonce": [
+ 189,
+ 8,
+ 123,
+ 56,
+ 76,
+ 64,
+ 132,
+ 27,
+ 56,
+ 57,
+ 186,
+ 2
+ ],
+ "aad": [
+ 254,
+ 105,
+ 248,
+ 55,
+ 150,
+ 27,
+ 29,
+ 131,
+ 242,
+ 127,
+ 191,
+ 104,
+ 230,
+ 121,
+ 26,
+ 28
+ ],
+ "plaintext": [
+ 98,
+ 247,
+ 243,
+ 161,
+ 43,
+ 140,
+ 95,
+ 103,
+ 71,
+ 252,
+ 254,
+ 25,
+ 45,
+ 133,
+ 11,
+ 25
+ ],
+ "ciphertext": [
+ 186,
+ 207,
+ 204,
+ 246,
+ 57,
+ 116,
+ 36,
+ 233,
+ 108,
+ 175,
+ 118,
+ 30,
+ 113,
+ 221,
+ 62,
+ 58
+ ],
+ "tag": [
+ 156,
+ 154,
+ 91,
+ 101,
+ 66,
+ 15,
+ 131,
+ 231,
+ 102,
+ 199,
+ 192,
+ 81,
+ 104,
+ 14,
+ 142,
+ 88
+ ]
+ },
+ {
+ "key": [
+ 104,
+ 238,
+ 70,
+ 59,
+ 49,
+ 83,
+ 217,
+ 160,
+ 66,
+ 229,
+ 227,
+ 104,
+ 93,
+ 239,
+ 111,
+ 144,
+ 247,
+ 101,
+ 154,
+ 32,
+ 52,
+ 65,
+ 222,
+ 51,
+ 127,
+ 185,
+ 72,
+ 49,
+ 203,
+ 234,
+ 233,
+ 178
+ ],
+ "nonce": [
+ 156,
+ 74,
+ 146,
+ 84,
+ 196,
+ 133,
+ 35,
+ 108,
+ 248,
+ 56,
+ 222,
+ 126
+ ],
+ "aad": [
+ 213,
+ 88,
+ 32,
+ 231,
+ 172,
+ 187,
+ 39,
+ 210,
+ 60,
+ 125,
+ 243,
+ 41,
+ 56,
+ 207,
+ 125,
+ 66
+ ],
+ "plaintext": [
+ 115,
+ 115,
+ 16,
+ 84,
+ 81,
+ 79,
+ 63,
+ 176,
+ 16,
+ 44,
+ 122,
+ 29,
+ 248,
+ 9,
+ 242,
+ 18
+ ],
+ "ciphertext": [
+ 19,
+ 183,
+ 130,
+ 60,
+ 172,
+ 55,
+ 244,
+ 14,
+ 184,
+ 17,
+ 227,
+ 201,
+ 102,
+ 209,
+ 106,
+ 103
+ ],
+ "tag": [
+ 118,
+ 40,
+ 140,
+ 51,
+ 166,
+ 111,
+ 246,
+ 69,
+ 30,
+ 44,
+ 236,
+ 108,
+ 75,
+ 164,
+ 147,
+ 94
+ ]
+ },
+ {
+ "key": [
+ 100,
+ 189,
+ 89,
+ 77,
+ 175,
+ 39,
+ 158,
+ 49,
+ 114,
+ 249,
+ 170,
+ 113,
+ 59,
+ 53,
+ 183,
+ 252,
+ 232,
+ 244,
+ 48,
+ 131,
+ 121,
+ 43,
+ 199,
+ 209,
+ 241,
+ 9,
+ 25,
+ 19,
+ 31,
+ 64,
+ 10,
+ 123
+ ],
+ "nonce": [
+ 51,
+ 154,
+ 44,
+ 64,
+ 233,
+ 217,
+ 80,
+ 124,
+ 52,
+ 34,
+ 134,
+ 73
+ ],
+ "aad": [
+ 43,
+ 149,
+ 68,
+ 128,
+ 123,
+ 54,
+ 46,
+ 191,
+ 216,
+ 129,
+ 70,
+ 226,
+ 176,
+ 44,
+ 146,
+ 112
+ ],
+ "plaintext": [
+ 43,
+ 121,
+ 76,
+ 180,
+ 201,
+ 132,
+ 80,
+ 70,
+ 58,
+ 62,
+ 34,
+ 90,
+ 179,
+ 63,
+ 63,
+ 48
+ ],
+ "ciphertext": [
+ 67,
+ 77,
+ 112,
+ 59,
+ 141,
+ 16,
+ 105,
+ 173,
+ 128,
+ 54,
+ 40,
+ 139,
+ 124,
+ 45,
+ 26,
+ 230
+ ],
+ "tag": [
+ 125,
+ 49,
+ 227,
+ 151,
+ 192,
+ 201,
+ 67,
+ 203,
+ 177,
+ 108,
+ 251,
+ 149,
+ 57,
+ 166,
+ 161,
+ 125
+ ]
+ },
+ {
+ "key": [
+ 131,
+ 104,
+ 141,
+ 235,
+ 74,
+ 248,
+ 0,
+ 127,
+ 155,
+ 113,
+ 59,
+ 71,
+ 207,
+ 166,
+ 199,
+ 62,
+ 53,
+ 234,
+ 122,
+ 58,
+ 164,
+ 236,
+ 219,
+ 65,
+ 77,
+ 222,
+ 208,
+ 59,
+ 247,
+ 160,
+ 253,
+ 58
+ ],
+ "nonce": [
+ 11,
+ 69,
+ 151,
+ 36,
+ 144,
+ 78,
+ 1,
+ 10,
+ 70,
+ 144,
+ 28,
+ 243
+ ],
+ "aad": [
+ 121,
+ 74,
+ 20,
+ 204,
+ 209,
+ 120,
+ 200,
+ 235,
+ 253,
+ 19,
+ 121,
+ 220,
+ 112,
+ 76,
+ 94,
+ 32,
+ 143,
+ 157,
+ 132,
+ 36
+ ],
+ "plaintext": [
+ 51,
+ 216,
+ 147,
+ 162,
+ 17,
+ 76,
+ 224,
+ 111,
+ 193,
+ 93,
+ 85,
+ 228,
+ 84,
+ 207,
+ 144,
+ 195
+ ],
+ "ciphertext": [
+ 204,
+ 102,
+ 190,
+ 228,
+ 35,
+ 227,
+ 252,
+ 212,
+ 192,
+ 134,
+ 87,
+ 21,
+ 233,
+ 88,
+ 102,
+ 150
+ ],
+ "tag": [
+ 15,
+ 178,
+ 145,
+ 189,
+ 61,
+ 186,
+ 148,
+ 161,
+ 223,
+ 216,
+ 178,
+ 134,
+ 207,
+ 185,
+ 122,
+ 197
+ ]
+ },
+ {
+ "key": [
+ 1,
+ 63,
+ 84,
+ 154,
+ 249,
+ 236,
+ 194,
+ 238,
+ 2,
+ 89,
+ 213,
+ 252,
+ 35,
+ 17,
+ 5,
+ 156,
+ 182,
+ 241,
+ 15,
+ 108,
+ 214,
+ 206,
+ 211,
+ 181,
+ 67,
+ 186,
+ 190,
+ 116,
+ 56,
+ 168,
+ 130,
+ 81
+ ],
+ "nonce": [
+ 228,
+ 94,
+ 117,
+ 154,
+ 59,
+ 254,
+ 75,
+ 101,
+ 45,
+ 198,
+ 109,
+ 91
+ ],
+ "aad": [
+ 181,
+ 254,
+ 83,
+ 10,
+ 91,
+ 175,
+ 206,
+ 122,
+ 231,
+ 155,
+ 60,
+ 21,
+ 71,
+ 31,
+ 166,
+ 131,
+ 52,
+ 171,
+ 55,
+ 142
+ ],
+ "plaintext": [
+ 121,
+ 73,
+ 13,
+ 77,
+ 35,
+ 59,
+ 165,
+ 148,
+ 236,
+ 225,
+ 20,
+ 46,
+ 49,
+ 10,
+ 152,
+ 87
+ ],
+ "ciphertext": [
+ 97,
+ 148,
+ 67,
+ 3,
+ 78,
+ 68,
+ 55,
+ 184,
+ 147,
+ 164,
+ 90,
+ 76,
+ 137,
+ 250,
+ 216,
+ 81
+ ],
+ "tag": [
+ 109,
+ 168,
+ 169,
+ 145,
+ 182,
+ 144,
+ 255,
+ 106,
+ 68,
+ 32,
+ 135,
+ 163,
+ 86,
+ 248,
+ 233,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 75,
+ 40,
+ 21,
+ 197,
+ 49,
+ 210,
+ 252,
+ 234,
+ 179,
+ 3,
+ 236,
+ 139,
+ 202,
+ 115,
+ 154,
+ 151,
+ 171,
+ 202,
+ 147,
+ 115,
+ 183,
+ 212,
+ 21,
+ 173,
+ 157,
+ 108,
+ 111,
+ 169,
+ 120,
+ 37,
+ 24,
+ 204
+ ],
+ "nonce": [
+ 71,
+ 214,
+ 71,
+ 167,
+ 43,
+ 59,
+ 95,
+ 225,
+ 159,
+ 93,
+ 128,
+ 247
+ ],
+ "aad": [
+ 32,
+ 253,
+ 121,
+ 189,
+ 14,
+ 229,
+ 56,
+ 244,
+ 43,
+ 114,
+ 100,
+ 165,
+ 208,
+ 152,
+ 175,
+ 154,
+ 48,
+ 149,
+ 155,
+ 245
+ ],
+ "plaintext": [
+ 211,
+ 246,
+ 166,
+ 69,
+ 119,
+ 158,
+ 7,
+ 81,
+ 123,
+ 208,
+ 104,
+ 136,
+ 114,
+ 224,
+ 164,
+ 155
+ ],
+ "ciphertext": [
+ 0,
+ 190,
+ 59,
+ 41,
+ 88,
+ 153,
+ 196,
+ 85,
+ 17,
+ 10,
+ 10,
+ 232,
+ 51,
+ 20,
+ 12,
+ 77
+ ],
+ "tag": [
+ 208,
+ 84,
+ 227,
+ 153,
+ 124,
+ 0,
+ 133,
+ 232,
+ 112,
+ 85,
+ 183,
+ 152,
+ 41,
+ 236,
+ 54,
+ 41
+ ]
+ },
+ {
+ "key": [
+ 37,
+ 3,
+ 185,
+ 9,
+ 165,
+ 105,
+ 246,
+ 24,
+ 247,
+ 235,
+ 24,
+ 110,
+ 76,
+ 75,
+ 129,
+ 219,
+ 254,
+ 151,
+ 76,
+ 85,
+ 62,
+ 42,
+ 22,
+ 162,
+ 154,
+ 234,
+ 104,
+ 70,
+ 41,
+ 62,
+ 26,
+ 81
+ ],
+ "nonce": [
+ 228,
+ 250,
+ 61,
+ 193,
+ 49,
+ 169,
+ 16,
+ 199,
+ 95,
+ 97,
+ 163,
+ 139
+ ],
+ "aad": [
+ 248,
+ 14,
+ 223,
+ 155,
+ 81,
+ 248,
+ 253,
+ 102,
+ 245,
+ 124,
+ 233,
+ 175,
+ 89,
+ 103,
+ 236,
+ 2,
+ 130,
+ 69,
+ 235,
+ 110
+ ],
+ "plaintext": [
+ 24,
+ 141,
+ 84,
+ 47,
+ 138,
+ 129,
+ 86,
+ 149,
+ 196,
+ 140,
+ 58,
+ 136,
+ 33,
+ 88,
+ 149,
+ 140
+ ],
+ "ciphertext": [
+ 77,
+ 57,
+ 181,
+ 73,
+ 76,
+ 161,
+ 43,
+ 119,
+ 0,
+ 153,
+ 168,
+ 235,
+ 12,
+ 23,
+ 138,
+ 202
+ ],
+ "tag": [
+ 173,
+ 218,
+ 84,
+ 173,
+ 12,
+ 127,
+ 132,
+ 140,
+ 28,
+ 114,
+ 117,
+ 132,
+ 6,
+ 180,
+ 147,
+ 85
+ ]
+ },
+ {
+ "key": [
+ 108,
+ 143,
+ 52,
+ 241,
+ 69,
+ 105,
+ 246,
+ 37,
+ 170,
+ 215,
+ 178,
+ 50,
+ 245,
+ 159,
+ 168,
+ 177,
+ 135,
+ 171,
+ 36,
+ 250,
+ 220,
+ 219,
+ 175,
+ 125,
+ 142,
+ 180,
+ 93,
+ 168,
+ 249,
+ 20,
+ 230,
+ 115
+ ],
+ "nonce": [
+ 110,
+ 47,
+ 136,
+ 109,
+ 217,
+ 123,
+ 224,
+ 228,
+ 197,
+ 189,
+ 72,
+ 139
+ ],
+ "aad": [
+ 119,
+ 46,
+ 194,
+ 62,
+ 73,
+ 219,
+ 225,
+ 217,
+ 35,
+ 177,
+ 1,
+ 143,
+ 194,
+ 190,
+ 244,
+ 181,
+ 121,
+ 228,
+ 98,
+ 65
+ ],
+ "plaintext": [
+ 172,
+ 138,
+ 167,
+ 28,
+ 251,
+ 241,
+ 233,
+ 104,
+ 239,
+ 85,
+ 21,
+ 83,
+ 21,
+ 118,
+ 227,
+ 20
+ ],
+ "ciphertext": [
+ 203,
+ 12,
+ 231,
+ 3,
+ 69,
+ 233,
+ 80,
+ 180,
+ 41,
+ 231,
+ 16,
+ 196,
+ 125,
+ 156,
+ 141,
+ 155
+ ],
+ "tag": [
+ 157,
+ 206,
+ 234,
+ 152,
+ 196,
+ 56,
+ 177,
+ 217,
+ 193,
+ 84,
+ 229,
+ 56,
+ 97,
+ 128,
+ 150,
+ 109
+ ]
+ },
+ {
+ "key": [
+ 24,
+ 47,
+ 229,
+ 96,
+ 97,
+ 78,
+ 28,
+ 106,
+ 223,
+ 209,
+ 86,
+ 106,
+ 196,
+ 72,
+ 86,
+ 223,
+ 114,
+ 61,
+ 203,
+ 126,
+ 23,
+ 26,
+ 124,
+ 87,
+ 150,
+ 182,
+ 211,
+ 248,
+ 62,
+ 243,
+ 210,
+ 51
+ ],
+ "nonce": [
+ 132,
+ 132,
+ 171,
+ 202,
+ 104,
+ 119,
+ 168,
+ 98,
+ 43,
+ 253,
+ 46,
+ 60
+ ],
+ "aad": [
+ 38,
+ 24,
+ 192,
+ 247,
+ 254,
+ 151,
+ 119,
+ 42,
+ 12,
+ 151,
+ 99,
+ 140,
+ 202,
+ 35,
+ 138,
+ 150,
+ 121,
+ 135,
+ 197,
+ 229
+ ],
+ "plaintext": [
+ 146,
+ 202,
+ 70,
+ 180,
+ 15,
+ 44,
+ 117,
+ 117,
+ 90,
+ 40,
+ 148,
+ 58,
+ 104,
+ 168,
+ 216,
+ 28
+ ],
+ "ciphertext": [
+ 237,
+ 25,
+ 65,
+ 179,
+ 48,
+ 244,
+ 39,
+ 93,
+ 5,
+ 137,
+ 159,
+ 134,
+ 119,
+ 215,
+ 54,
+ 55
+ ],
+ "tag": [
+ 63,
+ 233,
+ 63,
+ 31,
+ 95,
+ 250,
+ 72,
+ 68,
+ 150,
+ 61,
+ 225,
+ 220,
+ 150,
+ 77,
+ 25,
+ 150
+ ]
+ },
+ {
+ "key": [
+ 101,
+ 162,
+ 144,
+ 178,
+ 250,
+ 190,
+ 124,
+ 213,
+ 251,
+ 47,
+ 109,
+ 98,
+ 126,
+ 159,
+ 31,
+ 121,
+ 194,
+ 199,
+ 20,
+ 191,
+ 251,
+ 79,
+ 184,
+ 110,
+ 157,
+ 243,
+ 229,
+ 234,
+ 178,
+ 131,
+ 32,
+ 237
+ ],
+ "nonce": [
+ 90,
+ 94,
+ 212,
+ 213,
+ 89,
+ 42,
+ 24,
+ 159,
+ 7,
+ 55,
+ 207,
+ 71
+ ],
+ "aad": [
+ 173,
+ 28,
+ 127,
+ 122,
+ 127,
+ 183,
+ 248,
+ 254,
+ 244,
+ 129,
+ 156,
+ 29,
+ 209,
+ 166,
+ 126,
+ 0,
+ 124,
+ 153,
+ 168,
+ 123
+ ],
+ "plaintext": [
+ 102,
+ 45,
+ 218,
+ 15,
+ 156,
+ 143,
+ 146,
+ 188,
+ 144,
+ 110,
+ 144,
+ 40,
+ 129,
+ 0,
+ 80,
+ 28
+ ],
+ "ciphertext": [
+ 142,
+ 183,
+ 203,
+ 95,
+ 4,
+ 24,
+ 218,
+ 67,
+ 247,
+ 224,
+ 81,
+ 197,
+ 136,
+ 119,
+ 97,
+ 134
+ ],
+ "tag": [
+ 43,
+ 21,
+ 57,
+ 158,
+ 226,
+ 54,
+ 144,
+ 187,
+ 245,
+ 37,
+ 47,
+ 178,
+ 106,
+ 1,
+ 174,
+ 52
+ ]
+ },
+ {
+ "key": [
+ 123,
+ 114,
+ 13,
+ 49,
+ 205,
+ 98,
+ 150,
+ 109,
+ 212,
+ 208,
+ 2,
+ 201,
+ 234,
+ 65,
+ 188,
+ 252,
+ 65,
+ 158,
+ 109,
+ 40,
+ 93,
+ 250,
+ 176,
+ 2,
+ 59,
+ 162,
+ 27,
+ 52,
+ 231,
+ 84,
+ 203,
+ 47
+ ],
+ "nonce": [
+ 225,
+ 251,
+ 31,
+ 146,
+ 41,
+ 180,
+ 81,
+ 183,
+ 47,
+ 137,
+ 195,
+ 51
+ ],
+ "aad": [
+ 127,
+ 218,
+ 228,
+ 45,
+ 12,
+ 246,
+ 161,
+ 56,
+ 115,
+ 211,
+ 9,
+ 44,
+ 65,
+ 221,
+ 58,
+ 25,
+ 169,
+ 234,
+ 144,
+ 249
+ ],
+ "plaintext": [
+ 26,
+ 162,
+ 148,
+ 142,
+ 216,
+ 4,
+ 242,
+ 78,
+ 93,
+ 120,
+ 59,
+ 27,
+ 201,
+ 89,
+ 224,
+ 134
+ ],
+ "ciphertext": [
+ 134,
+ 49,
+ 211,
+ 198,
+ 182,
+ 100,
+ 120,
+ 102,
+ 184,
+ 104,
+ 66,
+ 27,
+ 106,
+ 58,
+ 84,
+ 138
+ ],
+ "tag": [
+ 163,
+ 31,
+ 235,
+ 190,
+ 22,
+ 157,
+ 141,
+ 111,
+ 57,
+ 26,
+ 94,
+ 96,
+ 239,
+ 98,
+ 67,
+ 160
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 174,
+ 200,
+ 243,
+ 67,
+ 138,
+ 180,
+ 214,
+ 217,
+ 174,
+ 86,
+ 106,
+ 44,
+ 249,
+ 16,
+ 26,
+ 211,
+ 163,
+ 204,
+ 32,
+ 248,
+ 54,
+ 116,
+ 194,
+ 226,
+ 8,
+ 232,
+ 202,
+ 90,
+ 186,
+ 194,
+ 187
+ ],
+ "nonce": [
+ 129,
+ 92,
+ 2,
+ 6,
+ 134,
+ 197,
+ 42,
+ 229,
+ 221,
+ 200,
+ 22,
+ 128
+ ],
+ "aad": [
+ 134,
+ 18,
+ 12,
+ 227,
+ 170,
+ 129,
+ 68,
+ 90,
+ 134,
+ 217,
+ 113,
+ 253,
+ 183,
+ 179,
+ 179,
+ 60,
+ 7,
+ 178,
+ 91,
+ 214
+ ],
+ "plaintext": [
+ 165,
+ 204,
+ 248,
+ 180,
+ 234,
+ 194,
+ 47,
+ 14,
+ 26,
+ 172,
+ 16,
+ 184,
+ 214,
+ 44,
+ 220,
+ 105
+ ],
+ "ciphertext": [
+ 54,
+ 76,
+ 154,
+ 222,
+ 112,
+ 151,
+ 231,
+ 95,
+ 153,
+ 24,
+ 126,
+ 85,
+ 113,
+ 236,
+ 46,
+ 82
+ ],
+ "tag": [
+ 100,
+ 195,
+ 34,
+ 174,
+ 122,
+ 141,
+ 191,
+ 61,
+ 36,
+ 7,
+ 177,
+ 38,
+ 1,
+ 229,
+ 9,
+ 66
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 16,
+ 76,
+ 252,
+ 191,
+ 163,
+ 14,
+ 86,
+ 145,
+ 93,
+ 156,
+ 247,
+ 158,
+ 252,
+ 240,
+ 100,
+ 161,
+ 212,
+ 206,
+ 25,
+ 25,
+ 184,
+ 194,
+ 13,
+ 228,
+ 126,
+ 171,
+ 12,
+ 16,
+ 109,
+ 103,
+ 193
+ ],
+ "nonce": [
+ 209,
+ 165,
+ 236,
+ 121,
+ 53,
+ 151,
+ 116,
+ 92,
+ 122,
+ 49,
+ 182,
+ 5
+ ],
+ "aad": [
+ 153,
+ 49,
+ 103,
+ 132,
+ 48,
+ 255,
+ 58,
+ 167,
+ 101,
+ 184,
+ 113,
+ 183,
+ 3,
+ 223,
+ 204,
+ 67,
+ 251,
+ 27,
+ 133,
+ 148
+ ],
+ "plaintext": [
+ 123,
+ 107,
+ 48,
+ 51,
+ 129,
+ 68,
+ 31,
+ 63,
+ 223,
+ 154,
+ 12,
+ 247,
+ 158,
+ 226,
+ 233,
+ 224
+ ],
+ "ciphertext": [
+ 66,
+ 93,
+ 72,
+ 167,
+ 96,
+ 1,
+ 190,
+ 217,
+ 218,
+ 39,
+ 6,
+ 54,
+ 190,
+ 31,
+ 119,
+ 11
+ ],
+ "tag": [
+ 118,
+ 255,
+ 67,
+ 161,
+ 87,
+ 166,
+ 116,
+ 130,
+ 80,
+ 163,
+ 253,
+ 238,
+ 116,
+ 70,
+ 237,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 244,
+ 97,
+ 209,
+ 183,
+ 90,
+ 114,
+ 217,
+ 66,
+ 170,
+ 9,
+ 99,
+ 132,
+ 220,
+ 32,
+ 207,
+ 133,
+ 20,
+ 169,
+ 173,
+ 154,
+ 151,
+ 32,
+ 102,
+ 10,
+ 221,
+ 63,
+ 49,
+ 130,
+ 132,
+ 202,
+ 48,
+ 20
+ ],
+ "nonce": [
+ 208,
+ 73,
+ 95,
+ 37,
+ 135,
+ 78,
+ 87,
+ 20,
+ 161,
+ 20,
+ 158,
+ 148
+ ],
+ "aad": [
+ 17,
+ 51,
+ 243,
+ 114,
+ 227,
+ 219,
+ 34,
+ 69,
+ 110,
+ 126,
+ 169,
+ 47,
+ 41,
+ 223,
+ 247,
+ 241,
+ 217,
+ 40,
+ 100,
+ 211
+ ],
+ "plaintext": [
+ 217,
+ 228,
+ 185,
+ 103,
+ 253,
+ 202,
+ 140,
+ 139,
+ 174,
+ 131,
+ 138,
+ 93,
+ 169,
+ 93,
+ 124,
+ 206
+ ],
+ "ciphertext": [
+ 29,
+ 247,
+ 17,
+ 230,
+ 251,
+ 203,
+ 162,
+ 43,
+ 5,
+ 100,
+ 198,
+ 227,
+ 96,
+ 81,
+ 163,
+ 247
+ ],
+ "tag": [
+ 240,
+ 86,
+ 59,
+ 116,
+ 148,
+ 213,
+ 21,
+ 146,
+ 137,
+ 182,
+ 68,
+ 175,
+ 196,
+ 232,
+ 227,
+ 151
+ ]
+ },
+ {
+ "key": [
+ 169,
+ 169,
+ 142,
+ 245,
+ 7,
+ 108,
+ 235,
+ 69,
+ 196,
+ 182,
+ 10,
+ 147,
+ 174,
+ 186,
+ 16,
+ 37,
+ 7,
+ 249,
+ 119,
+ 188,
+ 155,
+ 112,
+ 222,
+ 209,
+ 173,
+ 125,
+ 66,
+ 33,
+ 8,
+ 205,
+ 170,
+ 101
+ ],
+ "nonce": [
+ 84,
+ 161,
+ 188,
+ 103,
+ 227,
+ 168,
+ 163,
+ 228,
+ 77,
+ 238,
+ 194,
+ 50
+ ],
+ "aad": [
+ 16,
+ 207,
+ 239,
+ 5,
+ 226,
+ 205,
+ 30,
+ 221,
+ 48,
+ 219,
+ 92,
+ 2,
+ 139,
+ 217,
+ 54,
+ 160,
+ 61,
+ 240,
+ 59,
+ 220
+ ],
+ "plaintext": [
+ 237,
+ 233,
+ 61,
+ 209,
+ 234,
+ 167,
+ 201,
+ 133,
+ 154,
+ 15,
+ 112,
+ 159,
+ 134,
+ 164,
+ 135,
+ 118
+ ],
+ "ciphertext": [
+ 61,
+ 59,
+ 97,
+ 245,
+ 83,
+ 171,
+ 89,
+ 169,
+ 240,
+ 147,
+ 202,
+ 196,
+ 90,
+ 250,
+ 90,
+ 192
+ ],
+ "tag": [
+ 120,
+ 20,
+ 207,
+ 200,
+ 115,
+ 179,
+ 57,
+ 141,
+ 153,
+ 125,
+ 139,
+ 179,
+ 142,
+ 173,
+ 88,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 217,
+ 225,
+ 124,
+ 152,
+ 130,
+ 96,
+ 13,
+ 212,
+ 210,
+ 237,
+ 190,
+ 174,
+ 154,
+ 34,
+ 77,
+ 133,
+ 136,
+ 255,
+ 90,
+ 162,
+ 16,
+ 189,
+ 144,
+ 45,
+ 16,
+ 128,
+ 166,
+ 145,
+ 16,
+ 16,
+ 197,
+ 197
+ ],
+ "nonce": [
+ 129,
+ 127,
+ 53,
+ 1,
+ 233,
+ 119,
+ 164,
+ 90,
+ 158,
+ 17,
+ 15,
+ 212
+ ],
+ "aad": [
+ 210,
+ 22,
+ 40,
+ 72,
+ 17,
+ 50,
+ 27,
+ 117,
+ 145,
+ 82,
+ 143,
+ 10,
+ 245,
+ 163,
+ 242,
+ 118,
+ 132,
+ 41,
+ 228,
+ 232
+ ],
+ "plaintext": [
+ 215,
+ 77,
+ 150,
+ 142,
+ 168,
+ 1,
+ 33,
+ 174,
+ 160,
+ 215,
+ 162,
+ 164,
+ 92,
+ 213,
+ 56,
+ 140
+ ],
+ "ciphertext": [
+ 21,
+ 135,
+ 200,
+ 176,
+ 14,
+ 44,
+ 25,
+ 127,
+ 50,
+ 162,
+ 16,
+ 25,
+ 254,
+ 238,
+ 233,
+ 154
+ ],
+ "tag": [
+ 99,
+ 234,
+ 67,
+ 192,
+ 61,
+ 0,
+ 248,
+ 174,
+ 87,
+ 36,
+ 88,
+ 156,
+ 182,
+ 246,
+ 68,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 236,
+ 37,
+ 27,
+ 69,
+ 203,
+ 112,
+ 37,
+ 152,
+ 70,
+ 219,
+ 83,
+ 10,
+ 255,
+ 17,
+ 182,
+ 59,
+ 224,
+ 10,
+ 149,
+ 24,
+ 39,
+ 2,
+ 14,
+ 157,
+ 116,
+ 102,
+ 89,
+ 190,
+ 242,
+ 177,
+ 253,
+ 111
+ ],
+ "nonce": [
+ 228,
+ 22,
+ 82,
+ 229,
+ 123,
+ 98,
+ 74,
+ 189,
+ 132,
+ 254,
+ 23,
+ 58
+ ],
+ "aad": [
+ 146,
+ 221,
+ 43,
+ 0,
+ 185,
+ 220,
+ 108,
+ 97,
+ 48,
+ 17,
+ 229,
+ 222,
+ 228,
+ 119,
+ 225,
+ 10,
+ 110,
+ 82,
+ 56,
+ 156
+ ],
+ "plaintext": [
+ 117,
+ 2,
+ 63,
+ 81,
+ 186,
+ 129,
+ 182,
+ 128,
+ 180,
+ 78,
+ 163,
+ 82,
+ 196,
+ 63,
+ 112,
+ 12
+ ],
+ "ciphertext": [
+ 41,
+ 39,
+ 69,
+ 153,
+ 169,
+ 93,
+ 99,
+ 240,
+ 84,
+ 174,
+ 12,
+ 155,
+ 157,
+ 243,
+ 230,
+ 141
+ ],
+ "tag": [
+ 235,
+ 25,
+ 152,
+ 59,
+ 159,
+ 144,
+ 160,
+ 233,
+ 245,
+ 86,
+ 33,
+ 61,
+ 124,
+ 77,
+ 240,
+ 249
+ ]
+ },
+ {
+ "key": [
+ 97,
+ 247,
+ 31,
+ 219,
+ 226,
+ 159,
+ 86,
+ 187,
+ 15,
+ 223,
+ 138,
+ 157,
+ 168,
+ 12,
+ 239,
+ 105,
+ 92,
+ 150,
+ 154,
+ 39,
+ 118,
+ 168,
+ 142,
+ 98,
+ 203,
+ 61,
+ 57,
+ 252,
+ 164,
+ 123,
+ 24,
+ 227
+ ],
+ "nonce": [
+ 119,
+ 241,
+ 215,
+ 90,
+ 176,
+ 227,
+ 160,
+ 237,
+ 155,
+ 242,
+ 185,
+ 129
+ ],
+ "aad": [
+ 200,
+ 130,
+ 105,
+ 24,
+ 17,
+ 211,
+ 222,
+ 108,
+ 146,
+ 125,
+ 28,
+ 159,
+ 42,
+ 15,
+ 21,
+ 247,
+ 130,
+ 213,
+ 92,
+ 33
+ ],
+ "plaintext": [
+ 17,
+ 10,
+ 92,
+ 9,
+ 112,
+ 52,
+ 130,
+ 239,
+ 19,
+ 67,
+ 57,
+ 109,
+ 12,
+ 56,
+ 82,
+ 211
+ ],
+ "ciphertext": [
+ 126,
+ 157,
+ 170,
+ 73,
+ 131,
+ 40,
+ 63,
+ 172,
+ 210,
+ 154,
+ 147,
+ 3,
+ 126,
+ 183,
+ 11,
+ 176
+ ],
+ "tag": [
+ 36,
+ 73,
+ 48,
+ 150,
+ 89,
+ 19,
+ 235,
+ 224,
+ 250,
+ 122,
+ 14,
+ 181,
+ 71,
+ 177,
+ 89,
+ 251
+ ]
+ },
+ {
+ "key": [
+ 228,
+ 254,
+ 211,
+ 57,
+ 199,
+ 176,
+ 205,
+ 38,
+ 115,
+ 5,
+ 209,
+ 26,
+ 176,
+ 213,
+ 195,
+ 39,
+ 54,
+ 50,
+ 232,
+ 135,
+ 45,
+ 53,
+ 189,
+ 195,
+ 103,
+ 161,
+ 54,
+ 52,
+ 56,
+ 35,
+ 154,
+ 53
+ ],
+ "nonce": [
+ 3,
+ 101,
+ 136,
+ 44,
+ 247,
+ 84,
+ 50,
+ 207,
+ 210,
+ 60,
+ 189,
+ 66
+ ],
+ "aad": [
+ 138,
+ 151,
+ 210,
+ 175,
+ 93,
+ 65,
+ 22,
+ 10,
+ 194,
+ 255,
+ 125,
+ 216,
+ 186,
+ 9,
+ 142,
+ 122,
+ 164,
+ 214,
+ 24,
+ 240,
+ 244,
+ 85,
+ 149,
+ 125,
+ 106,
+ 109,
+ 8,
+ 1,
+ 121,
+ 103,
+ 71,
+ 186,
+ 87,
+ 195,
+ 45,
+ 251,
+ 170,
+ 175,
+ 21,
+ 23,
+ 101,
+ 40,
+ 254,
+ 58,
+ 14,
+ 69,
+ 80,
+ 201
+ ],
+ "plaintext": [
+ 255,
+ 243,
+ 154,
+ 8,
+ 125,
+ 227,
+ 154,
+ 3,
+ 145,
+ 159,
+ 189,
+ 47,
+ 47,
+ 165,
+ 245,
+ 19
+ ],
+ "ciphertext": [
+ 141,
+ 158,
+ 104,
+ 240,
+ 63,
+ 126,
+ 95,
+ 74,
+ 15,
+ 250,
+ 167,
+ 101,
+ 13,
+ 2,
+ 109,
+ 8
+ ],
+ "tag": [
+ 53,
+ 84,
+ 84,
+ 44,
+ 71,
+ 140,
+ 6,
+ 53,
+ 40,
+ 90,
+ 97,
+ 209,
+ 181,
+ 31,
+ 106,
+ 250
+ ]
+ },
+ {
+ "key": [
+ 189,
+ 147,
+ 199,
+ 191,
+ 200,
+ 80,
+ 179,
+ 60,
+ 134,
+ 72,
+ 78,
+ 4,
+ 133,
+ 158,
+ 211,
+ 116,
+ 190,
+ 174,
+ 233,
+ 214,
+ 19,
+ 189,
+ 202,
+ 111,
+ 7,
+ 45,
+ 29,
+ 24,
+ 42,
+ 238,
+ 189,
+ 4
+ ],
+ "nonce": [
+ 100,
+ 20,
+ 199,
+ 116,
+ 158,
+ 255,
+ 185,
+ 175,
+ 126,
+ 92,
+ 71,
+ 98
+ ],
+ "aad": [
+ 118,
+ 244,
+ 61,
+ 86,
+ 100,
+ 199,
+ 172,
+ 27,
+ 77,
+ 228,
+ 63,
+ 46,
+ 44,
+ 75,
+ 199,
+ 31,
+ 105,
+ 24,
+ 224,
+ 118,
+ 47,
+ 64,
+ 229,
+ 221,
+ 85,
+ 151,
+ 239,
+ 79,
+ 242,
+ 21,
+ 133,
+ 90,
+ 79,
+ 210,
+ 109,
+ 62,
+ 166,
+ 204,
+ 189,
+ 78,
+ 16,
+ 120,
+ 153,
+ 72,
+ 250,
+ 105,
+ 36,
+ 51
+ ],
+ "plaintext": [
+ 182,
+ 222,
+ 22,
+ 153,
+ 147,
+ 31,
+ 34,
+ 82,
+ 239,
+ 201,
+ 141,
+ 73,
+ 29,
+ 34,
+ 238,
+ 18
+ ],
+ "ciphertext": [
+ 166,
+ 199,
+ 229,
+ 47,
+ 32,
+ 24,
+ 184,
+ 35,
+ 80,
+ 110,
+ 72,
+ 6,
+ 79,
+ 254,
+ 110,
+ 228
+ ],
+ "tag": [
+ 23,
+ 94,
+ 101,
+ 60,
+ 144,
+ 54,
+ 246,
+ 104,
+ 53,
+ 241,
+ 12,
+ 241,
+ 200,
+ 45,
+ 23,
+ 65
+ ]
+ },
+ {
+ "key": [
+ 223,
+ 1,
+ 37,
+ 168,
+ 38,
+ 199,
+ 254,
+ 73,
+ 36,
+ 61,
+ 137,
+ 203,
+ 221,
+ 117,
+ 98,
+ 170,
+ 253,
+ 33,
+ 3,
+ 250,
+ 39,
+ 131,
+ 207,
+ 144,
+ 25,
+ 118,
+ 181,
+ 245,
+ 212,
+ 129,
+ 205,
+ 203
+ ],
+ "nonce": [
+ 246,
+ 60,
+ 20,
+ 97,
+ 178,
+ 150,
+ 73,
+ 41,
+ 208,
+ 53,
+ 217,
+ 191
+ ],
+ "aad": [
+ 11,
+ 246,
+ 2,
+ 236,
+ 71,
+ 89,
+ 62,
+ 68,
+ 172,
+ 27,
+ 136,
+ 36,
+ 68,
+ 85,
+ 250,
+ 4,
+ 53,
+ 158,
+ 51,
+ 128,
+ 87,
+ 176,
+ 160,
+ 186,
+ 5,
+ 124,
+ 181,
+ 6,
+ 213,
+ 70,
+ 212,
+ 214,
+ 216,
+ 83,
+ 134,
+ 64,
+ 254,
+ 125,
+ 211,
+ 213,
+ 134,
+ 75,
+ 211,
+ 59,
+ 90,
+ 51,
+ 215,
+ 104
+ ],
+ "plaintext": [
+ 204,
+ 39,
+ 255,
+ 104,
+ 249,
+ 129,
+ 228,
+ 214,
+ 251,
+ 25,
+ 24,
+ 66,
+ 124,
+ 61,
+ 107,
+ 158
+ ],
+ "ciphertext": [
+ 184,
+ 250,
+ 21,
+ 10,
+ 249,
+ 48,
+ 120,
+ 87,
+ 74,
+ 199,
+ 196,
+ 97,
+ 95,
+ 136,
+ 100,
+ 125
+ ],
+ "tag": [
+ 69,
+ 132,
+ 85,
+ 58,
+ 195,
+ 204,
+ 223,
+ 139,
+ 14,
+ 250,
+ 229,
+ 23,
+ 101,
+ 45,
+ 58,
+ 24
+ ]
+ },
+ {
+ "key": [
+ 211,
+ 62,
+ 163,
+ 32,
+ 206,
+ 192,
+ 228,
+ 61,
+ 252,
+ 30,
+ 61,
+ 29,
+ 140,
+ 204,
+ 162,
+ 221,
+ 126,
+ 48,
+ 173,
+ 62,
+ 161,
+ 138,
+ 215,
+ 20,
+ 28,
+ 200,
+ 54,
+ 69,
+ 209,
+ 135,
+ 113,
+ 174
+ ],
+ "nonce": [
+ 84,
+ 0,
+ 9,
+ 243,
+ 33,
+ 244,
+ 29,
+ 0,
+ 32,
+ 46,
+ 71,
+ 59
+ ],
+ "aad": [
+ 164,
+ 17,
+ 98,
+ 225,
+ 254,
+ 135,
+ 90,
+ 129,
+ 251,
+ 181,
+ 102,
+ 127,
+ 115,
+ 197,
+ 212,
+ 203,
+ 187,
+ 156,
+ 57,
+ 86,
+ 0,
+ 47,
+ 120,
+ 103,
+ 4,
+ 126,
+ 222,
+ 193,
+ 91,
+ 220,
+ 172,
+ 18,
+ 6,
+ 229,
+ 25,
+ 238,
+ 156,
+ 35,
+ 140,
+ 55,
+ 26,
+ 56,
+ 164,
+ 133,
+ 199,
+ 16,
+ 218,
+ 96
+ ],
+ "plaintext": [
+ 229,
+ 108,
+ 221,
+ 82,
+ 45,
+ 82,
+ 109,
+ 141,
+ 12,
+ 209,
+ 129,
+ 49,
+ 161,
+ 158,
+ 228,
+ 253
+ ],
+ "ciphertext": [
+ 139,
+ 98,
+ 75,
+ 111,
+ 84,
+ 131,
+ 244,
+ 47,
+ 54,
+ 200,
+ 93,
+ 199,
+ 207,
+ 62,
+ 150,
+ 9
+ ],
+ "tag": [
+ 38,
+ 81,
+ 233,
+ 120,
+ 217,
+ 234,
+ 166,
+ 197,
+ 244,
+ 219,
+ 82,
+ 57,
+ 26,
+ 201,
+ 188,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 127,
+ 53,
+ 245,
+ 151,
+ 155,
+ 35,
+ 50,
+ 30,
+ 100,
+ 73,
+ 240,
+ 245,
+ 239,
+ 153,
+ 242,
+ 231,
+ 183,
+ 150,
+ 213,
+ 45,
+ 86,
+ 12,
+ 199,
+ 122,
+ 171,
+ 251,
+ 98,
+ 29,
+ 191,
+ 58,
+ 101,
+ 48
+ ],
+ "nonce": [
+ 207,
+ 15,
+ 111,
+ 62,
+ 237,
+ 76,
+ 243,
+ 116,
+ 218,
+ 113,
+ 76,
+ 119
+ ],
+ "aad": [
+ 166,
+ 118,
+ 211,
+ 93,
+ 147,
+ 225,
+ 43,
+ 254,
+ 6,
+ 3,
+ 246,
+ 174,
+ 242,
+ 195,
+ 221,
+ 137,
+ 42,
+ 155,
+ 26,
+ 210,
+ 45,
+ 71,
+ 108,
+ 53,
+ 9,
+ 211,
+ 19,
+ 37,
+ 109,
+ 78,
+ 152,
+ 228,
+ 221,
+ 164,
+ 228,
+ 110,
+ 147,
+ 181,
+ 76,
+ 245,
+ 156,
+ 43,
+ 144,
+ 96,
+ 138,
+ 143,
+ 179,
+ 173
+ ],
+ "plaintext": [
+ 78,
+ 159,
+ 83,
+ 175,
+ 253,
+ 181,
+ 177,
+ 233,
+ 27,
+ 244,
+ 35,
+ 210,
+ 156,
+ 84,
+ 64,
+ 26
+ ],
+ "ciphertext": [
+ 23,
+ 20,
+ 213,
+ 94,
+ 248,
+ 61,
+ 242,
+ 146,
+ 126,
+ 233,
+ 95,
+ 242,
+ 47,
+ 29,
+ 144,
+ 230
+ ],
+ "tag": [
+ 73,
+ 98,
+ 169,
+ 29,
+ 16,
+ 113,
+ 221,
+ 44,
+ 5,
+ 147,
+ 73,
+ 104,
+ 210,
+ 30,
+ 180,
+ 60
+ ]
+ },
+ {
+ "key": [
+ 6,
+ 236,
+ 193,
+ 52,
+ 153,
+ 53,
+ 6,
+ 207,
+ 83,
+ 155,
+ 30,
+ 121,
+ 122,
+ 81,
+ 159,
+ 225,
+ 217,
+ 243,
+ 67,
+ 33,
+ 254,
+ 106,
+ 11,
+ 5,
+ 241,
+ 147,
+ 98,
+ 133,
+ 195,
+ 92,
+ 147,
+ 164
+ ],
+ "nonce": [
+ 242,
+ 25,
+ 8,
+ 97,
+ 209,
+ 20,
+ 11,
+ 208,
+ 128,
+ 215,
+ 153,
+ 6
+ ],
+ "aad": [
+ 160,
+ 79,
+ 39,
+ 35,
+ 194,
+ 82,
+ 17,
+ 129,
+ 67,
+ 122,
+ 214,
+ 63,
+ 121,
+ 16,
+ 72,
+ 29,
+ 93,
+ 233,
+ 143,
+ 62,
+ 37,
+ 97,
+ 206,
+ 195,
+ 161,
+ 119,
+ 189,
+ 188,
+ 181,
+ 4,
+ 134,
+ 25,
+ 115,
+ 136,
+ 82,
+ 224,
+ 251,
+ 33,
+ 42,
+ 60,
+ 170,
+ 116,
+ 26,
+ 53,
+ 62,
+ 78,
+ 137,
+ 168
+ ],
+ "plaintext": [
+ 81,
+ 156,
+ 31,
+ 196,
+ 90,
+ 98,
+ 142,
+ 193,
+ 108,
+ 81,
+ 84,
+ 39,
+ 121,
+ 103,
+ 17,
+ 247
+ ],
+ "ciphertext": [
+ 179,
+ 108,
+ 121,
+ 50,
+ 36,
+ 206,
+ 59,
+ 177,
+ 181,
+ 65,
+ 68,
+ 57,
+ 143,
+ 189,
+ 237,
+ 182
+ ],
+ "tag": [
+ 0,
+ 48,
+ 230,
+ 232,
+ 79,
+ 111,
+ 142,
+ 180,
+ 116,
+ 206,
+ 142,
+ 7,
+ 28,
+ 41,
+ 83,
+ 221
+ ]
+ },
+ {
+ "key": [
+ 115,
+ 79,
+ 168,
+ 180,
+ 35,
+ 185,
+ 30,
+ 14,
+ 204,
+ 204,
+ 127,
+ 85,
+ 68,
+ 128,
+ 238,
+ 245,
+ 122,
+ 130,
+ 66,
+ 58,
+ 159,
+ 146,
+ 178,
+ 141,
+ 70,
+ 67,
+ 32,
+ 251,
+ 164,
+ 5,
+ 167,
+ 28
+ ],
+ "nonce": [
+ 166,
+ 181,
+ 199,
+ 139,
+ 181,
+ 121,
+ 31,
+ 77,
+ 18,
+ 19,
+ 144,
+ 206
+ ],
+ "aad": [
+ 156,
+ 226,
+ 95,
+ 249,
+ 181,
+ 93,
+ 250,
+ 4,
+ 228,
+ 39,
+ 25,
+ 153,
+ 164,
+ 124,
+ 186,
+ 138,
+ 248,
+ 232,
+ 58,
+ 57,
+ 11,
+ 9,
+ 13,
+ 28,
+ 67,
+ 6,
+ 180,
+ 12,
+ 232,
+ 136,
+ 38,
+ 36,
+ 182,
+ 98,
+ 255,
+ 88,
+ 103,
+ 137,
+ 99,
+ 150,
+ 120,
+ 146,
+ 149,
+ 193,
+ 158,
+ 200,
+ 13,
+ 7
+ ],
+ "plaintext": [
+ 180,
+ 150,
+ 169,
+ 155,
+ 57,
+ 224,
+ 233,
+ 75,
+ 181,
+ 130,
+ 156,
+ 252,
+ 61,
+ 123,
+ 56,
+ 86
+ ],
+ "ciphertext": [
+ 144,
+ 64,
+ 129,
+ 164,
+ 4,
+ 132,
+ 187,
+ 100,
+ 84,
+ 252,
+ 82,
+ 203,
+ 102,
+ 116,
+ 231,
+ 55
+ ],
+ "tag": [
+ 106,
+ 7,
+ 135,
+ 207,
+ 57,
+ 33,
+ 167,
+ 28,
+ 53,
+ 181,
+ 5,
+ 73,
+ 84,
+ 82,
+ 120,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 209,
+ 6,
+ 40,
+ 11,
+ 132,
+ 242,
+ 91,
+ 41,
+ 79,
+ 113,
+ 194,
+ 97,
+ 246,
+ 106,
+ 101,
+ 194,
+ 239,
+ 217,
+ 104,
+ 14,
+ 25,
+ 245,
+ 3,
+ 22,
+ 210,
+ 55,
+ 151,
+ 80,
+ 82,
+ 121,
+ 99,
+ 146
+ ],
+ "nonce": [
+ 207,
+ 198,
+ 170,
+ 42,
+ 235,
+ 164,
+ 104,
+ 198,
+ 107,
+ 244,
+ 85,
+ 63
+ ],
+ "aad": [
+ 1,
+ 42,
+ 67,
+ 249,
+ 144,
+ 58,
+ 56,
+ 8,
+ 191,
+ 52,
+ 253,
+ 111,
+ 119,
+ 216,
+ 49,
+ 217,
+ 21,
+ 66,
+ 5,
+ 222,
+ 213,
+ 137,
+ 150,
+ 76,
+ 174,
+ 96,
+ 210,
+ 228,
+ 156,
+ 133,
+ 107,
+ 122,
+ 65,
+ 0,
+ 165,
+ 92,
+ 140,
+ 208,
+ 47,
+ 94,
+ 71,
+ 111,
+ 98,
+ 233,
+ 136,
+ 220,
+ 189,
+ 43
+ ],
+ "plaintext": [
+ 87,
+ 233,
+ 55,
+ 248,
+ 185,
+ 184,
+ 20,
+ 233,
+ 101,
+ 187,
+ 86,
+ 159,
+ 207,
+ 99,
+ 170,
+ 172
+ ],
+ "ciphertext": [
+ 200,
+ 53,
+ 245,
+ 212,
+ 253,
+ 48,
+ 254,
+ 155,
+ 46,
+ 219,
+ 74,
+ 255,
+ 36,
+ 128,
+ 60,
+ 96
+ ],
+ "tag": [
+ 232,
+ 132,
+ 38,
+ 187,
+ 70,
+ 25,
+ 128,
+ 127,
+ 24,
+ 169,
+ 204,
+ 152,
+ 57,
+ 117,
+ 71,
+ 119
+ ]
+ },
+ {
+ "key": [
+ 129,
+ 235,
+ 99,
+ 188,
+ 71,
+ 171,
+ 163,
+ 19,
+ 217,
+ 100,
+ 165,
+ 51,
+ 92,
+ 251,
+ 3,
+ 144,
+ 81,
+ 82,
+ 11,
+ 49,
+ 18,
+ 250,
+ 84,
+ 202,
+ 179,
+ 104,
+ 229,
+ 36,
+ 57,
+ 71,
+ 212,
+ 80
+ ],
+ "nonce": [
+ 24,
+ 204,
+ 93,
+ 216,
+ 117,
+ 117,
+ 63,
+ 245,
+ 28,
+ 198,
+ 244,
+ 65
+ ],
+ "aad": [
+ 36,
+ 247,
+ 102,
+ 197,
+ 103,
+ 119,
+ 49,
+ 36,
+ 148,
+ 36,
+ 90,
+ 78,
+ 108,
+ 125,
+ 190,
+ 187,
+ 174,
+ 64,
+ 38,
+ 224,
+ 144,
+ 126,
+ 173,
+ 188,
+ 32,
+ 164,
+ 136,
+ 152,
+ 38,
+ 120,
+ 22,
+ 29,
+ 231,
+ 185,
+ 36,
+ 71,
+ 60,
+ 10,
+ 129,
+ 238,
+ 89,
+ 160,
+ 250,
+ 105,
+ 5,
+ 149,
+ 43,
+ 51
+ ],
+ "plaintext": [
+ 69,
+ 245,
+ 19,
+ 153,
+ 223,
+ 246,
+ 160,
+ 220,
+ 212,
+ 63,
+ 53,
+ 37,
+ 102,
+ 22,
+ 214,
+ 190
+ ],
+ "ciphertext": [
+ 162,
+ 252,
+ 123,
+ 7,
+ 132,
+ 236,
+ 66,
+ 51,
+ 20,
+ 47,
+ 156,
+ 222,
+ 18,
+ 171,
+ 158,
+ 152
+ ],
+ "tag": [
+ 78,
+ 96,
+ 184,
+ 86,
+ 28,
+ 172,
+ 254,
+ 113,
+ 51,
+ 116,
+ 12,
+ 210,
+ 189,
+ 222,
+ 250,
+ 160
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 153,
+ 120,
+ 99,
+ 120,
+ 106,
+ 78,
+ 151,
+ 51,
+ 34,
+ 36,
+ 237,
+ 72,
+ 79,
+ 252,
+ 165,
+ 8,
+ 177,
+ 102,
+ 240,
+ 96,
+ 54,
+ 135,
+ 32,
+ 13,
+ 153,
+ 253,
+ 106,
+ 204,
+ 212,
+ 93,
+ 131
+ ],
+ "nonce": [
+ 122,
+ 154,
+ 202,
+ 189,
+ 75,
+ 141,
+ 62,
+ 16,
+ 54,
+ 41,
+ 58,
+ 7
+ ],
+ "aad": [
+ 82,
+ 95,
+ 197,
+ 172,
+ 127,
+ 233,
+ 60,
+ 24,
+ 58,
+ 62,
+ 247,
+ 199,
+ 94,
+ 63,
+ 189,
+ 82,
+ 220,
+ 233,
+ 86,
+ 133,
+ 90,
+ 255,
+ 56,
+ 89,
+ 102,
+ 244,
+ 215,
+ 153,
+ 102,
+ 189,
+ 179,
+ 236,
+ 32,
+ 25,
+ 196,
+ 102,
+ 88,
+ 77,
+ 33,
+ 191,
+ 238,
+ 116,
+ 81,
+ 26,
+ 119,
+ 216,
+ 42,
+ 219
+ ],
+ "plaintext": [
+ 157,
+ 44,
+ 159,
+ 243,
+ 159,
+ 87,
+ 201,
+ 110,
+ 204,
+ 226,
+ 135,
+ 198,
+ 140,
+ 92,
+ 214,
+ 235
+ ],
+ "ciphertext": [
+ 35,
+ 132,
+ 65,
+ 198,
+ 91,
+ 42,
+ 28,
+ 65,
+ 179,
+ 2,
+ 218,
+ 15,
+ 82,
+ 212,
+ 7,
+ 112
+ ],
+ "tag": [
+ 195,
+ 81,
+ 217,
+ 58,
+ 185,
+ 73,
+ 28,
+ 223,
+ 183,
+ 250,
+ 21,
+ 231,
+ 162,
+ 81,
+ 222,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 172,
+ 191,
+ 235,
+ 124,
+ 89,
+ 91,
+ 112,
+ 73,
+ 96,
+ 193,
+ 9,
+ 126,
+ 147,
+ 211,
+ 144,
+ 101,
+ 52,
+ 194,
+ 52,
+ 68,
+ 200,
+ 172,
+ 193,
+ 248,
+ 233,
+ 105,
+ 206,
+ 108,
+ 63,
+ 232,
+ 164,
+ 107
+ ],
+ "nonce": [
+ 40,
+ 146,
+ 46,
+ 202,
+ 195,
+ 1,
+ 56,
+ 6,
+ 193,
+ 22,
+ 96,
+ 230
+ ],
+ "aad": [
+ 177,
+ 254,
+ 136,
+ 97,
+ 7,
+ 1,
+ 62,
+ 189,
+ 235,
+ 25,
+ 49,
+ 90,
+ 157,
+ 9,
+ 110,
+ 216,
+ 24,
+ 3,
+ 149,
+ 26,
+ 80,
+ 143,
+ 86,
+ 246,
+ 130,
+ 2,
+ 167,
+ 223,
+ 0,
+ 190,
+ 186,
+ 224,
+ 116,
+ 45,
+ 209,
+ 18,
+ 140,
+ 32,
+ 9,
+ 82,
+ 160,
+ 73,
+ 239,
+ 12,
+ 215,
+ 207,
+ 228,
+ 230
+ ],
+ "plaintext": [
+ 224,
+ 216,
+ 197,
+ 45,
+ 96,
+ 198,
+ 237,
+ 105,
+ 128,
+ 171,
+ 212,
+ 52,
+ 143,
+ 63,
+ 150,
+ 241
+ ],
+ "ciphertext": [
+ 86,
+ 254,
+ 28,
+ 242,
+ 193,
+ 209,
+ 147,
+ 185,
+ 179,
+ 59,
+ 173,
+ 191,
+ 132,
+ 111,
+ 82,
+ 204
+ ],
+ "tag": [
+ 28,
+ 180,
+ 193,
+ 79,
+ 80,
+ 165,
+ 74,
+ 100,
+ 129,
+ 63,
+ 252,
+ 129,
+ 15,
+ 49,
+ 249,
+ 248
+ ]
+ },
+ {
+ "key": [
+ 246,
+ 231,
+ 104,
+ 71,
+ 92,
+ 51,
+ 38,
+ 149,
+ 150,
+ 218,
+ 31,
+ 90,
+ 90,
+ 56,
+ 84,
+ 122,
+ 136,
+ 80,
+ 6,
+ 190,
+ 187,
+ 145,
+ 52,
+ 226,
+ 18,
+ 116,
+ 216,
+ 69,
+ 110,
+ 159,
+ 85,
+ 41
+ ],
+ "nonce": [
+ 53,
+ 121,
+ 229,
+ 172,
+ 81,
+ 209,
+ 241,
+ 184,
+ 46,
+ 163,
+ 82,
+ 202
+ ],
+ "aad": [
+ 105,
+ 41,
+ 182,
+ 5,
+ 59,
+ 161,
+ 72,
+ 48,
+ 67,
+ 102,
+ 22,
+ 79,
+ 121,
+ 177,
+ 185,
+ 245,
+ 146,
+ 201,
+ 203,
+ 155,
+ 206,
+ 101,
+ 9,
+ 76,
+ 236,
+ 92,
+ 184,
+ 176,
+ 252,
+ 99,
+ 226,
+ 13,
+ 134,
+ 177,
+ 124,
+ 139,
+ 245,
+ 167,
+ 176,
+ 137,
+ 166,
+ 60,
+ 94,
+ 172,
+ 24,
+ 36,
+ 238,
+ 147
+ ],
+ "plaintext": [
+ 10,
+ 164,
+ 129,
+ 248,
+ 86,
+ 248,
+ 185,
+ 101,
+ 71,
+ 103,
+ 46,
+ 90,
+ 229,
+ 55,
+ 15,
+ 158
+ ],
+ "ciphertext": [
+ 178,
+ 244,
+ 237,
+ 245,
+ 240,
+ 176,
+ 191,
+ 197,
+ 144,
+ 254,
+ 173,
+ 98,
+ 57,
+ 176,
+ 242,
+ 251
+ ],
+ "tag": [
+ 37,
+ 64,
+ 206,
+ 181,
+ 239,
+ 36,
+ 124,
+ 149,
+ 214,
+ 61,
+ 248,
+ 76,
+ 70,
+ 70,
+ 133,
+ 51
+ ]
+ },
+ {
+ "key": [
+ 44,
+ 167,
+ 97,
+ 18,
+ 48,
+ 11,
+ 237,
+ 101,
+ 184,
+ 123,
+ 166,
+ 236,
+ 136,
+ 124,
+ 213,
+ 20,
+ 244,
+ 99,
+ 60,
+ 28,
+ 150,
+ 86,
+ 95,
+ 236,
+ 142,
+ 62,
+ 105,
+ 174,
+ 43,
+ 168,
+ 132,
+ 1
+ ],
+ "nonce": [
+ 150,
+ 72,
+ 100,
+ 81,
+ 10,
+ 140,
+ 149,
+ 125,
+ 207,
+ 185,
+ 125,
+ 47
+ ],
+ "aad": [
+ 90,
+ 235,
+ 223,
+ 209,
+ 83,
+ 161,
+ 135,
+ 99,
+ 243,
+ 110,
+ 204,
+ 158,
+ 142,
+ 154,
+ 1,
+ 203,
+ 123,
+ 63,
+ 33,
+ 228,
+ 53,
+ 179,
+ 91,
+ 13,
+ 169,
+ 55,
+ 198,
+ 126,
+ 135,
+ 201,
+ 236,
+ 5,
+ 141,
+ 8,
+ 6,
+ 10,
+ 149,
+ 225,
+ 237,
+ 160,
+ 165,
+ 171,
+ 101,
+ 70,
+ 204,
+ 164,
+ 80,
+ 148
+ ],
+ "plaintext": [
+ 10,
+ 255,
+ 36,
+ 180,
+ 197,
+ 170,
+ 69,
+ 184,
+ 28,
+ 224,
+ 142,
+ 194,
+ 67,
+ 155,
+ 228,
+ 70
+ ],
+ "ciphertext": [
+ 3,
+ 218,
+ 31,
+ 90,
+ 20,
+ 3,
+ 219,
+ 221,
+ 159,
+ 117,
+ 162,
+ 97,
+ 19,
+ 96,
+ 142,
+ 192
+ ],
+ "tag": [
+ 161,
+ 194,
+ 21,
+ 208,
+ 197,
+ 82,
+ 166,
+ 6,
+ 26,
+ 162,
+ 182,
+ 10,
+ 252,
+ 54,
+ 103,
+ 166
+ ]
+ },
+ {
+ "key": [
+ 192,
+ 255,
+ 1,
+ 139,
+ 108,
+ 51,
+ 125,
+ 222,
+ 104,
+ 92,
+ 130,
+ 121,
+ 207,
+ 109,
+ 229,
+ 157,
+ 124,
+ 228,
+ 178,
+ 136,
+ 3,
+ 43,
+ 129,
+ 158,
+ 7,
+ 75,
+ 103,
+ 30,
+ 114,
+ 171,
+ 188,
+ 145
+ ],
+ "nonce": [
+ 241,
+ 46,
+ 107,
+ 30,
+ 133,
+ 248,
+ 126,
+ 244,
+ 201,
+ 204,
+ 187,
+ 123
+ ],
+ "aad": [
+ 5,
+ 119,
+ 232,
+ 210,
+ 140,
+ 14,
+ 158,
+ 92,
+ 222,
+ 60,
+ 139,
+ 42,
+ 26,
+ 42,
+ 168,
+ 226,
+ 252,
+ 62,
+ 200,
+ 233,
+ 103,
+ 104,
+ 64,
+ 95,
+ 207,
+ 189,
+ 98,
+ 59,
+ 231,
+ 252,
+ 78,
+ 46,
+ 57,
+ 92,
+ 89,
+ 181,
+ 179,
+ 168,
+ 234,
+ 17,
+ 126,
+ 242,
+ 17,
+ 50,
+ 11,
+ 193,
+ 248,
+ 87
+ ],
+ "plaintext": [
+ 247,
+ 81,
+ 43,
+ 191,
+ 162,
+ 212,
+ 13,
+ 20,
+ 190,
+ 113,
+ 183,
+ 15,
+ 112,
+ 112,
+ 28,
+ 153
+ ],
+ "ciphertext": [
+ 1,
+ 135,
+ 180,
+ 194,
+ 213,
+ 36,
+ 134,
+ 180,
+ 65,
+ 126,
+ 90,
+ 1,
+ 61,
+ 85,
+ 62,
+ 94
+ ],
+ "tag": [
+ 219,
+ 164,
+ 81,
+ 231,
+ 51,
+ 155,
+ 232,
+ 235,
+ 237,
+ 62,
+ 169,
+ 104,
+ 61,
+ 27,
+ 69,
+ 82
+ ]
+ },
+ {
+ "key": [
+ 217,
+ 12,
+ 105,
+ 72,
+ 172,
+ 35,
+ 83,
+ 134,
+ 126,
+ 148,
+ 48,
+ 105,
+ 25,
+ 106,
+ 44,
+ 77,
+ 12,
+ 77,
+ 81,
+ 227,
+ 78,
+ 37,
+ 5,
+ 102,
+ 27,
+ 29,
+ 118,
+ 243,
+ 229,
+ 241,
+ 122,
+ 197
+ ],
+ "nonce": [
+ 7,
+ 229,
+ 98,
+ 63,
+ 71,
+ 78,
+ 47,
+ 15,
+ 233,
+ 244,
+ 199,
+ 210
+ ],
+ "aad": [
+ 13,
+ 233,
+ 117,
+ 116,
+ 174,
+ 27,
+ 198,
+ 211,
+ 239,
+ 6,
+ 198,
+ 206,
+ 3,
+ 81,
+ 60,
+ 164,
+ 125,
+ 255,
+ 71,
+ 40,
+ 128,
+ 62,
+ 10,
+ 172,
+ 197,
+ 5,
+ 100,
+ 238,
+ 50,
+ 183,
+ 117,
+ 253,
+ 83,
+ 95,
+ 92,
+ 140,
+ 48,
+ 24,
+ 101,
+ 80,
+ 217,
+ 155,
+ 255,
+ 111,
+ 56,
+ 74,
+ 242,
+ 221
+ ],
+ "plaintext": [
+ 138,
+ 159,
+ 177,
+ 179,
+ 132,
+ 192,
+ 209,
+ 114,
+ 128,
+ 153,
+ 164,
+ 247,
+ 203,
+ 0,
+ 47,
+ 7
+ ],
+ "ciphertext": [
+ 66,
+ 52,
+ 163,
+ 169,
+ 251,
+ 25,
+ 156,
+ 59,
+ 41,
+ 51,
+ 87,
+ 152,
+ 62,
+ 138,
+ 195,
+ 11
+ ],
+ "tag": [
+ 213,
+ 30,
+ 111,
+ 7,
+ 29,
+ 186,
+ 177,
+ 38,
+ 245,
+ 252,
+ 151,
+ 50,
+ 150,
+ 113,
+ 8,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 128,
+ 215,
+ 85,
+ 226,
+ 77,
+ 18,
+ 158,
+ 104,
+ 165,
+ 37,
+ 158,
+ 194,
+ 207,
+ 97,
+ 142,
+ 57,
+ 49,
+ 112,
+ 116,
+ 168,
+ 60,
+ 137,
+ 97,
+ 211,
+ 118,
+ 140,
+ 235,
+ 46,
+ 216,
+ 213,
+ 195,
+ 215
+ ],
+ "nonce": [
+ 117,
+ 152,
+ 192,
+ 123,
+ 167,
+ 177,
+ 108,
+ 209,
+ 44,
+ 245,
+ 8,
+ 19
+ ],
+ "aad": [
+ 14,
+ 148,
+ 244,
+ 196,
+ 143,
+ 208,
+ 201,
+ 105,
+ 12,
+ 133,
+ 58,
+ 210,
+ 165,
+ 225,
+ 151,
+ 197,
+ 222,
+ 38,
+ 33,
+ 55,
+ 182,
+ 158,
+ 208,
+ 205,
+ 250,
+ 40,
+ 216,
+ 209,
+ 36,
+ 19,
+ 228,
+ 255,
+ 255,
+ 21,
+ 55,
+ 78,
+ 28,
+ 204,
+ 176,
+ 66,
+ 62,
+ 142,
+ 216,
+ 41,
+ 169,
+ 84,
+ 163,
+ 53,
+ 237,
+ 112,
+ 90,
+ 39,
+ 42,
+ 215,
+ 249,
+ 171,
+ 209,
+ 5,
+ 124,
+ 132,
+ 155,
+ 176,
+ 213,
+ 75,
+ 118,
+ 142,
+ 157,
+ 121,
+ 135,
+ 158,
+ 197,
+ 82,
+ 70,
+ 28,
+ 192,
+ 74,
+ 219,
+ 108,
+ 160,
+ 4,
+ 12,
+ 93,
+ 213,
+ 188,
+ 115,
+ 61,
+ 33,
+ 169,
+ 55,
+ 2
+ ],
+ "plaintext": [
+ 94,
+ 127,
+ 209,
+ 41,
+ 140,
+ 79,
+ 21,
+ 170,
+ 15,
+ 28,
+ 30,
+ 71,
+ 33,
+ 122,
+ 167,
+ 169
+ ],
+ "ciphertext": [
+ 87,
+ 98,
+ 163,
+ 140,
+ 243,
+ 242,
+ 253,
+ 243,
+ 100,
+ 93,
+ 47,
+ 102,
+ 150,
+ 167,
+ 238,
+ 173
+ ],
+ "tag": [
+ 138,
+ 103,
+ 8,
+ 230,
+ 148,
+ 104,
+ 145,
+ 92,
+ 83,
+ 103,
+ 87,
+ 57,
+ 36,
+ 254,
+ 26,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 167,
+ 151,
+ 126,
+ 250,
+ 27,
+ 233,
+ 90,
+ 14,
+ 65,
+ 237,
+ 139,
+ 205,
+ 42,
+ 166,
+ 72,
+ 98,
+ 25,
+ 69,
+ 201,
+ 90,
+ 158,
+ 40,
+ 182,
+ 57,
+ 25,
+ 225,
+ 217,
+ 45,
+ 38,
+ 159,
+ 195
+ ],
+ "nonce": [
+ 5,
+ 63,
+ 110,
+ 27,
+ 228,
+ 42,
+ 248,
+ 137,
+ 74,
+ 110,
+ 134,
+ 160
+ ],
+ "aad": [
+ 203,
+ 81,
+ 20,
+ 160,
+ 1,
+ 152,
+ 147,
+ 57,
+ 101,
+ 116,
+ 39,
+ 235,
+ 136,
+ 50,
+ 157,
+ 108,
+ 233,
+ 198,
+ 150,
+ 148,
+ 220,
+ 145,
+ 166,
+ 155,
+ 117,
+ 87,
+ 214,
+ 33,
+ 132,
+ 229,
+ 120,
+ 50,
+ 236,
+ 118,
+ 209,
+ 98,
+ 252,
+ 156,
+ 71,
+ 73,
+ 11,
+ 179,
+ 215,
+ 142,
+ 88,
+ 153,
+ 68,
+ 92,
+ 236,
+ 248,
+ 93,
+ 54,
+ 203,
+ 31,
+ 7,
+ 254,
+ 213,
+ 163,
+ 216,
+ 42,
+ 175,
+ 126,
+ 149,
+ 144,
+ 243,
+ 237,
+ 116,
+ 173,
+ 19,
+ 177,
+ 60,
+ 138,
+ 219,
+ 252,
+ 127,
+ 41,
+ 215,
+ 177,
+ 81,
+ 68,
+ 141,
+ 111,
+ 41,
+ 209,
+ 29,
+ 11,
+ 211,
+ 208,
+ 59,
+ 118
+ ],
+ "plaintext": [
+ 111,
+ 169,
+ 176,
+ 129,
+ 118,
+ 233,
+ 150,
+ 57,
+ 39,
+ 175,
+ 186,
+ 30,
+ 95,
+ 150,
+ 154,
+ 66
+ ],
+ "ciphertext": [
+ 212,
+ 173,
+ 191,
+ 243,
+ 236,
+ 142,
+ 218,
+ 222,
+ 41,
+ 185,
+ 161,
+ 183,
+ 72,
+ 195,
+ 27,
+ 84
+ ],
+ "tag": [
+ 59,
+ 51,
+ 23,
+ 51,
+ 199,
+ 83,
+ 133,
+ 140,
+ 34,
+ 211,
+ 9,
+ 206,
+ 176,
+ 249,
+ 72,
+ 140
+ ]
+ },
+ {
+ "key": [
+ 215,
+ 218,
+ 147,
+ 74,
+ 208,
+ 87,
+ 220,
+ 6,
+ 189,
+ 30,
+ 194,
+ 52,
+ 252,
+ 196,
+ 239,
+ 220,
+ 81,
+ 25,
+ 3,
+ 122,
+ 68,
+ 11,
+ 88,
+ 39,
+ 222,
+ 37,
+ 145,
+ 95,
+ 34,
+ 221,
+ 71,
+ 229
+ ],
+ "nonce": [
+ 27,
+ 84,
+ 196,
+ 234,
+ 55,
+ 210,
+ 57,
+ 94,
+ 247,
+ 13,
+ 204,
+ 114
+ ],
+ "aad": [
+ 115,
+ 93,
+ 228,
+ 89,
+ 106,
+ 128,
+ 230,
+ 78,
+ 56,
+ 161,
+ 42,
+ 178,
+ 78,
+ 247,
+ 56,
+ 129,
+ 214,
+ 237,
+ 59,
+ 83,
+ 60,
+ 178,
+ 193,
+ 1,
+ 2,
+ 92,
+ 54,
+ 21,
+ 172,
+ 210,
+ 17,
+ 65,
+ 80,
+ 254,
+ 236,
+ 168,
+ 74,
+ 222,
+ 78,
+ 86,
+ 59,
+ 196,
+ 163,
+ 0,
+ 235,
+ 74,
+ 12,
+ 217,
+ 122,
+ 24,
+ 74,
+ 41,
+ 63,
+ 10,
+ 192,
+ 99,
+ 228,
+ 243,
+ 198,
+ 30,
+ 127,
+ 205,
+ 179,
+ 49,
+ 188,
+ 198,
+ 69,
+ 159,
+ 175,
+ 175,
+ 14,
+ 45,
+ 218,
+ 136,
+ 31,
+ 52,
+ 235,
+ 113,
+ 127,
+ 78,
+ 232,
+ 196,
+ 182,
+ 137,
+ 13,
+ 62,
+ 245,
+ 151,
+ 33,
+ 243
+ ],
+ "plaintext": [
+ 134,
+ 213,
+ 86,
+ 118,
+ 88,
+ 54,
+ 17,
+ 152,
+ 52,
+ 130,
+ 7,
+ 237,
+ 231,
+ 164,
+ 109,
+ 166
+ ],
+ "ciphertext": [
+ 112,
+ 161,
+ 193,
+ 215,
+ 194,
+ 0,
+ 186,
+ 90,
+ 225,
+ 182,
+ 242,
+ 153,
+ 23,
+ 187,
+ 25,
+ 242
+ ],
+ "tag": [
+ 162,
+ 93,
+ 81,
+ 204,
+ 203,
+ 25,
+ 139,
+ 237,
+ 51,
+ 222,
+ 11,
+ 152,
+ 223,
+ 36,
+ 156,
+ 45
+ ]
+ },
+ {
+ "key": [
+ 147,
+ 14,
+ 187,
+ 75,
+ 155,
+ 156,
+ 53,
+ 9,
+ 75,
+ 227,
+ 116,
+ 204,
+ 11,
+ 112,
+ 12,
+ 67,
+ 123,
+ 60,
+ 70,
+ 180,
+ 93,
+ 72,
+ 154,
+ 113,
+ 108,
+ 48,
+ 249,
+ 60,
+ 213,
+ 249,
+ 134,
+ 201
+ ],
+ "nonce": [
+ 122,
+ 33,
+ 229,
+ 254,
+ 189,
+ 130,
+ 236,
+ 155,
+ 151,
+ 191,
+ 190,
+ 131
+ ],
+ "aad": [
+ 159,
+ 46,
+ 213,
+ 246,
+ 207,
+ 158,
+ 45,
+ 101,
+ 5,
+ 211,
+ 201,
+ 154,
+ 143,
+ 129,
+ 167,
+ 223,
+ 197,
+ 101,
+ 141,
+ 208,
+ 133,
+ 235,
+ 169,
+ 102,
+ 200,
+ 179,
+ 32,
+ 98,
+ 48,
+ 151,
+ 58,
+ 8,
+ 110,
+ 195,
+ 111,
+ 233,
+ 72,
+ 87,
+ 59,
+ 174,
+ 225,
+ 8,
+ 252,
+ 169,
+ 65,
+ 188,
+ 229,
+ 61,
+ 173,
+ 115,
+ 24,
+ 8,
+ 119,
+ 205,
+ 73,
+ 121,
+ 118,
+ 32,
+ 156,
+ 26,
+ 223,
+ 138,
+ 152,
+ 97,
+ 240,
+ 33,
+ 85,
+ 96,
+ 223,
+ 6,
+ 76,
+ 175,
+ 14,
+ 242,
+ 249,
+ 148,
+ 69,
+ 193,
+ 24,
+ 22,
+ 245,
+ 184,
+ 222,
+ 234,
+ 254,
+ 221,
+ 104,
+ 43,
+ 95,
+ 178
+ ],
+ "plaintext": [
+ 152,
+ 0,
+ 134,
+ 102,
+ 93,
+ 8,
+ 163,
+ 101,
+ 246,
+ 187,
+ 226,
+ 10,
+ 229,
+ 17,
+ 22,
+ 247
+ ],
+ "ciphertext": [
+ 5,
+ 186,
+ 174,
+ 253,
+ 235,
+ 12,
+ 51,
+ 103,
+ 74,
+ 128,
+ 100,
+ 162,
+ 233,
+ 149,
+ 26,
+ 175
+ ],
+ "tag": [
+ 46,
+ 199,
+ 239,
+ 210,
+ 86,
+ 77,
+ 78,
+ 9,
+ 166,
+ 171,
+ 133,
+ 47,
+ 58,
+ 244,
+ 153,
+ 57
+ ]
+ },
+ {
+ "key": [
+ 112,
+ 33,
+ 61,
+ 137,
+ 73,
+ 166,
+ 95,
+ 70,
+ 61,
+ 19,
+ 32,
+ 96,
+ 113,
+ 250,
+ 177,
+ 180,
+ 198,
+ 182,
+ 20,
+ 253,
+ 60,
+ 238,
+ 13,
+ 52,
+ 13,
+ 45,
+ 128,
+ 109,
+ 230,
+ 113,
+ 74,
+ 147
+ ],
+ "nonce": [
+ 248,
+ 82,
+ 157,
+ 62,
+ 79,
+ 21,
+ 92,
+ 187,
+ 31,
+ 251,
+ 61,
+ 10
+ ],
+ "aad": [
+ 17,
+ 35,
+ 96,
+ 219,
+ 57,
+ 184,
+ 103,
+ 218,
+ 186,
+ 170,
+ 29,
+ 119,
+ 123,
+ 216,
+ 129,
+ 223,
+ 33,
+ 4,
+ 182,
+ 159,
+ 186,
+ 21,
+ 164,
+ 243,
+ 122,
+ 131,
+ 47,
+ 93,
+ 163,
+ 138,
+ 216,
+ 168,
+ 199,
+ 196,
+ 109,
+ 185,
+ 62,
+ 91,
+ 78,
+ 173,
+ 248,
+ 185,
+ 165,
+ 167,
+ 85,
+ 8,
+ 173,
+ 20,
+ 87,
+ 153,
+ 76,
+ 19,
+ 60,
+ 90,
+ 200,
+ 85,
+ 9,
+ 238,
+ 223,
+ 177,
+ 59,
+ 144,
+ 162,
+ 207,
+ 108,
+ 86,
+ 163,
+ 199,
+ 120,
+ 88,
+ 41,
+ 57,
+ 54,
+ 32,
+ 8,
+ 96,
+ 139,
+ 8,
+ 249,
+ 196,
+ 134,
+ 106,
+ 14,
+ 56,
+ 116,
+ 69,
+ 114,
+ 17,
+ 69,
+ 152
+ ],
+ "plaintext": [
+ 71,
+ 212,
+ 122,
+ 95,
+ 211,
+ 42,
+ 42,
+ 65,
+ 111,
+ 146,
+ 28,
+ 199,
+ 240,
+ 12,
+ 15,
+ 129
+ ],
+ "ciphertext": [
+ 178,
+ 32,
+ 182,
+ 155,
+ 216,
+ 81,
+ 161,
+ 127,
+ 188,
+ 91,
+ 114,
+ 95,
+ 185,
+ 18,
+ 241,
+ 30
+ ],
+ "tag": [
+ 76,
+ 52,
+ 54,
+ 148,
+ 61,
+ 88,
+ 80,
+ 28,
+ 8,
+ 38,
+ 174,
+ 88,
+ 39,
+ 188,
+ 6,
+ 62
+ ]
+ },
+ {
+ "key": [
+ 122,
+ 88,
+ 52,
+ 35,
+ 14,
+ 187,
+ 191,
+ 97,
+ 102,
+ 48,
+ 242,
+ 237,
+ 179,
+ 173,
+ 67,
+ 32,
+ 24,
+ 36,
+ 51,
+ 192,
+ 84,
+ 106,
+ 193,
+ 227,
+ 75,
+ 201,
+ 253,
+ 4,
+ 110,
+ 74,
+ 14,
+ 217
+ ],
+ "nonce": [
+ 210,
+ 125,
+ 214,
+ 33,
+ 43,
+ 109,
+ 239,
+ 220,
+ 187,
+ 199,
+ 1,
+ 187
+ ],
+ "aad": [
+ 59,
+ 193,
+ 47,
+ 59,
+ 184,
+ 142,
+ 164,
+ 248,
+ 162,
+ 24,
+ 73,
+ 89,
+ 187,
+ 156,
+ 214,
+ 137,
+ 17,
+ 167,
+ 132,
+ 88,
+ 178,
+ 126,
+ 155,
+ 82,
+ 140,
+ 206,
+ 202,
+ 254,
+ 127,
+ 19,
+ 243,
+ 3,
+ 220,
+ 113,
+ 71,
+ 34,
+ 135,
+ 95,
+ 38,
+ 177,
+ 54,
+ 209,
+ 138,
+ 58,
+ 207,
+ 232,
+ 43,
+ 83,
+ 173,
+ 94,
+ 19,
+ 199,
+ 31,
+ 63,
+ 109,
+ 180,
+ 176,
+ 253,
+ 89,
+ 255,
+ 253,
+ 156,
+ 212,
+ 66,
+ 44,
+ 115,
+ 242,
+ 195,
+ 26,
+ 201,
+ 112,
+ 16,
+ 229,
+ 237,
+ 245,
+ 149,
+ 13,
+ 201,
+ 8,
+ 232,
+ 223,
+ 61,
+ 126,
+ 28,
+ 191,
+ 124,
+ 52,
+ 168,
+ 82,
+ 30
+ ],
+ "plaintext": [
+ 180,
+ 222,
+ 241,
+ 37,
+ 20,
+ 39,
+ 173,
+ 224,
+ 100,
+ 169,
+ 97,
+ 78,
+ 53,
+ 61,
+ 218,
+ 63
+ ],
+ "ciphertext": [
+ 136,
+ 249,
+ 73,
+ 101,
+ 180,
+ 53,
+ 7,
+ 80,
+ 225,
+ 26,
+ 45,
+ 193,
+ 57,
+ 204,
+ 174,
+ 241
+ ],
+ "tag": [
+ 138,
+ 97,
+ 240,
+ 22,
+ 110,
+ 112,
+ 201,
+ 191,
+ 221,
+ 25,
+ 132,
+ 3,
+ 229,
+ 58,
+ 104,
+ 165
+ ]
+ },
+ {
+ "key": [
+ 195,
+ 241,
+ 5,
+ 134,
+ 242,
+ 70,
+ 170,
+ 202,
+ 220,
+ 206,
+ 55,
+ 1,
+ 68,
+ 23,
+ 112,
+ 192,
+ 60,
+ 254,
+ 201,
+ 64,
+ 175,
+ 225,
+ 144,
+ 140,
+ 76,
+ 83,
+ 125,
+ 244,
+ 224,
+ 28,
+ 80,
+ 160
+ ],
+ "nonce": [
+ 79,
+ 82,
+ 250,
+ 161,
+ 250,
+ 103,
+ 160,
+ 229,
+ 244,
+ 25,
+ 100,
+ 82
+ ],
+ "aad": [
+ 70,
+ 249,
+ 162,
+ 43,
+ 78,
+ 82,
+ 225,
+ 82,
+ 101,
+ 19,
+ 169,
+ 82,
+ 219,
+ 238,
+ 59,
+ 145,
+ 246,
+ 149,
+ 149,
+ 80,
+ 30,
+ 1,
+ 119,
+ 213,
+ 15,
+ 243,
+ 100,
+ 99,
+ 133,
+ 136,
+ 192,
+ 141,
+ 146,
+ 250,
+ 184,
+ 197,
+ 138,
+ 150,
+ 155,
+ 220,
+ 200,
+ 76,
+ 70,
+ 141,
+ 132,
+ 152,
+ 196,
+ 240,
+ 99,
+ 146,
+ 185,
+ 158,
+ 213,
+ 224,
+ 196,
+ 132,
+ 80,
+ 127,
+ 196,
+ 141,
+ 193,
+ 141,
+ 135,
+ 196,
+ 14,
+ 46,
+ 216,
+ 72,
+ 180,
+ 49,
+ 80,
+ 190,
+ 157,
+ 54,
+ 241,
+ 76,
+ 242,
+ 206,
+ 241,
+ 49,
+ 11,
+ 164,
+ 167,
+ 69,
+ 173,
+ 204,
+ 123,
+ 220,
+ 65,
+ 246
+ ],
+ "plaintext": [
+ 121,
+ 217,
+ 126,
+ 163,
+ 162,
+ 237,
+ 214,
+ 80,
+ 69,
+ 130,
+ 30,
+ 167,
+ 69,
+ 164,
+ 71,
+ 66
+ ],
+ "ciphertext": [
+ 86,
+ 12,
+ 247,
+ 22,
+ 229,
+ 97,
+ 144,
+ 233,
+ 57,
+ 124,
+ 47,
+ 16,
+ 54,
+ 41,
+ 235,
+ 31
+ ],
+ "tag": [
+ 255,
+ 124,
+ 145,
+ 36,
+ 135,
+ 150,
+ 68,
+ 232,
+ 5,
+ 85,
+ 104,
+ 125,
+ 39,
+ 60,
+ 85,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 173,
+ 112,
+ 235,
+ 207,
+ 136,
+ 158,
+ 136,
+ 184,
+ 103,
+ 222,
+ 208,
+ 228,
+ 131,
+ 140,
+ 166,
+ 109,
+ 105,
+ 145,
+ 73,
+ 144,
+ 70,
+ 165,
+ 103,
+ 29,
+ 153,
+ 233,
+ 30,
+ 212,
+ 99,
+ 174,
+ 120,
+ 177
+ ],
+ "nonce": [
+ 86,
+ 30,
+ 19,
+ 179,
+ 53,
+ 113,
+ 143,
+ 203,
+ 238,
+ 54,
+ 65,
+ 0
+ ],
+ "aad": [
+ 224,
+ 55,
+ 189,
+ 115,
+ 6,
+ 238,
+ 193,
+ 133,
+ 185,
+ 203,
+ 78,
+ 59,
+ 242,
+ 149,
+ 35,
+ 45,
+ 161,
+ 144,
+ 5,
+ 149,
+ 112,
+ 134,
+ 214,
+ 46,
+ 111,
+ 179,
+ 66,
+ 40,
+ 79,
+ 5,
+ 254,
+ 170,
+ 14,
+ 129,
+ 214,
+ 201,
+ 80,
+ 113,
+ 231,
+ 228,
+ 215,
+ 182,
+ 170,
+ 215,
+ 176,
+ 15,
+ 126,
+ 120,
+ 99,
+ 221,
+ 15,
+ 193,
+ 99,
+ 3,
+ 168,
+ 48,
+ 75,
+ 184,
+ 133,
+ 83,
+ 5,
+ 242,
+ 128,
+ 103,
+ 244,
+ 190,
+ 113,
+ 238,
+ 217,
+ 95,
+ 249,
+ 14,
+ 4,
+ 99,
+ 130,
+ 17,
+ 98,
+ 41,
+ 240,
+ 253,
+ 61,
+ 44,
+ 62,
+ 242,
+ 232,
+ 126,
+ 13,
+ 14,
+ 121,
+ 80
+ ],
+ "plaintext": [
+ 130,
+ 213,
+ 86,
+ 136,
+ 114,
+ 164,
+ 206,
+ 241,
+ 34,
+ 56,
+ 192,
+ 254,
+ 177,
+ 79,
+ 15,
+ 180
+ ],
+ "ciphertext": [
+ 119,
+ 28,
+ 109,
+ 9,
+ 31,
+ 129,
+ 144,
+ 221,
+ 189,
+ 184,
+ 136,
+ 109,
+ 156,
+ 226,
+ 235,
+ 213
+ ],
+ "tag": [
+ 80,
+ 9,
+ 171,
+ 209,
+ 235,
+ 235,
+ 38,
+ 218,
+ 184,
+ 82,
+ 52,
+ 110,
+ 166,
+ 216,
+ 174,
+ 227
+ ]
+ },
+ {
+ "key": [
+ 164,
+ 82,
+ 250,
+ 36,
+ 179,
+ 129,
+ 231,
+ 22,
+ 94,
+ 233,
+ 15,
+ 51,
+ 113,
+ 194,
+ 176,
+ 219,
+ 33,
+ 118,
+ 248,
+ 72,
+ 160,
+ 53,
+ 76,
+ 120,
+ 233,
+ 47,
+ 47,
+ 31,
+ 137,
+ 187,
+ 197,
+ 17
+ ],
+ "nonce": [
+ 75,
+ 217,
+ 4,
+ 223,
+ 225,
+ 130,
+ 65,
+ 235,
+ 84,
+ 85,
+ 217,
+ 18
+ ],
+ "aad": [
+ 100,
+ 241,
+ 169,
+ 210,
+ 29,
+ 235,
+ 24,
+ 60,
+ 255,
+ 132,
+ 241,
+ 174,
+ 245,
+ 190,
+ 131,
+ 219,
+ 252,
+ 114,
+ 226,
+ 117,
+ 242,
+ 41,
+ 235,
+ 93,
+ 89,
+ 172,
+ 225,
+ 67,
+ 96,
+ 94,
+ 137,
+ 1,
+ 223,
+ 168,
+ 244,
+ 114,
+ 75,
+ 226,
+ 76,
+ 134,
+ 181,
+ 66,
+ 155,
+ 200,
+ 75,
+ 98,
+ 153,
+ 113,
+ 254,
+ 31,
+ 150,
+ 99,
+ 183,
+ 83,
+ 116,
+ 39,
+ 180,
+ 93,
+ 251,
+ 103,
+ 213,
+ 240,
+ 69,
+ 6,
+ 223,
+ 78,
+ 226,
+ 195,
+ 61,
+ 127,
+ 21,
+ 175,
+ 159,
+ 110,
+ 134,
+ 5,
+ 139,
+ 19,
+ 27,
+ 126,
+ 96,
+ 66,
+ 180,
+ 58,
+ 85,
+ 191,
+ 105,
+ 21,
+ 240,
+ 72
+ ],
+ "plaintext": [
+ 63,
+ 67,
+ 223,
+ 35,
+ 234,
+ 148,
+ 15,
+ 54,
+ 128,
+ 164,
+ 182,
+ 121,
+ 181,
+ 109,
+ 181,
+ 121
+ ],
+ "ciphertext": [
+ 192,
+ 84,
+ 151,
+ 76,
+ 69,
+ 98,
+ 248,
+ 83,
+ 106,
+ 239,
+ 39,
+ 52,
+ 241,
+ 14,
+ 9,
+ 252
+ ],
+ "tag": [
+ 44,
+ 92,
+ 175,
+ 175,
+ 123,
+ 31,
+ 117,
+ 129,
+ 197,
+ 236,
+ 19,
+ 8,
+ 9,
+ 148,
+ 227,
+ 60
+ ]
+ },
+ {
+ "key": [
+ 32,
+ 158,
+ 163,
+ 196,
+ 221,
+ 4,
+ 32,
+ 164,
+ 214,
+ 61,
+ 187,
+ 114,
+ 9,
+ 154,
+ 2,
+ 2,
+ 201,
+ 176,
+ 112,
+ 159,
+ 59,
+ 18,
+ 33,
+ 86,
+ 95,
+ 137,
+ 5,
+ 17,
+ 238,
+ 248,
+ 0,
+ 91
+ ],
+ "nonce": [
+ 67,
+ 119,
+ 80,
+ 131,
+ 228,
+ 0,
+ 136,
+ 22,
+ 18,
+ 159,
+ 93,
+ 64
+ ],
+ "aad": [
+ 154,
+ 188,
+ 101,
+ 58,
+ 35,
+ 71,
+ 252,
+ 110,
+ 90,
+ 140,
+ 185,
+ 189,
+ 194,
+ 81,
+ 223,
+ 247,
+ 197,
+ 97,
+ 9,
+ 121,
+ 124,
+ 56,
+ 116,
+ 148,
+ 192,
+ 237,
+ 85,
+ 87,
+ 3,
+ 48,
+ 150,
+ 30,
+ 181,
+ 177,
+ 16,
+ 135,
+ 96,
+ 62,
+ 8,
+ 173,
+ 41,
+ 61,
+ 13,
+ 213,
+ 85,
+ 113,
+ 0,
+ 142,
+ 98,
+ 209,
+ 22,
+ 63,
+ 103,
+ 207,
+ 130,
+ 158,
+ 40,
+ 210,
+ 123,
+ 235,
+ 166,
+ 85,
+ 83,
+ 189,
+ 17,
+ 216,
+ 131,
+ 143,
+ 138,
+ 122,
+ 95,
+ 31,
+ 224,
+ 85,
+ 0,
+ 190,
+ 251,
+ 175,
+ 151,
+ 131,
+ 152,
+ 1,
+ 233,
+ 158,
+ 207,
+ 153,
+ 136,
+ 130,
+ 199,
+ 7
+ ],
+ "plaintext": [
+ 180,
+ 150,
+ 127,
+ 140,
+ 79,
+ 177,
+ 179,
+ 75,
+ 111,
+ 244,
+ 58,
+ 34,
+ 211,
+ 79,
+ 174,
+ 92
+ ],
+ "ciphertext": [
+ 168,
+ 210,
+ 42,
+ 110,
+ 37,
+ 35,
+ 41,
+ 56,
+ 211,
+ 248,
+ 96,
+ 10,
+ 102,
+ 190,
+ 128,
+ 218
+ ],
+ "tag": [
+ 46,
+ 249,
+ 60,
+ 192,
+ 60,
+ 23,
+ 187,
+ 251,
+ 102,
+ 38,
+ 20,
+ 70,
+ 151,
+ 253,
+ 36,
+ 34
+ ]
+ },
+ {
+ "key": [
+ 218,
+ 189,
+ 99,
+ 172,
+ 82,
+ 116,
+ 178,
+ 104,
+ 66,
+ 194,
+ 105,
+ 92,
+ 152,
+ 80,
+ 215,
+ 172,
+ 204,
+ 22,
+ 147,
+ 238,
+ 42,
+ 238,
+ 225,
+ 226,
+ 225,
+ 51,
+ 139,
+ 187,
+ 197,
+ 184,
+ 15,
+ 135
+ ],
+ "nonce": [
+ 253,
+ 103,
+ 144,
+ 214,
+ 32,
+ 241,
+ 40,
+ 112,
+ 177,
+ 217,
+ 155,
+ 49
+ ],
+ "aad": [
+ 228,
+ 160,
+ 107,
+ 155,
+ 32,
+ 90,
+ 127,
+ 170,
+ 219,
+ 33,
+ 220,
+ 127,
+ 234,
+ 138,
+ 13,
+ 224,
+ 224,
+ 19,
+ 215,
+ 23,
+ 182,
+ 27,
+ 36,
+ 236,
+ 66,
+ 248,
+ 26,
+ 252,
+ 140,
+ 219,
+ 192,
+ 85,
+ 87,
+ 62,
+ 151,
+ 19,
+ 117,
+ 218,
+ 47,
+ 165,
+ 16,
+ 58,
+ 9,
+ 19,
+ 23,
+ 234,
+ 177,
+ 59,
+ 106,
+ 17,
+ 14,
+ 162,
+ 17,
+ 175,
+ 37,
+ 127,
+ 234,
+ 191,
+ 82,
+ 171,
+ 175,
+ 236,
+ 35,
+ 253,
+ 91,
+ 17,
+ 75,
+ 1,
+ 61,
+ 92,
+ 5,
+ 33,
+ 153,
+ 2,
+ 5,
+ 115,
+ 248,
+ 183,
+ 183,
+ 174,
+ 105,
+ 88,
+ 247,
+ 51,
+ 232,
+ 126,
+ 250,
+ 4,
+ 38,
+ 194
+ ],
+ "plaintext": [
+ 74,
+ 40,
+ 4,
+ 143,
+ 86,
+ 131,
+ 103,
+ 154,
+ 85,
+ 118,
+ 48,
+ 166,
+ 97,
+ 240,
+ 48,
+ 226
+ ],
+ "ciphertext": [
+ 25,
+ 109,
+ 3,
+ 69,
+ 223,
+ 37,
+ 155,
+ 71,
+ 102,
+ 91,
+ 194,
+ 51,
+ 183,
+ 152,
+ 235,
+ 186
+ ],
+ "tag": [
+ 176,
+ 114,
+ 157,
+ 139,
+ 66,
+ 122,
+ 208,
+ 72,
+ 167,
+ 57,
+ 108,
+ 237,
+ 242,
+ 37,
+ 115,
+ 56
+ ]
+ },
+ {
+ "key": [
+ 178,
+ 56,
+ 223,
+ 94,
+ 82,
+ 230,
+ 73,
+ 212,
+ 176,
+ 160,
+ 94,
+ 83,
+ 2,
+ 10,
+ 197,
+ 158,
+ 125,
+ 91,
+ 244,
+ 155,
+ 141,
+ 4,
+ 248,
+ 195,
+ 12,
+ 53,
+ 110,
+ 214,
+ 45,
+ 186,
+ 158,
+ 209
+ ],
+ "nonce": [
+ 241,
+ 83,
+ 240,
+ 147,
+ 201,
+ 163,
+ 71,
+ 159,
+ 153,
+ 158,
+ 218,
+ 4
+ ],
+ "aad": [
+ 69,
+ 181,
+ 223,
+ 12,
+ 21,
+ 20,
+ 14,
+ 92,
+ 231,
+ 161,
+ 159,
+ 78,
+ 2,
+ 131,
+ 78,
+ 96,
+ 39,
+ 151,
+ 30,
+ 62,
+ 14,
+ 113,
+ 150,
+ 38,
+ 194,
+ 144,
+ 129,
+ 166,
+ 48,
+ 30,
+ 149,
+ 199,
+ 18,
+ 20,
+ 52,
+ 90,
+ 250,
+ 193,
+ 144,
+ 139,
+ 183,
+ 95,
+ 242,
+ 211,
+ 40,
+ 18,
+ 97,
+ 230,
+ 197,
+ 244,
+ 29,
+ 196,
+ 228,
+ 121,
+ 111,
+ 5,
+ 65,
+ 116,
+ 166,
+ 79,
+ 142,
+ 23,
+ 127,
+ 63,
+ 51,
+ 50,
+ 30,
+ 223,
+ 189,
+ 38,
+ 62,
+ 32,
+ 65,
+ 53,
+ 105,
+ 148,
+ 40,
+ 160,
+ 159,
+ 52,
+ 235,
+ 52,
+ 66,
+ 17,
+ 191,
+ 185,
+ 250,
+ 201,
+ 175,
+ 186
+ ],
+ "plaintext": [
+ 212,
+ 142,
+ 119,
+ 151,
+ 102,
+ 175,
+ 167,
+ 61,
+ 126,
+ 4,
+ 252,
+ 111,
+ 195,
+ 250,
+ 130,
+ 94
+ ],
+ "ciphertext": [
+ 177,
+ 152,
+ 158,
+ 181,
+ 16,
+ 132,
+ 61,
+ 143,
+ 53,
+ 32,
+ 93,
+ 195,
+ 249,
+ 73,
+ 82,
+ 47
+ ],
+ "tag": [
+ 97,
+ 96,
+ 137,
+ 153,
+ 7,
+ 41,
+ 34,
+ 143,
+ 103,
+ 48,
+ 153,
+ 81,
+ 72,
+ 36,
+ 217,
+ 180
+ ]
+ },
+ {
+ "key": [
+ 243,
+ 220,
+ 36,
+ 86,
+ 211,
+ 184,
+ 148,
+ 117,
+ 145,
+ 162,
+ 216,
+ 43,
+ 115,
+ 25,
+ 34,
+ 107,
+ 15,
+ 52,
+ 108,
+ 212,
+ 54,
+ 27,
+ 204,
+ 19,
+ 181,
+ 109,
+ 164,
+ 62,
+ 7,
+ 42,
+ 39,
+ 116
+ ],
+ "nonce": [
+ 122,
+ 138,
+ 203,
+ 90,
+ 132,
+ 215,
+ 208,
+ 30,
+ 60,
+ 0,
+ 73,
+ 158
+ ],
+ "aad": [
+ 94,
+ 107,
+ 224,
+ 105,
+ 239,
+ 254,
+ 226,
+ 125,
+ 52,
+ 168,
+ 8,
+ 124,
+ 13,
+ 25,
+ 63,
+ 159,
+ 19,
+ 230,
+ 68,
+ 13,
+ 201,
+ 250,
+ 191,
+ 226,
+ 79,
+ 108,
+ 134,
+ 127,
+ 131,
+ 29,
+ 6,
+ 120,
+ 157,
+ 13,
+ 206,
+ 146,
+ 178,
+ 227,
+ 255,
+ 58,
+ 185,
+ 254,
+ 20,
+ 32,
+ 42,
+ 139,
+ 66,
+ 243,
+ 132,
+ 194,
+ 94,
+ 63,
+ 55,
+ 83,
+ 221,
+ 80,
+ 62,
+ 201,
+ 7,
+ 169,
+ 184,
+ 119,
+ 241,
+ 112,
+ 125,
+ 100,
+ 228,
+ 172,
+ 66,
+ 144,
+ 154,
+ 125,
+ 238,
+ 0,
+ 200,
+ 124,
+ 74,
+ 9,
+ 208,
+ 77,
+ 227,
+ 49,
+ 81,
+ 84,
+ 96,
+ 237,
+ 16,
+ 31,
+ 81,
+ 135
+ ],
+ "plaintext": [
+ 173,
+ 7,
+ 93,
+ 169,
+ 8,
+ 35,
+ 31,
+ 249,
+ 170,
+ 227,
+ 13,
+ 170,
+ 107,
+ 132,
+ 113,
+ 67
+ ],
+ "ciphertext": [
+ 159,
+ 34,
+ 79,
+ 42,
+ 26,
+ 31,
+ 186,
+ 173,
+ 232,
+ 184,
+ 123,
+ 116,
+ 137,
+ 113,
+ 192,
+ 172
+ ],
+ "tag": [
+ 203,
+ 80,
+ 137,
+ 217,
+ 223,
+ 174,
+ 191,
+ 152,
+ 228,
+ 179,
+ 110,
+ 188,
+ 95,
+ 154,
+ 26,
+ 80
+ ]
+ },
+ {
+ "key": [
+ 245,
+ 165,
+ 107,
+ 105,
+ 161,
+ 86,
+ 44,
+ 119,
+ 232,
+ 237,
+ 235,
+ 195,
+ 39,
+ 162,
+ 2,
+ 149,
+ 194,
+ 235,
+ 167,
+ 212,
+ 6,
+ 216,
+ 153,
+ 166,
+ 34,
+ 197,
+ 53,
+ 57,
+ 98,
+ 108,
+ 157,
+ 114
+ ],
+ "nonce": [
+ 163,
+ 149,
+ 184,
+ 172,
+ 164,
+ 80,
+ 138,
+ 106,
+ 95,
+ 60,
+ 180,
+ 216
+ ],
+ "aad": [
+ 46,
+ 79,
+ 202,
+ 43,
+ 22,
+ 62,
+ 68,
+ 3,
+ 151,
+ 23,
+ 22,
+ 1,
+ 83,
+ 134,
+ 205,
+ 129,
+ 189,
+ 209,
+ 229,
+ 127,
+ 0,
+ 242,
+ 147,
+ 109,
+ 164,
+ 8,
+ 9,
+ 131,
+ 65,
+ 1,
+ 31,
+ 38,
+ 68,
+ 163,
+ 141,
+ 218,
+ 215,
+ 153,
+ 247,
+ 14,
+ 170,
+ 84,
+ 246,
+ 228,
+ 48,
+ 212,
+ 133,
+ 63,
+ 242,
+ 185,
+ 196,
+ 74,
+ 53,
+ 18,
+ 54,
+ 112,
+ 135,
+ 154,
+ 131,
+ 18,
+ 11,
+ 213,
+ 85,
+ 199,
+ 107,
+ 149,
+ 183,
+ 13,
+ 224,
+ 200,
+ 5,
+ 79,
+ 157,
+ 8,
+ 83,
+ 154,
+ 87,
+ 149,
+ 231,
+ 10,
+ 36,
+ 70,
+ 215,
+ 185,
+ 250,
+ 179,
+ 247,
+ 136,
+ 124,
+ 107
+ ],
+ "plaintext": [
+ 125,
+ 228,
+ 99,
+ 135,
+ 1,
+ 189,
+ 43,
+ 96,
+ 13,
+ 127,
+ 141,
+ 38,
+ 218,
+ 122,
+ 117,
+ 188
+ ],
+ "ciphertext": [
+ 101,
+ 8,
+ 190,
+ 38,
+ 152,
+ 186,
+ 152,
+ 137,
+ 180,
+ 228,
+ 69,
+ 185,
+ 145,
+ 144,
+ 165,
+ 197
+ ],
+ "tag": [
+ 51,
+ 148,
+ 16,
+ 111,
+ 37,
+ 124,
+ 46,
+ 21,
+ 200,
+ 21,
+ 67,
+ 15,
+ 96,
+ 188,
+ 36,
+ 186
+ ]
+ },
+ {
+ "key": [
+ 55,
+ 99,
+ 113,
+ 167,
+ 128,
+ 148,
+ 114,
+ 86,
+ 197,
+ 47,
+ 7,
+ 216,
+ 11,
+ 178,
+ 90,
+ 77,
+ 126,
+ 145,
+ 156,
+ 168,
+ 189,
+ 105,
+ 59,
+ 26,
+ 12,
+ 203,
+ 202,
+ 116,
+ 141,
+ 44,
+ 230,
+ 32
+ ],
+ "nonce": [
+ 39,
+ 215,
+ 23,
+ 15,
+ 111,
+ 112,
+ 242,
+ 252,
+ 64,
+ 223,
+ 202,
+ 120
+ ],
+ "aad": [
+ 39,
+ 44,
+ 53,
+ 89,
+ 57,
+ 138,
+ 215,
+ 116,
+ 250,
+ 75,
+ 104,
+ 149,
+ 175,
+ 201,
+ 40,
+ 112,
+ 178,
+ 185,
+ 45,
+ 49,
+ 15,
+ 160,
+ 222,
+ 191,
+ 11,
+ 121,
+ 96,
+ 225,
+ 254,
+ 56,
+ 191,
+ 218,
+ 100,
+ 172,
+ 210,
+ 254,
+ 242,
+ 109,
+ 107,
+ 23,
+ 125,
+ 138,
+ 177,
+ 29,
+ 138,
+ 252,
+ 238,
+ 231,
+ 115,
+ 116,
+ 198,
+ 193,
+ 138,
+ 212,
+ 5,
+ 213,
+ 174,
+ 50,
+ 58,
+ 214,
+ 95,
+ 182,
+ 176,
+ 79,
+ 12,
+ 128,
+ 147,
+ 25,
+ 19,
+ 55,
+ 18,
+ 244,
+ 118,
+ 54,
+ 197,
+ 224,
+ 66,
+ 241,
+ 94,
+ 208,
+ 47,
+ 55,
+ 238,
+ 122,
+ 16,
+ 198,
+ 67,
+ 215,
+ 177,
+ 120
+ ],
+ "plaintext": [
+ 122,
+ 39,
+ 159,
+ 159,
+ 133,
+ 104,
+ 183,
+ 195,
+ 7,
+ 73,
+ 5,
+ 73,
+ 178,
+ 89,
+ 34,
+ 108
+ ],
+ "ciphertext": [
+ 50,
+ 40,
+ 67,
+ 121,
+ 216,
+ 196,
+ 14,
+ 193,
+ 142,
+ 229,
+ 119,
+ 64,
+ 133,
+ 215,
+ 216,
+ 112
+ ],
+ "tag": [
+ 220,
+ 222,
+ 225,
+ 167,
+ 87,
+ 249,
+ 117,
+ 140,
+ 148,
+ 77,
+ 41,
+ 107,
+ 29,
+ 171,
+ 231,
+ 178
+ ]
+ },
+ {
+ "key": [
+ 130,
+ 196,
+ 241,
+ 46,
+ 238,
+ 195,
+ 178,
+ 211,
+ 209,
+ 87,
+ 176,
+ 249,
+ 146,
+ 210,
+ 146,
+ 178,
+ 55,
+ 71,
+ 141,
+ 44,
+ 236,
+ 193,
+ 213,
+ 241,
+ 97,
+ 56,
+ 155,
+ 151,
+ 249,
+ 153,
+ 5,
+ 122
+ ],
+ "nonce": [
+ 123,
+ 64,
+ 178,
+ 15,
+ 95,
+ 57,
+ 113,
+ 119,
+ 153,
+ 14,
+ 242,
+ 209
+ ],
+ "aad": [],
+ "plaintext": [
+ 152,
+ 42,
+ 41,
+ 110,
+ 225,
+ 205,
+ 112,
+ 134,
+ 175,
+ 173,
+ 151,
+ 105,
+ 69
+ ],
+ "ciphertext": [
+ 236,
+ 142,
+ 5,
+ 160,
+ 71,
+ 29,
+ 107,
+ 67,
+ 165,
+ 156,
+ 165,
+ 51,
+ 95
+ ],
+ "tag": [
+ 17,
+ 61,
+ 222,
+ 175,
+ 198,
+ 35,
+ 115,
+ 202,
+ 194,
+ 245,
+ 149,
+ 27,
+ 185,
+ 22,
+ 82,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 219,
+ 67,
+ 64,
+ 175,
+ 47,
+ 131,
+ 90,
+ 108,
+ 109,
+ 126,
+ 160,
+ 202,
+ 157,
+ 131,
+ 202,
+ 129,
+ 186,
+ 2,
+ 194,
+ 155,
+ 116,
+ 16,
+ 242,
+ 33,
+ 203,
+ 96,
+ 113,
+ 17,
+ 78,
+ 57,
+ 50,
+ 64
+ ],
+ "nonce": [
+ 64,
+ 228,
+ 56,
+ 53,
+ 125,
+ 216,
+ 10,
+ 133,
+ 202,
+ 195,
+ 52,
+ 158
+ ],
+ "aad": [],
+ "plaintext": [
+ 141,
+ 219,
+ 51,
+ 151,
+ 189,
+ 66,
+ 133,
+ 49,
+ 147,
+ 203,
+ 15,
+ 128,
+ 201
+ ],
+ "ciphertext": [
+ 182,
+ 148,
+ 17,
+ 140,
+ 133,
+ 196,
+ 26,
+ 191,
+ 105,
+ 226,
+ 41,
+ 203,
+ 15
+ ],
+ "tag": [
+ 192,
+ 127,
+ 27,
+ 138,
+ 175,
+ 189,
+ 21,
+ 47,
+ 105,
+ 126,
+ 182,
+ 127,
+ 42,
+ 133,
+ 254,
+ 69
+ ]
+ },
+ {
+ "key": [
+ 172,
+ 173,
+ 74,
+ 53,
+ 136,
+ 167,
+ 197,
+ 236,
+ 103,
+ 131,
+ 43,
+ 174,
+ 226,
+ 66,
+ 176,
+ 7,
+ 200,
+ 244,
+ 46,
+ 215,
+ 66,
+ 93,
+ 90,
+ 126,
+ 87,
+ 177,
+ 7,
+ 11,
+ 123,
+ 226,
+ 103,
+ 126
+ ],
+ "nonce": [
+ 177,
+ 23,
+ 4,
+ 186,
+ 54,
+ 138,
+ 186,
+ 223,
+ 139,
+ 12,
+ 43,
+ 152
+ ],
+ "aad": [],
+ "plaintext": [
+ 38,
+ 86,
+ 181,
+ 251,
+ 236,
+ 138,
+ 54,
+ 102,
+ 202,
+ 213,
+ 244,
+ 96,
+ 183
+ ],
+ "ciphertext": [
+ 53,
+ 199,
+ 17,
+ 76,
+ 171,
+ 227,
+ 146,
+ 3,
+ 223,
+ 25,
+ 65,
+ 58,
+ 153
+ ],
+ "tag": [
+ 22,
+ 244,
+ 199,
+ 229,
+ 190,
+ 207,
+ 0,
+ 219,
+ 18,
+ 35,
+ 71,
+ 106,
+ 20,
+ 196,
+ 62,
+ 188
+ ]
+ },
+ {
+ "key": [
+ 229,
+ 160,
+ 235,
+ 146,
+ 204,
+ 43,
+ 6,
+ 78,
+ 27,
+ 200,
+ 8,
+ 145,
+ 250,
+ 241,
+ 250,
+ 181,
+ 233,
+ 161,
+ 122,
+ 156,
+ 58,
+ 152,
+ 78,
+ 37,
+ 65,
+ 103,
+ 32,
+ 227,
+ 14,
+ 108,
+ 43,
+ 33
+ ],
+ "nonce": [
+ 71,
+ 66,
+ 53,
+ 124,
+ 51,
+ 89,
+ 19,
+ 21,
+ 63,
+ 240,
+ 235,
+ 15
+ ],
+ "aad": [],
+ "plaintext": [
+ 132,
+ 153,
+ 137,
+ 62,
+ 22,
+ 176,
+ 186,
+ 139,
+ 0,
+ 125,
+ 84,
+ 102,
+ 90
+ ],
+ "ciphertext": [
+ 235,
+ 142,
+ 97,
+ 117,
+ 241,
+ 254,
+ 56,
+ 235,
+ 26,
+ 207,
+ 149,
+ 253,
+ 81
+ ],
+ "tag": [
+ 136,
+ 168,
+ 183,
+ 75,
+ 183,
+ 79,
+ 218,
+ 85,
+ 62,
+ 145,
+ 2,
+ 10,
+ 35,
+ 222,
+ 237,
+ 69
+ ]
+ },
+ {
+ "key": [
+ 231,
+ 140,
+ 71,
+ 112,
+ 83,
+ 245,
+ 218,
+ 229,
+ 192,
+ 41,
+ 65,
+ 6,
+ 29,
+ 57,
+ 123,
+ 195,
+ 141,
+ 218,
+ 93,
+ 227,
+ 201,
+ 200,
+ 102,
+ 10,
+ 25,
+ 222,
+ 102,
+ 197,
+ 108,
+ 87,
+ 253,
+ 34
+ ],
+ "nonce": [
+ 79,
+ 82,
+ 198,
+ 124,
+ 43,
+ 183,
+ 72,
+ 209,
+ 146,
+ 165,
+ 164,
+ 226
+ ],
+ "aad": [],
+ "plaintext": [
+ 145,
+ 89,
+ 62,
+ 33,
+ 225,
+ 248,
+ 131,
+ 175,
+ 92,
+ 50,
+ 217,
+ 190,
+ 7
+ ],
+ "ciphertext": [
+ 227,
+ 127,
+ 188,
+ 86,
+ 176,
+ 175,
+ 32,
+ 10,
+ 122,
+ 161,
+ 187,
+ 227,
+ 78
+ ],
+ "tag": [
+ 41,
+ 254,
+ 84,
+ 234,
+ 172,
+ 207,
+ 94,
+ 56,
+ 38,
+ 1,
+ 161,
+ 86,
+ 3,
+ 201,
+ 242,
+ 140
+ ]
+ },
+ {
+ "key": [
+ 208,
+ 177,
+ 52,
+ 130,
+ 3,
+ 118,
+ 57,
+ 170,
+ 121,
+ 116,
+ 113,
+ 165,
+ 43,
+ 96,
+ 243,
+ 83,
+ 180,
+ 46,
+ 14,
+ 210,
+ 113,
+ 218,
+ 164,
+ 243,
+ 138,
+ 146,
+ 147,
+ 25,
+ 28,
+ 183,
+ 139,
+ 114
+ ],
+ "nonce": [
+ 64,
+ 251,
+ 124,
+ 174,
+ 70,
+ 173,
+ 243,
+ 119,
+ 27,
+ 243,
+ 117,
+ 106
+ ],
+ "aad": [],
+ "plaintext": [
+ 147,
+ 143,
+ 64,
+ 172,
+ 142,
+ 14,
+ 59,
+ 149,
+ 106,
+ 172,
+ 94,
+ 145,
+ 132
+ ],
+ "ciphertext": [
+ 125,
+ 202,
+ 5,
+ 161,
+ 171,
+ 232,
+ 25,
+ 40,
+ 204,
+ 251,
+ 33,
+ 100,
+ 221
+ ],
+ "tag": [
+ 94,
+ 165,
+ 62,
+ 225,
+ 112,
+ 217,
+ 171,
+ 95,
+ 108,
+ 192,
+ 71,
+ 133,
+ 78,
+ 71,
+ 207,
+ 96
+ ]
+ },
+ {
+ "key": [
+ 70,
+ 218,
+ 94,
+ 198,
+ 136,
+ 254,
+ 234,
+ 215,
+ 106,
+ 29,
+ 220,
+ 214,
+ 11,
+ 239,
+ 180,
+ 80,
+ 116,
+ 162,
+ 239,
+ 34,
+ 84,
+ 215,
+ 190,
+ 38,
+ 171,
+ 223,
+ 216,
+ 70,
+ 41,
+ 219,
+ 188,
+ 50
+ ],
+ "nonce": [
+ 159,
+ 179,
+ 178,
+ 176,
+ 57,
+ 37,
+ 244,
+ 118,
+ 252,
+ 154,
+ 53,
+ 243
+ ],
+ "aad": [],
+ "plaintext": [
+ 164,
+ 26,
+ 220,
+ 159,
+ 180,
+ 226,
+ 90,
+ 138,
+ 222,
+ 241,
+ 24,
+ 14,
+ 200
+ ],
+ "ciphertext": [
+ 245,
+ 93,
+ 76,
+ 190,
+ 155,
+ 20,
+ 206,
+ 160,
+ 81,
+ 254,
+ 122,
+ 36,
+ 119
+ ],
+ "tag": [
+ 130,
+ 71,
+ 83,
+ 218,
+ 1,
+ 19,
+ 210,
+ 17,
+ 134,
+ 105,
+ 157,
+ 187,
+ 54,
+ 108,
+ 5,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 222,
+ 58,
+ 223,
+ 137,
+ 242,
+ 254,
+ 36,
+ 108,
+ 7,
+ 176,
+ 206,
+ 3,
+ 95,
+ 74,
+ 247,
+ 60,
+ 242,
+ 246,
+ 94,
+ 80,
+ 52,
+ 220,
+ 254,
+ 207,
+ 233,
+ 215,
+ 105,
+ 10,
+ 225,
+ 189,
+ 189,
+ 150
+ ],
+ "nonce": [
+ 169,
+ 74,
+ 164,
+ 223,
+ 13,
+ 132,
+ 81,
+ 100,
+ 74,
+ 80,
+ 86,
+ 192
+ ],
+ "aad": [],
+ "plaintext": [
+ 150,
+ 130,
+ 95,
+ 109,
+ 99,
+ 1,
+ 219,
+ 20,
+ 168,
+ 215,
+ 143,
+ 194,
+ 244
+ ],
+ "ciphertext": [
+ 120,
+ 76,
+ 108,
+ 60,
+ 36,
+ 160,
+ 34,
+ 99,
+ 124,
+ 188,
+ 144,
+ 124,
+ 72
+ ],
+ "tag": [
+ 30,
+ 234,
+ 237,
+ 220,
+ 219,
+ 76,
+ 114,
+ 196,
+ 232,
+ 150,
+ 105,
+ 80,
+ 163,
+ 25,
+ 164,
+ 239
+ ]
+ },
+ {
+ "key": [
+ 3,
+ 195,
+ 98,
+ 40,
+ 136,
+ 131,
+ 50,
+ 127,
+ 98,
+ 137,
+ 188,
+ 24,
+ 36,
+ 225,
+ 195,
+ 41,
+ 206,
+ 72,
+ 94,
+ 12,
+ 224,
+ 232,
+ 211,
+ 64,
+ 82,
+ 69,
+ 40,
+ 60,
+ 240,
+ 242,
+ 234,
+ 226
+ ],
+ "nonce": [
+ 93,
+ 233,
+ 248,
+ 130,
+ 201,
+ 21,
+ 199,
+ 39,
+ 41,
+ 178,
+ 36,
+ 92
+ ],
+ "aad": [],
+ "plaintext": [
+ 245,
+ 193,
+ 200,
+ 212,
+ 29,
+ 224,
+ 29,
+ 156,
+ 8,
+ 217,
+ 244,
+ 126,
+ 206
+ ],
+ "ciphertext": [
+ 97,
+ 175,
+ 98,
+ 25,
+ 83,
+ 161,
+ 38,
+ 162,
+ 209,
+ 222,
+ 85,
+ 158,
+ 146
+ ],
+ "tag": [
+ 251,
+ 222,
+ 183,
+ 97,
+ 35,
+ 143,
+ 43,
+ 112,
+ 197,
+ 251,
+ 61,
+ 222,
+ 10,
+ 121,
+ 120,
+ 243
+ ]
+ },
+ {
+ "key": [
+ 233,
+ 234,
+ 215,
+ 197,
+ 145,
+ 0,
+ 183,
+ 104,
+ 170,
+ 99,
+ 103,
+ 216,
+ 12,
+ 4,
+ 164,
+ 155,
+ 205,
+ 25,
+ 250,
+ 140,
+ 194,
+ 225,
+ 88,
+ 220,
+ 142,
+ 222,
+ 236,
+ 62,
+ 163,
+ 155,
+ 101,
+ 125
+ ],
+ "nonce": [
+ 232,
+ 24,
+ 84,
+ 102,
+ 93,
+ 46,
+ 10,
+ 151,
+ 21,
+ 15,
+ 186,
+ 179
+ ],
+ "aad": [],
+ "plaintext": [
+ 248,
+ 204,
+ 246,
+ 156,
+ 82,
+ 168,
+ 115,
+ 105,
+ 83,
+ 103,
+ 164,
+ 41,
+ 64
+ ],
+ "ciphertext": [
+ 175,
+ 42,
+ 113,
+ 153,
+ 96,
+ 46,
+ 233,
+ 237,
+ 32,
+ 32,
+ 199,
+ 180,
+ 205
+ ],
+ "tag": [
+ 41,
+ 113,
+ 89,
+ 69,
+ 171,
+ 28,
+ 3,
+ 78,
+ 207,
+ 205,
+ 145,
+ 164,
+ 102,
+ 252,
+ 130,
+ 46
+ ]
+ },
+ {
+ "key": [
+ 188,
+ 62,
+ 91,
+ 15,
+ 228,
+ 35,
+ 32,
+ 89,
+ 4,
+ 195,
+ 47,
+ 135,
+ 11,
+ 154,
+ 222,
+ 201,
+ 215,
+ 54,
+ 161,
+ 97,
+ 102,
+ 36,
+ 4,
+ 62,
+ 129,
+ 149,
+ 51,
+ 250,
+ 151,
+ 237,
+ 155,
+ 121
+ ],
+ "nonce": [
+ 51,
+ 95,
+ 229,
+ 24,
+ 1,
+ 53,
+ 103,
+ 60,
+ 225,
+ 167,
+ 81,
+ 68
+ ],
+ "aad": [],
+ "plaintext": [
+ 41,
+ 93,
+ 249,
+ 102,
+ 94,
+ 239,
+ 153,
+ 146,
+ 4,
+ 249,
+ 42,
+ 207,
+ 36
+ ],
+ "ciphertext": [
+ 58,
+ 194,
+ 168,
+ 161,
+ 181,
+ 5,
+ 168,
+ 70,
+ 119,
+ 173,
+ 253,
+ 179,
+ 150
+ ],
+ "tag": [
+ 33,
+ 242,
+ 10,
+ 160,
+ 187,
+ 119,
+ 212,
+ 109,
+ 114,
+ 144,
+ 188,
+ 156,
+ 151,
+ 167,
+ 167,
+ 189
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 136,
+ 156,
+ 115,
+ 224,
+ 214,
+ 78,
+ 39,
+ 42,
+ 186,
+ 75,
+ 249,
+ 119,
+ 122,
+ 252,
+ 126,
+ 230,
+ 69,
+ 125,
+ 220,
+ 150,
+ 38,
+ 173,
+ 147,
+ 23,
+ 8,
+ 237,
+ 117,
+ 48,
+ 215,
+ 27,
+ 153
+ ],
+ "nonce": [
+ 254,
+ 97,
+ 166,
+ 205,
+ 166,
+ 47,
+ 236,
+ 212,
+ 227,
+ 176,
+ 197,
+ 98
+ ],
+ "aad": [],
+ "plaintext": [
+ 226,
+ 174,
+ 64,
+ 186,
+ 91,
+ 65,
+ 3,
+ 177,
+ 163,
+ 6,
+ 108,
+ 27,
+ 87
+ ],
+ "ciphertext": [
+ 24,
+ 90,
+ 163,
+ 80,
+ 138,
+ 55,
+ 230,
+ 113,
+ 43,
+ 40,
+ 25,
+ 30,
+ 194
+ ],
+ "tag": [
+ 158,
+ 193,
+ 213,
+ 103,
+ 88,
+ 90,
+ 164,
+ 103,
+ 115,
+ 12,
+ 206,
+ 146,
+ 229,
+ 54,
+ 114,
+ 142
+ ]
+ },
+ {
+ "key": [
+ 65,
+ 224,
+ 203,
+ 26,
+ 237,
+ 47,
+ 229,
+ 62,
+ 11,
+ 104,
+ 138,
+ 203,
+ 4,
+ 42,
+ 12,
+ 113,
+ 10,
+ 60,
+ 58,
+ 227,
+ 32,
+ 91,
+ 7,
+ 192,
+ 175,
+ 81,
+ 145,
+ 7,
+ 58,
+ 189,
+ 251,
+ 169
+ ],
+ "nonce": [
+ 47,
+ 86,
+ 227,
+ 82,
+ 22,
+ 216,
+ 141,
+ 52,
+ 208,
+ 143,
+ 104,
+ 114
+ ],
+ "aad": [],
+ "plaintext": [
+ 100,
+ 130,
+ 223,
+ 14,
+ 65,
+ 80,
+ 231,
+ 61,
+ 172,
+ 81,
+ 220,
+ 50,
+ 32
+ ],
+ "ciphertext": [
+ 156,
+ 176,
+ 155,
+ 153,
+ 39,
+ 223,
+ 190,
+ 15,
+ 34,
+ 142,
+ 10,
+ 67,
+ 7
+ ],
+ "tag": [
+ 254,
+ 126,
+ 135,
+ 165,
+ 150,
+ 214,
+ 62,
+ 42,
+ 178,
+ 170,
+ 228,
+ 107,
+ 100,
+ 212,
+ 102,
+ 232
+ ]
+ },
+ {
+ "key": [
+ 82,
+ 167,
+ 102,
+ 41,
+ 84,
+ 213,
+ 37,
+ 203,
+ 0,
+ 96,
+ 43,
+ 31,
+ 245,
+ 233,
+ 55,
+ 212,
+ 16,
+ 101,
+ 172,
+ 75,
+ 146,
+ 30,
+ 40,
+ 79,
+ 250,
+ 199,
+ 60,
+ 4,
+ 207,
+ 212,
+ 98,
+ 160
+ ],
+ "nonce": [
+ 186,
+ 255,
+ 231,
+ 56,
+ 86,
+ 171,
+ 26,
+ 71,
+ 251,
+ 31,
+ 238,
+ 191
+ ],
+ "aad": [],
+ "plaintext": [
+ 157,
+ 11,
+ 92,
+ 167,
+ 18,
+ 249,
+ 124,
+ 170,
+ 24,
+ 117,
+ 211,
+ 173,
+ 135
+ ],
+ "ciphertext": [
+ 253,
+ 1,
+ 22,
+ 83,
+ 128,
+ 174,
+ 221,
+ 107,
+ 226,
+ 38,
+ 166,
+ 106,
+ 243
+ ],
+ "tag": [
+ 53,
+ 164,
+ 146,
+ 227,
+ 153,
+ 82,
+ 194,
+ 100,
+ 86,
+ 133,
+ 11,
+ 1,
+ 114,
+ 215,
+ 35,
+ 209
+ ]
+ },
+ {
+ "key": [
+ 196,
+ 186,
+ 219,
+ 151,
+ 102,
+ 152,
+ 111,
+ 174,
+ 184,
+ 136,
+ 177,
+ 219,
+ 51,
+ 6,
+ 10,
+ 156,
+ 209,
+ 240,
+ 46,
+ 26,
+ 254,
+ 122,
+ 170,
+ 234,
+ 7,
+ 45,
+ 144,
+ 87,
+ 80,
+ 203,
+ 115,
+ 82
+ ],
+ "nonce": [
+ 204,
+ 105,
+ 102,
+ 233,
+ 216,
+ 26,
+ 41,
+ 138,
+ 86,
+ 20,
+ 22,
+ 212
+ ],
+ "aad": [],
+ "plaintext": [
+ 222,
+ 104,
+ 251,
+ 81,
+ 115,
+ 27,
+ 69,
+ 231,
+ 194,
+ 197,
+ 6,
+ 57,
+ 35
+ ],
+ "ciphertext": [
+ 245,
+ 190,
+ 65,
+ 242,
+ 200,
+ 195,
+ 46,
+ 1,
+ 9,
+ 141,
+ 67,
+ 48,
+ 87
+ ],
+ "tag": [
+ 200,
+ 43,
+ 27,
+ 1,
+ 41,
+ 22,
+ 171,
+ 110,
+ 216,
+ 81,
+ 213,
+ 152,
+ 41,
+ 218,
+ 216,
+ 171
+ ]
+ },
+ {
+ "key": [
+ 218,
+ 216,
+ 157,
+ 155,
+ 233,
+ 187,
+ 161,
+ 56,
+ 205,
+ 207,
+ 135,
+ 82,
+ 196,
+ 91,
+ 87,
+ 157,
+ 126,
+ 39,
+ 195,
+ 219,
+ 180,
+ 15,
+ 83,
+ 231,
+ 113,
+ 221,
+ 140,
+ 253,
+ 80,
+ 10,
+ 162,
+ 213
+ ],
+ "nonce": [
+ 207,
+ 178,
+ 174,
+ 200,
+ 44,
+ 250,
+ 108,
+ 125,
+ 137,
+ 238,
+ 114,
+ 255
+ ],
+ "aad": [
+ 110,
+ 67,
+ 120,
+ 74,
+ 145,
+ 133,
+ 26,
+ 119,
+ 102,
+ 122,
+ 2,
+ 25,
+ 142,
+ 40,
+ 220,
+ 50
+ ],
+ "plaintext": [
+ 181,
+ 38,
+ 186,
+ 16,
+ 80,
+ 23,
+ 125,
+ 5,
+ 176,
+ 247,
+ 47,
+ 141,
+ 103
+ ],
+ "ciphertext": [
+ 139,
+ 41,
+ 230,
+ 110,
+ 146,
+ 78,
+ 202,
+ 232,
+ 79,
+ 109,
+ 143,
+ 125,
+ 104
+ ],
+ "tag": [
+ 30,
+ 54,
+ 88,
+ 5,
+ 200,
+ 242,
+ 139,
+ 46,
+ 216,
+ 165,
+ 202,
+ 223,
+ 217,
+ 7,
+ 145,
+ 88
+ ]
+ },
+ {
+ "key": [
+ 13,
+ 53,
+ 211,
+ 219,
+ 217,
+ 156,
+ 213,
+ 224,
+ 136,
+ 202,
+ 246,
+ 134,
+ 177,
+ 206,
+ 173,
+ 157,
+ 239,
+ 224,
+ 198,
+ 0,
+ 20,
+ 99,
+ 233,
+ 46,
+ 109,
+ 159,
+ 205,
+ 194,
+ 176,
+ 220,
+ 186,
+ 246
+ ],
+ "nonce": [
+ 249,
+ 19,
+ 158,
+ 185,
+ 54,
+ 141,
+ 105,
+ 172,
+ 72,
+ 71,
+ 157,
+ 31
+ ],
+ "aad": [
+ 130,
+ 92,
+ 199,
+ 19,
+ 187,
+ 65,
+ 199,
+ 137,
+ 193,
+ 172,
+ 224,
+ 242,
+ 208,
+ 221,
+ 51,
+ 119
+ ],
+ "plaintext": [
+ 94,
+ 33,
+ 3,
+ 235,
+ 62,
+ 115,
+ 146,
+ 152,
+ 201,
+ 245,
+ 198,
+ 186,
+ 14
+ ],
+ "ciphertext": [
+ 143,
+ 243,
+ 135,
+ 14,
+ 236,
+ 1,
+ 118,
+ 217,
+ 240,
+ 198,
+ 193,
+ 177,
+ 162
+ ],
+ "tag": [
+ 52,
+ 66,
+ 52,
+ 71,
+ 85,
+ 56,
+ 220,
+ 120,
+ 192,
+ 31,
+ 36,
+ 159,
+ 103,
+ 62,
+ 8,
+ 98
+ ]
+ },
+ {
+ "key": [
+ 211,
+ 93,
+ 100,
+ 241,
+ 135,
+ 43,
+ 220,
+ 180,
+ 34,
+ 34,
+ 143,
+ 13,
+ 99,
+ 248,
+ 228,
+ 137,
+ 119,
+ 237,
+ 104,
+ 209,
+ 67,
+ 246,
+ 72,
+ 174,
+ 44,
+ 216,
+ 82,
+ 249,
+ 68,
+ 176,
+ 230,
+ 221
+ ],
+ "nonce": [
+ 11,
+ 33,
+ 132,
+ 170,
+ 219,
+ 232,
+ 181,
+ 21,
+ 146,
+ 77,
+ 218,
+ 94
+ ],
+ "aad": [
+ 136,
+ 143,
+ 50,
+ 141,
+ 158,
+ 158,
+ 235,
+ 187,
+ 156,
+ 178,
+ 112,
+ 75,
+ 91,
+ 136,
+ 13,
+ 102
+ ],
+ "plaintext": [
+ 200,
+ 249,
+ 153,
+ 170,
+ 26,
+ 8,
+ 135,
+ 29,
+ 116,
+ 219,
+ 73,
+ 12,
+ 243
+ ],
+ "ciphertext": [
+ 173,
+ 13,
+ 94,
+ 124,
+ 16,
+ 101,
+ 163,
+ 75,
+ 39,
+ 162,
+ 86,
+ 209,
+ 68
+ ],
+ "tag": [
+ 140,
+ 142,
+ 112,
+ 118,
+ 149,
+ 15,
+ 127,
+ 42,
+ 235,
+ 166,
+ 46,
+ 30,
+ 118,
+ 22,
+ 80,
+ 213
+ ]
+ },
+ {
+ "key": [
+ 148,
+ 132,
+ 183,
+ 206,
+ 60,
+ 17,
+ 138,
+ 138,
+ 45,
+ 85,
+ 108,
+ 47,
+ 123,
+ 164,
+ 31,
+ 202,
+ 52,
+ 246,
+ 12,
+ 158,
+ 161,
+ 7,
+ 1,
+ 113,
+ 69,
+ 156,
+ 158,
+ 116,
+ 135,
+ 201,
+ 83,
+ 126
+ ],
+ "nonce": [
+ 135,
+ 188,
+ 3,
+ 53,
+ 34,
+ 174,
+ 132,
+ 210,
+ 171,
+ 232,
+ 99,
+ 197
+ ],
+ "aad": [
+ 7,
+ 238,
+ 24,
+ 115,
+ 123,
+ 155,
+ 248,
+ 34,
+ 57,
+ 121,
+ 160,
+ 28,
+ 89,
+ 169,
+ 14,
+ 180
+ ],
+ "plaintext": [
+ 20,
+ 216,
+ 0,
+ 71,
+ 147,
+ 25,
+ 5,
+ 99,
+ 130,
+ 94,
+ 39,
+ 61,
+ 218
+ ],
+ "ciphertext": [
+ 67,
+ 3,
+ 74,
+ 44,
+ 87,
+ 204,
+ 172,
+ 195,
+ 103,
+ 121,
+ 109,
+ 118,
+ 106
+ ],
+ "tag": [
+ 76,
+ 152,
+ 28,
+ 168,
+ 182,
+ 233,
+ 229,
+ 32,
+ 146,
+ 245,
+ 67,
+ 94,
+ 126,
+ 245,
+ 95,
+ 187
+ ]
+ },
+ {
+ "key": [
+ 79,
+ 69,
+ 57,
+ 228,
+ 168,
+ 14,
+ 192,
+ 26,
+ 20,
+ 214,
+ 187,
+ 27,
+ 174,
+ 0,
+ 16,
+ 248,
+ 168,
+ 179,
+ 242,
+ 205,
+ 10,
+ 192,
+ 26,
+ 223,
+ 35,
+ 154,
+ 155,
+ 43,
+ 117,
+ 95,
+ 6,
+ 20
+ ],
+ "nonce": [
+ 43,
+ 111,
+ 0,
+ 206,
+ 21,
+ 112,
+ 67,
+ 43,
+ 245,
+ 47,
+ 220,
+ 172
+ ],
+ "aad": [
+ 13,
+ 114,
+ 161,
+ 62,
+ 255,
+ 228,
+ 5,
+ 68,
+ 197,
+ 124,
+ 193,
+ 128,
+ 5,
+ 185,
+ 152,
+ 203
+ ],
+ "plaintext": [
+ 130,
+ 12,
+ 201,
+ 56,
+ 158,
+ 126,
+ 116,
+ 202,
+ 28,
+ 187,
+ 90,
+ 95,
+ 230
+ ],
+ "ciphertext": [
+ 153,
+ 85,
+ 63,
+ 223,
+ 62,
+ 119,
+ 126,
+ 42,
+ 75,
+ 59,
+ 106,
+ 85,
+ 56
+ ],
+ "tag": [
+ 60,
+ 191,
+ 81,
+ 100,
+ 10,
+ 58,
+ 147,
+ 195,
+ 102,
+ 44,
+ 115,
+ 142,
+ 152,
+ 251,
+ 54,
+ 162
+ ]
+ },
+ {
+ "key": [
+ 47,
+ 94,
+ 147,
+ 238,
+ 36,
+ 168,
+ 205,
+ 47,
+ 198,
+ 211,
+ 118,
+ 95,
+ 18,
+ 210,
+ 23,
+ 157,
+ 219,
+ 131,
+ 151,
+ 120,
+ 62,
+ 19,
+ 106,
+ 249,
+ 224,
+ 172,
+ 117,
+ 241,
+ 111,
+ 202,
+ 69,
+ 30
+ ],
+ "nonce": [
+ 13,
+ 195,
+ 199,
+ 10,
+ 25,
+ 31,
+ 55,
+ 34,
+ 100,
+ 31,
+ 215,
+ 1
+ ],
+ "aad": [
+ 235,
+ 171,
+ 48,
+ 203,
+ 204,
+ 153,
+ 144,
+ 83,
+ 84,
+ 228,
+ 238,
+ 111,
+ 7,
+ 199,
+ 219,
+ 135
+ ],
+ "plaintext": [
+ 78,
+ 150,
+ 70,
+ 55,
+ 147,
+ 205,
+ 237,
+ 164,
+ 3,
+ 102,
+ 140,
+ 74,
+ 238
+ ],
+ "ciphertext": [
+ 171,
+ 3,
+ 248,
+ 202,
+ 123,
+ 27,
+ 21,
+ 11,
+ 220,
+ 38,
+ 212,
+ 230,
+ 145
+ ],
+ "tag": [
+ 2,
+ 5,
+ 70,
+ 175,
+ 255,
+ 66,
+ 144,
+ 196,
+ 200,
+ 239,
+ 127,
+ 195,
+ 128,
+ 53,
+ 235,
+ 253
+ ]
+ },
+ {
+ "key": [
+ 169,
+ 2,
+ 225,
+ 93,
+ 6,
+ 239,
+ 90,
+ 211,
+ 52,
+ 208,
+ 236,
+ 101,
+ 2,
+ 233,
+ 54,
+ 238,
+ 83,
+ 239,
+ 63,
+ 54,
+ 8,
+ 247,
+ 112,
+ 136,
+ 72,
+ 177,
+ 28,
+ 239,
+ 169,
+ 41,
+ 131,
+ 209
+ ],
+ "nonce": [
+ 185,
+ 243,
+ 233,
+ 102,
+ 239,
+ 164,
+ 58,
+ 180,
+ 172,
+ 161,
+ 242,
+ 216
+ ],
+ "aad": [
+ 46,
+ 170,
+ 53,
+ 192,
+ 11,
+ 241,
+ 207,
+ 138,
+ 129,
+ 145,
+ 155,
+ 208,
+ 75,
+ 67,
+ 253,
+ 151
+ ],
+ "plaintext": [
+ 57,
+ 63,
+ 243,
+ 223,
+ 229,
+ 28,
+ 212,
+ 53,
+ 67,
+ 228,
+ 226,
+ 159,
+ 204
+ ],
+ "ciphertext": [
+ 126,
+ 137,
+ 40,
+ 180,
+ 80,
+ 198,
+ 34,
+ 172,
+ 142,
+ 254,
+ 41,
+ 213,
+ 160
+ ],
+ "tag": [
+ 90,
+ 40,
+ 93,
+ 233,
+ 89,
+ 144,
+ 174,
+ 241,
+ 113,
+ 98,
+ 147,
+ 80,
+ 187,
+ 202,
+ 244,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 150,
+ 101,
+ 121,
+ 118,
+ 218,
+ 118,
+ 146,
+ 0,
+ 78,
+ 39,
+ 27,
+ 89,
+ 78,
+ 131,
+ 4,
+ 247,
+ 125,
+ 185,
+ 201,
+ 231,
+ 120,
+ 89,
+ 36,
+ 107,
+ 179,
+ 10,
+ 22,
+ 35,
+ 155,
+ 167,
+ 106,
+ 83
+ ],
+ "nonce": [
+ 121,
+ 34,
+ 97,
+ 0,
+ 175,
+ 234,
+ 48,
+ 100,
+ 72,
+ 118,
+ 231,
+ 154
+ ],
+ "aad": [
+ 237,
+ 231,
+ 169,
+ 7,
+ 42,
+ 0,
+ 134,
+ 185,
+ 161,
+ 229,
+ 93,
+ 144,
+ 7,
+ 71,
+ 207,
+ 118
+ ],
+ "plaintext": [
+ 43,
+ 8,
+ 51,
+ 160,
+ 101,
+ 195,
+ 133,
+ 62,
+ 226,
+ 124,
+ 137,
+ 104,
+ 208
+ ],
+ "ciphertext": [
+ 25,
+ 55,
+ 49,
+ 104,
+ 241,
+ 164,
+ 5,
+ 42,
+ 87,
+ 198,
+ 184,
+ 20,
+ 111
+ ],
+ "tag": [
+ 222,
+ 187,
+ 240,
+ 68,
+ 50,
+ 83,
+ 132,
+ 185,
+ 10,
+ 12,
+ 68,
+ 45,
+ 149,
+ 69,
+ 95,
+ 185
+ ]
+ },
+ {
+ "key": [
+ 99,
+ 14,
+ 161,
+ 62,
+ 181,
+ 245,
+ 35,
+ 120,
+ 185,
+ 118,
+ 186,
+ 38,
+ 98,
+ 248,
+ 36,
+ 220,
+ 98,
+ 41,
+ 32,
+ 117,
+ 154,
+ 21,
+ 210,
+ 227,
+ 65,
+ 196,
+ 70,
+ 176,
+ 62,
+ 167,
+ 189,
+ 92
+ ],
+ "nonce": [
+ 15,
+ 158,
+ 190,
+ 71,
+ 104,
+ 47,
+ 147,
+ 212,
+ 76,
+ 77,
+ 179,
+ 20
+ ],
+ "aad": [
+ 90,
+ 216,
+ 233,
+ 207,
+ 254,
+ 98,
+ 46,
+ 159,
+ 53,
+ 189,
+ 177,
+ 133,
+ 71,
+ 56,
+ 104,
+ 229
+ ],
+ "plaintext": [
+ 92,
+ 115,
+ 73,
+ 100,
+ 135,
+ 138,
+ 66,
+ 80,
+ 163,
+ 191,
+ 97,
+ 253,
+ 214
+ ],
+ "ciphertext": [
+ 103,
+ 203,
+ 109,
+ 148,
+ 51,
+ 64,
+ 208,
+ 2,
+ 211,
+ 50,
+ 63,
+ 204,
+ 78
+ ],
+ "tag": [
+ 245,
+ 220,
+ 15,
+ 136,
+ 242,
+ 54,
+ 86,
+ 12,
+ 78,
+ 42,
+ 109,
+ 108,
+ 21,
+ 211,
+ 192,
+ 222
+ ]
+ },
+ {
+ "key": [
+ 198,
+ 79,
+ 138,
+ 58,
+ 194,
+ 48,
+ 220,
+ 230,
+ 27,
+ 83,
+ 215,
+ 181,
+ 132,
+ 242,
+ 48,
+ 147,
+ 132,
+ 39,
+ 77,
+ 75,
+ 50,
+ 212,
+ 4,
+ 188,
+ 12,
+ 73,
+ 31,
+ 18,
+ 151,
+ 129,
+ 229,
+ 45
+ ],
+ "nonce": [
+ 127,
+ 75,
+ 59,
+ 207,
+ 118,
+ 63,
+ 158,
+ 45,
+ 8,
+ 81,
+ 106,
+ 109
+ ],
+ "aad": [
+ 137,
+ 237,
+ 105,
+ 69,
+ 84,
+ 126,
+ 229,
+ 153,
+ 141,
+ 225,
+ 187,
+ 45,
+ 47,
+ 11,
+ 239,
+ 30
+ ],
+ "plaintext": [
+ 254,
+ 88,
+ 17,
+ 40,
+ 174,
+ 152,
+ 50,
+ 210,
+ 126,
+ 197,
+ 139,
+ 215,
+ 172
+ ],
+ "ciphertext": [
+ 129,
+ 215,
+ 168,
+ 253,
+ 175,
+ 66,
+ 181,
+ 113,
+ 107,
+ 137,
+ 33,
+ 153,
+ 201
+ ],
+ "tag": [
+ 129,
+ 131,
+ 170,
+ 255,
+ 76,
+ 9,
+ 115,
+ 254,
+ 86,
+ 192,
+ 44,
+ 46,
+ 12,
+ 126,
+ 68,
+ 87
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 115,
+ 103,
+ 15,
+ 178,
+ 33,
+ 247,
+ 238,
+ 24,
+ 95,
+ 88,
+ 24,
+ 6,
+ 94,
+ 34,
+ 221,
+ 163,
+ 120,
+ 15,
+ 201,
+ 0,
+ 252,
+ 2,
+ 239,
+ 0,
+ 35,
+ 44,
+ 102,
+ 29,
+ 123,
+ 255,
+ 206
+ ],
+ "nonce": [
+ 195,
+ 61,
+ 230,
+ 83,
+ 68,
+ 207,
+ 191,
+ 34,
+ 142,
+ 22,
+ 82,
+ 189
+ ],
+ "aad": [
+ 225,
+ 165,
+ 229,
+ 36,
+ 39,
+ 241,
+ 197,
+ 184,
+ 135,
+ 87,
+ 90,
+ 111,
+ 44,
+ 68,
+ 84,
+ 41
+ ],
+ "plaintext": [
+ 173,
+ 164,
+ 217,
+ 129,
+ 71,
+ 179,
+ 14,
+ 90,
+ 144,
+ 18,
+ 41,
+ 149,
+ 42
+ ],
+ "ciphertext": [
+ 110,
+ 212,
+ 228,
+ 189,
+ 31,
+ 149,
+ 61,
+ 71,
+ 197,
+ 40,
+ 140,
+ 72,
+ 244
+ ],
+ "tag": [
+ 64,
+ 78,
+ 58,
+ 155,
+ 159,
+ 93,
+ 218,
+ 185,
+ 238,
+ 22,
+ 154,
+ 124,
+ 124,
+ 44,
+ 247,
+ 175
+ ]
+ },
+ {
+ "key": [
+ 246,
+ 197,
+ 217,
+ 86,
+ 43,
+ 125,
+ 189,
+ 208,
+ 191,
+ 98,
+ 141,
+ 220,
+ 157,
+ 102,
+ 12,
+ 39,
+ 132,
+ 27,
+ 6,
+ 166,
+ 56,
+ 245,
+ 102,
+ 1,
+ 244,
+ 8,
+ 242,
+ 58,
+ 162,
+ 246,
+ 111,
+ 78
+ ],
+ "nonce": [
+ 103,
+ 40,
+ 11,
+ 203,
+ 148,
+ 91,
+ 166,
+ 237,
+ 161,
+ 198,
+ 200,
+ 10
+ ],
+ "aad": [
+ 91,
+ 51,
+ 113,
+ 101,
+ 103,
+ 182,
+ 198,
+ 123,
+ 120,
+ 234,
+ 92,
+ 217,
+ 52,
+ 155,
+ 202,
+ 175
+ ],
+ "plaintext": [
+ 244,
+ 202,
+ 234,
+ 210,
+ 66,
+ 209,
+ 128,
+ 251,
+ 210,
+ 230,
+ 211,
+ 45,
+ 12
+ ],
+ "ciphertext": [
+ 253,
+ 250,
+ 57,
+ 81,
+ 125,
+ 137,
+ 234,
+ 71,
+ 230,
+ 204,
+ 176,
+ 248,
+ 49
+ ],
+ "tag": [
+ 145,
+ 249,
+ 181,
+ 64,
+ 202,
+ 144,
+ 227,
+ 16,
+ 161,
+ 245,
+ 193,
+ 44,
+ 3,
+ 216,
+ 194,
+ 94
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 29,
+ 36,
+ 47,
+ 19,
+ 222,
+ 118,
+ 56,
+ 184,
+ 112,
+ 224,
+ 170,
+ 133,
+ 132,
+ 62,
+ 164,
+ 58,
+ 146,
+ 85,
+ 164,
+ 250,
+ 77,
+ 50,
+ 5,
+ 115,
+ 71,
+ 243,
+ 142,
+ 2,
+ 103,
+ 218,
+ 235
+ ],
+ "nonce": [
+ 134,
+ 86,
+ 43,
+ 228,
+ 98,
+ 27,
+ 77,
+ 94,
+ 177,
+ 152,
+ 48,
+ 117
+ ],
+ "aad": [
+ 212,
+ 138,
+ 148,
+ 144,
+ 160,
+ 183,
+ 222,
+ 176,
+ 35,
+ 70,
+ 6,
+ 8,
+ 183,
+ 219,
+ 121,
+ 206
+ ],
+ "plaintext": [
+ 210,
+ 14,
+ 89,
+ 168,
+ 239,
+ 26,
+ 125,
+ 233,
+ 9,
+ 108,
+ 62,
+ 103,
+ 70
+ ],
+ "ciphertext": [
+ 53,
+ 206,
+ 105,
+ 251,
+ 21,
+ 208,
+ 17,
+ 89,
+ 197,
+ 34,
+ 102,
+ 83,
+ 124
+ ],
+ "tag": [
+ 220,
+ 72,
+ 247,
+ 184,
+ 211,
+ 254,
+ 238,
+ 178,
+ 111,
+ 207,
+ 99,
+ 192,
+ 210,
+ 168,
+ 137,
+ 236
+ ]
+ },
+ {
+ "key": [
+ 81,
+ 39,
+ 83,
+ 206,
+ 167,
+ 200,
+ 166,
+ 22,
+ 95,
+ 46,
+ 187,
+ 211,
+ 118,
+ 140,
+ 199,
+ 185,
+ 81,
+ 2,
+ 155,
+ 213,
+ 39,
+ 177,
+ 38,
+ 35,
+ 60,
+ 240,
+ 132,
+ 26,
+ 255,
+ 117,
+ 104,
+ 199
+ ],
+ "nonce": [
+ 183,
+ 146,
+ 33,
+ 128,
+ 45,
+ 141,
+ 151,
+ 151,
+ 128,
+ 65,
+ 254,
+ 132
+ ],
+ "aad": [
+ 34,
+ 250,
+ 6,
+ 5,
+ 185,
+ 85,
+ 163,
+ 52,
+ 104,
+ 243,
+ 230,
+ 1,
+ 96,
+ 185,
+ 7,
+ 242
+ ],
+ "plaintext": [
+ 198,
+ 61,
+ 108,
+ 16,
+ 6,
+ 182,
+ 21,
+ 39,
+ 92,
+ 8,
+ 87,
+ 48,
+ 177
+ ],
+ "ciphertext": [
+ 189,
+ 181,
+ 215,
+ 242,
+ 71,
+ 50,
+ 189,
+ 186,
+ 29,
+ 42,
+ 66,
+ 145,
+ 8
+ ],
+ "tag": [
+ 252,
+ 169,
+ 35,
+ 210,
+ 148,
+ 26,
+ 111,
+ 217,
+ 213,
+ 150,
+ 184,
+ 108,
+ 58,
+ 251,
+ 10,
+ 217
+ ]
+ },
+ {
+ "key": [
+ 231,
+ 177,
+ 132,
+ 41,
+ 227,
+ 237,
+ 222,
+ 210,
+ 217,
+ 146,
+ 202,
+ 39,
+ 175,
+ 171,
+ 153,
+ 228,
+ 56,
+ 184,
+ 175,
+ 242,
+ 95,
+ 200,
+ 70,
+ 2,
+ 1,
+ 250,
+ 190,
+ 8,
+ 231,
+ 212,
+ 142,
+ 194
+ ],
+ "nonce": [
+ 157,
+ 185,
+ 183,
+ 50,
+ 10,
+ 170,
+ 198,
+ 133,
+ 56,
+ 227,
+ 123,
+ 247
+ ],
+ "aad": [
+ 40,
+ 62,
+ 18,
+ 162,
+ 110,
+ 22,
+ 70,
+ 8,
+ 123,
+ 91,
+ 157,
+ 140,
+ 18,
+ 61,
+ 222,
+ 31
+ ],
+ "plaintext": [
+ 196,
+ 113,
+ 59,
+ 198,
+ 122,
+ 89,
+ 146,
+ 142,
+ 238,
+ 80,
+ 3,
+ 153,
+ 1
+ ],
+ "ciphertext": [
+ 165,
+ 147,
+ 47,
+ 146,
+ 189,
+ 161,
+ 7,
+ 210,
+ 143,
+ 42,
+ 138,
+ 170,
+ 116
+ ],
+ "tag": [
+ 154,
+ 19,
+ 87,
+ 253,
+ 142,
+ 210,
+ 31,
+ 225,
+ 77,
+ 28,
+ 162,
+ 229,
+ 151,
+ 195,
+ 239,
+ 23
+ ]
+ },
+ {
+ "key": [
+ 105,
+ 180,
+ 88,
+ 242,
+ 100,
+ 74,
+ 249,
+ 2,
+ 4,
+ 99,
+ 180,
+ 14,
+ 229,
+ 3,
+ 205,
+ 240,
+ 131,
+ 214,
+ 147,
+ 129,
+ 94,
+ 38,
+ 89,
+ 5,
+ 26,
+ 224,
+ 208,
+ 57,
+ 230,
+ 6,
+ 169,
+ 112
+ ],
+ "nonce": [
+ 141,
+ 29,
+ 168,
+ 171,
+ 95,
+ 145,
+ 204,
+ 208,
+ 146,
+ 5,
+ 148,
+ 75
+ ],
+ "aad": [
+ 3,
+ 106,
+ 213,
+ 229,
+ 73,
+ 78,
+ 248,
+ 23,
+ 168,
+ 175,
+ 47,
+ 88,
+ 40,
+ 120,
+ 74,
+ 75,
+ 254,
+ 221,
+ 22,
+ 83
+ ],
+ "plaintext": [
+ 243,
+ 224,
+ 224,
+ 146,
+ 36,
+ 37,
+ 107,
+ 242,
+ 26,
+ 131,
+ 165,
+ 222,
+ 141
+ ],
+ "ciphertext": [
+ 192,
+ 166,
+ 45,
+ 119,
+ 230,
+ 3,
+ 27,
+ 253,
+ 198,
+ 177,
+ 58,
+ 226,
+ 23
+ ],
+ "tag": [
+ 167,
+ 148,
+ 169,
+ 170,
+ 238,
+ 72,
+ 205,
+ 146,
+ 228,
+ 119,
+ 97,
+ 191,
+ 27,
+ 175,
+ 240,
+ 175
+ ]
+ },
+ {
+ "key": [
+ 151,
+ 67,
+ 30,
+ 86,
+ 94,
+ 131,
+ 112,
+ 164,
+ 135,
+ 157,
+ 233,
+ 98,
+ 116,
+ 106,
+ 47,
+ 214,
+ 126,
+ 202,
+ 134,
+ 139,
+ 28,
+ 142,
+ 81,
+ 238,
+ 206,
+ 44,
+ 31,
+ 148,
+ 247,
+ 74,
+ 244,
+ 7
+ ],
+ "nonce": [
+ 23,
+ 251,
+ 99,
+ 6,
+ 110,
+ 39,
+ 38,
+ 210,
+ 130,
+ 236,
+ 198,
+ 16
+ ],
+ "aad": [
+ 120,
+ 231,
+ 55,
+ 77,
+ 167,
+ 199,
+ 123,
+ 229,
+ 147,
+ 141,
+ 232,
+ 221,
+ 118,
+ 207,
+ 3,
+ 8,
+ 97,
+ 131,
+ 6,
+ 169
+ ],
+ "plaintext": [
+ 226,
+ 22,
+ 41,
+ 204,
+ 151,
+ 63,
+ 190,
+ 64,
+ 23,
+ 110,
+ 98,
+ 29,
+ 157
+ ],
+ "ciphertext": [
+ 128,
+ 219,
+ 212,
+ 105,
+ 222,
+ 72,
+ 3,
+ 137,
+ 186,
+ 108,
+ 47,
+ 202,
+ 82
+ ],
+ "tag": [
+ 78,
+ 40,
+ 74,
+ 187,
+ 139,
+ 79,
+ 159,
+ 19,
+ 199,
+ 73,
+ 122,
+ 229,
+ 109,
+ 240,
+ 95,
+ 165
+ ]
+ },
+ {
+ "key": [
+ 43,
+ 20,
+ 173,
+ 104,
+ 244,
+ 66,
+ 247,
+ 249,
+ 42,
+ 114,
+ 199,
+ 186,
+ 144,
+ 155,
+ 207,
+ 153,
+ 92,
+ 130,
+ 123,
+ 67,
+ 157,
+ 57,
+ 160,
+ 47,
+ 119,
+ 201,
+ 191,
+ 143,
+ 132,
+ 171,
+ 4,
+ 220
+ ],
+ "nonce": [
+ 76,
+ 132,
+ 126,
+ 165,
+ 159,
+ 131,
+ 216,
+ 43,
+ 10,
+ 192,
+ 188,
+ 55
+ ],
+ "aad": [
+ 142,
+ 182,
+ 80,
+ 246,
+ 98,
+ 190,
+ 35,
+ 25,
+ 30,
+ 136,
+ 241,
+ 205,
+ 4,
+ 34,
+ 229,
+ 116,
+ 83,
+ 9,
+ 14,
+ 33
+ ],
+ "plaintext": [
+ 179,
+ 196,
+ 178,
+ 110,
+ 187,
+ 252,
+ 113,
+ 127,
+ 81,
+ 232,
+ 116,
+ 88,
+ 125
+ ],
+ "ciphertext": [
+ 62,
+ 40,
+ 132,
+ 120,
+ 104,
+ 142,
+ 96,
+ 23,
+ 137,
+ 32,
+ 9,
+ 8,
+ 20
+ ],
+ "tag": [
+ 169,
+ 40,
+ 220,
+ 2,
+ 105,
+ 134,
+ 130,
+ 48,
+ 98,
+ 243,
+ 126,
+ 200,
+ 37,
+ 198,
+ 123,
+ 149
+ ]
+ },
+ {
+ "key": [
+ 17,
+ 244,
+ 27,
+ 247,
+ 212,
+ 185,
+ 172,
+ 123,
+ 0,
+ 53,
+ 206,
+ 84,
+ 72,
+ 30,
+ 209,
+ 80,
+ 47,
+ 240,
+ 92,
+ 250,
+ 224,
+ 47,
+ 251,
+ 169,
+ 229,
+ 2,
+ 246,
+ 27,
+ 254,
+ 120,
+ 83,
+ 81
+ ],
+ "nonce": [
+ 6,
+ 245,
+ 207,
+ 140,
+ 18,
+ 194,
+ 54,
+ 224,
+ 148,
+ 195,
+ 32,
+ 20
+ ],
+ "aad": [
+ 209,
+ 92,
+ 189,
+ 230,
+ 41,
+ 11,
+ 119,
+ 35,
+ 98,
+ 92,
+ 153,
+ 255,
+ 168,
+ 42,
+ 156,
+ 76,
+ 3,
+ 237,
+ 33,
+ 77
+ ],
+ "plaintext": [
+ 190,
+ 227,
+ 116,
+ 163,
+ 34,
+ 147,
+ 202,
+ 213,
+ 225,
+ 178,
+ 132,
+ 25,
+ 179
+ ],
+ "ciphertext": [
+ 63,
+ 129,
+ 34,
+ 222,
+ 182,
+ 219,
+ 224,
+ 255,
+ 89,
+ 100,
+ 65,
+ 32,
+ 61
+ ],
+ "tag": [
+ 96,
+ 239,
+ 127,
+ 55,
+ 35,
+ 113,
+ 11,
+ 154,
+ 183,
+ 68,
+ 248,
+ 238,
+ 160,
+ 2,
+ 103,
+ 247
+ ]
+ },
+ {
+ "key": [
+ 24,
+ 202,
+ 87,
+ 45,
+ 160,
+ 85,
+ 162,
+ 235,
+ 180,
+ 121,
+ 190,
+ 109,
+ 109,
+ 113,
+ 100,
+ 231,
+ 143,
+ 89,
+ 43,
+ 21,
+ 156,
+ 222,
+ 167,
+ 110,
+ 159,
+ 226,
+ 8,
+ 6,
+ 45,
+ 123,
+ 63,
+ 161
+ ],
+ "nonce": [
+ 27,
+ 4,
+ 30,
+ 83,
+ 74,
+ 226,
+ 7,
+ 72,
+ 38,
+ 47,
+ 57,
+ 41
+ ],
+ "aad": [
+ 232,
+ 169,
+ 37,
+ 215,
+ 206,
+ 24,
+ 221,
+ 69,
+ 107,
+ 7,
+ 28,
+ 180,
+ 196,
+ 102,
+ 85,
+ 148,
+ 14,
+ 251,
+ 233,
+ 145
+ ],
+ "plaintext": [
+ 205,
+ 162,
+ 250,
+ 0,
+ 21,
+ 54,
+ 30,
+ 207,
+ 104,
+ 76,
+ 107,
+ 167,
+ 209
+ ],
+ "ciphertext": [
+ 116,
+ 13,
+ 141,
+ 87,
+ 142,
+ 46,
+ 117,
+ 34,
+ 195,
+ 16,
+ 25,
+ 244,
+ 113
+ ],
+ "tag": [
+ 242,
+ 238,
+ 181,
+ 175,
+ 27,
+ 254,
+ 221,
+ 16,
+ 87,
+ 10,
+ 19,
+ 127,
+ 226,
+ 86,
+ 108,
+ 63
+ ]
+ },
+ {
+ "key": [
+ 13,
+ 226,
+ 172,
+ 91,
+ 254,
+ 201,
+ 232,
+ 168,
+ 89,
+ 195,
+ 182,
+ 184,
+ 109,
+ 222,
+ 5,
+ 55,
+ 2,
+ 156,
+ 220,
+ 162,
+ 208,
+ 132,
+ 75,
+ 243,
+ 225,
+ 217,
+ 143,
+ 55,
+ 14,
+ 25,
+ 155,
+ 225
+ ],
+ "nonce": [
+ 23,
+ 120,
+ 227,
+ 8,
+ 224,
+ 34,
+ 18,
+ 136,
+ 241,
+ 235,
+ 76,
+ 90
+ ],
+ "aad": [
+ 19,
+ 98,
+ 38,
+ 79,
+ 86,
+ 85,
+ 247,
+ 25,
+ 134,
+ 170,
+ 120,
+ 142,
+ 253,
+ 72,
+ 246,
+ 252,
+ 19,
+ 187,
+ 106,
+ 180
+ ],
+ "plaintext": [
+ 87,
+ 93,
+ 147,
+ 163,
+ 65,
+ 103,
+ 99,
+ 203,
+ 211,
+ 113,
+ 181,
+ 166,
+ 113
+ ],
+ "ciphertext": [
+ 143,
+ 141,
+ 247,
+ 202,
+ 131,
+ 191,
+ 135,
+ 107,
+ 99,
+ 199,
+ 142,
+ 44,
+ 154
+ ],
+ "tag": [
+ 22,
+ 199,
+ 78,
+ 49,
+ 90,
+ 171,
+ 151,
+ 239,
+ 175,
+ 190,
+ 149,
+ 201,
+ 220,
+ 170,
+ 45,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 179,
+ 129,
+ 83,
+ 90,
+ 8,
+ 91,
+ 196,
+ 128,
+ 143,
+ 167,
+ 161,
+ 57,
+ 199,
+ 32,
+ 78,
+ 138,
+ 135,
+ 199,
+ 20,
+ 93,
+ 252,
+ 143,
+ 57,
+ 0,
+ 223,
+ 31,
+ 169,
+ 169,
+ 132,
+ 79,
+ 171,
+ 53
+ ],
+ "nonce": [
+ 33,
+ 221,
+ 197,
+ 77,
+ 60,
+ 99,
+ 63,
+ 74,
+ 52,
+ 74,
+ 14,
+ 66
+ ],
+ "aad": [
+ 122,
+ 195,
+ 186,
+ 96,
+ 14,
+ 8,
+ 54,
+ 61,
+ 219,
+ 87,
+ 196,
+ 90,
+ 134,
+ 112,
+ 187,
+ 74,
+ 187,
+ 134,
+ 157,
+ 176
+ ],
+ "plaintext": [
+ 228,
+ 217,
+ 88,
+ 206,
+ 229,
+ 131,
+ 1,
+ 11,
+ 191,
+ 211,
+ 165,
+ 48,
+ 33
+ ],
+ "ciphertext": [
+ 196,
+ 44,
+ 129,
+ 163,
+ 18,
+ 117,
+ 156,
+ 219,
+ 3,
+ 42,
+ 175,
+ 232,
+ 82
+ ],
+ "tag": [
+ 12,
+ 71,
+ 37,
+ 145,
+ 219,
+ 61,
+ 248,
+ 167,
+ 198,
+ 113,
+ 100,
+ 89,
+ 21,
+ 66,
+ 220,
+ 201
+ ]
+ },
+ {
+ "key": [
+ 41,
+ 242,
+ 30,
+ 80,
+ 41,
+ 234,
+ 73,
+ 100,
+ 185,
+ 109,
+ 198,
+ 244,
+ 195,
+ 75,
+ 45,
+ 244,
+ 204,
+ 224,
+ 47,
+ 47,
+ 207,
+ 15,
+ 22,
+ 143,
+ 253,
+ 71,
+ 14,
+ 120,
+ 88,
+ 224,
+ 160,
+ 173
+ ],
+ "nonce": [
+ 99,
+ 161,
+ 193,
+ 204,
+ 195,
+ 40,
+ 40,
+ 10,
+ 144,
+ 255,
+ 150,
+ 254
+ ],
+ "aad": [
+ 69,
+ 79,
+ 68,
+ 116,
+ 51,
+ 240,
+ 148,
+ 133,
+ 129,
+ 149,
+ 108,
+ 75,
+ 225,
+ 177,
+ 157,
+ 147,
+ 46,
+ 137,
+ 180,
+ 146
+ ],
+ "plaintext": [
+ 220,
+ 18,
+ 17,
+ 55,
+ 100,
+ 193,
+ 60,
+ 33,
+ 67,
+ 44,
+ 161,
+ 186,
+ 51
+ ],
+ "ciphertext": [
+ 28,
+ 180,
+ 90,
+ 172,
+ 93,
+ 239,
+ 147,
+ 218,
+ 239,
+ 128,
+ 107,
+ 120,
+ 30
+ ],
+ "tag": [
+ 244,
+ 176,
+ 114,
+ 60,
+ 137,
+ 96,
+ 123,
+ 102,
+ 195,
+ 146,
+ 4,
+ 155,
+ 160,
+ 66,
+ 219,
+ 99
+ ]
+ },
+ {
+ "key": [
+ 39,
+ 51,
+ 211,
+ 170,
+ 82,
+ 169,
+ 215,
+ 10,
+ 159,
+ 189,
+ 108,
+ 226,
+ 54,
+ 75,
+ 181,
+ 249,
+ 0,
+ 73,
+ 2,
+ 170,
+ 94,
+ 235,
+ 23,
+ 68,
+ 110,
+ 8,
+ 242,
+ 189,
+ 204,
+ 65,
+ 219,
+ 21
+ ],
+ "nonce": [
+ 25,
+ 108,
+ 74,
+ 221,
+ 184,
+ 74,
+ 88,
+ 190,
+ 179,
+ 103,
+ 74,
+ 122
+ ],
+ "aad": [
+ 201,
+ 130,
+ 111,
+ 227,
+ 31,
+ 41,
+ 181,
+ 91,
+ 157,
+ 15,
+ 157,
+ 169,
+ 121,
+ 88,
+ 105,
+ 161,
+ 169,
+ 139,
+ 239,
+ 229
+ ],
+ "plaintext": [
+ 203,
+ 197,
+ 12,
+ 175,
+ 218,
+ 37,
+ 68,
+ 188,
+ 210,
+ 145,
+ 232,
+ 160,
+ 37
+ ],
+ "ciphertext": [
+ 122,
+ 137,
+ 204,
+ 88,
+ 204,
+ 185,
+ 122,
+ 211,
+ 229,
+ 76,
+ 164,
+ 169,
+ 200
+ ],
+ "tag": [
+ 57,
+ 144,
+ 217,
+ 171,
+ 162,
+ 16,
+ 24,
+ 41,
+ 150,
+ 253,
+ 189,
+ 145,
+ 194,
+ 174,
+ 72,
+ 1
+ ]
+ },
+ {
+ "key": [
+ 12,
+ 75,
+ 144,
+ 5,
+ 180,
+ 7,
+ 65,
+ 92,
+ 25,
+ 103,
+ 43,
+ 205,
+ 14,
+ 190,
+ 22,
+ 159,
+ 102,
+ 254,
+ 64,
+ 79,
+ 34,
+ 82,
+ 155,
+ 175,
+ 85,
+ 86,
+ 142,
+ 9,
+ 1,
+ 233,
+ 73,
+ 34
+ ],
+ "nonce": [
+ 229,
+ 19,
+ 129,
+ 233,
+ 89,
+ 161,
+ 245,
+ 104,
+ 140,
+ 147,
+ 133,
+ 118
+ ],
+ "aad": [
+ 11,
+ 81,
+ 47,
+ 174,
+ 180,
+ 218,
+ 116,
+ 13,
+ 204,
+ 30,
+ 48,
+ 211,
+ 199,
+ 234,
+ 97,
+ 3,
+ 94,
+ 133,
+ 112,
+ 183
+ ],
+ "plaintext": [
+ 198,
+ 23,
+ 155,
+ 211,
+ 69,
+ 29,
+ 146,
+ 153,
+ 183,
+ 39,
+ 232,
+ 189,
+ 10
+ ],
+ "ciphertext": [
+ 77,
+ 63,
+ 224,
+ 134,
+ 201,
+ 144,
+ 241,
+ 96,
+ 32,
+ 180,
+ 197,
+ 238,
+ 214
+ ],
+ "tag": [
+ 159,
+ 242,
+ 41,
+ 120,
+ 69,
+ 129,
+ 71,
+ 25,
+ 248,
+ 81,
+ 171,
+ 9,
+ 67,
+ 17,
+ 126,
+ 251
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 228,
+ 66,
+ 186,
+ 55,
+ 195,
+ 81,
+ 236,
+ 9,
+ 74,
+ 72,
+ 121,
+ 66,
+ 22,
+ 165,
+ 29,
+ 32,
+ 140,
+ 106,
+ 91,
+ 160,
+ 229,
+ 189,
+ 184,
+ 243,
+ 192,
+ 240,
+ 223,
+ 193,
+ 228,
+ 237,
+ 99
+ ],
+ "nonce": [
+ 166,
+ 102,
+ 242,
+ 240,
+ 212,
+ 34,
+ 20,
+ 219,
+ 170,
+ 106,
+ 38,
+ 88
+ ],
+ "aad": [
+ 113,
+ 152,
+ 193,
+ 40,
+ 16,
+ 52,
+ 84,
+ 3,
+ 134,
+ 44,
+ 83,
+ 116,
+ 9,
+ 44,
+ 199,
+ 155,
+ 102,
+ 155,
+ 174,
+ 204
+ ],
+ "plaintext": [
+ 162,
+ 207,
+ 62,
+ 160,
+ 228,
+ 62,
+ 67,
+ 82,
+ 97,
+ 203,
+ 102,
+ 58,
+ 59
+ ],
+ "ciphertext": [
+ 113,
+ 61,
+ 64,
+ 80,
+ 248,
+ 199,
+ 253,
+ 99,
+ 192,
+ 193,
+ 191,
+ 42,
+ 217
+ ],
+ "tag": [
+ 37,
+ 10,
+ 53,
+ 226,
+ 180,
+ 91,
+ 166,
+ 176,
+ 254,
+ 36,
+ 81,
+ 47,
+ 130,
+ 19,
+ 216,
+ 203
+ ]
+ },
+ {
+ "key": [
+ 119,
+ 247,
+ 84,
+ 208,
+ 207,
+ 125,
+ 189,
+ 175,
+ 117,
+ 207,
+ 233,
+ 101,
+ 171,
+ 19,
+ 30,
+ 140,
+ 211,
+ 144,
+ 135,
+ 238,
+ 109,
+ 152,
+ 109,
+ 236,
+ 74,
+ 210,
+ 255,
+ 8,
+ 235,
+ 215,
+ 241,
+ 75
+ ],
+ "nonce": [
+ 226,
+ 138,
+ 20,
+ 243,
+ 16,
+ 124,
+ 161,
+ 144,
+ 216,
+ 36,
+ 237,
+ 95
+ ],
+ "aad": [
+ 29,
+ 236,
+ 240,
+ 203,
+ 197,
+ 10,
+ 157,
+ 166,
+ 218,
+ 212,
+ 167,
+ 133,
+ 169,
+ 65,
+ 228,
+ 185,
+ 92,
+ 229,
+ 170,
+ 168
+ ],
+ "plaintext": [
+ 84,
+ 169,
+ 122,
+ 116,
+ 136,
+ 158,
+ 85,
+ 216,
+ 4,
+ 52,
+ 81,
+ 199,
+ 150
+ ],
+ "ciphertext": [
+ 238,
+ 219,
+ 248,
+ 221,
+ 129,
+ 235,
+ 25,
+ 24,
+ 69,
+ 137,
+ 220,
+ 177,
+ 87
+ ],
+ "tag": [
+ 119,
+ 73,
+ 237,
+ 215,
+ 82,
+ 250,
+ 183,
+ 229,
+ 13,
+ 188,
+ 59,
+ 11,
+ 71,
+ 103,
+ 139,
+ 246
+ ]
+ },
+ {
+ "key": [
+ 5,
+ 35,
+ 242,
+ 50,
+ 0,
+ 30,
+ 104,
+ 189,
+ 101,
+ 167,
+ 152,
+ 55,
+ 187,
+ 175,
+ 112,
+ 236,
+ 46,
+ 32,
+ 133,
+ 19,
+ 1,
+ 216,
+ 225,
+ 47,
+ 221,
+ 181,
+ 146,
+ 106,
+ 203,
+ 33,
+ 0,
+ 203
+ ],
+ "nonce": [
+ 43,
+ 184,
+ 213,
+ 203,
+ 60,
+ 235,
+ 21,
+ 16,
+ 117,
+ 130,
+ 225,
+ 250
+ ],
+ "aad": [
+ 31,
+ 85,
+ 187,
+ 167,
+ 28,
+ 182,
+ 61,
+ 244,
+ 49,
+ 239,
+ 136,
+ 50,
+ 199,
+ 116,
+ 153,
+ 238,
+ 60,
+ 80,
+ 32,
+ 103
+ ],
+ "plaintext": [
+ 107,
+ 76,
+ 220,
+ 159,
+ 156,
+ 80,
+ 130,
+ 216,
+ 106,
+ 29,
+ 46,
+ 104,
+ 254
+ ],
+ "ciphertext": [
+ 7,
+ 159,
+ 233,
+ 14,
+ 245,
+ 23,
+ 237,
+ 47,
+ 97,
+ 74,
+ 60,
+ 216,
+ 206
+ ],
+ "tag": [
+ 83,
+ 156,
+ 48,
+ 89,
+ 10,
+ 37,
+ 39,
+ 241,
+ 213,
+ 45,
+ 250,
+ 233,
+ 41,
+ 32,
+ 121,
+ 76
+ ]
+ },
+ {
+ "key": [
+ 84,
+ 197,
+ 110,
+ 232,
+ 105,
+ 235,
+ 177,
+ 18,
+ 164,
+ 8,
+ 113,
+ 126,
+ 180,
+ 10,
+ 246,
+ 147,
+ 127,
+ 229,
+ 30,
+ 176,
+ 97,
+ 180,
+ 34,
+ 119,
+ 161,
+ 5,
+ 55,
+ 231,
+ 219,
+ 52,
+ 107,
+ 106
+ ],
+ "nonce": [
+ 91,
+ 251,
+ 99,
+ 226,
+ 243,
+ 229,
+ 178,
+ 225,
+ 180,
+ 52,
+ 52,
+ 128
+ ],
+ "aad": [
+ 116,
+ 10,
+ 176,
+ 123,
+ 156,
+ 93,
+ 226,
+ 175,
+ 163,
+ 127,
+ 7,
+ 136,
+ 174,
+ 82,
+ 48,
+ 83,
+ 92,
+ 24,
+ 32,
+ 61
+ ],
+ "plaintext": [
+ 117,
+ 249,
+ 73,
+ 107,
+ 141,
+ 12,
+ 169,
+ 110,
+ 211,
+ 175,
+ 2,
+ 220,
+ 171
+ ],
+ "ciphertext": [
+ 130,
+ 121,
+ 2,
+ 229,
+ 140,
+ 76,
+ 139,
+ 122,
+ 249,
+ 118,
+ 246,
+ 24,
+ 66
+ ],
+ "tag": [
+ 3,
+ 110,
+ 230,
+ 71,
+ 60,
+ 33,
+ 56,
+ 242,
+ 162,
+ 194,
+ 132,
+ 20,
+ 56,
+ 203,
+ 14,
+ 220
+ ]
+ },
+ {
+ "key": [
+ 217,
+ 104,
+ 255,
+ 219,
+ 237,
+ 111,
+ 252,
+ 37,
+ 155,
+ 67,
+ 16,
+ 226,
+ 233,
+ 126,
+ 66,
+ 216,
+ 119,
+ 239,
+ 93,
+ 134,
+ 210,
+ 22,
+ 153,
+ 40,
+ 197,
+ 16,
+ 49,
+ 152,
+ 55,
+ 121,
+ 164,
+ 133
+ ],
+ "nonce": [
+ 99,
+ 61,
+ 13,
+ 141,
+ 54,
+ 19,
+ 200,
+ 59,
+ 64,
+ 223,
+ 153,
+ 221
+ ],
+ "aad": [
+ 154,
+ 173,
+ 200,
+ 216,
+ 151,
+ 94,
+ 192,
+ 163,
+ 245,
+ 201,
+ 96,
+ 206,
+ 114,
+ 170,
+ 236,
+ 142,
+ 240,
+ 180,
+ 32,
+ 52
+ ],
+ "plaintext": [
+ 8,
+ 207,
+ 198,
+ 95,
+ 234,
+ 155,
+ 7,
+ 240,
+ 192,
+ 29,
+ 41,
+ 223,
+ 223
+ ],
+ "ciphertext": [
+ 123,
+ 69,
+ 15,
+ 22,
+ 43,
+ 222,
+ 220,
+ 48,
+ 27,
+ 150,
+ 163,
+ 172,
+ 54
+ ],
+ "tag": [
+ 151,
+ 13,
+ 151,
+ 52,
+ 75,
+ 20,
+ 81,
+ 243,
+ 249,
+ 105,
+ 174,
+ 185,
+ 114,
+ 211,
+ 82,
+ 230
+ ]
+ },
+ {
+ "key": [
+ 95,
+ 103,
+ 20,
+ 102,
+ 55,
+ 143,
+ 71,
+ 11,
+ 165,
+ 245,
+ 22,
+ 14,
+ 34,
+ 9,
+ 243,
+ 217,
+ 90,
+ 72,
+ 183,
+ 229,
+ 96,
+ 98,
+ 93,
+ 90,
+ 8,
+ 101,
+ 68,
+ 20,
+ 222,
+ 35,
+ 174,
+ 226
+ ],
+ "nonce": [
+ 107,
+ 60,
+ 8,
+ 166,
+ 99,
+ 208,
+ 65,
+ 50,
+ 36,
+ 61,
+ 217,
+ 108
+ ],
+ "aad": [
+ 18,
+ 150,
+ 85,
+ 89,
+ 195,
+ 29,
+ 83,
+ 143,
+ 147,
+ 123,
+ 218,
+ 110,
+ 238,
+ 156,
+ 147,
+ 176,
+ 56,
+ 115,
+ 24,
+ 220,
+ 93,
+ 148,
+ 150,
+ 251,
+ 28,
+ 58,
+ 11,
+ 155,
+ 151,
+ 141,
+ 191,
+ 235,
+ 255,
+ 42,
+ 88,
+ 35,
+ 151,
+ 78,
+ 233,
+ 214,
+ 121,
+ 131,
+ 77,
+ 190,
+ 89,
+ 247,
+ 236,
+ 81
+ ],
+ "plaintext": [
+ 196,
+ 40,
+ 89,
+ 45,
+ 159,
+ 138,
+ 127,
+ 16,
+ 126,
+ 196,
+ 208,
+ 223,
+ 5
+ ],
+ "ciphertext": [
+ 29,
+ 141,
+ 127,
+ 228,
+ 53,
+ 112,
+ 128,
+ 200,
+ 23,
+ 48,
+ 60,
+ 225,
+ 156
+ ],
+ "tag": [
+ 232,
+ 141,
+ 107,
+ 86,
+ 111,
+ 220,
+ 123,
+ 79,
+ 214,
+ 33,
+ 6,
+ 189,
+ 46,
+ 184,
+ 6,
+ 236
+ ]
+ },
+ {
+ "key": [
+ 251,
+ 204,
+ 46,
+ 127,
+ 170,
+ 66,
+ 149,
+ 8,
+ 14,
+ 64,
+ 177,
+ 65,
+ 190,
+ 248,
+ 41,
+ 186,
+ 157,
+ 52,
+ 224,
+ 105,
+ 18,
+ 49,
+ 173,
+ 108,
+ 98,
+ 181,
+ 16,
+ 144,
+ 9,
+ 215,
+ 75,
+ 94
+ ],
+ "nonce": [
+ 127,
+ 53,
+ 217,
+ 236,
+ 101,
+ 28,
+ 91,
+ 9,
+ 102,
+ 87,
+ 62,
+ 47
+ ],
+ "aad": [
+ 99,
+ 48,
+ 209,
+ 96,
+ 2,
+ 168,
+ 253,
+ 81,
+ 118,
+ 32,
+ 67,
+ 242,
+ 223,
+ 6,
+ 236,
+ 201,
+ 197,
+ 53,
+ 201,
+ 110,
+ 190,
+ 51,
+ 82,
+ 109,
+ 143,
+ 175,
+ 118,
+ 124,
+ 44,
+ 42,
+ 243,
+ 205,
+ 1,
+ 244,
+ 224,
+ 47,
+ 161,
+ 2,
+ 241,
+ 92,
+ 224,
+ 35,
+ 109,
+ 156,
+ 156,
+ 239,
+ 38,
+ 222
+ ],
+ "plaintext": [
+ 205,
+ 210,
+ 81,
+ 212,
+ 73,
+ 85,
+ 31,
+ 236,
+ 8,
+ 4,
+ 37,
+ 213,
+ 101
+ ],
+ "ciphertext": [
+ 81,
+ 76,
+ 85,
+ 35,
+ 2,
+ 77,
+ 212,
+ 199,
+ 213,
+ 155,
+ 215,
+ 59,
+ 21
+ ],
+ "tag": [
+ 211,
+ 163,
+ 153,
+ 132,
+ 62,
+ 87,
+ 118,
+ 170,
+ 52,
+ 142,
+ 62,
+ 94,
+ 86,
+ 72,
+ 47,
+ 255
+ ]
+ },
+ {
+ "key": [
+ 4,
+ 239,
+ 102,
+ 14,
+ 192,
+ 65,
+ 245,
+ 192,
+ 194,
+ 66,
+ 9,
+ 249,
+ 89,
+ 204,
+ 241,
+ 162,
+ 167,
+ 205,
+ 176,
+ 219,
+ 162,
+ 43,
+ 19,
+ 78,
+ 169,
+ 247,
+ 94,
+ 111,
+ 30,
+ 253,
+ 174,
+ 74
+ ],
+ "nonce": [
+ 15,
+ 95,
+ 111,
+ 188,
+ 162,
+ 147,
+ 88,
+ 33,
+ 124,
+ 138,
+ 107,
+ 103
+ ],
+ "aad": [
+ 80,
+ 94,
+ 32,
+ 93,
+ 19,
+ 236,
+ 148,
+ 83,
+ 145,
+ 199,
+ 214,
+ 81,
+ 106,
+ 248,
+ 98,
+ 85,
+ 232,
+ 47,
+ 56,
+ 67,
+ 63,
+ 64,
+ 64,
+ 77,
+ 79,
+ 30,
+ 66,
+ 210,
+ 59,
+ 51,
+ 235,
+ 158,
+ 109,
+ 234,
+ 88,
+ 32,
+ 218,
+ 214,
+ 6,
+ 34,
+ 211,
+ 168,
+ 37,
+ 252,
+ 143,
+ 1,
+ 165,
+ 210
+ ],
+ "plaintext": [
+ 8,
+ 53,
+ 179,
+ 18,
+ 25,
+ 31,
+ 48,
+ 249,
+ 49,
+ 230,
+ 90,
+ 160,
+ 95
+ ],
+ "ciphertext": [
+ 93,
+ 220,
+ 15,
+ 89,
+ 99,
+ 240,
+ 41,
+ 12,
+ 26,
+ 15,
+ 182,
+ 91,
+ 231
+ ],
+ "tag": [
+ 16,
+ 109,
+ 31,
+ 141,
+ 38,
+ 171,
+ 228,
+ 180,
+ 177,
+ 229,
+ 144,
+ 205,
+ 93,
+ 133,
+ 231,
+ 55
+ ]
+ },
+ {
+ "key": [
+ 66,
+ 211,
+ 255,
+ 116,
+ 40,
+ 67,
+ 149,
+ 251,
+ 157,
+ 185,
+ 184,
+ 199,
+ 164,
+ 68,
+ 250,
+ 64,
+ 15,
+ 127,
+ 198,
+ 185,
+ 133,
+ 167,
+ 254,
+ 194,
+ 71,
+ 134,
+ 103,
+ 199,
+ 241,
+ 124,
+ 243,
+ 186
+ ],
+ "nonce": [
+ 137,
+ 35,
+ 15,
+ 190,
+ 213,
+ 157,
+ 18,
+ 38,
+ 160,
+ 147,
+ 173,
+ 40
+ ],
+ "aad": [
+ 96,
+ 52,
+ 47,
+ 151,
+ 49,
+ 4,
+ 70,
+ 38,
+ 107,
+ 46,
+ 71,
+ 177,
+ 142,
+ 0,
+ 137,
+ 121,
+ 208,
+ 127,
+ 193,
+ 129,
+ 21,
+ 26,
+ 192,
+ 147,
+ 155,
+ 73,
+ 94,
+ 127,
+ 49,
+ 222,
+ 29,
+ 14,
+ 116,
+ 4,
+ 37,
+ 50,
+ 132,
+ 10,
+ 185,
+ 22,
+ 134,
+ 239,
+ 215,
+ 164,
+ 2,
+ 210,
+ 122,
+ 148
+ ],
+ "plaintext": [
+ 216,
+ 51,
+ 158,
+ 54,
+ 24,
+ 186,
+ 87,
+ 162,
+ 67,
+ 162,
+ 124,
+ 133,
+ 214
+ ],
+ "ciphertext": [
+ 155,
+ 182,
+ 250,
+ 54,
+ 250,
+ 22,
+ 112,
+ 22,
+ 16,
+ 157,
+ 82,
+ 26,
+ 192
+ ],
+ "tag": [
+ 96,
+ 9,
+ 9,
+ 239,
+ 50,
+ 202,
+ 98,
+ 149,
+ 30,
+ 203,
+ 220,
+ 129,
+ 28,
+ 170,
+ 119,
+ 120
+ ]
+ },
+ {
+ "key": [
+ 225,
+ 21,
+ 198,
+ 70,
+ 134,
+ 6,
+ 165,
+ 249,
+ 184,
+ 233,
+ 167,
+ 194,
+ 32,
+ 215,
+ 215,
+ 104,
+ 77,
+ 104,
+ 108,
+ 146,
+ 16,
+ 166,
+ 105,
+ 119,
+ 11,
+ 110,
+ 75,
+ 242,
+ 68,
+ 71,
+ 205,
+ 23
+ ],
+ "nonce": [
+ 2,
+ 156,
+ 124,
+ 158,
+ 226,
+ 211,
+ 171,
+ 38,
+ 132,
+ 62,
+ 139,
+ 65
+ ],
+ "aad": [
+ 27,
+ 239,
+ 217,
+ 249,
+ 127,
+ 153,
+ 252,
+ 9,
+ 109,
+ 234,
+ 253,
+ 229,
+ 225,
+ 88,
+ 172,
+ 134,
+ 113,
+ 108,
+ 11,
+ 163,
+ 36,
+ 84,
+ 152,
+ 143,
+ 228,
+ 139,
+ 164,
+ 115,
+ 118,
+ 132,
+ 54,
+ 24,
+ 73,
+ 162,
+ 33,
+ 192,
+ 63,
+ 192,
+ 148,
+ 140,
+ 178,
+ 91,
+ 95,
+ 41,
+ 214,
+ 160,
+ 203,
+ 42
+ ],
+ "plaintext": [
+ 122,
+ 191,
+ 132,
+ 132,
+ 47,
+ 152,
+ 103,
+ 207,
+ 197,
+ 234,
+ 188,
+ 112,
+ 50
+ ],
+ "ciphertext": [
+ 133,
+ 28,
+ 112,
+ 71,
+ 251,
+ 9,
+ 100,
+ 111,
+ 189,
+ 219,
+ 130,
+ 69,
+ 49
+ ],
+ "tag": [
+ 208,
+ 172,
+ 65,
+ 16,
+ 200,
+ 215,
+ 104,
+ 240,
+ 168,
+ 4,
+ 236,
+ 218,
+ 56,
+ 124,
+ 250,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 86,
+ 85,
+ 47,
+ 12,
+ 239,
+ 52,
+ 103,
+ 58,
+ 76,
+ 149,
+ 143,
+ 245,
+ 90,
+ 208,
+ 179,
+ 44,
+ 106,
+ 186,
+ 186,
+ 6,
+ 203,
+ 58,
+ 233,
+ 1,
+ 120,
+ 171,
+ 28,
+ 154,
+ 31,
+ 41,
+ 192,
+ 229
+ ],
+ "nonce": [
+ 179,
+ 77,
+ 36,
+ 147,
+ 84,
+ 7,
+ 232,
+ 89,
+ 34,
+ 71,
+ 255,
+ 255
+ ],
+ "aad": [
+ 177,
+ 153,
+ 67,
+ 125,
+ 161,
+ 137,
+ 72,
+ 106,
+ 143,
+ 209,
+ 194,
+ 250,
+ 31,
+ 227,
+ 235,
+ 187,
+ 17,
+ 111,
+ 14,
+ 244,
+ 20,
+ 21,
+ 187,
+ 124,
+ 128,
+ 101,
+ 39,
+ 47,
+ 176,
+ 178,
+ 254,
+ 142,
+ 220,
+ 169,
+ 205,
+ 13,
+ 66,
+ 85,
+ 212,
+ 103,
+ 231,
+ 127,
+ 40,
+ 52,
+ 190,
+ 85,
+ 116,
+ 116
+ ],
+ "plaintext": [
+ 219,
+ 214,
+ 204,
+ 53,
+ 139,
+ 40,
+ 171,
+ 102,
+ 166,
+ 159,
+ 82,
+ 56,
+ 212
+ ],
+ "ciphertext": [
+ 118,
+ 220,
+ 141,
+ 3,
+ 94,
+ 92,
+ 164,
+ 0,
+ 30,
+ 78,
+ 63,
+ 203,
+ 24
+ ],
+ "tag": [
+ 73,
+ 192,
+ 31,
+ 115,
+ 93,
+ 161,
+ 19,
+ 28,
+ 212,
+ 43,
+ 1,
+ 183,
+ 70,
+ 253,
+ 56,
+ 222
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 244,
+ 5,
+ 186,
+ 85,
+ 110,
+ 111,
+ 231,
+ 75,
+ 126,
+ 109,
+ 189,
+ 215,
+ 168,
+ 234,
+ 227,
+ 99,
+ 118,
+ 209,
+ 202,
+ 122,
+ 152,
+ 213,
+ 103,
+ 209,
+ 8,
+ 114,
+ 154,
+ 234,
+ 229,
+ 195,
+ 38
+ ],
+ "nonce": [
+ 223,
+ 102,
+ 55,
+ 201,
+ 138,
+ 101,
+ 146,
+ 132,
+ 62,
+ 11,
+ 129,
+ 239
+ ],
+ "aad": [
+ 165,
+ 50,
+ 140,
+ 186,
+ 189,
+ 254,
+ 108,
+ 60,
+ 29,
+ 79,
+ 81,
+ 82,
+ 24,
+ 144,
+ 114,
+ 218,
+ 222,
+ 113,
+ 226,
+ 186,
+ 205,
+ 133,
+ 125,
+ 60,
+ 227,
+ 126,
+ 233,
+ 227,
+ 22,
+ 30,
+ 176,
+ 242,
+ 13,
+ 229,
+ 162,
+ 155,
+ 121,
+ 153,
+ 253,
+ 156,
+ 124,
+ 96,
+ 205,
+ 192,
+ 55,
+ 81,
+ 189,
+ 27
+ ],
+ "plaintext": [
+ 171,
+ 232,
+ 118,
+ 65,
+ 233,
+ 165,
+ 22,
+ 159,
+ 144,
+ 23,
+ 157,
+ 48,
+ 153
+ ],
+ "ciphertext": [
+ 6,
+ 249,
+ 207,
+ 150,
+ 119,
+ 116,
+ 94,
+ 120,
+ 198,
+ 192,
+ 43,
+ 240,
+ 107
+ ],
+ "tag": [
+ 90,
+ 58,
+ 118,
+ 218,
+ 7,
+ 3,
+ 194,
+ 74,
+ 149,
+ 136,
+ 175,
+ 178,
+ 172,
+ 26,
+ 158,
+ 19
+ ]
+ },
+ {
+ "key": [
+ 79,
+ 102,
+ 127,
+ 101,
+ 234,
+ 69,
+ 105,
+ 38,
+ 68,
+ 86,
+ 226,
+ 93,
+ 228,
+ 152,
+ 87,
+ 144,
+ 54,
+ 214,
+ 166,
+ 4,
+ 193,
+ 139,
+ 175,
+ 119,
+ 11,
+ 182,
+ 38,
+ 216,
+ 161,
+ 198,
+ 142,
+ 79
+ ],
+ "nonce": [
+ 67,
+ 226,
+ 125,
+ 39,
+ 90,
+ 190,
+ 253,
+ 212,
+ 81,
+ 55,
+ 200,
+ 255
+ ],
+ "aad": [
+ 38,
+ 75,
+ 128,
+ 123,
+ 70,
+ 49,
+ 215,
+ 200,
+ 126,
+ 233,
+ 241,
+ 80,
+ 112,
+ 130,
+ 245,
+ 175,
+ 146,
+ 24,
+ 245,
+ 49,
+ 180,
+ 99,
+ 1,
+ 65,
+ 243,
+ 201,
+ 73,
+ 57,
+ 170,
+ 124,
+ 248,
+ 28,
+ 113,
+ 234,
+ 84,
+ 7,
+ 131,
+ 153,
+ 85,
+ 96,
+ 191,
+ 126,
+ 110,
+ 2,
+ 209,
+ 150,
+ 34,
+ 127
+ ],
+ "plaintext": [
+ 234,
+ 162,
+ 73,
+ 140,
+ 226,
+ 126,
+ 86,
+ 88,
+ 72,
+ 147,
+ 129,
+ 182,
+ 236
+ ],
+ "ciphertext": [
+ 186,
+ 192,
+ 24,
+ 191,
+ 46,
+ 112,
+ 144,
+ 231,
+ 242,
+ 23,
+ 171,
+ 51,
+ 101
+ ],
+ "tag": [
+ 19,
+ 229,
+ 161,
+ 106,
+ 156,
+ 231,
+ 168,
+ 140,
+ 218,
+ 100,
+ 13,
+ 226,
+ 196,
+ 253,
+ 192,
+ 126
+ ]
+ },
+ {
+ "key": [
+ 245,
+ 98,
+ 74,
+ 22,
+ 103,
+ 89,
+ 239,
+ 11,
+ 129,
+ 104,
+ 175,
+ 101,
+ 101,
+ 100,
+ 159,
+ 119,
+ 151,
+ 250,
+ 146,
+ 71,
+ 110,
+ 0,
+ 140,
+ 64,
+ 116,
+ 88,
+ 16,
+ 30,
+ 117,
+ 131,
+ 19,
+ 18
+ ],
+ "nonce": [
+ 82,
+ 28,
+ 167,
+ 159,
+ 252,
+ 137,
+ 48,
+ 52,
+ 154,
+ 191,
+ 192,
+ 82
+ ],
+ "aad": [
+ 110,
+ 39,
+ 113,
+ 236,
+ 214,
+ 55,
+ 54,
+ 28,
+ 182,
+ 185,
+ 71,
+ 20,
+ 137,
+ 16,
+ 247,
+ 217,
+ 32,
+ 109,
+ 106,
+ 241,
+ 118,
+ 197,
+ 16,
+ 187,
+ 93,
+ 213,
+ 188,
+ 155,
+ 151,
+ 172,
+ 1,
+ 95,
+ 176,
+ 85,
+ 55,
+ 175,
+ 251,
+ 193,
+ 117,
+ 102,
+ 37,
+ 113,
+ 83,
+ 116,
+ 23,
+ 47,
+ 180,
+ 86
+ ],
+ "plaintext": [
+ 31,
+ 171,
+ 61,
+ 239,
+ 46,
+ 161,
+ 62,
+ 129,
+ 95,
+ 135,
+ 70,
+ 9,
+ 59
+ ],
+ "ciphertext": [
+ 202,
+ 114,
+ 255,
+ 21,
+ 167,
+ 235,
+ 98,
+ 162,
+ 131,
+ 155,
+ 207,
+ 12,
+ 67
+ ],
+ "tag": [
+ 71,
+ 95,
+ 255,
+ 109,
+ 158,
+ 35,
+ 130,
+ 88,
+ 60,
+ 150,
+ 20,
+ 2,
+ 8,
+ 68,
+ 185,
+ 42
+ ]
+ },
+ {
+ "key": [
+ 172,
+ 19,
+ 131,
+ 163,
+ 199,
+ 131,
+ 211,
+ 208,
+ 102,
+ 126,
+ 148,
+ 76,
+ 190,
+ 26,
+ 97,
+ 89,
+ 100,
+ 123,
+ 150,
+ 175,
+ 169,
+ 34,
+ 85,
+ 126,
+ 177,
+ 203,
+ 100,
+ 7,
+ 84,
+ 107,
+ 152,
+ 202
+ ],
+ "nonce": [
+ 112,
+ 54,
+ 97,
+ 18,
+ 219,
+ 225,
+ 189,
+ 144,
+ 91,
+ 144,
+ 14,
+ 58
+ ],
+ "aad": [
+ 183,
+ 193,
+ 134,
+ 89,
+ 39,
+ 115,
+ 123,
+ 238,
+ 128,
+ 36,
+ 21,
+ 39,
+ 124,
+ 241,
+ 162,
+ 91,
+ 115,
+ 128,
+ 119,
+ 74,
+ 157,
+ 39,
+ 182,
+ 163,
+ 37,
+ 63,
+ 7,
+ 125,
+ 54,
+ 233,
+ 196,
+ 20,
+ 45,
+ 242,
+ 187,
+ 191,
+ 60,
+ 3,
+ 65,
+ 74,
+ 192,
+ 145,
+ 97,
+ 98,
+ 108,
+ 233,
+ 54,
+ 124
+ ],
+ "plaintext": [
+ 184,
+ 221,
+ 135,
+ 31,
+ 157,
+ 134,
+ 104,
+ 103,
+ 239,
+ 190,
+ 85,
+ 28,
+ 59
+ ],
+ "ciphertext": [
+ 186,
+ 24,
+ 24,
+ 116,
+ 56,
+ 8,
+ 65,
+ 121,
+ 31,
+ 100,
+ 136,
+ 21,
+ 52
+ ],
+ "tag": [
+ 197,
+ 100,
+ 30,
+ 223,
+ 66,
+ 196,
+ 70,
+ 135,
+ 51,
+ 114,
+ 187,
+ 189,
+ 225,
+ 20,
+ 102,
+ 66
+ ]
+ },
+ {
+ "key": [
+ 243,
+ 116,
+ 153,
+ 217,
+ 182,
+ 173,
+ 46,
+ 118,
+ 24,
+ 227,
+ 10,
+ 35,
+ 8,
+ 38,
+ 115,
+ 0,
+ 143,
+ 58,
+ 225,
+ 147,
+ 139,
+ 147,
+ 151,
+ 192,
+ 42,
+ 77,
+ 162,
+ 69,
+ 63,
+ 183,
+ 228,
+ 3
+ ],
+ "nonce": [
+ 24,
+ 225,
+ 18,
+ 234,
+ 106,
+ 153,
+ 141,
+ 111,
+ 151,
+ 5,
+ 247,
+ 224
+ ],
+ "aad": [
+ 115,
+ 111,
+ 26,
+ 113,
+ 251,
+ 37,
+ 159,
+ 70,
+ 198,
+ 81,
+ 155,
+ 184,
+ 116,
+ 81,
+ 242,
+ 56,
+ 244,
+ 125,
+ 128,
+ 199,
+ 74,
+ 1,
+ 102,
+ 4,
+ 73,
+ 155,
+ 2,
+ 86,
+ 143,
+ 28,
+ 123,
+ 237,
+ 247,
+ 15,
+ 149,
+ 151,
+ 215,
+ 182,
+ 44,
+ 22,
+ 152,
+ 196,
+ 242,
+ 99,
+ 31,
+ 78,
+ 151,
+ 6
+ ],
+ "plaintext": [
+ 49,
+ 86,
+ 11,
+ 33,
+ 20,
+ 162,
+ 72,
+ 255,
+ 224,
+ 105,
+ 111,
+ 161,
+ 48
+ ],
+ "ciphertext": [
+ 1,
+ 99,
+ 245,
+ 88,
+ 190,
+ 1,
+ 66,
+ 235,
+ 171,
+ 222,
+ 41,
+ 167,
+ 188
+ ],
+ "tag": [
+ 69,
+ 87,
+ 156,
+ 224,
+ 126,
+ 230,
+ 76,
+ 218,
+ 195,
+ 167,
+ 164,
+ 33,
+ 9,
+ 255,
+ 68,
+ 231
+ ]
+ },
+ {
+ "key": [
+ 80,
+ 183,
+ 245,
+ 17,
+ 142,
+ 247,
+ 238,
+ 34,
+ 177,
+ 7,
+ 217,
+ 60,
+ 234,
+ 185,
+ 136,
+ 30,
+ 249,
+ 101,
+ 137,
+ 49,
+ 232,
+ 3,
+ 133,
+ 209,
+ 174,
+ 146,
+ 80,
+ 27,
+ 149,
+ 228,
+ 125,
+ 98
+ ],
+ "nonce": [
+ 213,
+ 17,
+ 54,
+ 101,
+ 3,
+ 145,
+ 105,
+ 151,
+ 139,
+ 125,
+ 196,
+ 219
+ ],
+ "aad": [
+ 104,
+ 255,
+ 108,
+ 99,
+ 233,
+ 76,
+ 183,
+ 221,
+ 43,
+ 132,
+ 19,
+ 102,
+ 42,
+ 86,
+ 200,
+ 141,
+ 193,
+ 48,
+ 183,
+ 155,
+ 139,
+ 46,
+ 35,
+ 136,
+ 193,
+ 8,
+ 155,
+ 97,
+ 250,
+ 81,
+ 234,
+ 55,
+ 129,
+ 145,
+ 9,
+ 181,
+ 239,
+ 100,
+ 218,
+ 18,
+ 80,
+ 245,
+ 214,
+ 181,
+ 215,
+ 76,
+ 195,
+ 146
+ ],
+ "plaintext": [
+ 155,
+ 164,
+ 205,
+ 94,
+ 96,
+ 2,
+ 119,
+ 244,
+ 199,
+ 134,
+ 206,
+ 130,
+ 126
+ ],
+ "ciphertext": [
+ 103,
+ 132,
+ 33,
+ 153,
+ 72,
+ 43,
+ 40,
+ 190,
+ 86,
+ 247,
+ 87,
+ 13,
+ 17
+ ],
+ "tag": [
+ 121,
+ 224,
+ 56,
+ 65,
+ 132,
+ 63,
+ 227,
+ 35,
+ 55,
+ 183,
+ 199,
+ 64,
+ 154,
+ 33,
+ 83,
+ 188
+ ]
+ },
+ {
+ "key": [
+ 211,
+ 150,
+ 148,
+ 28,
+ 156,
+ 89,
+ 230,
+ 167,
+ 188,
+ 125,
+ 113,
+ 189,
+ 86,
+ 218,
+ 246,
+ 234,
+ 190,
+ 75,
+ 251,
+ 148,
+ 49,
+ 81,
+ 205,
+ 185,
+ 137,
+ 81,
+ 3,
+ 56,
+ 75,
+ 143,
+ 56,
+ 180
+ ],
+ "nonce": [
+ 244,
+ 8,
+ 248,
+ 194,
+ 31,
+ 56,
+ 37,
+ 215,
+ 168,
+ 118,
+ 67,
+ 237
+ ],
+ "aad": [
+ 148,
+ 123,
+ 217,
+ 169,
+ 4,
+ 224,
+ 63,
+ 221,
+ 44,
+ 145,
+ 208,
+ 56,
+ 210,
+ 109,
+ 72,
+ 172,
+ 110,
+ 50,
+ 175,
+ 202,
+ 217,
+ 8,
+ 234,
+ 205,
+ 66,
+ 162,
+ 95,
+ 98,
+ 64,
+ 150,
+ 70,
+ 86,
+ 213,
+ 164,
+ 147,
+ 36,
+ 45,
+ 63,
+ 138,
+ 25,
+ 17,
+ 154,
+ 76,
+ 217,
+ 149,
+ 125,
+ 156,
+ 66
+ ],
+ "plaintext": [
+ 220,
+ 138,
+ 214,
+ 165,
+ 8,
+ 18,
+ 178,
+ 95,
+ 27,
+ 10,
+ 247,
+ 11,
+ 238
+ ],
+ "ciphertext": [
+ 87,
+ 230,
+ 216,
+ 33,
+ 7,
+ 155,
+ 184,
+ 167,
+ 144,
+ 39,
+ 243,
+ 14,
+ 37
+ ],
+ "tag": [
+ 222,
+ 140,
+ 38,
+ 213,
+ 163,
+ 218,
+ 107,
+ 226,
+ 75,
+ 63,
+ 110,
+ 161,
+ 226,
+ 160,
+ 240,
+ 198
+ ]
+ },
+ {
+ "key": [
+ 236,
+ 162,
+ 43,
+ 58,
+ 41,
+ 118,
+ 31,
+ 212,
+ 0,
+ 49,
+ 181,
+ 194,
+ 125,
+ 96,
+ 173,
+ 188,
+ 250,
+ 195,
+ 168,
+ 232,
+ 127,
+ 235,
+ 147,
+ 128,
+ 196,
+ 41,
+ 207,
+ 188,
+ 218,
+ 39,
+ 189,
+ 6
+ ],
+ "nonce": [
+ 78,
+ 111,
+ 227,
+ 209,
+ 249,
+ 137,
+ 210,
+ 239,
+ 184,
+ 41,
+ 49,
+ 104
+ ],
+ "aad": [
+ 41,
+ 190,
+ 177,
+ 240,
+ 187,
+ 107,
+ 86,
+ 130,
+ 104,
+ 185,
+ 199,
+ 56,
+ 57,
+ 145,
+ 160,
+ 159,
+ 208,
+ 61,
+ 167,
+ 225,
+ 99,
+ 148,
+ 136,
+ 22,
+ 158,
+ 79,
+ 88,
+ 236,
+ 100,
+ 81,
+ 202,
+ 214,
+ 212,
+ 198,
+ 32,
+ 134,
+ 238,
+ 229,
+ 157,
+ 246,
+ 78,
+ 82,
+ 163,
+ 101,
+ 39,
+ 115,
+ 61,
+ 140
+ ],
+ "plaintext": [
+ 68,
+ 214,
+ 166,
+ 175,
+ 125,
+ 144,
+ 190,
+ 23,
+ 170,
+ 192,
+ 32,
+ 73,
+ 164
+ ],
+ "ciphertext": [
+ 154,
+ 170,
+ 41,
+ 91,
+ 179,
+ 219,
+ 127,
+ 99,
+ 53,
+ 164,
+ 200,
+ 207,
+ 47
+ ],
+ "tag": [
+ 85,
+ 247,
+ 87,
+ 113,
+ 99,
+ 161,
+ 48,
+ 192,
+ 219,
+ 205,
+ 226,
+ 67,
+ 239,
+ 33,
+ 104,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 250,
+ 60,
+ 232,
+ 176,
+ 153,
+ 243,
+ 163,
+ 146,
+ 98,
+ 75,
+ 196,
+ 51,
+ 181,
+ 38,
+ 82,
+ 53,
+ 182,
+ 92,
+ 9,
+ 82,
+ 207,
+ 197,
+ 72,
+ 23,
+ 190,
+ 42,
+ 128,
+ 3,
+ 208,
+ 87,
+ 144,
+ 60
+ ],
+ "nonce": [
+ 49,
+ 104,
+ 180,
+ 229,
+ 14,
+ 254,
+ 150,
+ 179,
+ 211,
+ 174,
+ 214,
+ 0
+ ],
+ "aad": [
+ 212,
+ 81,
+ 250,
+ 100,
+ 215,
+ 59,
+ 125,
+ 126,
+ 238,
+ 143,
+ 129,
+ 67,
+ 196,
+ 11,
+ 171,
+ 142,
+ 63,
+ 122,
+ 88,
+ 238,
+ 1,
+ 138,
+ 205,
+ 162,
+ 50,
+ 36,
+ 151,
+ 79,
+ 100,
+ 172,
+ 126,
+ 30,
+ 56,
+ 159,
+ 80,
+ 88,
+ 236,
+ 8,
+ 102,
+ 75,
+ 245,
+ 100,
+ 146,
+ 185,
+ 50,
+ 209,
+ 95,
+ 66
+ ],
+ "plaintext": [
+ 132,
+ 237,
+ 60,
+ 205,
+ 66,
+ 141,
+ 55,
+ 131,
+ 236,
+ 234,
+ 24,
+ 11,
+ 59
+ ],
+ "ciphertext": [
+ 238,
+ 43,
+ 213,
+ 39,
+ 86,
+ 138,
+ 78,
+ 117,
+ 55,
+ 200,
+ 249,
+ 57,
+ 182
+ ],
+ "tag": [
+ 244,
+ 97,
+ 95,
+ 125,
+ 253,
+ 255,
+ 236,
+ 138,
+ 45,
+ 82,
+ 201,
+ 146,
+ 69,
+ 98,
+ 16,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 255,
+ 149,
+ 6,
+ 180,
+ 212,
+ 107,
+ 165,
+ 65,
+ 40,
+ 135,
+ 111,
+ 173,
+ 252,
+ 198,
+ 115,
+ 164,
+ 201,
+ 39,
+ 198,
+ 24,
+ 234,
+ 125,
+ 149,
+ 207,
+ 202,
+ 165,
+ 8,
+ 203,
+ 200,
+ 247,
+ 252,
+ 102
+ ],
+ "nonce": [
+ 55,
+ 66,
+ 173,
+ 34,
+ 8,
+ 160,
+ 72,
+ 67,
+ 69,
+ 238,
+ 225,
+ 190
+ ],
+ "aad": [
+ 241,
+ 54,
+ 10,
+ 39,
+ 253,
+ 194,
+ 68,
+ 190,
+ 135,
+ 57,
+ 216,
+ 90,
+ 246,
+ 73,
+ 28,
+ 118,
+ 42,
+ 105,
+ 58,
+ 175,
+ 230,
+ 104,
+ 196,
+ 73,
+ 81,
+ 95,
+ 222,
+ 238,
+ 219,
+ 106,
+ 144,
+ 174,
+ 238,
+ 56,
+ 145,
+ 187,
+ 200,
+ 182,
+ 154,
+ 220,
+ 106,
+ 100,
+ 38,
+ 203,
+ 18,
+ 252,
+ 222,
+ 188,
+ 50,
+ 201,
+ 245,
+ 140,
+ 82,
+ 89,
+ 209,
+ 40,
+ 185,
+ 30,
+ 250,
+ 40,
+ 98,
+ 10,
+ 58,
+ 154,
+ 1,
+ 104,
+ 176,
+ 255,
+ 94,
+ 118,
+ 149,
+ 28,
+ 180,
+ 22,
+ 71,
+ 186,
+ 74,
+ 161,
+ 248,
+ 127,
+ 172,
+ 13,
+ 151,
+ 172,
+ 88,
+ 14,
+ 66,
+ 207,
+ 252,
+ 126
+ ],
+ "plaintext": [
+ 127,
+ 208,
+ 214,
+ 202,
+ 220,
+ 146,
+ 202,
+ 210,
+ 123,
+ 178,
+ 215,
+ 216,
+ 200
+ ],
+ "ciphertext": [
+ 189,
+ 184,
+ 52,
+ 107,
+ 40,
+ 235,
+ 77,
+ 114,
+ 38,
+ 73,
+ 54,
+ 17,
+ 166
+ ],
+ "tag": [
+ 116,
+ 132,
+ 216,
+ 39,
+ 183,
+ 103,
+ 100,
+ 127,
+ 68,
+ 199,
+ 249,
+ 74,
+ 57,
+ 248,
+ 23,
+ 92
+ ]
+ },
+ {
+ "key": [
+ 182,
+ 91,
+ 126,
+ 39,
+ 213,
+ 82,
+ 57,
+ 95,
+ 95,
+ 68,
+ 79,
+ 3,
+ 29,
+ 81,
+ 24,
+ 251,
+ 79,
+ 178,
+ 38,
+ 222,
+ 176,
+ 172,
+ 78,
+ 130,
+ 120,
+ 75,
+ 144,
+ 26,
+ 204,
+ 212,
+ 60,
+ 81
+ ],
+ "nonce": [
+ 36,
+ 147,
+ 2,
+ 104,
+ 85,
+ 221,
+ 28,
+ 29,
+ 163,
+ 175,
+ 123,
+ 126
+ ],
+ "aad": [
+ 183,
+ 142,
+ 49,
+ 177,
+ 121,
+ 60,
+ 43,
+ 117,
+ 132,
+ 148,
+ 233,
+ 200,
+ 174,
+ 125,
+ 60,
+ 238,
+ 110,
+ 54,
+ 151,
+ 212,
+ 15,
+ 251,
+ 160,
+ 77,
+ 60,
+ 108,
+ 190,
+ 37,
+ 225,
+ 46,
+ 238,
+ 163,
+ 101,
+ 213,
+ 162,
+ 231,
+ 180,
+ 108,
+ 66,
+ 69,
+ 119,
+ 27,
+ 123,
+ 46,
+ 178,
+ 6,
+ 42,
+ 100,
+ 14,
+ 96,
+ 144,
+ 217,
+ 248,
+ 28,
+ 175,
+ 99,
+ 32,
+ 120,
+ 101,
+ 187,
+ 79,
+ 44,
+ 76,
+ 246,
+ 175,
+ 129,
+ 137,
+ 133,
+ 96,
+ 227,
+ 174,
+ 170,
+ 82,
+ 29,
+ 205,
+ 44,
+ 51,
+ 110,
+ 14,
+ 197,
+ 127,
+ 175,
+ 254,
+ 245,
+ 134,
+ 131,
+ 167,
+ 39,
+ 16,
+ 185
+ ],
+ "plaintext": [
+ 138,
+ 219,
+ 54,
+ 210,
+ 194,
+ 53,
+ 142,
+ 80,
+ 91,
+ 93,
+ 33,
+ 74,
+ 208
+ ],
+ "ciphertext": [
+ 233,
+ 241,
+ 149,
+ 72,
+ 214,
+ 110,
+ 243,
+ 193,
+ 107,
+ 113,
+ 27,
+ 137,
+ 226
+ ],
+ "tag": [
+ 231,
+ 239,
+ 201,
+ 27,
+ 191,
+ 32,
+ 38,
+ 195,
+ 81,
+ 144,
+ 16,
+ 214,
+ 86,
+ 40,
+ 232,
+ 95
+ ]
+ },
+ {
+ "key": [
+ 142,
+ 79,
+ 136,
+ 89,
+ 188,
+ 131,
+ 143,
+ 106,
+ 46,
+ 125,
+ 235,
+ 24,
+ 73,
+ 194,
+ 123,
+ 120,
+ 135,
+ 130,
+ 133,
+ 224,
+ 12,
+ 170,
+ 214,
+ 117,
+ 7,
+ 213,
+ 231,
+ 145,
+ 5,
+ 102,
+ 150,
+ 116
+ ],
+ "nonce": [
+ 231,
+ 29,
+ 14,
+ 187,
+ 105,
+ 26,
+ 76,
+ 49,
+ 253,
+ 217,
+ 135,
+ 156
+ ],
+ "aad": [
+ 71,
+ 202,
+ 108,
+ 239,
+ 60,
+ 167,
+ 121,
+ 151,
+ 239,
+ 27,
+ 4,
+ 227,
+ 114,
+ 20,
+ 105,
+ 190,
+ 68,
+ 10,
+ 214,
+ 129,
+ 42,
+ 163,
+ 103,
+ 74,
+ 233,
+ 44,
+ 160,
+ 22,
+ 179,
+ 145,
+ 210,
+ 2,
+ 226,
+ 153,
+ 50,
+ 237,
+ 250,
+ 131,
+ 2,
+ 158,
+ 204,
+ 174,
+ 144,
+ 189,
+ 141,
+ 190,
+ 75,
+ 67,
+ 78,
+ 115,
+ 4,
+ 178,
+ 143,
+ 226,
+ 73,
+ 179,
+ 128,
+ 178,
+ 195,
+ 196,
+ 147,
+ 36,
+ 253,
+ 91,
+ 62,
+ 70,
+ 158,
+ 62,
+ 19,
+ 90,
+ 188,
+ 28,
+ 159,
+ 215,
+ 120,
+ 40,
+ 180,
+ 9,
+ 199,
+ 72,
+ 46,
+ 106,
+ 99,
+ 70,
+ 28,
+ 5,
+ 151,
+ 177,
+ 78,
+ 92
+ ],
+ "plaintext": [
+ 189,
+ 23,
+ 19,
+ 216,
+ 210,
+ 118,
+ 223,
+ 67,
+ 103,
+ 191,
+ 60,
+ 187,
+ 129
+ ],
+ "ciphertext": [
+ 238,
+ 203,
+ 251,
+ 116,
+ 227,
+ 20,
+ 98,
+ 139,
+ 14,
+ 63,
+ 130,
+ 120,
+ 129
+ ],
+ "tag": [
+ 201,
+ 234,
+ 137,
+ 2,
+ 148,
+ 215,
+ 225,
+ 15,
+ 56,
+ 184,
+ 142,
+ 124,
+ 116,
+ 147,
+ 197,
+ 248
+ ]
+ },
+ {
+ "key": [
+ 37,
+ 48,
+ 205,
+ 203,
+ 42,
+ 120,
+ 144,
+ 0,
+ 130,
+ 37,
+ 136,
+ 163,
+ 27,
+ 220,
+ 135,
+ 192,
+ 146,
+ 52,
+ 131,
+ 141,
+ 162,
+ 214,
+ 174,
+ 18,
+ 89,
+ 199,
+ 4,
+ 145,
+ 134,
+ 82,
+ 95,
+ 17
+ ],
+ "nonce": [
+ 12,
+ 80,
+ 159,
+ 170,
+ 37,
+ 125,
+ 187,
+ 14,
+ 116,
+ 58,
+ 83,
+ 172
+ ],
+ "aad": [
+ 146,
+ 169,
+ 44,
+ 184,
+ 193,
+ 152,
+ 78,
+ 222,
+ 128,
+ 96,
+ 40,
+ 204,
+ 69,
+ 172,
+ 149,
+ 87,
+ 65,
+ 103,
+ 238,
+ 131,
+ 240,
+ 58,
+ 112,
+ 124,
+ 196,
+ 176,
+ 251,
+ 138,
+ 215,
+ 9,
+ 7,
+ 224,
+ 1,
+ 110,
+ 56,
+ 182,
+ 80,
+ 244,
+ 167,
+ 91,
+ 200,
+ 58,
+ 98,
+ 94,
+ 60,
+ 103,
+ 7,
+ 1,
+ 212,
+ 59,
+ 251,
+ 3,
+ 38,
+ 209,
+ 196,
+ 254,
+ 124,
+ 104,
+ 65,
+ 7,
+ 51,
+ 192,
+ 200,
+ 116,
+ 201,
+ 32,
+ 56,
+ 157,
+ 22,
+ 75,
+ 246,
+ 122,
+ 144,
+ 50,
+ 226,
+ 232,
+ 55,
+ 245,
+ 233,
+ 227,
+ 36,
+ 185,
+ 121,
+ 50,
+ 209,
+ 249,
+ 23,
+ 186,
+ 125,
+ 202
+ ],
+ "plaintext": [
+ 168,
+ 237,
+ 197,
+ 36,
+ 147,
+ 12,
+ 228,
+ 194,
+ 8,
+ 151,
+ 198,
+ 111,
+ 117
+ ],
+ "ciphertext": [
+ 31,
+ 101,
+ 140,
+ 122,
+ 31,
+ 65,
+ 21,
+ 43,
+ 34,
+ 153,
+ 158,
+ 209,
+ 183
+ ],
+ "tag": [
+ 207,
+ 62,
+ 79,
+ 239,
+ 119,
+ 93,
+ 156,
+ 111,
+ 243,
+ 105,
+ 91,
+ 226,
+ 96,
+ 42,
+ 144,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 84,
+ 195,
+ 31,
+ 178,
+ 251,
+ 74,
+ 171,
+ 106,
+ 130,
+ 206,
+ 24,
+ 142,
+ 106,
+ 250,
+ 113,
+ 163,
+ 53,
+ 72,
+ 17,
+ 9,
+ 157,
+ 18,
+ 3,
+ 254,
+ 31,
+ 153,
+ 23,
+ 70,
+ 247,
+ 52,
+ 47,
+ 144
+ ],
+ "nonce": [
+ 240,
+ 254,
+ 151,
+ 75,
+ 219,
+ 225,
+ 105,
+ 77,
+ 195,
+ 176,
+ 108,
+ 198
+ ],
+ "aad": [
+ 40,
+ 121,
+ 224,
+ 94,
+ 15,
+ 141,
+ 212,
+ 64,
+ 36,
+ 37,
+ 234,
+ 187,
+ 13,
+ 193,
+ 132,
+ 220,
+ 208,
+ 125,
+ 70,
+ 213,
+ 77,
+ 119,
+ 93,
+ 124,
+ 43,
+ 118,
+ 176,
+ 247,
+ 107,
+ 62,
+ 237,
+ 95,
+ 124,
+ 169,
+ 60,
+ 106,
+ 231,
+ 27,
+ 245,
+ 9,
+ 194,
+ 112,
+ 73,
+ 2,
+ 105,
+ 234,
+ 134,
+ 158,
+ 214,
+ 96,
+ 63,
+ 223,
+ 113,
+ 19,
+ 170,
+ 98,
+ 86,
+ 72,
+ 171,
+ 142,
+ 216,
+ 130,
+ 16,
+ 248,
+ 179,
+ 14,
+ 201,
+ 201,
+ 75,
+ 202,
+ 87,
+ 87,
+ 202,
+ 61,
+ 119,
+ 73,
+ 31,
+ 100,
+ 16,
+ 145,
+ 1,
+ 22,
+ 86,
+ 54,
+ 176,
+ 104,
+ 227,
+ 9,
+ 92,
+ 180
+ ],
+ "plaintext": [
+ 251,
+ 183,
+ 179,
+ 115,
+ 15,
+ 12,
+ 215,
+ 177,
+ 5,
+ 42,
+ 82,
+ 152,
+ 238
+ ],
+ "ciphertext": [
+ 58,
+ 90,
+ 42,
+ 138,
+ 169,
+ 60,
+ 70,
+ 44,
+ 251,
+ 128,
+ 241,
+ 247,
+ 40
+ ],
+ "tag": [
+ 89,
+ 239,
+ 157,
+ 84,
+ 238,
+ 1,
+ 251,
+ 108,
+ 213,
+ 75,
+ 208,
+ 224,
+ 143,
+ 116,
+ 9,
+ 111
+ ]
+ },
+ {
+ "key": [
+ 128,
+ 132,
+ 6,
+ 29,
+ 15,
+ 120,
+ 88,
+ 166,
+ 92,
+ 58,
+ 53,
+ 87,
+ 33,
+ 94,
+ 212,
+ 111,
+ 21,
+ 144,
+ 39,
+ 140,
+ 169,
+ 122,
+ 69,
+ 220,
+ 176,
+ 149,
+ 210,
+ 160,
+ 151,
+ 159,
+ 46,
+ 63
+ ],
+ "nonce": [
+ 105,
+ 115,
+ 137,
+ 139,
+ 26,
+ 143,
+ 114,
+ 133,
+ 100,
+ 21,
+ 103,
+ 91
+ ],
+ "aad": [
+ 139,
+ 84,
+ 62,
+ 41,
+ 69,
+ 70,
+ 132,
+ 140,
+ 51,
+ 8,
+ 204,
+ 234,
+ 48,
+ 47,
+ 2,
+ 56,
+ 183,
+ 223,
+ 252,
+ 23,
+ 6,
+ 208,
+ 54,
+ 87,
+ 193,
+ 144,
+ 234,
+ 116,
+ 92,
+ 199,
+ 91,
+ 205,
+ 90,
+ 67,
+ 121,
+ 147,
+ 231,
+ 135,
+ 130,
+ 142,
+ 167,
+ 254,
+ 66,
+ 254,
+ 161,
+ 213,
+ 198,
+ 247,
+ 34,
+ 154,
+ 114,
+ 234,
+ 101,
+ 240,
+ 208,
+ 193,
+ 144,
+ 152,
+ 154,
+ 89,
+ 10,
+ 180,
+ 156,
+ 84,
+ 114,
+ 102,
+ 51,
+ 40,
+ 44,
+ 104,
+ 158,
+ 239,
+ 140,
+ 248,
+ 82,
+ 175,
+ 38,
+ 59,
+ 94,
+ 223,
+ 99,
+ 228,
+ 73,
+ 253,
+ 84,
+ 64,
+ 115,
+ 0,
+ 3,
+ 202
+ ],
+ "plaintext": [
+ 32,
+ 13,
+ 4,
+ 69,
+ 203,
+ 9,
+ 235,
+ 82,
+ 245,
+ 77,
+ 47,
+ 116,
+ 198
+ ],
+ "ciphertext": [
+ 236,
+ 36,
+ 44,
+ 53,
+ 129,
+ 147,
+ 202,
+ 97,
+ 135,
+ 200,
+ 154,
+ 167,
+ 165
+ ],
+ "tag": [
+ 150,
+ 116,
+ 40,
+ 172,
+ 105,
+ 86,
+ 82,
+ 91,
+ 168,
+ 29,
+ 89,
+ 1,
+ 237,
+ 37,
+ 148,
+ 7
+ ]
+ },
+ {
+ "key": [
+ 42,
+ 173,
+ 125,
+ 184,
+ 45,
+ 244,
+ 160,
+ 210,
+ 236,
+ 133,
+ 33,
+ 141,
+ 169,
+ 214,
+ 26,
+ 222,
+ 152,
+ 246,
+ 95,
+ 238,
+ 184,
+ 83,
+ 45,
+ 142,
+ 183,
+ 40,
+ 239,
+ 138,
+ 172,
+ 34,
+ 13,
+ 166
+ ],
+ "nonce": [
+ 2,
+ 154,
+ 194,
+ 233,
+ 245,
+ 220,
+ 61,
+ 118,
+ 176,
+ 209,
+ 249,
+ 223
+ ],
+ "aad": [
+ 214,
+ 244,
+ 182,
+ 35,
+ 45,
+ 23,
+ 177,
+ 188,
+ 48,
+ 121,
+ 18,
+ 161,
+ 95,
+ 57,
+ 204,
+ 209,
+ 133,
+ 164,
+ 101,
+ 238,
+ 134,
+ 2,
+ 121,
+ 233,
+ 142,
+ 185,
+ 85,
+ 20,
+ 152,
+ 215,
+ 176,
+ 120,
+ 39,
+ 30,
+ 186,
+ 189,
+ 218,
+ 114,
+ 17,
+ 230,
+ 180,
+ 171,
+ 24,
+ 112,
+ 67,
+ 23,
+ 27,
+ 197,
+ 228,
+ 191,
+ 159,
+ 252,
+ 248,
+ 154,
+ 119,
+ 132,
+ 48,
+ 231,
+ 53,
+ 223,
+ 41,
+ 65,
+ 10,
+ 69,
+ 202,
+ 53,
+ 75,
+ 0,
+ 3,
+ 67,
+ 60,
+ 107,
+ 200,
+ 89,
+ 62,
+ 232,
+ 46,
+ 124,
+ 9,
+ 106,
+ 50,
+ 234,
+ 199,
+ 109,
+ 17,
+ 218,
+ 167,
+ 214,
+ 65,
+ 80
+ ],
+ "plaintext": [
+ 186,
+ 54,
+ 57,
+ 18,
+ 246,
+ 32,
+ 124,
+ 84,
+ 174,
+ 205,
+ 38,
+ 182,
+ 39
+ ],
+ "ciphertext": [
+ 191,
+ 202,
+ 211,
+ 38,
+ 17,
+ 218,
+ 39,
+ 90,
+ 15,
+ 8,
+ 33,
+ 81,
+ 124
+ ],
+ "tag": [
+ 158,
+ 163,
+ 123,
+ 220,
+ 170,
+ 250,
+ 214,
+ 156,
+ 175,
+ 6,
+ 214,
+ 127,
+ 177,
+ 141,
+ 208,
+ 1
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 11,
+ 185,
+ 80,
+ 171,
+ 86,
+ 241,
+ 47,
+ 30,
+ 252,
+ 35,
+ 118,
+ 211,
+ 42,
+ 89,
+ 209,
+ 110,
+ 243,
+ 239,
+ 89,
+ 105,
+ 224,
+ 16,
+ 106,
+ 180,
+ 12,
+ 195,
+ 20,
+ 201,
+ 176,
+ 199,
+ 232
+ ],
+ "nonce": [
+ 59,
+ 59,
+ 41,
+ 186,
+ 66,
+ 44,
+ 43,
+ 172,
+ 175,
+ 238,
+ 184,
+ 179
+ ],
+ "aad": [
+ 70,
+ 74,
+ 192,
+ 200,
+ 75,
+ 159,
+ 241,
+ 122,
+ 14,
+ 124,
+ 57,
+ 166,
+ 95,
+ 137,
+ 104,
+ 42,
+ 137,
+ 184,
+ 120,
+ 117,
+ 83,
+ 166,
+ 39,
+ 95,
+ 13,
+ 85,
+ 239,
+ 250,
+ 171,
+ 239,
+ 33,
+ 20,
+ 7,
+ 44,
+ 115,
+ 159,
+ 152,
+ 49,
+ 165,
+ 213,
+ 165,
+ 19,
+ 58,
+ 228,
+ 222,
+ 20,
+ 235,
+ 81,
+ 52,
+ 107,
+ 49,
+ 139,
+ 37,
+ 90,
+ 27,
+ 255,
+ 87,
+ 229,
+ 12,
+ 67,
+ 62,
+ 30,
+ 105,
+ 160,
+ 15,
+ 225,
+ 168,
+ 182,
+ 246,
+ 182,
+ 33,
+ 213,
+ 21,
+ 214,
+ 112,
+ 216,
+ 158,
+ 20,
+ 143,
+ 107,
+ 101,
+ 214,
+ 235,
+ 76,
+ 84,
+ 135,
+ 140,
+ 184,
+ 25,
+ 206
+ ],
+ "plaintext": [
+ 2,
+ 153,
+ 41,
+ 39,
+ 112,
+ 67,
+ 220,
+ 3,
+ 121,
+ 241,
+ 82,
+ 164,
+ 132
+ ],
+ "ciphertext": [
+ 192,
+ 185,
+ 125,
+ 109,
+ 26,
+ 149,
+ 215,
+ 8,
+ 214,
+ 220,
+ 125,
+ 43,
+ 149
+ ],
+ "tag": [
+ 50,
+ 46,
+ 180,
+ 57,
+ 91,
+ 244,
+ 212,
+ 221,
+ 7,
+ 11,
+ 143,
+ 159,
+ 97,
+ 149,
+ 248,
+ 238
+ ]
+ },
+ {
+ "key": [
+ 244,
+ 149,
+ 15,
+ 1,
+ 203,
+ 17,
+ 253,
+ 217,
+ 175,
+ 178,
+ 151,
+ 247,
+ 170,
+ 133,
+ 47,
+ 172,
+ 250,
+ 195,
+ 84,
+ 255,
+ 150,
+ 85,
+ 123,
+ 239,
+ 165,
+ 246,
+ 87,
+ 103,
+ 141,
+ 230,
+ 206,
+ 251
+ ],
+ "nonce": [
+ 171,
+ 167,
+ 216,
+ 100,
+ 242,
+ 156,
+ 188,
+ 68,
+ 156,
+ 217,
+ 62,
+ 51
+ ],
+ "aad": [
+ 133,
+ 47,
+ 98,
+ 76,
+ 234,
+ 122,
+ 140,
+ 32,
+ 225,
+ 137,
+ 224,
+ 199,
+ 159,
+ 87,
+ 140,
+ 13,
+ 119,
+ 12,
+ 75,
+ 247,
+ 196,
+ 230,
+ 145,
+ 100,
+ 158,
+ 186,
+ 153,
+ 47,
+ 109,
+ 232,
+ 157,
+ 123,
+ 242,
+ 7,
+ 138,
+ 255,
+ 148,
+ 128,
+ 58,
+ 61,
+ 198,
+ 38,
+ 40,
+ 224,
+ 42,
+ 128,
+ 160,
+ 25,
+ 87,
+ 114,
+ 46,
+ 42,
+ 147,
+ 31,
+ 197,
+ 98,
+ 131,
+ 216,
+ 74,
+ 182,
+ 140,
+ 225,
+ 26,
+ 232,
+ 103,
+ 131,
+ 92,
+ 45,
+ 151,
+ 0,
+ 223,
+ 19,
+ 0,
+ 72,
+ 234,
+ 142,
+ 170,
+ 202,
+ 65,
+ 241,
+ 169,
+ 5,
+ 155,
+ 226,
+ 172,
+ 174,
+ 166,
+ 224,
+ 247,
+ 242
+ ],
+ "plaintext": [
+ 230,
+ 218,
+ 245,
+ 158,
+ 245,
+ 74,
+ 199,
+ 64,
+ 89,
+ 132,
+ 252,
+ 76,
+ 78
+ ],
+ "ciphertext": [
+ 208,
+ 29,
+ 54,
+ 255,
+ 128,
+ 9,
+ 180,
+ 8,
+ 34,
+ 121,
+ 171,
+ 185,
+ 6
+ ],
+ "tag": [
+ 217,
+ 163,
+ 108,
+ 128,
+ 8,
+ 73,
+ 59,
+ 217,
+ 92,
+ 9,
+ 4,
+ 146,
+ 153,
+ 203,
+ 208,
+ 117
+ ]
+ },
+ {
+ "key": [
+ 113,
+ 66,
+ 97,
+ 239,
+ 79,
+ 2,
+ 251,
+ 78,
+ 251,
+ 14,
+ 107,
+ 90,
+ 237,
+ 150,
+ 215,
+ 179,
+ 206,
+ 172,
+ 101,
+ 81,
+ 165,
+ 124,
+ 246,
+ 121,
+ 218,
+ 23,
+ 156,
+ 1,
+ 170,
+ 197,
+ 238,
+ 14
+ ],
+ "nonce": [
+ 59,
+ 125,
+ 21,
+ 199,
+ 253,
+ 135,
+ 116,
+ 97,
+ 167,
+ 137,
+ 37,
+ 90
+ ],
+ "aad": [
+ 118,
+ 33,
+ 229,
+ 129,
+ 82,
+ 51,
+ 110,
+ 228,
+ 21,
+ 240,
+ 55,
+ 242,
+ 225,
+ 21,
+ 129,
+ 254,
+ 77,
+ 165,
+ 69,
+ 193,
+ 141,
+ 110,
+ 128,
+ 23,
+ 125,
+ 90,
+ 181,
+ 221,
+ 168,
+ 154,
+ 37,
+ 232,
+ 5,
+ 125,
+ 111,
+ 204,
+ 236,
+ 55,
+ 87,
+ 117,
+ 154,
+ 110,
+ 134,
+ 230,
+ 49,
+ 8,
+ 12,
+ 11,
+ 23,
+ 186,
+ 168,
+ 190,
+ 11,
+ 143,
+ 229,
+ 121,
+ 211,
+ 191,
+ 169,
+ 121,
+ 55,
+ 238,
+ 36,
+ 43,
+ 111,
+ 170,
+ 207,
+ 192,
+ 148,
+ 37,
+ 133,
+ 61,
+ 244,
+ 220,
+ 38,
+ 188,
+ 38,
+ 62,
+ 209,
+ 8,
+ 58,
+ 115,
+ 255,
+ 201,
+ 120,
+ 201,
+ 38,
+ 95,
+ 128,
+ 105
+ ],
+ "plaintext": [
+ 129,
+ 93,
+ 232,
+ 176,
+ 56,
+ 47,
+ 230,
+ 12,
+ 176,
+ 211,
+ 120,
+ 46,
+ 233
+ ],
+ "ciphertext": [
+ 41,
+ 197,
+ 102,
+ 234,
+ 71,
+ 117,
+ 42,
+ 49,
+ 163,
+ 128,
+ 253,
+ 14,
+ 124
+ ],
+ "tag": [
+ 178,
+ 121,
+ 52,
+ 10,
+ 56,
+ 77,
+ 187,
+ 174,
+ 114,
+ 28,
+ 84,
+ 233,
+ 24,
+ 59,
+ 57,
+ 102
+ ]
+ },
+ {
+ "key": [
+ 83,
+ 69,
+ 155,
+ 165,
+ 162,
+ 228,
+ 157,
+ 26,
+ 124,
+ 47,
+ 182,
+ 173,
+ 158,
+ 105,
+ 97,
+ 180,
+ 219,
+ 229,
+ 21,
+ 140,
+ 185,
+ 38,
+ 110,
+ 255,
+ 66,
+ 93,
+ 109,
+ 204,
+ 202,
+ 175,
+ 128,
+ 115
+ ],
+ "nonce": [
+ 60,
+ 151,
+ 220,
+ 99,
+ 90,
+ 117,
+ 251,
+ 226,
+ 195,
+ 60,
+ 154,
+ 65
+ ],
+ "aad": [
+ 127,
+ 227,
+ 8,
+ 175,
+ 229,
+ 138,
+ 146,
+ 118,
+ 128,
+ 190,
+ 227,
+ 54,
+ 131,
+ 1,
+ 244,
+ 220,
+ 124,
+ 71,
+ 129,
+ 31,
+ 192,
+ 159,
+ 27,
+ 153,
+ 34,
+ 160,
+ 146,
+ 164,
+ 151,
+ 185,
+ 198,
+ 182,
+ 124,
+ 133,
+ 127,
+ 220,
+ 195,
+ 45,
+ 161,
+ 1,
+ 26,
+ 203,
+ 17,
+ 11,
+ 60,
+ 20,
+ 117,
+ 190,
+ 243,
+ 3,
+ 241,
+ 166,
+ 9,
+ 71,
+ 148,
+ 133,
+ 204,
+ 64,
+ 14,
+ 232,
+ 243,
+ 131,
+ 129,
+ 196,
+ 93,
+ 7,
+ 135,
+ 8,
+ 173,
+ 73,
+ 242,
+ 38,
+ 249,
+ 93,
+ 217,
+ 200,
+ 20,
+ 120,
+ 209,
+ 238,
+ 43,
+ 83,
+ 195,
+ 185,
+ 6,
+ 217,
+ 111,
+ 141,
+ 221,
+ 118
+ ],
+ "plaintext": [
+ 3,
+ 251,
+ 254,
+ 88,
+ 66,
+ 237,
+ 120,
+ 25,
+ 144,
+ 202,
+ 139,
+ 231,
+ 40
+ ],
+ "ciphertext": [
+ 88,
+ 101,
+ 229,
+ 161,
+ 236,
+ 113,
+ 23,
+ 50,
+ 164,
+ 238,
+ 135,
+ 27,
+ 255
+ ],
+ "tag": [
+ 133,
+ 106,
+ 101,
+ 62,
+ 194,
+ 20,
+ 23,
+ 128,
+ 150,
+ 190,
+ 212,
+ 35,
+ 227,
+ 10,
+ 54,
+ 233
+ ]
+ },
+ {
+ "key": [
+ 240,
+ 80,
+ 21,
+ 131,
+ 194,
+ 38,
+ 210,
+ 81,
+ 158,
+ 210,
+ 63,
+ 204,
+ 111,
+ 44,
+ 255,
+ 210,
+ 240,
+ 19,
+ 235,
+ 145,
+ 170,
+ 7,
+ 179,
+ 165,
+ 162,
+ 7,
+ 61,
+ 110,
+ 43,
+ 209,
+ 12,
+ 239
+ ],
+ "nonce": [
+ 41,
+ 169,
+ 34,
+ 173,
+ 155,
+ 222,
+ 221,
+ 194,
+ 226,
+ 152,
+ 185,
+ 159
+ ],
+ "aad": [
+ 216,
+ 79,
+ 84,
+ 186,
+ 192,
+ 158,
+ 169,
+ 42,
+ 254,
+ 10,
+ 115,
+ 53,
+ 203,
+ 11,
+ 181,
+ 246,
+ 132,
+ 37,
+ 73,
+ 15,
+ 210,
+ 251,
+ 108,
+ 59,
+ 153,
+ 33,
+ 143,
+ 73,
+ 133,
+ 110,
+ 212,
+ 39,
+ 236,
+ 144,
+ 46,
+ 81,
+ 11,
+ 137,
+ 157,
+ 84,
+ 149,
+ 31,
+ 232,
+ 76,
+ 219,
+ 253,
+ 17,
+ 38,
+ 8,
+ 209,
+ 233,
+ 153,
+ 246,
+ 78,
+ 204,
+ 156,
+ 212,
+ 190,
+ 58,
+ 1,
+ 20,
+ 193,
+ 195,
+ 72,
+ 117,
+ 219,
+ 243,
+ 90,
+ 27,
+ 11,
+ 228,
+ 33,
+ 101,
+ 159,
+ 153,
+ 214,
+ 155,
+ 50,
+ 233,
+ 104,
+ 206,
+ 191,
+ 202,
+ 111,
+ 149,
+ 131,
+ 126,
+ 62,
+ 222,
+ 180
+ ],
+ "plaintext": [
+ 3,
+ 94,
+ 182,
+ 146,
+ 35,
+ 69,
+ 192,
+ 42,
+ 129,
+ 67,
+ 93,
+ 158,
+ 119
+ ],
+ "ciphertext": [
+ 9,
+ 89,
+ 113,
+ 249,
+ 154,
+ 244,
+ 103,
+ 128,
+ 90,
+ 98,
+ 191,
+ 184,
+ 130
+ ],
+ "tag": [
+ 213,
+ 255,
+ 43,
+ 123,
+ 234,
+ 194,
+ 96,
+ 229,
+ 23,
+ 234,
+ 62,
+ 202,
+ 19,
+ 255,
+ 30,
+ 119
+ ]
+ },
+ {
+ "key": [
+ 120,
+ 230,
+ 120,
+ 155,
+ 89,
+ 108,
+ 113,
+ 203,
+ 59,
+ 236,
+ 200,
+ 51,
+ 207,
+ 130,
+ 61,
+ 46,
+ 187,
+ 24,
+ 202,
+ 46,
+ 38,
+ 194,
+ 126,
+ 38,
+ 165,
+ 94,
+ 249,
+ 93,
+ 247,
+ 53,
+ 57,
+ 113
+ ],
+ "nonce": [
+ 101,
+ 218,
+ 156,
+ 122,
+ 159,
+ 23,
+ 177,
+ 18,
+ 70,
+ 188,
+ 248,
+ 219
+ ],
+ "aad": [
+ 212,
+ 154,
+ 238,
+ 127,
+ 253,
+ 49,
+ 231,
+ 200,
+ 216,
+ 49,
+ 217,
+ 122,
+ 232,
+ 148,
+ 160,
+ 4,
+ 115,
+ 173,
+ 188,
+ 80,
+ 113,
+ 246,
+ 9,
+ 157,
+ 86,
+ 124,
+ 170,
+ 239,
+ 133,
+ 194,
+ 149,
+ 213,
+ 20,
+ 58,
+ 19,
+ 22,
+ 255,
+ 130,
+ 117,
+ 60,
+ 195,
+ 93,
+ 62,
+ 252,
+ 96,
+ 247,
+ 229,
+ 16,
+ 29,
+ 221,
+ 129,
+ 19,
+ 54,
+ 180,
+ 4,
+ 213,
+ 152,
+ 246,
+ 196,
+ 57,
+ 204,
+ 230,
+ 180,
+ 127,
+ 203,
+ 235,
+ 177,
+ 93,
+ 28,
+ 52,
+ 46,
+ 65,
+ 81,
+ 179,
+ 85,
+ 2,
+ 90,
+ 3,
+ 180,
+ 57,
+ 114,
+ 96,
+ 180,
+ 167,
+ 230,
+ 68,
+ 79,
+ 165,
+ 123,
+ 91
+ ],
+ "plaintext": [
+ 0,
+ 62,
+ 130,
+ 161,
+ 71,
+ 223,
+ 60,
+ 149,
+ 52,
+ 0,
+ 248,
+ 122,
+ 181
+ ],
+ "ciphertext": [
+ 171,
+ 204,
+ 236,
+ 237,
+ 64,
+ 32,
+ 159,
+ 195,
+ 10,
+ 85,
+ 144,
+ 254,
+ 232
+ ],
+ "tag": [
+ 10,
+ 32,
+ 57,
+ 115,
+ 184,
+ 19,
+ 117,
+ 148,
+ 158,
+ 189,
+ 147,
+ 37,
+ 151,
+ 239,
+ 212,
+ 149
+ ]
+ },
+ {
+ "key": [
+ 129,
+ 107,
+ 62,
+ 108,
+ 163,
+ 29,
+ 89,
+ 104,
+ 140,
+ 32,
+ 188,
+ 209,
+ 250,
+ 66,
+ 133,
+ 25,
+ 119,
+ 53,
+ 216,
+ 115,
+ 66,
+ 137,
+ 202,
+ 25,
+ 164,
+ 115,
+ 14,
+ 86,
+ 241,
+ 99,
+ 28,
+ 207
+ ],
+ "nonce": [
+ 76,
+ 25,
+ 26,
+ 201,
+ 148,
+ 248,
+ 105,
+ 133,
+ 193,
+ 128,
+ 204,
+ 212
+ ],
+ "aad": [
+ 179,
+ 220,
+ 214,
+ 67,
+ 198,
+ 140,
+ 204,
+ 225,
+ 134,
+ 87,
+ 12,
+ 99,
+ 40,
+ 140,
+ 135,
+ 34,
+ 184,
+ 161,
+ 61,
+ 250,
+ 249,
+ 231,
+ 31,
+ 68,
+ 241,
+ 238,
+ 180,
+ 84,
+ 164,
+ 77,
+ 221,
+ 245,
+ 249,
+ 85,
+ 84,
+ 12,
+ 212,
+ 108,
+ 159,
+ 59,
+ 111,
+ 130,
+ 5,
+ 136,
+ 247,
+ 25,
+ 54,
+ 215,
+ 168,
+ 197,
+ 76,
+ 123,
+ 123,
+ 196,
+ 63,
+ 88,
+ 187,
+ 72,
+ 230,
+ 65,
+ 97,
+ 73,
+ 254,
+ 174,
+ 122,
+ 63,
+ 141,
+ 129,
+ 152,
+ 169,
+ 112,
+ 129,
+ 22,
+ 39,
+ 72,
+ 146,
+ 102,
+ 168,
+ 113,
+ 232,
+ 203,
+ 135,
+ 135,
+ 140,
+ 219,
+ 58,
+ 72,
+ 190,
+ 101,
+ 245
+ ],
+ "plaintext": [
+ 178,
+ 6,
+ 13,
+ 216,
+ 107,
+ 195,
+ 7,
+ 19,
+ 59,
+ 125,
+ 54,
+ 88,
+ 48
+ ],
+ "ciphertext": [
+ 83,
+ 230,
+ 88,
+ 128,
+ 173,
+ 0,
+ 18,
+ 167,
+ 95,
+ 17,
+ 136,
+ 153,
+ 111
+ ],
+ "tag": [
+ 156,
+ 168,
+ 167,
+ 26,
+ 69,
+ 235,
+ 68,
+ 2,
+ 166,
+ 176,
+ 49,
+ 6,
+ 186,
+ 227,
+ 48,
+ 209
+ ]
+ },
+ {
+ "key": [
+ 160,
+ 123,
+ 165,
+ 116,
+ 120,
+ 6,
+ 27,
+ 215,
+ 171,
+ 221,
+ 215,
+ 98,
+ 151,
+ 28,
+ 242,
+ 228,
+ 113,
+ 65,
+ 137,
+ 31,
+ 118,
+ 195,
+ 209,
+ 193,
+ 80,
+ 181,
+ 62,
+ 238,
+ 87,
+ 4,
+ 85,
+ 125
+ ],
+ "nonce": [
+ 90,
+ 223,
+ 184,
+ 91,
+ 45,
+ 158,
+ 35,
+ 156,
+ 81,
+ 70,
+ 80,
+ 29
+ ],
+ "aad": [
+ 147,
+ 123,
+ 62,
+ 215,
+ 62,
+ 103,
+ 202,
+ 11,
+ 2,
+ 249,
+ 235,
+ 115,
+ 106,
+ 102,
+ 131,
+ 98,
+ 212,
+ 208,
+ 68,
+ 124,
+ 21,
+ 246,
+ 8,
+ 48,
+ 153,
+ 167,
+ 249,
+ 12,
+ 124,
+ 73,
+ 49,
+ 141,
+ 215,
+ 47,
+ 107,
+ 170,
+ 116,
+ 218,
+ 34,
+ 255,
+ 83,
+ 181,
+ 108,
+ 36,
+ 251,
+ 154,
+ 27,
+ 29,
+ 108,
+ 78,
+ 41,
+ 244,
+ 172,
+ 77,
+ 145,
+ 114,
+ 32,
+ 235,
+ 227,
+ 200,
+ 215,
+ 96,
+ 153,
+ 157,
+ 167,
+ 190,
+ 158,
+ 30,
+ 143,
+ 106,
+ 23,
+ 17,
+ 51,
+ 100,
+ 12,
+ 145,
+ 150,
+ 249,
+ 238,
+ 60,
+ 219,
+ 118,
+ 165,
+ 163,
+ 66,
+ 169,
+ 90,
+ 5,
+ 200,
+ 196
+ ],
+ "plaintext": [
+ 103,
+ 200,
+ 130,
+ 76,
+ 24,
+ 55,
+ 207,
+ 222,
+ 198,
+ 237,
+ 205,
+ 113,
+ 156
+ ],
+ "ciphertext": [
+ 30,
+ 184,
+ 92,
+ 102,
+ 130,
+ 133,
+ 14,
+ 132,
+ 158,
+ 179,
+ 121,
+ 39,
+ 229
+ ],
+ "tag": [
+ 128,
+ 121,
+ 247,
+ 5,
+ 207,
+ 85,
+ 26,
+ 84,
+ 132,
+ 19,
+ 44,
+ 208,
+ 240,
+ 197,
+ 41,
+ 124
+ ]
+ },
+ {
+ "key": [
+ 38,
+ 142,
+ 209,
+ 181,
+ 215,
+ 201,
+ 199,
+ 48,
+ 79,
+ 156,
+ 174,
+ 95,
+ 196,
+ 55,
+ 180,
+ 205,
+ 58,
+ 235,
+ 226,
+ 236,
+ 101,
+ 240,
+ 216,
+ 92,
+ 57,
+ 24,
+ 211,
+ 211,
+ 181,
+ 187,
+ 168,
+ 155
+ ],
+ "nonce": [
+ 158,
+ 217,
+ 216,
+ 24,
+ 5,
+ 100,
+ 224,
+ 233,
+ 69,
+ 245,
+ 229,
+ 212
+ ],
+ "aad": [],
+ "plaintext": [
+ 254,
+ 41,
+ 164,
+ 13,
+ 142,
+ 191,
+ 87,
+ 38,
+ 43,
+ 219,
+ 135,
+ 25,
+ 29,
+ 1,
+ 132,
+ 63,
+ 76,
+ 164,
+ 178,
+ 222,
+ 151,
+ 216,
+ 130,
+ 115,
+ 21,
+ 74,
+ 11,
+ 125,
+ 158,
+ 47,
+ 219,
+ 128
+ ],
+ "ciphertext": [
+ 121,
+ 26,
+ 74,
+ 2,
+ 111,
+ 22,
+ 243,
+ 165,
+ 234,
+ 6,
+ 39,
+ 75,
+ 240,
+ 43,
+ 170,
+ 180,
+ 105,
+ 134,
+ 10,
+ 189,
+ 229,
+ 230,
+ 69,
+ 243,
+ 221,
+ 71,
+ 58,
+ 90,
+ 205,
+ 222,
+ 236,
+ 252
+ ],
+ "tag": [
+ 5,
+ 178,
+ 183,
+ 77,
+ 176,
+ 102,
+ 37,
+ 80,
+ 67,
+ 94,
+ 241,
+ 144,
+ 14,
+ 19,
+ 107,
+ 21
+ ]
+ },
+ {
+ "key": [
+ 199,
+ 114,
+ 168,
+ 213,
+ 233,
+ 243,
+ 56,
+ 79,
+ 22,
+ 190,
+ 44,
+ 52,
+ 191,
+ 154,
+ 253,
+ 158,
+ 191,
+ 134,
+ 182,
+ 158,
+ 111,
+ 97,
+ 12,
+ 209,
+ 149,
+ 169,
+ 219,
+ 22,
+ 158,
+ 155,
+ 225,
+ 126
+ ],
+ "nonce": [
+ 155,
+ 142,
+ 7,
+ 159,
+ 153,
+ 113,
+ 215,
+ 53,
+ 46,
+ 104,
+ 16,
+ 163
+ ],
+ "aad": [],
+ "plaintext": [
+ 127,
+ 19,
+ 252,
+ 175,
+ 13,
+ 183,
+ 157,
+ 121,
+ 40,
+ 35,
+ 169,
+ 39,
+ 27,
+ 18,
+ 19,
+ 169,
+ 141,
+ 17,
+ 110,
+ 255,
+ 126,
+ 142,
+ 60,
+ 134,
+ 221,
+ 235,
+ 106,
+ 10,
+ 3,
+ 241,
+ 58,
+ 250
+ ],
+ "ciphertext": [
+ 210,
+ 158,
+ 43,
+ 243,
+ 81,
+ 134,
+ 104,
+ 161,
+ 79,
+ 23,
+ 163,
+ 228,
+ 231,
+ 110,
+ 27,
+ 67,
+ 104,
+ 87,
+ 52,
+ 184,
+ 1,
+ 17,
+ 141,
+ 51,
+ 162,
+ 50,
+ 56,
+ 243,
+ 77,
+ 24,
+ 170,
+ 64
+ ],
+ "tag": [
+ 142,
+ 2,
+ 176,
+ 183,
+ 209,
+ 114,
+ 207,
+ 94,
+ 37,
+ 120,
+ 245,
+ 179,
+ 15,
+ 172,
+ 46,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 213,
+ 146,
+ 75,
+ 49,
+ 103,
+ 110,
+ 35,
+ 84,
+ 254,
+ 125,
+ 175,
+ 255,
+ 175,
+ 82,
+ 151,
+ 73,
+ 89,
+ 142,
+ 161,
+ 191,
+ 94,
+ 76,
+ 68,
+ 245,
+ 182,
+ 2,
+ 64,
+ 224,
+ 157,
+ 128,
+ 54,
+ 170
+ ],
+ "nonce": [
+ 93,
+ 132,
+ 119,
+ 132,
+ 240,
+ 188,
+ 215,
+ 156,
+ 184,
+ 79,
+ 207,
+ 29
+ ],
+ "aad": [],
+ "plaintext": [
+ 111,
+ 216,
+ 12,
+ 143,
+ 13,
+ 77,
+ 224,
+ 129,
+ 169,
+ 60,
+ 22,
+ 184,
+ 77,
+ 236,
+ 105,
+ 122,
+ 30,
+ 79,
+ 157,
+ 128,
+ 166,
+ 175,
+ 73,
+ 124,
+ 86,
+ 21,
+ 114,
+ 100,
+ 94,
+ 172,
+ 13,
+ 99
+ ],
+ "ciphertext": [
+ 40,
+ 44,
+ 201,
+ 210,
+ 48,
+ 138,
+ 68,
+ 48,
+ 25,
+ 207,
+ 220,
+ 77,
+ 121,
+ 133,
+ 74,
+ 204,
+ 199,
+ 115,
+ 30,
+ 227,
+ 105,
+ 2,
+ 186,
+ 254,
+ 63,
+ 250,
+ 202,
+ 100,
+ 132,
+ 50,
+ 123,
+ 130
+ ],
+ "tag": [
+ 77,
+ 197,
+ 224,
+ 242,
+ 171,
+ 145,
+ 189,
+ 253,
+ 49,
+ 242,
+ 189,
+ 207,
+ 6,
+ 175,
+ 150,
+ 103
+ ]
+ },
+ {
+ "key": [
+ 179,
+ 40,
+ 198,
+ 215,
+ 148,
+ 98,
+ 33,
+ 160,
+ 140,
+ 79,
+ 5,
+ 9,
+ 181,
+ 41,
+ 146,
+ 161,
+ 57,
+ 137,
+ 12,
+ 221,
+ 142,
+ 174,
+ 25,
+ 86,
+ 133,
+ 31,
+ 17,
+ 12,
+ 73,
+ 96,
+ 44,
+ 181
+ ],
+ "nonce": [
+ 26,
+ 67,
+ 60,
+ 51,
+ 202,
+ 18,
+ 206,
+ 38,
+ 207,
+ 61,
+ 255,
+ 255
+ ],
+ "aad": [],
+ "plaintext": [
+ 33,
+ 123,
+ 220,
+ 49,
+ 74,
+ 77,
+ 51,
+ 92,
+ 114,
+ 181,
+ 38,
+ 123,
+ 66,
+ 79,
+ 200,
+ 227,
+ 31,
+ 75,
+ 177,
+ 24,
+ 230,
+ 207,
+ 174,
+ 172,
+ 245,
+ 84,
+ 143,
+ 75,
+ 168,
+ 245,
+ 25,
+ 128
+ ],
+ "ciphertext": [
+ 163,
+ 34,
+ 148,
+ 78,
+ 7,
+ 191,
+ 132,
+ 171,
+ 66,
+ 79,
+ 250,
+ 117,
+ 253,
+ 3,
+ 9,
+ 232,
+ 105,
+ 28,
+ 144,
+ 54,
+ 176,
+ 143,
+ 52,
+ 75,
+ 167,
+ 108,
+ 224,
+ 119,
+ 79,
+ 67,
+ 179,
+ 81
+ ],
+ "tag": [
+ 20,
+ 221,
+ 107,
+ 28,
+ 43,
+ 34,
+ 69,
+ 51,
+ 204,
+ 201,
+ 254,
+ 232,
+ 210,
+ 136,
+ 19,
+ 88
+ ]
+ },
+ {
+ "key": [
+ 194,
+ 8,
+ 9,
+ 101,
+ 210,
+ 29,
+ 34,
+ 156,
+ 13,
+ 13,
+ 108,
+ 86,
+ 203,
+ 206,
+ 131,
+ 136,
+ 1,
+ 32,
+ 194,
+ 26,
+ 72,
+ 23,
+ 42,
+ 100,
+ 86,
+ 11,
+ 144,
+ 220,
+ 76,
+ 225,
+ 255,
+ 190
+ ],
+ "nonce": [
+ 146,
+ 141,
+ 108,
+ 1,
+ 149,
+ 245,
+ 240,
+ 151,
+ 79,
+ 56,
+ 115,
+ 11
+ ],
+ "aad": [],
+ "plaintext": [
+ 134,
+ 67,
+ 151,
+ 39,
+ 30,
+ 27,
+ 36,
+ 42,
+ 161,
+ 223,
+ 243,
+ 142,
+ 120,
+ 170,
+ 137,
+ 53,
+ 62,
+ 21,
+ 84,
+ 186,
+ 144,
+ 115,
+ 24,
+ 160,
+ 170,
+ 173,
+ 68,
+ 242,
+ 111,
+ 205,
+ 86,
+ 125
+ ],
+ "ciphertext": [
+ 125,
+ 228,
+ 249,
+ 65,
+ 244,
+ 75,
+ 208,
+ 242,
+ 104,
+ 178,
+ 164,
+ 123,
+ 156,
+ 73,
+ 39,
+ 204,
+ 16,
+ 83,
+ 123,
+ 190,
+ 215,
+ 57,
+ 213,
+ 42,
+ 176,
+ 153,
+ 253,
+ 228,
+ 3,
+ 48,
+ 65,
+ 209
+ ],
+ "tag": [
+ 181,
+ 26,
+ 89,
+ 147,
+ 24,
+ 23,
+ 37,
+ 118,
+ 25,
+ 231,
+ 190,
+ 16,
+ 145,
+ 18,
+ 140,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 221,
+ 107,
+ 126,
+ 37,
+ 132,
+ 237,
+ 241,
+ 241,
+ 230,
+ 194,
+ 192,
+ 221,
+ 31,
+ 114,
+ 22,
+ 26,
+ 146,
+ 210,
+ 203,
+ 169,
+ 152,
+ 86,
+ 85,
+ 79,
+ 130,
+ 13,
+ 225,
+ 37,
+ 109,
+ 72,
+ 192,
+ 153
+ ],
+ "nonce": [
+ 254,
+ 157,
+ 85,
+ 60,
+ 117,
+ 6,
+ 126,
+ 141,
+ 186,
+ 225,
+ 171,
+ 103
+ ],
+ "aad": [],
+ "plaintext": [
+ 249,
+ 248,
+ 111,
+ 119,
+ 98,
+ 133,
+ 159,
+ 17,
+ 214,
+ 231,
+ 239,
+ 86,
+ 23,
+ 134,
+ 87,
+ 221,
+ 205,
+ 237,
+ 83,
+ 40,
+ 67,
+ 68,
+ 111,
+ 134,
+ 162,
+ 62,
+ 172,
+ 53,
+ 170,
+ 45,
+ 211,
+ 192
+ ],
+ "ciphertext": [
+ 247,
+ 170,
+ 161,
+ 113,
+ 28,
+ 128,
+ 146,
+ 120,
+ 59,
+ 5,
+ 180,
+ 229,
+ 230,
+ 201,
+ 198,
+ 148,
+ 78,
+ 153,
+ 27,
+ 213,
+ 156,
+ 148,
+ 185,
+ 208,
+ 53,
+ 109,
+ 240,
+ 10,
+ 102,
+ 226,
+ 219,
+ 91
+ ],
+ "tag": [
+ 198,
+ 30,
+ 221,
+ 23,
+ 108,
+ 131,
+ 34,
+ 160,
+ 29,
+ 140,
+ 95,
+ 61,
+ 240,
+ 146,
+ 82,
+ 233
+ ]
+ },
+ {
+ "key": [
+ 55,
+ 243,
+ 145,
+ 55,
+ 65,
+ 107,
+ 175,
+ 222,
+ 111,
+ 117,
+ 2,
+ 42,
+ 122,
+ 82,
+ 124,
+ 197,
+ 147,
+ 182,
+ 0,
+ 10,
+ 131,
+ 255,
+ 81,
+ 236,
+ 4,
+ 135,
+ 26,
+ 15,
+ 245,
+ 54,
+ 14,
+ 78
+ ],
+ "nonce": [
+ 162,
+ 145,
+ 72,
+ 76,
+ 61,
+ 232,
+ 190,
+ 198,
+ 180,
+ 127,
+ 82,
+ 95
+ ],
+ "aad": [],
+ "plaintext": [
+ 250,
+ 253,
+ 148,
+ 206,
+ 222,
+ 139,
+ 90,
+ 7,
+ 48,
+ 57,
+ 75,
+ 236,
+ 104,
+ 168,
+ 231,
+ 125,
+ 186,
+ 40,
+ 141,
+ 108,
+ 202,
+ 168,
+ 225,
+ 86,
+ 58,
+ 129,
+ 214,
+ 231,
+ 204,
+ 199,
+ 252,
+ 151
+ ],
+ "ciphertext": [
+ 68,
+ 220,
+ 134,
+ 128,
+ 6,
+ 178,
+ 29,
+ 73,
+ 40,
+ 64,
+ 22,
+ 86,
+ 95,
+ 251,
+ 57,
+ 121,
+ 204,
+ 66,
+ 113,
+ 217,
+ 103,
+ 98,
+ 139,
+ 247,
+ 205,
+ 175,
+ 134,
+ 219,
+ 136,
+ 142,
+ 146,
+ 229
+ ],
+ "tag": [
+ 1,
+ 162,
+ 181,
+ 120,
+ 170,
+ 47,
+ 65,
+ 236,
+ 99,
+ 121,
+ 164,
+ 74,
+ 49,
+ 204,
+ 1,
+ 156
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 239,
+ 97,
+ 144,
+ 84,
+ 22,
+ 64,
+ 115,
+ 192,
+ 106,
+ 25,
+ 27,
+ 100,
+ 49,
+ 196,
+ 192,
+ 188,
+ 38,
+ 144,
+ 80,
+ 141,
+ 203,
+ 110,
+ 136,
+ 168,
+ 57,
+ 106,
+ 19,
+ 145,
+ 41,
+ 20,
+ 131
+ ],
+ "nonce": [
+ 22,
+ 198,
+ 210,
+ 2,
+ 36,
+ 181,
+ 86,
+ 168,
+ 173,
+ 126,
+ 96,
+ 7
+ ],
+ "aad": [],
+ "plaintext": [
+ 148,
+ 154,
+ 159,
+ 133,
+ 150,
+ 111,
+ 74,
+ 49,
+ 124,
+ 245,
+ 146,
+ 231,
+ 12,
+ 95,
+ 181,
+ 156,
+ 76,
+ 172,
+ 189,
+ 8,
+ 20,
+ 12,
+ 129,
+ 105,
+ 186,
+ 16,
+ 178,
+ 232,
+ 121,
+ 26,
+ 229,
+ 123
+ ],
+ "ciphertext": [
+ 181,
+ 5,
+ 74,
+ 57,
+ 46,
+ 95,
+ 6,
+ 114,
+ 231,
+ 146,
+ 42,
+ 194,
+ 67,
+ 185,
+ 59,
+ 67,
+ 46,
+ 140,
+ 88,
+ 39,
+ 79,
+ 244,
+ 166,
+ 211,
+ 170,
+ 140,
+ 182,
+ 84,
+ 228,
+ 148,
+ 226,
+ 242
+ ],
+ "tag": [
+ 207,
+ 43,
+ 189,
+ 183,
+ 64,
+ 54,
+ 156,
+ 20,
+ 14,
+ 147,
+ 226,
+ 81,
+ 230,
+ 245,
+ 200,
+ 117
+ ]
+ },
+ {
+ "key": [
+ 118,
+ 243,
+ 134,
+ 188,
+ 139,
+ 147,
+ 131,
+ 25,
+ 3,
+ 144,
+ 27,
+ 94,
+ 218,
+ 31,
+ 119,
+ 149,
+ 175,
+ 138,
+ 220,
+ 236,
+ 255,
+ 168,
+ 174,
+ 240,
+ 4,
+ 183,
+ 84,
+ 163,
+ 83,
+ 198,
+ 45,
+ 142
+ ],
+ "nonce": [
+ 150,
+ 97,
+ 139,
+ 53,
+ 124,
+ 65,
+ 244,
+ 26,
+ 44,
+ 72,
+ 52,
+ 59
+ ],
+ "aad": [],
+ "plaintext": [
+ 54,
+ 16,
+ 142,
+ 218,
+ 213,
+ 222,
+ 59,
+ 251,
+ 2,
+ 88,
+ 223,
+ 119,
+ 9,
+ 251,
+ 187,
+ 26,
+ 21,
+ 124,
+ 54,
+ 50,
+ 31,
+ 141,
+ 231,
+ 46,
+ 184,
+ 50,
+ 14,
+ 154,
+ 161,
+ 121,
+ 73,
+ 51
+ ],
+ "ciphertext": [
+ 178,
+ 9,
+ 58,
+ 79,
+ 200,
+ 255,
+ 13,
+ 174,
+ 252,
+ 28,
+ 120,
+ 107,
+ 107,
+ 4,
+ 50,
+ 74,
+ 128,
+ 215,
+ 121,
+ 65,
+ 168,
+ 142,
+ 10,
+ 122,
+ 110,
+ 240,
+ 166,
+ 43,
+ 235,
+ 142,
+ 210,
+ 131
+ ],
+ "tag": [
+ 229,
+ 94,
+ 160,
+ 69,
+ 106,
+ 249,
+ 205,
+ 255,
+ 44,
+ 173,
+ 78,
+ 235,
+ 191,
+ 0,
+ 218,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 111,
+ 178,
+ 209,
+ 48,
+ 187,
+ 173,
+ 25,
+ 36,
+ 202,
+ 179,
+ 125,
+ 7,
+ 21,
+ 83,
+ 177,
+ 33,
+ 105,
+ 233,
+ 120,
+ 168,
+ 5,
+ 191,
+ 116,
+ 203,
+ 76,
+ 35,
+ 213,
+ 204,
+ 211,
+ 147,
+ 215,
+ 187
+ ],
+ "nonce": [
+ 118,
+ 130,
+ 103,
+ 65,
+ 34,
+ 90,
+ 57,
+ 31,
+ 220,
+ 228,
+ 211,
+ 182
+ ],
+ "aad": [],
+ "plaintext": [
+ 196,
+ 155,
+ 128,
+ 8,
+ 14,
+ 46,
+ 254,
+ 181,
+ 114,
+ 75,
+ 158,
+ 91,
+ 83,
+ 186,
+ 12,
+ 48,
+ 46,
+ 151,
+ 189,
+ 22,
+ 241,
+ 166,
+ 187,
+ 236,
+ 1,
+ 225,
+ 202,
+ 108,
+ 53,
+ 164,
+ 42,
+ 60
+ ],
+ "ciphertext": [
+ 98,
+ 251,
+ 229,
+ 70,
+ 106,
+ 127,
+ 248,
+ 63,
+ 247,
+ 25,
+ 244,
+ 146,
+ 126,
+ 0,
+ 233,
+ 49,
+ 158,
+ 27,
+ 183,
+ 232,
+ 53,
+ 197,
+ 214,
+ 180,
+ 233,
+ 212,
+ 188,
+ 90,
+ 141,
+ 110,
+ 43,
+ 235
+ ],
+ "tag": [
+ 223,
+ 114,
+ 218,
+ 122,
+ 102,
+ 203,
+ 82,
+ 87,
+ 131,
+ 111,
+ 60,
+ 25,
+ 236,
+ 173,
+ 205,
+ 85
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 46,
+ 129,
+ 19,
+ 151,
+ 2,
+ 87,
+ 217,
+ 67,
+ 120,
+ 7,
+ 98,
+ 0,
+ 152,
+ 55,
+ 2,
+ 67,
+ 83,
+ 106,
+ 16,
+ 92,
+ 202,
+ 79,
+ 188,
+ 129,
+ 161,
+ 255,
+ 45,
+ 72,
+ 135,
+ 79,
+ 72
+ ],
+ "nonce": [
+ 201,
+ 36,
+ 193,
+ 156,
+ 77,
+ 20,
+ 144,
+ 90,
+ 43,
+ 223,
+ 99,
+ 191
+ ],
+ "aad": [],
+ "plaintext": [
+ 145,
+ 123,
+ 149,
+ 133,
+ 246,
+ 94,
+ 89,
+ 191,
+ 77,
+ 36,
+ 43,
+ 176,
+ 128,
+ 41,
+ 102,
+ 4,
+ 93,
+ 210,
+ 159,
+ 188,
+ 102,
+ 145,
+ 18,
+ 119,
+ 186,
+ 236,
+ 223,
+ 204,
+ 129,
+ 140,
+ 60,
+ 53
+ ],
+ "ciphertext": [
+ 91,
+ 101,
+ 148,
+ 237,
+ 205,
+ 219,
+ 179,
+ 56,
+ 244,
+ 232,
+ 19,
+ 104,
+ 127,
+ 79,
+ 35,
+ 167,
+ 90,
+ 100,
+ 194,
+ 30,
+ 60,
+ 245,
+ 210,
+ 231,
+ 201,
+ 175,
+ 15,
+ 126,
+ 62,
+ 227,
+ 230,
+ 22
+ ],
+ "tag": [
+ 241,
+ 204,
+ 205,
+ 147,
+ 164,
+ 65,
+ 18,
+ 71,
+ 200,
+ 182,
+ 131,
+ 10,
+ 221,
+ 215,
+ 44,
+ 111
+ ]
+ },
+ {
+ "key": [
+ 42,
+ 172,
+ 73,
+ 156,
+ 176,
+ 235,
+ 114,
+ 180,
+ 89,
+ 138,
+ 207,
+ 244,
+ 51,
+ 13,
+ 246,
+ 205,
+ 118,
+ 73,
+ 120,
+ 153,
+ 125,
+ 90,
+ 206,
+ 81,
+ 218,
+ 136,
+ 224,
+ 193,
+ 134,
+ 113,
+ 189,
+ 233
+ ],
+ "nonce": [
+ 253,
+ 22,
+ 205,
+ 195,
+ 157,
+ 127,
+ 11,
+ 146,
+ 225,
+ 249,
+ 92,
+ 151
+ ],
+ "aad": [],
+ "plaintext": [
+ 231,
+ 183,
+ 91,
+ 250,
+ 53,
+ 201,
+ 160,
+ 4,
+ 208,
+ 182,
+ 130,
+ 101,
+ 98,
+ 58,
+ 155,
+ 6,
+ 182,
+ 212,
+ 73,
+ 62,
+ 160,
+ 173,
+ 79,
+ 108,
+ 119,
+ 123,
+ 165,
+ 173,
+ 216,
+ 199,
+ 187,
+ 187
+ ],
+ "ciphertext": [
+ 195,
+ 208,
+ 160,
+ 247,
+ 206,
+ 151,
+ 32,
+ 201,
+ 90,
+ 172,
+ 134,
+ 21,
+ 26,
+ 173,
+ 99,
+ 72,
+ 132,
+ 221,
+ 250,
+ 98,
+ 223,
+ 88,
+ 241,
+ 131,
+ 148,
+ 83,
+ 127,
+ 101,
+ 4,
+ 217,
+ 168,
+ 170
+ ],
+ "tag": [
+ 118,
+ 116,
+ 154,
+ 30,
+ 199,
+ 2,
+ 54,
+ 178,
+ 103,
+ 252,
+ 52,
+ 13,
+ 95,
+ 187,
+ 109,
+ 163
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 165,
+ 2,
+ 214,
+ 187,
+ 25,
+ 8,
+ 147,
+ 81,
+ 226,
+ 40,
+ 213,
+ 203,
+ 255,
+ 32,
+ 62,
+ 84,
+ 252,
+ 49,
+ 242,
+ 119,
+ 34,
+ 83,
+ 223,
+ 8,
+ 85,
+ 120,
+ 117,
+ 217,
+ 100,
+ 194,
+ 49
+ ],
+ "nonce": [
+ 14,
+ 187,
+ 90,
+ 244,
+ 164,
+ 98,
+ 161,
+ 230,
+ 222,
+ 215,
+ 22,
+ 74
+ ],
+ "aad": [],
+ "plaintext": [
+ 187,
+ 236,
+ 200,
+ 148,
+ 80,
+ 192,
+ 123,
+ 141,
+ 230,
+ 49,
+ 21,
+ 94,
+ 93,
+ 124,
+ 199,
+ 169,
+ 210,
+ 99,
+ 118,
+ 187,
+ 87,
+ 215,
+ 69,
+ 141,
+ 73,
+ 180,
+ 195,
+ 110,
+ 20,
+ 4,
+ 144,
+ 243
+ ],
+ "ciphertext": [
+ 253,
+ 9,
+ 201,
+ 80,
+ 137,
+ 4,
+ 65,
+ 252,
+ 170,
+ 168,
+ 128,
+ 154,
+ 137,
+ 152,
+ 7,
+ 154,
+ 187,
+ 136,
+ 116,
+ 28,
+ 102,
+ 114,
+ 171,
+ 174,
+ 18,
+ 56,
+ 63,
+ 253,
+ 114,
+ 79,
+ 130,
+ 153
+ ],
+ "tag": [
+ 34,
+ 250,
+ 194,
+ 70,
+ 5,
+ 139,
+ 241,
+ 66,
+ 197,
+ 242,
+ 104,
+ 18,
+ 166,
+ 53,
+ 180,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 45,
+ 40,
+ 158,
+ 32,
+ 199,
+ 111,
+ 117,
+ 193,
+ 53,
+ 200,
+ 17,
+ 141,
+ 92,
+ 191,
+ 95,
+ 40,
+ 40,
+ 2,
+ 111,
+ 11,
+ 99,
+ 149,
+ 136,
+ 163,
+ 235,
+ 74,
+ 215,
+ 82,
+ 206,
+ 165,
+ 72
+ ],
+ "nonce": [
+ 187,
+ 8,
+ 82,
+ 109,
+ 216,
+ 189,
+ 28,
+ 59,
+ 181,
+ 141,
+ 9,
+ 153
+ ],
+ "aad": [],
+ "plaintext": [
+ 86,
+ 245,
+ 219,
+ 30,
+ 121,
+ 106,
+ 12,
+ 70,
+ 51,
+ 168,
+ 213,
+ 112,
+ 24,
+ 44,
+ 57,
+ 227,
+ 200,
+ 69,
+ 30,
+ 123,
+ 164,
+ 133,
+ 185,
+ 141,
+ 56,
+ 162,
+ 201,
+ 38,
+ 161,
+ 185,
+ 42,
+ 70
+ ],
+ "ciphertext": [
+ 164,
+ 16,
+ 5,
+ 223,
+ 24,
+ 115,
+ 77,
+ 79,
+ 63,
+ 153,
+ 241,
+ 158,
+ 248,
+ 252,
+ 67,
+ 177,
+ 110,
+ 244,
+ 49,
+ 32,
+ 124,
+ 176,
+ 70,
+ 99,
+ 65,
+ 191,
+ 22,
+ 75,
+ 88,
+ 226,
+ 53,
+ 51
+ ],
+ "tag": [
+ 164,
+ 92,
+ 42,
+ 30,
+ 246,
+ 174,
+ 199,
+ 92,
+ 194,
+ 45,
+ 113,
+ 128,
+ 125,
+ 171,
+ 60,
+ 39
+ ]
+ },
+ {
+ "key": [
+ 102,
+ 228,
+ 24,
+ 208,
+ 236,
+ 151,
+ 180,
+ 32,
+ 177,
+ 181,
+ 54,
+ 93,
+ 27,
+ 109,
+ 92,
+ 215,
+ 197,
+ 172,
+ 26,
+ 86,
+ 83,
+ 115,
+ 145,
+ 32,
+ 212,
+ 174,
+ 195,
+ 201,
+ 76,
+ 147,
+ 194,
+ 135
+ ],
+ "nonce": [
+ 152,
+ 159,
+ 148,
+ 72,
+ 2,
+ 102,
+ 227,
+ 101,
+ 36,
+ 136,
+ 24,
+ 78
+ ],
+ "aad": [],
+ "plaintext": [
+ 229,
+ 5,
+ 43,
+ 25,
+ 215,
+ 248,
+ 39,
+ 253,
+ 96,
+ 244,
+ 92,
+ 137,
+ 37,
+ 128,
+ 159,
+ 210,
+ 33,
+ 126,
+ 196,
+ 209,
+ 106,
+ 168,
+ 155,
+ 191,
+ 149,
+ 200,
+ 106,
+ 28,
+ 30,
+ 66,
+ 189,
+ 54
+ ],
+ "ciphertext": [
+ 243,
+ 65,
+ 99,
+ 5,
+ 116,
+ 238,
+ 146,
+ 148,
+ 44,
+ 244,
+ 197,
+ 236,
+ 211,
+ 114,
+ 26,
+ 231,
+ 75,
+ 50,
+ 197,
+ 87,
+ 55,
+ 157,
+ 254,
+ 131,
+ 81,
+ 189,
+ 28,
+ 102,
+ 97,
+ 162,
+ 64,
+ 218
+ ],
+ "tag": [
+ 232,
+ 95,
+ 182,
+ 85,
+ 239,
+ 67,
+ 46,
+ 25,
+ 88,
+ 14,
+ 4,
+ 38,
+ 221,
+ 64,
+ 90,
+ 62
+ ]
+ },
+ {
+ "key": [
+ 55,
+ 204,
+ 219,
+ 161,
+ 217,
+ 41,
+ 214,
+ 67,
+ 108,
+ 22,
+ 187,
+ 165,
+ 181,
+ 255,
+ 52,
+ 222,
+ 236,
+ 136,
+ 237,
+ 125,
+ 243,
+ 209,
+ 93,
+ 15,
+ 77,
+ 223,
+ 128,
+ 192,
+ 199,
+ 49,
+ 238,
+ 31
+ ],
+ "nonce": [
+ 92,
+ 27,
+ 33,
+ 200,
+ 153,
+ 142,
+ 214,
+ 41,
+ 144,
+ 6,
+ 211,
+ 249
+ ],
+ "aad": [
+ 34,
+ 237,
+ 35,
+ 89,
+ 70,
+ 35,
+ 90,
+ 133,
+ 164,
+ 91,
+ 197,
+ 250,
+ 215,
+ 20,
+ 11,
+ 250
+ ],
+ "plaintext": [
+ 173,
+ 66,
+ 96,
+ 227,
+ 205,
+ 199,
+ 107,
+ 204,
+ 16,
+ 199,
+ 178,
+ 192,
+ 107,
+ 128,
+ 179,
+ 190,
+ 148,
+ 130,
+ 88,
+ 229,
+ 239,
+ 32,
+ 197,
+ 8,
+ 168,
+ 31,
+ 81,
+ 233,
+ 106,
+ 81,
+ 131,
+ 136
+ ],
+ "ciphertext": [
+ 59,
+ 51,
+ 95,
+ 139,
+ 8,
+ 211,
+ 60,
+ 205,
+ 202,
+ 210,
+ 40,
+ 167,
+ 71,
+ 0,
+ 241,
+ 0,
+ 117,
+ 66,
+ 164,
+ 209,
+ 231,
+ 252,
+ 30,
+ 190,
+ 63,
+ 68,
+ 127,
+ 231,
+ 26,
+ 242,
+ 152,
+ 22
+ ],
+ "tag": [
+ 31,
+ 191,
+ 73,
+ 204,
+ 70,
+ 244,
+ 88,
+ 191,
+ 110,
+ 136,
+ 246,
+ 55,
+ 9,
+ 117,
+ 230,
+ 212
+ ]
+ },
+ {
+ "key": [
+ 44,
+ 17,
+ 71,
+ 14,
+ 111,
+ 19,
+ 107,
+ 236,
+ 115,
+ 53,
+ 22,
+ 25,
+ 40,
+ 143,
+ 129,
+ 159,
+ 178,
+ 187,
+ 186,
+ 69,
+ 24,
+ 87,
+ 170,
+ 223,
+ 183,
+ 131,
+ 132,
+ 7,
+ 70,
+ 18,
+ 119,
+ 138
+ ],
+ "nonce": [
+ 78,
+ 108,
+ 194,
+ 188,
+ 193,
+ 90,
+ 70,
+ 213,
+ 30,
+ 136,
+ 149,
+ 141
+ ],
+ "aad": [
+ 5,
+ 210,
+ 147,
+ 105,
+ 146,
+ 47,
+ 218,
+ 193,
+ 167,
+ 179,
+ 127,
+ 7,
+ 149,
+ 63,
+ 225,
+ 117
+ ],
+ "plaintext": [
+ 59,
+ 49,
+ 134,
+ 160,
+ 36,
+ 117,
+ 245,
+ 54,
+ 216,
+ 13,
+ 139,
+ 211,
+ 38,
+ 236,
+ 200,
+ 179,
+ 61,
+ 208,
+ 79,
+ 102,
+ 248,
+ 186,
+ 29,
+ 32,
+ 145,
+ 121,
+ 82,
+ 65,
+ 11,
+ 5,
+ 194,
+ 237
+ ],
+ "ciphertext": [
+ 99,
+ 128,
+ 148,
+ 90,
+ 8,
+ 151,
+ 126,
+ 135,
+ 178,
+ 148,
+ 185,
+ 228,
+ 18,
+ 162,
+ 106,
+ 235,
+ 238,
+ 184,
+ 150,
+ 12,
+ 81,
+ 36,
+ 57,
+ 186,
+ 195,
+ 102,
+ 54,
+ 118,
+ 60,
+ 217,
+ 28,
+ 12
+ ],
+ "tag": [
+ 16,
+ 41,
+ 163,
+ 196,
+ 190,
+ 29,
+ 144,
+ 18,
+ 60,
+ 27,
+ 64,
+ 69,
+ 19,
+ 239,
+ 222,
+ 83
+ ]
+ },
+ {
+ "key": [
+ 223,
+ 37,
+ 234,
+ 55,
+ 124,
+ 120,
+ 77,
+ 116,
+ 56,
+ 70,
+ 85,
+ 90,
+ 16,
+ 207,
+ 170,
+ 4,
+ 73,
+ 54,
+ 83,
+ 86,
+ 73,
+ 233,
+ 77,
+ 162,
+ 24,
+ 17,
+ 186,
+ 217,
+ 206,
+ 169,
+ 87,
+ 181
+ ],
+ "nonce": [
+ 53,
+ 245,
+ 248,
+ 233,
+ 80,
+ 193,
+ 245,
+ 122,
+ 211,
+ 223,
+ 177,
+ 250
+ ],
+ "aad": [
+ 40,
+ 235,
+ 70,
+ 119,
+ 17,
+ 12,
+ 203,
+ 110,
+ 220,
+ 141,
+ 32,
+ 19,
+ 220,
+ 143,
+ 70,
+ 236
+ ],
+ "plaintext": [
+ 152,
+ 148,
+ 26,
+ 128,
+ 122,
+ 200,
+ 241,
+ 110,
+ 239,
+ 11,
+ 61,
+ 60,
+ 123,
+ 189,
+ 253,
+ 85,
+ 208,
+ 23,
+ 54,
+ 197,
+ 179,
+ 54,
+ 13,
+ 146,
+ 180,
+ 53,
+ 138,
+ 90,
+ 137,
+ 25,
+ 56,
+ 11
+ ],
+ "ciphertext": [
+ 36,
+ 160,
+ 117,
+ 50,
+ 233,
+ 129,
+ 170,
+ 243,
+ 16,
+ 110,
+ 171,
+ 141,
+ 251,
+ 178,
+ 210,
+ 7,
+ 131,
+ 66,
+ 226,
+ 234,
+ 238,
+ 2,
+ 126,
+ 20,
+ 143,
+ 6,
+ 172,
+ 166,
+ 143,
+ 106,
+ 28,
+ 80
+ ],
+ "tag": [
+ 19,
+ 19,
+ 115,
+ 237,
+ 74,
+ 14,
+ 63,
+ 88,
+ 74,
+ 233,
+ 120,
+ 212,
+ 45,
+ 170,
+ 111,
+ 58
+ ]
+ },
+ {
+ "key": [
+ 16,
+ 97,
+ 104,
+ 234,
+ 101,
+ 31,
+ 34,
+ 197,
+ 65,
+ 150,
+ 160,
+ 111,
+ 26,
+ 16,
+ 188,
+ 244,
+ 230,
+ 32,
+ 217,
+ 62,
+ 77,
+ 192,
+ 130,
+ 77,
+ 121,
+ 143,
+ 68,
+ 249,
+ 33,
+ 156,
+ 97,
+ 119
+ ],
+ "nonce": [
+ 64,
+ 100,
+ 220,
+ 189,
+ 99,
+ 28,
+ 242,
+ 11,
+ 5,
+ 174,
+ 34,
+ 222
+ ],
+ "aad": [
+ 163,
+ 110,
+ 47,
+ 185,
+ 205,
+ 150,
+ 168,
+ 202,
+ 154,
+ 226,
+ 177,
+ 147,
+ 170,
+ 73,
+ 142,
+ 253
+ ],
+ "plaintext": [
+ 176,
+ 211,
+ 218,
+ 43,
+ 150,
+ 184,
+ 136,
+ 156,
+ 146,
+ 228,
+ 69,
+ 171,
+ 190,
+ 164,
+ 198,
+ 208,
+ 213,
+ 212,
+ 77,
+ 127,
+ 188,
+ 199,
+ 218,
+ 222,
+ 76,
+ 146,
+ 246,
+ 188,
+ 221,
+ 191,
+ 6,
+ 225
+ ],
+ "ciphertext": [
+ 245,
+ 90,
+ 109,
+ 138,
+ 105,
+ 101,
+ 234,
+ 69,
+ 22,
+ 55,
+ 190,
+ 199,
+ 84,
+ 140,
+ 251,
+ 31,
+ 254,
+ 89,
+ 252,
+ 12,
+ 230,
+ 234,
+ 106,
+ 147,
+ 124,
+ 181,
+ 221,
+ 50,
+ 179,
+ 212,
+ 93,
+ 95
+ ],
+ "tag": [
+ 141,
+ 27,
+ 242,
+ 113,
+ 80,
+ 65,
+ 248,
+ 23,
+ 241,
+ 22,
+ 49,
+ 252,
+ 153,
+ 16,
+ 198,
+ 41
+ ]
+ },
+ {
+ "key": [
+ 39,
+ 45,
+ 22,
+ 73,
+ 163,
+ 221,
+ 128,
+ 77,
+ 224,
+ 150,
+ 45,
+ 62,
+ 7,
+ 6,
+ 74,
+ 112,
+ 84,
+ 192,
+ 10,
+ 98,
+ 52,
+ 171,
+ 27,
+ 12,
+ 220,
+ 246,
+ 133,
+ 171,
+ 57,
+ 72,
+ 55,
+ 229
+ ],
+ "nonce": [
+ 149,
+ 91,
+ 88,
+ 151,
+ 246,
+ 185,
+ 128,
+ 107,
+ 190,
+ 197,
+ 195,
+ 62
+ ],
+ "aad": [
+ 51,
+ 230,
+ 24,
+ 236,
+ 187,
+ 229,
+ 235,
+ 5,
+ 102,
+ 223,
+ 33,
+ 195,
+ 195,
+ 75,
+ 126,
+ 37
+ ],
+ "plaintext": [
+ 54,
+ 229,
+ 124,
+ 41,
+ 192,
+ 140,
+ 81,
+ 173,
+ 127,
+ 169,
+ 28,
+ 4,
+ 22,
+ 249,
+ 118,
+ 207,
+ 208,
+ 17,
+ 120,
+ 14,
+ 180,
+ 76,
+ 197,
+ 171,
+ 211,
+ 76,
+ 123,
+ 67,
+ 27,
+ 9,
+ 59,
+ 141
+ ],
+ "ciphertext": [
+ 205,
+ 106,
+ 235,
+ 52,
+ 80,
+ 129,
+ 220,
+ 11,
+ 178,
+ 200,
+ 180,
+ 209,
+ 155,
+ 40,
+ 6,
+ 88,
+ 251,
+ 135,
+ 192,
+ 242,
+ 189,
+ 15,
+ 76,
+ 157,
+ 166,
+ 148,
+ 220,
+ 31,
+ 238,
+ 179,
+ 47,
+ 78
+ ],
+ "tag": [
+ 221,
+ 55,
+ 234,
+ 198,
+ 189,
+ 106,
+ 77,
+ 54,
+ 24,
+ 36,
+ 23,
+ 56,
+ 119,
+ 151,
+ 53,
+ 215
+ ]
+ },
+ {
+ "key": [
+ 61,
+ 171,
+ 106,
+ 81,
+ 187,
+ 122,
+ 243,
+ 52,
+ 221,
+ 75,
+ 121,
+ 167,
+ 209,
+ 57,
+ 85,
+ 12,
+ 136,
+ 240,
+ 119,
+ 141,
+ 67,
+ 194,
+ 31,
+ 196,
+ 173,
+ 51,
+ 249,
+ 131,
+ 161,
+ 53,
+ 21,
+ 203
+ ],
+ "nonce": [
+ 54,
+ 46,
+ 170,
+ 103,
+ 202,
+ 179,
+ 209,
+ 237,
+ 72,
+ 233,
+ 243,
+ 136
+ ],
+ "aad": [
+ 82,
+ 133,
+ 33,
+ 80,
+ 120,
+ 110,
+ 101,
+ 71,
+ 162,
+ 97,
+ 142,
+ 21,
+ 199,
+ 113,
+ 16,
+ 182
+ ],
+ "plaintext": [
+ 62,
+ 183,
+ 245,
+ 240,
+ 164,
+ 202,
+ 154,
+ 167,
+ 0,
+ 4,
+ 151,
+ 96,
+ 44,
+ 97,
+ 36,
+ 67,
+ 58,
+ 96,
+ 168,
+ 252,
+ 217,
+ 27,
+ 32,
+ 23,
+ 91,
+ 78,
+ 232,
+ 126,
+ 107,
+ 16,
+ 162,
+ 215
+ ],
+ "ciphertext": [
+ 204,
+ 51,
+ 22,
+ 4,
+ 27,
+ 136,
+ 115,
+ 56,
+ 57,
+ 36,
+ 155,
+ 117,
+ 111,
+ 250,
+ 0,
+ 187,
+ 236,
+ 98,
+ 17,
+ 148,
+ 47,
+ 96,
+ 79,
+ 38,
+ 196,
+ 163,
+ 94,
+ 211,
+ 46,
+ 110,
+ 234,
+ 255
+ ],
+ "tag": [
+ 89,
+ 54,
+ 197,
+ 80,
+ 2,
+ 64,
+ 213,
+ 12,
+ 13,
+ 160,
+ 252,
+ 220,
+ 36,
+ 143,
+ 23,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 14,
+ 166,
+ 6,
+ 82,
+ 27,
+ 147,
+ 93,
+ 91,
+ 75,
+ 102,
+ 223,
+ 137,
+ 251,
+ 55,
+ 45,
+ 53,
+ 196,
+ 214,
+ 210,
+ 192,
+ 55,
+ 103,
+ 54,
+ 126,
+ 56,
+ 222,
+ 13,
+ 76,
+ 39,
+ 118,
+ 29,
+ 86
+ ],
+ "nonce": [
+ 13,
+ 49,
+ 104,
+ 49,
+ 138,
+ 79,
+ 118,
+ 57,
+ 38,
+ 153,
+ 100,
+ 11
+ ],
+ "aad": [
+ 59,
+ 216,
+ 132,
+ 144,
+ 112,
+ 207,
+ 3,
+ 76,
+ 66,
+ 152,
+ 244,
+ 15,
+ 51,
+ 176,
+ 184,
+ 57
+ ],
+ "plaintext": [
+ 244,
+ 80,
+ 179,
+ 109,
+ 108,
+ 73,
+ 65,
+ 24,
+ 151,
+ 188,
+ 227,
+ 144,
+ 1,
+ 215,
+ 63,
+ 240,
+ 27,
+ 94,
+ 133,
+ 102,
+ 23,
+ 158,
+ 54,
+ 218,
+ 202,
+ 199,
+ 6,
+ 76,
+ 171,
+ 92,
+ 98,
+ 112
+ ],
+ "ciphertext": [
+ 59,
+ 21,
+ 250,
+ 209,
+ 135,
+ 38,
+ 196,
+ 234,
+ 167,
+ 5,
+ 2,
+ 179,
+ 243,
+ 179,
+ 44,
+ 80,
+ 146,
+ 209,
+ 217,
+ 40,
+ 53,
+ 230,
+ 70,
+ 6,
+ 101,
+ 252,
+ 80,
+ 221,
+ 169,
+ 83,
+ 161,
+ 145
+ ],
+ "tag": [
+ 17,
+ 253,
+ 63,
+ 221,
+ 246,
+ 30,
+ 1,
+ 12,
+ 23,
+ 251,
+ 237,
+ 212,
+ 189,
+ 95,
+ 176,
+ 18
+ ]
+ },
+ {
+ "key": [
+ 200,
+ 196,
+ 249,
+ 224,
+ 189,
+ 40,
+ 158,
+ 241,
+ 189,
+ 22,
+ 16,
+ 74,
+ 128,
+ 116,
+ 251,
+ 7,
+ 61,
+ 217,
+ 3,
+ 90,
+ 185,
+ 55,
+ 171,
+ 7,
+ 111,
+ 181,
+ 128,
+ 30,
+ 34,
+ 149,
+ 170,
+ 47
+ ],
+ "nonce": [
+ 190,
+ 105,
+ 157,
+ 157,
+ 152,
+ 236,
+ 31,
+ 114,
+ 77,
+ 168,
+ 189,
+ 15
+ ],
+ "aad": [
+ 169,
+ 133,
+ 199,
+ 72,
+ 151,
+ 50,
+ 3,
+ 140,
+ 49,
+ 144,
+ 203,
+ 82,
+ 190,
+ 35,
+ 115,
+ 124
+ ],
+ "plaintext": [
+ 73,
+ 254,
+ 148,
+ 7,
+ 167,
+ 25,
+ 212,
+ 30,
+ 101,
+ 133,
+ 135,
+ 128,
+ 156,
+ 254,
+ 215,
+ 165,
+ 180,
+ 153,
+ 65,
+ 194,
+ 214,
+ 55,
+ 143,
+ 60,
+ 10,
+ 254,
+ 97,
+ 47,
+ 84,
+ 240,
+ 88,
+ 161
+ ],
+ "ciphertext": [
+ 23,
+ 169,
+ 170,
+ 166,
+ 163,
+ 198,
+ 139,
+ 161,
+ 246,
+ 203,
+ 38,
+ 253,
+ 214,
+ 83,
+ 108,
+ 32,
+ 126,
+ 60,
+ 156,
+ 229,
+ 143,
+ 67,
+ 228,
+ 236,
+ 253,
+ 56,
+ 211,
+ 56,
+ 122,
+ 121,
+ 138,
+ 15
+ ],
+ "tag": [
+ 216,
+ 50,
+ 203,
+ 72,
+ 20,
+ 20,
+ 37,
+ 98,
+ 254,
+ 223,
+ 228,
+ 91,
+ 54,
+ 18,
+ 108,
+ 184
+ ]
+ },
+ {
+ "key": [
+ 82,
+ 208,
+ 242,
+ 11,
+ 12,
+ 167,
+ 166,
+ 249,
+ 229,
+ 197,
+ 184,
+ 84,
+ 157,
+ 89,
+ 16,
+ 241,
+ 181,
+ 179,
+ 68,
+ 252,
+ 104,
+ 82,
+ 57,
+ 47,
+ 152,
+ 53,
+ 88,
+ 227,
+ 197,
+ 147,
+ 190,
+ 36
+ ],
+ "nonce": [
+ 213,
+ 198,
+ 24,
+ 169,
+ 64,
+ 165,
+ 165,
+ 217,
+ 204,
+ 129,
+ 63,
+ 39
+ ],
+ "aad": [
+ 97,
+ 130,
+ 63,
+ 126,
+ 57,
+ 237,
+ 118,
+ 20,
+ 60,
+ 167,
+ 36,
+ 157,
+ 20,
+ 155,
+ 223,
+ 87
+ ],
+ "plaintext": [
+ 169,
+ 254,
+ 216,
+ 162,
+ 147,
+ 85,
+ 104,
+ 83,
+ 33,
+ 249,
+ 120,
+ 229,
+ 156,
+ 64,
+ 19,
+ 83,
+ 9,
+ 48,
+ 108,
+ 212,
+ 27,
+ 37,
+ 52,
+ 159,
+ 230,
+ 113,
+ 220,
+ 121,
+ 144,
+ 149,
+ 28,
+ 104
+ ],
+ "ciphertext": [
+ 80,
+ 156,
+ 84,
+ 14,
+ 85,
+ 141,
+ 11,
+ 240,
+ 163,
+ 183,
+ 118,
+ 205,
+ 223,
+ 191,
+ 221,
+ 193,
+ 84,
+ 134,
+ 116,
+ 138,
+ 127,
+ 153,
+ 82,
+ 177,
+ 124,
+ 28,
+ 189,
+ 104,
+ 105,
+ 194,
+ 99,
+ 244
+ ],
+ "tag": [
+ 66,
+ 227,
+ 94,
+ 227,
+ 247,
+ 17,
+ 159,
+ 135,
+ 251,
+ 82,
+ 181,
+ 215,
+ 91,
+ 138,
+ 184,
+ 236
+ ]
+ },
+ {
+ "key": [
+ 93,
+ 41,
+ 26,
+ 143,
+ 26,
+ 100,
+ 51,
+ 164,
+ 16,
+ 118,
+ 112,
+ 45,
+ 157,
+ 138,
+ 140,
+ 25,
+ 110,
+ 70,
+ 69,
+ 80,
+ 237,
+ 144,
+ 12,
+ 232,
+ 194,
+ 163,
+ 111,
+ 77,
+ 16,
+ 72,
+ 57,
+ 84
+ ],
+ "nonce": [
+ 196,
+ 186,
+ 116,
+ 62,
+ 230,
+ 146,
+ 229,
+ 208,
+ 11,
+ 90,
+ 226,
+ 198
+ ],
+ "aad": [
+ 135,
+ 143,
+ 166,
+ 114,
+ 10,
+ 179,
+ 14,
+ 2,
+ 135,
+ 246,
+ 144,
+ 58,
+ 205,
+ 45,
+ 202,
+ 25
+ ],
+ "plaintext": [
+ 96,
+ 93,
+ 81,
+ 155,
+ 38,
+ 24,
+ 36,
+ 88,
+ 254,
+ 166,
+ 141,
+ 221,
+ 216,
+ 96,
+ 51,
+ 57,
+ 15,
+ 197,
+ 69,
+ 248,
+ 67,
+ 174,
+ 129,
+ 120,
+ 80,
+ 162,
+ 164,
+ 87,
+ 74,
+ 221,
+ 1,
+ 93
+ ],
+ "ciphertext": [
+ 28,
+ 47,
+ 21,
+ 63,
+ 35,
+ 116,
+ 211,
+ 148,
+ 92,
+ 202,
+ 151,
+ 87,
+ 220,
+ 24,
+ 217,
+ 161,
+ 90,
+ 147,
+ 39,
+ 101,
+ 38,
+ 40,
+ 90,
+ 110,
+ 49,
+ 110,
+ 227,
+ 42,
+ 114,
+ 9,
+ 44,
+ 52
+ ],
+ "tag": [
+ 231,
+ 144,
+ 94,
+ 133,
+ 108,
+ 136,
+ 198,
+ 236,
+ 228,
+ 187,
+ 71,
+ 120,
+ 27,
+ 236,
+ 249,
+ 35
+ ]
+ },
+ {
+ "key": [
+ 9,
+ 226,
+ 114,
+ 77,
+ 64,
+ 23,
+ 205,
+ 87,
+ 233,
+ 103,
+ 0,
+ 14,
+ 77,
+ 162,
+ 205,
+ 92,
+ 92,
+ 24,
+ 204,
+ 251,
+ 6,
+ 195,
+ 59,
+ 124,
+ 230,
+ 42,
+ 118,
+ 65,
+ 228,
+ 187,
+ 11,
+ 115
+ ],
+ "nonce": [
+ 158,
+ 161,
+ 139,
+ 66,
+ 10,
+ 16,
+ 23,
+ 114,
+ 137,
+ 171,
+ 55,
+ 11
+ ],
+ "aad": [
+ 168,
+ 231,
+ 121,
+ 57,
+ 66,
+ 61,
+ 88,
+ 148,
+ 211,
+ 7,
+ 253,
+ 96,
+ 39,
+ 141,
+ 22,
+ 42
+ ],
+ "plaintext": [
+ 111,
+ 93,
+ 250,
+ 134,
+ 213,
+ 223,
+ 79,
+ 235,
+ 215,
+ 82,
+ 38,
+ 92,
+ 86,
+ 57,
+ 0,
+ 73,
+ 231,
+ 205,
+ 166,
+ 12,
+ 38,
+ 68,
+ 200,
+ 74,
+ 180,
+ 19,
+ 147,
+ 47,
+ 170,
+ 209,
+ 91,
+ 21
+ ],
+ "ciphertext": [
+ 53,
+ 227,
+ 122,
+ 155,
+ 145,
+ 62,
+ 181,
+ 139,
+ 114,
+ 38,
+ 46,
+ 146,
+ 215,
+ 88,
+ 77,
+ 68,
+ 191,
+ 154,
+ 132,
+ 66,
+ 241,
+ 178,
+ 243,
+ 218,
+ 58,
+ 93,
+ 5,
+ 236,
+ 106,
+ 42,
+ 49,
+ 226
+ ],
+ "tag": [
+ 26,
+ 149,
+ 2,
+ 59,
+ 26,
+ 74,
+ 62,
+ 136,
+ 85,
+ 32,
+ 236,
+ 121,
+ 225,
+ 163,
+ 174,
+ 249
+ ]
+ },
+ {
+ "key": [
+ 133,
+ 68,
+ 169,
+ 244,
+ 246,
+ 192,
+ 239,
+ 223,
+ 243,
+ 218,
+ 144,
+ 207,
+ 163,
+ 238,
+ 83,
+ 251,
+ 225,
+ 248,
+ 222,
+ 21,
+ 157,
+ 41,
+ 83,
+ 124,
+ 128,
+ 62,
+ 22,
+ 81,
+ 218,
+ 21,
+ 55,
+ 24
+ ],
+ "nonce": [
+ 190,
+ 64,
+ 96,
+ 41,
+ 161,
+ 208,
+ 194,
+ 93,
+ 9,
+ 175,
+ 148,
+ 207
+ ],
+ "aad": [
+ 89,
+ 157,
+ 187,
+ 115,
+ 137,
+ 125,
+ 4,
+ 90,
+ 27,
+ 216,
+ 115,
+ 133,
+ 230,
+ 3,
+ 35,
+ 162
+ ],
+ "plaintext": [
+ 126,
+ 136,
+ 166,
+ 86,
+ 70,
+ 237,
+ 19,
+ 139,
+ 124,
+ 116,
+ 147,
+ 102,
+ 209,
+ 110,
+ 65,
+ 219,
+ 175,
+ 217,
+ 152,
+ 122,
+ 210,
+ 55,
+ 59,
+ 185,
+ 208,
+ 182,
+ 206,
+ 12,
+ 26,
+ 77,
+ 102,
+ 97
+ ],
+ "ciphertext": [
+ 56,
+ 255,
+ 191,
+ 159,
+ 255,
+ 248,
+ 214,
+ 169,
+ 32,
+ 144,
+ 88,
+ 78,
+ 109,
+ 172,
+ 225,
+ 198,
+ 164,
+ 125,
+ 61,
+ 87,
+ 9,
+ 162,
+ 94,
+ 71,
+ 5,
+ 87,
+ 213,
+ 200,
+ 245,
+ 221,
+ 24,
+ 81
+ ],
+ "tag": [
+ 213,
+ 178,
+ 232,
+ 60,
+ 71,
+ 223,
+ 64,
+ 77,
+ 233,
+ 167,
+ 205,
+ 149,
+ 211,
+ 203,
+ 231,
+ 171
+ ]
+ },
+ {
+ "key": [
+ 53,
+ 185,
+ 210,
+ 165,
+ 219,
+ 59,
+ 6,
+ 231,
+ 114,
+ 12,
+ 236,
+ 121,
+ 77,
+ 174,
+ 97,
+ 80,
+ 41,
+ 164,
+ 145,
+ 196,
+ 23,
+ 242,
+ 53,
+ 73,
+ 142,
+ 4,
+ 150,
+ 205,
+ 129,
+ 131,
+ 209,
+ 191
+ ],
+ "nonce": [
+ 179,
+ 130,
+ 152,
+ 121,
+ 22,
+ 225,
+ 151,
+ 82,
+ 221,
+ 158,
+ 204,
+ 12
+ ],
+ "aad": [
+ 224,
+ 170,
+ 58,
+ 31,
+ 29,
+ 246,
+ 1,
+ 54,
+ 108,
+ 89,
+ 163,
+ 144,
+ 244,
+ 240,
+ 108,
+ 59
+ ],
+ "plaintext": [
+ 118,
+ 178,
+ 144,
+ 73,
+ 105,
+ 1,
+ 197,
+ 130,
+ 74,
+ 209,
+ 103,
+ 67,
+ 61,
+ 187,
+ 109,
+ 107,
+ 88,
+ 86,
+ 212,
+ 25,
+ 19,
+ 238,
+ 151,
+ 236,
+ 129,
+ 231,
+ 12,
+ 246,
+ 161,
+ 112,
+ 227,
+ 92
+ ],
+ "ciphertext": [
+ 120,
+ 52,
+ 116,
+ 0,
+ 214,
+ 121,
+ 158,
+ 119,
+ 225,
+ 30,
+ 118,
+ 192,
+ 236,
+ 253,
+ 49,
+ 27,
+ 236,
+ 243,
+ 31,
+ 116,
+ 241,
+ 75,
+ 58,
+ 113,
+ 230,
+ 213,
+ 38,
+ 206,
+ 87,
+ 1,
+ 92,
+ 139
+ ],
+ "tag": [
+ 191,
+ 141,
+ 236,
+ 47,
+ 234,
+ 199,
+ 207,
+ 233,
+ 243,
+ 48,
+ 189,
+ 252,
+ 146,
+ 115,
+ 123,
+ 51
+ ]
+ },
+ {
+ "key": [
+ 215,
+ 7,
+ 234,
+ 179,
+ 193,
+ 103,
+ 183,
+ 62,
+ 254,
+ 176,
+ 140,
+ 80,
+ 225,
+ 43,
+ 21,
+ 105,
+ 162,
+ 117,
+ 72,
+ 126,
+ 161,
+ 54,
+ 245,
+ 39,
+ 54,
+ 192,
+ 243,
+ 206,
+ 102,
+ 182,
+ 159,
+ 163
+ ],
+ "nonce": [
+ 17,
+ 17,
+ 111,
+ 52,
+ 24,
+ 46,
+ 82,
+ 66,
+ 134,
+ 66,
+ 231,
+ 71
+ ],
+ "aad": [
+ 174,
+ 159,
+ 144,
+ 51,
+ 24,
+ 0,
+ 195,
+ 88,
+ 113,
+ 108,
+ 146,
+ 102,
+ 127,
+ 121,
+ 247,
+ 72
+ ],
+ "plaintext": [
+ 160,
+ 196,
+ 129,
+ 131,
+ 98,
+ 3,
+ 91,
+ 22,
+ 181,
+ 13,
+ 228,
+ 69,
+ 213,
+ 88,
+ 234,
+ 92,
+ 248,
+ 132,
+ 75,
+ 245,
+ 200,
+ 75,
+ 150,
+ 35,
+ 41,
+ 153,
+ 162,
+ 39,
+ 152,
+ 6,
+ 204,
+ 69
+ ],
+ "ciphertext": [
+ 145,
+ 199,
+ 116,
+ 4,
+ 178,
+ 0,
+ 40,
+ 239,
+ 15,
+ 212,
+ 221,
+ 127,
+ 139,
+ 101,
+ 182,
+ 89,
+ 74,
+ 249,
+ 74,
+ 30,
+ 127,
+ 199,
+ 156,
+ 251,
+ 219,
+ 16,
+ 130,
+ 101,
+ 53,
+ 79,
+ 199,
+ 27
+ ],
+ "tag": [
+ 108,
+ 52,
+ 16,
+ 212,
+ 185,
+ 21,
+ 219,
+ 173,
+ 116,
+ 87,
+ 21,
+ 32,
+ 44,
+ 4,
+ 233,
+ 164
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 93,
+ 19,
+ 238,
+ 72,
+ 211,
+ 185,
+ 252,
+ 38,
+ 188,
+ 252,
+ 167,
+ 118,
+ 178,
+ 175,
+ 108,
+ 116,
+ 93,
+ 143,
+ 195,
+ 65,
+ 113,
+ 98,
+ 47,
+ 140,
+ 108,
+ 75,
+ 229,
+ 165,
+ 75,
+ 139,
+ 101
+ ],
+ "nonce": [
+ 173,
+ 209,
+ 82,
+ 74,
+ 187,
+ 27,
+ 132,
+ 111,
+ 15,
+ 101,
+ 119,
+ 218
+ ],
+ "aad": [
+ 11,
+ 28,
+ 76,
+ 59,
+ 168,
+ 119,
+ 188,
+ 165,
+ 132,
+ 107,
+ 44,
+ 31,
+ 43,
+ 14,
+ 33,
+ 5
+ ],
+ "plaintext": [
+ 224,
+ 100,
+ 117,
+ 153,
+ 13,
+ 110,
+ 57,
+ 144,
+ 38,
+ 109,
+ 225,
+ 189,
+ 2,
+ 92,
+ 59,
+ 25,
+ 16,
+ 192,
+ 115,
+ 108,
+ 129,
+ 5,
+ 8,
+ 133,
+ 242,
+ 191,
+ 193,
+ 62,
+ 199,
+ 142,
+ 157,
+ 150
+ ],
+ "ciphertext": [
+ 99,
+ 153,
+ 247,
+ 230,
+ 214,
+ 198,
+ 128,
+ 252,
+ 65,
+ 186,
+ 200,
+ 190,
+ 227,
+ 131,
+ 107,
+ 154,
+ 66,
+ 65,
+ 64,
+ 61,
+ 90,
+ 25,
+ 228,
+ 145,
+ 159,
+ 57,
+ 108,
+ 227,
+ 123,
+ 35,
+ 141,
+ 56
+ ],
+ "tag": [
+ 231,
+ 84,
+ 244,
+ 0,
+ 215,
+ 108,
+ 118,
+ 224,
+ 60,
+ 99,
+ 234,
+ 136,
+ 207,
+ 100,
+ 204,
+ 186
+ ]
+ },
+ {
+ "key": [
+ 88,
+ 83,
+ 192,
+ 32,
+ 148,
+ 107,
+ 53,
+ 242,
+ 197,
+ 142,
+ 196,
+ 39,
+ 21,
+ 43,
+ 132,
+ 4,
+ 32,
+ 196,
+ 0,
+ 41,
+ 99,
+ 106,
+ 220,
+ 187,
+ 2,
+ 116,
+ 113,
+ 55,
+ 140,
+ 253,
+ 222,
+ 15
+ ],
+ "nonce": [
+ 238,
+ 195,
+ 19,
+ 221,
+ 7,
+ 204,
+ 27,
+ 62,
+ 107,
+ 6,
+ 138,
+ 71
+ ],
+ "aad": [
+ 19,
+ 137,
+ 181,
+ 34,
+ 194,
+ 74,
+ 119,
+ 65,
+ 129,
+ 112,
+ 5,
+ 83,
+ 240,
+ 36,
+ 107,
+ 186,
+ 189,
+ 211,
+ 141,
+ 111
+ ],
+ "plaintext": [
+ 206,
+ 116,
+ 88,
+ 229,
+ 106,
+ 239,
+ 144,
+ 97,
+ 203,
+ 12,
+ 66,
+ 236,
+ 35,
+ 21,
+ 86,
+ 94,
+ 97,
+ 104,
+ 245,
+ 166,
+ 36,
+ 159,
+ 253,
+ 49,
+ 97,
+ 11,
+ 109,
+ 23,
+ 171,
+ 100,
+ 147,
+ 94
+ ],
+ "ciphertext": [
+ 234,
+ 220,
+ 59,
+ 135,
+ 102,
+ 167,
+ 125,
+ 237,
+ 26,
+ 88,
+ 203,
+ 114,
+ 126,
+ 202,
+ 42,
+ 151,
+ 144,
+ 73,
+ 108,
+ 41,
+ 134,
+ 84,
+ 205,
+ 167,
+ 143,
+ 235,
+ 240,
+ 218,
+ 22,
+ 182,
+ 144,
+ 59
+ ],
+ "tag": [
+ 61,
+ 73,
+ 165,
+ 179,
+ 47,
+ 222,
+ 126,
+ 175,
+ 204,
+ 233,
+ 0,
+ 121,
+ 33,
+ 127,
+ 251,
+ 87
+ ]
+ },
+ {
+ "key": [
+ 80,
+ 25,
+ 172,
+ 6,
+ 23,
+ 254,
+ 161,
+ 5,
+ 23,
+ 162,
+ 162,
+ 113,
+ 78,
+ 108,
+ 211,
+ 105,
+ 198,
+ 129,
+ 190,
+ 52,
+ 12,
+ 42,
+ 36,
+ 97,
+ 19,
+ 6,
+ 237,
+ 205,
+ 157,
+ 92,
+ 57,
+ 40
+ ],
+ "nonce": [
+ 253,
+ 31,
+ 166,
+ 181,
+ 202,
+ 185,
+ 170,
+ 141,
+ 86,
+ 65,
+ 138,
+ 187
+ ],
+ "aad": [
+ 149,
+ 59,
+ 203,
+ 215,
+ 49,
+ 161,
+ 57,
+ 197,
+ 222,
+ 58,
+ 43,
+ 117,
+ 233,
+ 255,
+ 164,
+ 244,
+ 128,
+ 24,
+ 38,
+ 106
+ ],
+ "plaintext": [
+ 67,
+ 73,
+ 34,
+ 31,
+ 102,
+ 71,
+ 169,
+ 6,
+ 164,
+ 126,
+ 100,
+ 181,
+ 167,
+ 161,
+ 222,
+ 178,
+ 247,
+ 202,
+ 245,
+ 195,
+ 254,
+ 241,
+ 111,
+ 11,
+ 150,
+ 141,
+ 98,
+ 91,
+ 202,
+ 54,
+ 61,
+ 202
+ ],
+ "ciphertext": [
+ 219,
+ 206,
+ 101,
+ 5,
+ 8,
+ 218,
+ 181,
+ 244,
+ 153,
+ 118,
+ 118,
+ 81,
+ 238,
+ 115,
+ 70,
+ 146,
+ 247,
+ 177,
+ 87,
+ 52,
+ 25,
+ 119,
+ 105,
+ 45,
+ 44,
+ 168,
+ 121,
+ 121,
+ 158,
+ 143,
+ 84,
+ 170
+ ],
+ "tag": [
+ 32,
+ 35,
+ 158,
+ 151,
+ 226,
+ 219,
+ 73,
+ 133,
+ 240,
+ 126,
+ 39,
+ 27,
+ 165,
+ 69,
+ 187,
+ 191
+ ]
+ },
+ {
+ "key": [
+ 200,
+ 206,
+ 233,
+ 10,
+ 139,
+ 154,
+ 214,
+ 9,
+ 77,
+ 70,
+ 158,
+ 93,
+ 30,
+ 220,
+ 48,
+ 214,
+ 103,
+ 96,
+ 142,
+ 137,
+ 178,
+ 98,
+ 0,
+ 202,
+ 199,
+ 126,
+ 253,
+ 126,
+ 82,
+ 175,
+ 54,
+ 253
+ ],
+ "nonce": [
+ 90,
+ 26,
+ 169,
+ 200,
+ 230,
+ 53,
+ 40,
+ 30,
+ 225,
+ 251,
+ 157,
+ 247
+ ],
+ "aad": [
+ 5,
+ 56,
+ 179,
+ 182,
+ 77,
+ 167,
+ 42,
+ 172,
+ 89,
+ 27,
+ 197,
+ 153,
+ 145,
+ 161,
+ 64,
+ 239,
+ 242,
+ 6,
+ 179,
+ 247
+ ],
+ "plaintext": [
+ 114,
+ 141,
+ 146,
+ 33,
+ 137,
+ 27,
+ 215,
+ 92,
+ 142,
+ 96,
+ 183,
+ 221,
+ 111,
+ 83,
+ 237,
+ 207,
+ 209,
+ 171,
+ 28,
+ 235,
+ 198,
+ 58,
+ 108,
+ 229,
+ 75,
+ 226,
+ 32,
+ 181,
+ 179,
+ 98,
+ 35,
+ 59
+ ],
+ "ciphertext": [
+ 183,
+ 83,
+ 235,
+ 107,
+ 135,
+ 240,
+ 200,
+ 119,
+ 140,
+ 62,
+ 163,
+ 167,
+ 79,
+ 186,
+ 59,
+ 49,
+ 206,
+ 214,
+ 210,
+ 218,
+ 148,
+ 212,
+ 61,
+ 72,
+ 42,
+ 176,
+ 67,
+ 24,
+ 6,
+ 168,
+ 13,
+ 117
+ ],
+ "tag": [
+ 178,
+ 29,
+ 41,
+ 207,
+ 111,
+ 208,
+ 69,
+ 113,
+ 255,
+ 202,
+ 243,
+ 23,
+ 211,
+ 132,
+ 223,
+ 17
+ ]
+ },
+ {
+ "key": [
+ 180,
+ 183,
+ 119,
+ 16,
+ 248,
+ 111,
+ 253,
+ 70,
+ 63,
+ 193,
+ 75,
+ 185,
+ 234,
+ 164,
+ 66,
+ 75,
+ 43,
+ 58,
+ 88,
+ 23,
+ 120,
+ 229,
+ 81,
+ 26,
+ 9,
+ 74,
+ 8,
+ 251,
+ 32,
+ 76,
+ 171,
+ 89
+ ],
+ "nonce": [
+ 62,
+ 75,
+ 18,
+ 191,
+ 85,
+ 99,
+ 59,
+ 244,
+ 141,
+ 16,
+ 70,
+ 32
+ ],
+ "aad": [
+ 62,
+ 59,
+ 76,
+ 147,
+ 105,
+ 38,
+ 98,
+ 102,
+ 9,
+ 131,
+ 38,
+ 33,
+ 123,
+ 86,
+ 119,
+ 164,
+ 2,
+ 151,
+ 203,
+ 135
+ ],
+ "plaintext": [
+ 111,
+ 68,
+ 168,
+ 223,
+ 17,
+ 220,
+ 226,
+ 125,
+ 240,
+ 117,
+ 234,
+ 16,
+ 221,
+ 235,
+ 117,
+ 102,
+ 202,
+ 108,
+ 152,
+ 138,
+ 51,
+ 76,
+ 245,
+ 110,
+ 133,
+ 64,
+ 247,
+ 17,
+ 102,
+ 215,
+ 192,
+ 209
+ ],
+ "ciphertext": [
+ 49,
+ 248,
+ 47,
+ 92,
+ 177,
+ 205,
+ 92,
+ 75,
+ 72,
+ 25,
+ 182,
+ 26,
+ 169,
+ 55,
+ 122,
+ 190,
+ 190,
+ 143,
+ 202,
+ 118,
+ 151,
+ 139,
+ 17,
+ 153,
+ 23,
+ 132,
+ 98,
+ 199,
+ 193,
+ 196,
+ 226,
+ 178
+ ],
+ "tag": [
+ 27,
+ 58,
+ 83,
+ 87,
+ 104,
+ 232,
+ 72,
+ 13,
+ 117,
+ 236,
+ 145,
+ 178,
+ 231,
+ 181,
+ 94,
+ 253
+ ]
+ },
+ {
+ "key": [
+ 10,
+ 143,
+ 183,
+ 84,
+ 152,
+ 161,
+ 57,
+ 34,
+ 60,
+ 118,
+ 61,
+ 82,
+ 187,
+ 227,
+ 212,
+ 47,
+ 129,
+ 61,
+ 227,
+ 112,
+ 250,
+ 54,
+ 184,
+ 30,
+ 220,
+ 69,
+ 83,
+ 212,
+ 33,
+ 157,
+ 45,
+ 93
+ ],
+ "nonce": [
+ 125,
+ 108,
+ 182,
+ 117,
+ 253,
+ 237,
+ 62,
+ 254,
+ 249,
+ 8,
+ 161,
+ 26
+ ],
+ "aad": [
+ 35,
+ 20,
+ 173,
+ 134,
+ 178,
+ 72,
+ 241,
+ 237,
+ 40,
+ 120,
+ 231,
+ 197,
+ 98,
+ 181,
+ 51,
+ 191,
+ 45,
+ 218,
+ 90,
+ 41
+ ],
+ "plaintext": [
+ 129,
+ 182,
+ 156,
+ 163,
+ 84,
+ 222,
+ 59,
+ 4,
+ 215,
+ 110,
+ 230,
+ 35,
+ 52,
+ 203,
+ 152,
+ 30,
+ 85,
+ 240,
+ 33,
+ 15,
+ 17,
+ 116,
+ 211,
+ 145,
+ 101,
+ 93,
+ 15,
+ 103,
+ 18,
+ 146,
+ 26,
+ 14
+ ],
+ "ciphertext": [
+ 106,
+ 35,
+ 211,
+ 7,
+ 55,
+ 244,
+ 167,
+ 43,
+ 30,
+ 7,
+ 186,
+ 35,
+ 209,
+ 127,
+ 222,
+ 67,
+ 164,
+ 73,
+ 142,
+ 46,
+ 96,
+ 211,
+ 225,
+ 176,
+ 200,
+ 230,
+ 234,
+ 38,
+ 162,
+ 187,
+ 51,
+ 26
+ ],
+ "tag": [
+ 127,
+ 202,
+ 196,
+ 66,
+ 251,
+ 101,
+ 121,
+ 16,
+ 198,
+ 42,
+ 116,
+ 177,
+ 208,
+ 99,
+ 137,
+ 2
+ ]
+ },
+ {
+ "key": [
+ 168,
+ 67,
+ 21,
+ 5,
+ 136,
+ 73,
+ 105,
+ 12,
+ 43,
+ 136,
+ 6,
+ 42,
+ 239,
+ 129,
+ 19,
+ 77,
+ 51,
+ 133,
+ 38,
+ 186,
+ 167,
+ 9,
+ 14,
+ 134,
+ 95,
+ 202,
+ 173,
+ 148,
+ 187,
+ 245,
+ 28,
+ 165
+ ],
+ "nonce": [
+ 164,
+ 135,
+ 207,
+ 167,
+ 1,
+ 68,
+ 123,
+ 73,
+ 90,
+ 171,
+ 65,
+ 224
+ ],
+ "aad": [
+ 124,
+ 68,
+ 22,
+ 176,
+ 207,
+ 19,
+ 172,
+ 118,
+ 190,
+ 198,
+ 104,
+ 122,
+ 104,
+ 64,
+ 220,
+ 112,
+ 62,
+ 145,
+ 187,
+ 134
+ ],
+ "plaintext": [
+ 24,
+ 7,
+ 78,
+ 20,
+ 220,
+ 10,
+ 20,
+ 212,
+ 67,
+ 159,
+ 29,
+ 113,
+ 9,
+ 39,
+ 237,
+ 140,
+ 32,
+ 1,
+ 84,
+ 200,
+ 73,
+ 47,
+ 119,
+ 241,
+ 15,
+ 101,
+ 62,
+ 11,
+ 246,
+ 7,
+ 12,
+ 166
+ ],
+ "ciphertext": [
+ 128,
+ 244,
+ 11,
+ 126,
+ 51,
+ 93,
+ 64,
+ 252,
+ 88,
+ 89,
+ 232,
+ 127,
+ 56,
+ 94,
+ 20,
+ 121,
+ 138,
+ 37,
+ 56,
+ 24,
+ 232,
+ 173,
+ 115,
+ 177,
+ 121,
+ 156,
+ 20,
+ 25,
+ 99,
+ 130,
+ 70,
+ 164
+ ],
+ "tag": [
+ 180,
+ 199,
+ 199,
+ 109,
+ 136,
+ 99,
+ 231,
+ 132,
+ 235,
+ 96,
+ 41,
+ 205,
+ 22,
+ 14,
+ 246,
+ 222
+ ]
+ },
+ {
+ "key": [
+ 130,
+ 131,
+ 59,
+ 202,
+ 174,
+ 197,
+ 111,
+ 106,
+ 187,
+ 179,
+ 55,
+ 143,
+ 125,
+ 101,
+ 218,
+ 246,
+ 230,
+ 246,
+ 242,
+ 160,
+ 209,
+ 232,
+ 88,
+ 199,
+ 33,
+ 159,
+ 83,
+ 167,
+ 132,
+ 15,
+ 78,
+ 0
+ ],
+ "nonce": [
+ 75,
+ 201,
+ 176,
+ 40,
+ 160,
+ 11,
+ 232,
+ 254,
+ 181,
+ 35,
+ 41,
+ 120
+ ],
+ "aad": [
+ 118,
+ 252,
+ 142,
+ 213,
+ 113,
+ 84,
+ 205,
+ 138,
+ 155,
+ 61,
+ 2,
+ 200,
+ 112,
+ 97,
+ 237,
+ 210,
+ 168,
+ 21,
+ 120,
+ 17
+ ],
+ "plaintext": [
+ 217,
+ 178,
+ 56,
+ 49,
+ 35,
+ 162,
+ 122,
+ 147,
+ 188,
+ 232,
+ 90,
+ 221,
+ 131,
+ 146,
+ 185,
+ 56,
+ 9,
+ 59,
+ 64,
+ 232,
+ 47,
+ 24,
+ 46,
+ 72,
+ 75,
+ 244,
+ 248,
+ 79,
+ 163,
+ 191,
+ 179,
+ 240
+ ],
+ "ciphertext": [
+ 56,
+ 62,
+ 254,
+ 151,
+ 20,
+ 56,
+ 205,
+ 43,
+ 44,
+ 187,
+ 57,
+ 157,
+ 116,
+ 163,
+ 251,
+ 62,
+ 237,
+ 211,
+ 148,
+ 241,
+ 134,
+ 42,
+ 221,
+ 197,
+ 142,
+ 159,
+ 221,
+ 76,
+ 66,
+ 20,
+ 2,
+ 210
+ ],
+ "tag": [
+ 253,
+ 128,
+ 60,
+ 79,
+ 169,
+ 23,
+ 247,
+ 255,
+ 100,
+ 154,
+ 106,
+ 172,
+ 1,
+ 58,
+ 150,
+ 177
+ ]
+ },
+ {
+ "key": [
+ 238,
+ 70,
+ 52,
+ 196,
+ 156,
+ 86,
+ 114,
+ 198,
+ 96,
+ 150,
+ 138,
+ 66,
+ 134,
+ 38,
+ 152,
+ 246,
+ 193,
+ 178,
+ 199,
+ 183,
+ 158,
+ 253,
+ 22,
+ 5,
+ 194,
+ 74,
+ 248,
+ 255,
+ 159,
+ 248,
+ 54,
+ 108
+ ],
+ "nonce": [
+ 135,
+ 121,
+ 18,
+ 178,
+ 243,
+ 88,
+ 136,
+ 210,
+ 129,
+ 6,
+ 18,
+ 204
+ ],
+ "aad": [
+ 147,
+ 189,
+ 102,
+ 157,
+ 180,
+ 241,
+ 53,
+ 78,
+ 246,
+ 200,
+ 173,
+ 219,
+ 12,
+ 247,
+ 41,
+ 228,
+ 109,
+ 92,
+ 56,
+ 70
+ ],
+ "plaintext": [
+ 149,
+ 18,
+ 165,
+ 38,
+ 138,
+ 12,
+ 179,
+ 251,
+ 217,
+ 22,
+ 221,
+ 184,
+ 32,
+ 220,
+ 231,
+ 127,
+ 30,
+ 13,
+ 187,
+ 82,
+ 200,
+ 255,
+ 199,
+ 167,
+ 75,
+ 224,
+ 119,
+ 17,
+ 158,
+ 146,
+ 69,
+ 228
+ ],
+ "ciphertext": [
+ 105,
+ 175,
+ 10,
+ 201,
+ 84,
+ 224,
+ 214,
+ 144,
+ 67,
+ 133,
+ 29,
+ 137,
+ 241,
+ 83,
+ 142,
+ 188,
+ 180,
+ 39,
+ 105,
+ 133,
+ 126,
+ 186,
+ 39,
+ 219,
+ 228,
+ 173,
+ 79,
+ 214,
+ 15,
+ 215,
+ 85,
+ 55
+ ],
+ "tag": [
+ 62,
+ 228,
+ 67,
+ 135,
+ 62,
+ 47,
+ 127,
+ 126,
+ 166,
+ 1,
+ 254,
+ 61,
+ 126,
+ 82,
+ 17,
+ 226
+ ]
+ },
+ {
+ "key": [
+ 68,
+ 47,
+ 75,
+ 188,
+ 70,
+ 132,
+ 51,
+ 65,
+ 30,
+ 73,
+ 72,
+ 106,
+ 21,
+ 197,
+ 238,
+ 213,
+ 119,
+ 245,
+ 0,
+ 115,
+ 128,
+ 255,
+ 18,
+ 109,
+ 153,
+ 116,
+ 243,
+ 189,
+ 63,
+ 228,
+ 227,
+ 196
+ ],
+ "nonce": [
+ 30,
+ 113,
+ 51,
+ 170,
+ 168,
+ 175,
+ 130,
+ 109,
+ 198,
+ 70,
+ 236,
+ 98
+ ],
+ "aad": [
+ 87,
+ 118,
+ 98,
+ 246,
+ 17,
+ 68,
+ 107,
+ 91,
+ 49,
+ 129,
+ 73,
+ 48,
+ 2,
+ 158,
+ 219,
+ 148,
+ 154,
+ 48,
+ 220,
+ 185
+ ],
+ "plaintext": [
+ 127,
+ 128,
+ 105,
+ 229,
+ 195,
+ 86,
+ 236,
+ 225,
+ 53,
+ 217,
+ 139,
+ 181,
+ 99,
+ 200,
+ 180,
+ 17,
+ 234,
+ 144,
+ 234,
+ 59,
+ 103,
+ 61,
+ 253,
+ 146,
+ 225,
+ 186,
+ 156,
+ 69,
+ 158,
+ 250,
+ 230,
+ 31
+ ],
+ "ciphertext": [
+ 185,
+ 98,
+ 149,
+ 39,
+ 80,
+ 235,
+ 43,
+ 206,
+ 49,
+ 62,
+ 26,
+ 133,
+ 167,
+ 46,
+ 60,
+ 156,
+ 194,
+ 234,
+ 126,
+ 88,
+ 195,
+ 83,
+ 234,
+ 55,
+ 223,
+ 44,
+ 159,
+ 7,
+ 35,
+ 153,
+ 92,
+ 167
+ ],
+ "tag": [
+ 230,
+ 51,
+ 254,
+ 159,
+ 16,
+ 206,
+ 223,
+ 15,
+ 13,
+ 2,
+ 170,
+ 45,
+ 220,
+ 244,
+ 125,
+ 134
+ ]
+ },
+ {
+ "key": [
+ 58,
+ 41,
+ 174,
+ 192,
+ 9,
+ 244,
+ 79,
+ 221,
+ 43,
+ 27,
+ 192,
+ 124,
+ 183,
+ 131,
+ 111,
+ 41,
+ 216,
+ 88,
+ 151,
+ 116,
+ 189,
+ 13,
+ 116,
+ 8,
+ 154,
+ 104,
+ 217,
+ 230,
+ 120,
+ 39,
+ 214,
+ 216
+ ],
+ "nonce": [
+ 164,
+ 44,
+ 95,
+ 182,
+ 21,
+ 115,
+ 199,
+ 38,
+ 136,
+ 172,
+ 49,
+ 216
+ ],
+ "aad": [
+ 46,
+ 226,
+ 88,
+ 45,
+ 84,
+ 78,
+ 22,
+ 99,
+ 241,
+ 215,
+ 160,
+ 181,
+ 3,
+ 59,
+ 203,
+ 15,
+ 206,
+ 19,
+ 179,
+ 229
+ ],
+ "plaintext": [
+ 211,
+ 110,
+ 184,
+ 21,
+ 6,
+ 192,
+ 160,
+ 228,
+ 235,
+ 202,
+ 201,
+ 180,
+ 177,
+ 172,
+ 235,
+ 179,
+ 139,
+ 148,
+ 184,
+ 242,
+ 206,
+ 61,
+ 111,
+ 133,
+ 168,
+ 247,
+ 5,
+ 250,
+ 64,
+ 203,
+ 152,
+ 122
+ ],
+ "ciphertext": [
+ 23,
+ 158,
+ 244,
+ 73,
+ 218,
+ 170,
+ 203,
+ 150,
+ 31,
+ 136,
+ 195,
+ 155,
+ 68,
+ 87,
+ 214,
+ 99,
+ 143,
+ 48,
+ 71,
+ 98,
+ 189,
+ 105,
+ 89,
+ 36,
+ 202,
+ 158,
+ 189,
+ 1,
+ 163,
+ 233,
+ 155,
+ 159
+ ],
+ "tag": [
+ 31,
+ 238,
+ 23,
+ 108,
+ 122,
+ 93,
+ 33,
+ 71,
+ 72,
+ 225,
+ 212,
+ 123,
+ 119,
+ 244,
+ 188,
+ 200
+ ]
+ },
+ {
+ "key": [
+ 237,
+ 71,
+ 102,
+ 0,
+ 84,
+ 41,
+ 79,
+ 60,
+ 145,
+ 60,
+ 151,
+ 184,
+ 105,
+ 49,
+ 124,
+ 189,
+ 220,
+ 57,
+ 93,
+ 117,
+ 123,
+ 239,
+ 125,
+ 41,
+ 184,
+ 204,
+ 189,
+ 210,
+ 197,
+ 78,
+ 153,
+ 211
+ ],
+ "nonce": [
+ 119,
+ 10,
+ 0,
+ 100,
+ 44,
+ 103,
+ 239,
+ 249,
+ 60,
+ 159,
+ 31,
+ 86
+ ],
+ "aad": [
+ 6,
+ 33,
+ 15,
+ 202,
+ 32,
+ 24,
+ 210,
+ 53,
+ 114,
+ 86,
+ 192,
+ 145,
+ 151,
+ 115,
+ 14,
+ 151,
+ 119,
+ 202,
+ 234,
+ 150
+ ],
+ "plaintext": [
+ 3,
+ 65,
+ 147,
+ 57,
+ 124,
+ 189,
+ 14,
+ 180,
+ 20,
+ 69,
+ 146,
+ 115,
+ 168,
+ 136,
+ 8,
+ 219,
+ 45,
+ 7,
+ 17,
+ 228,
+ 111,
+ 128,
+ 215,
+ 136,
+ 50,
+ 18,
+ 196,
+ 67,
+ 217,
+ 227,
+ 27,
+ 84
+ ],
+ "ciphertext": [
+ 106,
+ 37,
+ 14,
+ 189,
+ 51,
+ 144,
+ 34,
+ 157,
+ 70,
+ 182,
+ 145,
+ 20,
+ 39,
+ 67,
+ 219,
+ 161,
+ 196,
+ 50,
+ 192,
+ 254,
+ 170,
+ 15,
+ 13,
+ 209,
+ 157,
+ 12,
+ 228,
+ 230,
+ 168,
+ 145,
+ 141,
+ 128
+ ],
+ "tag": [
+ 165,
+ 246,
+ 233,
+ 117,
+ 89,
+ 43,
+ 71,
+ 41,
+ 7,
+ 195,
+ 75,
+ 147,
+ 191,
+ 198,
+ 157,
+ 222
+ ]
+ },
+ {
+ "key": [
+ 149,
+ 57,
+ 132,
+ 68,
+ 147,
+ 54,
+ 45,
+ 195,
+ 249,
+ 19,
+ 48,
+ 143,
+ 126,
+ 18,
+ 162,
+ 160,
+ 224,
+ 42,
+ 253,
+ 189,
+ 136,
+ 105,
+ 135,
+ 123,
+ 48,
+ 206,
+ 3,
+ 151,
+ 251,
+ 3,
+ 73,
+ 220
+ ],
+ "nonce": [
+ 234,
+ 221,
+ 163,
+ 19,
+ 32,
+ 121,
+ 25,
+ 90,
+ 84,
+ 253,
+ 226,
+ 193
+ ],
+ "aad": [
+ 10,
+ 228,
+ 169,
+ 12,
+ 178,
+ 146,
+ 196,
+ 229,
+ 25,
+ 181,
+ 37,
+ 117,
+ 90,
+ 246,
+ 199,
+ 32,
+ 179,
+ 20,
+ 90,
+ 30
+ ],
+ "plaintext": [
+ 98,
+ 52,
+ 154,
+ 11,
+ 30,
+ 64,
+ 169,
+ 243,
+ 30,
+ 173,
+ 242,
+ 112,
+ 115,
+ 104,
+ 45,
+ 161,
+ 95,
+ 10,
+ 5,
+ 207,
+ 69,
+ 102,
+ 238,
+ 113,
+ 139,
+ 40,
+ 50,
+ 95,
+ 125,
+ 142,
+ 171,
+ 160
+ ],
+ "ciphertext": [
+ 173,
+ 108,
+ 149,
+ 33,
+ 191,
+ 120,
+ 209,
+ 217,
+ 86,
+ 115,
+ 237,
+ 209,
+ 80,
+ 242,
+ 184,
+ 221,
+ 40,
+ 241,
+ 6,
+ 37,
+ 214,
+ 127,
+ 162,
+ 95,
+ 31,
+ 180,
+ 45,
+ 19,
+ 43,
+ 167,
+ 252,
+ 250
+ ],
+ "tag": [
+ 145,
+ 98,
+ 66,
+ 169,
+ 203,
+ 128,
+ 223,
+ 252,
+ 182,
+ 211,
+ 174,
+ 5,
+ 194,
+ 120,
+ 129,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 59,
+ 78,
+ 176,
+ 141,
+ 39,
+ 174,
+ 11,
+ 119,
+ 96,
+ 90,
+ 230,
+ 40,
+ 161,
+ 181,
+ 74,
+ 84,
+ 2,
+ 2,
+ 101,
+ 80,
+ 103,
+ 159,
+ 171,
+ 10,
+ 32,
+ 117,
+ 43,
+ 238,
+ 81,
+ 13,
+ 61,
+ 146
+ ],
+ "nonce": [
+ 40,
+ 162,
+ 12,
+ 64,
+ 244,
+ 154,
+ 0,
+ 73,
+ 61,
+ 163,
+ 72,
+ 138
+ ],
+ "aad": [
+ 5,
+ 145,
+ 57,
+ 14,
+ 45,
+ 20,
+ 235,
+ 230,
+ 42,
+ 235,
+ 23,
+ 65,
+ 194,
+ 100,
+ 72,
+ 206,
+ 85,
+ 178,
+ 140,
+ 171
+ ],
+ "plaintext": [
+ 200,
+ 164,
+ 126,
+ 220,
+ 248,
+ 72,
+ 114,
+ 245,
+ 63,
+ 150,
+ 239,
+ 65,
+ 206,
+ 5,
+ 202,
+ 55,
+ 203,
+ 195,
+ 133,
+ 75,
+ 85,
+ 109,
+ 110,
+ 96,
+ 111,
+ 10,
+ 138,
+ 50,
+ 208,
+ 134,
+ 25,
+ 7
+ ],
+ "ciphertext": [
+ 163,
+ 232,
+ 203,
+ 248,
+ 77,
+ 248,
+ 82,
+ 152,
+ 56,
+ 247,
+ 147,
+ 21,
+ 199,
+ 241,
+ 160,
+ 183,
+ 187,
+ 58,
+ 212,
+ 196,
+ 208,
+ 54,
+ 236,
+ 49,
+ 123,
+ 24,
+ 16,
+ 178,
+ 116,
+ 238,
+ 48,
+ 128
+ ],
+ "tag": [
+ 10,
+ 143,
+ 102,
+ 218,
+ 235,
+ 127,
+ 10,
+ 136,
+ 117,
+ 105,
+ 9,
+ 196,
+ 233,
+ 63,
+ 205,
+ 54
+ ]
+ },
+ {
+ "key": [
+ 12,
+ 204,
+ 234,
+ 143,
+ 31,
+ 108,
+ 225,
+ 65,
+ 105,
+ 14,
+ 36,
+ 108,
+ 244,
+ 203,
+ 159,
+ 53,
+ 182,
+ 107,
+ 175,
+ 110,
+ 105,
+ 134,
+ 184,
+ 224,
+ 180,
+ 207,
+ 221,
+ 19,
+ 252,
+ 219,
+ 200,
+ 195
+ ],
+ "nonce": [
+ 146,
+ 159,
+ 7,
+ 190,
+ 90,
+ 167,
+ 186,
+ 231,
+ 96,
+ 123,
+ 174,
+ 60
+ ],
+ "aad": [
+ 184,
+ 81,
+ 230,
+ 16,
+ 190,
+ 112,
+ 169,
+ 148,
+ 128,
+ 139,
+ 52,
+ 202,
+ 115,
+ 244,
+ 95,
+ 30,
+ 169,
+ 115,
+ 222,
+ 101
+ ],
+ "plaintext": [
+ 159,
+ 165,
+ 33,
+ 76,
+ 89,
+ 149,
+ 35,
+ 198,
+ 149,
+ 211,
+ 121,
+ 55,
+ 176,
+ 47,
+ 120,
+ 131,
+ 127,
+ 100,
+ 6,
+ 150,
+ 11,
+ 42,
+ 3,
+ 191,
+ 154,
+ 109,
+ 179,
+ 75,
+ 211,
+ 94,
+ 61,
+ 199
+ ],
+ "ciphertext": [
+ 145,
+ 126,
+ 204,
+ 139,
+ 0,
+ 181,
+ 63,
+ 127,
+ 176,
+ 115,
+ 45,
+ 102,
+ 132,
+ 138,
+ 16,
+ 110,
+ 145,
+ 246,
+ 10,
+ 207,
+ 45,
+ 207,
+ 24,
+ 8,
+ 50,
+ 167,
+ 77,
+ 89,
+ 147,
+ 198,
+ 88,
+ 218
+ ],
+ "tag": [
+ 41,
+ 89,
+ 226,
+ 7,
+ 70,
+ 187,
+ 182,
+ 171,
+ 102,
+ 223,
+ 210,
+ 155,
+ 148,
+ 119,
+ 121,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 236,
+ 191,
+ 174,
+ 242,
+ 52,
+ 91,
+ 52,
+ 243,
+ 31,
+ 191,
+ 109,
+ 104,
+ 239,
+ 179,
+ 133,
+ 229,
+ 131,
+ 61,
+ 248,
+ 182,
+ 230,
+ 174,
+ 98,
+ 30,
+ 222,
+ 2,
+ 186,
+ 249,
+ 115,
+ 93,
+ 45,
+ 186
+ ],
+ "nonce": [
+ 80,
+ 195,
+ 82,
+ 123,
+ 26,
+ 53,
+ 204,
+ 179,
+ 24,
+ 180,
+ 70,
+ 222
+ ],
+ "aad": [
+ 248,
+ 152,
+ 21,
+ 72,
+ 189,
+ 230,
+ 238,
+ 108,
+ 23,
+ 69,
+ 249,
+ 71,
+ 222,
+ 25,
+ 27,
+ 242,
+ 153,
+ 151,
+ 250,
+ 223
+ ],
+ "plaintext": [
+ 99,
+ 79,
+ 109,
+ 214,
+ 7,
+ 131,
+ 209,
+ 249,
+ 82,
+ 53,
+ 63,
+ 209,
+ 211,
+ 89,
+ 185,
+ 238,
+ 79,
+ 74,
+ 250,
+ 83,
+ 204,
+ 19,
+ 232,
+ 28,
+ 90,
+ 223,
+ 226,
+ 75,
+ 70,
+ 186,
+ 240,
+ 143
+ ],
+ "ciphertext": [
+ 112,
+ 94,
+ 95,
+ 103,
+ 171,
+ 136,
+ 155,
+ 162,
+ 56,
+ 17,
+ 142,
+ 63,
+ 217,
+ 185,
+ 11,
+ 104,
+ 190,
+ 128,
+ 25,
+ 149,
+ 174,
+ 48,
+ 115,
+ 120,
+ 217,
+ 59,
+ 80,
+ 151,
+ 124,
+ 249,
+ 5,
+ 136
+ ],
+ "tag": [
+ 18,
+ 209,
+ 68,
+ 104,
+ 172,
+ 24,
+ 204,
+ 153,
+ 54,
+ 189,
+ 86,
+ 95,
+ 138,
+ 212,
+ 45,
+ 13
+ ]
+ },
+ {
+ "key": [
+ 220,
+ 119,
+ 111,
+ 1,
+ 86,
+ 193,
+ 93,
+ 3,
+ 38,
+ 35,
+ 133,
+ 75,
+ 98,
+ 92,
+ 97,
+ 134,
+ 142,
+ 93,
+ 184,
+ 75,
+ 123,
+ 111,
+ 159,
+ 189,
+ 54,
+ 114,
+ 241,
+ 47,
+ 0,
+ 37,
+ 224,
+ 246
+ ],
+ "nonce": [
+ 103,
+ 19,
+ 9,
+ 81,
+ 196,
+ 165,
+ 127,
+ 106,
+ 231,
+ 241,
+ 50,
+ 65
+ ],
+ "aad": [
+ 253,
+ 9,
+ 32,
+ 250,
+ 235,
+ 123,
+ 33,
+ 41,
+ 50,
+ 40,
+ 10,
+ 0,
+ 155,
+ 172,
+ 150,
+ 145,
+ 69,
+ 229,
+ 195,
+ 22,
+ 207,
+ 57,
+ 34,
+ 98,
+ 44,
+ 55,
+ 5,
+ 195,
+ 69,
+ 124,
+ 78,
+ 159,
+ 18,
+ 75,
+ 32,
+ 118,
+ 153,
+ 67,
+ 35,
+ 251,
+ 207,
+ 181,
+ 35,
+ 248,
+ 237,
+ 22,
+ 210,
+ 65
+ ],
+ "plaintext": [
+ 147,
+ 120,
+ 167,
+ 39,
+ 165,
+ 17,
+ 149,
+ 149,
+ 173,
+ 99,
+ 27,
+ 18,
+ 165,
+ 166,
+ 188,
+ 138,
+ 145,
+ 117,
+ 110,
+ 240,
+ 156,
+ 141,
+ 110,
+ 170,
+ 43,
+ 113,
+ 143,
+ 232,
+ 104,
+ 118,
+ 218,
+ 32
+ ],
+ "ciphertext": [
+ 109,
+ 149,
+ 140,
+ 32,
+ 135,
+ 13,
+ 64,
+ 26,
+ 60,
+ 31,
+ 122,
+ 10,
+ 192,
+ 146,
+ 201,
+ 119,
+ 116,
+ 212,
+ 81,
+ 192,
+ 159,
+ 122,
+ 174,
+ 153,
+ 42,
+ 136,
+ 65,
+ 255,
+ 10,
+ 185,
+ 214,
+ 13
+ ],
+ "tag": [
+ 184,
+ 118,
+ 131,
+ 27,
+ 78,
+ 205,
+ 114,
+ 66,
+ 150,
+ 59,
+ 4,
+ 10,
+ 164,
+ 92,
+ 65,
+ 20
+ ]
+ },
+ {
+ "key": [
+ 7,
+ 179,
+ 184,
+ 115,
+ 93,
+ 103,
+ 160,
+ 86,
+ 50,
+ 197,
+ 87,
+ 7,
+ 106,
+ 196,
+ 18,
+ 147,
+ 245,
+ 37,
+ 64,
+ 186,
+ 192,
+ 82,
+ 21,
+ 115,
+ 232,
+ 192,
+ 65,
+ 78,
+ 195,
+ 111,
+ 114,
+ 32
+ ],
+ "nonce": [
+ 0,
+ 70,
+ 66,
+ 14,
+ 238,
+ 141,
+ 86,
+ 222,
+ 53,
+ 226,
+ 247,
+ 213
+ ],
+ "aad": [
+ 213,
+ 28,
+ 237,
+ 249,
+ 163,
+ 14,
+ 71,
+ 109,
+ 227,
+ 124,
+ 144,
+ 178,
+ 246,
+ 8,
+ 130,
+ 25,
+ 54,
+ 48,
+ 199,
+ 73,
+ 122,
+ 146,
+ 26,
+ 176,
+ 21,
+ 144,
+ 162,
+ 107,
+ 206,
+ 140,
+ 178,
+ 71,
+ 227,
+ 181,
+ 89,
+ 14,
+ 123,
+ 7,
+ 185,
+ 85,
+ 149,
+ 108,
+ 168,
+ 156,
+ 122,
+ 4,
+ 25,
+ 136
+ ],
+ "plaintext": [
+ 72,
+ 53,
+ 212,
+ 137,
+ 130,
+ 131,
+ 37,
+ 160,
+ 203,
+ 56,
+ 165,
+ 159,
+ 194,
+ 156,
+ 254,
+ 237,
+ 204,
+ 174,
+ 37,
+ 242,
+ 233,
+ 195,
+ 153,
+ 40,
+ 29,
+ 155,
+ 118,
+ 65,
+ 251,
+ 96,
+ 151,
+ 101
+ ],
+ "ciphertext": [
+ 70,
+ 235,
+ 49,
+ 205,
+ 152,
+ 182,
+ 204,
+ 62,
+ 202,
+ 254,
+ 28,
+ 209,
+ 252,
+ 45,
+ 69,
+ 250,
+ 105,
+ 54,
+ 103,
+ 203,
+ 211,
+ 167,
+ 210,
+ 197,
+ 248,
+ 193,
+ 2,
+ 150,
+ 130,
+ 126,
+ 168,
+ 60
+ ],
+ "tag": [
+ 54,
+ 205,
+ 78,
+ 118,
+ 221,
+ 6,
+ 121,
+ 136,
+ 116,
+ 119,
+ 191,
+ 185,
+ 108,
+ 241,
+ 197,
+ 246
+ ]
+ },
+ {
+ "key": [
+ 2,
+ 25,
+ 241,
+ 75,
+ 156,
+ 166,
+ 80,
+ 108,
+ 19,
+ 136,
+ 23,
+ 124,
+ 74,
+ 230,
+ 238,
+ 100,
+ 173,
+ 42,
+ 192,
+ 37,
+ 110,
+ 187,
+ 248,
+ 194,
+ 25,
+ 180,
+ 13,
+ 246,
+ 232,
+ 87,
+ 29,
+ 112
+ ],
+ "nonce": [
+ 52,
+ 32,
+ 168,
+ 124,
+ 75,
+ 155,
+ 35,
+ 186,
+ 129,
+ 235,
+ 34,
+ 30
+ ],
+ "aad": [
+ 84,
+ 220,
+ 34,
+ 119,
+ 184,
+ 209,
+ 170,
+ 230,
+ 96,
+ 255,
+ 204,
+ 50,
+ 110,
+ 44,
+ 93,
+ 158,
+ 22,
+ 184,
+ 202,
+ 23,
+ 40,
+ 134,
+ 1,
+ 170,
+ 205,
+ 2,
+ 179,
+ 238,
+ 168,
+ 188,
+ 92,
+ 198,
+ 7,
+ 24,
+ 99,
+ 154,
+ 161,
+ 137,
+ 80,
+ 107,
+ 123,
+ 51,
+ 59,
+ 135,
+ 218,
+ 134,
+ 233,
+ 64
+ ],
+ "plaintext": [
+ 52,
+ 143,
+ 122,
+ 76,
+ 169,
+ 68,
+ 242,
+ 82,
+ 228,
+ 86,
+ 44,
+ 102,
+ 218,
+ 207,
+ 1,
+ 251,
+ 16,
+ 215,
+ 10,
+ 60,
+ 143,
+ 91,
+ 40,
+ 10,
+ 40,
+ 41,
+ 86,
+ 122,
+ 42,
+ 148,
+ 228,
+ 126
+ ],
+ "ciphertext": [
+ 88,
+ 201,
+ 33,
+ 25,
+ 191,
+ 182,
+ 173,
+ 83,
+ 227,
+ 135,
+ 202,
+ 198,
+ 114,
+ 140,
+ 231,
+ 59,
+ 130,
+ 225,
+ 143,
+ 110,
+ 91,
+ 251,
+ 252,
+ 165,
+ 245,
+ 172,
+ 195,
+ 112,
+ 205,
+ 140,
+ 118,
+ 164
+ ],
+ "tag": [
+ 231,
+ 249,
+ 227,
+ 227,
+ 218,
+ 230,
+ 208,
+ 163,
+ 71,
+ 13,
+ 143,
+ 89,
+ 114,
+ 145,
+ 24,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 135,
+ 68,
+ 14,
+ 231,
+ 246,
+ 254,
+ 191,
+ 62,
+ 20,
+ 239,
+ 10,
+ 145,
+ 122,
+ 135,
+ 197,
+ 214,
+ 18,
+ 96,
+ 254,
+ 252,
+ 151,
+ 158,
+ 234,
+ 234,
+ 192,
+ 166,
+ 70,
+ 98,
+ 201,
+ 140,
+ 180,
+ 247
+ ],
+ "nonce": [
+ 124,
+ 72,
+ 188,
+ 117,
+ 229,
+ 143,
+ 33,
+ 204,
+ 153,
+ 137,
+ 214,
+ 145
+ ],
+ "aad": [
+ 224,
+ 198,
+ 110,
+ 93,
+ 177,
+ 199,
+ 102,
+ 90,
+ 1,
+ 91,
+ 167,
+ 226,
+ 30,
+ 8,
+ 255,
+ 61,
+ 229,
+ 180,
+ 165,
+ 252,
+ 213,
+ 211,
+ 94,
+ 65,
+ 219,
+ 126,
+ 151,
+ 204,
+ 208,
+ 195,
+ 223,
+ 101,
+ 122,
+ 232,
+ 3,
+ 195,
+ 82,
+ 157,
+ 55,
+ 84,
+ 32,
+ 173,
+ 117,
+ 172,
+ 150,
+ 33,
+ 206,
+ 160
+ ],
+ "plaintext": [
+ 248,
+ 228,
+ 10,
+ 106,
+ 152,
+ 95,
+ 66,
+ 72,
+ 152,
+ 167,
+ 153,
+ 99,
+ 7,
+ 160,
+ 119,
+ 196,
+ 135,
+ 64,
+ 108,
+ 83,
+ 18,
+ 238,
+ 254,
+ 5,
+ 94,
+ 165,
+ 177,
+ 122,
+ 75,
+ 34,
+ 8,
+ 123
+ ],
+ "ciphertext": [
+ 90,
+ 17,
+ 143,
+ 195,
+ 219,
+ 218,
+ 246,
+ 188,
+ 148,
+ 144,
+ 211,
+ 114,
+ 183,
+ 98,
+ 58,
+ 247,
+ 109,
+ 167,
+ 132,
+ 27,
+ 249,
+ 130,
+ 10,
+ 156,
+ 102,
+ 36,
+ 161,
+ 94,
+ 255,
+ 106,
+ 105,
+ 194
+ ],
+ "tag": [
+ 13,
+ 220,
+ 42,
+ 224,
+ 135,
+ 217,
+ 184,
+ 202,
+ 34,
+ 73,
+ 234,
+ 90,
+ 163,
+ 219,
+ 212,
+ 199
+ ]
+ },
+ {
+ "key": [
+ 177,
+ 36,
+ 37,
+ 121,
+ 111,
+ 99,
+ 191,
+ 84,
+ 53,
+ 116,
+ 15,
+ 144,
+ 57,
+ 250,
+ 102,
+ 54,
+ 127,
+ 199,
+ 112,
+ 45,
+ 103,
+ 92,
+ 97,
+ 178,
+ 222,
+ 196,
+ 67,
+ 95,
+ 238,
+ 234,
+ 7,
+ 248
+ ],
+ "nonce": [
+ 242,
+ 103,
+ 39,
+ 5,
+ 62,
+ 109,
+ 103,
+ 194,
+ 210,
+ 191,
+ 30,
+ 105
+ ],
+ "aad": [
+ 229,
+ 15,
+ 202,
+ 46,
+ 90,
+ 129,
+ 174,
+ 86,
+ 202,
+ 7,
+ 243,
+ 76,
+ 75,
+ 93,
+ 161,
+ 64,
+ 211,
+ 104,
+ 204,
+ 234,
+ 176,
+ 132,
+ 148,
+ 245,
+ 226,
+ 143,
+ 116,
+ 108,
+ 191,
+ 239,
+ 220,
+ 40,
+ 91,
+ 121,
+ 179,
+ 60,
+ 244,
+ 150,
+ 159,
+ 230,
+ 24,
+ 183,
+ 122,
+ 183,
+ 186,
+ 175,
+ 226,
+ 113
+ ],
+ "plaintext": [
+ 157,
+ 240,
+ 121,
+ 217,
+ 138,
+ 110,
+ 77,
+ 190,
+ 39,
+ 122,
+ 133,
+ 69,
+ 244,
+ 246,
+ 193,
+ 159,
+ 225,
+ 48,
+ 244,
+ 168,
+ 75,
+ 221,
+ 107,
+ 118,
+ 10,
+ 4,
+ 159,
+ 186,
+ 33,
+ 212,
+ 233,
+ 154
+ ],
+ "ciphertext": [
+ 132,
+ 95,
+ 0,
+ 32,
+ 46,
+ 46,
+ 137,
+ 69,
+ 22,
+ 216,
+ 244,
+ 164,
+ 2,
+ 20,
+ 48,
+ 229,
+ 49,
+ 150,
+ 112,
+ 152,
+ 201,
+ 169,
+ 64,
+ 36,
+ 199,
+ 17,
+ 60,
+ 154,
+ 27,
+ 145,
+ 200,
+ 205
+ ],
+ "tag": [
+ 53,
+ 102,
+ 199,
+ 89,
+ 103,
+ 174,
+ 0,
+ 25,
+ 142,
+ 57,
+ 235,
+ 233,
+ 240,
+ 172,
+ 105,
+ 127
+ ]
+ },
+ {
+ "key": [
+ 103,
+ 77,
+ 251,
+ 98,
+ 91,
+ 139,
+ 12,
+ 225,
+ 218,
+ 219,
+ 187,
+ 203,
+ 247,
+ 225,
+ 81,
+ 197,
+ 178,
+ 206,
+ 207,
+ 10,
+ 27,
+ 196,
+ 224,
+ 127,
+ 71,
+ 52,
+ 243,
+ 166,
+ 121,
+ 35,
+ 80,
+ 205
+ ],
+ "nonce": [
+ 153,
+ 231,
+ 183,
+ 110,
+ 102,
+ 134,
+ 68,
+ 150,
+ 22,
+ 173,
+ 54,
+ 199
+ ],
+ "aad": [
+ 42,
+ 177,
+ 87,
+ 62,
+ 90,
+ 148,
+ 202,
+ 41,
+ 151,
+ 89,
+ 8,
+ 64,
+ 189,
+ 156,
+ 98,
+ 230,
+ 173,
+ 213,
+ 94,
+ 77,
+ 62,
+ 172,
+ 18,
+ 200,
+ 149,
+ 210,
+ 236,
+ 99,
+ 119,
+ 145,
+ 202,
+ 164,
+ 29,
+ 70,
+ 237,
+ 145,
+ 230,
+ 6,
+ 77,
+ 182,
+ 39,
+ 225,
+ 251,
+ 239,
+ 113,
+ 211,
+ 29,
+ 1
+ ],
+ "plaintext": [
+ 10,
+ 116,
+ 74,
+ 114,
+ 229,
+ 54,
+ 160,
+ 72,
+ 77,
+ 180,
+ 112,
+ 145,
+ 96,
+ 146,
+ 40,
+ 216,
+ 3,
+ 188,
+ 250,
+ 154,
+ 141,
+ 175,
+ 87,
+ 158,
+ 48,
+ 57,
+ 227,
+ 100,
+ 95,
+ 118,
+ 136,
+ 226
+ ],
+ "ciphertext": [
+ 229,
+ 80,
+ 238,
+ 119,
+ 6,
+ 151,
+ 9,
+ 245,
+ 25,
+ 155,
+ 227,
+ 198,
+ 24,
+ 242,
+ 164,
+ 23,
+ 142,
+ 77,
+ 113,
+ 154,
+ 183,
+ 61,
+ 244,
+ 28,
+ 191,
+ 227,
+ 44,
+ 82,
+ 119,
+ 113,
+ 56,
+ 255
+ ],
+ "tag": [
+ 19,
+ 74,
+ 195,
+ 250,
+ 139,
+ 212,
+ 175,
+ 126,
+ 232,
+ 54,
+ 244,
+ 163,
+ 66,
+ 29,
+ 158,
+ 153
+ ]
+ },
+ {
+ "key": [
+ 16,
+ 193,
+ 222,
+ 95,
+ 116,
+ 21,
+ 96,
+ 218,
+ 229,
+ 190,
+ 35,
+ 225,
+ 86,
+ 73,
+ 240,
+ 17,
+ 77,
+ 181,
+ 41,
+ 73,
+ 86,
+ 11,
+ 182,
+ 205,
+ 242,
+ 212,
+ 136,
+ 50,
+ 71,
+ 57,
+ 46,
+ 225
+ ],
+ "nonce": [
+ 124,
+ 247,
+ 60,
+ 20,
+ 114,
+ 205,
+ 96,
+ 216,
+ 211,
+ 95,
+ 222,
+ 81
+ ],
+ "aad": [
+ 211,
+ 250,
+ 139,
+ 111,
+ 96,
+ 122,
+ 32,
+ 161,
+ 141,
+ 215,
+ 234,
+ 200,
+ 94,
+ 171,
+ 239,
+ 105,
+ 212,
+ 251,
+ 90,
+ 7,
+ 77,
+ 142,
+ 125,
+ 27,
+ 241,
+ 93,
+ 7,
+ 115,
+ 46,
+ 216,
+ 14,
+ 2,
+ 1,
+ 99,
+ 180,
+ 117,
+ 242,
+ 9,
+ 196,
+ 176,
+ 203,
+ 250,
+ 0,
+ 214,
+ 93,
+ 30,
+ 130,
+ 239
+ ],
+ "plaintext": [
+ 5,
+ 190,
+ 205,
+ 54,
+ 106,
+ 235,
+ 170,
+ 46,
+ 96,
+ 159,
+ 80,
+ 125,
+ 210,
+ 221,
+ 68,
+ 51,
+ 178,
+ 171,
+ 160,
+ 99,
+ 75,
+ 14,
+ 185,
+ 165,
+ 191,
+ 125,
+ 237,
+ 76,
+ 200,
+ 251,
+ 237,
+ 114
+ ],
+ "ciphertext": [
+ 40,
+ 15,
+ 12,
+ 48,
+ 110,
+ 26,
+ 58,
+ 171,
+ 143,
+ 249,
+ 171,
+ 62,
+ 74,
+ 154,
+ 220,
+ 46,
+ 154,
+ 228,
+ 228,
+ 225,
+ 160,
+ 111,
+ 25,
+ 13,
+ 17,
+ 179,
+ 180,
+ 220,
+ 66,
+ 128,
+ 228,
+ 243
+ ],
+ "tag": [
+ 59,
+ 200,
+ 190,
+ 132,
+ 91,
+ 245,
+ 255,
+ 132,
+ 76,
+ 7,
+ 51,
+ 124,
+ 44,
+ 253,
+ 95,
+ 128
+ ]
+ },
+ {
+ "key": [
+ 232,
+ 214,
+ 171,
+ 94,
+ 81,
+ 70,
+ 69,
+ 221,
+ 126,
+ 5,
+ 27,
+ 2,
+ 143,
+ 91,
+ 254,
+ 98,
+ 76,
+ 114,
+ 244,
+ 79,
+ 48,
+ 39,
+ 149,
+ 119,
+ 54,
+ 90,
+ 234,
+ 101,
+ 212,
+ 168,
+ 168,
+ 25
+ ],
+ "nonce": [
+ 48,
+ 176,
+ 214,
+ 84,
+ 238,
+ 91,
+ 121,
+ 194,
+ 207,
+ 178,
+ 65,
+ 0
+ ],
+ "aad": [
+ 8,
+ 46,
+ 83,
+ 75,
+ 248,
+ 96,
+ 208,
+ 6,
+ 30,
+ 194,
+ 218,
+ 211,
+ 77,
+ 107,
+ 13,
+ 184,
+ 203,
+ 161,
+ 198,
+ 81,
+ 242,
+ 199,
+ 5,
+ 53,
+ 111,
+ 242,
+ 113,
+ 228,
+ 115,
+ 101,
+ 176,
+ 177,
+ 143,
+ 141,
+ 219,
+ 58,
+ 60,
+ 34,
+ 105,
+ 180,
+ 55,
+ 251,
+ 7,
+ 3,
+ 201,
+ 173,
+ 54,
+ 122
+ ],
+ "plaintext": [
+ 25,
+ 190,
+ 126,
+ 15,
+ 238,
+ 221,
+ 64,
+ 43,
+ 244,
+ 176,
+ 89,
+ 149,
+ 163,
+ 142,
+ 95,
+ 66,
+ 60,
+ 3,
+ 61,
+ 224,
+ 22,
+ 227,
+ 174,
+ 131,
+ 234,
+ 140,
+ 60,
+ 28,
+ 186,
+ 101,
+ 142,
+ 30
+ ],
+ "ciphertext": [
+ 133,
+ 115,
+ 128,
+ 12,
+ 115,
+ 125,
+ 36,
+ 128,
+ 178,
+ 136,
+ 92,
+ 231,
+ 20,
+ 172,
+ 106,
+ 21,
+ 242,
+ 50,
+ 135,
+ 177,
+ 209,
+ 41,
+ 73,
+ 163,
+ 215,
+ 110,
+ 255,
+ 190,
+ 130,
+ 181,
+ 147,
+ 189
+ ],
+ "tag": [
+ 80,
+ 17,
+ 8,
+ 132,
+ 41,
+ 33,
+ 81,
+ 245,
+ 18,
+ 19,
+ 204,
+ 178,
+ 254,
+ 147,
+ 77,
+ 136
+ ]
+ },
+ {
+ "key": [
+ 45,
+ 30,
+ 175,
+ 94,
+ 98,
+ 202,
+ 128,
+ 253,
+ 21,
+ 21,
+ 168,
+ 17,
+ 192,
+ 228,
+ 192,
+ 69,
+ 171,
+ 168,
+ 199,
+ 105,
+ 223,
+ 3,
+ 213,
+ 127,
+ 116,
+ 147,
+ 235,
+ 98,
+ 62,
+ 216,
+ 185,
+ 65
+ ],
+ "nonce": [
+ 171,
+ 241,
+ 144,
+ 176,
+ 93,
+ 242,
+ 230,
+ 85,
+ 108,
+ 179,
+ 75,
+ 71
+ ],
+ "aad": [
+ 117,
+ 171,
+ 155,
+ 211,
+ 156,
+ 36,
+ 228,
+ 152,
+ 165,
+ 77,
+ 133,
+ 168,
+ 183,
+ 106,
+ 65,
+ 38,
+ 220,
+ 24,
+ 121,
+ 242,
+ 163,
+ 2,
+ 112,
+ 164,
+ 38,
+ 9,
+ 118,
+ 62,
+ 4,
+ 90,
+ 64,
+ 33,
+ 120,
+ 91,
+ 97,
+ 52,
+ 242,
+ 131,
+ 253,
+ 129,
+ 193,
+ 149,
+ 195,
+ 24,
+ 142,
+ 120,
+ 117,
+ 45
+ ],
+ "plaintext": [
+ 156,
+ 124,
+ 213,
+ 34,
+ 237,
+ 92,
+ 10,
+ 243,
+ 229,
+ 125,
+ 160,
+ 141,
+ 38,
+ 83,
+ 239,
+ 119,
+ 235,
+ 151,
+ 55,
+ 52,
+ 243,
+ 96,
+ 87,
+ 43,
+ 188,
+ 177,
+ 90,
+ 42,
+ 108,
+ 189,
+ 96,
+ 185
+ ],
+ "ciphertext": [
+ 95,
+ 223,
+ 218,
+ 204,
+ 177,
+ 5,
+ 229,
+ 64,
+ 140,
+ 55,
+ 90,
+ 248,
+ 202,
+ 99,
+ 166,
+ 122,
+ 250,
+ 186,
+ 124,
+ 203,
+ 205,
+ 89,
+ 26,
+ 204,
+ 169,
+ 168,
+ 109,
+ 146,
+ 249,
+ 47,
+ 208,
+ 247
+ ],
+ "tag": [
+ 73,
+ 148,
+ 11,
+ 118,
+ 16,
+ 97,
+ 139,
+ 58,
+ 92,
+ 179,
+ 145,
+ 35,
+ 57,
+ 224,
+ 107,
+ 60
+ ]
+ },
+ {
+ "key": [
+ 182,
+ 2,
+ 6,
+ 119,
+ 224,
+ 152,
+ 197,
+ 158,
+ 25,
+ 234,
+ 207,
+ 38,
+ 115,
+ 36,
+ 115,
+ 216,
+ 67,
+ 170,
+ 253,
+ 107,
+ 249,
+ 153,
+ 199,
+ 7,
+ 187,
+ 8,
+ 171,
+ 137,
+ 100,
+ 6,
+ 145,
+ 141
+ ],
+ "nonce": [
+ 128,
+ 113,
+ 103,
+ 239,
+ 43,
+ 132,
+ 179,
+ 45,
+ 29,
+ 244,
+ 169,
+ 76
+ ],
+ "aad": [
+ 6,
+ 34,
+ 93,
+ 65,
+ 10,
+ 218,
+ 62,
+ 4,
+ 21,
+ 125,
+ 167,
+ 229,
+ 72,
+ 29,
+ 125,
+ 159,
+ 34,
+ 133,
+ 132,
+ 88,
+ 36,
+ 170,
+ 192,
+ 192,
+ 224,
+ 51,
+ 36,
+ 78,
+ 212,
+ 193,
+ 177,
+ 150,
+ 21,
+ 53,
+ 76,
+ 34,
+ 75,
+ 168,
+ 183,
+ 9,
+ 60,
+ 86,
+ 81,
+ 209,
+ 14,
+ 249,
+ 82,
+ 254
+ ],
+ "plaintext": [
+ 49,
+ 153,
+ 214,
+ 185,
+ 93,
+ 19,
+ 59,
+ 165,
+ 183,
+ 234,
+ 220,
+ 66,
+ 0,
+ 128,
+ 160,
+ 178,
+ 73,
+ 200,
+ 79,
+ 73,
+ 96,
+ 189,
+ 54,
+ 157,
+ 107,
+ 249,
+ 227,
+ 19,
+ 98,
+ 124,
+ 246,
+ 112
+ ],
+ "ciphertext": [
+ 70,
+ 24,
+ 173,
+ 191,
+ 165,
+ 234,
+ 78,
+ 226,
+ 96,
+ 227,
+ 16,
+ 20,
+ 11,
+ 56,
+ 82,
+ 50,
+ 183,
+ 195,
+ 173,
+ 70,
+ 136,
+ 122,
+ 162,
+ 16,
+ 127,
+ 125,
+ 175,
+ 255,
+ 216,
+ 92,
+ 218,
+ 34
+ ],
+ "tag": [
+ 45,
+ 118,
+ 48,
+ 123,
+ 245,
+ 88,
+ 38,
+ 223,
+ 235,
+ 88,
+ 161,
+ 113,
+ 182,
+ 250,
+ 128,
+ 228
+ ]
+ },
+ {
+ "key": [
+ 247,
+ 84,
+ 86,
+ 196,
+ 145,
+ 141,
+ 11,
+ 234,
+ 114,
+ 245,
+ 70,
+ 169,
+ 161,
+ 226,
+ 219,
+ 11,
+ 106,
+ 185,
+ 188,
+ 217,
+ 120,
+ 43,
+ 94,
+ 177,
+ 194,
+ 112,
+ 14,
+ 114,
+ 153,
+ 33,
+ 214,
+ 102
+ ],
+ "nonce": [
+ 199,
+ 91,
+ 131,
+ 19,
+ 78,
+ 123,
+ 145,
+ 136,
+ 229,
+ 128,
+ 15,
+ 254
+ ],
+ "aad": [
+ 94,
+ 244,
+ 108,
+ 158,
+ 181,
+ 134,
+ 92,
+ 171,
+ 44,
+ 138,
+ 53,
+ 249,
+ 196,
+ 196,
+ 52,
+ 97,
+ 74,
+ 108,
+ 159,
+ 27,
+ 92,
+ 71,
+ 151,
+ 57,
+ 247,
+ 67,
+ 77,
+ 51,
+ 38,
+ 207,
+ 241,
+ 231,
+ 11,
+ 13,
+ 40,
+ 119,
+ 192,
+ 132,
+ 167,
+ 28,
+ 122,
+ 157,
+ 51,
+ 210,
+ 88,
+ 211,
+ 4,
+ 187
+ ],
+ "plaintext": [
+ 249,
+ 162,
+ 58,
+ 187,
+ 208,
+ 242,
+ 179,
+ 103,
+ 206,
+ 22,
+ 194,
+ 160,
+ 97,
+ 60,
+ 210,
+ 147,
+ 172,
+ 126,
+ 102,
+ 203,
+ 224,
+ 32,
+ 234,
+ 235,
+ 93,
+ 235,
+ 9,
+ 213,
+ 3,
+ 31,
+ 217,
+ 146
+ ],
+ "ciphertext": [
+ 86,
+ 228,
+ 239,
+ 230,
+ 192,
+ 148,
+ 65,
+ 83,
+ 182,
+ 94,
+ 212,
+ 144,
+ 152,
+ 69,
+ 33,
+ 152,
+ 66,
+ 185,
+ 184,
+ 143,
+ 84,
+ 216,
+ 216,
+ 57,
+ 64,
+ 81,
+ 19,
+ 42,
+ 251,
+ 149,
+ 211,
+ 145
+ ],
+ "tag": [
+ 37,
+ 94,
+ 44,
+ 140,
+ 67,
+ 248,
+ 151,
+ 156,
+ 68,
+ 12,
+ 53,
+ 129,
+ 191,
+ 246,
+ 207,
+ 101
+ ]
+ },
+ {
+ "key": [
+ 152,
+ 49,
+ 197,
+ 193,
+ 46,
+ 83,
+ 232,
+ 169,
+ 97,
+ 100,
+ 46,
+ 147,
+ 221,
+ 178,
+ 225,
+ 58,
+ 56,
+ 80,
+ 106,
+ 205,
+ 12,
+ 244,
+ 34,
+ 230,
+ 173,
+ 159,
+ 186,
+ 234,
+ 188,
+ 231,
+ 179,
+ 242
+ ],
+ "nonce": [
+ 191,
+ 242,
+ 157,
+ 227,
+ 214,
+ 134,
+ 158,
+ 95,
+ 167,
+ 91,
+ 150,
+ 249
+ ],
+ "aad": [
+ 103,
+ 235,
+ 238,
+ 203,
+ 116,
+ 204,
+ 129,
+ 253,
+ 254,
+ 232,
+ 6,
+ 95,
+ 139,
+ 28,
+ 31,
+ 80,
+ 18,
+ 191,
+ 120,
+ 137,
+ 83,
+ 190,
+ 201,
+ 82,
+ 94,
+ 137,
+ 102,
+ 17,
+ 184,
+ 39,
+ 8,
+ 74,
+ 142,
+ 107,
+ 170,
+ 12,
+ 228,
+ 14,
+ 231,
+ 11,
+ 198,
+ 153,
+ 177,
+ 82,
+ 188,
+ 110,
+ 217,
+ 3
+ ],
+ "plaintext": [
+ 177,
+ 237,
+ 190,
+ 213,
+ 142,
+ 211,
+ 78,
+ 153,
+ 247,
+ 24,
+ 219,
+ 6,
+ 8,
+ 229,
+ 77,
+ 211,
+ 24,
+ 131,
+ 186,
+ 236,
+ 28,
+ 138,
+ 7,
+ 153,
+ 196,
+ 255,
+ 138,
+ 93,
+ 173,
+ 70,
+ 141,
+ 228
+ ],
+ "ciphertext": [
+ 19,
+ 132,
+ 93,
+ 183,
+ 227,
+ 59,
+ 171,
+ 31,
+ 87,
+ 102,
+ 167,
+ 250,
+ 223,
+ 185,
+ 66,
+ 116,
+ 142,
+ 119,
+ 151,
+ 83,
+ 217,
+ 127,
+ 20,
+ 62,
+ 100,
+ 92,
+ 207,
+ 203,
+ 215,
+ 194,
+ 59,
+ 35
+ ],
+ "tag": [
+ 16,
+ 219,
+ 232,
+ 163,
+ 225,
+ 144,
+ 28,
+ 139,
+ 136,
+ 176,
+ 171,
+ 20,
+ 65,
+ 102,
+ 77,
+ 50
+ ]
+ },
+ {
+ "key": [
+ 160,
+ 44,
+ 45,
+ 74,
+ 67,
+ 240,
+ 247,
+ 241,
+ 219,
+ 87,
+ 192,
+ 127,
+ 19,
+ 240,
+ 127,
+ 88,
+ 142,
+ 223,
+ 224,
+ 105,
+ 169,
+ 216,
+ 60,
+ 155,
+ 118,
+ 233,
+ 81,
+ 25,
+ 70,
+ 196,
+ 252,
+ 72
+ ],
+ "nonce": [
+ 132,
+ 103,
+ 116,
+ 56,
+ 89,
+ 45,
+ 202,
+ 246,
+ 131,
+ 208,
+ 138,
+ 103
+ ],
+ "aad": [
+ 213,
+ 222,
+ 160,
+ 205,
+ 96,
+ 128,
+ 175,
+ 73,
+ 161,
+ 198,
+ 180,
+ 214,
+ 154,
+ 206,
+ 103,
+ 74,
+ 98,
+ 47,
+ 132,
+ 249,
+ 241,
+ 144,
+ 178,
+ 219,
+ 138,
+ 34,
+ 224,
+ 132,
+ 166,
+ 101,
+ 0,
+ 181,
+ 47,
+ 242,
+ 10,
+ 141,
+ 4,
+ 246,
+ 42,
+ 122,
+ 234,
+ 237,
+ 182,
+ 126,
+ 34,
+ 88,
+ 89,
+ 140
+ ],
+ "plaintext": [
+ 173,
+ 90,
+ 136,
+ 77,
+ 173,
+ 32,
+ 255,
+ 168,
+ 135,
+ 148,
+ 196,
+ 252,
+ 163,
+ 159,
+ 44,
+ 160,
+ 28,
+ 111,
+ 103,
+ 101,
+ 122,
+ 179,
+ 142,
+ 92,
+ 248,
+ 106,
+ 197,
+ 89,
+ 115,
+ 24,
+ 239,
+ 7
+ ],
+ "ciphertext": [
+ 131,
+ 218,
+ 22,
+ 174,
+ 7,
+ 238,
+ 14,
+ 136,
+ 84,
+ 132,
+ 193,
+ 51,
+ 10,
+ 98,
+ 85,
+ 166,
+ 231,
+ 172,
+ 34,
+ 145,
+ 92,
+ 99,
+ 203,
+ 239,
+ 170,
+ 188,
+ 111,
+ 159,
+ 5,
+ 157,
+ 214,
+ 157
+ ],
+ "tag": [
+ 66,
+ 196,
+ 162,
+ 112,
+ 112,
+ 84,
+ 147,
+ 216,
+ 90,
+ 215,
+ 187,
+ 207,
+ 218,
+ 134,
+ 223,
+ 251
+ ]
+ },
+ {
+ "key": [
+ 254,
+ 186,
+ 65,
+ 43,
+ 100,
+ 27,
+ 199,
+ 98,
+ 191,
+ 167,
+ 158,
+ 241,
+ 124,
+ 62,
+ 161,
+ 110,
+ 86,
+ 48,
+ 96,
+ 84,
+ 112,
+ 219,
+ 9,
+ 110,
+ 54,
+ 255,
+ 211,
+ 56,
+ 19,
+ 100,
+ 26,
+ 206
+ ],
+ "nonce": [
+ 227,
+ 99,
+ 63,
+ 33,
+ 231,
+ 198,
+ 58,
+ 69,
+ 157,
+ 93,
+ 22,
+ 112
+ ],
+ "aad": [
+ 183,
+ 238,
+ 2,
+ 51,
+ 134,
+ 59,
+ 14,
+ 24,
+ 91,
+ 47,
+ 70,
+ 24,
+ 30,
+ 181,
+ 252,
+ 7,
+ 24,
+ 131,
+ 46,
+ 30,
+ 118,
+ 231,
+ 212,
+ 17,
+ 90,
+ 76,
+ 31,
+ 126,
+ 153,
+ 140,
+ 65,
+ 49,
+ 156,
+ 206,
+ 244,
+ 79,
+ 93,
+ 184,
+ 158,
+ 140,
+ 95,
+ 7,
+ 123,
+ 213,
+ 83,
+ 215,
+ 191,
+ 66
+ ],
+ "plaintext": [
+ 147,
+ 38,
+ 87,
+ 43,
+ 211,
+ 53,
+ 81,
+ 50,
+ 44,
+ 164,
+ 47,
+ 207,
+ 183,
+ 206,
+ 248,
+ 190,
+ 65,
+ 215,
+ 135,
+ 37,
+ 243,
+ 146,
+ 195,
+ 73,
+ 7,
+ 236,
+ 209,
+ 254,
+ 85,
+ 114,
+ 191,
+ 241
+ ],
+ "ciphertext": [
+ 80,
+ 25,
+ 234,
+ 152,
+ 204,
+ 157,
+ 201,
+ 54,
+ 132,
+ 50,
+ 198,
+ 213,
+ 143,
+ 158,
+ 20,
+ 79,
+ 85,
+ 68,
+ 110,
+ 118,
+ 60,
+ 10,
+ 139,
+ 77,
+ 138,
+ 108,
+ 226,
+ 111,
+ 61,
+ 217,
+ 82,
+ 96
+ ],
+ "tag": [
+ 16,
+ 16,
+ 190,
+ 185,
+ 205,
+ 110,
+ 155,
+ 97,
+ 18,
+ 128,
+ 165,
+ 57,
+ 95,
+ 8,
+ 188,
+ 169
+ ]
+ },
+ {
+ "key": [
+ 33,
+ 189,
+ 86,
+ 145,
+ 247,
+ 175,
+ 28,
+ 231,
+ 101,
+ 240,
+ 153,
+ 227,
+ 197,
+ 192,
+ 151,
+ 134,
+ 147,
+ 105,
+ 130,
+ 131,
+ 78,
+ 253,
+ 129,
+ 221,
+ 85,
+ 39,
+ 199,
+ 195,
+ 34,
+ 249,
+ 14,
+ 131
+ ],
+ "nonce": [
+ 54,
+ 165,
+ 158,
+ 82,
+ 61,
+ 240,
+ 75,
+ 199,
+ 254,
+ 183,
+ 73,
+ 68
+ ],
+ "aad": [
+ 72,
+ 174,
+ 245,
+ 135,
+ 47,
+ 103,
+ 245,
+ 36,
+ 181,
+ 69,
+ 152,
+ 120,
+ 28,
+ 59,
+ 40,
+ 249,
+ 203,
+ 207,
+ 53,
+ 48,
+ 102,
+ 195,
+ 103,
+ 3,
+ 112,
+ 252,
+ 164,
+ 78,
+ 19,
+ 39,
+ 97,
+ 32,
+ 49,
+ 0,
+ 181,
+ 230,
+ 199,
+ 53,
+ 42,
+ 147,
+ 15,
+ 126,
+ 156,
+ 191,
+ 40,
+ 168,
+ 225,
+ 206
+ ],
+ "plaintext": [
+ 119,
+ 229,
+ 57,
+ 223,
+ 218,
+ 180,
+ 207,
+ 185,
+ 48,
+ 154,
+ 117,
+ 194,
+ 238,
+ 159,
+ 158,
+ 154,
+ 161,
+ 180,
+ 101,
+ 21,
+ 104,
+ 176,
+ 83,
+ 144,
+ 215,
+ 61,
+ 161,
+ 159,
+ 18,
+ 204,
+ 190,
+ 120
+ ],
+ "ciphertext": [
+ 194,
+ 20,
+ 131,
+ 115,
+ 31,
+ 127,
+ 225,
+ 184,
+ 161,
+ 125,
+ 110,
+ 19,
+ 62,
+ 218,
+ 22,
+ 219,
+ 125,
+ 115,
+ 221,
+ 215,
+ 227,
+ 75,
+ 71,
+ 238,
+ 194,
+ 249,
+ 155,
+ 59,
+ 188,
+ 150,
+ 105,
+ 170
+ ],
+ "tag": [
+ 21,
+ 249,
+ 38,
+ 91,
+ 197,
+ 35,
+ 41,
+ 140,
+ 239,
+ 178,
+ 3,
+ 55,
+ 248,
+ 120,
+ 178,
+ 131
+ ]
+ },
+ {
+ "key": [
+ 38,
+ 191,
+ 37,
+ 91,
+ 238,
+ 96,
+ 239,
+ 15,
+ 101,
+ 55,
+ 105,
+ 231,
+ 3,
+ 77,
+ 185,
+ 91,
+ 140,
+ 121,
+ 23,
+ 82,
+ 117,
+ 78,
+ 87,
+ 92,
+ 118,
+ 16,
+ 89,
+ 233,
+ 238,
+ 141,
+ 207,
+ 120
+ ],
+ "nonce": [
+ 206,
+ 205,
+ 151,
+ 171,
+ 7,
+ 206,
+ 87,
+ 193,
+ 97,
+ 39,
+ 68,
+ 245
+ ],
+ "aad": [
+ 175,
+ 235,
+ 190,
+ 159,
+ 38,
+ 15,
+ 140,
+ 17,
+ 142,
+ 82,
+ 184,
+ 77,
+ 136,
+ 128,
+ 163,
+ 70,
+ 34,
+ 103,
+ 95,
+ 174,
+ 243,
+ 52,
+ 205,
+ 180,
+ 27,
+ 233,
+ 56,
+ 91,
+ 125,
+ 5,
+ 155,
+ 121,
+ 192,
+ 248,
+ 164,
+ 50,
+ 210,
+ 95,
+ 139,
+ 113,
+ 231,
+ 129,
+ 177,
+ 119,
+ 252,
+ 228,
+ 212,
+ 197,
+ 122,
+ 197,
+ 115,
+ 69,
+ 67,
+ 232,
+ 93,
+ 117,
+ 19,
+ 249,
+ 99,
+ 130,
+ 255,
+ 75,
+ 45,
+ 75,
+ 149,
+ 178,
+ 241,
+ 253,
+ 186,
+ 249,
+ 231,
+ 139,
+ 189,
+ 29,
+ 177,
+ 58,
+ 125,
+ 210,
+ 110,
+ 138,
+ 74,
+ 200,
+ 58,
+ 62,
+ 138,
+ 180,
+ 45,
+ 29,
+ 84,
+ 95
+ ],
+ "plaintext": [
+ 150,
+ 152,
+ 57,
+ 23,
+ 160,
+ 54,
+ 101,
+ 7,
+ 99,
+ 172,
+ 162,
+ 180,
+ 233,
+ 39,
+ 217,
+ 95,
+ 252,
+ 116,
+ 51,
+ 149,
+ 25,
+ 237,
+ 64,
+ 196,
+ 51,
+ 109,
+ 186,
+ 145,
+ 237,
+ 251,
+ 249,
+ 173
+ ],
+ "ciphertext": [
+ 227,
+ 75,
+ 21,
+ 64,
+ 167,
+ 105,
+ 247,
+ 145,
+ 51,
+ 49,
+ 214,
+ 103,
+ 150,
+ 224,
+ 11,
+ 220,
+ 62,
+ 224,
+ 242,
+ 88,
+ 207,
+ 36,
+ 78,
+ 183,
+ 102,
+ 51,
+ 117,
+ 204,
+ 90,
+ 214,
+ 198,
+ 88
+ ],
+ "tag": [
+ 56,
+ 65,
+ 240,
+ 43,
+ 235,
+ 122,
+ 127,
+ 202,
+ 126,
+ 87,
+ 137,
+ 34,
+ 208,
+ 162,
+ 248,
+ 12
+ ]
+ },
+ {
+ "key": [
+ 116,
+ 206,
+ 49,
+ 33,
+ 193,
+ 139,
+ 191,
+ 244,
+ 117,
+ 106,
+ 209,
+ 13,
+ 15,
+ 41,
+ 59,
+ 177,
+ 234,
+ 63,
+ 147,
+ 73,
+ 13,
+ 170,
+ 208,
+ 36,
+ 156,
+ 211,
+ 176,
+ 94,
+ 34,
+ 60,
+ 151,
+ 71
+ ],
+ "nonce": [
+ 129,
+ 16,
+ 122,
+ 251,
+ 76,
+ 38,
+ 79,
+ 101,
+ 174,
+ 0,
+ 2,
+ 177
+ ],
+ "aad": [
+ 240,
+ 8,
+ 71,
+ 248,
+ 72,
+ 215,
+ 88,
+ 73,
+ 74,
+ 253,
+ 144,
+ 182,
+ 196,
+ 147,
+ 117,
+ 224,
+ 231,
+ 110,
+ 38,
+ 220,
+ 186,
+ 40,
+ 78,
+ 154,
+ 96,
+ 142,
+ 174,
+ 51,
+ 184,
+ 122,
+ 210,
+ 222,
+ 172,
+ 40,
+ 204,
+ 244,
+ 13,
+ 45,
+ 177,
+ 84,
+ 187,
+ 225,
+ 13,
+ 192,
+ 253,
+ 105,
+ 176,
+ 156,
+ 155,
+ 137,
+ 32,
+ 240,
+ 247,
+ 78,
+ 166,
+ 45,
+ 214,
+ 141,
+ 242,
+ 117,
+ 7,
+ 78,
+ 40,
+ 142,
+ 118,
+ 162,
+ 144,
+ 51,
+ 107,
+ 59,
+ 246,
+ 180,
+ 133,
+ 192,
+ 21,
+ 149,
+ 37,
+ 195,
+ 98,
+ 9,
+ 36,
+ 8,
+ 245,
+ 17,
+ 103,
+ 200,
+ 229,
+ 158,
+ 33,
+ 143
+ ],
+ "plaintext": [
+ 122,
+ 19,
+ 51,
+ 133,
+ 234,
+ 213,
+ 147,
+ 195,
+ 144,
+ 120,
+ 6,
+ 190,
+ 193,
+ 34,
+ 64,
+ 148,
+ 63,
+ 0,
+ 168,
+ 195,
+ 193,
+ 176,
+ 172,
+ 115,
+ 184,
+ 184,
+ 26,
+ 242,
+ 211,
+ 25,
+ 44,
+ 111
+ ],
+ "ciphertext": [
+ 100,
+ 189,
+ 23,
+ 243,
+ 232,
+ 247,
+ 26,
+ 72,
+ 68,
+ 185,
+ 112,
+ 212,
+ 235,
+ 193,
+ 25,
+ 150,
+ 24,
+ 18,
+ 239,
+ 185,
+ 1,
+ 91,
+ 129,
+ 142,
+ 141,
+ 136,
+ 185,
+ 6,
+ 213,
+ 239,
+ 189,
+ 118
+ ],
+ "tag": [
+ 70,
+ 208,
+ 228,
+ 42,
+ 160,
+ 70,
+ 35,
+ 126,
+ 254,
+ 225,
+ 126,
+ 171,
+ 109,
+ 156,
+ 251,
+ 117
+ ]
+ },
+ {
+ "key": [
+ 76,
+ 102,
+ 154,
+ 25,
+ 105,
+ 201,
+ 125,
+ 86,
+ 218,
+ 48,
+ 164,
+ 98,
+ 54,
+ 193,
+ 84,
+ 7,
+ 224,
+ 106,
+ 173,
+ 166,
+ 134,
+ 32,
+ 94,
+ 237,
+ 59,
+ 215,
+ 121,
+ 107,
+ 2,
+ 201,
+ 122,
+ 75
+ ],
+ "nonce": [
+ 10,
+ 7,
+ 117,
+ 141,
+ 90,
+ 212,
+ 71,
+ 102,
+ 224,
+ 81,
+ 218,
+ 108
+ ],
+ "aad": [
+ 11,
+ 130,
+ 119,
+ 17,
+ 76,
+ 191,
+ 126,
+ 225,
+ 108,
+ 155,
+ 189,
+ 161,
+ 171,
+ 64,
+ 65,
+ 154,
+ 2,
+ 228,
+ 105,
+ 235,
+ 178,
+ 149,
+ 136,
+ 63,
+ 10,
+ 131,
+ 60,
+ 60,
+ 183,
+ 85,
+ 222,
+ 212,
+ 74,
+ 60,
+ 65,
+ 0,
+ 52,
+ 162,
+ 1,
+ 247,
+ 217,
+ 27,
+ 67,
+ 81,
+ 159,
+ 186,
+ 187,
+ 85,
+ 185,
+ 116,
+ 131,
+ 75,
+ 229,
+ 213,
+ 175,
+ 199,
+ 174,
+ 167,
+ 200,
+ 75,
+ 68,
+ 161,
+ 78,
+ 142,
+ 22,
+ 221,
+ 104,
+ 163,
+ 232,
+ 204,
+ 121,
+ 173,
+ 43,
+ 247,
+ 109,
+ 12,
+ 235,
+ 51,
+ 213,
+ 141,
+ 219,
+ 99,
+ 120,
+ 180,
+ 86,
+ 129,
+ 206,
+ 170,
+ 15,
+ 47
+ ],
+ "plaintext": [
+ 205,
+ 89,
+ 187,
+ 48,
+ 123,
+ 231,
+ 111,
+ 17,
+ 48,
+ 79,
+ 105,
+ 172,
+ 139,
+ 21,
+ 30,
+ 22,
+ 40,
+ 172,
+ 97,
+ 222,
+ 200,
+ 16,
+ 134,
+ 231,
+ 242,
+ 79,
+ 213,
+ 189,
+ 131,
+ 223,
+ 136,
+ 86
+ ],
+ "ciphertext": [
+ 188,
+ 98,
+ 206,
+ 11,
+ 35,
+ 207,
+ 74,
+ 168,
+ 225,
+ 107,
+ 68,
+ 80,
+ 200,
+ 171,
+ 140,
+ 98,
+ 154,
+ 83,
+ 148,
+ 159,
+ 1,
+ 230,
+ 139,
+ 135,
+ 94,
+ 204,
+ 92,
+ 69,
+ 255,
+ 109,
+ 58,
+ 176
+ ],
+ "tag": [
+ 95,
+ 254,
+ 218,
+ 114,
+ 137,
+ 20,
+ 3,
+ 16,
+ 6,
+ 242,
+ 113,
+ 195,
+ 217,
+ 152,
+ 111,
+ 45
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 50,
+ 150,
+ 99,
+ 41,
+ 19,
+ 5,
+ 30,
+ 67,
+ 129,
+ 20,
+ 222,
+ 183,
+ 130,
+ 251,
+ 149,
+ 91,
+ 117,
+ 172,
+ 195,
+ 94,
+ 134,
+ 231,
+ 233,
+ 253,
+ 175,
+ 78,
+ 144,
+ 37,
+ 184,
+ 127,
+ 18
+ ],
+ "nonce": [
+ 173,
+ 80,
+ 219,
+ 64,
+ 248,
+ 15,
+ 21,
+ 33,
+ 78,
+ 67,
+ 255,
+ 215
+ ],
+ "aad": [
+ 166,
+ 249,
+ 111,
+ 90,
+ 137,
+ 191,
+ 216,
+ 200,
+ 243,
+ 76,
+ 208,
+ 112,
+ 69,
+ 39,
+ 13,
+ 128,
+ 229,
+ 142,
+ 166,
+ 47,
+ 31,
+ 11,
+ 16,
+ 242,
+ 80,
+ 106,
+ 149,
+ 79,
+ 39,
+ 42,
+ 240,
+ 188,
+ 113,
+ 223,
+ 150,
+ 173,
+ 63,
+ 168,
+ 238,
+ 213,
+ 44,
+ 69,
+ 224,
+ 184,
+ 104,
+ 9,
+ 29,
+ 196,
+ 247,
+ 93,
+ 158,
+ 14,
+ 175,
+ 21,
+ 160,
+ 168,
+ 88,
+ 167,
+ 27,
+ 247,
+ 3,
+ 108,
+ 86,
+ 7,
+ 17,
+ 12,
+ 191,
+ 228,
+ 122,
+ 217,
+ 182,
+ 208,
+ 46,
+ 148,
+ 47,
+ 207,
+ 174,
+ 136,
+ 212,
+ 199,
+ 146,
+ 161,
+ 248,
+ 36,
+ 230,
+ 14,
+ 60,
+ 249,
+ 138,
+ 55
+ ],
+ "plaintext": [
+ 183,
+ 17,
+ 22,
+ 204,
+ 39,
+ 181,
+ 165,
+ 132,
+ 77,
+ 155,
+ 81,
+ 164,
+ 167,
+ 32,
+ 203,
+ 63,
+ 6,
+ 213,
+ 93,
+ 106,
+ 174,
+ 174,
+ 175,
+ 146,
+ 18,
+ 54,
+ 66,
+ 77,
+ 184,
+ 97,
+ 114,
+ 4
+ ],
+ "ciphertext": [
+ 142,
+ 158,
+ 75,
+ 10,
+ 201,
+ 58,
+ 184,
+ 231,
+ 54,
+ 136,
+ 214,
+ 180,
+ 114,
+ 61,
+ 140,
+ 94,
+ 243,
+ 153,
+ 234,
+ 215,
+ 34,
+ 70,
+ 199,
+ 170,
+ 122,
+ 7,
+ 131,
+ 168,
+ 191,
+ 226,
+ 153,
+ 54
+ ],
+ "tag": [
+ 183,
+ 222,
+ 169,
+ 30,
+ 75,
+ 53,
+ 124,
+ 232,
+ 5,
+ 237,
+ 238,
+ 163,
+ 249,
+ 19,
+ 146,
+ 210
+ ]
+ },
+ {
+ "key": [
+ 64,
+ 54,
+ 160,
+ 123,
+ 221,
+ 78,
+ 16,
+ 235,
+ 84,
+ 95,
+ 61,
+ 145,
+ 36,
+ 201,
+ 247,
+ 102,
+ 210,
+ 208,
+ 200,
+ 197,
+ 159,
+ 192,
+ 213,
+ 131,
+ 90,
+ 197,
+ 93,
+ 207,
+ 174,
+ 191,
+ 195,
+ 161
+ ],
+ "nonce": [
+ 129,
+ 88,
+ 40,
+ 251,
+ 185,
+ 100,
+ 73,
+ 124,
+ 218,
+ 220,
+ 202,
+ 173
+ ],
+ "aad": [
+ 11,
+ 192,
+ 227,
+ 147,
+ 19,
+ 136,
+ 188,
+ 176,
+ 145,
+ 70,
+ 59,
+ 174,
+ 41,
+ 137,
+ 169,
+ 59,
+ 222,
+ 16,
+ 59,
+ 193,
+ 79,
+ 197,
+ 211,
+ 159,
+ 148,
+ 72,
+ 202,
+ 144,
+ 54,
+ 126,
+ 134,
+ 51,
+ 107,
+ 24,
+ 143,
+ 115,
+ 33,
+ 139,
+ 43,
+ 10,
+ 183,
+ 42,
+ 154,
+ 86,
+ 74,
+ 213,
+ 255,
+ 50,
+ 84,
+ 76,
+ 90,
+ 254,
+ 172,
+ 236,
+ 173,
+ 250,
+ 85,
+ 210,
+ 251,
+ 102,
+ 146,
+ 90,
+ 136,
+ 41,
+ 157,
+ 191,
+ 88,
+ 244,
+ 37,
+ 207,
+ 73,
+ 227,
+ 31,
+ 66,
+ 172,
+ 78,
+ 218,
+ 206,
+ 116,
+ 63,
+ 223,
+ 150,
+ 128,
+ 210,
+ 14,
+ 200,
+ 69,
+ 175,
+ 194,
+ 120
+ ],
+ "plaintext": [
+ 113,
+ 127,
+ 34,
+ 250,
+ 255,
+ 128,
+ 102,
+ 24,
+ 46,
+ 70,
+ 211,
+ 45,
+ 186,
+ 199,
+ 131,
+ 30,
+ 194,
+ 66,
+ 114,
+ 135,
+ 28,
+ 69,
+ 199,
+ 193,
+ 44,
+ 167,
+ 121,
+ 248,
+ 104,
+ 231,
+ 115,
+ 154
+ ],
+ "ciphertext": [
+ 232,
+ 195,
+ 176,
+ 52,
+ 41,
+ 100,
+ 199,
+ 167,
+ 31,
+ 8,
+ 77,
+ 68,
+ 186,
+ 47,
+ 147,
+ 116,
+ 43,
+ 204,
+ 217,
+ 130,
+ 27,
+ 48,
+ 8,
+ 125,
+ 17,
+ 181,
+ 59,
+ 190,
+ 139,
+ 8,
+ 88,
+ 8
+ ],
+ "tag": [
+ 134,
+ 221,
+ 217,
+ 196,
+ 105,
+ 132,
+ 156,
+ 182,
+ 177,
+ 0,
+ 195,
+ 57,
+ 202,
+ 98,
+ 113,
+ 125
+ ]
+ },
+ {
+ "key": [
+ 113,
+ 75,
+ 195,
+ 186,
+ 56,
+ 57,
+ 172,
+ 103,
+ 7,
+ 134,
+ 58,
+ 64,
+ 170,
+ 61,
+ 181,
+ 162,
+ 238,
+ 188,
+ 179,
+ 141,
+ 198,
+ 236,
+ 109,
+ 34,
+ 176,
+ 131,
+ 206,
+ 242,
+ 68,
+ 251,
+ 9,
+ 247
+ ],
+ "nonce": [
+ 44,
+ 254,
+ 28,
+ 81,
+ 216,
+ 148,
+ 229,
+ 239,
+ 47,
+ 90,
+ 44,
+ 60
+ ],
+ "aad": [
+ 132,
+ 227,
+ 212,
+ 106,
+ 242,
+ 236,
+ 183,
+ 23,
+ 163,
+ 144,
+ 36,
+ 214,
+ 43,
+ 188,
+ 36,
+ 209,
+ 25,
+ 245,
+ 175,
+ 245,
+ 117,
+ 105,
+ 223,
+ 239,
+ 148,
+ 231,
+ 219,
+ 113,
+ 173,
+ 90,
+ 255,
+ 134,
+ 74,
+ 186,
+ 205,
+ 197,
+ 248,
+ 85,
+ 78,
+ 24,
+ 237,
+ 81,
+ 41,
+ 207,
+ 179,
+ 54,
+ 109,
+ 52,
+ 156,
+ 82,
+ 179,
+ 209,
+ 161,
+ 17,
+ 184,
+ 103,
+ 232,
+ 119,
+ 33,
+ 64,
+ 116,
+ 158,
+ 127,
+ 51,
+ 226,
+ 230,
+ 66,
+ 89,
+ 150,
+ 132,
+ 134,
+ 227,
+ 47,
+ 4,
+ 125,
+ 33,
+ 18,
+ 13,
+ 167,
+ 60,
+ 119,
+ 117,
+ 124,
+ 69,
+ 149,
+ 204,
+ 172,
+ 27,
+ 87,
+ 19
+ ],
+ "plaintext": [
+ 12,
+ 196,
+ 161,
+ 139,
+ 191,
+ 234,
+ 135,
+ 222,
+ 10,
+ 195,
+ 68,
+ 108,
+ 119,
+ 123,
+ 227,
+ 140,
+ 168,
+ 67,
+ 209,
+ 111,
+ 147,
+ 190,
+ 44,
+ 18,
+ 199,
+ 144,
+ 253,
+ 164,
+ 222,
+ 148,
+ 201,
+ 191
+ ],
+ "ciphertext": [
+ 8,
+ 87,
+ 200,
+ 251,
+ 147,
+ 65,
+ 47,
+ 222,
+ 105,
+ 186,
+ 210,
+ 135,
+ 180,
+ 61,
+ 238,
+ 163,
+ 101,
+ 6,
+ 215,
+ 238,
+ 6,
+ 29,
+ 104,
+ 68,
+ 208,
+ 10,
+ 126,
+ 119,
+ 65,
+ 143,
+ 112,
+ 47
+ ],
+ "tag": [
+ 36,
+ 169,
+ 229,
+ 41,
+ 9,
+ 87,
+ 7,
+ 72,
+ 7,
+ 213,
+ 90,
+ 215,
+ 5,
+ 173,
+ 170,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 47,
+ 147,
+ 181,
+ 163,
+ 123,
+ 225,
+ 164,
+ 56,
+ 83,
+ 191,
+ 31,
+ 213,
+ 120,
+ 6,
+ 29,
+ 7,
+ 68,
+ 230,
+ 189,
+ 137,
+ 51,
+ 124,
+ 222,
+ 32,
+ 23,
+ 125,
+ 30,
+ 149,
+ 162,
+ 182,
+ 66,
+ 196
+ ],
+ "nonce": [
+ 82,
+ 182,
+ 217,
+ 21,
+ 87,
+ 174,
+ 21,
+ 170,
+ 121,
+ 44,
+ 228,
+ 183
+ ],
+ "aad": [
+ 153,
+ 43,
+ 169,
+ 239,
+ 162,
+ 135,
+ 165,
+ 195,
+ 229,
+ 23,
+ 123,
+ 212,
+ 147,
+ 26,
+ 244,
+ 152,
+ 152,
+ 42,
+ 23,
+ 40,
+ 181,
+ 107,
+ 61,
+ 124,
+ 75,
+ 40,
+ 71,
+ 105,
+ 5,
+ 226,
+ 159,
+ 131,
+ 50,
+ 108,
+ 79,
+ 50,
+ 35,
+ 162,
+ 136,
+ 68,
+ 252,
+ 155,
+ 157,
+ 132,
+ 212,
+ 246,
+ 205,
+ 133,
+ 144,
+ 116,
+ 175,
+ 246,
+ 71,
+ 163,
+ 93,
+ 222,
+ 40,
+ 225,
+ 238,
+ 136,
+ 159,
+ 170,
+ 179,
+ 187,
+ 156,
+ 9,
+ 164,
+ 195,
+ 251,
+ 242,
+ 161,
+ 100,
+ 96,
+ 212,
+ 138,
+ 64,
+ 220,
+ 83,
+ 55,
+ 141,
+ 70,
+ 115,
+ 244,
+ 50,
+ 94,
+ 106,
+ 163,
+ 153,
+ 42,
+ 113
+ ],
+ "plaintext": [
+ 15,
+ 202,
+ 163,
+ 22,
+ 161,
+ 53,
+ 216,
+ 16,
+ 82,
+ 80,
+ 157,
+ 216,
+ 95,
+ 104,
+ 138,
+ 237,
+ 46,
+ 95,
+ 212,
+ 38,
+ 30,
+ 23,
+ 79,
+ 67,
+ 92,
+ 241,
+ 196,
+ 17,
+ 90,
+ 166,
+ 243,
+ 84
+ ],
+ "ciphertext": [
+ 249,
+ 151,
+ 116,
+ 206,
+ 243,
+ 193,
+ 90,
+ 243,
+ 60,
+ 218,
+ 60,
+ 180,
+ 73,
+ 205,
+ 51,
+ 95,
+ 254,
+ 79,
+ 39,
+ 67,
+ 94,
+ 223,
+ 131,
+ 175,
+ 244,
+ 164,
+ 244,
+ 194,
+ 210,
+ 223,
+ 102,
+ 71
+ ],
+ "tag": [
+ 197,
+ 224,
+ 155,
+ 131,
+ 177,
+ 194,
+ 204,
+ 129,
+ 228,
+ 138,
+ 31,
+ 124,
+ 98,
+ 183,
+ 187,
+ 53
+ ]
+ },
+ {
+ "key": [
+ 83,
+ 28,
+ 168,
+ 69,
+ 175,
+ 123,
+ 247,
+ 49,
+ 196,
+ 156,
+ 49,
+ 54,
+ 64,
+ 115,
+ 34,
+ 177,
+ 192,
+ 246,
+ 179,
+ 43,
+ 142,
+ 174,
+ 191,
+ 3,
+ 116,
+ 75,
+ 46,
+ 220,
+ 18,
+ 2,
+ 208,
+ 150
+ ],
+ "nonce": [
+ 186,
+ 241,
+ 59,
+ 133,
+ 32,
+ 43,
+ 191,
+ 200,
+ 153,
+ 252,
+ 115,
+ 247
+ ],
+ "aad": [
+ 226,
+ 186,
+ 156,
+ 245,
+ 72,
+ 180,
+ 246,
+ 251,
+ 32,
+ 111,
+ 34,
+ 66,
+ 80,
+ 216,
+ 90,
+ 243,
+ 39,
+ 253,
+ 232,
+ 208,
+ 137,
+ 22,
+ 104,
+ 106,
+ 231,
+ 112,
+ 32,
+ 61,
+ 194,
+ 156,
+ 105,
+ 79,
+ 137,
+ 2,
+ 176,
+ 34,
+ 34,
+ 253,
+ 40,
+ 127,
+ 40,
+ 206,
+ 96,
+ 145,
+ 0,
+ 99,
+ 104,
+ 195,
+ 148,
+ 155,
+ 234,
+ 41,
+ 55,
+ 255,
+ 11,
+ 222,
+ 219,
+ 125,
+ 187,
+ 208,
+ 19,
+ 204,
+ 240,
+ 161,
+ 94,
+ 224,
+ 175,
+ 140,
+ 86,
+ 254,
+ 33,
+ 27,
+ 124,
+ 49,
+ 30,
+ 24,
+ 47,
+ 39,
+ 112,
+ 127,
+ 89,
+ 224,
+ 148,
+ 146,
+ 179,
+ 96,
+ 78,
+ 128,
+ 198,
+ 197
+ ],
+ "plaintext": [
+ 212,
+ 233,
+ 120,
+ 63,
+ 83,
+ 124,
+ 115,
+ 130,
+ 0,
+ 231,
+ 186,
+ 117,
+ 38,
+ 96,
+ 95,
+ 53,
+ 154,
+ 152,
+ 201,
+ 241,
+ 12,
+ 175,
+ 170,
+ 47,
+ 67,
+ 60,
+ 64,
+ 243,
+ 229,
+ 8,
+ 26,
+ 54
+ ],
+ "ciphertext": [
+ 100,
+ 47,
+ 84,
+ 73,
+ 41,
+ 32,
+ 33,
+ 40,
+ 167,
+ 131,
+ 185,
+ 133,
+ 211,
+ 111,
+ 96,
+ 150,
+ 76,
+ 125,
+ 120,
+ 225,
+ 212,
+ 31,
+ 93,
+ 27,
+ 254,
+ 39,
+ 222,
+ 58,
+ 224,
+ 24,
+ 13,
+ 243
+ ],
+ "tag": [
+ 227,
+ 51,
+ 82,
+ 140,
+ 89,
+ 238,
+ 25,
+ 9,
+ 117,
+ 14,
+ 215,
+ 47,
+ 209,
+ 48,
+ 158,
+ 225
+ ]
+ },
+ {
+ "key": [
+ 58,
+ 221,
+ 23,
+ 86,
+ 141,
+ 170,
+ 157,
+ 68,
+ 26,
+ 167,
+ 168,
+ 155,
+ 248,
+ 143,
+ 164,
+ 230,
+ 153,
+ 138,
+ 146,
+ 29,
+ 87,
+ 228,
+ 148,
+ 162,
+ 84,
+ 8,
+ 4,
+ 69,
+ 188,
+ 155,
+ 111,
+ 53
+ ],
+ "nonce": [
+ 178,
+ 144,
+ 244,
+ 165,
+ 36,
+ 150,
+ 56,
+ 2,
+ 24,
+ 195,
+ 220,
+ 245
+ ],
+ "aad": [
+ 11,
+ 201,
+ 204,
+ 19,
+ 235,
+ 40,
+ 144,
+ 170,
+ 96,
+ 81,
+ 92,
+ 34,
+ 151,
+ 169,
+ 159,
+ 9,
+ 47,
+ 110,
+ 81,
+ 98,
+ 54,
+ 192,
+ 222,
+ 201,
+ 249,
+ 134,
+ 234,
+ 152,
+ 184,
+ 161,
+ 128,
+ 104,
+ 15,
+ 44,
+ 108,
+ 32,
+ 189,
+ 67,
+ 84,
+ 195,
+ 52,
+ 51,
+ 164,
+ 198,
+ 246,
+ 162,
+ 94,
+ 99,
+ 47,
+ 144,
+ 235,
+ 239,
+ 58,
+ 56,
+ 60,
+ 53,
+ 146,
+ 38,
+ 139,
+ 72,
+ 62,
+ 235,
+ 245,
+ 245,
+ 219,
+ 0,
+ 105,
+ 41,
+ 231,
+ 152,
+ 126,
+ 219,
+ 202,
+ 196,
+ 117,
+ 93,
+ 58,
+ 253,
+ 28,
+ 223,
+ 155,
+ 2,
+ 149,
+ 78,
+ 189,
+ 79,
+ 239,
+ 83,
+ 213,
+ 246
+ ],
+ "plaintext": [
+ 44,
+ 105,
+ 8,
+ 203,
+ 52,
+ 33,
+ 95,
+ 137,
+ 163,
+ 243,
+ 163,
+ 200,
+ 146,
+ 232,
+ 136,
+ 127,
+ 46,
+ 250,
+ 73,
+ 106,
+ 21,
+ 171,
+ 145,
+ 63,
+ 199,
+ 211,
+ 76,
+ 199,
+ 12,
+ 13,
+ 255,
+ 121
+ ],
+ "ciphertext": [
+ 44,
+ 243,
+ 190,
+ 174,
+ 148,
+ 253,
+ 94,
+ 106,
+ 65,
+ 38,
+ 168,
+ 236,
+ 138,
+ 113,
+ 102,
+ 176,
+ 170,
+ 203,
+ 139,
+ 139,
+ 188,
+ 228,
+ 93,
+ 97,
+ 6,
+ 183,
+ 141,
+ 52,
+ 86,
+ 208,
+ 81,
+ 73
+ ],
+ "tag": [
+ 206,
+ 21,
+ 9,
+ 177,
+ 189,
+ 92,
+ 71,
+ 165,
+ 147,
+ 112,
+ 38,
+ 24,
+ 176,
+ 215,
+ 159,
+ 108
+ ]
+ },
+ {
+ "key": [
+ 28,
+ 29,
+ 207,
+ 212,
+ 196,
+ 204,
+ 75,
+ 235,
+ 113,
+ 214,
+ 227,
+ 104,
+ 247,
+ 57,
+ 216,
+ 230,
+ 129,
+ 223,
+ 228,
+ 143,
+ 186,
+ 227,
+ 151,
+ 40,
+ 56,
+ 108,
+ 157,
+ 252,
+ 8,
+ 130,
+ 87,
+ 67
+ ],
+ "nonce": [
+ 13,
+ 236,
+ 235,
+ 105,
+ 206,
+ 13,
+ 199,
+ 118,
+ 163,
+ 167,
+ 27,
+ 76
+ ],
+ "aad": [
+ 163,
+ 175,
+ 45,
+ 182,
+ 114,
+ 41,
+ 36,
+ 49,
+ 250,
+ 142,
+ 225,
+ 250,
+ 91,
+ 25,
+ 117,
+ 147,
+ 177,
+ 62,
+ 88,
+ 166,
+ 140,
+ 65,
+ 41,
+ 64,
+ 29,
+ 9,
+ 66,
+ 71,
+ 77,
+ 95,
+ 76,
+ 190,
+ 98,
+ 9,
+ 58,
+ 170,
+ 84,
+ 83,
+ 246,
+ 211,
+ 85,
+ 210,
+ 244,
+ 182,
+ 220,
+ 138,
+ 189,
+ 229,
+ 140,
+ 232,
+ 99,
+ 209,
+ 190,
+ 95,
+ 158,
+ 207,
+ 57,
+ 115,
+ 10,
+ 73,
+ 86,
+ 91,
+ 59,
+ 104,
+ 130,
+ 160,
+ 166,
+ 65,
+ 192,
+ 181,
+ 209,
+ 86,
+ 164,
+ 16,
+ 115,
+ 9,
+ 221,
+ 21,
+ 15,
+ 209,
+ 241,
+ 99,
+ 78,
+ 164,
+ 229,
+ 16,
+ 11,
+ 61,
+ 79,
+ 136
+ ],
+ "plaintext": [
+ 177,
+ 39,
+ 0,
+ 37,
+ 138,
+ 206,
+ 123,
+ 22,
+ 228,
+ 15,
+ 78,
+ 134,
+ 136,
+ 104,
+ 146,
+ 131,
+ 113,
+ 104,
+ 178,
+ 86,
+ 161,
+ 112,
+ 147,
+ 122,
+ 59,
+ 137,
+ 6,
+ 58,
+ 154,
+ 13,
+ 104,
+ 247
+ ],
+ "ciphertext": [
+ 62,
+ 167,
+ 241,
+ 192,
+ 214,
+ 19,
+ 50,
+ 62,
+ 9,
+ 85,
+ 88,
+ 221,
+ 222,
+ 83,
+ 36,
+ 116,
+ 32,
+ 250,
+ 14,
+ 239,
+ 23,
+ 153,
+ 122,
+ 30,
+ 156,
+ 91,
+ 169,
+ 61,
+ 95,
+ 36,
+ 196,
+ 111
+ ],
+ "tag": [
+ 112,
+ 83,
+ 74,
+ 135,
+ 194,
+ 88,
+ 144,
+ 93,
+ 53,
+ 128,
+ 111,
+ 68,
+ 57,
+ 246,
+ 144,
+ 110
+ ]
+ },
+ {
+ "key": [
+ 242,
+ 114,
+ 65,
+ 83,
+ 170,
+ 201,
+ 213,
+ 15,
+ 53,
+ 8,
+ 120,
+ 211,
+ 196,
+ 152,
+ 188,
+ 61,
+ 215,
+ 130,
+ 217,
+ 12,
+ 206,
+ 92,
+ 206,
+ 74,
+ 225,
+ 65,
+ 38,
+ 192,
+ 225,
+ 251,
+ 179,
+ 207
+ ],
+ "nonce": [
+ 28,
+ 7,
+ 182,
+ 28,
+ 83,
+ 22,
+ 101,
+ 155,
+ 173,
+ 101,
+ 204,
+ 169
+ ],
+ "aad": [
+ 230,
+ 157,
+ 183,
+ 252,
+ 211,
+ 181,
+ 144,
+ 166,
+ 211,
+ 32,
+ 82,
+ 97,
+ 32,
+ 52,
+ 3,
+ 109,
+ 92,
+ 139,
+ 255,
+ 165,
+ 229,
+ 233,
+ 183,
+ 66,
+ 255,
+ 231,
+ 90,
+ 159,
+ 187,
+ 168,
+ 157,
+ 213,
+ 118,
+ 222,
+ 192,
+ 129,
+ 84,
+ 207,
+ 78,
+ 109,
+ 54,
+ 240,
+ 253,
+ 212,
+ 65,
+ 155,
+ 223,
+ 80,
+ 173,
+ 193,
+ 151,
+ 74,
+ 128,
+ 234,
+ 49,
+ 52,
+ 33,
+ 201,
+ 38,
+ 223,
+ 250,
+ 135,
+ 86,
+ 91,
+ 75,
+ 208,
+ 193,
+ 232,
+ 79,
+ 47,
+ 243,
+ 5,
+ 175,
+ 145,
+ 135,
+ 127,
+ 131,
+ 15,
+ 20,
+ 91,
+ 177,
+ 61,
+ 250,
+ 126,
+ 250,
+ 94,
+ 58,
+ 166,
+ 130,
+ 230
+ ],
+ "plaintext": [
+ 6,
+ 124,
+ 203,
+ 208,
+ 32,
+ 111,
+ 31,
+ 5,
+ 210,
+ 135,
+ 34,
+ 16,
+ 220,
+ 87,
+ 23,
+ 160,
+ 88,
+ 94,
+ 129,
+ 149,
+ 215,
+ 42,
+ 253,
+ 12,
+ 119,
+ 218,
+ 17,
+ 185,
+ 179,
+ 113,
+ 14,
+ 68
+ ],
+ "ciphertext": [
+ 154,
+ 186,
+ 67,
+ 62,
+ 239,
+ 56,
+ 52,
+ 102,
+ 161,
+ 41,
+ 27,
+ 212,
+ 134,
+ 195,
+ 206,
+ 94,
+ 14,
+ 209,
+ 38,
+ 1,
+ 14,
+ 10,
+ 119,
+ 191,
+ 3,
+ 124,
+ 94,
+ 174,
+ 210,
+ 199,
+ 36,
+ 96
+ ],
+ "tag": [
+ 243,
+ 10,
+ 21,
+ 94,
+ 53,
+ 64,
+ 11,
+ 176,
+ 84,
+ 8,
+ 131,
+ 232,
+ 224,
+ 155,
+ 74,
+ 253
+ ]
+ },
+ {
+ "key": [
+ 162,
+ 84,
+ 78,
+ 178,
+ 4,
+ 124,
+ 151,
+ 207,
+ 202,
+ 240,
+ 236,
+ 20,
+ 39,
+ 197,
+ 223,
+ 57,
+ 84,
+ 114,
+ 40,
+ 82,
+ 51,
+ 169,
+ 63,
+ 252,
+ 205,
+ 168,
+ 254,
+ 230,
+ 96,
+ 172,
+ 237,
+ 86
+ ],
+ "nonce": [
+ 167,
+ 81,
+ 190,
+ 163,
+ 199,
+ 105,
+ 187,
+ 93,
+ 178,
+ 90,
+ 177,
+ 9
+ ],
+ "aad": [
+ 235,
+ 158,
+ 9,
+ 136,
+ 77,
+ 225,
+ 69,
+ 77,
+ 106,
+ 235,
+ 13,
+ 108,
+ 130,
+ 55,
+ 95,
+ 36,
+ 40,
+ 153,
+ 32,
+ 49,
+ 234,
+ 108,
+ 171,
+ 246,
+ 162,
+ 154,
+ 166,
+ 164,
+ 222,
+ 73,
+ 163,
+ 83,
+ 228,
+ 255,
+ 174,
+ 4,
+ 61,
+ 173,
+ 24,
+ 174,
+ 101,
+ 27,
+ 32,
+ 183,
+ 188,
+ 161,
+ 63,
+ 92,
+ 50,
+ 124,
+ 169,
+ 241,
+ 50,
+ 1,
+ 75,
+ 250,
+ 134,
+ 231,
+ 22,
+ 212,
+ 114,
+ 78,
+ 5,
+ 161,
+ 239,
+ 103,
+ 85,
+ 33,
+ 166,
+ 96,
+ 122,
+ 83,
+ 103,
+ 86,
+ 230,
+ 168,
+ 193,
+ 107,
+ 184,
+ 133,
+ 182,
+ 72,
+ 21,
+ 241,
+ 235,
+ 94,
+ 194,
+ 130,
+ 206,
+ 142
+ ],
+ "plaintext": [
+ 185,
+ 81,
+ 76,
+ 192,
+ 26,
+ 53,
+ 118,
+ 5,
+ 145,
+ 143,
+ 156,
+ 193,
+ 145,
+ 35,
+ 220,
+ 200,
+ 219,
+ 50,
+ 140,
+ 96,
+ 92,
+ 160,
+ 235,
+ 157,
+ 105,
+ 216,
+ 113,
+ 175,
+ 238,
+ 161,
+ 220,
+ 251
+ ],
+ "ciphertext": [
+ 203,
+ 68,
+ 43,
+ 23,
+ 8,
+ 143,
+ 106,
+ 197,
+ 242,
+ 76,
+ 122,
+ 4,
+ 240,
+ 5,
+ 5,
+ 89,
+ 56,
+ 111,
+ 58,
+ 87,
+ 19,
+ 27,
+ 146,
+ 165,
+ 65,
+ 66,
+ 199,
+ 165,
+ 86,
+ 253,
+ 185,
+ 53
+ ],
+ "tag": [
+ 95,
+ 128,
+ 197,
+ 192,
+ 205,
+ 240,
+ 199,
+ 137,
+ 11,
+ 253,
+ 31,
+ 189,
+ 88,
+ 195,
+ 48,
+ 129
+ ]
+ },
+ {
+ "key": [
+ 206,
+ 176,
+ 87,
+ 120,
+ 46,
+ 251,
+ 30,
+ 133,
+ 216,
+ 5,
+ 68,
+ 138,
+ 249,
+ 70,
+ 169,
+ 180,
+ 212,
+ 18,
+ 139,
+ 240,
+ 154,
+ 18,
+ 71,
+ 60,
+ 206,
+ 30,
+ 142,
+ 248,
+ 191,
+ 210,
+ 134,
+ 157
+ ],
+ "nonce": [
+ 64,
+ 111,
+ 151,
+ 48,
+ 233,
+ 177,
+ 228,
+ 33,
+ 228,
+ 40,
+ 67,
+ 155
+ ],
+ "aad": [
+ 7,
+ 114,
+ 174,
+ 0,
+ 225,
+ 202,
+ 5,
+ 208,
+ 150,
+ 207,
+ 83,
+ 63,
+ 211,
+ 222,
+ 40,
+ 24,
+ 172,
+ 120,
+ 62,
+ 223,
+ 202,
+ 14,
+ 238,
+ 118,
+ 134,
+ 166,
+ 41,
+ 15,
+ 51,
+ 87,
+ 72,
+ 30,
+ 136,
+ 63,
+ 178,
+ 248,
+ 149,
+ 185,
+ 164,
+ 244,
+ 0,
+ 76,
+ 86,
+ 184,
+ 161,
+ 38,
+ 82,
+ 66,
+ 207,
+ 223,
+ 31,
+ 180,
+ 175,
+ 126,
+ 220,
+ 65,
+ 237,
+ 120,
+ 197,
+ 244,
+ 255,
+ 233,
+ 196,
+ 8,
+ 13,
+ 74,
+ 23,
+ 49,
+ 143,
+ 156,
+ 86,
+ 236,
+ 219,
+ 58,
+ 6,
+ 243,
+ 199,
+ 72,
+ 83,
+ 83,
+ 135,
+ 213,
+ 106,
+ 9,
+ 105,
+ 67,
+ 167,
+ 109,
+ 70,
+ 246
+ ],
+ "plaintext": [
+ 8,
+ 21,
+ 114,
+ 61,
+ 83,
+ 103,
+ 177,
+ 50,
+ 140,
+ 172,
+ 99,
+ 47,
+ 162,
+ 110,
+ 35,
+ 242,
+ 184,
+ 20,
+ 161,
+ 213,
+ 154,
+ 41,
+ 113,
+ 217,
+ 77,
+ 2,
+ 235,
+ 215,
+ 236,
+ 245,
+ 193,
+ 74
+ ],
+ "ciphertext": [
+ 157,
+ 130,
+ 53,
+ 93,
+ 142,
+ 70,
+ 8,
+ 150,
+ 32,
+ 27,
+ 225,
+ 95,
+ 217,
+ 95,
+ 237,
+ 72,
+ 168,
+ 82,
+ 70,
+ 102,
+ 217,
+ 135,
+ 171,
+ 7,
+ 133,
+ 80,
+ 136,
+ 48,
+ 52,
+ 208,
+ 37,
+ 60
+ ],
+ "tag": [
+ 160,
+ 190,
+ 232,
+ 172,
+ 14,
+ 99,
+ 109,
+ 100,
+ 211,
+ 177,
+ 235,
+ 51,
+ 253,
+ 111,
+ 33,
+ 212
+ ]
+ },
+ {
+ "key": [
+ 125,
+ 189,
+ 189,
+ 254,
+ 54,
+ 212,
+ 147,
+ 105,
+ 64,
+ 173,
+ 109,
+ 111,
+ 118,
+ 198,
+ 124,
+ 40,
+ 81,
+ 160,
+ 71,
+ 127,
+ 10,
+ 167,
+ 214,
+ 121,
+ 123,
+ 253,
+ 242,
+ 183,
+ 135,
+ 142,
+ 247,
+ 224
+ ],
+ "nonce": [
+ 188,
+ 103,
+ 43,
+ 34,
+ 75,
+ 75,
+ 107,
+ 145,
+ 252,
+ 63,
+ 214,
+ 151
+ ],
+ "aad": [
+ 250,
+ 172,
+ 184,
+ 78,
+ 199,
+ 207,
+ 173,
+ 215,
+ 49,
+ 222,
+ 47,
+ 124,
+ 8,
+ 146,
+ 215,
+ 227,
+ 140,
+ 191,
+ 183,
+ 130,
+ 180,
+ 132,
+ 18,
+ 51,
+ 26,
+ 240,
+ 179,
+ 234,
+ 182,
+ 2,
+ 167,
+ 34,
+ 202,
+ 209,
+ 6,
+ 157,
+ 234,
+ 0,
+ 82,
+ 190,
+ 181,
+ 202,
+ 112,
+ 226,
+ 238,
+ 71,
+ 108,
+ 52,
+ 12,
+ 97,
+ 147,
+ 188,
+ 198,
+ 15,
+ 147,
+ 154,
+ 171,
+ 228,
+ 70,
+ 191,
+ 60,
+ 233,
+ 88,
+ 254,
+ 17,
+ 162,
+ 255,
+ 201,
+ 2,
+ 65,
+ 240,
+ 167,
+ 228,
+ 226,
+ 116,
+ 240,
+ 193,
+ 68,
+ 29,
+ 239,
+ 121,
+ 88,
+ 147,
+ 137,
+ 91,
+ 216,
+ 72,
+ 191,
+ 15,
+ 14
+ ],
+ "plaintext": [
+ 223,
+ 234,
+ 70,
+ 61,
+ 53,
+ 240,
+ 250,
+ 32,
+ 72,
+ 123,
+ 96,
+ 109,
+ 108,
+ 207,
+ 212,
+ 34,
+ 165,
+ 183,
+ 7,
+ 241,
+ 101,
+ 39,
+ 180,
+ 34,
+ 191,
+ 29,
+ 104,
+ 167,
+ 125,
+ 182,
+ 126,
+ 156
+ ],
+ "ciphertext": [
+ 13,
+ 220,
+ 34,
+ 129,
+ 177,
+ 252,
+ 185,
+ 4,
+ 134,
+ 74,
+ 67,
+ 101,
+ 123,
+ 199,
+ 35,
+ 87,
+ 207,
+ 115,
+ 252,
+ 31,
+ 22,
+ 82,
+ 12,
+ 170,
+ 215,
+ 205,
+ 221,
+ 225,
+ 15,
+ 132,
+ 107,
+ 217
+ ],
+ "tag": [
+ 157,
+ 150,
+ 105,
+ 148,
+ 80,
+ 170,
+ 151,
+ 7,
+ 105,
+ 94,
+ 93,
+ 229,
+ 101,
+ 151,
+ 16,
+ 27
+ ]
+ },
+ {
+ "key": [
+ 24,
+ 114,
+ 20,
+ 223,
+ 110,
+ 45,
+ 128,
+ 238,
+ 142,
+ 154,
+ 174,
+ 31,
+ 197,
+ 105,
+ 172,
+ 212,
+ 21,
+ 137,
+ 233,
+ 82,
+ 221,
+ 203,
+ 232,
+ 218,
+ 1,
+ 133,
+ 80,
+ 209,
+ 3,
+ 118,
+ 113,
+ 34
+ ],
+ "nonce": [
+ 86,
+ 219,
+ 51,
+ 68,
+ 34,
+ 182,
+ 197,
+ 233,
+ 52,
+ 96,
+ 208,
+ 19
+ ],
+ "aad": [
+ 203,
+ 237,
+ 183,
+ 204,
+ 251,
+ 245,
+ 109,
+ 253,
+ 114,
+ 229,
+ 48,
+ 191,
+ 225,
+ 107,
+ 79,
+ 90,
+ 172,
+ 72,
+ 169,
+ 2,
+ 4,
+ 188,
+ 183,
+ 168,
+ 202,
+ 225,
+ 4,
+ 96,
+ 16,
+ 136,
+ 44,
+ 252,
+ 139,
+ 82,
+ 110,
+ 117,
+ 98,
+ 167,
+ 136,
+ 9,
+ 20,
+ 230,
+ 27,
+ 96,
+ 203,
+ 214,
+ 5,
+ 22,
+ 82,
+ 66,
+ 115,
+ 125,
+ 133,
+ 238,
+ 237,
+ 88,
+ 60,
+ 152,
+ 202,
+ 179,
+ 68,
+ 56,
+ 116,
+ 229,
+ 152,
+ 158,
+ 201,
+ 205,
+ 224,
+ 1,
+ 173,
+ 247,
+ 222,
+ 156,
+ 153,
+ 103,
+ 222,
+ 81,
+ 120,
+ 247,
+ 91,
+ 132,
+ 18,
+ 176,
+ 196,
+ 214,
+ 254,
+ 197,
+ 175,
+ 114
+ ],
+ "plaintext": [
+ 83,
+ 53,
+ 82,
+ 131,
+ 24,
+ 103,
+ 25,
+ 169,
+ 20,
+ 108,
+ 115,
+ 5,
+ 227,
+ 209,
+ 149,
+ 154,
+ 17,
+ 204,
+ 241,
+ 151,
+ 87,
+ 11,
+ 133,
+ 90,
+ 67,
+ 203,
+ 199,
+ 86,
+ 58,
+ 5,
+ 60,
+ 115
+ ],
+ "ciphertext": [
+ 194,
+ 38,
+ 37,
+ 133,
+ 150,
+ 107,
+ 201,
+ 194,
+ 61,
+ 199,
+ 204,
+ 16,
+ 89,
+ 208,
+ 96,
+ 33,
+ 30,
+ 134,
+ 243,
+ 179,
+ 22,
+ 29,
+ 56,
+ 177,
+ 83,
+ 99,
+ 95,
+ 190,
+ 164,
+ 162,
+ 140,
+ 5
+ ],
+ "tag": [
+ 169,
+ 66,
+ 151,
+ 197,
+ 132,
+ 223,
+ 205,
+ 16,
+ 238,
+ 93,
+ 241,
+ 154,
+ 46,
+ 229,
+ 195,
+ 210
+ ]
+ },
+ {
+ "key": [
+ 31,
+ 222,
+ 211,
+ 45,
+ 89,
+ 153,
+ 222,
+ 74,
+ 118,
+ 224,
+ 248,
+ 8,
+ 33,
+ 8,
+ 130,
+ 58,
+ 239,
+ 96,
+ 65,
+ 126,
+ 24,
+ 150,
+ 207,
+ 66,
+ 24,
+ 162,
+ 250,
+ 144,
+ 246,
+ 50,
+ 236,
+ 138
+ ],
+ "nonce": [
+ 31,
+ 58,
+ 250,
+ 71,
+ 17,
+ 233,
+ 71,
+ 79,
+ 50,
+ 231,
+ 4,
+ 98
+ ],
+ "aad": [],
+ "plaintext": [
+ 6,
+ 178,
+ 199,
+ 88,
+ 83,
+ 223,
+ 154,
+ 235,
+ 23,
+ 190,
+ 253,
+ 51,
+ 206,
+ 168,
+ 28,
+ 99,
+ 11,
+ 15,
+ 197,
+ 54,
+ 103,
+ 255,
+ 69,
+ 25,
+ 156,
+ 98,
+ 156,
+ 142,
+ 21,
+ 220,
+ 228,
+ 30,
+ 83,
+ 10,
+ 167,
+ 146,
+ 247,
+ 150,
+ 184,
+ 19,
+ 142,
+ 234,
+ 178,
+ 232,
+ 108,
+ 123,
+ 123,
+ 238,
+ 29,
+ 64,
+ 176
+ ],
+ "ciphertext": [
+ 145,
+ 251,
+ 208,
+ 97,
+ 221,
+ 197,
+ 167,
+ 252,
+ 201,
+ 81,
+ 63,
+ 205,
+ 253,
+ 201,
+ 195,
+ 167,
+ 197,
+ 212,
+ 214,
+ 76,
+ 237,
+ 246,
+ 169,
+ 194,
+ 74,
+ 184,
+ 167,
+ 124,
+ 54,
+ 238,
+ 251,
+ 241,
+ 197,
+ 220,
+ 0,
+ 188,
+ 80,
+ 18,
+ 27,
+ 150,
+ 69,
+ 108,
+ 140,
+ 216,
+ 182,
+ 255,
+ 31,
+ 139,
+ 62,
+ 72,
+ 15
+ ],
+ "tag": [
+ 48,
+ 9,
+ 109,
+ 52,
+ 15,
+ 61,
+ 92,
+ 66,
+ 216,
+ 42,
+ 111,
+ 71,
+ 93,
+ 239,
+ 35,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 180,
+ 5,
+ 172,
+ 137,
+ 114,
+ 79,
+ 139,
+ 85,
+ 91,
+ 254,
+ 225,
+ 234,
+ 163,
+ 105,
+ 205,
+ 133,
+ 64,
+ 3,
+ 233,
+ 250,
+ 228,
+ 21,
+ 242,
+ 140,
+ 90,
+ 25,
+ 157,
+ 77,
+ 110,
+ 252,
+ 131,
+ 214
+ ],
+ "nonce": [
+ 206,
+ 199,
+ 26,
+ 19,
+ 177,
+ 76,
+ 77,
+ 155,
+ 208,
+ 36,
+ 239,
+ 41
+ ],
+ "aad": [],
+ "plaintext": [
+ 171,
+ 79,
+ 211,
+ 91,
+ 239,
+ 102,
+ 173,
+ 223,
+ 210,
+ 133,
+ 107,
+ 56,
+ 129,
+ 255,
+ 44,
+ 116,
+ 253,
+ 192,
+ 156,
+ 130,
+ 171,
+ 227,
+ 57,
+ 244,
+ 151,
+ 54,
+ 214,
+ 155,
+ 43,
+ 208,
+ 167,
+ 26,
+ 107,
+ 79,
+ 232,
+ 252,
+ 83,
+ 245,
+ 15,
+ 139,
+ 125,
+ 109,
+ 109,
+ 97,
+ 56,
+ 171,
+ 68,
+ 44,
+ 127,
+ 101,
+ 63
+ ],
+ "ciphertext": [
+ 105,
+ 160,
+ 121,
+ 188,
+ 169,
+ 166,
+ 162,
+ 103,
+ 7,
+ 187,
+ 250,
+ 127,
+ 216,
+ 61,
+ 93,
+ 9,
+ 30,
+ 220,
+ 136,
+ 167,
+ 247,
+ 255,
+ 8,
+ 189,
+ 134,
+ 86,
+ 216,
+ 242,
+ 201,
+ 33,
+ 68,
+ 255,
+ 35,
+ 64,
+ 15,
+ 203,
+ 92,
+ 55,
+ 11,
+ 89,
+ 106,
+ 214,
+ 113,
+ 31,
+ 56,
+ 110,
+ 24,
+ 242,
+ 98,
+ 158,
+ 118
+ ],
+ "tag": [
+ 109,
+ 43,
+ 120,
+ 97,
+ 163,
+ 197,
+ 155,
+ 165,
+ 163,
+ 227,
+ 161,
+ 28,
+ 146,
+ 187,
+ 43,
+ 20
+ ]
+ },
+ {
+ "key": [
+ 250,
+ 212,
+ 12,
+ 130,
+ 38,
+ 77,
+ 201,
+ 184,
+ 217,
+ 164,
+ 44,
+ 16,
+ 162,
+ 52,
+ 19,
+ 131,
+ 68,
+ 176,
+ 19,
+ 58,
+ 112,
+ 141,
+ 136,
+ 153,
+ 218,
+ 147,
+ 75,
+ 254,
+ 226,
+ 189,
+ 214,
+ 184
+ ],
+ "nonce": [
+ 13,
+ 173,
+ 226,
+ 201,
+ 90,
+ 155,
+ 133,
+ 168,
+ 210,
+ 188,
+ 19,
+ 239
+ ],
+ "aad": [],
+ "plaintext": [
+ 102,
+ 78,
+ 169,
+ 93,
+ 81,
+ 27,
+ 44,
+ 253,
+ 185,
+ 229,
+ 251,
+ 135,
+ 239,
+ 221,
+ 65,
+ 203,
+ 251,
+ 136,
+ 243,
+ 255,
+ 71,
+ 167,
+ 210,
+ 184,
+ 131,
+ 9,
+ 103,
+ 227,
+ 144,
+ 113,
+ 168,
+ 155,
+ 148,
+ 135,
+ 84,
+ 255,
+ 176,
+ 237,
+ 52,
+ 195,
+ 87,
+ 237,
+ 109,
+ 75,
+ 75,
+ 47,
+ 138,
+ 118,
+ 97,
+ 92,
+ 3
+ ],
+ "ciphertext": [
+ 234,
+ 148,
+ 220,
+ 191,
+ 82,
+ 178,
+ 34,
+ 38,
+ 221,
+ 169,
+ 29,
+ 155,
+ 252,
+ 150,
+ 251,
+ 56,
+ 39,
+ 48,
+ 178,
+ 19,
+ 182,
+ 110,
+ 48,
+ 150,
+ 11,
+ 13,
+ 32,
+ 210,
+ 65,
+ 112,
+ 54,
+ 203,
+ 170,
+ 158,
+ 53,
+ 153,
+ 132,
+ 238,
+ 169,
+ 71,
+ 35,
+ 37,
+ 38,
+ 225,
+ 117,
+ 244,
+ 151,
+ 57,
+ 9,
+ 94,
+ 105
+ ],
+ "tag": [
+ 92,
+ 168,
+ 144,
+ 93,
+ 70,
+ 159,
+ 255,
+ 236,
+ 111,
+ 186,
+ 116,
+ 53,
+ 235,
+ 223,
+ 253,
+ 175
+ ]
+ },
+ {
+ "key": [
+ 170,
+ 95,
+ 202,
+ 104,
+ 140,
+ 200,
+ 50,
+ 131,
+ 236,
+ 243,
+ 148,
+ 84,
+ 103,
+ 153,
+ 72,
+ 244,
+ 211,
+ 10,
+ 168,
+ 203,
+ 67,
+ 219,
+ 124,
+ 196,
+ 218,
+ 78,
+ 255,
+ 22,
+ 105,
+ 214,
+ 197,
+ 47
+ ],
+ "nonce": [
+ 75,
+ 45,
+ 123,
+ 105,
+ 154,
+ 82,
+ 89,
+ 249,
+ 181,
+ 65,
+ 250,
+ 73
+ ],
+ "aad": [],
+ "plaintext": [
+ 198,
+ 145,
+ 243,
+ 184,
+ 243,
+ 145,
+ 126,
+ 251,
+ 118,
+ 130,
+ 81,
+ 8,
+ 192,
+ 227,
+ 125,
+ 195,
+ 62,
+ 122,
+ 131,
+ 66,
+ 118,
+ 76,
+ 230,
+ 138,
+ 98,
+ 162,
+ 220,
+ 26,
+ 92,
+ 148,
+ 5,
+ 148,
+ 150,
+ 31,
+ 205,
+ 92,
+ 13,
+ 240,
+ 83,
+ 148,
+ 165,
+ 192,
+ 255,
+ 246,
+ 108,
+ 37,
+ 76,
+ 107,
+ 38,
+ 165,
+ 73
+ ],
+ "ciphertext": [
+ 44,
+ 211,
+ 128,
+ 235,
+ 214,
+ 178,
+ 207,
+ 27,
+ 128,
+ 131,
+ 28,
+ 255,
+ 61,
+ 109,
+ 194,
+ 182,
+ 119,
+ 7,
+ 120,
+ 173,
+ 13,
+ 10,
+ 145,
+ 208,
+ 62,
+ 184,
+ 85,
+ 54,
+ 150,
+ 128,
+ 15,
+ 132,
+ 49,
+ 29,
+ 51,
+ 115,
+ 2,
+ 81,
+ 157,
+ 16,
+ 54,
+ 254,
+ 170,
+ 184,
+ 200,
+ 235,
+ 132,
+ 88,
+ 130,
+ 197,
+ 240
+ ],
+ "tag": [
+ 93,
+ 228,
+ 239,
+ 103,
+ 191,
+ 136,
+ 150,
+ 251,
+ 232,
+ 44,
+ 1,
+ 220,
+ 160,
+ 65,
+ 213,
+ 144
+ ]
+ },
+ {
+ "key": [
+ 28,
+ 118,
+ 144,
+ 213,
+ 216,
+ 69,
+ 252,
+ 234,
+ 187,
+ 162,
+ 39,
+ 177,
+ 28,
+ 162,
+ 33,
+ 244,
+ 214,
+ 211,
+ 2,
+ 35,
+ 54,
+ 65,
+ 1,
+ 109,
+ 156,
+ 211,
+ 161,
+ 88,
+ 195,
+ 227,
+ 96,
+ 23
+ ],
+ "nonce": [
+ 147,
+ 188,
+ 168,
+ 222,
+ 107,
+ 17,
+ 164,
+ 131,
+ 12,
+ 95,
+ 95,
+ 100
+ ],
+ "aad": [],
+ "plaintext": [
+ 60,
+ 121,
+ 163,
+ 152,
+ 120,
+ 166,
+ 5,
+ 243,
+ 172,
+ 99,
+ 162,
+ 86,
+ 246,
+ 140,
+ 138,
+ 102,
+ 54,
+ 156,
+ 195,
+ 205,
+ 122,
+ 246,
+ 128,
+ 209,
+ 150,
+ 146,
+ 180,
+ 133,
+ 167,
+ 186,
+ 88,
+ 206,
+ 29,
+ 83,
+ 103,
+ 7,
+ 197,
+ 94,
+ 218,
+ 91,
+ 37,
+ 108,
+ 139,
+ 41,
+ 187,
+ 240,
+ 180,
+ 203,
+ 235,
+ 79,
+ 196
+ ],
+ "ciphertext": [
+ 201,
+ 228,
+ 134,
+ 132,
+ 223,
+ 19,
+ 175,
+ 204,
+ 219,
+ 29,
+ 156,
+ 234,
+ 164,
+ 131,
+ 117,
+ 144,
+ 34,
+ 229,
+ 156,
+ 49,
+ 17,
+ 24,
+ 140,
+ 30,
+ 206,
+ 176,
+ 46,
+ 175,
+ 48,
+ 128,
+ 53,
+ 176,
+ 66,
+ 141,
+ 184,
+ 38,
+ 222,
+ 134,
+ 45,
+ 146,
+ 90,
+ 60,
+ 85,
+ 175,
+ 11,
+ 97,
+ 253,
+ 143,
+ 9,
+ 167,
+ 77
+ ],
+ "tag": [
+ 143,
+ 87,
+ 126,
+ 135,
+ 48,
+ 193,
+ 152,
+ 88,
+ 202,
+ 216,
+ 224,
+ 18,
+ 79,
+ 49,
+ 29,
+ 217
+ ]
+ },
+ {
+ "key": [
+ 219,
+ 219,
+ 81,
+ 50,
+ 241,
+ 38,
+ 230,
+ 44,
+ 229,
+ 183,
+ 75,
+ 248,
+ 90,
+ 42,
+ 195,
+ 59,
+ 39,
+ 101,
+ 136,
+ 163,
+ 252,
+ 145,
+ 209,
+ 187,
+ 92,
+ 116,
+ 5,
+ 161,
+ 191,
+ 104,
+ 65,
+ 139
+ ],
+ "nonce": [
+ 100,
+ 249,
+ 225,
+ 100,
+ 137,
+ 153,
+ 94,
+ 26,
+ 153,
+ 86,
+ 129,
+ 24
+ ],
+ "aad": [],
+ "plaintext": [
+ 178,
+ 116,
+ 10,
+ 61,
+ 86,
+ 71,
+ 170,
+ 90,
+ 174,
+ 185,
+ 138,
+ 46,
+ 123,
+ 191,
+ 49,
+ 237,
+ 174,
+ 161,
+ 235,
+ 172,
+ 214,
+ 58,
+ 217,
+ 107,
+ 78,
+ 38,
+ 136,
+ 241,
+ 255,
+ 8,
+ 175,
+ 142,
+ 228,
+ 7,
+ 27,
+ 242,
+ 105,
+ 65,
+ 197,
+ 23,
+ 215,
+ 69,
+ 35,
+ 102,
+ 140,
+ 161,
+ 249,
+ 223,
+ 219,
+ 202,
+ 171
+ ],
+ "ciphertext": [
+ 229,
+ 254,
+ 195,
+ 98,
+ 210,
+ 106,
+ 18,
+ 134,
+ 183,
+ 253,
+ 46,
+ 192,
+ 250,
+ 135,
+ 96,
+ 23,
+ 67,
+ 124,
+ 123,
+ 206,
+ 36,
+ 34,
+ 147,
+ 255,
+ 3,
+ 215,
+ 44,
+ 47,
+ 50,
+ 29,
+ 158,
+ 57,
+ 49,
+ 106,
+ 106,
+ 167,
+ 64,
+ 74,
+ 101,
+ 204,
+ 216,
+ 72,
+ 144,
+ 194,
+ 245,
+ 39,
+ 193,
+ 35,
+ 43,
+ 88,
+ 213
+ ],
+ "tag": [
+ 223,
+ 165,
+ 145,
+ 238,
+ 35,
+ 114,
+ 105,
+ 151,
+ 88,
+ 210,
+ 204,
+ 67,
+ 191,
+ 203,
+ 210,
+ 186
+ ]
+ },
+ {
+ "key": [
+ 132,
+ 51,
+ 168,
+ 95,
+ 22,
+ 199,
+ 201,
+ 33,
+ 71,
+ 108,
+ 131,
+ 208,
+ 66,
+ 203,
+ 113,
+ 62,
+ 177,
+ 26,
+ 131,
+ 252,
+ 12,
+ 255,
+ 227,
+ 29,
+ 222,
+ 151,
+ 144,
+ 127,
+ 6,
+ 11,
+ 78,
+ 233
+ ],
+ "nonce": [
+ 85,
+ 255,
+ 200,
+ 95,
+ 253,
+ 28,
+ 222,
+ 168,
+ 184,
+ 196,
+ 131,
+ 130
+ ],
+ "aad": [],
+ "plaintext": [
+ 35,
+ 188,
+ 57,
+ 131,
+ 186,
+ 91,
+ 59,
+ 233,
+ 28,
+ 138,
+ 106,
+ 161,
+ 72,
+ 169,
+ 153,
+ 149,
+ 36,
+ 30,
+ 233,
+ 232,
+ 44,
+ 228,
+ 78,
+ 17,
+ 132,
+ 190,
+ 183,
+ 66,
+ 175,
+ 251,
+ 228,
+ 143,
+ 84,
+ 92,
+ 154,
+ 152,
+ 4,
+ 128,
+ 207,
+ 31,
+ 171,
+ 117,
+ 138,
+ 70,
+ 228,
+ 113,
+ 30,
+ 169,
+ 38,
+ 116,
+ 102
+ ],
+ "ciphertext": [
+ 47,
+ 75,
+ 220,
+ 123,
+ 139,
+ 140,
+ 236,
+ 24,
+ 99,
+ 227,
+ 20,
+ 88,
+ 113,
+ 85,
+ 71,
+ 120,
+ 196,
+ 57,
+ 99,
+ 181,
+ 39,
+ 248,
+ 65,
+ 59,
+ 185,
+ 119,
+ 153,
+ 53,
+ 193,
+ 56,
+ 163,
+ 77,
+ 134,
+ 215,
+ 199,
+ 106,
+ 158,
+ 106,
+ 246,
+ 137,
+ 144,
+ 47,
+ 49,
+ 97,
+ 145,
+ 225,
+ 47,
+ 52,
+ 18,
+ 106,
+ 66
+ ],
+ "tag": [
+ 125,
+ 198,
+ 49,
+ 86,
+ 177,
+ 44,
+ 152,
+ 104,
+ 230,
+ 185,
+ 165,
+ 132,
+ 61,
+ 242,
+ 215,
+ 158
+ ]
+ },
+ {
+ "key": [
+ 93,
+ 123,
+ 245,
+ 84,
+ 87,
+ 146,
+ 156,
+ 101,
+ 228,
+ 242,
+ 169,
+ 124,
+ 189,
+ 204,
+ 155,
+ 67,
+ 36,
+ 5,
+ 177,
+ 53,
+ 36,
+ 81,
+ 204,
+ 201,
+ 88,
+ 188,
+ 238,
+ 188,
+ 229,
+ 87,
+ 73,
+ 29
+ ],
+ "nonce": [
+ 244,
+ 90,
+ 231,
+ 12,
+ 38,
+ 78,
+ 214,
+ 225,
+ 204,
+ 19,
+ 41,
+ 120
+ ],
+ "aad": [],
+ "plaintext": [
+ 186,
+ 90,
+ 194,
+ 161,
+ 109,
+ 132,
+ 176,
+ 223,
+ 90,
+ 110,
+ 64,
+ 240,
+ 151,
+ 217,
+ 212,
+ 75,
+ 242,
+ 29,
+ 225,
+ 252,
+ 236,
+ 6,
+ 228,
+ 199,
+ 133,
+ 116,
+ 99,
+ 150,
+ 62,
+ 92,
+ 101,
+ 201,
+ 54,
+ 211,
+ 125,
+ 120,
+ 134,
+ 127,
+ 37,
+ 60,
+ 226,
+ 86,
+ 144,
+ 129,
+ 27,
+ 243,
+ 148,
+ 99,
+ 229,
+ 112,
+ 42
+ ],
+ "ciphertext": [
+ 71,
+ 193,
+ 111,
+ 135,
+ 235,
+ 240,
+ 11,
+ 163,
+ 229,
+ 4,
+ 22,
+ 180,
+ 75,
+ 153,
+ 151,
+ 108,
+ 45,
+ 181,
+ 121,
+ 66,
+ 60,
+ 58,
+ 52,
+ 32,
+ 71,
+ 156,
+ 71,
+ 124,
+ 213,
+ 239,
+ 87,
+ 98,
+ 28,
+ 156,
+ 12,
+ 238,
+ 117,
+ 32,
+ 172,
+ 181,
+ 94,
+ 115,
+ 156,
+ 197,
+ 67,
+ 91,
+ 200,
+ 102,
+ 90,
+ 42,
+ 12
+ ],
+ "tag": [
+ 69,
+ 96,
+ 84,
+ 236,
+ 181,
+ 92,
+ 247,
+ 231,
+ 95,
+ 149,
+ 67,
+ 222,
+ 242,
+ 198,
+ 233,
+ 140
+ ]
+ },
+ {
+ "key": [
+ 89,
+ 95,
+ 37,
+ 156,
+ 85,
+ 171,
+ 224,
+ 10,
+ 224,
+ 117,
+ 53,
+ 202,
+ 93,
+ 155,
+ 9,
+ 214,
+ 239,
+ 185,
+ 247,
+ 233,
+ 171,
+ 182,
+ 70,
+ 5,
+ 195,
+ 55,
+ 172,
+ 189,
+ 107,
+ 20,
+ 252,
+ 126
+ ],
+ "nonce": [
+ 146,
+ 242,
+ 88,
+ 7,
+ 29,
+ 121,
+ 175,
+ 62,
+ 99,
+ 103,
+ 34,
+ 133
+ ],
+ "aad": [],
+ "plaintext": [
+ 166,
+ 254,
+ 227,
+ 62,
+ 177,
+ 16,
+ 162,
+ 215,
+ 105,
+ 187,
+ 197,
+ 43,
+ 15,
+ 54,
+ 150,
+ 156,
+ 40,
+ 120,
+ 116,
+ 246,
+ 101,
+ 104,
+ 20,
+ 119,
+ 162,
+ 95,
+ 196,
+ 196,
+ 128,
+ 21,
+ 197,
+ 65,
+ 251,
+ 226,
+ 57,
+ 65,
+ 51,
+ 186,
+ 73,
+ 10,
+ 52,
+ 238,
+ 45,
+ 214,
+ 123,
+ 137,
+ 129,
+ 119,
+ 132,
+ 154,
+ 145
+ ],
+ "ciphertext": [
+ 187,
+ 202,
+ 74,
+ 158,
+ 9,
+ 174,
+ 150,
+ 144,
+ 192,
+ 246,
+ 248,
+ 212,
+ 5,
+ 229,
+ 61,
+ 204,
+ 214,
+ 102,
+ 170,
+ 156,
+ 95,
+ 161,
+ 60,
+ 135,
+ 88,
+ 188,
+ 48,
+ 171,
+ 225,
+ 221,
+ 209,
+ 188,
+ 206,
+ 13,
+ 54,
+ 161,
+ 234,
+ 170,
+ 175,
+ 254,
+ 242,
+ 12,
+ 211,
+ 197,
+ 151,
+ 11,
+ 150,
+ 115,
+ 248,
+ 166,
+ 92
+ ],
+ "tag": [
+ 38,
+ 204,
+ 236,
+ 185,
+ 151,
+ 111,
+ 214,
+ 172,
+ 156,
+ 44,
+ 15,
+ 55,
+ 44,
+ 82,
+ 200,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 37,
+ 18,
+ 39,
+ 247,
+ 44,
+ 72,
+ 26,
+ 126,
+ 6,
+ 76,
+ 187,
+ 170,
+ 84,
+ 137,
+ 188,
+ 133,
+ 215,
+ 64,
+ 193,
+ 230,
+ 237,
+ 234,
+ 34,
+ 130,
+ 21,
+ 69,
+ 7,
+ 135,
+ 126,
+ 213,
+ 104,
+ 25
+ ],
+ "nonce": [
+ 219,
+ 113,
+ 147,
+ 217,
+ 205,
+ 122,
+ 236,
+ 237,
+ 153,
+ 6,
+ 42,
+ 28
+ ],
+ "aad": [],
+ "plaintext": [
+ 204,
+ 207,
+ 253,
+ 88,
+ 253,
+ 237,
+ 126,
+ 88,
+ 148,
+ 129,
+ 218,
+ 24,
+ 190,
+ 236,
+ 81,
+ 86,
+ 36,
+ 129,
+ 244,
+ 178,
+ 140,
+ 41,
+ 68,
+ 129,
+ 156,
+ 55,
+ 247,
+ 18,
+ 93,
+ 86,
+ 220,
+ 236,
+ 160,
+ 239,
+ 11,
+ 182,
+ 247,
+ 215,
+ 238,
+ 181,
+ 183,
+ 162,
+ 189,
+ 107,
+ 85,
+ 18,
+ 84,
+ 233,
+ 237,
+ 255,
+ 58
+ ],
+ "ciphertext": [
+ 28,
+ 192,
+ 141,
+ 117,
+ 160,
+ 61,
+ 50,
+ 238,
+ 154,
+ 122,
+ 232,
+ 142,
+ 0,
+ 113,
+ 64,
+ 109,
+ 190,
+ 225,
+ 195,
+ 6,
+ 56,
+ 60,
+ 244,
+ 23,
+ 49,
+ 243,
+ 197,
+ 71,
+ 243,
+ 55,
+ 123,
+ 146,
+ 247,
+ 204,
+ 40,
+ 179,
+ 193,
+ 6,
+ 102,
+ 1,
+ 245,
+ 71,
+ 83,
+ 251,
+ 214,
+ 137,
+ 175,
+ 93,
+ 188,
+ 84,
+ 72
+ ],
+ "tag": [
+ 160,
+ 199,
+ 183,
+ 68,
+ 66,
+ 41,
+ 168,
+ 207,
+ 239,
+ 36,
+ 163,
+ 30,
+ 226,
+ 222,
+ 153,
+ 97
+ ]
+ },
+ {
+ "key": [
+ 242,
+ 86,
+ 80,
+ 79,
+ 199,
+ 143,
+ 255,
+ 113,
+ 57,
+ 196,
+ 46,
+ 209,
+ 81,
+ 14,
+ 223,
+ 154,
+ 197,
+ 222,
+ 39,
+ 218,
+ 112,
+ 100,
+ 1,
+ 170,
+ 156,
+ 103,
+ 253,
+ 152,
+ 45,
+ 67,
+ 89,
+ 17
+ ],
+ "nonce": [
+ 138,
+ 220,
+ 242,
+ 214,
+ 120,
+ 171,
+ 206,
+ 249,
+ 221,
+ 69,
+ 232,
+ 249
+ ],
+ "aad": [],
+ "plaintext": [
+ 209,
+ 182,
+ 219,
+ 43,
+ 44,
+ 129,
+ 117,
+ 17,
+ 112,
+ 217,
+ 225,
+ 163,
+ 153,
+ 151,
+ 83,
+ 158,
+ 62,
+ 146,
+ 108,
+ 164,
+ 164,
+ 50,
+ 152,
+ 205,
+ 211,
+ 235,
+ 111,
+ 232,
+ 103,
+ 139,
+ 80,
+ 140,
+ 219,
+ 144,
+ 168,
+ 169,
+ 65,
+ 113,
+ 171,
+ 226,
+ 103,
+ 56,
+ 148,
+ 64,
+ 94,
+ 218,
+ 89,
+ 119,
+ 105,
+ 77,
+ 122
+ ],
+ "ciphertext": [
+ 118,
+ 32,
+ 93,
+ 99,
+ 185,
+ 197,
+ 20,
+ 78,
+ 93,
+ 170,
+ 138,
+ 199,
+ 229,
+ 31,
+ 25,
+ 250,
+ 150,
+ 231,
+ 26,
+ 49,
+ 6,
+ 171,
+ 119,
+ 155,
+ 103,
+ 168,
+ 53,
+ 138,
+ 181,
+ 214,
+ 14,
+ 247,
+ 113,
+ 151,
+ 112,
+ 98,
+ 102,
+ 226,
+ 194,
+ 20,
+ 19,
+ 131,
+ 52,
+ 163,
+ 237,
+ 102,
+ 206,
+ 204,
+ 181,
+ 166,
+ 205
+ ],
+ "tag": [
+ 193,
+ 254,
+ 83,
+ 207,
+ 133,
+ 251,
+ 203,
+ 255,
+ 147,
+ 44,
+ 110,
+ 29,
+ 2,
+ 110,
+ 161,
+ 213
+ ]
+ },
+ {
+ "key": [
+ 33,
+ 210,
+ 150,
+ 51,
+ 95,
+ 88,
+ 81,
+ 90,
+ 144,
+ 83,
+ 122,
+ 108,
+ 163,
+ 163,
+ 133,
+ 54,
+ 235,
+ 161,
+ 248,
+ 153,
+ 162,
+ 146,
+ 116,
+ 71,
+ 163,
+ 190,
+ 63,
+ 10,
+ 221,
+ 112,
+ 190,
+ 165
+ ],
+ "nonce": [
+ 43,
+ 227,
+ 173,
+ 22,
+ 79,
+ 203,
+ 207,
+ 142,
+ 230,
+ 112,
+ 133,
+ 53
+ ],
+ "aad": [],
+ "plaintext": [
+ 173,
+ 39,
+ 134,
+ 80,
+ 9,
+ 40,
+ 131,
+ 211,
+ 72,
+ 190,
+ 99,
+ 233,
+ 145,
+ 35,
+ 30,
+ 248,
+ 87,
+ 100,
+ 30,
+ 94,
+ 252,
+ 12,
+ 171,
+ 155,
+ 178,
+ 143,
+ 54,
+ 11,
+ 236,
+ 195,
+ 193,
+ 3,
+ 210,
+ 121,
+ 71,
+ 133,
+ 2,
+ 79,
+ 24,
+ 123,
+ 234,
+ 249,
+ 102,
+ 91,
+ 152,
+ 99,
+ 128,
+ 201,
+ 41,
+ 70,
+ 167
+ ],
+ "ciphertext": [
+ 184,
+ 82,
+ 174,
+ 186,
+ 112,
+ 78,
+ 157,
+ 137,
+ 68,
+ 139,
+ 161,
+ 128,
+ 160,
+ 191,
+ 222,
+ 158,
+ 151,
+ 90,
+ 33,
+ 204,
+ 7,
+ 61,
+ 12,
+ 2,
+ 112,
+ 18,
+ 21,
+ 135,
+ 46,
+ 215,
+ 70,
+ 159,
+ 0,
+ 254,
+ 52,
+ 146,
+ 148,
+ 186,
+ 45,
+ 114,
+ 191,
+ 60,
+ 119,
+ 128,
+ 183,
+ 44,
+ 118,
+ 16,
+ 27,
+ 161,
+ 72
+ ],
+ "tag": [
+ 189,
+ 214,
+ 215,
+ 8,
+ 180,
+ 90,
+ 229,
+ 76,
+ 216,
+ 72,
+ 46,
+ 76,
+ 84,
+ 128,
+ 163,
+ 193
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 35,
+ 128,
+ 88,
+ 14,
+ 52,
+ 145,
+ 221,
+ 251,
+ 192,
+ 236,
+ 50,
+ 66,
+ 78,
+ 58,
+ 40,
+ 28,
+ 190,
+ 113,
+ 170,
+ 117,
+ 5,
+ 255,
+ 90,
+ 184,
+ 210,
+ 78,
+ 100,
+ 251,
+ 228,
+ 117,
+ 24
+ ],
+ "nonce": [
+ 251,
+ 237,
+ 136,
+ 222,
+ 97,
+ 214,
+ 5,
+ 167,
+ 19,
+ 127,
+ 254,
+ 178
+ ],
+ "aad": [],
+ "plaintext": [
+ 72,
+ 135,
+ 166,
+ 239,
+ 148,
+ 120,
+ 136,
+ 191,
+ 128,
+ 228,
+ 196,
+ 13,
+ 151,
+ 105,
+ 101,
+ 5,
+ 6,
+ 235,
+ 79,
+ 74,
+ 95,
+ 210,
+ 65,
+ 180,
+ 44,
+ 144,
+ 70,
+ 227,
+ 162,
+ 207,
+ 17,
+ 157,
+ 176,
+ 2,
+ 248,
+ 154,
+ 158,
+ 186,
+ 29,
+ 17,
+ 183,
+ 163,
+ 120,
+ 190,
+ 107,
+ 39,
+ 214,
+ 248,
+ 252,
+ 134,
+ 201
+ ],
+ "ciphertext": [
+ 135,
+ 170,
+ 39,
+ 249,
+ 97,
+ 135,
+ 206,
+ 39,
+ 226,
+ 108,
+ 175,
+ 113,
+ 186,
+ 91,
+ 164,
+ 227,
+ 119,
+ 5,
+ 253,
+ 134,
+ 202,
+ 146,
+ 145,
+ 234,
+ 104,
+ 214,
+ 198,
+ 249,
+ 3,
+ 2,
+ 145,
+ 205,
+ 191,
+ 245,
+ 139,
+ 255,
+ 30,
+ 103,
+ 65,
+ 89,
+ 11,
+ 38,
+ 131,
+ 103,
+ 225,
+ 241,
+ 184,
+ 196,
+ 185,
+ 76,
+ 212
+ ],
+ "tag": [
+ 209,
+ 105,
+ 10,
+ 111,
+ 228,
+ 3,
+ 196,
+ 117,
+ 79,
+ 211,
+ 119,
+ 61,
+ 137,
+ 57,
+ 94,
+ 205
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 17,
+ 114,
+ 126,
+ 205,
+ 146,
+ 172,
+ 236,
+ 81,
+ 13,
+ 93,
+ 140,
+ 12,
+ 73,
+ 179,
+ 202,
+ 172,
+ 210,
+ 20,
+ 4,
+ 49,
+ 207,
+ 81,
+ 224,
+ 148,
+ 55,
+ 235,
+ 216,
+ 202,
+ 130,
+ 226,
+ 206
+ ],
+ "nonce": [
+ 174,
+ 128,
+ 208,
+ 54,
+ 150,
+ 226,
+ 52,
+ 100,
+ 200,
+ 129,
+ 204,
+ 255
+ ],
+ "aad": [],
+ "plaintext": [
+ 24,
+ 75,
+ 8,
+ 102,
+ 70,
+ 239,
+ 149,
+ 17,
+ 28,
+ 203,
+ 61,
+ 49,
+ 159,
+ 49,
+ 36,
+ 244,
+ 212,
+ 210,
+ 65,
+ 249,
+ 215,
+ 49,
+ 206,
+ 38,
+ 102,
+ 46,
+ 163,
+ 158,
+ 67,
+ 69,
+ 126,
+ 48,
+ 176,
+ 189,
+ 115,
+ 155,
+ 93,
+ 93,
+ 188,
+ 235,
+ 53,
+ 60,
+ 224,
+ 195,
+ 100,
+ 122,
+ 58,
+ 76,
+ 135,
+ 227,
+ 176
+ ],
+ "ciphertext": [
+ 170,
+ 40,
+ 203,
+ 37,
+ 118,
+ 152,
+ 150,
+ 61,
+ 252,
+ 62,
+ 63,
+ 232,
+ 99,
+ 104,
+ 216,
+ 129,
+ 172,
+ 6,
+ 110,
+ 184,
+ 238,
+ 33,
+ 90,
+ 124,
+ 14,
+ 215,
+ 46,
+ 77,
+ 8,
+ 29,
+ 176,
+ 185,
+ 64,
+ 7,
+ 30,
+ 46,
+ 100,
+ 255,
+ 98,
+ 4,
+ 150,
+ 13,
+ 168,
+ 227,
+ 70,
+ 77,
+ 175,
+ 76,
+ 183,
+ 243,
+ 123
+ ],
+ "tag": [
+ 193,
+ 87,
+ 138,
+ 166,
+ 227,
+ 50,
+ 94,
+ 228,
+ 181,
+ 233,
+ 251,
+ 158,
+ 230,
+ 42,
+ 112,
+ 40
+ ]
+ },
+ {
+ "key": [
+ 212,
+ 143,
+ 48,
+ 114,
+ 187,
+ 213,
+ 53,
+ 162,
+ 223,
+ 10,
+ 40,
+ 100,
+ 254,
+ 179,
+ 59,
+ 72,
+ 133,
+ 150,
+ 205,
+ 82,
+ 58,
+ 209,
+ 98,
+ 59,
+ 28,
+ 239,
+ 231,
+ 184,
+ 203,
+ 239,
+ 207,
+ 74
+ ],
+ "nonce": [
+ 187,
+ 242,
+ 165,
+ 55,
+ 210,
+ 133,
+ 68,
+ 77,
+ 148,
+ 245,
+ 233,
+ 68
+ ],
+ "aad": [],
+ "plaintext": [
+ 6,
+ 12,
+ 88,
+ 91,
+ 213,
+ 21,
+ 57,
+ 175,
+ 221,
+ 143,
+ 248,
+ 113,
+ 68,
+ 13,
+ 179,
+ 107,
+ 253,
+ 206,
+ 51,
+ 183,
+ 240,
+ 57,
+ 50,
+ 27,
+ 10,
+ 99,
+ 39,
+ 58,
+ 49,
+ 139,
+ 210,
+ 83,
+ 117,
+ 162,
+ 217,
+ 97,
+ 91,
+ 35,
+ 108,
+ 254,
+ 99,
+ 214,
+ 39,
+ 198,
+ 197,
+ 97,
+ 83,
+ 93,
+ 223,
+ 182,
+ 189
+ ],
+ "ciphertext": [
+ 153,
+ 61,
+ 93,
+ 105,
+ 44,
+ 33,
+ 133,
+ 112,
+ 210,
+ 148,
+ 171,
+ 144,
+ 213,
+ 247,
+ 170,
+ 104,
+ 61,
+ 192,
+ 228,
+ 112,
+ 239,
+ 172,
+ 39,
+ 154,
+ 119,
+ 96,
+ 64,
+ 243,
+ 180,
+ 147,
+ 134,
+ 129,
+ 63,
+ 104,
+ 176,
+ 219,
+ 106,
+ 122,
+ 239,
+ 89,
+ 2,
+ 92,
+ 195,
+ 133,
+ 32,
+ 251,
+ 49,
+ 138,
+ 30,
+ 172,
+ 85
+ ],
+ "tag": [
+ 140,
+ 216,
+ 8,
+ 67,
+ 138,
+ 143,
+ 91,
+ 106,
+ 105,
+ 255,
+ 58,
+ 226,
+ 85,
+ 191,
+ 44,
+ 178
+ ]
+ },
+ {
+ "key": [
+ 95,
+ 224,
+ 28,
+ 75,
+ 175,
+ 1,
+ 203,
+ 224,
+ 119,
+ 150,
+ 213,
+ 170,
+ 239,
+ 110,
+ 193,
+ 244,
+ 81,
+ 147,
+ 169,
+ 138,
+ 34,
+ 53,
+ 148,
+ 174,
+ 79,
+ 14,
+ 244,
+ 149,
+ 46,
+ 130,
+ 227,
+ 48
+ ],
+ "nonce": [
+ 189,
+ 88,
+ 115,
+ 33,
+ 86,
+ 108,
+ 127,
+ 26,
+ 93,
+ 216,
+ 101,
+ 45
+ ],
+ "aad": [
+ 144,
+ 19,
+ 97,
+ 120,
+ 23,
+ 221,
+ 169,
+ 71,
+ 225,
+ 53,
+ 238,
+ 109,
+ 211,
+ 101,
+ 51,
+ 130
+ ],
+ "plaintext": [
+ 136,
+ 29,
+ 198,
+ 199,
+ 165,
+ 212,
+ 80,
+ 159,
+ 60,
+ 75,
+ 210,
+ 218,
+ 171,
+ 8,
+ 241,
+ 101,
+ 221,
+ 194,
+ 4,
+ 72,
+ 154,
+ 168,
+ 19,
+ 69,
+ 98,
+ 164,
+ 234,
+ 195,
+ 208,
+ 188,
+ 173,
+ 121,
+ 101,
+ 132,
+ 123,
+ 16,
+ 39,
+ 51,
+ 187,
+ 99,
+ 209,
+ 229,
+ 197,
+ 152,
+ 236,
+ 224,
+ 195,
+ 229,
+ 218,
+ 221,
+ 221
+ ],
+ "ciphertext": [
+ 22,
+ 227,
+ 117,
+ 180,
+ 151,
+ 59,
+ 51,
+ 157,
+ 63,
+ 116,
+ 108,
+ 28,
+ 90,
+ 86,
+ 139,
+ 199,
+ 82,
+ 110,
+ 144,
+ 157,
+ 223,
+ 241,
+ 225,
+ 156,
+ 149,
+ 201,
+ 74,
+ 108,
+ 207,
+ 242,
+ 16,
+ 201,
+ 164,
+ 164,
+ 6,
+ 121,
+ 222,
+ 87,
+ 96,
+ 195,
+ 150,
+ 172,
+ 14,
+ 44,
+ 235,
+ 18,
+ 52,
+ 249,
+ 245,
+ 254,
+ 38
+ ],
+ "tag": [
+ 171,
+ 211,
+ 210,
+ 109,
+ 101,
+ 166,
+ 39,
+ 95,
+ 122,
+ 79,
+ 86,
+ 180,
+ 34,
+ 172,
+ 171,
+ 73
+ ]
+ },
+ {
+ "key": [
+ 136,
+ 90,
+ 155,
+ 18,
+ 65,
+ 55,
+ 228,
+ 11,
+ 208,
+ 246,
+ 151,
+ 119,
+ 19,
+ 23,
+ 228,
+ 1,
+ 206,
+ 54,
+ 50,
+ 126,
+ 97,
+ 168,
+ 249,
+ 208,
+ 184,
+ 15,
+ 71,
+ 152,
+ 243,
+ 10,
+ 115,
+ 29
+ ],
+ "nonce": [
+ 190,
+ 235,
+ 194,
+ 245,
+ 162,
+ 111,
+ 210,
+ 202,
+ 177,
+ 233,
+ 195,
+ 149
+ ],
+ "aad": [
+ 46,
+ 139,
+ 221,
+ 227,
+ 34,
+ 88,
+ 165,
+ 252,
+ 216,
+ 205,
+ 33,
+ 3,
+ 125,
+ 5,
+ 69,
+ 235
+ ],
+ "plaintext": [
+ 66,
+ 126,
+ 197,
+ 104,
+ 173,
+ 131,
+ 103,
+ 194,
+ 2,
+ 245,
+ 217,
+ 153,
+ 146,
+ 64,
+ 249,
+ 153,
+ 76,
+ 193,
+ 19,
+ 80,
+ 1,
+ 84,
+ 247,
+ 244,
+ 158,
+ 156,
+ 162,
+ 124,
+ 200,
+ 21,
+ 65,
+ 67,
+ 184,
+ 85,
+ 35,
+ 139,
+ 202,
+ 92,
+ 123,
+ 214,
+ 217,
+ 133,
+ 43,
+ 78,
+ 235,
+ 212,
+ 30,
+ 78,
+ 185,
+ 143,
+ 22
+ ],
+ "ciphertext": [
+ 161,
+ 216,
+ 58,
+ 171,
+ 104,
+ 100,
+ 219,
+ 70,
+ 61,
+ 157,
+ 124,
+ 34,
+ 65,
+ 148,
+ 98,
+ 189,
+ 224,
+ 116,
+ 3,
+ 85,
+ 193,
+ 20,
+ 124,
+ 98,
+ 180,
+ 196,
+ 242,
+ 60,
+ 238,
+ 175,
+ 101,
+ 177,
+ 107,
+ 135,
+ 59,
+ 28,
+ 199,
+ 230,
+ 152,
+ 223,
+ 246,
+ 227,
+ 209,
+ 156,
+ 249,
+ 218,
+ 51,
+ 232,
+ 203,
+ 203,
+ 167
+ ],
+ "tag": [
+ 79,
+ 219,
+ 253,
+ 82,
+ 16,
+ 175,
+ 163,
+ 85,
+ 110,
+ 192,
+ 253,
+ 196,
+ 139,
+ 152,
+ 225,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 33,
+ 193,
+ 144,
+ 226,
+ 181,
+ 46,
+ 39,
+ 177,
+ 7,
+ 247,
+ 162,
+ 75,
+ 145,
+ 58,
+ 52,
+ 189,
+ 91,
+ 112,
+ 34,
+ 6,
+ 12,
+ 90,
+ 77,
+ 236,
+ 154,
+ 178,
+ 137,
+ 255,
+ 138,
+ 230,
+ 126,
+ 45
+ ],
+ "nonce": [
+ 178,
+ 138,
+ 97,
+ 230,
+ 193,
+ 223,
+ 167,
+ 247,
+ 109,
+ 8,
+ 96,
+ 99
+ ],
+ "aad": [
+ 216,
+ 6,
+ 87,
+ 55,
+ 125,
+ 219,
+ 190,
+ 209,
+ 249,
+ 184,
+ 216,
+ 36,
+ 179,
+ 196,
+ 216,
+ 118
+ ],
+ "plaintext": [
+ 78,
+ 27,
+ 149,
+ 40,
+ 207,
+ 70,
+ 177,
+ 221,
+ 136,
+ 152,
+ 88,
+ 211,
+ 144,
+ 77,
+ 65,
+ 211,
+ 23,
+ 77,
+ 203,
+ 34,
+ 89,
+ 35,
+ 249,
+ 35,
+ 216,
+ 10,
+ 219,
+ 254,
+ 110,
+ 236,
+ 20,
+ 75,
+ 29,
+ 78,
+ 179,
+ 105,
+ 13,
+ 11,
+ 133,
+ 25,
+ 201,
+ 155,
+ 234,
+ 238,
+ 37,
+ 187,
+ 80,
+ 253,
+ 45,
+ 20,
+ 143
+ ],
+ "ciphertext": [
+ 113,
+ 38,
+ 250,
+ 128,
+ 122,
+ 166,
+ 182,
+ 26,
+ 96,
+ 149,
+ 143,
+ 228,
+ 204,
+ 134,
+ 130,
+ 187,
+ 37,
+ 110,
+ 91,
+ 189,
+ 196,
+ 153,
+ 208,
+ 74,
+ 108,
+ 170,
+ 129,
+ 178,
+ 63,
+ 158,
+ 103,
+ 211,
+ 218,
+ 76,
+ 241,
+ 153,
+ 75,
+ 90,
+ 142,
+ 204,
+ 123,
+ 206,
+ 100,
+ 24,
+ 100,
+ 208,
+ 81,
+ 154,
+ 101,
+ 9,
+ 205
+ ],
+ "tag": [
+ 211,
+ 233,
+ 101,
+ 104,
+ 242,
+ 205,
+ 26,
+ 72,
+ 119,
+ 30,
+ 228,
+ 246,
+ 122,
+ 208,
+ 66,
+ 193
+ ]
+ },
+ {
+ "key": [
+ 17,
+ 195,
+ 58,
+ 227,
+ 118,
+ 128,
+ 19,
+ 12,
+ 81,
+ 237,
+ 17,
+ 191,
+ 175,
+ 15,
+ 203,
+ 110,
+ 212,
+ 252,
+ 125,
+ 144,
+ 63,
+ 244,
+ 50,
+ 184,
+ 17,
+ 118,
+ 61,
+ 44,
+ 126,
+ 248,
+ 58,
+ 51
+ ],
+ "nonce": [
+ 15,
+ 34,
+ 77,
+ 38,
+ 219,
+ 246,
+ 50,
+ 206,
+ 189,
+ 206,
+ 59,
+ 139
+ ],
+ "aad": [
+ 222,
+ 232,
+ 3,
+ 115,
+ 47,
+ 246,
+ 98,
+ 203,
+ 169,
+ 248,
+ 97,
+ 34,
+ 127,
+ 139,
+ 103,
+ 207
+ ],
+ "plaintext": [
+ 248,
+ 162,
+ 175,
+ 254,
+ 90,
+ 126,
+ 103,
+ 242,
+ 198,
+ 38,
+ 34,
+ 228,
+ 165,
+ 104,
+ 4,
+ 180,
+ 142,
+ 82,
+ 157,
+ 31,
+ 175,
+ 144,
+ 150,
+ 249,
+ 68,
+ 9,
+ 34,
+ 65,
+ 41,
+ 146,
+ 28,
+ 228,
+ 106,
+ 237,
+ 137,
+ 141,
+ 213,
+ 57,
+ 23,
+ 70,
+ 232,
+ 23,
+ 14,
+ 5,
+ 249,
+ 30,
+ 5,
+ 36,
+ 22,
+ 102,
+ 37
+ ],
+ "ciphertext": [
+ 56,
+ 86,
+ 85,
+ 131,
+ 117,
+ 195,
+ 99,
+ 178,
+ 94,
+ 143,
+ 158,
+ 158,
+ 46,
+ 182,
+ 60,
+ 240,
+ 231,
+ 106,
+ 28,
+ 110,
+ 34,
+ 136,
+ 147,
+ 199,
+ 178,
+ 45,
+ 164,
+ 166,
+ 155,
+ 104,
+ 37,
+ 40,
+ 180,
+ 164,
+ 202,
+ 43,
+ 153,
+ 231,
+ 165,
+ 55,
+ 57,
+ 14,
+ 45,
+ 30,
+ 5,
+ 166,
+ 143,
+ 62,
+ 57,
+ 196,
+ 233
+ ],
+ "tag": [
+ 155,
+ 18,
+ 105,
+ 27,
+ 32,
+ 2,
+ 202,
+ 146,
+ 39,
+ 3,
+ 92,
+ 104,
+ 234,
+ 148,
+ 30,
+ 243
+ ]
+ },
+ {
+ "key": [
+ 59,
+ 41,
+ 23,
+ 148,
+ 251,
+ 185,
+ 21,
+ 44,
+ 62,
+ 79,
+ 77,
+ 228,
+ 96,
+ 138,
+ 145,
+ 55,
+ 210,
+ 119,
+ 189,
+ 101,
+ 31,
+ 151,
+ 231,
+ 56,
+ 175,
+ 170,
+ 84,
+ 141,
+ 151,
+ 180,
+ 236,
+ 96
+ ],
+ "nonce": [
+ 77,
+ 28,
+ 105,
+ 198,
+ 218,
+ 150,
+ 192,
+ 133,
+ 211,
+ 20,
+ 34,
+ 186
+ ],
+ "aad": [
+ 243,
+ 165,
+ 250,
+ 97,
+ 164,
+ 233,
+ 135,
+ 65,
+ 58,
+ 143,
+ 171,
+ 74,
+ 165,
+ 29,
+ 137,
+ 93
+ ],
+ "plaintext": [
+ 33,
+ 179,
+ 202,
+ 31,
+ 71,
+ 160,
+ 199,
+ 246,
+ 235,
+ 208,
+ 151,
+ 237,
+ 166,
+ 157,
+ 158,
+ 91,
+ 95,
+ 191,
+ 92,
+ 36,
+ 215,
+ 129,
+ 101,
+ 128,
+ 3,
+ 207,
+ 212,
+ 67,
+ 174,
+ 112,
+ 150,
+ 190,
+ 25,
+ 225,
+ 205,
+ 60,
+ 20,
+ 254,
+ 151,
+ 56,
+ 239,
+ 176,
+ 8,
+ 71,
+ 105,
+ 127,
+ 204,
+ 180,
+ 102,
+ 174,
+ 27
+ ],
+ "ciphertext": [
+ 108,
+ 20,
+ 57,
+ 205,
+ 44,
+ 181,
+ 100,
+ 231,
+ 148,
+ 79,
+ 213,
+ 47,
+ 49,
+ 110,
+ 132,
+ 174,
+ 255,
+ 195,
+ 253,
+ 128,
+ 36,
+ 223,
+ 90,
+ 125,
+ 149,
+ 168,
+ 124,
+ 77,
+ 49,
+ 160,
+ 248,
+ 234,
+ 23,
+ 242,
+ 20,
+ 66,
+ 199,
+ 9,
+ 168,
+ 59,
+ 50,
+ 109,
+ 6,
+ 125,
+ 95,
+ 142,
+ 48,
+ 5,
+ 235,
+ 226,
+ 42
+ ],
+ "tag": [
+ 229,
+ 128,
+ 72,
+ 242,
+ 193,
+ 248,
+ 6,
+ 224,
+ 149,
+ 82,
+ 194,
+ 229,
+ 205,
+ 241,
+ 185,
+ 217
+ ]
+ },
+ {
+ "key": [
+ 142,
+ 122,
+ 142,
+ 123,
+ 18,
+ 147,
+ 38,
+ 229,
+ 65,
+ 12,
+ 138,
+ 230,
+ 127,
+ 189,
+ 49,
+ 141,
+ 225,
+ 144,
+ 156,
+ 171,
+ 161,
+ 210,
+ 183,
+ 146,
+ 16,
+ 121,
+ 60,
+ 107,
+ 44,
+ 110,
+ 97,
+ 199
+ ],
+ "nonce": [
+ 142,
+ 72,
+ 81,
+ 63,
+ 221,
+ 151,
+ 24,
+ 97,
+ 239,
+ 123,
+ 93,
+ 195
+ ],
+ "aad": [
+ 128,
+ 187,
+ 102,
+ 164,
+ 114,
+ 112,
+ 149,
+ 182,
+ 194,
+ 1,
+ 251,
+ 61,
+ 130,
+ 176,
+ 252,
+ 245
+ ],
+ "plaintext": [
+ 239,
+ 107,
+ 65,
+ 69,
+ 145,
+ 1,
+ 57,
+ 41,
+ 54,
+ 49,
+ 219,
+ 135,
+ 160,
+ 215,
+ 120,
+ 42,
+ 29,
+ 149,
+ 219,
+ 86,
+ 142,
+ 133,
+ 117,
+ 152,
+ 18,
+ 133,
+ 130,
+ 232,
+ 145,
+ 75,
+ 79,
+ 167,
+ 192,
+ 60,
+ 27,
+ 131,
+ 229,
+ 98,
+ 74,
+ 46,
+ 180,
+ 195,
+ 64,
+ 200,
+ 173,
+ 126,
+ 103,
+ 54,
+ 163,
+ 231,
+ 0
+ ],
+ "ciphertext": [
+ 227,
+ 2,
+ 104,
+ 124,
+ 5,
+ 72,
+ 151,
+ 56,
+ 151,
+ 162,
+ 124,
+ 49,
+ 145,
+ 31,
+ 200,
+ 126,
+ 233,
+ 61,
+ 135,
+ 88,
+ 196,
+ 222,
+ 214,
+ 141,
+ 107,
+ 214,
+ 65,
+ 94,
+ 170,
+ 248,
+ 107,
+ 204,
+ 69,
+ 250,
+ 106,
+ 30,
+ 248,
+ 166,
+ 174,
+ 6,
+ 136,
+ 32,
+ 84,
+ 155,
+ 23,
+ 4,
+ 5,
+ 179,
+ 252,
+ 9,
+ 37
+ ],
+ "tag": [
+ 255,
+ 92,
+ 25,
+ 57,
+ 82,
+ 85,
+ 142,
+ 90,
+ 18,
+ 14,
+ 103,
+ 47,
+ 86,
+ 107,
+ 228,
+ 17
+ ]
+ },
+ {
+ "key": [
+ 214,
+ 135,
+ 224,
+ 38,
+ 47,
+ 122,
+ 242,
+ 118,
+ 133,
+ 112,
+ 223,
+ 144,
+ 182,
+ 152,
+ 9,
+ 78,
+ 3,
+ 182,
+ 104,
+ 206,
+ 97,
+ 131,
+ 182,
+ 198,
+ 182,
+ 202,
+ 56,
+ 93,
+ 205,
+ 98,
+ 39,
+ 41
+ ],
+ "nonce": [
+ 80,
+ 246,
+ 144,
+ 79,
+ 45,
+ 132,
+ 102,
+ 218,
+ 163,
+ 60,
+ 36,
+ 97
+ ],
+ "aad": [
+ 232,
+ 250,
+ 153,
+ 67,
+ 41,
+ 41,
+ 214,
+ 111,
+ 16,
+ 32,
+ 90,
+ 211,
+ 233,
+ 89,
+ 33,
+ 81
+ ],
+ "plaintext": [
+ 121,
+ 227,
+ 6,
+ 125,
+ 148,
+ 70,
+ 78,
+ 1,
+ 154,
+ 124,
+ 138,
+ 241,
+ 11,
+ 83,
+ 173,
+ 245,
+ 176,
+ 148,
+ 38,
+ 211,
+ 95,
+ 34,
+ 87,
+ 195,
+ 203,
+ 175,
+ 254,
+ 31,
+ 247,
+ 32,
+ 86,
+ 92,
+ 7,
+ 231,
+ 122,
+ 238,
+ 240,
+ 111,
+ 157,
+ 3,
+ 162,
+ 53,
+ 48,
+ 83,
+ 153,
+ 32,
+ 115,
+ 164,
+ 237,
+ 31,
+ 200
+ ],
+ "ciphertext": [
+ 24,
+ 246,
+ 230,
+ 174,
+ 236,
+ 200,
+ 220,
+ 90,
+ 61,
+ 11,
+ 99,
+ 162,
+ 168,
+ 183,
+ 191,
+ 175,
+ 105,
+ 91,
+ 217,
+ 196,
+ 154,
+ 115,
+ 146,
+ 219,
+ 250,
+ 142,
+ 212,
+ 71,
+ 113,
+ 238,
+ 190,
+ 39,
+ 249,
+ 69,
+ 137,
+ 216,
+ 164,
+ 48,
+ 218,
+ 76,
+ 240,
+ 58,
+ 134,
+ 147,
+ 188,
+ 117,
+ 37,
+ 225,
+ 252,
+ 172,
+ 130
+ ],
+ "tag": [
+ 60,
+ 134,
+ 78,
+ 170,
+ 27,
+ 10,
+ 228,
+ 74,
+ 127,
+ 10,
+ 217,
+ 186,
+ 40,
+ 123,
+ 168,
+ 0
+ ]
+ },
+ {
+ "key": [
+ 38,
+ 220,
+ 92,
+ 231,
+ 75,
+ 77,
+ 100,
+ 209,
+ 220,
+ 34,
+ 33,
+ 205,
+ 214,
+ 166,
+ 61,
+ 122,
+ 146,
+ 38,
+ 19,
+ 71,
+ 8,
+ 41,
+ 156,
+ 215,
+ 25,
+ 166,
+ 143,
+ 99,
+ 107,
+ 107,
+ 94,
+ 189
+ ],
+ "nonce": [
+ 2,
+ 148,
+ 197,
+ 79,
+ 244,
+ 237,
+ 48,
+ 120,
+ 34,
+ 34,
+ 200,
+ 52
+ ],
+ "aad": [
+ 42,
+ 159,
+ 179,
+ 38,
+ 249,
+ 139,
+ 190,
+ 45,
+ 44,
+ 245,
+ 123,
+ 174,
+ 158,
+ 203,
+ 239,
+ 247
+ ],
+ "plaintext": [
+ 174,
+ 76,
+ 127,
+ 4,
+ 13,
+ 58,
+ 95,
+ 241,
+ 8,
+ 226,
+ 147,
+ 129,
+ 231,
+ 160,
+ 131,
+ 2,
+ 33,
+ 213,
+ 55,
+ 139,
+ 19,
+ 184,
+ 126,
+ 240,
+ 112,
+ 60,
+ 50,
+ 118,
+ 134,
+ 211,
+ 10,
+ 240,
+ 4,
+ 144,
+ 45,
+ 77,
+ 219,
+ 89,
+ 213,
+ 120,
+ 127,
+ 236,
+ 234,
+ 71,
+ 49,
+ 234,
+ 168,
+ 4,
+ 36,
+ 67,
+ 213
+ ],
+ "ciphertext": [
+ 150,
+ 1,
+ 174,
+ 198,
+ 188,
+ 110,
+ 138,
+ 9,
+ 208,
+ 84,
+ 160,
+ 30,
+ 80,
+ 10,
+ 78,
+ 76,
+ 220,
+ 199,
+ 194,
+ 207,
+ 131,
+ 18,
+ 38,
+ 86,
+ 190,
+ 124,
+ 38,
+ 252,
+ 125,
+ 193,
+ 167,
+ 115,
+ 164,
+ 11,
+ 231,
+ 232,
+ 160,
+ 73,
+ 166,
+ 205,
+ 240,
+ 89,
+ 233,
+ 58,
+ 35,
+ 202,
+ 68,
+ 30,
+ 241,
+ 202,
+ 150
+ ],
+ "tag": [
+ 182,
+ 32,
+ 168,
+ 160,
+ 200,
+ 254,
+ 97,
+ 23,
+ 242,
+ 39,
+ 53,
+ 192,
+ 202,
+ 41,
+ 67,
+ 76
+ ]
+ },
+ {
+ "key": [
+ 127,
+ 160,
+ 100,
+ 78,
+ 252,
+ 127,
+ 46,
+ 141,
+ 244,
+ 179,
+ 17,
+ 245,
+ 75,
+ 168,
+ 184,
+ 201,
+ 117,
+ 178,
+ 194,
+ 170,
+ 151,
+ 150,
+ 47,
+ 140,
+ 168,
+ 163,
+ 34,
+ 84,
+ 27,
+ 237,
+ 170,
+ 157
+ ],
+ "nonce": [
+ 94,
+ 119,
+ 78,
+ 69,
+ 160,
+ 126,
+ 235,
+ 151,
+ 33,
+ 115,
+ 68,
+ 18
+ ],
+ "aad": [
+ 106,
+ 214,
+ 115,
+ 218,
+ 168,
+ 196,
+ 18,
+ 191,
+ 40,
+ 14,
+ 163,
+ 155,
+ 160,
+ 217,
+ 182,
+ 212
+ ],
+ "plaintext": [
+ 132,
+ 209,
+ 199,
+ 84,
+ 85,
+ 228,
+ 197,
+ 116,
+ 25,
+ 169,
+ 215,
+ 138,
+ 144,
+ 239,
+ 194,
+ 50,
+ 193,
+ 121,
+ 81,
+ 127,
+ 233,
+ 74,
+ 255,
+ 83,
+ 164,
+ 184,
+ 247,
+ 87,
+ 93,
+ 181,
+ 175,
+ 98,
+ 127,
+ 61,
+ 0,
+ 128,
+ 6,
+ 242,
+ 22,
+ 236,
+ 252,
+ 73,
+ 171,
+ 141,
+ 168,
+ 146,
+ 127,
+ 245,
+ 220,
+ 57,
+ 89
+ ],
+ "ciphertext": [
+ 226,
+ 240,
+ 11,
+ 90,
+ 134,
+ 179,
+ 222,
+ 194,
+ 183,
+ 126,
+ 84,
+ 219,
+ 50,
+ 140,
+ 141,
+ 149,
+ 77,
+ 75,
+ 113,
+ 111,
+ 151,
+ 53,
+ 229,
+ 121,
+ 139,
+ 5,
+ 214,
+ 92,
+ 81,
+ 38,
+ 116,
+ 213,
+ 110,
+ 136,
+ 189,
+ 160,
+ 212,
+ 134,
+ 104,
+ 90,
+ 69,
+ 213,
+ 194,
+ 73,
+ 113,
+ 152,
+ 132,
+ 50,
+ 158,
+ 50,
+ 151
+ ],
+ "tag": [
+ 12,
+ 232,
+ 235,
+ 84,
+ 213,
+ 173,
+ 53,
+ 221,
+ 44,
+ 179,
+ 250,
+ 117,
+ 231,
+ 183,
+ 14,
+ 51
+ ]
+ },
+ {
+ "key": [
+ 145,
+ 208,
+ 66,
+ 159,
+ 44,
+ 69,
+ 207,
+ 138,
+ 176,
+ 29,
+ 80,
+ 185,
+ 240,
+ 77,
+ 170,
+ 172,
+ 203,
+ 224,
+ 80,
+ 60,
+ 159,
+ 17,
+ 95,
+ 148,
+ 87,
+ 200,
+ 58,
+ 4,
+ 61,
+ 200,
+ 59,
+ 35
+ ],
+ "nonce": [
+ 52,
+ 64,
+ 29,
+ 141,
+ 146,
+ 46,
+ 235,
+ 172,
+ 24,
+ 41,
+ 242,
+ 46
+ ],
+ "aad": [
+ 27,
+ 41,
+ 222,
+ 147,
+ 33,
+ 174,
+ 188,
+ 63,
+ 249,
+ 209,
+ 194,
+ 80,
+ 122,
+ 238,
+ 128,
+ 233
+ ],
+ "plaintext": [
+ 214,
+ 0,
+ 216,
+ 42,
+ 60,
+ 32,
+ 201,
+ 71,
+ 146,
+ 54,
+ 41,
+ 89,
+ 222,
+ 68,
+ 12,
+ 147,
+ 17,
+ 154,
+ 113,
+ 138,
+ 199,
+ 73,
+ 250,
+ 136,
+ 170,
+ 96,
+ 111,
+ 201,
+ 156,
+ 176,
+ 43,
+ 76,
+ 169,
+ 186,
+ 149,
+ 141,
+ 40,
+ 220,
+ 133,
+ 240,
+ 82,
+ 60,
+ 153,
+ 216,
+ 47,
+ 67,
+ 245,
+ 140,
+ 95,
+ 151,
+ 155
+ ],
+ "ciphertext": [
+ 132,
+ 203,
+ 201,
+ 147,
+ 110,
+ 183,
+ 39,
+ 0,
+ 128,
+ 187,
+ 112,
+ 36,
+ 120,
+ 1,
+ 19,
+ 208,
+ 100,
+ 236,
+ 203,
+ 99,
+ 211,
+ 218,
+ 11,
+ 214,
+ 188,
+ 228,
+ 248,
+ 115,
+ 125,
+ 40,
+ 48,
+ 75,
+ 251,
+ 97,
+ 2,
+ 243,
+ 174,
+ 156,
+ 57,
+ 76,
+ 198,
+ 69,
+ 38,
+ 51,
+ 252,
+ 85,
+ 21,
+ 130,
+ 187,
+ 254,
+ 29
+ ],
+ "tag": [
+ 225,
+ 50,
+ 220,
+ 138,
+ 49,
+ 210,
+ 31,
+ 36,
+ 234,
+ 14,
+ 105,
+ 223,
+ 182,
+ 178,
+ 101,
+ 87
+ ]
+ },
+ {
+ "key": [
+ 68,
+ 230,
+ 65,
+ 27,
+ 159,
+ 191,
+ 206,
+ 243,
+ 135,
+ 208,
+ 202,
+ 7,
+ 183,
+ 25,
+ 24,
+ 28,
+ 117,
+ 103,
+ 226,
+ 125,
+ 186,
+ 89,
+ 232,
+ 225,
+ 195,
+ 204,
+ 23,
+ 99,
+ 207,
+ 234,
+ 202,
+ 4
+ ],
+ "nonce": [
+ 37,
+ 161,
+ 207,
+ 217,
+ 123,
+ 216,
+ 230,
+ 61,
+ 229,
+ 214,
+ 89,
+ 116
+ ],
+ "aad": [
+ 75,
+ 23,
+ 81,
+ 176,
+ 116,
+ 171,
+ 100,
+ 157,
+ 39,
+ 253,
+ 63,
+ 44,
+ 77,
+ 126,
+ 227,
+ 58
+ ],
+ "plaintext": [
+ 219,
+ 40,
+ 165,
+ 146,
+ 177,
+ 243,
+ 96,
+ 60,
+ 40,
+ 121,
+ 145,
+ 166,
+ 156,
+ 198,
+ 78,
+ 172,
+ 221,
+ 98,
+ 4,
+ 100,
+ 69,
+ 168,
+ 186,
+ 64,
+ 103,
+ 87,
+ 95,
+ 18,
+ 85,
+ 61,
+ 225,
+ 85,
+ 208,
+ 106,
+ 155,
+ 64,
+ 221,
+ 245,
+ 143,
+ 236,
+ 86,
+ 200,
+ 23,
+ 22,
+ 135,
+ 185,
+ 203,
+ 84,
+ 177,
+ 243,
+ 70
+ ],
+ "ciphertext": [
+ 54,
+ 191,
+ 107,
+ 183,
+ 97,
+ 178,
+ 36,
+ 143,
+ 231,
+ 26,
+ 98,
+ 14,
+ 52,
+ 233,
+ 209,
+ 142,
+ 18,
+ 167,
+ 76,
+ 164,
+ 44,
+ 154,
+ 154,
+ 33,
+ 211,
+ 3,
+ 69,
+ 153,
+ 90,
+ 131,
+ 235,
+ 68,
+ 188,
+ 174,
+ 60,
+ 103,
+ 192,
+ 32,
+ 115,
+ 12,
+ 216,
+ 213,
+ 229,
+ 26,
+ 116,
+ 22,
+ 148,
+ 204,
+ 57,
+ 100,
+ 105
+ ],
+ "tag": [
+ 230,
+ 158,
+ 191,
+ 128,
+ 168,
+ 141,
+ 110,
+ 202,
+ 65,
+ 174,
+ 135,
+ 205,
+ 202,
+ 180,
+ 225,
+ 242
+ ]
+ },
+ {
+ "key": [
+ 169,
+ 75,
+ 252,
+ 239,
+ 174,
+ 144,
+ 249,
+ 7,
+ 136,
+ 96,
+ 219,
+ 128,
+ 204,
+ 197,
+ 8,
+ 25,
+ 234,
+ 223,
+ 124,
+ 206,
+ 41,
+ 223,
+ 50,
+ 121,
+ 249,
+ 79,
+ 94,
+ 234,
+ 151,
+ 0,
+ 158,
+ 242
+ ],
+ "nonce": [
+ 244,
+ 129,
+ 188,
+ 183,
+ 245,
+ 218,
+ 41,
+ 110,
+ 148,
+ 84,
+ 255,
+ 120
+ ],
+ "aad": [
+ 159,
+ 128,
+ 216,
+ 69,
+ 87,
+ 120,
+ 24,
+ 223,
+ 155,
+ 169,
+ 132,
+ 238,
+ 85,
+ 42,
+ 226,
+ 3
+ ],
+ "plaintext": [
+ 151,
+ 208,
+ 199,
+ 223,
+ 202,
+ 179,
+ 42,
+ 56,
+ 111,
+ 81,
+ 217,
+ 46,
+ 137,
+ 51,
+ 62,
+ 200,
+ 78,
+ 236,
+ 213,
+ 82,
+ 230,
+ 141,
+ 20,
+ 207,
+ 72,
+ 183,
+ 80,
+ 103,
+ 191,
+ 14,
+ 25,
+ 70,
+ 173,
+ 3,
+ 165,
+ 208,
+ 99,
+ 184,
+ 82,
+ 202,
+ 5,
+ 60,
+ 146,
+ 144,
+ 136,
+ 175,
+ 69,
+ 208,
+ 136,
+ 74,
+ 136
+ ],
+ "ciphertext": [
+ 24,
+ 161,
+ 201,
+ 191,
+ 225,
+ 177,
+ 223,
+ 221,
+ 6,
+ 228,
+ 101,
+ 223,
+ 52,
+ 124,
+ 30,
+ 148,
+ 43,
+ 55,
+ 179,
+ 228,
+ 140,
+ 176,
+ 201,
+ 5,
+ 132,
+ 26,
+ 89,
+ 59,
+ 91,
+ 13,
+ 3,
+ 48,
+ 254,
+ 179,
+ 184,
+ 151,
+ 13,
+ 188,
+ 148,
+ 41,
+ 37,
+ 42,
+ 137,
+ 127,
+ 15,
+ 142,
+ 18,
+ 134,
+ 14,
+ 163,
+ 154
+ ],
+ "tag": [
+ 16,
+ 207,
+ 77,
+ 51,
+ 91,
+ 141,
+ 142,
+ 126,
+ 139,
+ 186,
+ 244,
+ 146,
+ 34,
+ 161,
+ 205,
+ 102
+ ]
+ },
+ {
+ "key": [
+ 165,
+ 10,
+ 96,
+ 229,
+ 104,
+ 255,
+ 53,
+ 166,
+ 16,
+ 239,
+ 148,
+ 121,
+ 192,
+ 139,
+ 188,
+ 123,
+ 182,
+ 76,
+ 55,
+ 63,
+ 200,
+ 83,
+ 243,
+ 127,
+ 166,
+ 179,
+ 80,
+ 37,
+ 10,
+ 38,
+ 242,
+ 50
+ ],
+ "nonce": [
+ 90,
+ 218,
+ 29,
+ 74,
+ 202,
+ 136,
+ 61,
+ 123,
+ 214,
+ 250,
+ 134,
+ 159
+ ],
+ "aad": [
+ 204,
+ 122,
+ 122,
+ 84,
+ 27,
+ 231,
+ 166,
+ 209,
+ 184,
+ 70,
+ 53,
+ 76,
+ 182,
+ 165,
+ 113,
+ 230
+ ],
+ "plaintext": [
+ 158,
+ 164,
+ 78,
+ 114,
+ 161,
+ 210,
+ 19,
+ 149,
+ 205,
+ 129,
+ 210,
+ 13,
+ 176,
+ 88,
+ 22,
+ 68,
+ 16,
+ 16,
+ 239,
+ 216,
+ 248,
+ 17,
+ 183,
+ 91,
+ 177,
+ 67,
+ 171,
+ 71,
+ 245,
+ 94,
+ 239,
+ 206,
+ 78,
+ 236,
+ 95,
+ 96,
+ 111,
+ 165,
+ 217,
+ 139,
+ 38,
+ 13,
+ 126,
+ 93,
+ 244,
+ 167,
+ 71,
+ 76,
+ 189,
+ 133,
+ 153
+ ],
+ "ciphertext": [
+ 65,
+ 101,
+ 177,
+ 53,
+ 24,
+ 127,
+ 174,
+ 179,
+ 149,
+ 212,
+ 83,
+ 28,
+ 6,
+ 39,
+ 56,
+ 224,
+ 212,
+ 125,
+ 248,
+ 190,
+ 217,
+ 25,
+ 130,
+ 235,
+ 50,
+ 227,
+ 145,
+ 166,
+ 179,
+ 113,
+ 31,
+ 17,
+ 123,
+ 111,
+ 174,
+ 10,
+ 253,
+ 231,
+ 145,
+ 222,
+ 62,
+ 114,
+ 252,
+ 249,
+ 109,
+ 43,
+ 83,
+ 255,
+ 26,
+ 98,
+ 26
+ ],
+ "tag": [
+ 226,
+ 203,
+ 254,
+ 162,
+ 16,
+ 5,
+ 133,
+ 178,
+ 203,
+ 229,
+ 16,
+ 125,
+ 161,
+ 127,
+ 247,
+ 122
+ ]
+ },
+ {
+ "key": [
+ 95,
+ 243,
+ 49,
+ 20,
+ 97,
+ 210,
+ 71,
+ 206,
+ 177,
+ 234,
+ 245,
+ 145,
+ 41,
+ 47,
+ 203,
+ 165,
+ 67,
+ 8,
+ 221,
+ 52,
+ 132,
+ 253,
+ 24,
+ 81,
+ 224,
+ 154,
+ 18,
+ 184,
+ 246,
+ 102,
+ 63,
+ 193
+ ],
+ "nonce": [
+ 97,
+ 175,
+ 46,
+ 106,
+ 236,
+ 24,
+ 49,
+ 41,
+ 207,
+ 5,
+ 60,
+ 43
+ ],
+ "aad": [
+ 94,
+ 175,
+ 237,
+ 102,
+ 116,
+ 242,
+ 174,
+ 131,
+ 57,
+ 125,
+ 249,
+ 35,
+ 224,
+ 89,
+ 219,
+ 73
+ ],
+ "plaintext": [
+ 146,
+ 13,
+ 248,
+ 178,
+ 136,
+ 138,
+ 116,
+ 2,
+ 46,
+ 222,
+ 105,
+ 25,
+ 237,
+ 11,
+ 244,
+ 140,
+ 207,
+ 81,
+ 227,
+ 149,
+ 254,
+ 91,
+ 250,
+ 105,
+ 166,
+ 32,
+ 159,
+ 249,
+ 164,
+ 102,
+ 116,
+ 2,
+ 78,
+ 170,
+ 79,
+ 67,
+ 174,
+ 44,
+ 147,
+ 55,
+ 48,
+ 185,
+ 253,
+ 200,
+ 173,
+ 33,
+ 97,
+ 48,
+ 68,
+ 124,
+ 200
+ ],
+ "ciphertext": [
+ 14,
+ 53,
+ 225,
+ 32,
+ 129,
+ 104,
+ 182,
+ 57,
+ 224,
+ 18,
+ 223,
+ 57,
+ 139,
+ 200,
+ 191,
+ 43,
+ 25,
+ 176,
+ 141,
+ 70,
+ 175,
+ 3,
+ 83,
+ 205,
+ 120,
+ 246,
+ 209,
+ 183,
+ 174,
+ 20,
+ 230,
+ 34,
+ 76,
+ 29,
+ 166,
+ 253,
+ 201,
+ 67,
+ 59,
+ 23,
+ 31,
+ 28,
+ 210,
+ 181,
+ 18,
+ 213,
+ 241,
+ 172,
+ 216,
+ 79,
+ 3
+ ],
+ "tag": [
+ 91,
+ 199,
+ 126,
+ 176,
+ 46,
+ 77,
+ 81,
+ 226,
+ 1,
+ 148,
+ 70,
+ 180,
+ 104,
+ 73,
+ 141,
+ 14
+ ]
+ },
+ {
+ "key": [
+ 66,
+ 233,
+ 53,
+ 71,
+ 238,
+ 231,
+ 225,
+ 142,
+ 201,
+ 98,
+ 13,
+ 211,
+ 220,
+ 14,
+ 43,
+ 28,
+ 243,
+ 229,
+ 212,
+ 72,
+ 25,
+ 138,
+ 144,
+ 45,
+ 237,
+ 63,
+ 147,
+ 93,
+ 169,
+ 211,
+ 91,
+ 51
+ ],
+ "nonce": [
+ 224,
+ 46,
+ 18,
+ 186,
+ 146,
+ 166,
+ 4,
+ 106,
+ 241,
+ 26,
+ 223,
+ 14
+ ],
+ "aad": [
+ 172,
+ 61,
+ 83,
+ 105,
+ 129,
+ 227,
+ 202,
+ 188,
+ 129,
+ 33,
+ 22,
+ 70,
+ 225,
+ 79,
+ 47,
+ 146
+ ],
+ "plaintext": [
+ 108,
+ 55,
+ 4,
+ 179,
+ 37,
+ 39,
+ 172,
+ 227,
+ 213,
+ 35,
+ 102,
+ 135,
+ 196,
+ 169,
+ 138,
+ 26,
+ 213,
+ 164,
+ 248,
+ 60,
+ 4,
+ 175,
+ 47,
+ 98,
+ 201,
+ 232,
+ 126,
+ 127,
+ 61,
+ 4,
+ 105,
+ 50,
+ 121,
+ 25,
+ 216,
+ 16,
+ 187,
+ 108,
+ 68,
+ 253,
+ 60,
+ 155,
+ 20,
+ 104,
+ 82,
+ 88,
+ 58,
+ 68,
+ 237,
+ 47,
+ 60
+ ],
+ "ciphertext": [
+ 139,
+ 101,
+ 6,
+ 175,
+ 112,
+ 58,
+ 227,
+ 21,
+ 142,
+ 182,
+ 30,
+ 47,
+ 156,
+ 43,
+ 99,
+ 222,
+ 64,
+ 59,
+ 46,
+ 188,
+ 107,
+ 30,
+ 103,
+ 89,
+ 206,
+ 185,
+ 156,
+ 8,
+ 170,
+ 102,
+ 203,
+ 7,
+ 209,
+ 217,
+ 19,
+ 172,
+ 74,
+ 205,
+ 122,
+ 249,
+ 185,
+ 224,
+ 59,
+ 58,
+ 246,
+ 2,
+ 188,
+ 175,
+ 43,
+ 182,
+ 94
+ ],
+ "tag": [
+ 166,
+ 206,
+ 44,
+ 203,
+ 35,
+ 111,
+ 201,
+ 158,
+ 135,
+ 183,
+ 108,
+ 196,
+ 18,
+ 167,
+ 144,
+ 49
+ ]
+ },
+ {
+ "key": [
+ 36,
+ 80,
+ 26,
+ 211,
+ 132,
+ 228,
+ 115,
+ 150,
+ 61,
+ 71,
+ 110,
+ 220,
+ 254,
+ 8,
+ 32,
+ 82,
+ 55,
+ 172,
+ 253,
+ 73,
+ 181,
+ 184,
+ 243,
+ 56,
+ 87,
+ 248,
+ 17,
+ 78,
+ 134,
+ 63,
+ 236,
+ 127
+ ],
+ "nonce": [
+ 159,
+ 241,
+ 133,
+ 99,
+ 185,
+ 120,
+ 236,
+ 40,
+ 27,
+ 63,
+ 39,
+ 148
+ ],
+ "aad": [
+ 173,
+ 181,
+ 236,
+ 114,
+ 12,
+ 207,
+ 152,
+ 152,
+ 80,
+ 0,
+ 40,
+ 191,
+ 52,
+ 175,
+ 204,
+ 188,
+ 172,
+ 161,
+ 38,
+ 239
+ ],
+ "plaintext": [
+ 39,
+ 243,
+ 72,
+ 249,
+ 205,
+ 192,
+ 197,
+ 189,
+ 94,
+ 102,
+ 177,
+ 204,
+ 182,
+ 58,
+ 217,
+ 32,
+ 255,
+ 34,
+ 25,
+ 209,
+ 78,
+ 141,
+ 99,
+ 27,
+ 56,
+ 114,
+ 38,
+ 92,
+ 241,
+ 23,
+ 238,
+ 134,
+ 117,
+ 122,
+ 204,
+ 177,
+ 88,
+ 189,
+ 154,
+ 187,
+ 56,
+ 104,
+ 253,
+ 192,
+ 208,
+ 176,
+ 116,
+ 181,
+ 240,
+ 27,
+ 44
+ ],
+ "ciphertext": [
+ 235,
+ 124,
+ 183,
+ 84,
+ 200,
+ 36,
+ 232,
+ 217,
+ 111,
+ 124,
+ 109,
+ 155,
+ 118,
+ 199,
+ 210,
+ 111,
+ 184,
+ 116,
+ 255,
+ 191,
+ 29,
+ 101,
+ 198,
+ 246,
+ 74,
+ 105,
+ 141,
+ 131,
+ 155,
+ 11,
+ 6,
+ 20,
+ 93,
+ 174,
+ 130,
+ 5,
+ 122,
+ 213,
+ 89,
+ 148,
+ 207,
+ 89,
+ 173,
+ 127,
+ 103,
+ 192,
+ 250,
+ 94,
+ 133,
+ 250,
+ 184
+ ],
+ "tag": [
+ 188,
+ 149,
+ 197,
+ 50,
+ 254,
+ 204,
+ 89,
+ 76,
+ 54,
+ 209,
+ 85,
+ 2,
+ 134,
+ 167,
+ 163,
+ 240
+ ]
+ },
+ {
+ "key": [
+ 251,
+ 67,
+ 245,
+ 171,
+ 74,
+ 23,
+ 56,
+ 163,
+ 12,
+ 30,
+ 5,
+ 61,
+ 72,
+ 74,
+ 148,
+ 37,
+ 65,
+ 37,
+ 213,
+ 93,
+ 204,
+ 238,
+ 26,
+ 214,
+ 124,
+ 54,
+ 139,
+ 193,
+ 169,
+ 133,
+ 210,
+ 53
+ ],
+ "nonce": [
+ 159,
+ 187,
+ 95,
+ 130,
+ 82,
+ 219,
+ 11,
+ 202,
+ 33,
+ 241,
+ 194,
+ 48
+ ],
+ "aad": [
+ 152,
+ 248,
+ 174,
+ 23,
+ 53,
+ 195,
+ 159,
+ 115,
+ 46,
+ 44,
+ 190,
+ 225,
+ 21,
+ 109,
+ 171,
+ 235,
+ 133,
+ 78,
+ 199,
+ 162
+ ],
+ "plaintext": [
+ 52,
+ 183,
+ 151,
+ 187,
+ 130,
+ 37,
+ 14,
+ 35,
+ 197,
+ 231,
+ 150,
+ 219,
+ 44,
+ 55,
+ 228,
+ 136,
+ 179,
+ 185,
+ 157,
+ 27,
+ 152,
+ 28,
+ 234,
+ 94,
+ 91,
+ 12,
+ 97,
+ 160,
+ 179,
+ 154,
+ 219,
+ 107,
+ 214,
+ 239,
+ 31,
+ 80,
+ 114,
+ 46,
+ 46,
+ 79,
+ 129,
+ 17,
+ 92,
+ 252,
+ 245,
+ 63,
+ 132,
+ 46,
+ 42,
+ 108,
+ 8
+ ],
+ "ciphertext": [
+ 135,
+ 28,
+ 213,
+ 61,
+ 149,
+ 168,
+ 184,
+ 6,
+ 189,
+ 72,
+ 33,
+ 230,
+ 196,
+ 69,
+ 98,
+ 4,
+ 210,
+ 127,
+ 215,
+ 4,
+ 186,
+ 61,
+ 7,
+ 206,
+ 37,
+ 135,
+ 45,
+ 198,
+ 4,
+ 234,
+ 92,
+ 94,
+ 161,
+ 51,
+ 34,
+ 24,
+ 107,
+ 116,
+ 137,
+ 219,
+ 79,
+ 160,
+ 96,
+ 193,
+ 253,
+ 65,
+ 89,
+ 105,
+ 38,
+ 18,
+ 200
+ ],
+ "tag": [
+ 7,
+ 180,
+ 142,
+ 74,
+ 50,
+ 250,
+ 196,
+ 126,
+ 17,
+ 93,
+ 122,
+ 199,
+ 68,
+ 93,
+ 131,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 159,
+ 149,
+ 59,
+ 159,
+ 47,
+ 59,
+ 180,
+ 16,
+ 58,
+ 75,
+ 52,
+ 216,
+ 202,
+ 46,
+ 195,
+ 114,
+ 13,
+ 247,
+ 254,
+ 223,
+ 140,
+ 105,
+ 202,
+ 201,
+ 0,
+ 189,
+ 117,
+ 51,
+ 139,
+ 234,
+ 186,
+ 190
+ ],
+ "nonce": [
+ 235,
+ 115,
+ 26,
+ 224,
+ 78,
+ 57,
+ 243,
+ 235,
+ 136,
+ 204,
+ 119,
+ 250
+ ],
+ "aad": [
+ 212,
+ 74,
+ 7,
+ 216,
+ 105,
+ 172,
+ 13,
+ 137,
+ 177,
+ 82,
+ 98,
+ 161,
+ 232,
+ 225,
+ 170,
+ 116,
+ 240,
+ 155,
+ 203,
+ 130
+ ],
+ "plaintext": [
+ 59,
+ 128,
+ 213,
+ 172,
+ 18,
+ 186,
+ 157,
+ 173,
+ 157,
+ 159,
+ 243,
+ 10,
+ 115,
+ 115,
+ 38,
+ 116,
+ 225,
+ 28,
+ 158,
+ 223,
+ 155,
+ 176,
+ 87,
+ 253,
+ 28,
+ 106,
+ 220,
+ 151,
+ 207,
+ 108,
+ 95,
+ 163,
+ 238,
+ 134,
+ 144,
+ 173,
+ 76,
+ 81,
+ 177,
+ 11,
+ 59,
+ 213,
+ 218,
+ 154,
+ 40,
+ 230,
+ 39,
+ 92,
+ 190,
+ 40,
+ 203
+ ],
+ "ciphertext": [
+ 21,
+ 51,
+ 206,
+ 142,
+ 47,
+ 198,
+ 171,
+ 72,
+ 90,
+ 239,
+ 111,
+ 207,
+ 176,
+ 141,
+ 237,
+ 131,
+ 174,
+ 84,
+ 154,
+ 113,
+ 17,
+ 252,
+ 226,
+ 161,
+ 216,
+ 163,
+ 246,
+ 145,
+ 243,
+ 81,
+ 130,
+ 206,
+ 70,
+ 252,
+ 230,
+ 32,
+ 77,
+ 125,
+ 175,
+ 184,
+ 211,
+ 32,
+ 108,
+ 78,
+ 75,
+ 100,
+ 91,
+ 195,
+ 245,
+ 175,
+ 209
+ ],
+ "tag": [
+ 240,
+ 146,
+ 101,
+ 194,
+ 31,
+ 144,
+ 239,
+ 121,
+ 179,
+ 9,
+ 169,
+ 61,
+ 183,
+ 61,
+ 146,
+ 144
+ ]
+ },
+ {
+ "key": [
+ 36,
+ 38,
+ 226,
+ 209,
+ 205,
+ 149,
+ 69,
+ 236,
+ 47,
+ 183,
+ 171,
+ 145,
+ 55,
+ 173,
+ 133,
+ 39,
+ 52,
+ 51,
+ 57,
+ 37,
+ 191,
+ 197,
+ 103,
+ 71,
+ 99,
+ 214,
+ 238,
+ 144,
+ 110,
+ 129,
+ 192,
+ 145
+ ],
+ "nonce": [
+ 73,
+ 160,
+ 148,
+ 167,
+ 29,
+ 57,
+ 59,
+ 54,
+ 218,
+ 164,
+ 165,
+ 145
+ ],
+ "aad": [
+ 23,
+ 115,
+ 9,
+ 207,
+ 201,
+ 19,
+ 227,
+ 245,
+ 192,
+ 147,
+ 232,
+ 177,
+ 49,
+ 155,
+ 168,
+ 24,
+ 38,
+ 212,
+ 60,
+ 229
+ ],
+ "plaintext": [
+ 124,
+ 190,
+ 121,
+ 130,
+ 211,
+ 101,
+ 165,
+ 93,
+ 20,
+ 124,
+ 149,
+ 69,
+ 131,
+ 249,
+ 118,
+ 10,
+ 9,
+ 148,
+ 138,
+ 183,
+ 62,
+ 187,
+ 225,
+ 178,
+ 193,
+ 214,
+ 158,
+ 213,
+ 142,
+ 9,
+ 42,
+ 52,
+ 115,
+ 146,
+ 25,
+ 44,
+ 254,
+ 139,
+ 206,
+ 24,
+ 202,
+ 67,
+ 238,
+ 25,
+ 175,
+ 118,
+ 82,
+ 51,
+ 27,
+ 217,
+ 44
+ ],
+ "ciphertext": [
+ 202,
+ 185,
+ 146,
+ 225,
+ 124,
+ 246,
+ 236,
+ 105,
+ 253,
+ 60,
+ 103,
+ 234,
+ 4,
+ 36,
+ 188,
+ 214,
+ 116,
+ 117,
+ 167,
+ 241,
+ 241,
+ 110,
+ 103,
+ 51,
+ 196,
+ 65,
+ 157,
+ 27,
+ 90,
+ 117,
+ 95,
+ 120,
+ 214,
+ 237,
+ 168,
+ 227,
+ 104,
+ 54,
+ 13,
+ 64,
+ 56,
+ 0,
+ 160,
+ 143,
+ 13,
+ 82,
+ 180,
+ 188,
+ 10,
+ 160,
+ 171
+ ],
+ "tag": [
+ 177,
+ 37,
+ 248,
+ 202,
+ 238,
+ 158,
+ 84,
+ 185,
+ 249,
+ 65,
+ 75,
+ 28,
+ 9,
+ 2,
+ 30,
+ 216
+ ]
+ },
+ {
+ "key": [
+ 141,
+ 193,
+ 178,
+ 75,
+ 203,
+ 190,
+ 227,
+ 203,
+ 142,
+ 20,
+ 179,
+ 68,
+ 22,
+ 109,
+ 70,
+ 29,
+ 0,
+ 199,
+ 73,
+ 0,
+ 65,
+ 237,
+ 201,
+ 250,
+ 7,
+ 225,
+ 156,
+ 200,
+ 42,
+ 62,
+ 217,
+ 196
+ ],
+ "nonce": [
+ 49,
+ 118,
+ 138,
+ 209,
+ 140,
+ 151,
+ 27,
+ 24,
+ 141,
+ 148,
+ 112,
+ 25
+ ],
+ "aad": [
+ 235,
+ 54,
+ 115,
+ 182,
+ 69,
+ 96,
+ 204,
+ 167,
+ 189,
+ 167,
+ 106,
+ 29,
+ 231,
+ 174,
+ 16,
+ 20,
+ 238,
+ 26,
+ 202,
+ 238
+ ],
+ "plaintext": [
+ 132,
+ 228,
+ 247,
+ 157,
+ 187,
+ 114,
+ 9,
+ 203,
+ 175,
+ 112,
+ 228,
+ 254,
+ 254,
+ 19,
+ 124,
+ 73,
+ 71,
+ 134,
+ 200,
+ 153,
+ 96,
+ 39,
+ 131,
+ 233,
+ 192,
+ 52,
+ 41,
+ 105,
+ 120,
+ 215,
+ 240,
+ 197,
+ 113,
+ 247,
+ 234,
+ 157,
+ 128,
+ 237,
+ 12,
+ 196,
+ 114,
+ 49,
+ 36,
+ 135,
+ 45,
+ 115,
+ 38,
+ 137,
+ 3,
+ 0,
+ 193
+ ],
+ "ciphertext": [
+ 36,
+ 2,
+ 172,
+ 216,
+ 101,
+ 212,
+ 183,
+ 49,
+ 188,
+ 147,
+ 149,
+ 234,
+ 224,
+ 229,
+ 125,
+ 56,
+ 253,
+ 245,
+ 206,
+ 132,
+ 122,
+ 199,
+ 174,
+ 247,
+ 87,
+ 145,
+ 165,
+ 44,
+ 117,
+ 115,
+ 234,
+ 155,
+ 58,
+ 41,
+ 110,
+ 98,
+ 203,
+ 30,
+ 217,
+ 124,
+ 75,
+ 211,
+ 75,
+ 229,
+ 14,
+ 231,
+ 243,
+ 215,
+ 87,
+ 71,
+ 207
+ ],
+ "tag": [
+ 102,
+ 90,
+ 187,
+ 114,
+ 84,
+ 152,
+ 237,
+ 226,
+ 176,
+ 223,
+ 101,
+ 95,
+ 193,
+ 118,
+ 90,
+ 43
+ ]
+ },
+ {
+ "key": [
+ 188,
+ 137,
+ 143,
+ 100,
+ 58,
+ 95,
+ 44,
+ 216,
+ 100,
+ 193,
+ 11,
+ 80,
+ 123,
+ 75,
+ 128,
+ 59,
+ 79,
+ 244,
+ 172,
+ 230,
+ 31,
+ 173,
+ 204,
+ 123,
+ 205,
+ 152,
+ 175,
+ 57,
+ 71,
+ 49,
+ 183,
+ 145
+ ],
+ "nonce": [
+ 204,
+ 68,
+ 125,
+ 131,
+ 192,
+ 166,
+ 115,
+ 74,
+ 121,
+ 119,
+ 140,
+ 100
+ ],
+ "aad": [
+ 233,
+ 50,
+ 189,
+ 46,
+ 14,
+ 108,
+ 85,
+ 13,
+ 19,
+ 111,
+ 114,
+ 94,
+ 20,
+ 197,
+ 61,
+ 39,
+ 255,
+ 178,
+ 15,
+ 106
+ ],
+ "plaintext": [
+ 18,
+ 78,
+ 185,
+ 99,
+ 205,
+ 181,
+ 111,
+ 164,
+ 156,
+ 112,
+ 169,
+ 177,
+ 170,
+ 104,
+ 36,
+ 69,
+ 197,
+ 80,
+ 101,
+ 242,
+ 104,
+ 89,
+ 241,
+ 209,
+ 110,
+ 239,
+ 124,
+ 254,
+ 73,
+ 21,
+ 135,
+ 83,
+ 62,
+ 237,
+ 215,
+ 226,
+ 61,
+ 234,
+ 189,
+ 223,
+ 197,
+ 85,
+ 12,
+ 47,
+ 166,
+ 160,
+ 139,
+ 23,
+ 130,
+ 38,
+ 153
+ ],
+ "ciphertext": [
+ 69,
+ 216,
+ 144,
+ 142,
+ 249,
+ 238,
+ 243,
+ 105,
+ 231,
+ 139,
+ 126,
+ 160,
+ 183,
+ 208,
+ 35,
+ 169,
+ 44,
+ 99,
+ 100,
+ 130,
+ 113,
+ 146,
+ 126,
+ 254,
+ 155,
+ 2,
+ 32,
+ 235,
+ 9,
+ 237,
+ 150,
+ 243,
+ 182,
+ 53,
+ 198,
+ 236,
+ 139,
+ 252,
+ 104,
+ 180,
+ 194,
+ 40,
+ 183,
+ 18,
+ 73,
+ 75,
+ 179,
+ 127,
+ 76,
+ 127,
+ 26
+ ],
+ "tag": [
+ 71,
+ 137,
+ 152,
+ 87,
+ 73,
+ 75,
+ 172,
+ 40,
+ 210,
+ 23,
+ 106,
+ 156,
+ 146,
+ 48,
+ 38,
+ 178
+ ]
+ },
+ {
+ "key": [
+ 142,
+ 130,
+ 168,
+ 84,
+ 102,
+ 238,
+ 2,
+ 78,
+ 177,
+ 174,
+ 16,
+ 196,
+ 152,
+ 45,
+ 106,
+ 149,
+ 230,
+ 219,
+ 229,
+ 88,
+ 34,
+ 153,
+ 171,
+ 55,
+ 254,
+ 137,
+ 169,
+ 219,
+ 128,
+ 171,
+ 81,
+ 166
+ ],
+ "nonce": [
+ 4,
+ 207,
+ 212,
+ 137,
+ 225,
+ 142,
+ 235,
+ 122,
+ 74,
+ 138,
+ 179,
+ 107
+ ],
+ "aad": [
+ 123,
+ 181,
+ 75,
+ 26,
+ 110,
+ 208,
+ 202,
+ 56,
+ 114,
+ 104,
+ 161,
+ 70,
+ 67,
+ 12,
+ 11,
+ 250,
+ 38,
+ 2,
+ 168,
+ 253
+ ],
+ "plaintext": [
+ 58,
+ 162,
+ 228,
+ 234,
+ 237,
+ 24,
+ 196,
+ 96,
+ 39,
+ 21,
+ 174,
+ 119,
+ 55,
+ 158,
+ 144,
+ 131,
+ 112,
+ 138,
+ 249,
+ 249,
+ 180,
+ 144,
+ 49,
+ 50,
+ 77,
+ 65,
+ 171,
+ 202,
+ 97,
+ 68,
+ 3,
+ 25,
+ 200,
+ 200,
+ 230,
+ 219,
+ 204,
+ 32,
+ 0,
+ 106,
+ 130,
+ 91,
+ 18,
+ 206,
+ 208,
+ 11,
+ 34,
+ 134,
+ 132,
+ 138,
+ 148
+ ],
+ "ciphertext": [
+ 103,
+ 75,
+ 19,
+ 145,
+ 147,
+ 112,
+ 116,
+ 100,
+ 36,
+ 8,
+ 238,
+ 174,
+ 155,
+ 116,
+ 140,
+ 166,
+ 41,
+ 218,
+ 159,
+ 208,
+ 2,
+ 129,
+ 130,
+ 79,
+ 90,
+ 16,
+ 143,
+ 96,
+ 120,
+ 238,
+ 120,
+ 249,
+ 135,
+ 73,
+ 57,
+ 43,
+ 182,
+ 226,
+ 155,
+ 83,
+ 229,
+ 62,
+ 75,
+ 17,
+ 115,
+ 154,
+ 197,
+ 58,
+ 142,
+ 101,
+ 59
+ ],
+ "tag": [
+ 227,
+ 32,
+ 168,
+ 115,
+ 169,
+ 194,
+ 232,
+ 239,
+ 69,
+ 86,
+ 152,
+ 195,
+ 126,
+ 165,
+ 154,
+ 109
+ ]
+ },
+ {
+ "key": [
+ 241,
+ 242,
+ 197,
+ 80,
+ 62,
+ 191,
+ 53,
+ 172,
+ 19,
+ 115,
+ 194,
+ 158,
+ 35,
+ 5,
+ 233,
+ 99,
+ 248,
+ 159,
+ 110,
+ 208,
+ 21,
+ 161,
+ 129,
+ 183,
+ 15,
+ 181,
+ 73,
+ 66,
+ 152,
+ 5,
+ 213,
+ 217
+ ],
+ "nonce": [
+ 47,
+ 181,
+ 198,
+ 162,
+ 79,
+ 64,
+ 104,
+ 114,
+ 117,
+ 93,
+ 176,
+ 92
+ ],
+ "aad": [
+ 146,
+ 193,
+ 243,
+ 72,
+ 154,
+ 237,
+ 144,
+ 174,
+ 218,
+ 251,
+ 85,
+ 86,
+ 42,
+ 52,
+ 179,
+ 244,
+ 190,
+ 41,
+ 225,
+ 1
+ ],
+ "plaintext": [
+ 180,
+ 162,
+ 128,
+ 145,
+ 152,
+ 3,
+ 92,
+ 39,
+ 118,
+ 55,
+ 187,
+ 28,
+ 41,
+ 39,
+ 251,
+ 92,
+ 96,
+ 180,
+ 158,
+ 249,
+ 8,
+ 124,
+ 128,
+ 0,
+ 18,
+ 216,
+ 102,
+ 61,
+ 153,
+ 121,
+ 131,
+ 252,
+ 183,
+ 141,
+ 81,
+ 160,
+ 84,
+ 17,
+ 74,
+ 36,
+ 225,
+ 225,
+ 181,
+ 33,
+ 75,
+ 88,
+ 231,
+ 222,
+ 228,
+ 113,
+ 149
+ ],
+ "ciphertext": [
+ 240,
+ 81,
+ 163,
+ 169,
+ 104,
+ 39,
+ 138,
+ 70,
+ 99,
+ 11,
+ 40,
+ 148,
+ 160,
+ 211,
+ 134,
+ 193,
+ 143,
+ 160,
+ 52,
+ 150,
+ 13,
+ 141,
+ 221,
+ 20,
+ 232,
+ 142,
+ 16,
+ 113,
+ 175,
+ 187,
+ 202,
+ 91,
+ 175,
+ 2,
+ 150,
+ 124,
+ 34,
+ 112,
+ 17,
+ 123,
+ 79,
+ 178,
+ 189,
+ 76,
+ 253,
+ 3,
+ 33,
+ 116,
+ 80,
+ 95,
+ 153
+ ],
+ "tag": [
+ 111,
+ 29,
+ 181,
+ 41,
+ 54,
+ 96,
+ 182,
+ 144,
+ 79,
+ 127,
+ 0,
+ 142,
+ 64,
+ 155,
+ 220,
+ 6
+ ]
+ },
+ {
+ "key": [
+ 240,
+ 51,
+ 141,
+ 38,
+ 215,
+ 75,
+ 209,
+ 118,
+ 141,
+ 165,
+ 187,
+ 121,
+ 197,
+ 159,
+ 171,
+ 43,
+ 74,
+ 190,
+ 25,
+ 102,
+ 50,
+ 64,
+ 72,
+ 121,
+ 12,
+ 68,
+ 188,
+ 152,
+ 166,
+ 179,
+ 75,
+ 108
+ ],
+ "nonce": [
+ 200,
+ 38,
+ 158,
+ 68,
+ 6,
+ 250,
+ 11,
+ 225,
+ 207,
+ 5,
+ 123,
+ 47
+ ],
+ "aad": [
+ 19,
+ 251,
+ 14,
+ 220,
+ 186,
+ 9,
+ 92,
+ 239,
+ 156,
+ 67,
+ 67,
+ 160,
+ 98,
+ 159,
+ 213,
+ 2,
+ 15,
+ 3,
+ 114,
+ 157
+ ],
+ "plaintext": [
+ 50,
+ 60,
+ 55,
+ 62,
+ 77,
+ 133,
+ 161,
+ 253,
+ 33,
+ 243,
+ 135,
+ 253,
+ 216,
+ 199,
+ 230,
+ 174,
+ 235,
+ 213,
+ 170,
+ 232,
+ 147,
+ 215,
+ 175,
+ 40,
+ 108,
+ 178,
+ 20,
+ 96,
+ 12,
+ 186,
+ 139,
+ 158,
+ 176,
+ 109,
+ 240,
+ 133,
+ 162,
+ 220,
+ 90,
+ 237,
+ 135,
+ 2,
+ 89,
+ 247,
+ 243,
+ 204,
+ 129,
+ 211,
+ 235,
+ 83,
+ 189
+ ],
+ "ciphertext": [
+ 8,
+ 87,
+ 43,
+ 156,
+ 249,
+ 188,
+ 253,
+ 33,
+ 212,
+ 64,
+ 58,
+ 18,
+ 24,
+ 217,
+ 68,
+ 118,
+ 185,
+ 238,
+ 140,
+ 59,
+ 148,
+ 197,
+ 102,
+ 37,
+ 194,
+ 28,
+ 202,
+ 244,
+ 192,
+ 239,
+ 163,
+ 76,
+ 242,
+ 42,
+ 83,
+ 35,
+ 137,
+ 33,
+ 7,
+ 147,
+ 105,
+ 156,
+ 157,
+ 225,
+ 171,
+ 20,
+ 248,
+ 196,
+ 197,
+ 41,
+ 40
+ ],
+ "tag": [
+ 41,
+ 150,
+ 140,
+ 159,
+ 182,
+ 16,
+ 148,
+ 12,
+ 238,
+ 159,
+ 213,
+ 178,
+ 247,
+ 200,
+ 186,
+ 33
+ ]
+ },
+ {
+ "key": [
+ 166,
+ 118,
+ 72,
+ 40,
+ 91,
+ 101,
+ 185,
+ 25,
+ 96,
+ 96,
+ 170,
+ 160,
+ 42,
+ 242,
+ 121,
+ 23,
+ 1,
+ 100,
+ 53,
+ 62,
+ 56,
+ 251,
+ 119,
+ 195,
+ 150,
+ 140,
+ 64,
+ 60,
+ 250,
+ 154,
+ 205,
+ 200
+ ],
+ "nonce": [
+ 8,
+ 34,
+ 214,
+ 179,
+ 233,
+ 30,
+ 204,
+ 183,
+ 225,
+ 66,
+ 69,
+ 253
+ ],
+ "aad": [
+ 13,
+ 154,
+ 90,
+ 247,
+ 172,
+ 39,
+ 67,
+ 141,
+ 146,
+ 83,
+ 77,
+ 151,
+ 255,
+ 67,
+ 120,
+ 39,
+ 71,
+ 144,
+ 229,
+ 159
+ ],
+ "plaintext": [
+ 181,
+ 210,
+ 113,
+ 118,
+ 140,
+ 18,
+ 204,
+ 171,
+ 248,
+ 158,
+ 178,
+ 213,
+ 140,
+ 189,
+ 232,
+ 64,
+ 194,
+ 109,
+ 28,
+ 155,
+ 54,
+ 146,
+ 88,
+ 31,
+ 144,
+ 200,
+ 176,
+ 215,
+ 178,
+ 207,
+ 243,
+ 26,
+ 233,
+ 25,
+ 45,
+ 40,
+ 79,
+ 84,
+ 72,
+ 222,
+ 125,
+ 146,
+ 74,
+ 123,
+ 8,
+ 241,
+ 21,
+ 237,
+ 174,
+ 117,
+ 170
+ ],
+ "ciphertext": [
+ 181,
+ 144,
+ 65,
+ 238,
+ 215,
+ 171,
+ 194,
+ 255,
+ 80,
+ 125,
+ 25,
+ 50,
+ 181,
+ 197,
+ 90,
+ 197,
+ 39,
+ 40,
+ 229,
+ 172,
+ 102,
+ 72,
+ 220,
+ 199,
+ 75,
+ 56,
+ 135,
+ 13,
+ 182,
+ 24,
+ 27,
+ 25,
+ 137,
+ 249,
+ 90,
+ 1,
+ 68,
+ 240,
+ 219,
+ 54,
+ 142,
+ 197,
+ 4,
+ 20,
+ 207,
+ 218,
+ 11,
+ 151,
+ 113,
+ 65,
+ 227
+ ],
+ "tag": [
+ 29,
+ 18,
+ 206,
+ 137,
+ 225,
+ 38,
+ 29,
+ 115,
+ 71,
+ 15,
+ 58,
+ 227,
+ 106,
+ 184,
+ 114,
+ 136
+ ]
+ },
+ {
+ "key": [
+ 81,
+ 22,
+ 43,
+ 36,
+ 53,
+ 243,
+ 207,
+ 67,
+ 71,
+ 31,
+ 76,
+ 192,
+ 255,
+ 172,
+ 152,
+ 180,
+ 56,
+ 80,
+ 30,
+ 233,
+ 184,
+ 135,
+ 132,
+ 58,
+ 102,
+ 233,
+ 149,
+ 28,
+ 163,
+ 91,
+ 135,
+ 103
+ ],
+ "nonce": [
+ 220,
+ 185,
+ 2,
+ 234,
+ 168,
+ 55,
+ 237,
+ 34,
+ 191,
+ 95,
+ 166,
+ 54
+ ],
+ "aad": [
+ 77,
+ 69,
+ 153,
+ 5,
+ 255,
+ 137,
+ 174,
+ 208,
+ 125,
+ 205,
+ 164,
+ 58,
+ 61,
+ 25,
+ 26,
+ 61,
+ 169,
+ 48,
+ 159,
+ 170
+ ],
+ "plaintext": [
+ 62,
+ 223,
+ 67,
+ 53,
+ 143,
+ 81,
+ 9,
+ 164,
+ 223,
+ 180,
+ 160,
+ 41,
+ 135,
+ 23,
+ 10,
+ 103,
+ 205,
+ 209,
+ 112,
+ 246,
+ 2,
+ 143,
+ 119,
+ 8,
+ 189,
+ 215,
+ 114,
+ 111,
+ 71,
+ 107,
+ 136,
+ 43,
+ 150,
+ 64,
+ 39,
+ 15,
+ 34,
+ 112,
+ 247,
+ 186,
+ 191,
+ 163,
+ 132,
+ 24,
+ 28,
+ 142,
+ 88,
+ 193,
+ 93,
+ 4,
+ 196
+ ],
+ "ciphertext": [
+ 4,
+ 106,
+ 35,
+ 19,
+ 211,
+ 108,
+ 188,
+ 67,
+ 182,
+ 208,
+ 120,
+ 126,
+ 94,
+ 243,
+ 125,
+ 21,
+ 48,
+ 144,
+ 163,
+ 29,
+ 15,
+ 102,
+ 86,
+ 0,
+ 64,
+ 52,
+ 190,
+ 114,
+ 185,
+ 176,
+ 122,
+ 206,
+ 58,
+ 138,
+ 190,
+ 134,
+ 20,
+ 54,
+ 34,
+ 130,
+ 216,
+ 125,
+ 164,
+ 12,
+ 41,
+ 198,
+ 10,
+ 26,
+ 159,
+ 92,
+ 64
+ ],
+ "tag": [
+ 199,
+ 65,
+ 11,
+ 92,
+ 185,
+ 77,
+ 40,
+ 119,
+ 193,
+ 137,
+ 152,
+ 55,
+ 145,
+ 206,
+ 232,
+ 46
+ ]
+ },
+ {
+ "key": [
+ 47,
+ 162,
+ 190,
+ 177,
+ 205,
+ 226,
+ 34,
+ 111,
+ 40,
+ 251,
+ 66,
+ 165,
+ 251,
+ 10,
+ 243,
+ 252,
+ 88,
+ 251,
+ 183,
+ 107,
+ 241,
+ 74,
+ 164,
+ 54,
+ 230,
+ 83,
+ 93,
+ 70,
+ 100,
+ 86,
+ 160,
+ 244
+ ],
+ "nonce": [
+ 80,
+ 25,
+ 5,
+ 20,
+ 163,
+ 116,
+ 11,
+ 60,
+ 11,
+ 29,
+ 245,
+ 118
+ ],
+ "aad": [
+ 37,
+ 20,
+ 41,
+ 40,
+ 193,
+ 174,
+ 156,
+ 123,
+ 133,
+ 3,
+ 9,
+ 224,
+ 125,
+ 243,
+ 89,
+ 56,
+ 157,
+ 181,
+ 57,
+ 252
+ ],
+ "plaintext": [
+ 165,
+ 224,
+ 180,
+ 131,
+ 125,
+ 252,
+ 162,
+ 99,
+ 186,
+ 40,
+ 106,
+ 191,
+ 121,
+ 64,
+ 182,
+ 231,
+ 15,
+ 171,
+ 181,
+ 93,
+ 141,
+ 238,
+ 80,
+ 40,
+ 97,
+ 124,
+ 17,
+ 144,
+ 251,
+ 211,
+ 39,
+ 247,
+ 155,
+ 121,
+ 210,
+ 243,
+ 77,
+ 182,
+ 7,
+ 106,
+ 176,
+ 124,
+ 236,
+ 255,
+ 113,
+ 20,
+ 177,
+ 92,
+ 160,
+ 42,
+ 51
+ ],
+ "ciphertext": [
+ 133,
+ 15,
+ 210,
+ 43,
+ 208,
+ 137,
+ 123,
+ 152,
+ 206,
+ 64,
+ 188,
+ 108,
+ 19,
+ 69,
+ 169,
+ 213,
+ 154,
+ 191,
+ 121,
+ 107,
+ 27,
+ 140,
+ 52,
+ 238,
+ 139,
+ 55,
+ 126,
+ 84,
+ 238,
+ 125,
+ 89,
+ 222,
+ 192,
+ 92,
+ 2,
+ 46,
+ 202,
+ 233,
+ 111,
+ 253,
+ 250,
+ 19,
+ 17,
+ 189,
+ 212,
+ 231,
+ 169,
+ 211,
+ 90,
+ 172,
+ 71
+ ],
+ "tag": [
+ 75,
+ 90,
+ 184,
+ 155,
+ 79,
+ 98,
+ 124,
+ 163,
+ 45,
+ 18,
+ 161,
+ 121,
+ 28,
+ 40,
+ 104,
+ 112
+ ]
+ },
+ {
+ "key": [
+ 169,
+ 42,
+ 121,
+ 124,
+ 226,
+ 178,
+ 243,
+ 130,
+ 3,
+ 11,
+ 119,
+ 161,
+ 171,
+ 233,
+ 76,
+ 128,
+ 118,
+ 238,
+ 232,
+ 141,
+ 226,
+ 220,
+ 73,
+ 41,
+ 53,
+ 11,
+ 36,
+ 77,
+ 189,
+ 173,
+ 221,
+ 48
+ ],
+ "nonce": [
+ 113,
+ 111,
+ 87,
+ 116,
+ 1,
+ 167,
+ 137,
+ 60,
+ 66,
+ 201,
+ 23,
+ 16
+ ],
+ "aad": [
+ 134,
+ 66,
+ 104,
+ 31,
+ 24,
+ 57,
+ 184,
+ 137,
+ 144,
+ 194,
+ 169,
+ 57,
+ 240,
+ 12,
+ 155,
+ 144,
+ 118,
+ 109,
+ 173,
+ 172
+ ],
+ "plaintext": [
+ 157,
+ 38,
+ 255,
+ 121,
+ 168,
+ 151,
+ 32,
+ 250,
+ 182,
+ 228,
+ 205,
+ 168,
+ 88,
+ 135,
+ 227,
+ 192,
+ 195,
+ 248,
+ 106,
+ 70,
+ 112,
+ 208,
+ 101,
+ 200,
+ 234,
+ 104,
+ 4,
+ 43,
+ 111,
+ 159,
+ 22,
+ 221,
+ 44,
+ 91,
+ 49,
+ 172,
+ 179,
+ 99,
+ 49,
+ 245,
+ 177,
+ 229,
+ 15,
+ 8,
+ 196,
+ 146,
+ 220,
+ 18,
+ 238,
+ 189,
+ 158
+ ],
+ "ciphertext": [
+ 48,
+ 128,
+ 188,
+ 243,
+ 96,
+ 76,
+ 248,
+ 31,
+ 95,
+ 44,
+ 110,
+ 220,
+ 128,
+ 223,
+ 229,
+ 216,
+ 119,
+ 22,
+ 138,
+ 153,
+ 3,
+ 89,
+ 138,
+ 112,
+ 10,
+ 11,
+ 186,
+ 225,
+ 136,
+ 250,
+ 220,
+ 122,
+ 139,
+ 118,
+ 160,
+ 75,
+ 64,
+ 64,
+ 15,
+ 146,
+ 82,
+ 215,
+ 249,
+ 67,
+ 127,
+ 168,
+ 240,
+ 36,
+ 163,
+ 189,
+ 235
+ ],
+ "tag": [
+ 143,
+ 197,
+ 111,
+ 107,
+ 244,
+ 142,
+ 251,
+ 0,
+ 71,
+ 104,
+ 134,
+ 178,
+ 160,
+ 62,
+ 203,
+ 137
+ ]
+ },
+ {
+ "key": [
+ 137,
+ 208,
+ 114,
+ 62,
+ 90,
+ 8,
+ 116,
+ 86,
+ 183,
+ 183,
+ 9,
+ 184,
+ 178,
+ 27,
+ 227,
+ 128,
+ 180,
+ 99,
+ 186,
+ 61,
+ 201,
+ 183,
+ 145,
+ 112,
+ 233,
+ 148,
+ 117,
+ 38,
+ 121,
+ 143,
+ 233,
+ 28
+ ],
+ "nonce": [
+ 104,
+ 226,
+ 243,
+ 7,
+ 183,
+ 212,
+ 157,
+ 77,
+ 156,
+ 4,
+ 23,
+ 85
+ ],
+ "aad": [
+ 179,
+ 72,
+ 5,
+ 179,
+ 7,
+ 3,
+ 166,
+ 43,
+ 109,
+ 55,
+ 201,
+ 63,
+ 36,
+ 67,
+ 225,
+ 163,
+ 49,
+ 84,
+ 181,
+ 251
+ ],
+ "plaintext": [
+ 127,
+ 226,
+ 175,
+ 183,
+ 16,
+ 232,
+ 253,
+ 73,
+ 204,
+ 161,
+ 194,
+ 186,
+ 143,
+ 208,
+ 129,
+ 69,
+ 148,
+ 251,
+ 164,
+ 214,
+ 103,
+ 1,
+ 118,
+ 48,
+ 225,
+ 112,
+ 168,
+ 163,
+ 121,
+ 250,
+ 88,
+ 55,
+ 191,
+ 55,
+ 12,
+ 161,
+ 205,
+ 76,
+ 152,
+ 189,
+ 140,
+ 79,
+ 19,
+ 235,
+ 112,
+ 104,
+ 255,
+ 167,
+ 26,
+ 176,
+ 124
+ ],
+ "ciphertext": [
+ 184,
+ 65,
+ 1,
+ 39,
+ 82,
+ 187,
+ 241,
+ 223,
+ 167,
+ 181,
+ 147,
+ 102,
+ 219,
+ 243,
+ 83,
+ 191,
+ 152,
+ 182,
+ 31,
+ 242,
+ 230,
+ 231,
+ 161,
+ 61,
+ 100,
+ 217,
+ 220,
+ 181,
+ 139,
+ 119,
+ 16,
+ 3,
+ 200,
+ 132,
+ 42,
+ 192,
+ 2,
+ 170,
+ 193,
+ 250,
+ 140,
+ 160,
+ 10,
+ 33,
+ 234,
+ 241,
+ 1,
+ 171,
+ 68,
+ 243,
+ 128
+ ],
+ "tag": [
+ 115,
+ 169,
+ 62,
+ 39,
+ 34,
+ 219,
+ 99,
+ 194,
+ 187,
+ 244,
+ 112,
+ 213,
+ 25,
+ 59,
+ 34,
+ 48
+ ]
+ },
+ {
+ "key": [
+ 50,
+ 154,
+ 110,
+ 148,
+ 177,
+ 204,
+ 230,
+ 147,
+ 228,
+ 69,
+ 105,
+ 70,
+ 80,
+ 214,
+ 43,
+ 140,
+ 44,
+ 154,
+ 176,
+ 58,
+ 9,
+ 230,
+ 212,
+ 236,
+ 160,
+ 92,
+ 72,
+ 41,
+ 30,
+ 87,
+ 107,
+ 137
+ ],
+ "nonce": [
+ 120,
+ 244,
+ 113,
+ 188,
+ 50,
+ 248,
+ 99,
+ 122,
+ 33,
+ 62,
+ 135,
+ 172
+ ],
+ "aad": [
+ 192,
+ 12,
+ 70,
+ 85,
+ 36,
+ 226,
+ 226,
+ 248,
+ 165,
+ 92,
+ 7,
+ 147,
+ 237,
+ 154,
+ 248,
+ 81,
+ 190,
+ 69,
+ 167,
+ 14
+ ],
+ "plaintext": [
+ 101,
+ 38,
+ 77,
+ 117,
+ 225,
+ 161,
+ 118,
+ 167,
+ 233,
+ 102,
+ 229,
+ 145,
+ 9,
+ 205,
+ 7,
+ 74,
+ 197,
+ 213,
+ 71,
+ 64,
+ 235,
+ 12,
+ 88,
+ 8,
+ 74,
+ 240,
+ 35,
+ 229,
+ 89,
+ 158,
+ 182,
+ 17,
+ 132,
+ 97,
+ 153,
+ 87,
+ 157,
+ 149,
+ 186,
+ 148,
+ 182,
+ 210,
+ 94,
+ 228,
+ 217,
+ 7,
+ 75,
+ 151,
+ 20,
+ 242,
+ 49
+ ],
+ "ciphertext": [
+ 150,
+ 77,
+ 102,
+ 93,
+ 30,
+ 60,
+ 16,
+ 24,
+ 223,
+ 216,
+ 131,
+ 226,
+ 23,
+ 207,
+ 228,
+ 200,
+ 86,
+ 204,
+ 132,
+ 79,
+ 118,
+ 68,
+ 181,
+ 59,
+ 182,
+ 143,
+ 190,
+ 102,
+ 248,
+ 84,
+ 31,
+ 164,
+ 58,
+ 197,
+ 78,
+ 146,
+ 162,
+ 177,
+ 148,
+ 214,
+ 216,
+ 146,
+ 159,
+ 224,
+ 49,
+ 233,
+ 75,
+ 62,
+ 112,
+ 236,
+ 160
+ ],
+ "tag": [
+ 253,
+ 81,
+ 19,
+ 133,
+ 113,
+ 18,
+ 54,
+ 242,
+ 233,
+ 158,
+ 109,
+ 165,
+ 4,
+ 32,
+ 7,
+ 183
+ ]
+ },
+ {
+ "key": [
+ 70,
+ 59,
+ 65,
+ 41,
+ 17,
+ 118,
+ 125,
+ 87,
+ 160,
+ 179,
+ 57,
+ 105,
+ 230,
+ 116,
+ 255,
+ 231,
+ 132,
+ 93,
+ 49,
+ 59,
+ 136,
+ 198,
+ 254,
+ 49,
+ 47,
+ 61,
+ 114,
+ 75,
+ 230,
+ 142,
+ 31,
+ 202
+ ],
+ "nonce": [
+ 97,
+ 28,
+ 230,
+ 249,
+ 166,
+ 136,
+ 7,
+ 80,
+ 222,
+ 125,
+ 166,
+ 203
+ ],
+ "aad": [
+ 10,
+ 104,
+ 47,
+ 188,
+ 97,
+ 146,
+ 225,
+ 180,
+ 122,
+ 94,
+ 8,
+ 104,
+ 120,
+ 127,
+ 253,
+ 175,
+ 229,
+ 165,
+ 12,
+ 234,
+ 211,
+ 87,
+ 88,
+ 73,
+ 153,
+ 12,
+ 221,
+ 46,
+ 169,
+ 179,
+ 89,
+ 119,
+ 73,
+ 64,
+ 62,
+ 251,
+ 74,
+ 86,
+ 104,
+ 79,
+ 12,
+ 107,
+ 222,
+ 53,
+ 45,
+ 74,
+ 238,
+ 197
+ ],
+ "plaintext": [
+ 231,
+ 209,
+ 220,
+ 246,
+ 104,
+ 226,
+ 135,
+ 104,
+ 97,
+ 148,
+ 14,
+ 1,
+ 47,
+ 229,
+ 42,
+ 152,
+ 218,
+ 203,
+ 215,
+ 138,
+ 182,
+ 60,
+ 8,
+ 132,
+ 44,
+ 201,
+ 128,
+ 30,
+ 165,
+ 129,
+ 104,
+ 42,
+ 213,
+ 74,
+ 240,
+ 195,
+ 77,
+ 13,
+ 127,
+ 111,
+ 89,
+ 232,
+ 238,
+ 11,
+ 244,
+ 144,
+ 14,
+ 15,
+ 216,
+ 80,
+ 66
+ ],
+ "ciphertext": [
+ 136,
+ 134,
+ 225,
+ 150,
+ 1,
+ 12,
+ 179,
+ 132,
+ 157,
+ 156,
+ 26,
+ 24,
+ 42,
+ 190,
+ 30,
+ 234,
+ 176,
+ 165,
+ 243,
+ 202,
+ 66,
+ 60,
+ 54,
+ 105,
+ 164,
+ 168,
+ 112,
+ 60,
+ 15,
+ 20,
+ 110,
+ 142,
+ 149,
+ 111,
+ 177,
+ 34,
+ 224,
+ 215,
+ 33,
+ 184,
+ 105,
+ 210,
+ 182,
+ 252,
+ 212,
+ 33,
+ 109,
+ 125,
+ 77,
+ 55,
+ 88
+ ],
+ "tag": [
+ 36,
+ 105,
+ 206,
+ 205,
+ 112,
+ 253,
+ 152,
+ 254,
+ 201,
+ 38,
+ 79,
+ 113,
+ 223,
+ 26,
+ 238,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 85,
+ 249,
+ 23,
+ 26,
+ 3,
+ 194,
+ 30,
+ 9,
+ 227,
+ 165,
+ 253,
+ 119,
+ 30,
+ 86,
+ 191,
+ 251,
+ 119,
+ 94,
+ 187,
+ 25,
+ 3,
+ 25,
+ 243,
+ 220,
+ 33,
+ 76,
+ 75,
+ 25,
+ 247,
+ 46,
+ 84,
+ 130
+ ],
+ "nonce": [
+ 20,
+ 243,
+ 191,
+ 149,
+ 160,
+ 142,
+ 143,
+ 82,
+ 235,
+ 70,
+ 251,
+ 249
+ ],
+ "aad": [
+ 186,
+ 193,
+ 221,
+ 239,
+ 209,
+ 17,
+ 212,
+ 113,
+ 231,
+ 95,
+ 14,
+ 251,
+ 15,
+ 129,
+ 39,
+ 180,
+ 218,
+ 146,
+ 62,
+ 204,
+ 120,
+ 138,
+ 92,
+ 145,
+ 227,
+ 226,
+ 246,
+ 94,
+ 41,
+ 67,
+ 228,
+ 202,
+ 244,
+ 47,
+ 84,
+ 137,
+ 102,
+ 4,
+ 175,
+ 25,
+ 237,
+ 11,
+ 77,
+ 134,
+ 151,
+ 212,
+ 90,
+ 185
+ ],
+ "plaintext": [
+ 175,
+ 107,
+ 23,
+ 253,
+ 103,
+ 188,
+ 17,
+ 115,
+ 176,
+ 99,
+ 252,
+ 111,
+ 9,
+ 65,
+ 72,
+ 60,
+ 238,
+ 156,
+ 187,
+ 187,
+ 237,
+ 58,
+ 77,
+ 207,
+ 245,
+ 90,
+ 116,
+ 176,
+ 201,
+ 83,
+ 91,
+ 151,
+ 126,
+ 250,
+ 100,
+ 14,
+ 91,
+ 26,
+ 48,
+ 250,
+ 168,
+ 89,
+ 253,
+ 61,
+ 170,
+ 141,
+ 215,
+ 128,
+ 204,
+ 148,
+ 160
+ ],
+ "ciphertext": [
+ 58,
+ 232,
+ 103,
+ 128,
+ 137,
+ 82,
+ 35,
+ 113,
+ 254,
+ 75,
+ 212,
+ 218,
+ 153,
+ 255,
+ 216,
+ 58,
+ 50,
+ 152,
+ 142,
+ 7,
+ 40,
+ 170,
+ 58,
+ 73,
+ 112,
+ 222,
+ 209,
+ 254,
+ 115,
+ 188,
+ 48,
+ 194,
+ 235,
+ 31,
+ 226,
+ 76,
+ 15,
+ 245,
+ 171,
+ 84,
+ 154,
+ 199,
+ 229,
+ 103,
+ 215,
+ 3,
+ 102,
+ 40,
+ 253,
+ 113,
+ 141
+ ],
+ "tag": [
+ 207,
+ 89,
+ 96,
+ 62,
+ 5,
+ 244,
+ 237,
+ 29,
+ 45,
+ 160,
+ 78,
+ 25,
+ 57,
+ 155,
+ 133,
+ 18
+ ]
+ },
+ {
+ "key": [
+ 84,
+ 96,
+ 29,
+ 21,
+ 56,
+ 229,
+ 240,
+ 77,
+ 195,
+ 254,
+ 149,
+ 228,
+ 131,
+ 228,
+ 13,
+ 236,
+ 10,
+ 170,
+ 88,
+ 55,
+ 93,
+ 200,
+ 104,
+ 218,
+ 22,
+ 124,
+ 154,
+ 89,
+ 158,
+ 211,
+ 69,
+ 217
+ ],
+ "nonce": [
+ 197,
+ 21,
+ 8,
+ 114,
+ 228,
+ 92,
+ 52,
+ 28,
+ 43,
+ 153,
+ 198,
+ 154
+ ],
+ "aad": [
+ 147,
+ 205,
+ 126,
+ 232,
+ 100,
+ 138,
+ 100,
+ 197,
+ 157,
+ 84,
+ 205,
+ 172,
+ 69,
+ 91,
+ 5,
+ 255,
+ 223,
+ 194,
+ 239,
+ 254,
+ 139,
+ 25,
+ 181,
+ 11,
+ 171,
+ 216,
+ 193,
+ 168,
+ 194,
+ 31,
+ 93,
+ 200,
+ 220,
+ 96,
+ 80,
+ 226,
+ 52,
+ 127,
+ 76,
+ 210,
+ 135,
+ 1,
+ 89,
+ 75,
+ 159,
+ 141,
+ 77,
+ 229
+ ],
+ "plaintext": [
+ 174,
+ 135,
+ 192,
+ 140,
+ 118,
+ 16,
+ 161,
+ 37,
+ 231,
+ 170,
+ 111,
+ 147,
+ 250,
+ 192,
+ 248,
+ 4,
+ 114,
+ 83,
+ 11,
+ 44,
+ 228,
+ 215,
+ 25,
+ 79,
+ 95,
+ 76,
+ 184,
+ 172,
+ 2,
+ 83,
+ 35,
+ 198,
+ 196,
+ 58,
+ 128,
+ 103,
+ 136,
+ 239,
+ 80,
+ 197,
+ 2,
+ 135,
+ 100,
+ 236,
+ 50,
+ 242,
+ 131,
+ 144,
+ 5,
+ 200,
+ 19
+ ],
+ "ciphertext": [
+ 213,
+ 240,
+ 5,
+ 220,
+ 103,
+ 189,
+ 201,
+ 115,
+ 132,
+ 7,
+ 206,
+ 36,
+ 1,
+ 151,
+ 127,
+ 89,
+ 201,
+ 200,
+ 53,
+ 32,
+ 226,
+ 98,
+ 208,
+ 200,
+ 219,
+ 127,
+ 228,
+ 122,
+ 224,
+ 234,
+ 218,
+ 48,
+ 214,
+ 116,
+ 105,
+ 79,
+ 0,
+ 142,
+ 34,
+ 47,
+ 151,
+ 51,
+ 166,
+ 230,
+ 61,
+ 129,
+ 73,
+ 158,
+ 36,
+ 117,
+ 103
+ ],
+ "tag": [
+ 52,
+ 112,
+ 21,
+ 81,
+ 68,
+ 199,
+ 73,
+ 41,
+ 152,
+ 1,
+ 52,
+ 219,
+ 105,
+ 149,
+ 221,
+ 136
+ ]
+ },
+ {
+ "key": [
+ 233,
+ 102,
+ 196,
+ 112,
+ 203,
+ 236,
+ 200,
+ 25,
+ 38,
+ 6,
+ 64,
+ 213,
+ 64,
+ 76,
+ 132,
+ 56,
+ 46,
+ 110,
+ 100,
+ 157,
+ 169,
+ 109,
+ 41,
+ 202,
+ 210,
+ 212,
+ 65,
+ 46,
+ 103,
+ 30,
+ 216,
+ 2
+ ],
+ "nonce": [
+ 179,
+ 169,
+ 45,
+ 111,
+ 73,
+ 254,
+ 44,
+ 185,
+ 193,
+ 68,
+ 211,
+ 57
+ ],
+ "aad": [
+ 223,
+ 166,
+ 42,
+ 58,
+ 75,
+ 91,
+ 58,
+ 246,
+ 119,
+ 12,
+ 253,
+ 60,
+ 239,
+ 59,
+ 187,
+ 76,
+ 206,
+ 63,
+ 100,
+ 146,
+ 87,
+ 130,
+ 169,
+ 168,
+ 166,
+ 225,
+ 95,
+ 227,
+ 116,
+ 77,
+ 143,
+ 147,
+ 16,
+ 64,
+ 13,
+ 208,
+ 78,
+ 141,
+ 121,
+ 102,
+ 192,
+ 56,
+ 80,
+ 83,
+ 158,
+ 68,
+ 10,
+ 165
+ ],
+ "plaintext": [
+ 122,
+ 223,
+ 111,
+ 203,
+ 65,
+ 213,
+ 155,
+ 141,
+ 43,
+ 102,
+ 48,
+ 16,
+ 195,
+ 212,
+ 207,
+ 95,
+ 95,
+ 11,
+ 149,
+ 207,
+ 117,
+ 79,
+ 118,
+ 248,
+ 98,
+ 108,
+ 68,
+ 40,
+ 70,
+ 126,
+ 92,
+ 102,
+ 132,
+ 231,
+ 126,
+ 120,
+ 87,
+ 177,
+ 204,
+ 117,
+ 87,
+ 98,
+ 233,
+ 234,
+ 145,
+ 23,
+ 227,
+ 187,
+ 7,
+ 112,
+ 64
+ ],
+ "ciphertext": [
+ 95,
+ 91,
+ 9,
+ 72,
+ 110,
+ 108,
+ 210,
+ 168,
+ 84,
+ 229,
+ 98,
+ 43,
+ 73,
+ 136,
+ 226,
+ 64,
+ 143,
+ 221,
+ 172,
+ 164,
+ 44,
+ 33,
+ 217,
+ 70,
+ 197,
+ 205,
+ 120,
+ 159,
+ 229,
+ 161,
+ 48,
+ 110,
+ 243,
+ 60,
+ 140,
+ 212,
+ 68,
+ 103,
+ 173,
+ 122,
+ 164,
+ 200,
+ 21,
+ 43,
+ 206,
+ 101,
+ 106,
+ 32,
+ 54,
+ 114,
+ 132
+ ],
+ "tag": [
+ 43,
+ 56,
+ 129,
+ 9,
+ 175,
+ 218,
+ 218,
+ 100,
+ 115,
+ 67,
+ 82,
+ 48,
+ 215,
+ 71,
+ 180,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 74,
+ 138,
+ 18,
+ 192,
+ 87,
+ 94,
+ 198,
+ 90,
+ 225,
+ 197,
+ 120,
+ 77,
+ 40,
+ 41,
+ 188,
+ 123,
+ 4,
+ 129,
+ 142,
+ 176,
+ 11,
+ 212,
+ 201,
+ 10,
+ 13,
+ 3,
+ 46,
+ 162,
+ 129,
+ 7,
+ 110,
+ 39
+ ],
+ "nonce": [
+ 149,
+ 159,
+ 17,
+ 59,
+ 112,
+ 83,
+ 151,
+ 251,
+ 115,
+ 128,
+ 24,
+ 176
+ ],
+ "aad": [
+ 173,
+ 184,
+ 188,
+ 150,
+ 20,
+ 42,
+ 16,
+ 37,
+ 18,
+ 45,
+ 194,
+ 47,
+ 130,
+ 105,
+ 87,
+ 25,
+ 122,
+ 243,
+ 61,
+ 205,
+ 207,
+ 107,
+ 122,
+ 181,
+ 107,
+ 193,
+ 165,
+ 225,
+ 126,
+ 133,
+ 52,
+ 228,
+ 139,
+ 141,
+ 175,
+ 104,
+ 95,
+ 175,
+ 149,
+ 67,
+ 187,
+ 52,
+ 54,
+ 20,
+ 189,
+ 246,
+ 115,
+ 127
+ ],
+ "plaintext": [
+ 12,
+ 85,
+ 113,
+ 25,
+ 85,
+ 134,
+ 228,
+ 252,
+ 112,
+ 150,
+ 251,
+ 134,
+ 207,
+ 205,
+ 102,
+ 132,
+ 8,
+ 20,
+ 70,
+ 243,
+ 215,
+ 173,
+ 195,
+ 58,
+ 137,
+ 127,
+ 3,
+ 172,
+ 79,
+ 246,
+ 195,
+ 204,
+ 32,
+ 25,
+ 182,
+ 123,
+ 211,
+ 24,
+ 76,
+ 134,
+ 7,
+ 7,
+ 100,
+ 246,
+ 222,
+ 170,
+ 138,
+ 16,
+ 208,
+ 216,
+ 31
+ ],
+ "ciphertext": [
+ 132,
+ 33,
+ 45,
+ 89,
+ 145,
+ 35,
+ 29,
+ 53,
+ 196,
+ 232,
+ 98,
+ 17,
+ 99,
+ 229,
+ 179,
+ 112,
+ 160,
+ 16,
+ 90,
+ 5,
+ 133,
+ 104,
+ 102,
+ 231,
+ 77,
+ 247,
+ 44,
+ 8,
+ 8,
+ 192,
+ 98,
+ 152,
+ 21,
+ 112,
+ 211,
+ 45,
+ 39,
+ 78,
+ 167,
+ 50,
+ 250,
+ 77,
+ 41,
+ 249,
+ 207,
+ 167,
+ 131,
+ 156,
+ 173,
+ 190,
+ 106
+ ],
+ "tag": [
+ 57,
+ 206,
+ 227,
+ 184,
+ 250,
+ 11,
+ 249,
+ 38,
+ 5,
+ 102,
+ 108,
+ 205,
+ 158,
+ 177,
+ 152,
+ 64
+ ]
+ },
+ {
+ "key": [
+ 97,
+ 151,
+ 164,
+ 250,
+ 124,
+ 252,
+ 237,
+ 239,
+ 242,
+ 35,
+ 246,
+ 158,
+ 166,
+ 139,
+ 77,
+ 223,
+ 84,
+ 182,
+ 131,
+ 53,
+ 12,
+ 32,
+ 135,
+ 91,
+ 227,
+ 83,
+ 7,
+ 126,
+ 155,
+ 188,
+ 227,
+ 70
+ ],
+ "nonce": [
+ 26,
+ 105,
+ 236,
+ 171,
+ 212,
+ 44,
+ 83,
+ 192,
+ 236,
+ 100,
+ 252,
+ 208
+ ],
+ "aad": [
+ 178,
+ 10,
+ 124,
+ 165,
+ 181,
+ 182,
+ 3,
+ 246,
+ 97,
+ 88,
+ 126,
+ 1,
+ 247,
+ 239,
+ 23,
+ 24,
+ 35,
+ 239,
+ 70,
+ 60,
+ 24,
+ 125,
+ 237,
+ 119,
+ 163,
+ 214,
+ 22,
+ 64,
+ 12,
+ 193,
+ 210,
+ 176,
+ 182,
+ 136,
+ 172,
+ 158,
+ 146,
+ 116,
+ 152,
+ 52,
+ 21,
+ 96,
+ 203,
+ 200,
+ 235,
+ 154,
+ 65,
+ 152
+ ],
+ "plaintext": [
+ 64,
+ 164,
+ 135,
+ 180,
+ 218,
+ 248,
+ 102,
+ 194,
+ 15,
+ 60,
+ 73,
+ 17,
+ 160,
+ 88,
+ 103,
+ 9,
+ 195,
+ 52,
+ 74,
+ 169,
+ 136,
+ 220,
+ 156,
+ 70,
+ 75,
+ 207,
+ 54,
+ 204,
+ 78,
+ 61,
+ 146,
+ 112,
+ 30,
+ 97,
+ 30,
+ 96,
+ 207,
+ 105,
+ 243,
+ 237,
+ 191,
+ 118,
+ 205,
+ 39,
+ 255,
+ 107,
+ 169,
+ 53,
+ 2,
+ 109,
+ 127
+ ],
+ "ciphertext": [
+ 6,
+ 66,
+ 15,
+ 160,
+ 56,
+ 238,
+ 98,
+ 219,
+ 48,
+ 204,
+ 5,
+ 191,
+ 227,
+ 76,
+ 141,
+ 44,
+ 57,
+ 169,
+ 212,
+ 57,
+ 101,
+ 57,
+ 7,
+ 197,
+ 18,
+ 237,
+ 96,
+ 101,
+ 17,
+ 146,
+ 31,
+ 231,
+ 97,
+ 16,
+ 145,
+ 58,
+ 91,
+ 251,
+ 107,
+ 108,
+ 123,
+ 35,
+ 215,
+ 248,
+ 136,
+ 63,
+ 90,
+ 182,
+ 95,
+ 75,
+ 20
+ ],
+ "tag": [
+ 77,
+ 48,
+ 151,
+ 201,
+ 145,
+ 144,
+ 2,
+ 205,
+ 29,
+ 168,
+ 63,
+ 41,
+ 130,
+ 3,
+ 18,
+ 237
+ ]
+ },
+ {
+ "key": [
+ 201,
+ 219,
+ 225,
+ 133,
+ 2,
+ 62,
+ 202,
+ 167,
+ 139,
+ 233,
+ 191,
+ 172,
+ 27,
+ 145,
+ 185,
+ 218,
+ 107,
+ 215,
+ 193,
+ 19,
+ 73,
+ 254,
+ 182,
+ 158,
+ 107,
+ 11,
+ 232,
+ 58,
+ 131,
+ 142,
+ 119,
+ 178
+ ],
+ "nonce": [
+ 137,
+ 64,
+ 250,
+ 124,
+ 106,
+ 253,
+ 63,
+ 122,
+ 9,
+ 236,
+ 147,
+ 182
+ ],
+ "aad": [
+ 241,
+ 123,
+ 211,
+ 87,
+ 96,
+ 131,
+ 101,
+ 230,
+ 107,
+ 152,
+ 228,
+ 145,
+ 145,
+ 205,
+ 194,
+ 163,
+ 129,
+ 59,
+ 186,
+ 90,
+ 27,
+ 121,
+ 136,
+ 170,
+ 138,
+ 170,
+ 170,
+ 212,
+ 184,
+ 109,
+ 14,
+ 244,
+ 226,
+ 105,
+ 140,
+ 173,
+ 121,
+ 157,
+ 99,
+ 252,
+ 210,
+ 165,
+ 232,
+ 124,
+ 14,
+ 62,
+ 146,
+ 154
+ ],
+ "plaintext": [
+ 7,
+ 91,
+ 224,
+ 214,
+ 18,
+ 115,
+ 230,
+ 151,
+ 89,
+ 120,
+ 208,
+ 184,
+ 139,
+ 63,
+ 163,
+ 143,
+ 195,
+ 152,
+ 212,
+ 208,
+ 242,
+ 42,
+ 52,
+ 42,
+ 138,
+ 250,
+ 85,
+ 98,
+ 175,
+ 14,
+ 124,
+ 143,
+ 165,
+ 72,
+ 240,
+ 216,
+ 250,
+ 236,
+ 137,
+ 138,
+ 32,
+ 201,
+ 126,
+ 133,
+ 23,
+ 84,
+ 153,
+ 44,
+ 30,
+ 212,
+ 163
+ ],
+ "ciphertext": [
+ 97,
+ 92,
+ 16,
+ 151,
+ 213,
+ 119,
+ 54,
+ 58,
+ 119,
+ 191,
+ 199,
+ 221,
+ 87,
+ 23,
+ 154,
+ 203,
+ 104,
+ 22,
+ 110,
+ 120,
+ 2,
+ 27,
+ 51,
+ 151,
+ 215,
+ 2,
+ 156,
+ 227,
+ 60,
+ 188,
+ 132,
+ 143,
+ 3,
+ 107,
+ 156,
+ 7,
+ 152,
+ 158,
+ 235,
+ 159,
+ 66,
+ 174,
+ 174,
+ 235,
+ 232,
+ 84,
+ 47,
+ 16,
+ 59,
+ 29,
+ 50
+ ],
+ "tag": [
+ 162,
+ 42,
+ 178,
+ 95,
+ 216,
+ 166,
+ 18,
+ 116,
+ 105,
+ 232,
+ 206,
+ 159,
+ 246,
+ 134,
+ 213,
+ 117
+ ]
+ },
+ {
+ "key": [
+ 230,
+ 205,
+ 207,
+ 73,
+ 122,
+ 110,
+ 17,
+ 144,
+ 9,
+ 191,
+ 67,
+ 172,
+ 24,
+ 61,
+ 45,
+ 212,
+ 212,
+ 233,
+ 103,
+ 150,
+ 78,
+ 249,
+ 40,
+ 17,
+ 246,
+ 158,
+ 177,
+ 141,
+ 146,
+ 146,
+ 51,
+ 5
+ ],
+ "nonce": [
+ 62,
+ 136,
+ 69,
+ 154,
+ 118,
+ 225,
+ 220,
+ 200,
+ 144,
+ 120,
+ 130,
+ 151
+ ],
+ "aad": [
+ 163,
+ 89,
+ 248,
+ 110,
+ 201,
+ 24,
+ 83,
+ 125,
+ 128,
+ 168,
+ 77,
+ 167,
+ 182,
+ 107,
+ 202,
+ 112,
+ 12,
+ 31,
+ 249,
+ 236,
+ 127,
+ 134,
+ 149,
+ 163,
+ 8,
+ 8,
+ 212,
+ 132,
+ 218,
+ 33,
+ 141,
+ 21,
+ 174,
+ 137,
+ 197,
+ 249,
+ 67,
+ 231,
+ 23,
+ 120,
+ 68,
+ 81,
+ 48,
+ 25,
+ 31,
+ 119,
+ 144,
+ 1
+ ],
+ "plaintext": [
+ 114,
+ 163,
+ 223,
+ 181,
+ 85,
+ 186,
+ 0,
+ 41,
+ 252,
+ 61,
+ 28,
+ 133,
+ 184,
+ 54,
+ 247,
+ 97,
+ 53,
+ 189,
+ 24,
+ 88,
+ 24,
+ 158,
+ 253,
+ 222,
+ 45,
+ 178,
+ 144,
+ 69,
+ 242,
+ 194,
+ 110,
+ 106,
+ 101,
+ 98,
+ 125,
+ 129,
+ 160,
+ 184,
+ 92,
+ 164,
+ 46,
+ 130,
+ 105,
+ 212,
+ 50,
+ 164,
+ 17,
+ 84,
+ 233,
+ 41,
+ 172
+ ],
+ "ciphertext": [
+ 154,
+ 227,
+ 248,
+ 204,
+ 174,
+ 11,
+ 181,
+ 120,
+ 155,
+ 17,
+ 5,
+ 17,
+ 135,
+ 96,
+ 196,
+ 6,
+ 228,
+ 17,
+ 117,
+ 167,
+ 102,
+ 18,
+ 67,
+ 92,
+ 176,
+ 200,
+ 190,
+ 34,
+ 94,
+ 166,
+ 179,
+ 104,
+ 201,
+ 208,
+ 140,
+ 157,
+ 154,
+ 36,
+ 181,
+ 18,
+ 209,
+ 69,
+ 142,
+ 148,
+ 175,
+ 121,
+ 227,
+ 6,
+ 10,
+ 182,
+ 158
+ ],
+ "tag": [
+ 172,
+ 59,
+ 188,
+ 143,
+ 214,
+ 167,
+ 9,
+ 125,
+ 246,
+ 242,
+ 152,
+ 65,
+ 28,
+ 35,
+ 227,
+ 133
+ ]
+ },
+ {
+ "key": [
+ 222,
+ 85,
+ 49,
+ 181,
+ 8,
+ 136,
+ 182,
+ 29,
+ 99,
+ 175,
+ 34,
+ 16,
+ 238,
+ 35,
+ 244,
+ 109,
+ 145,
+ 165,
+ 230,
+ 3,
+ 18,
+ 189,
+ 87,
+ 133,
+ 132,
+ 175,
+ 88,
+ 107,
+ 242,
+ 46,
+ 167,
+ 86
+ ],
+ "nonce": [
+ 15,
+ 222,
+ 134,
+ 137,
+ 176,
+ 52,
+ 139,
+ 188,
+ 250,
+ 168,
+ 159,
+ 236
+ ],
+ "aad": [
+ 34,
+ 219,
+ 151,
+ 205,
+ 95,
+ 53,
+ 159,
+ 18,
+ 174,
+ 198,
+ 108,
+ 81,
+ 199,
+ 218,
+ 121,
+ 186,
+ 98,
+ 157,
+ 180,
+ 200,
+ 199,
+ 229,
+ 80,
+ 27,
+ 226,
+ 236,
+ 30,
+ 76,
+ 195,
+ 243,
+ 148,
+ 75,
+ 110,
+ 48,
+ 87,
+ 208,
+ 147,
+ 188,
+ 104,
+ 183,
+ 53,
+ 181,
+ 21,
+ 105,
+ 80,
+ 249,
+ 24,
+ 4
+ ],
+ "plaintext": [
+ 128,
+ 98,
+ 30,
+ 84,
+ 238,
+ 241,
+ 201,
+ 42,
+ 251,
+ 31,
+ 100,
+ 237,
+ 134,
+ 14,
+ 57,
+ 49,
+ 30,
+ 234,
+ 126,
+ 44,
+ 202,
+ 111,
+ 86,
+ 36,
+ 0,
+ 140,
+ 29,
+ 46,
+ 88,
+ 29,
+ 113,
+ 18,
+ 183,
+ 238,
+ 11,
+ 85,
+ 159,
+ 195,
+ 219,
+ 87,
+ 91,
+ 123,
+ 124,
+ 66,
+ 238,
+ 79,
+ 42,
+ 32,
+ 68,
+ 45,
+ 192
+ ],
+ "ciphertext": [
+ 147,
+ 48,
+ 24,
+ 65,
+ 154,
+ 50,
+ 183,
+ 191,
+ 101,
+ 249,
+ 119,
+ 124,
+ 68,
+ 136,
+ 154,
+ 68,
+ 179,
+ 45,
+ 97,
+ 206,
+ 221,
+ 187,
+ 70,
+ 131,
+ 147,
+ 102,
+ 206,
+ 44,
+ 162,
+ 255,
+ 235,
+ 24,
+ 51,
+ 244,
+ 101,
+ 89,
+ 229,
+ 156,
+ 147,
+ 187,
+ 7,
+ 246,
+ 34,
+ 217,
+ 99,
+ 63,
+ 19,
+ 147,
+ 44,
+ 247,
+ 241
+ ],
+ "tag": [
+ 37,
+ 2,
+ 58,
+ 78,
+ 233,
+ 189,
+ 191,
+ 82,
+ 92,
+ 254,
+ 248,
+ 136,
+ 226,
+ 72,
+ 15,
+ 134
+ ]
+ },
+ {
+ "key": [
+ 188,
+ 12,
+ 99,
+ 104,
+ 169,
+ 187,
+ 38,
+ 34,
+ 246,
+ 213,
+ 186,
+ 18,
+ 222,
+ 88,
+ 31,
+ 0,
+ 51,
+ 54,
+ 194,
+ 152,
+ 173,
+ 172,
+ 52,
+ 73,
+ 155,
+ 242,
+ 107,
+ 17,
+ 230,
+ 48,
+ 248,
+ 145
+ ],
+ "nonce": [
+ 42,
+ 168,
+ 243,
+ 11,
+ 86,
+ 124,
+ 241,
+ 237,
+ 216,
+ 24,
+ 228,
+ 45
+ ],
+ "aad": [
+ 14,
+ 40,
+ 235,
+ 248,
+ 126,
+ 183,
+ 87,
+ 232,
+ 48,
+ 49,
+ 251,
+ 131,
+ 111,
+ 123,
+ 4,
+ 154,
+ 70,
+ 189,
+ 116,
+ 11,
+ 10,
+ 57,
+ 201,
+ 183,
+ 152,
+ 210,
+ 64,
+ 126,
+ 17,
+ 80,
+ 218,
+ 134,
+ 223,
+ 232,
+ 65,
+ 33,
+ 199,
+ 201,
+ 132,
+ 73,
+ 85,
+ 148,
+ 83,
+ 173,
+ 117,
+ 88,
+ 231,
+ 121
+ ],
+ "plaintext": [
+ 29,
+ 204,
+ 26,
+ 49,
+ 103,
+ 251,
+ 165,
+ 92,
+ 0,
+ 211,
+ 56,
+ 62,
+ 38,
+ 211,
+ 134,
+ 234,
+ 160,
+ 68,
+ 145,
+ 84,
+ 89,
+ 153,
+ 146,
+ 218,
+ 127,
+ 127,
+ 101,
+ 152,
+ 244,
+ 27,
+ 62,
+ 184,
+ 228,
+ 208,
+ 169,
+ 20,
+ 61,
+ 252,
+ 171,
+ 150,
+ 63,
+ 92,
+ 57,
+ 10,
+ 106,
+ 226,
+ 1,
+ 15,
+ 188,
+ 246,
+ 236
+ ],
+ "ciphertext": [
+ 120,
+ 208,
+ 10,
+ 110,
+ 51,
+ 2,
+ 54,
+ 152,
+ 23,
+ 185,
+ 207,
+ 31,
+ 36,
+ 234,
+ 19,
+ 196,
+ 23,
+ 81,
+ 56,
+ 46,
+ 63,
+ 234,
+ 116,
+ 64,
+ 61,
+ 9,
+ 71,
+ 55,
+ 227,
+ 47,
+ 181,
+ 7,
+ 24,
+ 76,
+ 254,
+ 188,
+ 228,
+ 141,
+ 16,
+ 180,
+ 206,
+ 141,
+ 177,
+ 46,
+ 249,
+ 97,
+ 228,
+ 223,
+ 44,
+ 142,
+ 149
+ ],
+ "tag": [
+ 192,
+ 175,
+ 243,
+ 89,
+ 79,
+ 134,
+ 181,
+ 142,
+ 34,
+ 156,
+ 122,
+ 208,
+ 92,
+ 43,
+ 132,
+ 240
+ ]
+ },
+ {
+ "key": [
+ 93,
+ 152,
+ 160,
+ 199,
+ 173,
+ 111,
+ 156,
+ 11,
+ 17,
+ 102,
+ 19,
+ 202,
+ 80,
+ 130,
+ 37,
+ 3,
+ 86,
+ 166,
+ 169,
+ 188,
+ 165,
+ 95,
+ 225,
+ 164,
+ 162,
+ 150,
+ 43,
+ 115,
+ 50,
+ 20,
+ 218,
+ 196
+ ],
+ "nonce": [
+ 139,
+ 45,
+ 142,
+ 141,
+ 131,
+ 189,
+ 214,
+ 163,
+ 18,
+ 93,
+ 217,
+ 151
+ ],
+ "aad": [
+ 47,
+ 32,
+ 99,
+ 109,
+ 70,
+ 206,
+ 55,
+ 233,
+ 187,
+ 12,
+ 160,
+ 196,
+ 29,
+ 129,
+ 158,
+ 62,
+ 171,
+ 206,
+ 218,
+ 203,
+ 209,
+ 202,
+ 60,
+ 237,
+ 17,
+ 45,
+ 58,
+ 214,
+ 32,
+ 187,
+ 211,
+ 178,
+ 239,
+ 254,
+ 128,
+ 211,
+ 236,
+ 135,
+ 96,
+ 112,
+ 110,
+ 143,
+ 20,
+ 219,
+ 131,
+ 19,
+ 154,
+ 112
+ ],
+ "plaintext": [
+ 79,
+ 54,
+ 133,
+ 194,
+ 207,
+ 188,
+ 133,
+ 99,
+ 121,
+ 209,
+ 253,
+ 0,
+ 249,
+ 97,
+ 31,
+ 228,
+ 192,
+ 164,
+ 185,
+ 196,
+ 1,
+ 63,
+ 225,
+ 190,
+ 225,
+ 68,
+ 68,
+ 151,
+ 9,
+ 166,
+ 167,
+ 227,
+ 31,
+ 246,
+ 251,
+ 13,
+ 167,
+ 78,
+ 212,
+ 100,
+ 176,
+ 102,
+ 176,
+ 59,
+ 80,
+ 241,
+ 156,
+ 215,
+ 245,
+ 249,
+ 188
+ ],
+ "ciphertext": [
+ 142,
+ 23,
+ 140,
+ 14,
+ 62,
+ 93,
+ 34,
+ 179,
+ 190,
+ 137,
+ 126,
+ 11,
+ 136,
+ 121,
+ 176,
+ 213,
+ 63,
+ 239,
+ 46,
+ 251,
+ 153,
+ 70,
+ 204,
+ 255,
+ 109,
+ 113,
+ 123,
+ 0,
+ 30,
+ 48,
+ 51,
+ 242,
+ 204,
+ 34,
+ 208,
+ 29,
+ 149,
+ 81,
+ 233,
+ 192,
+ 116,
+ 157,
+ 231,
+ 4,
+ 251,
+ 227,
+ 24,
+ 147,
+ 40,
+ 203,
+ 176
+ ],
+ "tag": [
+ 84,
+ 27,
+ 125,
+ 184,
+ 35,
+ 227,
+ 123,
+ 94,
+ 211,
+ 35,
+ 98,
+ 107,
+ 156,
+ 103,
+ 72,
+ 246
+ ]
+ },
+ {
+ "key": [
+ 216,
+ 10,
+ 39,
+ 3,
+ 233,
+ 130,
+ 222,
+ 26,
+ 47,
+ 231,
+ 6,
+ 255,
+ 230,
+ 227,
+ 137,
+ 243,
+ 81,
+ 171,
+ 53,
+ 108,
+ 207,
+ 5,
+ 109,
+ 240,
+ 69,
+ 226,
+ 148,
+ 27,
+ 66,
+ 239,
+ 33,
+ 164
+ ],
+ "nonce": [
+ 21,
+ 33,
+ 171,
+ 143,
+ 114,
+ 66,
+ 203,
+ 160,
+ 84,
+ 39,
+ 244,
+ 41
+ ],
+ "aad": [
+ 83,
+ 149,
+ 222,
+ 144,
+ 214,
+ 190,
+ 199,
+ 193,
+ 89,
+ 171,
+ 157,
+ 108,
+ 250,
+ 102,
+ 59,
+ 220,
+ 98,
+ 149,
+ 208,
+ 37,
+ 225,
+ 252,
+ 200,
+ 183,
+ 96,
+ 185,
+ 186,
+ 66,
+ 215,
+ 133,
+ 237,
+ 162,
+ 24,
+ 218,
+ 188,
+ 111,
+ 167,
+ 192,
+ 247,
+ 51,
+ 173,
+ 119,
+ 246,
+ 22,
+ 130,
+ 191,
+ 242,
+ 219
+ ],
+ "plaintext": [
+ 111,
+ 159,
+ 222,
+ 40,
+ 232,
+ 87,
+ 118,
+ 164,
+ 156,
+ 251,
+ 173,
+ 20,
+ 89,
+ 217,
+ 70,
+ 17,
+ 117,
+ 122,
+ 60,
+ 217,
+ 150,
+ 170,
+ 110,
+ 45,
+ 112,
+ 45,
+ 4,
+ 131,
+ 164,
+ 216,
+ 141,
+ 83,
+ 33,
+ 49,
+ 235,
+ 212,
+ 5,
+ 179,
+ 81,
+ 34,
+ 107,
+ 22,
+ 209,
+ 157,
+ 48,
+ 211,
+ 40,
+ 7,
+ 161,
+ 213,
+ 17
+ ],
+ "ciphertext": [
+ 30,
+ 114,
+ 168,
+ 73,
+ 92,
+ 234,
+ 218,
+ 240,
+ 211,
+ 27,
+ 40,
+ 186,
+ 124,
+ 183,
+ 195,
+ 124,
+ 203,
+ 17,
+ 119,
+ 97,
+ 211,
+ 143,
+ 231,
+ 221,
+ 152,
+ 235,
+ 35,
+ 15,
+ 244,
+ 234,
+ 11,
+ 64,
+ 4,
+ 1,
+ 233,
+ 181,
+ 49,
+ 26,
+ 123,
+ 233,
+ 178,
+ 165,
+ 51,
+ 82,
+ 58,
+ 212,
+ 105,
+ 226,
+ 253,
+ 178,
+ 51
+ ],
+ "tag": [
+ 187,
+ 23,
+ 75,
+ 118,
+ 36,
+ 201,
+ 53,
+ 255,
+ 117,
+ 179,
+ 183,
+ 127,
+ 247,
+ 6,
+ 138,
+ 152
+ ]
+ },
+ {
+ "key": [
+ 109,
+ 92,
+ 105,
+ 215,
+ 19,
+ 92,
+ 11,
+ 91,
+ 127,
+ 239,
+ 81,
+ 44,
+ 18,
+ 127,
+ 167,
+ 136,
+ 9,
+ 47,
+ 26,
+ 144,
+ 131,
+ 88,
+ 171,
+ 101,
+ 139,
+ 143,
+ 35,
+ 228,
+ 99,
+ 64,
+ 154,
+ 165
+ ],
+ "nonce": [
+ 179,
+ 108,
+ 204,
+ 173,
+ 56,
+ 205,
+ 97,
+ 72,
+ 163,
+ 132,
+ 160,
+ 38
+ ],
+ "aad": [
+ 177,
+ 159,
+ 70,
+ 22,
+ 187,
+ 20,
+ 82,
+ 37,
+ 26,
+ 42,
+ 125,
+ 191,
+ 120,
+ 249,
+ 32,
+ 25,
+ 79,
+ 19,
+ 158,
+ 4,
+ 36,
+ 210,
+ 118,
+ 131,
+ 98,
+ 29,
+ 30,
+ 225,
+ 232,
+ 101,
+ 115,
+ 124,
+ 36,
+ 102,
+ 224,
+ 88,
+ 67,
+ 156,
+ 142,
+ 18,
+ 46,
+ 88,
+ 42,
+ 123,
+ 99,
+ 96,
+ 124,
+ 233
+ ],
+ "plaintext": [
+ 180,
+ 231,
+ 79,
+ 92,
+ 86,
+ 242,
+ 234,
+ 5,
+ 109,
+ 159,
+ 249,
+ 49,
+ 82,
+ 89,
+ 68,
+ 223,
+ 173,
+ 32,
+ 126,
+ 6,
+ 59,
+ 162,
+ 38,
+ 195,
+ 84,
+ 224,
+ 50,
+ 10,
+ 80,
+ 68,
+ 153,
+ 103,
+ 233,
+ 100,
+ 88,
+ 13,
+ 155,
+ 87,
+ 2,
+ 140,
+ 20,
+ 0,
+ 90,
+ 186,
+ 104,
+ 101,
+ 248,
+ 188,
+ 106,
+ 62,
+ 248
+ ],
+ "ciphertext": [
+ 28,
+ 225,
+ 44,
+ 213,
+ 80,
+ 46,
+ 250,
+ 158,
+ 162,
+ 89,
+ 88,
+ 74,
+ 233,
+ 179,
+ 199,
+ 219,
+ 217,
+ 68,
+ 67,
+ 128,
+ 212,
+ 183,
+ 122,
+ 44,
+ 120,
+ 127,
+ 155,
+ 34,
+ 87,
+ 1,
+ 155,
+ 35,
+ 238,
+ 24,
+ 61,
+ 255,
+ 235,
+ 179,
+ 16,
+ 106,
+ 38,
+ 177,
+ 141,
+ 138,
+ 35,
+ 68,
+ 86,
+ 38,
+ 165,
+ 120,
+ 226
+ ],
+ "tag": [
+ 98,
+ 148,
+ 94,
+ 49,
+ 186,
+ 227,
+ 24,
+ 24,
+ 85,
+ 182,
+ 156,
+ 55,
+ 137,
+ 138,
+ 197,
+ 191
+ ]
+ },
+ {
+ "key": [
+ 230,
+ 175,
+ 227,
+ 196,
+ 219,
+ 44,
+ 29,
+ 19,
+ 237,
+ 177,
+ 197,
+ 147,
+ 27,
+ 43,
+ 75,
+ 81,
+ 94,
+ 192,
+ 253,
+ 98,
+ 1,
+ 19,
+ 158,
+ 225,
+ 234,
+ 85,
+ 206,
+ 201,
+ 34,
+ 99,
+ 131,
+ 14
+ ],
+ "nonce": [
+ 53,
+ 139,
+ 217,
+ 234,
+ 100,
+ 23,
+ 125,
+ 30,
+ 35,
+ 164,
+ 23,
+ 38
+ ],
+ "aad": [
+ 126,
+ 15,
+ 132,
+ 28,
+ 221,
+ 215,
+ 238,
+ 235,
+ 209,
+ 236,
+ 123,
+ 123,
+ 141,
+ 14,
+ 47,
+ 113,
+ 101,
+ 110,
+ 94,
+ 159,
+ 243,
+ 207,
+ 167,
+ 57,
+ 192,
+ 185,
+ 208,
+ 236,
+ 73,
+ 65,
+ 160,
+ 179,
+ 243,
+ 179,
+ 150,
+ 105,
+ 13,
+ 190,
+ 95,
+ 80,
+ 130,
+ 214,
+ 251,
+ 109,
+ 215,
+ 1,
+ 198,
+ 141
+ ],
+ "plaintext": [
+ 113,
+ 11,
+ 179,
+ 57,
+ 75,
+ 9,
+ 78,
+ 231,
+ 208,
+ 83,
+ 188,
+ 101,
+ 153,
+ 178,
+ 109,
+ 175,
+ 211,
+ 55,
+ 232,
+ 166,
+ 28,
+ 88,
+ 13,
+ 4,
+ 70,
+ 195,
+ 191,
+ 25,
+ 94,
+ 119,
+ 202,
+ 81,
+ 50,
+ 200,
+ 236,
+ 58,
+ 71,
+ 166,
+ 21,
+ 121,
+ 220,
+ 227,
+ 131,
+ 96,
+ 187,
+ 167,
+ 198,
+ 94,
+ 77,
+ 86,
+ 52
+ ],
+ "ciphertext": [
+ 69,
+ 116,
+ 168,
+ 219,
+ 81,
+ 91,
+ 65,
+ 193,
+ 76,
+ 42,
+ 150,
+ 45,
+ 255,
+ 52,
+ 226,
+ 22,
+ 26,
+ 113,
+ 149,
+ 196,
+ 145,
+ 177,
+ 27,
+ 121,
+ 136,
+ 154,
+ 255,
+ 147,
+ 197,
+ 183,
+ 154,
+ 100,
+ 85,
+ 223,
+ 159,
+ 232,
+ 239,
+ 92,
+ 91,
+ 158,
+ 219,
+ 93,
+ 161,
+ 170,
+ 159,
+ 230,
+ 96,
+ 88,
+ 185,
+ 6,
+ 95
+ ],
+ "tag": [
+ 124,
+ 146,
+ 141,
+ 127,
+ 92,
+ 186,
+ 201,
+ 187,
+ 75,
+ 89,
+ 40,
+ 254,
+ 114,
+ 120,
+ 153,
+ 235
+ ]
+ },
+ {
+ "key": [
+ 92,
+ 185,
+ 98,
+ 39,
+ 141,
+ 121,
+ 65,
+ 123,
+ 119,
+ 149,
+ 73,
+ 158,
+ 139,
+ 146,
+ 190,
+ 254,
+ 66,
+ 40,
+ 243,
+ 186,
+ 95,
+ 49,
+ 153,
+ 34,
+ 1,
+ 170,
+ 53,
+ 106,
+ 109,
+ 19,
+ 154,
+ 103
+ ],
+ "nonce": [
+ 118,
+ 247,
+ 231,
+ 96,
+ 143,
+ 9,
+ 160,
+ 95,
+ 51,
+ 105,
+ 148,
+ 207
+ ],
+ "aad": [
+ 3,
+ 45,
+ 227,
+ 253,
+ 236,
+ 39,
+ 63,
+ 200,
+ 68,
+ 108,
+ 43,
+ 247,
+ 103,
+ 226,
+ 1,
+ 242,
+ 199,
+ 193,
+ 144,
+ 172,
+ 249,
+ 214,
+ 211,
+ 33,
+ 162,
+ 74,
+ 4,
+ 98,
+ 203,
+ 195,
+ 53,
+ 110,
+ 121,
+ 143,
+ 226,
+ 61,
+ 108,
+ 27,
+ 79,
+ 232,
+ 59,
+ 233,
+ 201,
+ 93,
+ 113,
+ 192,
+ 85,
+ 4
+ ],
+ "plaintext": [
+ 46,
+ 18,
+ 203,
+ 212,
+ 104,
+ 8,
+ 106,
+ 167,
+ 14,
+ 46,
+ 205,
+ 29,
+ 222,
+ 245,
+ 97,
+ 232,
+ 92,
+ 34,
+ 93,
+ 208,
+ 131,
+ 229,
+ 149,
+ 111,
+ 92,
+ 103,
+ 80,
+ 51,
+ 68,
+ 176,
+ 234,
+ 152,
+ 43,
+ 181,
+ 4,
+ 77,
+ 175,
+ 188,
+ 192,
+ 42,
+ 91,
+ 155,
+ 225,
+ 233,
+ 185,
+ 136,
+ 144,
+ 45,
+ 128,
+ 23,
+ 43
+ ],
+ "ciphertext": [
+ 201,
+ 89,
+ 52,
+ 74,
+ 70,
+ 170,
+ 82,
+ 22,
+ 210,
+ 179,
+ 124,
+ 131,
+ 36,
+ 54,
+ 235,
+ 114,
+ 164,
+ 163,
+ 99,
+ 166,
+ 223,
+ 86,
+ 66,
+ 207,
+ 187,
+ 253,
+ 100,
+ 13,
+ 234,
+ 29,
+ 100,
+ 200,
+ 11,
+ 217,
+ 126,
+ 171,
+ 193,
+ 170,
+ 177,
+ 146,
+ 150,
+ 158,
+ 224,
+ 183,
+ 153,
+ 229,
+ 146,
+ 161,
+ 61,
+ 35,
+ 81
+ ],
+ "tag": [
+ 81,
+ 178,
+ 39,
+ 234,
+ 247,
+ 34,
+ 138,
+ 68,
+ 25,
+ 242,
+ 243,
+ 183,
+ 155,
+ 83,
+ 70,
+ 58
+ ]
+ },
+ {
+ "key": [
+ 20,
+ 133,
+ 121,
+ 163,
+ 203,
+ 202,
+ 134,
+ 213,
+ 82,
+ 13,
+ 102,
+ 192,
+ 236,
+ 113,
+ 202,
+ 95,
+ 126,
+ 65,
+ 186,
+ 120,
+ 229,
+ 109,
+ 198,
+ 238,
+ 189,
+ 86,
+ 111,
+ 237,
+ 84,
+ 127,
+ 230,
+ 145
+ ],
+ "nonce": [
+ 176,
+ 138,
+ 94,
+ 161,
+ 146,
+ 116,
+ 153,
+ 198,
+ 236,
+ 191,
+ 212,
+ 224
+ ],
+ "aad": [
+ 228,
+ 249,
+ 99,
+ 240,
+ 21,
+ 255,
+ 187,
+ 153,
+ 238,
+ 51,
+ 73,
+ 187,
+ 175,
+ 126,
+ 142,
+ 142,
+ 108,
+ 42,
+ 113,
+ 194,
+ 48,
+ 164,
+ 143,
+ 157,
+ 89,
+ 134,
+ 10,
+ 41,
+ 9,
+ 29,
+ 39,
+ 71,
+ 224,
+ 26,
+ 92,
+ 165,
+ 114,
+ 52,
+ 126,
+ 36,
+ 125,
+ 37,
+ 245,
+ 107,
+ 167,
+ 174,
+ 142,
+ 5,
+ 205,
+ 226,
+ 190,
+ 60,
+ 151,
+ 147,
+ 18,
+ 146,
+ 192,
+ 35,
+ 112,
+ 32,
+ 142,
+ 205,
+ 9,
+ 126,
+ 246,
+ 146,
+ 104,
+ 127,
+ 236,
+ 242,
+ 244,
+ 25,
+ 211,
+ 32,
+ 1,
+ 98,
+ 166,
+ 72,
+ 10,
+ 87,
+ 218,
+ 212,
+ 8,
+ 160,
+ 223,
+ 235,
+ 73,
+ 46,
+ 44,
+ 93
+ ],
+ "plaintext": [
+ 157,
+ 11,
+ 21,
+ 253,
+ 241,
+ 189,
+ 89,
+ 95,
+ 145,
+ 248,
+ 179,
+ 171,
+ 192,
+ 247,
+ 222,
+ 201,
+ 39,
+ 223,
+ 212,
+ 121,
+ 153,
+ 53,
+ 161,
+ 121,
+ 93,
+ 156,
+ 224,
+ 12,
+ 155,
+ 135,
+ 148,
+ 52,
+ 66,
+ 15,
+ 228,
+ 44,
+ 39,
+ 90,
+ 124,
+ 215,
+ 179,
+ 157,
+ 99,
+ 143,
+ 184,
+ 28,
+ 165,
+ 43,
+ 73,
+ 220,
+ 65
+ ],
+ "ciphertext": [
+ 32,
+ 151,
+ 227,
+ 114,
+ 149,
+ 10,
+ 94,
+ 147,
+ 131,
+ 198,
+ 117,
+ 232,
+ 158,
+ 234,
+ 28,
+ 49,
+ 79,
+ 153,
+ 145,
+ 89,
+ 245,
+ 97,
+ 19,
+ 68,
+ 178,
+ 152,
+ 205,
+ 164,
+ 94,
+ 98,
+ 132,
+ 55,
+ 22,
+ 242,
+ 21,
+ 248,
+ 46,
+ 230,
+ 99,
+ 145,
+ 156,
+ 100,
+ 0,
+ 42,
+ 92,
+ 25,
+ 141,
+ 120,
+ 120,
+ 253,
+ 63
+ ],
+ "tag": [
+ 173,
+ 190,
+ 205,
+ 176,
+ 213,
+ 194,
+ 34,
+ 77,
+ 128,
+ 77,
+ 40,
+ 134,
+ 255,
+ 154,
+ 87,
+ 96
+ ]
+ },
+ {
+ "key": [
+ 228,
+ 154,
+ 241,
+ 145,
+ 130,
+ 250,
+ 239,
+ 14,
+ 190,
+ 235,
+ 169,
+ 242,
+ 211,
+ 190,
+ 4,
+ 78,
+ 119,
+ 177,
+ 33,
+ 35,
+ 88,
+ 54,
+ 110,
+ 78,
+ 245,
+ 158,
+ 0,
+ 138,
+ 235,
+ 205,
+ 151,
+ 136
+ ],
+ "nonce": [
+ 231,
+ 243,
+ 125,
+ 121,
+ 166,
+ 164,
+ 135,
+ 165,
+ 167,
+ 3,
+ 237,
+ 187
+ ],
+ "aad": [
+ 25,
+ 169,
+ 161,
+ 207,
+ 198,
+ 71,
+ 52,
+ 103,
+ 129,
+ 190,
+ 245,
+ 30,
+ 217,
+ 7,
+ 13,
+ 5,
+ 249,
+ 154,
+ 14,
+ 1,
+ 146,
+ 162,
+ 35,
+ 197,
+ 205,
+ 37,
+ 34,
+ 219,
+ 223,
+ 151,
+ 217,
+ 115,
+ 157,
+ 211,
+ 159,
+ 177,
+ 120,
+ 173,
+ 227,
+ 51,
+ 158,
+ 104,
+ 119,
+ 75,
+ 5,
+ 138,
+ 160,
+ 62,
+ 154,
+ 32,
+ 169,
+ 162,
+ 5,
+ 188,
+ 5,
+ 243,
+ 35,
+ 129,
+ 223,
+ 77,
+ 99,
+ 57,
+ 110,
+ 246,
+ 145,
+ 254,
+ 253,
+ 90,
+ 113,
+ 180,
+ 154,
+ 42,
+ 216,
+ 45,
+ 94,
+ 164,
+ 40,
+ 119,
+ 140,
+ 164,
+ 126,
+ 225,
+ 57,
+ 135,
+ 146,
+ 118,
+ 36,
+ 19,
+ 207,
+ 244
+ ],
+ "plaintext": [
+ 70,
+ 28,
+ 208,
+ 202,
+ 247,
+ 66,
+ 122,
+ 61,
+ 68,
+ 64,
+ 141,
+ 130,
+ 94,
+ 215,
+ 25,
+ 35,
+ 114,
+ 114,
+ 236,
+ 213,
+ 3,
+ 185,
+ 9,
+ 77,
+ 31,
+ 98,
+ 201,
+ 125,
+ 99,
+ 237,
+ 131,
+ 160,
+ 181,
+ 11,
+ 220,
+ 128,
+ 79,
+ 253,
+ 215,
+ 153,
+ 29,
+ 167,
+ 165,
+ 182,
+ 220,
+ 244,
+ 141,
+ 75,
+ 205,
+ 44,
+ 188
+ ],
+ "ciphertext": [
+ 50,
+ 202,
+ 53,
+ 136,
+ 227,
+ 229,
+ 110,
+ 180,
+ 200,
+ 48,
+ 27,
+ 0,
+ 157,
+ 139,
+ 132,
+ 184,
+ 169,
+ 0,
+ 178,
+ 184,
+ 140,
+ 163,
+ 194,
+ 25,
+ 68,
+ 32,
+ 94,
+ 157,
+ 215,
+ 49,
+ 23,
+ 87,
+ 181,
+ 19,
+ 148,
+ 174,
+ 144,
+ 216,
+ 187,
+ 56,
+ 7,
+ 180,
+ 113,
+ 103,
+ 118,
+ 20,
+ 244,
+ 25,
+ 138,
+ 249,
+ 9
+ ],
+ "tag": [
+ 62,
+ 64,
+ 61,
+ 3,
+ 92,
+ 113,
+ 216,
+ 143,
+ 27,
+ 225,
+ 162,
+ 86,
+ 200,
+ 155,
+ 166,
+ 173
+ ]
+ },
+ {
+ "key": [
+ 194,
+ 119,
+ 223,
+ 4,
+ 93,
+ 10,
+ 26,
+ 57,
+ 86,
+ 149,
+ 143,
+ 39,
+ 16,
+ 85,
+ 194,
+ 41,
+ 210,
+ 99,
+ 68,
+ 39,
+ 177,
+ 215,
+ 62,
+ 153,
+ 213,
+ 73,
+ 32,
+ 218,
+ 105,
+ 247,
+ 46,
+ 1
+ ],
+ "nonce": [
+ 121,
+ 226,
+ 79,
+ 132,
+ 188,
+ 119,
+ 162,
+ 26,
+ 108,
+ 177,
+ 78,
+ 226
+ ],
+ "aad": [
+ 202,
+ 9,
+ 40,
+ 34,
+ 56,
+ 212,
+ 146,
+ 2,
+ 154,
+ 251,
+ 211,
+ 14,
+ 169,
+ 180,
+ 170,
+ 157,
+ 68,
+ 141,
+ 119,
+ 180,
+ 180,
+ 26,
+ 121,
+ 28,
+ 53,
+ 235,
+ 227,
+ 248,
+ 229,
+ 3,
+ 74,
+ 199,
+ 18,
+ 16,
+ 17,
+ 122,
+ 132,
+ 63,
+ 174,
+ 100,
+ 124,
+ 234,
+ 2,
+ 7,
+ 18,
+ 194,
+ 126,
+ 92,
+ 143,
+ 133,
+ 172,
+ 249,
+ 51,
+ 213,
+ 226,
+ 132,
+ 48,
+ 199,
+ 119,
+ 8,
+ 98,
+ 216,
+ 219,
+ 177,
+ 151,
+ 203,
+ 188,
+ 254,
+ 73,
+ 221,
+ 99,
+ 246,
+ 170,
+ 5,
+ 251,
+ 209,
+ 62,
+ 50,
+ 196,
+ 89,
+ 52,
+ 38,
+ 152,
+ 223,
+ 238,
+ 89,
+ 53,
+ 199,
+ 195,
+ 33
+ ],
+ "plaintext": [
+ 92,
+ 166,
+ 141,
+ 133,
+ 140,
+ 195,
+ 11,
+ 28,
+ 176,
+ 81,
+ 76,
+ 78,
+ 157,
+ 233,
+ 142,
+ 26,
+ 26,
+ 131,
+ 93,
+ 244,
+ 1,
+ 246,
+ 158,
+ 158,
+ 198,
+ 241,
+ 188,
+ 177,
+ 21,
+ 143,
+ 9,
+ 17,
+ 77,
+ 255,
+ 85,
+ 22,
+ 131,
+ 179,
+ 130,
+ 116,
+ 87,
+ 247,
+ 126,
+ 23,
+ 167,
+ 9,
+ 123,
+ 30,
+ 166,
+ 158,
+ 172
+ ],
+ "ciphertext": [
+ 92,
+ 82,
+ 35,
+ 200,
+ 237,
+ 165,
+ 154,
+ 141,
+ 194,
+ 139,
+ 8,
+ 230,
+ 194,
+ 20,
+ 130,
+ 164,
+ 110,
+ 93,
+ 132,
+ 211,
+ 44,
+ 112,
+ 80,
+ 191,
+ 20,
+ 79,
+ 197,
+ 127,
+ 78,
+ 128,
+ 148,
+ 222,
+ 19,
+ 49,
+ 152,
+ 218,
+ 123,
+ 75,
+ 131,
+ 152,
+ 177,
+ 103,
+ 32,
+ 74,
+ 255,
+ 131,
+ 125,
+ 161,
+ 93,
+ 154,
+ 178
+ ],
+ "tag": [
+ 55,
+ 136,
+ 133,
+ 149,
+ 10,
+ 68,
+ 145,
+ 190,
+ 227,
+ 205,
+ 104,
+ 29,
+ 60,
+ 149,
+ 123,
+ 154
+ ]
+ },
+ {
+ "key": [
+ 77,
+ 7,
+ 247,
+ 141,
+ 25,
+ 230,
+ 216,
+ 187,
+ 50,
+ 191,
+ 32,
+ 159,
+ 19,
+ 131,
+ 7,
+ 137,
+ 15,
+ 15,
+ 26,
+ 227,
+ 147,
+ 98,
+ 119,
+ 159,
+ 242,
+ 191,
+ 31,
+ 155,
+ 115,
+ 79,
+ 230,
+ 83
+ ],
+ "nonce": [
+ 217,
+ 131,
+ 165,
+ 213,
+ 175,
+ 120,
+ 163,
+ 177,
+ 205,
+ 95,
+ 189,
+ 88
+ ],
+ "aad": [
+ 163,
+ 220,
+ 159,
+ 249,
+ 33,
+ 11,
+ 196,
+ 179,
+ 39,
+ 105,
+ 9,
+ 136,
+ 61,
+ 178,
+ 194,
+ 170,
+ 7,
+ 98,
+ 205,
+ 34,
+ 180,
+ 105,
+ 1,
+ 162,
+ 72,
+ 192,
+ 55,
+ 45,
+ 7,
+ 62,
+ 119,
+ 120,
+ 185,
+ 193,
+ 216,
+ 70,
+ 155,
+ 38,
+ 187,
+ 66,
+ 64,
+ 110,
+ 72,
+ 78,
+ 247,
+ 116,
+ 127,
+ 113,
+ 222,
+ 167,
+ 133,
+ 252,
+ 0,
+ 32,
+ 162,
+ 234,
+ 193,
+ 126,
+ 10,
+ 195,
+ 251,
+ 224,
+ 69,
+ 54,
+ 41,
+ 239,
+ 214,
+ 141,
+ 86,
+ 120,
+ 251,
+ 236,
+ 193,
+ 10,
+ 248,
+ 255,
+ 190,
+ 120,
+ 40,
+ 248,
+ 38,
+ 222,
+ 251,
+ 99,
+ 135,
+ 99,
+ 244,
+ 236,
+ 254,
+ 130
+ ],
+ "plaintext": [
+ 148,
+ 240,
+ 187,
+ 196,
+ 52,
+ 13,
+ 151,
+ 216,
+ 84,
+ 226,
+ 92,
+ 199,
+ 206,
+ 133,
+ 234,
+ 30,
+ 120,
+ 30,
+ 104,
+ 191,
+ 111,
+ 99,
+ 158,
+ 10,
+ 152,
+ 27,
+ 176,
+ 62,
+ 60,
+ 32,
+ 156,
+ 191,
+ 81,
+ 39,
+ 23,
+ 28,
+ 176,
+ 255,
+ 246,
+ 91,
+ 195,
+ 236,
+ 172,
+ 146,
+ 119,
+ 77,
+ 16,
+ 20,
+ 109,
+ 26,
+ 197
+ ],
+ "ciphertext": [
+ 101,
+ 67,
+ 180,
+ 217,
+ 127,
+ 204,
+ 210,
+ 115,
+ 179,
+ 100,
+ 54,
+ 254,
+ 247,
+ 25,
+ 172,
+ 49,
+ 191,
+ 14,
+ 92,
+ 76,
+ 5,
+ 142,
+ 167,
+ 26,
+ 234,
+ 42,
+ 14,
+ 91,
+ 96,
+ 227,
+ 41,
+ 190,
+ 110,
+ 168,
+ 28,
+ 227,
+ 134,
+ 230,
+ 233,
+ 254,
+ 68,
+ 128,
+ 229,
+ 131,
+ 99,
+ 195,
+ 178,
+ 3,
+ 104,
+ 101,
+ 172
+ ],
+ "tag": [
+ 146,
+ 76,
+ 247,
+ 192,
+ 119,
+ 15,
+ 34,
+ 138,
+ 75,
+ 146,
+ 233,
+ 178,
+ 161,
+ 31,
+ 199,
+ 11
+ ]
+ },
+ {
+ "key": [
+ 149,
+ 114,
+ 185,
+ 197,
+ 122,
+ 189,
+ 241,
+ 202,
+ 174,
+ 59,
+ 235,
+ 192,
+ 228,
+ 187,
+ 249,
+ 229,
+ 86,
+ 181,
+ 203,
+ 172,
+ 202,
+ 44,
+ 71,
+ 86,
+ 5,
+ 15,
+ 239,
+ 209,
+ 10,
+ 102,
+ 97,
+ 85
+ ],
+ "nonce": [
+ 222,
+ 41,
+ 42,
+ 152,
+ 88,
+ 202,
+ 172,
+ 205,
+ 202,
+ 182,
+ 164,
+ 51
+ ],
+ "aad": [
+ 160,
+ 66,
+ 217,
+ 122,
+ 155,
+ 143,
+ 108,
+ 175,
+ 81,
+ 197,
+ 242,
+ 69,
+ 34,
+ 215,
+ 237,
+ 131,
+ 226,
+ 197,
+ 216,
+ 236,
+ 107,
+ 55,
+ 239,
+ 37,
+ 152,
+ 19,
+ 74,
+ 48,
+ 229,
+ 115,
+ 25,
+ 48,
+ 12,
+ 63,
+ 223,
+ 146,
+ 251,
+ 29,
+ 151,
+ 151,
+ 245,
+ 239,
+ 0,
+ 151,
+ 31,
+ 102,
+ 42,
+ 174,
+ 118,
+ 143,
+ 105,
+ 249,
+ 202,
+ 4,
+ 85,
+ 189,
+ 109,
+ 16,
+ 89,
+ 213,
+ 248,
+ 91,
+ 142,
+ 203,
+ 151,
+ 112,
+ 6,
+ 184,
+ 51,
+ 249,
+ 10,
+ 194,
+ 213,
+ 187,
+ 244,
+ 73,
+ 140,
+ 131,
+ 244,
+ 209,
+ 164,
+ 37,
+ 132,
+ 192,
+ 223,
+ 196,
+ 162,
+ 226,
+ 69,
+ 60
+ ],
+ "plaintext": [
+ 111,
+ 66,
+ 10,
+ 50,
+ 112,
+ 140,
+ 205,
+ 77,
+ 240,
+ 211,
+ 20,
+ 158,
+ 140,
+ 29,
+ 136,
+ 220,
+ 235,
+ 166,
+ 110,
+ 228,
+ 84,
+ 111,
+ 56,
+ 219,
+ 7,
+ 4,
+ 110,
+ 191,
+ 48,
+ 244,
+ 118,
+ 39,
+ 247,
+ 253,
+ 218,
+ 29,
+ 215,
+ 151,
+ 131,
+ 173,
+ 171,
+ 229,
+ 246,
+ 182,
+ 133,
+ 56,
+ 87,
+ 185,
+ 155,
+ 134,
+ 76
+ ],
+ "ciphertext": [
+ 169,
+ 175,
+ 150,
+ 29,
+ 97,
+ 171,
+ 87,
+ 140,
+ 193,
+ 52,
+ 142,
+ 182,
+ 247,
+ 41,
+ 96,
+ 63,
+ 72,
+ 28,
+ 93,
+ 155,
+ 249,
+ 190,
+ 227,
+ 161,
+ 62,
+ 218,
+ 2,
+ 43,
+ 208,
+ 156,
+ 3,
+ 164,
+ 242,
+ 7,
+ 194,
+ 28,
+ 69,
+ 192,
+ 35,
+ 42,
+ 151,
+ 66,
+ 174,
+ 143,
+ 12,
+ 84,
+ 180,
+ 39,
+ 138,
+ 58,
+ 99
+ ],
+ "tag": [
+ 239,
+ 249,
+ 187,
+ 38,
+ 21,
+ 110,
+ 199,
+ 111,
+ 0,
+ 96,
+ 205,
+ 147,
+ 169,
+ 89,
+ 224,
+ 85
+ ]
+ },
+ {
+ "key": [
+ 60,
+ 200,
+ 103,
+ 28,
+ 77,
+ 37,
+ 195,
+ 203,
+ 200,
+ 135,
+ 244,
+ 220,
+ 189,
+ 100,
+ 229,
+ 49,
+ 233,
+ 28,
+ 246,
+ 37,
+ 47,
+ 110,
+ 233,
+ 194,
+ 157,
+ 153,
+ 136,
+ 210,
+ 10,
+ 182,
+ 116,
+ 127
+ ],
+ "nonce": [
+ 249,
+ 96,
+ 160,
+ 156,
+ 11,
+ 80,
+ 103,
+ 40,
+ 9,
+ 38,
+ 169,
+ 195
+ ],
+ "aad": [
+ 121,
+ 215,
+ 58,
+ 127,
+ 248,
+ 102,
+ 152,
+ 230,
+ 17,
+ 74,
+ 15,
+ 70,
+ 83,
+ 115,
+ 251,
+ 238,
+ 2,
+ 158,
+ 4,
+ 36,
+ 36,
+ 196,
+ 57,
+ 178,
+ 46,
+ 58,
+ 211,
+ 123,
+ 54,
+ 185,
+ 224,
+ 43,
+ 171,
+ 130,
+ 225,
+ 104,
+ 68,
+ 17,
+ 78,
+ 153,
+ 227,
+ 156,
+ 22,
+ 159,
+ 70,
+ 47,
+ 230,
+ 27,
+ 135,
+ 196,
+ 98,
+ 124,
+ 57,
+ 67,
+ 132,
+ 172,
+ 201,
+ 83,
+ 22,
+ 128,
+ 112,
+ 110,
+ 78,
+ 86,
+ 73,
+ 26,
+ 48,
+ 76,
+ 96,
+ 117,
+ 204,
+ 163,
+ 124,
+ 100,
+ 219,
+ 36,
+ 70,
+ 140,
+ 31,
+ 185,
+ 81,
+ 150,
+ 5,
+ 200,
+ 63,
+ 14,
+ 227,
+ 224,
+ 49,
+ 106
+ ],
+ "plaintext": [
+ 91,
+ 88,
+ 113,
+ 123,
+ 11,
+ 50,
+ 7,
+ 101,
+ 102,
+ 181,
+ 139,
+ 243,
+ 124,
+ 97,
+ 51,
+ 230,
+ 20,
+ 104,
+ 178,
+ 190,
+ 103,
+ 113,
+ 95,
+ 176,
+ 0,
+ 127,
+ 227,
+ 144,
+ 196,
+ 181,
+ 87,
+ 141,
+ 236,
+ 245,
+ 85,
+ 2,
+ 164,
+ 227,
+ 193,
+ 46,
+ 123,
+ 223,
+ 11,
+ 169,
+ 135,
+ 132,
+ 209,
+ 38,
+ 228,
+ 117,
+ 58
+ ],
+ "ciphertext": [
+ 29,
+ 11,
+ 224,
+ 151,
+ 71,
+ 12,
+ 26,
+ 195,
+ 6,
+ 25,
+ 246,
+ 60,
+ 57,
+ 97,
+ 21,
+ 42,
+ 178,
+ 125,
+ 184,
+ 140,
+ 230,
+ 148,
+ 183,
+ 187,
+ 164,
+ 219,
+ 24,
+ 92,
+ 179,
+ 24,
+ 3,
+ 204,
+ 123,
+ 171,
+ 137,
+ 14,
+ 147,
+ 28,
+ 144,
+ 118,
+ 102,
+ 33,
+ 191,
+ 229,
+ 216,
+ 135,
+ 235,
+ 12,
+ 214,
+ 153,
+ 93
+ ],
+ "tag": [
+ 219,
+ 213,
+ 126,
+ 160,
+ 145,
+ 255,
+ 22,
+ 252,
+ 125,
+ 188,
+ 84,
+ 53,
+ 3,
+ 12,
+ 199,
+ 78
+ ]
+ },
+ {
+ "key": [
+ 136,
+ 32,
+ 104,
+ 190,
+ 69,
+ 82,
+ 215,
+ 173,
+ 34,
+ 79,
+ 200,
+ 250,
+ 42,
+ 240,
+ 13,
+ 106,
+ 191,
+ 118,
+ 204,
+ 241,
+ 167,
+ 104,
+ 157,
+ 117,
+ 246,
+ 240,
+ 233,
+ 189,
+ 130,
+ 193,
+ 33,
+ 94
+ ],
+ "nonce": [
+ 137,
+ 10,
+ 83,
+ 21,
+ 153,
+ 47,
+ 18,
+ 103,
+ 77,
+ 28,
+ 128,
+ 24
+ ],
+ "aad": [
+ 145,
+ 103,
+ 33,
+ 223,
+ 129,
+ 107,
+ 28,
+ 173,
+ 83,
+ 29,
+ 238,
+ 142,
+ 74,
+ 142,
+ 99,
+ 77,
+ 67,
+ 237,
+ 135,
+ 219,
+ 153,
+ 96,
+ 155,
+ 204,
+ 152,
+ 109,
+ 22,
+ 191,
+ 172,
+ 44,
+ 255,
+ 87,
+ 125,
+ 83,
+ 109,
+ 116,
+ 154,
+ 92,
+ 54,
+ 37,
+ 222,
+ 83,
+ 197,
+ 53,
+ 24,
+ 37,
+ 194,
+ 40,
+ 145,
+ 31,
+ 10,
+ 100,
+ 190,
+ 31,
+ 201,
+ 115,
+ 138,
+ 38,
+ 57,
+ 78,
+ 254,
+ 83,
+ 50,
+ 192,
+ 118,
+ 43,
+ 245,
+ 155,
+ 101,
+ 211,
+ 241,
+ 197,
+ 170,
+ 250,
+ 156,
+ 162,
+ 230,
+ 62,
+ 204,
+ 213,
+ 149,
+ 104,
+ 230,
+ 192,
+ 38,
+ 153,
+ 80,
+ 145,
+ 26,
+ 113
+ ],
+ "plaintext": [
+ 132,
+ 100,
+ 192,
+ 62,
+ 2,
+ 128,
+ 203,
+ 31,
+ 99,
+ 192,
+ 84,
+ 162,
+ 74,
+ 5,
+ 14,
+ 152,
+ 15,
+ 96,
+ 204,
+ 115,
+ 19,
+ 240,
+ 159,
+ 32,
+ 146,
+ 196,
+ 93,
+ 119,
+ 187,
+ 233,
+ 173,
+ 42,
+ 140,
+ 31,
+ 108,
+ 220,
+ 162,
+ 172,
+ 216,
+ 197,
+ 124,
+ 135,
+ 232,
+ 135,
+ 237,
+ 173,
+ 182,
+ 107,
+ 203,
+ 102,
+ 196
+ ],
+ "ciphertext": [
+ 2,
+ 14,
+ 41,
+ 125,
+ 144,
+ 113,
+ 119,
+ 219,
+ 161,
+ 45,
+ 222,
+ 75,
+ 254,
+ 27,
+ 15,
+ 249,
+ 182,
+ 169,
+ 217,
+ 219,
+ 6,
+ 149,
+ 25,
+ 62,
+ 65,
+ 129,
+ 68,
+ 158,
+ 21,
+ 113,
+ 55,
+ 181,
+ 155,
+ 72,
+ 134,
+ 22,
+ 186,
+ 21,
+ 27,
+ 6,
+ 216,
+ 137,
+ 248,
+ 73,
+ 140,
+ 227,
+ 115,
+ 210,
+ 57,
+ 106,
+ 185
+ ],
+ "tag": [
+ 228,
+ 133,
+ 55,
+ 236,
+ 178,
+ 116,
+ 96,
+ 180,
+ 119,
+ 166,
+ 231,
+ 195,
+ 70,
+ 61,
+ 188,
+ 176
+ ]
+ },
+ {
+ "key": [
+ 77,
+ 234,
+ 220,
+ 240,
+ 247,
+ 225,
+ 146,
+ 49,
+ 248,
+ 175,
+ 203,
+ 111,
+ 185,
+ 2,
+ 177,
+ 5,
+ 190,
+ 242,
+ 63,
+ 47,
+ 169,
+ 50,
+ 58,
+ 81,
+ 131,
+ 63,
+ 248,
+ 54,
+ 140,
+ 203,
+ 79,
+ 145
+ ],
+ "nonce": [
+ 109,
+ 77,
+ 1,
+ 171,
+ 213,
+ 135,
+ 237,
+ 17,
+ 14,
+ 81,
+ 46,
+ 210
+ ],
+ "aad": [
+ 49,
+ 162,
+ 121,
+ 115,
+ 24,
+ 16,
+ 75,
+ 45,
+ 201,
+ 151,
+ 126,
+ 89,
+ 148,
+ 53,
+ 176,
+ 65,
+ 197,
+ 107,
+ 175,
+ 229,
+ 231,
+ 217,
+ 1,
+ 165,
+ 134,
+ 20,
+ 194,
+ 211,
+ 251,
+ 157,
+ 34,
+ 14,
+ 63,
+ 211,
+ 226,
+ 130,
+ 140,
+ 239,
+ 105,
+ 224,
+ 96,
+ 78,
+ 215,
+ 51,
+ 64,
+ 203,
+ 30,
+ 33,
+ 150,
+ 114,
+ 148,
+ 220,
+ 216,
+ 116,
+ 137,
+ 57,
+ 66,
+ 68,
+ 34,
+ 0,
+ 178,
+ 165,
+ 184,
+ 96,
+ 238,
+ 140,
+ 249,
+ 30,
+ 29,
+ 142,
+ 179,
+ 211,
+ 100,
+ 208,
+ 228,
+ 62,
+ 132,
+ 246,
+ 55,
+ 159,
+ 67,
+ 74,
+ 26,
+ 225,
+ 124,
+ 35,
+ 107,
+ 33,
+ 104,
+ 66
+ ],
+ "plaintext": [
+ 117,
+ 104,
+ 110,
+ 15,
+ 221,
+ 63,
+ 217,
+ 111,
+ 62,
+ 109,
+ 250,
+ 253,
+ 122,
+ 42,
+ 144,
+ 127,
+ 159,
+ 55,
+ 93,
+ 147,
+ 148,
+ 60,
+ 178,
+ 34,
+ 155,
+ 215,
+ 43,
+ 3,
+ 43,
+ 246,
+ 36,
+ 175,
+ 79,
+ 199,
+ 32,
+ 113,
+ 40,
+ 147,
+ 134,
+ 227,
+ 220,
+ 204,
+ 69,
+ 149,
+ 158,
+ 71,
+ 171,
+ 66,
+ 178,
+ 97,
+ 162
+ ],
+ "ciphertext": [
+ 143,
+ 234,
+ 249,
+ 160,
+ 137,
+ 89,
+ 152,
+ 18,
+ 17,
+ 122,
+ 103,
+ 174,
+ 210,
+ 244,
+ 191,
+ 52,
+ 49,
+ 255,
+ 31,
+ 108,
+ 253,
+ 100,
+ 234,
+ 95,
+ 244,
+ 117,
+ 40,
+ 122,
+ 187,
+ 79,
+ 241,
+ 171,
+ 107,
+ 62,
+ 79,
+ 138,
+ 85,
+ 209,
+ 198,
+ 179,
+ 240,
+ 133,
+ 148,
+ 244,
+ 3,
+ 231,
+ 113,
+ 236,
+ 126,
+ 153,
+ 86
+ ],
+ "tag": [
+ 80,
+ 64,
+ 64,
+ 118,
+ 33,
+ 113,
+ 46,
+ 5,
+ 53,
+ 145,
+ 23,
+ 158,
+ 22,
+ 137,
+ 105,
+ 142
+ ]
+ },
+ {
+ "key": [
+ 128,
+ 241,
+ 197,
+ 21,
+ 241,
+ 13,
+ 121,
+ 205,
+ 190,
+ 226,
+ 117,
+ 33,
+ 58,
+ 169,
+ 172,
+ 8,
+ 69,
+ 226,
+ 207,
+ 66,
+ 135,
+ 79,
+ 126,
+ 105,
+ 80,
+ 129,
+ 203,
+ 16,
+ 58,
+ 191,
+ 26,
+ 39
+ ],
+ "nonce": [
+ 57,
+ 157,
+ 95,
+ 155,
+ 33,
+ 139,
+ 98,
+ 255,
+ 96,
+ 194,
+ 103,
+ 189
+ ],
+ "aad": [
+ 210,
+ 168,
+ 255,
+ 248,
+ 174,
+ 36,
+ 166,
+ 165,
+ 239,
+ 199,
+ 87,
+ 100,
+ 84,
+ 154,
+ 118,
+ 82,
+ 34,
+ 223,
+ 49,
+ 126,
+ 50,
+ 58,
+ 121,
+ 140,
+ 187,
+ 138,
+ 35,
+ 209,
+ 175,
+ 143,
+ 223,
+ 138,
+ 59,
+ 118,
+ 127,
+ 85,
+ 112,
+ 59,
+ 28,
+ 15,
+ 235,
+ 163,
+ 145,
+ 45,
+ 66,
+ 52,
+ 68,
+ 25,
+ 120,
+ 25,
+ 18,
+ 98,
+ 241,
+ 153,
+ 156,
+ 105,
+ 202,
+ 164,
+ 233,
+ 163,
+ 224,
+ 69,
+ 76,
+ 20,
+ 58,
+ 240,
+ 2,
+ 44,
+ 214,
+ 228,
+ 76,
+ 236,
+ 20,
+ 20,
+ 159,
+ 158,
+ 153,
+ 100,
+ 161,
+ 242,
+ 197,
+ 229,
+ 166,
+ 227,
+ 231,
+ 104,
+ 189,
+ 135,
+ 0,
+ 96
+ ],
+ "plaintext": [
+ 158,
+ 149,
+ 34,
+ 24,
+ 115,
+ 246,
+ 82,
+ 130,
+ 221,
+ 30,
+ 199,
+ 84,
+ 148,
+ 210,
+ 80,
+ 14,
+ 98,
+ 162,
+ 182,
+ 237,
+ 218,
+ 90,
+ 111,
+ 51,
+ 179,
+ 212,
+ 221,
+ 117,
+ 22,
+ 239,
+ 37,
+ 207,
+ 65,
+ 84,
+ 71,
+ 46,
+ 97,
+ 198,
+ 174,
+ 210,
+ 116,
+ 156,
+ 90,
+ 125,
+ 134,
+ 99,
+ 112,
+ 82,
+ 176,
+ 15,
+ 84
+ ],
+ "ciphertext": [
+ 79,
+ 153,
+ 101,
+ 98,
+ 226,
+ 62,
+ 187,
+ 253,
+ 79,
+ 226,
+ 101,
+ 35,
+ 174,
+ 233,
+ 82,
+ 91,
+ 19,
+ 214,
+ 225,
+ 52,
+ 231,
+ 45,
+ 33,
+ 189,
+ 199,
+ 241,
+ 149,
+ 198,
+ 64,
+ 53,
+ 1,
+ 253,
+ 131,
+ 0,
+ 182,
+ 229,
+ 151,
+ 182,
+ 104,
+ 241,
+ 153,
+ 249,
+ 53,
+ 145,
+ 186,
+ 116,
+ 42,
+ 145,
+ 181,
+ 68,
+ 84
+ ],
+ "tag": [
+ 45,
+ 161,
+ 199,
+ 50,
+ 95,
+ 88,
+ 87,
+ 93,
+ 39,
+ 90,
+ 191,
+ 150,
+ 199,
+ 250,
+ 158,
+ 81
+ ]
+ },
+ {
+ "key": [
+ 194,
+ 198,
+ 233,
+ 190,
+ 90,
+ 72,
+ 10,
+ 74,
+ 86,
+ 191,
+ 205,
+ 14,
+ 38,
+ 143,
+ 170,
+ 34,
+ 118,
+ 9,
+ 59,
+ 209,
+ 247,
+ 232,
+ 206,
+ 97,
+ 231,
+ 70,
+ 208,
+ 3,
+ 222,
+ 204,
+ 118,
+ 30
+ ],
+ "nonce": [
+ 193,
+ 84,
+ 30,
+ 178,
+ 87,
+ 33,
+ 212,
+ 133,
+ 109,
+ 248,
+ 249,
+ 40
+ ],
+ "aad": [
+ 243,
+ 78,
+ 121,
+ 229,
+ 254,
+ 67,
+ 126,
+ 218,
+ 3,
+ 204,
+ 254,
+ 242,
+ 241,
+ 214,
+ 49,
+ 157,
+ 245,
+ 26,
+ 113,
+ 201,
+ 137,
+ 24,
+ 99,
+ 228,
+ 185,
+ 138,
+ 114,
+ 152,
+ 189,
+ 100,
+ 73,
+ 4,
+ 96,
+ 53,
+ 77,
+ 181,
+ 162,
+ 139,
+ 15,
+ 173,
+ 203,
+ 129,
+ 80,
+ 36,
+ 234,
+ 23,
+ 243,
+ 184,
+ 72,
+ 16,
+ 226,
+ 121,
+ 84,
+ 175,
+ 177,
+ 253,
+ 244,
+ 79,
+ 13,
+ 239,
+ 185,
+ 48,
+ 177,
+ 121,
+ 54,
+ 132,
+ 167,
+ 129,
+ 49,
+ 11,
+ 154,
+ 249,
+ 91,
+ 75,
+ 207,
+ 10,
+ 114,
+ 122,
+ 44,
+ 176,
+ 172,
+ 82,
+ 155,
+ 128,
+ 88,
+ 17,
+ 179,
+ 114,
+ 29,
+ 152
+ ],
+ "plaintext": [
+ 135,
+ 210,
+ 46,
+ 3,
+ 24,
+ 251,
+ 187,
+ 66,
+ 11,
+ 134,
+ 176,
+ 88,
+ 91,
+ 209,
+ 44,
+ 20,
+ 100,
+ 95,
+ 242,
+ 199,
+ 66,
+ 229,
+ 99,
+ 155,
+ 58,
+ 17,
+ 76,
+ 201,
+ 108,
+ 95,
+ 115,
+ 142,
+ 223,
+ 190,
+ 32,
+ 85,
+ 17,
+ 111,
+ 37,
+ 158,
+ 61,
+ 108,
+ 20,
+ 203,
+ 109,
+ 143,
+ 202,
+ 69,
+ 112,
+ 130,
+ 137
+ ],
+ "ciphertext": [
+ 181,
+ 214,
+ 229,
+ 124,
+ 122,
+ 160,
+ 36,
+ 14,
+ 11,
+ 110,
+ 51,
+ 45,
+ 59,
+ 51,
+ 35,
+ 181,
+ 37,
+ 163,
+ 216,
+ 165,
+ 83,
+ 173,
+ 4,
+ 27,
+ 165,
+ 153,
+ 233,
+ 9,
+ 24,
+ 141,
+ 165,
+ 55,
+ 195,
+ 41,
+ 61,
+ 22,
+ 135,
+ 251,
+ 150,
+ 120,
+ 130,
+ 209,
+ 106,
+ 86,
+ 21,
+ 184,
+ 78,
+ 149,
+ 249,
+ 221,
+ 119
+ ],
+ "tag": [
+ 28,
+ 206,
+ 51,
+ 76,
+ 236,
+ 75,
+ 81,
+ 33,
+ 108,
+ 172,
+ 15,
+ 198,
+ 32,
+ 205,
+ 173,
+ 249
+ ]
+ },
+ {
+ "key": [
+ 234,
+ 13,
+ 97,
+ 132,
+ 167,
+ 20,
+ 86,
+ 226,
+ 127,
+ 154,
+ 200,
+ 45,
+ 252,
+ 127,
+ 102,
+ 148,
+ 200,
+ 152,
+ 247,
+ 192,
+ 209,
+ 157,
+ 28,
+ 176,
+ 219,
+ 78,
+ 87,
+ 93,
+ 208,
+ 9,
+ 75,
+ 182
+ ],
+ "nonce": [
+ 80,
+ 24,
+ 251,
+ 129,
+ 109,
+ 81,
+ 85,
+ 17,
+ 191,
+ 185,
+ 57,
+ 213
+ ],
+ "aad": [
+ 139,
+ 198,
+ 189,
+ 10,
+ 38,
+ 50,
+ 18,
+ 189,
+ 114,
+ 129,
+ 253,
+ 26,
+ 69,
+ 229,
+ 18,
+ 252,
+ 161,
+ 4,
+ 248,
+ 89,
+ 53,
+ 142,
+ 174,
+ 146,
+ 147,
+ 162,
+ 151,
+ 197,
+ 41,
+ 160,
+ 171,
+ 175,
+ 253,
+ 138,
+ 119,
+ 80,
+ 123,
+ 144,
+ 105,
+ 4,
+ 15,
+ 43,
+ 49,
+ 65,
+ 167,
+ 98,
+ 6,
+ 145,
+ 225,
+ 16,
+ 168,
+ 181,
+ 147,
+ 185,
+ 86,
+ 216,
+ 227,
+ 231,
+ 22,
+ 148,
+ 80,
+ 107,
+ 137,
+ 1,
+ 138,
+ 3,
+ 134,
+ 28,
+ 27,
+ 166,
+ 8,
+ 38,
+ 135,
+ 173,
+ 206,
+ 21,
+ 168,
+ 116,
+ 199,
+ 52,
+ 119,
+ 67,
+ 12,
+ 239,
+ 7,
+ 94,
+ 186,
+ 7,
+ 122,
+ 147
+ ],
+ "plaintext": [
+ 8,
+ 49,
+ 71,
+ 208,
+ 200,
+ 15,
+ 19,
+ 79,
+ 115,
+ 147,
+ 133,
+ 92,
+ 138,
+ 149,
+ 191,
+ 110,
+ 106,
+ 189,
+ 111,
+ 154,
+ 123,
+ 31,
+ 202,
+ 88,
+ 78,
+ 139,
+ 252,
+ 107,
+ 93,
+ 193,
+ 58,
+ 142,
+ 219,
+ 253,
+ 71,
+ 62,
+ 35,
+ 44,
+ 4,
+ 29,
+ 155,
+ 233,
+ 238,
+ 119,
+ 9,
+ 220,
+ 134,
+ 179,
+ 170,
+ 50,
+ 10
+ ],
+ "ciphertext": [
+ 240,
+ 165,
+ 196,
+ 148,
+ 23,
+ 130,
+ 226,
+ 242,
+ 148,
+ 29,
+ 208,
+ 90,
+ 206,
+ 226,
+ 155,
+ 101,
+ 52,
+ 23,
+ 115,
+ 242,
+ 232,
+ 213,
+ 25,
+ 53,
+ 163,
+ 244,
+ 250,
+ 111,
+ 38,
+ 143,
+ 240,
+ 48,
+ 200,
+ 128,
+ 151,
+ 108,
+ 241,
+ 238,
+ 133,
+ 143,
+ 101,
+ 113,
+ 171,
+ 216,
+ 65,
+ 27,
+ 105,
+ 90,
+ 47,
+ 173,
+ 240
+ ],
+ "tag": [
+ 6,
+ 125,
+ 140,
+ 194,
+ 211,
+ 140,
+ 48,
+ 105,
+ 114,
+ 114,
+ 218,
+ 160,
+ 12,
+ 127,
+ 112,
+ 207
+ ]
+ },
+ {
+ "key": [
+ 198,
+ 36,
+ 254,
+ 182,
+ 203,
+ 13,
+ 120,
+ 214,
+ 52,
+ 182,
+ 39,
+ 19,
+ 76,
+ 105,
+ 47,
+ 11,
+ 245,
+ 222,
+ 191,
+ 132,
+ 216,
+ 99,
+ 158,
+ 34,
+ 255,
+ 39,
+ 206,
+ 42,
+ 206,
+ 73,
+ 212,
+ 56
+ ],
+ "nonce": [
+ 165,
+ 79,
+ 79,
+ 18,
+ 4,
+ 37,
+ 95,
+ 107,
+ 49,
+ 34,
+ 34,
+ 205
+ ],
+ "aad": [
+ 217,
+ 9,
+ 155,
+ 166,
+ 190,
+ 80,
+ 220,
+ 167,
+ 126,
+ 11,
+ 152,
+ 3,
+ 118,
+ 106,
+ 217,
+ 147,
+ 19,
+ 36,
+ 121,
+ 251,
+ 171,
+ 67,
+ 184,
+ 244,
+ 18,
+ 106,
+ 127,
+ 158,
+ 246,
+ 115,
+ 172,
+ 12,
+ 175,
+ 45,
+ 226,
+ 53,
+ 225,
+ 232,
+ 74,
+ 217,
+ 254,
+ 80,
+ 92,
+ 67,
+ 209,
+ 172,
+ 119,
+ 159,
+ 80,
+ 114,
+ 192,
+ 37,
+ 193,
+ 78,
+ 160,
+ 217,
+ 48,
+ 206,
+ 57,
+ 219,
+ 140,
+ 89,
+ 48,
+ 186,
+ 173,
+ 162,
+ 59,
+ 62,
+ 70,
+ 84,
+ 71,
+ 14,
+ 85,
+ 159,
+ 203,
+ 110,
+ 177,
+ 193,
+ 51,
+ 167,
+ 115,
+ 24,
+ 184,
+ 124,
+ 199,
+ 145,
+ 62,
+ 18,
+ 212,
+ 4
+ ],
+ "plaintext": [
+ 236,
+ 52,
+ 244,
+ 92,
+ 27,
+ 112,
+ 253,
+ 86,
+ 81,
+ 140,
+ 197,
+ 196,
+ 4,
+ 204,
+ 19,
+ 51,
+ 10,
+ 183,
+ 213,
+ 28,
+ 16,
+ 244,
+ 210,
+ 207,
+ 235,
+ 38,
+ 176,
+ 151,
+ 174,
+ 118,
+ 137,
+ 113,
+ 145,
+ 236,
+ 27,
+ 57,
+ 83,
+ 176,
+ 8,
+ 110,
+ 66,
+ 92,
+ 125,
+ 162,
+ 33,
+ 210,
+ 159,
+ 101,
+ 213,
+ 204,
+ 243
+ ],
+ "ciphertext": [
+ 113,
+ 61,
+ 40,
+ 165,
+ 18,
+ 61,
+ 101,
+ 232,
+ 44,
+ 202,
+ 110,
+ 127,
+ 217,
+ 25,
+ 225,
+ 229,
+ 227,
+ 189,
+ 170,
+ 177,
+ 42,
+ 231,
+ 21,
+ 207,
+ 139,
+ 124,
+ 151,
+ 78,
+ 181,
+ 246,
+ 43,
+ 232,
+ 195,
+ 180,
+ 38,
+ 55,
+ 7,
+ 76,
+ 107,
+ 137,
+ 31,
+ 108,
+ 96,
+ 51,
+ 235,
+ 75,
+ 126,
+ 97,
+ 219,
+ 159,
+ 11
+ ],
+ "tag": [
+ 1,
+ 237,
+ 237,
+ 255,
+ 110,
+ 77,
+ 29,
+ 206,
+ 74,
+ 199,
+ 144,
+ 33,
+ 142,
+ 32,
+ 142,
+ 190
+ ]
+ },
+ {
+ "key": [
+ 26,
+ 252,
+ 104,
+ 179,
+ 37,
+ 150,
+ 25,
+ 138,
+ 224,
+ 243,
+ 168,
+ 97,
+ 39,
+ 81,
+ 194,
+ 65,
+ 51,
+ 34,
+ 232,
+ 5,
+ 79,
+ 242,
+ 172,
+ 107,
+ 237,
+ 227,
+ 212,
+ 161,
+ 238,
+ 32,
+ 238,
+ 98
+ ],
+ "nonce": [
+ 53,
+ 104,
+ 96,
+ 231,
+ 110,
+ 121,
+ 68,
+ 146,
+ 222,
+ 106,
+ 104,
+ 243
+ ],
+ "aad": [
+ 32,
+ 94,
+ 68,
+ 0,
+ 158,
+ 14,
+ 249,
+ 99,
+ 131,
+ 138,
+ 255,
+ 97,
+ 91,
+ 53,
+ 201,
+ 241,
+ 39,
+ 29,
+ 72,
+ 124,
+ 247,
+ 25,
+ 103,
+ 125,
+ 149,
+ 103,
+ 24,
+ 188,
+ 232,
+ 171,
+ 103,
+ 108,
+ 206,
+ 182,
+ 54,
+ 173,
+ 56,
+ 20,
+ 50,
+ 197,
+ 199,
+ 144,
+ 194,
+ 107,
+ 7,
+ 5,
+ 27,
+ 102,
+ 26,
+ 47,
+ 236,
+ 78,
+ 96,
+ 127,
+ 150,
+ 68,
+ 248,
+ 73,
+ 147,
+ 200,
+ 51,
+ 93,
+ 178,
+ 26,
+ 227,
+ 107,
+ 96,
+ 8,
+ 186,
+ 178,
+ 136,
+ 58,
+ 215,
+ 84,
+ 24,
+ 9,
+ 191,
+ 95,
+ 73,
+ 39,
+ 34,
+ 149,
+ 193,
+ 193,
+ 241,
+ 207,
+ 140,
+ 103,
+ 133,
+ 83
+ ],
+ "plaintext": [
+ 41,
+ 48,
+ 65,
+ 3,
+ 143,
+ 158,
+ 142,
+ 222,
+ 226,
+ 61,
+ 47,
+ 24,
+ 188,
+ 232,
+ 123,
+ 82,
+ 35,
+ 128,
+ 241,
+ 250,
+ 24,
+ 179,
+ 2,
+ 24,
+ 48,
+ 165,
+ 74,
+ 184,
+ 145,
+ 218,
+ 133,
+ 72,
+ 9,
+ 82,
+ 40,
+ 237,
+ 152,
+ 96,
+ 23,
+ 97,
+ 82,
+ 226,
+ 121,
+ 69,
+ 214,
+ 98,
+ 84,
+ 240,
+ 219,
+ 133,
+ 144
+ ],
+ "ciphertext": [
+ 224,
+ 97,
+ 9,
+ 104,
+ 13,
+ 95,
+ 239,
+ 211,
+ 69,
+ 102,
+ 94,
+ 201,
+ 165,
+ 178,
+ 231,
+ 191,
+ 62,
+ 206,
+ 58,
+ 241,
+ 182,
+ 40,
+ 65,
+ 169,
+ 92,
+ 69,
+ 62,
+ 119,
+ 83,
+ 181,
+ 161,
+ 214,
+ 216,
+ 161,
+ 11,
+ 60,
+ 108,
+ 66,
+ 223,
+ 31,
+ 35,
+ 131,
+ 43,
+ 116,
+ 231,
+ 72,
+ 113,
+ 130,
+ 31,
+ 28,
+ 11
+ ],
+ "tag": [
+ 149,
+ 61,
+ 141,
+ 4,
+ 247,
+ 14,
+ 42,
+ 240,
+ 85,
+ 172,
+ 144,
+ 42,
+ 69,
+ 82,
+ 53,
+ 178
+ ]
+ },
+ {
+ "key": [
+ 246,
+ 27,
+ 114,
+ 51,
+ 89,
+ 231,
+ 152,
+ 254,
+ 254,
+ 204,
+ 38,
+ 177,
+ 11,
+ 22,
+ 141,
+ 195,
+ 49,
+ 198,
+ 57,
+ 7,
+ 149,
+ 152,
+ 241,
+ 246,
+ 81,
+ 22,
+ 108,
+ 197,
+ 140,
+ 103,
+ 30,
+ 225
+ ],
+ "nonce": [
+ 176,
+ 126,
+ 148,
+ 7,
+ 181,
+ 146,
+ 212,
+ 253,
+ 149,
+ 80,
+ 147,
+ 67
+ ],
+ "aad": [
+ 20,
+ 41,
+ 198,
+ 242,
+ 120,
+ 40,
+ 203,
+ 148,
+ 173,
+ 94,
+ 98,
+ 69,
+ 29,
+ 161,
+ 15,
+ 213,
+ 116,
+ 102,
+ 12,
+ 236,
+ 43,
+ 143,
+ 39,
+ 154,
+ 25,
+ 187,
+ 184,
+ 161,
+ 103,
+ 166,
+ 48,
+ 211,
+ 172,
+ 96,
+ 219,
+ 4,
+ 232,
+ 250,
+ 160,
+ 34,
+ 4,
+ 121,
+ 46,
+ 73,
+ 174,
+ 212,
+ 80,
+ 24,
+ 68,
+ 164,
+ 25,
+ 211,
+ 236,
+ 223,
+ 240,
+ 208,
+ 55,
+ 153,
+ 134,
+ 111,
+ 238,
+ 129,
+ 169,
+ 17,
+ 135,
+ 176,
+ 138,
+ 68,
+ 213,
+ 187,
+ 97,
+ 127,
+ 243,
+ 178,
+ 206,
+ 247,
+ 156,
+ 212,
+ 135,
+ 80,
+ 234,
+ 32,
+ 144,
+ 62,
+ 29,
+ 54,
+ 39,
+ 161,
+ 119,
+ 48
+ ],
+ "plaintext": [
+ 39,
+ 36,
+ 241,
+ 173,
+ 107,
+ 91,
+ 64,
+ 154,
+ 89,
+ 199,
+ 242,
+ 255,
+ 100,
+ 158,
+ 178,
+ 75,
+ 74,
+ 51,
+ 160,
+ 61,
+ 122,
+ 4,
+ 38,
+ 226,
+ 154,
+ 110,
+ 163,
+ 170,
+ 145,
+ 180,
+ 240,
+ 6,
+ 153,
+ 251,
+ 237,
+ 117,
+ 187,
+ 113,
+ 137,
+ 150,
+ 67,
+ 3,
+ 226,
+ 233,
+ 254,
+ 58,
+ 126,
+ 95,
+ 116,
+ 183,
+ 161
+ ],
+ "ciphertext": [
+ 54,
+ 43,
+ 173,
+ 141,
+ 233,
+ 67,
+ 220,
+ 232,
+ 245,
+ 62,
+ 223,
+ 104,
+ 45,
+ 2,
+ 225,
+ 216,
+ 147,
+ 194,
+ 60,
+ 82,
+ 114,
+ 177,
+ 63,
+ 211,
+ 91,
+ 73,
+ 47,
+ 132,
+ 119,
+ 8,
+ 58,
+ 140,
+ 52,
+ 2,
+ 125,
+ 179,
+ 43,
+ 97,
+ 49,
+ 147,
+ 31,
+ 3,
+ 85,
+ 90,
+ 197,
+ 251,
+ 198,
+ 219,
+ 177,
+ 56,
+ 1
+ ],
+ "tag": [
+ 165,
+ 23,
+ 117,
+ 96,
+ 99,
+ 67,
+ 117,
+ 86,
+ 145,
+ 241,
+ 37,
+ 1,
+ 155,
+ 68,
+ 253,
+ 252
+ ]
+ },
+ {
+ "key": [
+ 107,
+ 231,
+ 244,
+ 209,
+ 143,
+ 240,
+ 251,
+ 221,
+ 155,
+ 59,
+ 60,
+ 172,
+ 171,
+ 164,
+ 98,
+ 154,
+ 12,
+ 97,
+ 115,
+ 135,
+ 7,
+ 154,
+ 221,
+ 98,
+ 246,
+ 206,
+ 21,
+ 132,
+ 179,
+ 63,
+ 170,
+ 209
+ ],
+ "nonce": [
+ 253,
+ 165,
+ 104,
+ 201,
+ 203,
+ 19,
+ 217,
+ 193,
+ 118,
+ 188,
+ 239,
+ 3
+ ],
+ "aad": [
+ 17,
+ 235,
+ 235,
+ 151,
+ 221,
+ 74,
+ 153,
+ 37,
+ 193,
+ 251,
+ 226,
+ 185,
+ 175,
+ 119,
+ 57,
+ 32,
+ 88,
+ 210,
+ 217,
+ 113,
+ 228,
+ 45,
+ 177,
+ 93,
+ 163,
+ 159,
+ 9,
+ 13,
+ 123,
+ 193,
+ 50,
+ 87,
+ 60,
+ 52,
+ 191,
+ 125,
+ 146,
+ 162,
+ 215,
+ 45,
+ 198,
+ 110,
+ 230,
+ 132,
+ 12,
+ 63,
+ 240,
+ 121,
+ 133,
+ 184,
+ 151,
+ 110,
+ 232,
+ 216,
+ 243,
+ 107,
+ 244,
+ 122,
+ 227,
+ 48,
+ 184,
+ 153,
+ 253,
+ 198,
+ 6,
+ 82,
+ 221,
+ 90,
+ 35,
+ 196,
+ 95,
+ 54,
+ 128,
+ 241,
+ 25,
+ 81,
+ 240,
+ 25,
+ 224,
+ 105,
+ 124,
+ 138,
+ 207,
+ 202,
+ 169,
+ 95,
+ 1,
+ 185,
+ 199,
+ 221
+ ],
+ "plaintext": [
+ 77,
+ 246,
+ 104,
+ 233,
+ 157,
+ 80,
+ 104,
+ 96,
+ 74,
+ 72,
+ 188,
+ 202,
+ 91,
+ 170,
+ 130,
+ 69,
+ 67,
+ 89,
+ 40,
+ 85,
+ 138,
+ 131,
+ 214,
+ 141,
+ 123,
+ 11,
+ 8,
+ 24,
+ 97,
+ 34,
+ 78,
+ 155,
+ 211,
+ 158,
+ 168,
+ 242,
+ 213,
+ 90,
+ 99,
+ 89,
+ 73,
+ 230,
+ 108,
+ 111,
+ 106,
+ 127,
+ 245,
+ 204,
+ 52,
+ 221,
+ 148
+ ],
+ "ciphertext": [
+ 72,
+ 139,
+ 64,
+ 173,
+ 89,
+ 78,
+ 24,
+ 69,
+ 204,
+ 221,
+ 158,
+ 148,
+ 103,
+ 252,
+ 94,
+ 26,
+ 251,
+ 191,
+ 222,
+ 52,
+ 229,
+ 125,
+ 69,
+ 191,
+ 205,
+ 48,
+ 182,
+ 28,
+ 195,
+ 38,
+ 213,
+ 127,
+ 232,
+ 227,
+ 243,
+ 26,
+ 57,
+ 205,
+ 235,
+ 240,
+ 15,
+ 96,
+ 187,
+ 210,
+ 195,
+ 205,
+ 246,
+ 159,
+ 117,
+ 110,
+ 255
+ ],
+ "tag": [
+ 59,
+ 243,
+ 251,
+ 171,
+ 155,
+ 72,
+ 72,
+ 111,
+ 208,
+ 138,
+ 85,
+ 82,
+ 96,
+ 77,
+ 246,
+ 57
+ ]
+ }
+]
diff --git a/tests/unit_node/dgram_test.ts b/tests/unit_node/dgram_test.ts
new file mode 100644
index 000000000..4c6e49577
--- /dev/null
+++ b/tests/unit_node/dgram_test.ts
@@ -0,0 +1,59 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+import { execCode } from "../unit/test_util.ts";
+import { createSocket } from "node:dgram";
+
+const listenPort = 4503;
+const listenPort2 = 4504;
+
+Deno.test("[node/dgram] udp ref and unref", {
+ permissions: { read: true, run: true, net: true },
+}, async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+
+ const udpSocket = createSocket("udp4");
+ udpSocket.bind(listenPort);
+
+ udpSocket.unref();
+ udpSocket.ref();
+
+ let data;
+ udpSocket.on("message", (buffer, _rinfo) => {
+ data = Uint8Array.from(buffer);
+ udpSocket.close();
+ });
+ udpSocket.on("close", () => {
+ resolve();
+ });
+
+ const conn = await Deno.listenDatagram({
+ port: listenPort2,
+ transport: "udp",
+ });
+ await conn.send(new Uint8Array([0, 1, 2, 3]), {
+ transport: "udp",
+ port: listenPort,
+ hostname: "127.0.0.1",
+ });
+
+ await promise;
+ conn.close();
+ assertEquals(data, new Uint8Array([0, 1, 2, 3]));
+});
+
+Deno.test("[node/dgram] udp unref", {
+ permissions: { read: true, run: true, net: true },
+}, async () => {
+ const [statusCode, _output] = await execCode(`
+ import { createSocket } from "node:dgram";
+ const udpSocket = createSocket('udp4');
+ udpSocket.bind(${listenPort2});
+ // This should let the program to exit without waiting for the
+ // udp socket to close.
+ udpSocket.unref();
+ udpSocket.on('message', (buffer, rinfo) => {
+ });
+ `);
+ assertEquals(statusCode, 0);
+});
diff --git a/tests/unit_node/events_test.ts b/tests/unit_node/events_test.ts
new file mode 100644
index 000000000..13abf5f79
--- /dev/null
+++ b/tests/unit_node/events_test.ts
@@ -0,0 +1,27 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { EventEmitter } from "node:events";
+
+EventEmitter.captureRejections = true;
+
+Deno.test("regression #20441", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+
+ const ee = new EventEmitter();
+
+ ee.on("foo", function () {
+ const p = new Promise((_resolve, reject) => {
+ setTimeout(() => {
+ reject();
+ }, 100);
+ });
+ return p;
+ });
+
+ ee.on("error", function (_) {
+ resolve();
+ });
+
+ ee.emit("foo");
+ await promise;
+});
diff --git a/tests/unit_node/fs_test.ts b/tests/unit_node/fs_test.ts
new file mode 100644
index 000000000..e0cdf3a23
--- /dev/null
+++ b/tests/unit_node/fs_test.ts
@@ -0,0 +1,116 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import {
+ assert,
+ assertEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { join } from "node:path";
+import { tmpdir } from "node:os";
+import {
+ constants,
+ existsSync,
+ mkdtempSync,
+ promises,
+ readFileSync,
+ writeFileSync,
+} from "node:fs";
+import { constants as fsPromiseConstants, cp } from "node:fs/promises";
+import { pathToAbsoluteFileUrl } from "../unit/test_util.ts";
+
+Deno.test(
+ "[node/fs writeFileSync] write file without option",
+ () => {
+ const data = "Hello";
+ const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt";
+
+ writeFileSync(filename, data);
+ const dataRead = readFileSync(filename, "utf8");
+
+ assert(dataRead === "Hello");
+ },
+);
+
+Deno.test(
+ "[node/fs writeFileSync] write file with option ASCII",
+ () => {
+ const data = "Hello";
+ const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt";
+
+ writeFileSync(filename, data, { encoding: "ascii" });
+ const dataRead = readFileSync(filename, "utf8");
+
+ assert(dataRead === "Hello");
+ },
+);
+
+Deno.test(
+ "[node/fs writeFileSync] write file throws error when encoding is not implemented",
+ () => {
+ const data = "Hello";
+ const filename = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt";
+
+ assertThrows(
+ () => writeFileSync(filename, data, { encoding: "utf16le" }),
+ 'The value "utf16le" is invalid for option "encoding"',
+ );
+ },
+);
+
+Deno.test(
+ "[node/fs existsSync] path",
+ { permissions: { read: true } },
+ () => {
+ assert(existsSync("tests/testdata/assets/fixture.json"));
+ },
+);
+
+Deno.test(
+ "[node/fs existsSync] url",
+ { permissions: { read: true } },
+ () => {
+ assert(existsSync(
+ pathToAbsoluteFileUrl("tests/testdata/assets/fixture.json"),
+ ));
+ },
+);
+
+Deno.test(
+ "[node/fs existsSync] no permission",
+ { permissions: { read: false } },
+ () => {
+ assertThrows(() => {
+ existsSync("tests/testdata/assets/fixture.json");
+ }, Deno.errors.PermissionDenied);
+ },
+);
+
+Deno.test(
+ "[node/fs existsSync] not exists",
+ { permissions: { read: true } },
+ () => {
+ assert(!existsSync("bad_filename"));
+ },
+);
+
+Deno.test(
+ "[node/fs/promises constants] is the same as from node:fs",
+ () => {
+ assertEquals(constants, fsPromiseConstants);
+ assertEquals(constants, promises.constants);
+ },
+);
+
+Deno.test(
+ "[node/fs/promises cp] copy file",
+ async () => {
+ const src = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt";
+ const dest = mkdtempSync(join(tmpdir(), "foo-")) + "/test.txt";
+ writeFileSync(src, "Hello");
+
+ await cp(src, dest);
+
+ const dataRead = readFileSync(dest, "utf8");
+ assert(dataRead === "Hello");
+ },
+);
diff --git a/tests/unit_node/http2_test.ts b/tests/unit_node/http2_test.ts
new file mode 100644
index 000000000..5db5cc8e8
--- /dev/null
+++ b/tests/unit_node/http2_test.ts
@@ -0,0 +1,138 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import * as http2 from "node:http2";
+import * as net from "node:net";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+
+for (const url of ["http://127.0.0.1:4246", "https://127.0.0.1:4247"]) {
+ Deno.test(`[node/http2 client] ${url}`, {
+ ignore: Deno.build.os === "windows",
+ }, async () => {
+ // Create a server to respond to the HTTP2 requests
+ const client = http2.connect(url, {});
+ client.on("error", (err) => console.error(err));
+
+ const req = client.request({ ":method": "POST", ":path": "/" }, {
+ waitForTrailers: true,
+ });
+
+ let receivedTrailers;
+ let receivedHeaders;
+ let receivedData = "";
+
+ req.on("response", (headers, _flags) => {
+ receivedHeaders = headers;
+ });
+
+ req.write("hello");
+ req.setEncoding("utf8");
+
+ req.on("wantTrailers", () => {
+ req.sendTrailers({ foo: "bar" });
+ });
+
+ req.on("trailers", (trailers, _flags) => {
+ receivedTrailers = trailers;
+ });
+
+ req.on("data", (chunk) => {
+ receivedData += chunk;
+ });
+ req.end();
+
+ const { promise, resolve } = Promise.withResolvers<void>();
+ setTimeout(() => {
+ try {
+ client.close();
+ } catch (_) {
+ // pass
+ }
+ resolve();
+ }, 2000);
+
+ await promise;
+ assertEquals(receivedHeaders, { ":status": 200 });
+ assertEquals(receivedData, "hello world\n");
+
+ assertEquals(receivedTrailers, {
+ "abc": "def",
+ "opr": "stv",
+ "foo": "bar",
+ });
+ });
+}
+
+Deno.test(`[node/http2 client createConnection]`, {
+ ignore: Deno.build.os === "windows",
+}, async () => {
+ const url = "http://127.0.0.1:4246";
+ const createConnDeferred = Promise.withResolvers<void>();
+ // Create a server to respond to the HTTP2 requests
+ const client = http2.connect(url, {
+ createConnection() {
+ const socket = net.connect({ host: "127.0.0.1", port: 4246 });
+
+ socket.on("connect", () => {
+ createConnDeferred.resolve();
+ });
+
+ return socket;
+ },
+ });
+ client.on("error", (err) => console.error(err));
+
+ const req = client.request({ ":method": "POST", ":path": "/" });
+
+ let receivedData = "";
+
+ req.write("hello");
+ req.setEncoding("utf8");
+
+ req.on("data", (chunk) => {
+ receivedData += chunk;
+ });
+ req.end();
+
+ const endPromise = Promise.withResolvers<void>();
+ setTimeout(() => {
+ try {
+ client.close();
+ } catch (_) {
+ // pass
+ }
+ endPromise.resolve();
+ }, 2000);
+
+ await createConnDeferred.promise;
+ await endPromise.promise;
+ assertEquals(receivedData, "hello world\n");
+});
+
+// TODO(bartlomieju): reenable sanitizers
+Deno.test("[node/http2 server]", { sanitizeOps: false }, async () => {
+ const server = http2.createServer();
+ server.listen(0);
+ const port = (<net.AddressInfo> server.address()).port;
+ const sessionPromise = new Promise<http2.Http2Session>((resolve) =>
+ server.on("session", resolve)
+ );
+
+ const responsePromise = fetch(`http://localhost:${port}/path`, {
+ method: "POST",
+ body: "body",
+ });
+
+ const session = await sessionPromise;
+ const stream = await new Promise<http2.ServerHttp2Stream>((resolve) =>
+ session.on("stream", resolve)
+ );
+ await new Promise((resolve) => stream.on("headers", resolve));
+ await new Promise((resolve) => stream.on("data", resolve));
+ await new Promise((resolve) => stream.on("end", resolve));
+ stream.respond();
+ stream.end();
+ const resp = await responsePromise;
+ await resp.text();
+
+ await new Promise((resolve) => server.close(resolve));
+});
diff --git a/tests/unit_node/http_test.ts b/tests/unit_node/http_test.ts
new file mode 100644
index 000000000..28e67ddad
--- /dev/null
+++ b/tests/unit_node/http_test.ts
@@ -0,0 +1,940 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import EventEmitter from "node:events";
+import http, { type RequestOptions } from "node:http";
+import https from "node:https";
+import { assert, assertEquals, fail } from "@test_util/std/assert/mod.ts";
+import { assertSpyCalls, spy } from "@test_util/std/testing/mock.ts";
+
+import { gzip } from "node:zlib";
+import { Buffer } from "node:buffer";
+import { serve } from "@test_util/std/http/server.ts";
+import { execCode } from "../unit/test_util.ts";
+
+Deno.test("[node/http listen]", async () => {
+ {
+ const server = http.createServer();
+ assertEquals(0, EventEmitter.listenerCount(server, "request"));
+ }
+
+ {
+ const server = http.createServer(() => {});
+ assertEquals(1, EventEmitter.listenerCount(server, "request"));
+ }
+
+ {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer();
+
+ server.listen(() => {
+ server.close();
+ });
+ server.on("close", () => {
+ resolve();
+ });
+
+ await promise;
+ }
+
+ {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer();
+
+ server.listen().on("listening", () => {
+ server.close();
+ });
+ server.on("close", () => {
+ resolve();
+ });
+
+ await promise;
+ }
+
+ for (const port of [0, -0, 0.0, "0", null, undefined]) {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer();
+
+ server.listen(port, () => {
+ server.close();
+ });
+ server.on("close", () => {
+ resolve();
+ });
+
+ await promise;
+ }
+});
+
+Deno.test("[node/http close]", async () => {
+ {
+ const deferred1 = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<void>();
+ // Node quirk: callback gets exception object, event listener does not.
+ // deno-lint-ignore no-explicit-any
+ const server = http.createServer().close((err: any) => {
+ assertEquals(err.code, "ERR_SERVER_NOT_RUNNING");
+ deferred1.resolve();
+ });
+ // deno-lint-ignore no-explicit-any
+ server.on("close", (err: any) => {
+ assertEquals(err, undefined);
+ deferred2.resolve();
+ });
+ server.on("listening", () => {
+ throw Error("unreachable");
+ });
+ await deferred1.promise;
+ await deferred2.promise;
+ }
+
+ {
+ const deferred1 = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<void>();
+ const server = http.createServer().listen().close((err) => {
+ assertEquals(err, undefined);
+ deferred1.resolve();
+ });
+ // deno-lint-ignore no-explicit-any
+ server.on("close", (err: any) => {
+ assertEquals(err, undefined);
+ deferred2.resolve();
+ });
+ server.on("listening", () => {
+ throw Error("unreachable");
+ });
+ await deferred1.promise;
+ await deferred2.promise;
+ }
+});
+
+Deno.test("[node/http] chunked response", async () => {
+ for (
+ const body of [undefined, "", "ok"]
+ ) {
+ const expected = body ?? "";
+ const { promise, resolve } = Promise.withResolvers<void>();
+
+ const server = http.createServer((_req, res) => {
+ res.writeHead(200, { "transfer-encoding": "chunked" });
+ res.end(body);
+ });
+
+ server.listen(async () => {
+ const res = await fetch(
+ // deno-lint-ignore no-explicit-any
+ `http://127.0.0.1:${(server.address() as any).port}/`,
+ );
+ assert(res.ok);
+
+ const actual = await res.text();
+ assertEquals(actual, expected);
+
+ server.close(() => resolve());
+ });
+
+ await promise;
+ }
+});
+
+// Test empty chunks: https://github.com/denoland/deno/issues/17194
+Deno.test("[node/http] empty chunk in the middle of response", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+
+ const server = http.createServer((_req, res) => {
+ res.write("a");
+ res.write("");
+ res.write("b");
+ res.end();
+ });
+
+ server.listen(async () => {
+ const res = await fetch(
+ // deno-lint-ignore no-explicit-any
+ `http://127.0.0.1:${(server.address() as any).port}/`,
+ );
+ const actual = await res.text();
+ assertEquals(actual, "ab");
+ server.close(() => resolve());
+ });
+
+ await promise;
+});
+
+Deno.test("[node/http] server can respond with 101, 204, 205, 304 status", async () => {
+ for (const status of [101, 204, 205, 304]) {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((_req, res) => {
+ res.statusCode = status;
+ res.end("");
+ });
+ server.listen(async () => {
+ const res = await fetch(
+ // deno-lint-ignore no-explicit-any
+ `http://127.0.0.1:${(server.address() as any).port}/`,
+ );
+ await res.arrayBuffer();
+ assertEquals(res.status, status);
+ server.close(() => resolve());
+ });
+ await promise;
+ }
+});
+
+Deno.test("[node/http] IncomingRequest socket has remoteAddress + remotePort", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+
+ let remoteAddress: string | undefined;
+ let remotePort: number | undefined;
+ const server = http.createServer((req, res) => {
+ remoteAddress = req.socket.remoteAddress;
+ remotePort = req.socket.remotePort;
+ res.end();
+ });
+ server.listen(async () => {
+ // deno-lint-ignore no-explicit-any
+ const port = (server.address() as any).port;
+ const res = await fetch(
+ `http://127.0.0.1:${port}/`,
+ );
+ await res.arrayBuffer();
+ assertEquals(remoteAddress, "127.0.0.1");
+ assertEquals(typeof remotePort, "number");
+ server.close(() => resolve());
+ });
+ await promise;
+});
+
+Deno.test("[node/http] request default protocol", async () => {
+ const deferred1 = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<void>();
+ const server = http.createServer((_, res) => {
+ res.end("ok");
+ });
+
+ // @ts-ignore IncomingMessageForClient
+ // deno-lint-ignore no-explicit-any
+ let clientRes: any;
+ // deno-lint-ignore no-explicit-any
+ let clientReq: any;
+ server.listen(() => {
+ clientReq = http.request(
+ // deno-lint-ignore no-explicit-any
+ { host: "localhost", port: (server.address() as any).port },
+ (res) => {
+ assert(res.socket instanceof EventEmitter);
+ assertEquals(res.complete, false);
+ res.on("data", () => {});
+ res.on("end", () => {
+ server.close();
+ });
+ clientRes = res;
+ assertEquals(res.statusCode, 200);
+ deferred2.resolve();
+ },
+ );
+ clientReq.end();
+ });
+ server.on("close", () => {
+ deferred1.resolve();
+ });
+ await deferred1.promise;
+ await deferred2.promise;
+ assert(clientReq.socket instanceof EventEmitter);
+ assertEquals(clientRes!.complete, true);
+});
+
+Deno.test("[node/http] request with headers", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((req, res) => {
+ assertEquals(req.headers["x-foo"], "bar");
+ res.end("ok");
+ });
+ server.listen(() => {
+ const req = http.request(
+ {
+ host: "localhost",
+ // deno-lint-ignore no-explicit-any
+ port: (server.address() as any).port,
+ headers: { "x-foo": "bar" },
+ },
+ (res) => {
+ res.on("data", () => {});
+ res.on("end", () => {
+ server.close();
+ });
+ assertEquals(res.statusCode, 200);
+ },
+ );
+ req.end();
+ });
+ server.on("close", () => {
+ resolve();
+ });
+ await promise;
+});
+
+Deno.test("[node/http] non-string buffer response", {
+ // TODO(kt3k): Enable sanitizer. A "zlib" resource is leaked in this test case.
+ sanitizeResources: false,
+}, async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((_, res) => {
+ res.socket!.end();
+ gzip(
+ Buffer.from("a".repeat(100), "utf8"),
+ {},
+ (_err: Error | null, data: Buffer) => {
+ res.setHeader("Content-Encoding", "gzip");
+ res.end(data);
+ },
+ );
+ });
+ server.listen(async () => {
+ const res = await fetch(
+ // deno-lint-ignore no-explicit-any
+ `http://localhost:${(server.address() as any).port}`,
+ );
+ try {
+ const text = await res.text();
+ assertEquals(text, "a".repeat(100));
+ } catch (e) {
+ server.emit("error", e);
+ } finally {
+ server.close(() => resolve());
+ }
+ });
+ await promise;
+});
+
+// TODO(kt3k): Enable this test
+// Currently IncomingMessage constructor has incompatible signature.
+/*
+Deno.test("[node/http] http.IncomingMessage can be created without url", () => {
+ const message = new http.IncomingMessage(
+ // adapted from https://github.com/dougmoscrop/serverless-http/blob/80bfb3e940057d694874a8b0bc12ad96d2abe7ab/lib/request.js#L7
+ {
+ // @ts-expect-error - non-request properties will also be passed in, e.g. by serverless-http
+ encrypted: true,
+ readable: false,
+ remoteAddress: "foo",
+ address: () => ({ port: 443 }),
+ // deno-lint-ignore no-explicit-any
+ end: Function.prototype as any,
+ // deno-lint-ignore no-explicit-any
+ destroy: Function.prototype as any,
+ },
+ );
+ message.url = "https://example.com";
+});
+*/
+
+Deno.test("[node/http] send request with non-chunked body", async () => {
+ let requestHeaders: Headers;
+ let requestBody = "";
+
+ const hostname = "localhost";
+ const port = 4505;
+
+ // NOTE: Instead of node/http.createServer(), serve() in std/http/server.ts is used.
+ // https://github.com/denoland/deno_std/pull/2755#discussion_r1005592634
+ const handler = async (req: Request) => {
+ requestHeaders = req.headers;
+ requestBody = await req.text();
+ return new Response("ok");
+ };
+ const abortController = new AbortController();
+ const servePromise = serve(handler, {
+ hostname,
+ port,
+ signal: abortController.signal,
+ onListen: undefined,
+ });
+
+ const opts: RequestOptions = {
+ host: hostname,
+ port,
+ method: "POST",
+ headers: {
+ "Content-Type": "text/plain; charset=utf-8",
+ "Content-Length": "11",
+ },
+ };
+ const req = http.request(opts, (res) => {
+ res.on("data", () => {});
+ res.on("end", () => {
+ abortController.abort();
+ });
+ assertEquals(res.statusCode, 200);
+ assertEquals(requestHeaders.get("content-length"), "11");
+ assertEquals(requestHeaders.has("transfer-encoding"), false);
+ assertEquals(requestBody, "hello world");
+ });
+ req.on("socket", (socket) => {
+ assert(socket.writable);
+ assert(socket.readable);
+ socket.setKeepAlive();
+ socket.destroy();
+ socket.setTimeout(100);
+ });
+ req.write("hello ");
+ req.write("world");
+ req.end();
+
+ await servePromise;
+});
+
+Deno.test("[node/http] send request with chunked body", async () => {
+ let requestHeaders: Headers;
+ let requestBody = "";
+
+ const hostname = "localhost";
+ const port = 4505;
+
+ // NOTE: Instead of node/http.createServer(), serve() in std/http/server.ts is used.
+ // https://github.com/denoland/deno_std/pull/2755#discussion_r1005592634
+ const handler = async (req: Request) => {
+ requestHeaders = req.headers;
+ requestBody = await req.text();
+ return new Response("ok");
+ };
+ const abortController = new AbortController();
+ const servePromise = serve(handler, {
+ hostname,
+ port,
+ signal: abortController.signal,
+ onListen: undefined,
+ });
+
+ const opts: RequestOptions = {
+ host: hostname,
+ port,
+ method: "POST",
+ headers: {
+ "Content-Type": "text/plain; charset=utf-8",
+ "Content-Length": "11",
+ "Transfer-Encoding": "chunked",
+ },
+ };
+ const req = http.request(opts, (res) => {
+ res.on("data", () => {});
+ res.on("end", () => {
+ abortController.abort();
+ });
+ assertEquals(res.statusCode, 200);
+ assertEquals(requestHeaders.has("content-length"), false);
+ assertEquals(requestHeaders.get("transfer-encoding"), "chunked");
+ assertEquals(requestBody, "hello world");
+ });
+ req.write("hello ");
+ req.write("world");
+ req.end();
+
+ await servePromise;
+});
+
+Deno.test("[node/http] send request with chunked body as default", async () => {
+ let requestHeaders: Headers;
+ let requestBody = "";
+
+ const hostname = "localhost";
+ const port = 4505;
+
+ // NOTE: Instead of node/http.createServer(), serve() in std/http/server.ts is used.
+ // https://github.com/denoland/deno_std/pull/2755#discussion_r1005592634
+ const handler = async (req: Request) => {
+ requestHeaders = req.headers;
+ requestBody = await req.text();
+ return new Response("ok");
+ };
+ const abortController = new AbortController();
+ const servePromise = serve(handler, {
+ hostname,
+ port,
+ signal: abortController.signal,
+ onListen: undefined,
+ });
+
+ const opts: RequestOptions = {
+ host: hostname,
+ port,
+ method: "POST",
+ headers: {
+ "Content-Type": "text/plain; charset=utf-8",
+ },
+ };
+ const req = http.request(opts, (res) => {
+ res.on("data", () => {});
+ res.on("end", () => {
+ abortController.abort();
+ });
+ assertEquals(res.statusCode, 200);
+ assertEquals(requestHeaders.has("content-length"), false);
+ assertEquals(requestHeaders.get("transfer-encoding"), "chunked");
+ assertEquals(requestBody, "hello world");
+ });
+ req.write("hello ");
+ req.write("world");
+ req.end();
+
+ await servePromise;
+});
+
+Deno.test("[node/http] ServerResponse _implicitHeader", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((_req, res) => {
+ const writeHeadSpy = spy(res, "writeHead");
+ // deno-lint-ignore no-explicit-any
+ (res as any)._implicitHeader();
+ assertSpyCalls(writeHeadSpy, 1);
+ writeHeadSpy.restore();
+ res.end("Hello World");
+ });
+
+ server.listen(async () => {
+ const { port } = server.address() as { port: number };
+ const res = await fetch(`http://localhost:${port}`);
+ assertEquals(await res.text(), "Hello World");
+ server.close(() => {
+ resolve();
+ });
+ });
+
+ await promise;
+});
+
+// https://github.com/denoland/deno/issues/21509
+Deno.test("[node/http] ServerResponse flushHeaders", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((_req, res) => {
+ res.flushHeaders(); // no-op
+ res.end("Hello World");
+ });
+
+ server.listen(async () => {
+ const { port } = server.address() as { port: number };
+ const res = await fetch(`http://localhost:${port}`);
+ assertEquals(await res.text(), "Hello World");
+ server.close(() => {
+ resolve();
+ });
+ });
+
+ await promise;
+});
+
+Deno.test("[node/http] server unref", async () => {
+ const [statusCode, _output] = await execCode(`
+ import http from "node:http";
+ const server = http.createServer((_req, res) => {
+ res.statusCode = status;
+ res.end("");
+ });
+
+ // This should let the program to exit without waiting for the
+ // server to close.
+ server.unref();
+
+ server.listen(async () => {
+ });
+ `);
+ assertEquals(statusCode, 0);
+});
+
+Deno.test("[node/http] ClientRequest handle non-string headers", async () => {
+ // deno-lint-ignore no-explicit-any
+ let headers: any;
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const req = http.request("http://localhost:4545/echo_server", {
+ method: "POST",
+ headers: { 1: 2 },
+ }, (resp) => {
+ headers = resp.headers;
+
+ resp.on("data", () => {});
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ assertEquals(headers!["1"], "2");
+});
+
+Deno.test("[node/http] ClientRequest uses HTTP/1.1", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const req = https.request("https://localhost:5545/http_version", {
+ method: "POST",
+ headers: { 1: 2 },
+ }, (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ assertEquals(body, "HTTP/1.1");
+});
+
+Deno.test("[node/http] ClientRequest setTimeout", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const timer = setTimeout(() => reject("timed out"), 50000);
+ const req = http.request("http://localhost:4545/http_version", (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.setTimeout(120000);
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ clearTimeout(timer);
+ assertEquals(body, "HTTP/1.1");
+});
+
+Deno.test("[node/http] ClientRequest setNoDelay", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const timer = setTimeout(() => reject("timed out"), 50000);
+ const req = http.request("http://localhost:4545/http_version", (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.setNoDelay(true);
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ clearTimeout(timer);
+ assertEquals(body, "HTTP/1.1");
+});
+
+Deno.test("[node/http] ClientRequest PATCH", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const req = http.request("http://localhost:4545/echo_server", {
+ method: "PATCH",
+ }, (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.write("hello ");
+ req.write("world");
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ assertEquals(body, "hello world");
+});
+
+Deno.test("[node/http] ClientRequest PUT", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const req = http.request("http://localhost:4545/echo_server", {
+ method: "PUT",
+ }, (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.write("hello ");
+ req.write("world");
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ assertEquals(body, "hello world");
+});
+
+Deno.test("[node/http] ClientRequest search params", async () => {
+ let body = "";
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ const req = http.request({
+ host: "localhost:4545",
+ path: "search_params?foo=bar",
+ }, (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ });
+ req.once("error", (e) => reject(e));
+ req.end();
+ await promise;
+ assertEquals(body, "foo=bar");
+});
+
+Deno.test("[node/http] HTTPS server", async () => {
+ const deferred = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<void>();
+ const client = Deno.createHttpClient({
+ caCerts: [Deno.readTextFileSync("tests/testdata/tls/RootCA.pem")],
+ });
+ const server = https.createServer({
+ cert: Deno.readTextFileSync("tests/testdata/tls/localhost.crt"),
+ key: Deno.readTextFileSync("tests/testdata/tls/localhost.key"),
+ }, (req, res) => {
+ // @ts-ignore: It exists on TLSSocket
+ assert(req.socket.encrypted);
+ res.end("success!");
+ });
+ server.listen(() => {
+ // deno-lint-ignore no-explicit-any
+ fetch(`https://localhost:${(server.address() as any).port}`, {
+ client,
+ }).then(async (res) => {
+ assertEquals(res.status, 200);
+ assertEquals(await res.text(), "success!");
+ server.close();
+ deferred2.resolve();
+ });
+ })
+ .on("error", () => fail());
+ server.on("close", () => {
+ deferred.resolve();
+ });
+ await Promise.all([deferred.promise, deferred2.promise]);
+ client.close();
+});
+
+Deno.test(
+ "[node/http] client upgrade",
+ { permissions: { net: true } },
+ async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((req, res) => {
+ // @ts-ignore: It exists on TLSSocket
+ assert(!req.socket.encrypted);
+ res.writeHead(200, { "Content-Type": "text/plain" });
+ res.end("okay");
+ });
+ // @ts-ignore it's a socket for real
+ let serverSocket;
+ server.on("upgrade", (req, socket, _head) => {
+ // https://github.com/denoland/deno/issues/21979
+ assert(req.socket?.write);
+ socket.write(
+ "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" +
+ "Upgrade: WebSocket\r\n" +
+ "Connection: Upgrade\r\n" +
+ "\r\n",
+ );
+ serverSocket = socket;
+ });
+
+ // Now that server is running
+ server.listen(1337, "127.0.0.1", () => {
+ // make a request
+ const options = {
+ port: 1337,
+ host: "127.0.0.1",
+ headers: {
+ "Connection": "Upgrade",
+ "Upgrade": "websocket",
+ },
+ };
+
+ const req = http.request(options);
+ req.end();
+
+ req.on("upgrade", (_res, socket, _upgradeHead) => {
+ socket.end();
+ // @ts-ignore it's a socket for real
+ serverSocket!.end();
+ server.close(() => {
+ resolve();
+ });
+ });
+ });
+
+ await promise;
+ },
+);
+
+Deno.test(
+ "[node/http] client end with callback",
+ { permissions: { net: true } },
+ async () => {
+ let received = false;
+ const ac = new AbortController();
+ const server = Deno.serve({ port: 5928, signal: ac.signal }, (_req) => {
+ received = true;
+ return new Response("hello");
+ });
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+ let body = "";
+
+ const request = http.request(
+ "http://localhost:5928/",
+ (resp) => {
+ resp.on("data", (chunk) => {
+ body += chunk;
+ });
+
+ resp.on("end", () => {
+ resolve();
+ });
+ },
+ );
+ request.on("error", reject);
+ request.end(() => {
+ assert(received);
+ });
+
+ await promise;
+ ac.abort();
+ await server.finished;
+
+ assertEquals(body, "hello");
+ },
+);
+
+Deno.test("[node/http] server emits error if addr in use", async () => {
+ const deferred1 = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<Error>();
+
+ const server = http.createServer();
+ server.listen(9001);
+
+ const server2 = http.createServer();
+ server2.on("error", (e) => {
+ deferred2.resolve(e);
+ });
+ server2.listen(9001);
+
+ const err = await deferred2.promise;
+ server.close(() => deferred1.resolve());
+ server2.close();
+ await deferred1.promise;
+ const expectedMsg = Deno.build.os === "windows"
+ ? "Only one usage of each socket address"
+ : "Address already in use";
+ assert(
+ err.message.startsWith(expectedMsg),
+ `Wrong error: ${err.message}`,
+ );
+});
+
+Deno.test(
+ "[node/http] client destroy doesn't leak",
+ { permissions: { net: true } },
+ async () => {
+ const ac = new AbortController();
+ let timerId;
+
+ const server = Deno.serve(
+ { port: 5929, signal: ac.signal },
+ async (_req) => {
+ await new Promise((resolve) => {
+ timerId = setTimeout(resolve, 5000);
+ });
+ return new Response("hello");
+ },
+ );
+ const { promise, resolve, reject } = Promise.withResolvers<void>();
+
+ const request = http.request("http://localhost:5929/");
+ request.on("error", reject);
+ request.on("close", () => {});
+ request.end();
+ setTimeout(() => {
+ request.destroy(new Error());
+ resolve();
+ }, 100);
+
+ await promise;
+ clearTimeout(timerId);
+ ac.abort();
+ await server.finished;
+ },
+);
+
+Deno.test("[node/http] node:http exports globalAgent", async () => {
+ const http = await import("node:http");
+ assert(
+ http.globalAgent,
+ "node:http must export 'globalAgent' on module namespace",
+ );
+ assert(
+ http.default.globalAgent,
+ "node:http must export 'globalAgent' on module default export",
+ );
+});
+
+Deno.test("[node/https] node:https exports globalAgent", async () => {
+ const https = await import("node:https");
+ assert(
+ https.globalAgent,
+ "node:https must export 'globalAgent' on module namespace",
+ );
+ assert(
+ https.default.globalAgent,
+ "node:https must export 'globalAgent' on module default export",
+ );
+});
+
+Deno.test("[node/http] node:http request.setHeader(header, null) doesn't throw", () => {
+ {
+ const req = http.request("http://localhost:4545/");
+ req.on("error", () => {});
+ // @ts-expect-error - null is not a valid header value
+ req.setHeader("foo", null);
+ req.end();
+ req.destroy();
+ }
+ {
+ const req = https.request("https://localhost:4545/");
+ req.on("error", () => {});
+ // @ts-expect-error - null is not a valid header value
+ req.setHeader("foo", null);
+ req.end();
+ req.destroy();
+ }
+});
+
+Deno.test("[node/http] ServerResponse getHeader", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const server = http.createServer((_req, res) => {
+ res.setHeader("foo", "bar");
+ assertEquals(res.getHeader("foo"), "bar");
+ assertEquals(res.getHeader("ligma"), undefined);
+ res.end("Hello World");
+ });
+
+ server.listen(async () => {
+ const { port } = server.address() as { port: number };
+ const res = await fetch(`http://localhost:${port}`);
+ assertEquals(await res.text(), "Hello World");
+ server.close(() => {
+ resolve();
+ });
+ });
+
+ await promise;
+});
diff --git a/tests/unit_node/internal/_randomBytes_test.ts b/tests/unit_node/internal/_randomBytes_test.ts
new file mode 100644
index 000000000..13ee82566
--- /dev/null
+++ b/tests/unit_node/internal/_randomBytes_test.ts
@@ -0,0 +1,112 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ assert,
+ assertEquals,
+ assertRejects,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { assertCallbackErrorUncaught } from "../_test_utils.ts";
+import { pseudoRandomBytes, randomBytes } from "node:crypto";
+
+const MAX_RANDOM_VALUES = 65536;
+const MAX_SIZE = 4294967295;
+
+Deno.test("randomBytes sync works correctly", function () {
+ assertEquals(randomBytes(0).length, 0, "len: " + 0);
+ assertEquals(randomBytes(3).length, 3, "len: " + 3);
+ assertEquals(randomBytes(30).length, 30, "len: " + 30);
+ assertEquals(randomBytes(300).length, 300, "len: " + 300);
+ assertEquals(
+ randomBytes(17 + MAX_RANDOM_VALUES).length,
+ 17 + MAX_RANDOM_VALUES,
+ "len: " + 17 + MAX_RANDOM_VALUES,
+ );
+ assertEquals(
+ randomBytes(MAX_RANDOM_VALUES * 100).length,
+ MAX_RANDOM_VALUES * 100,
+ "len: " + MAX_RANDOM_VALUES * 100,
+ );
+ assertThrows(() => randomBytes(MAX_SIZE + 1));
+ assertThrows(() => randomBytes(-1));
+});
+
+Deno.test("randomBytes async works correctly", async function () {
+ randomBytes(0, function (err, resp) {
+ assert(!err);
+ assertEquals(resp?.length, 0, "len: " + 0);
+ });
+ randomBytes(3, function (err, resp) {
+ assert(!err);
+ assertEquals(resp?.length, 3, "len: " + 3);
+ });
+ randomBytes(30, function (err, resp) {
+ assert(!err);
+ assertEquals(resp?.length, 30, "len: " + 30);
+ });
+ randomBytes(300, function (err, resp) {
+ assert(!err);
+ assertEquals(resp?.length, 300, "len: " + 300);
+ });
+ randomBytes(17 + MAX_RANDOM_VALUES, function (err, resp) {
+ assert(!err);
+ assertEquals(
+ resp?.length,
+ 17 + MAX_RANDOM_VALUES,
+ "len: " + 17 + MAX_RANDOM_VALUES,
+ );
+ });
+ randomBytes(MAX_RANDOM_VALUES * 100, function (err, resp) {
+ assert(!err);
+ assertEquals(
+ resp?.length,
+ MAX_RANDOM_VALUES * 100,
+ "len: " + MAX_RANDOM_VALUES * 100,
+ );
+ });
+ assertThrows(() =>
+ randomBytes(MAX_SIZE + 1, function (err) {
+ //Shouldn't throw async
+ assert(!err);
+ })
+ );
+ await assertRejects(() =>
+ new Promise((resolve, reject) => {
+ randomBytes(-1, function (err, res) {
+ //Shouldn't throw async
+ if (err) {
+ reject(err);
+ } else {
+ resolve(res);
+ }
+ });
+ })
+ );
+});
+
+Deno.test("[std/node/crypto] randomBytes callback isn't called twice if error is thrown", async () => {
+ const importUrl = new URL("node:crypto", import.meta.url);
+ await assertCallbackErrorUncaught({
+ prelude: `import { randomBytes } from ${JSON.stringify(importUrl)}`,
+ invocation: "randomBytes(0, ",
+ });
+});
+
+// https://github.com/denoland/deno/issues/21632
+Deno.test("pseudoRandomBytes works", function () {
+ assertEquals(pseudoRandomBytes(0).length, 0, "len: " + 0);
+ assertEquals(pseudoRandomBytes(3).length, 3, "len: " + 3);
+ assertEquals(pseudoRandomBytes(30).length, 30, "len: " + 30);
+ assertEquals(pseudoRandomBytes(300).length, 300, "len: " + 300);
+ assertEquals(
+ pseudoRandomBytes(17 + MAX_RANDOM_VALUES).length,
+ 17 + MAX_RANDOM_VALUES,
+ "len: " + 17 + MAX_RANDOM_VALUES,
+ );
+ assertEquals(
+ pseudoRandomBytes(MAX_RANDOM_VALUES * 100).length,
+ MAX_RANDOM_VALUES * 100,
+ "len: " + MAX_RANDOM_VALUES * 100,
+ );
+ assertThrows(() => pseudoRandomBytes(MAX_SIZE + 1));
+ assertThrows(() => pseudoRandomBytes(-1));
+});
diff --git a/tests/unit_node/internal/_randomFill_test.ts b/tests/unit_node/internal/_randomFill_test.ts
new file mode 100644
index 000000000..d85569960
--- /dev/null
+++ b/tests/unit_node/internal/_randomFill_test.ts
@@ -0,0 +1,65 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { Buffer } from "node:buffer";
+import { randomFill, randomFillSync } from "node:crypto";
+import {
+ assertEquals,
+ assertNotEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+
+const validateNonZero = (buf: Buffer) => {
+ if (!buf.some((ch) => ch > 0)) throw new Error("Error");
+};
+
+const validateZero = (buf: Buffer) => {
+ buf.forEach((val) => assertEquals(val, 0));
+};
+
+Deno.test("[node/crypto.randomFill]", async () => {
+ const { promise, resolve } = Promise.withResolvers<boolean>();
+ const buf = Buffer.alloc(10);
+ const before = buf.toString("hex");
+
+ randomFill(buf, 5, 5, (_err, bufTwo) => {
+ const after = bufTwo?.toString("hex");
+ assertEquals(before.slice(0, 10), after?.slice(0, 10));
+ resolve(true);
+ });
+
+ await promise;
+});
+
+Deno.test("[node/crypto.randomFillSync]", () => {
+ const buf = Buffer.alloc(10);
+ const before = buf.toString("hex");
+
+ const after = randomFillSync(buf, 5, 5);
+
+ assertNotEquals(before, after.toString("hex"));
+});
+
+Deno.test("[node/crypto.randomFillSync] Complete fill, explicit size", () => {
+ const buf = Buffer.alloc(10);
+ randomFillSync(buf, undefined, 10);
+ validateNonZero(buf);
+});
+
+Deno.test("[randomFillSync] Complete fill", () => {
+ const buf = Buffer.alloc(10);
+ randomFillSync(buf);
+ validateNonZero(buf);
+});
+
+Deno.test("[node/crypto.randomFillSync] Fill beginning, explicit offset+size", () => {
+ const buf = Buffer.alloc(10);
+ randomFillSync(buf, 0, 5);
+ validateNonZero(buf);
+
+ const untouched = buf.slice(5);
+ assertEquals(untouched.length, 5);
+ validateZero(untouched);
+});
+
+Deno.test("[node/crypto.randomFillSync] Invalid offst/size", () => {
+ assertThrows(() => randomFillSync(Buffer.alloc(10), 1, 10));
+});
diff --git a/tests/unit_node/internal/_randomInt_test.ts b/tests/unit_node/internal/_randomInt_test.ts
new file mode 100644
index 000000000..2639f77ce
--- /dev/null
+++ b/tests/unit_node/internal/_randomInt_test.ts
@@ -0,0 +1,32 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { randomInt } from "node:crypto";
+import { assert, assertThrows } from "@test_util/std/assert/mod.ts";
+
+const between = (x: number, min: number, max: number) => x >= min && x < max;
+
+Deno.test("[node/crypto.randomInt] One Param: Max", () => {
+ assert(between(randomInt(55), 0, 55));
+});
+
+Deno.test("[node/crypto.randomInt] Two Params: Max and Min", () => {
+ assert(between(randomInt(40, 120), 40, 120));
+});
+
+Deno.test("[node/crypto.randomInt] Max and Callback", () => {
+ let called = false;
+ randomInt(3, (_err, val) => {
+ called = true;
+ assert(between(val as number, 0, 3));
+ });
+ assert(called);
+});
+
+Deno.test("[node/crypto.randomInt] Min, Max and Callback", () => {
+ randomInt(3, 5, (_err, val) => {
+ assert(between(val as number, 3, 5));
+ });
+});
+
+Deno.test("[node/crypto.randomInt] Min is bigger than Max", () => {
+ assertThrows(() => randomInt(45, 34));
+});
diff --git a/tests/unit_node/internal/pbkdf2_test.ts b/tests/unit_node/internal/pbkdf2_test.ts
new file mode 100644
index 000000000..019e76dcd
--- /dev/null
+++ b/tests/unit_node/internal/pbkdf2_test.ts
@@ -0,0 +1,387 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { pbkdf2, pbkdf2Sync } from "node:crypto";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+
+type Algorithms =
+ | "md5"
+ | "ripemd160"
+ | "sha1"
+ | "sha224"
+ | "sha256"
+ | "sha384"
+ | "sha512";
+
+type Pbkdf2Fixture = {
+ key: string | Float64Array | Int32Array | Uint8Array;
+ salt: string | Float64Array | Int32Array | Uint8Array;
+ iterations: number;
+ dkLen: number;
+ results: { [key in Algorithms]: string };
+};
+
+const fixtures: Pbkdf2Fixture[] = [
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "f31afb6d931392daa5e3130f47f9a9b6e8e72029d8350b9fb27a9e0e00b9d991",
+ "sha1":
+ "0c60c80f961f0e71f3a9b524af6012062fe037a6e0f0eb94fe8fc46bdc637164",
+ "sha256":
+ "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b",
+ "sha512":
+ "867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252",
+ "sha224":
+ "3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e63155d4e490557fd85989497",
+ "sha384":
+ "c0e14f06e49e32d73f9f52ddf1d0c5c7191609233631dadd76a567db42b78676",
+ "ripemd160":
+ "b725258b125e0bacb0e2307e34feb16a4d0d6aed6cb4b0eee458fc1829020428",
+ },
+ },
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 2,
+ "dkLen": 32,
+ "results": {
+ "md5": "042407b552be345ad6eee2cf2f7ed01dd9662d8f0c6950eaec7124aa0c82279e",
+ "sha1":
+ "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957cae93136266537a8d7bf4b76",
+ "sha256":
+ "ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43",
+ "sha512":
+ "e1d9c16aa681708a45f5c7c4e215ceb66e011a2e9f0040713f18aefdb866d53c",
+ "sha224":
+ "93200ffa96c5776d38fa10abdf8f5bfc0054b9718513df472d2331d2d1e66a3f",
+ "sha384":
+ "54f775c6d790f21930459162fc535dbf04a939185127016a04176a0730c6f1f4",
+ "ripemd160":
+ "768dcc27b7bfdef794a1ff9d935090fcf598555e66913180b9ce363c615e9ed9",
+ },
+ },
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 64,
+ "results": {
+ "md5":
+ "f31afb6d931392daa5e3130f47f9a9b6e8e72029d8350b9fb27a9e0e00b9d9915a5f18928639ca8bbc3d1c1cb66d4f27b9dfe39156774c6798b42adc57ed253f",
+ "sha1":
+ "0c60c80f961f0e71f3a9b524af6012062fe037a6e0f0eb94fe8fc46bdc637164ac2e7a8e3f9d2e83ace57e0d50e5e1071367c179bc86c767fc3f78ddb561363f",
+ "sha256":
+ "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b4dbf3a2f3dad3377264bb7b8e8330d4efc7451418617dabef683735361cdc18c",
+ "sha512":
+ "867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252c02d470a285a0501bad999bfe943c08f050235d7d68b1da55e63f73b60a57fce",
+ "sha224":
+ "3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e63155d4e490557fd859894978ab846d52a1083ac610c36c2c5ea8ce4a024dd691064d5453bd17b15ea1ac194",
+ "sha384":
+ "c0e14f06e49e32d73f9f52ddf1d0c5c7191609233631dadd76a567db42b78676b38fc800cc53ddb642f5c74442e62be44d727702213e3bb9223c53b767fbfb5d",
+ "ripemd160":
+ "b725258b125e0bacb0e2307e34feb16a4d0d6aed6cb4b0eee458fc18290204289e55d962783bf52237d264cbbab25f18d89d8c798f90f558ea7b45bdf3d08334",
+ },
+ },
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 2,
+ "dkLen": 64,
+ "results": {
+ "md5":
+ "042407b552be345ad6eee2cf2f7ed01dd9662d8f0c6950eaec7124aa0c82279ed0b7e2a854d0f29ec82ddcabe9760368e5821af8745d74846ccbd17afbfe5ff0",
+ "sha1":
+ "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957cae93136266537a8d7bf4b76c51094cc1ae010b19923ddc4395cd064acb023ffd1edd5ef4be8ffe61426c28e",
+ "sha256":
+ "ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43830651afcb5c862f0b249bd031f7a67520d136470f5ec271ece91c07773253d9",
+ "sha512":
+ "e1d9c16aa681708a45f5c7c4e215ceb66e011a2e9f0040713f18aefdb866d53cf76cab2868a39b9f7840edce4fef5a82be67335c77a6068e04112754f27ccf4e",
+ "sha224":
+ "93200ffa96c5776d38fa10abdf8f5bfc0054b9718513df472d2331d2d1e66a3f97b510224f700ce72581ffb10a1c99ec99a8cc1b951851a71f30d9265fccf912",
+ "sha384":
+ "54f775c6d790f21930459162fc535dbf04a939185127016a04176a0730c6f1f4fb48832ad1261baadd2cedd50814b1c806ad1bbf43ebdc9d047904bf7ceafe1e",
+ "ripemd160":
+ "768dcc27b7bfdef794a1ff9d935090fcf598555e66913180b9ce363c615e9ed953b95fd07169be535e38afbea29c030e06d14f40745b1513b7ccdf0e76229e50",
+ },
+ },
+ {
+ "key": "63ffeeddccbbaa",
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "23a33e38c9c57ea122df372a5b96347667e843ba21c79f150ce503d947449b75",
+ "sha1":
+ "1a12b21aa46bd3bed3a23b8ad072a1465585344b1516252618aabbc41276dada",
+ "sha256":
+ "a47c9371d4d4f663c2a0d3becbd475b7eb884722c7265391381d7696151470a6",
+ "sha512":
+ "09328469e02fcee4f6ab88a23037de33d54f17f786eee39e1f8826109ee54e16",
+ "sha224":
+ "59baceb002865e57061c65dd861c309c049a97207054416c943764efc38b94ed",
+ "sha384":
+ "01cc52b81eda47c8bc9861ab7f7de682e92a0d5e522f4d3a06a3b97be1856580",
+ "ripemd160":
+ "4f04f4782f2def250005e04ef0497403330b52a085ae856f4640700b19983b7c",
+ },
+ },
+ {
+ "key":
+ "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
+ "salt":
+ "6d6e656d6f6e6963e383a1e383bce38388e383abe382abe38299e3838fe38299e382a6e38299e382a1e381afe3829ae381afe38299e3818fe38299e3829de38299e381a1e381a1e38299e58d81e4babae58d81e889b2",
+ "iterations": 2048,
+ "dkLen": 64,
+ "results": {
+ "md5":
+ "029d0e4484f56d9cf7ab7ca972c8991aeb2be275cba9683db4143e9b72f67d49551ec4c70ca6d051538fc7a86b8568d08244fdea24ba826b7927babac4f62cf2",
+ "sha1":
+ "fb3fa7c05a98ff66da2eadd69fa2ba52401ee630e04322d3c5bb018d1dda03c7e47bdea0c9e4c77c87826632eed59bbe42ce05329a838664683b1a8dae3fffd8",
+ "sha256":
+ "3b19907cb907d1ee6e5a0ecb80bd66e2776d1f2c73f4789eafcad94fda832e970471ceb0d200ede70e63ae021044cf4b58b1011e34252ace8d94a48c287906ec",
+ "sha512":
+ "0be4563c5175fd02b042251228774f34c1ccb235054a9f0f968c6d828466eae8c32433a7aa09ce922722dc808c6a1629ba8f1b6ba46f0cf7a921e125d1cc9fcd",
+ "sha224":
+ "dd529ad11b298cafad9209a0a620af98cf1b782bd0ba1a61efcd74a4fe2662af6c36ffd015c68ed0cd630bdb023ea61e59317eb07b342e0c6ece1bd3034b768c",
+ "sha384":
+ "7265c090b602b0a432b4908f70b6a5a2a6657926d09ac72ebb78d8bcc81e0d4563316f1eb5570b2850ef06a14719746a8a8397d3d56aa51b2d50489741b7ff61",
+ "ripemd160":
+ "c984beaf664aea5ae7f671063ef2ad1f80098e48382a916809ff9212d1a8cb7ad6cb17354422717c668726dfce294e1442bb354b6a6693db84032172e77af6ae",
+ },
+ },
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 10,
+ "results": {
+ "md5": "f31afb6d931392daa5e3",
+ "sha1": "0c60c80f961f0e71f3a9",
+ "sha256": "120fb6cffcf8b32c43e7",
+ "sha512": "867f70cf1ade02cff375",
+ "sha224": "3c198cbdb9464b785796",
+ "sha384": "c0e14f06e49e32d73f9f",
+ "ripemd160": "b725258b125e0bacb0e2",
+ },
+ },
+ {
+ "key": "password",
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 100,
+ "results": {
+ "md5":
+ "f31afb6d931392daa5e3130f47f9a9b6e8e72029d8350b9fb27a9e0e00b9d9915a5f18928639ca8bbc3d1c1cb66d4f27b9dfe39156774c6798b42adc57ed253f44fc731edccf067904ce2e317b9ef45767add4dfe53f8c190dac43d90cda5e66e627d4f2",
+ "sha1":
+ "0c60c80f961f0e71f3a9b524af6012062fe037a6e0f0eb94fe8fc46bdc637164ac2e7a8e3f9d2e83ace57e0d50e5e1071367c179bc86c767fc3f78ddb561363fc692ba406d1301e42bcccc3c520d06751d78b80c3db926b16ffa3395bd697c647f280b51",
+ "sha256":
+ "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b4dbf3a2f3dad3377264bb7b8e8330d4efc7451418617dabef683735361cdc18c22cd7fe60fa40e91c65849e1f60c0d8b62a7b2dbd0d3dfd75fb8498a5c2131ab02b66de5",
+ "sha512":
+ "867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252c02d470a285a0501bad999bfe943c08f050235d7d68b1da55e63f73b60a57fce7b532e206c2967d4c7d2ffa460539fc4d4e5eec70125d74c6c7cf86d25284f297907fcea",
+ "sha224":
+ "3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e63155d4e490557fd859894978ab846d52a1083ac610c36c2c5ea8ce4a024dd691064d5453bd17b15ea1ac1944bbfd62e61b997e7b22660f588e297186572480015f33bc2bfd2b423827bcdcdb4845914",
+ "sha384":
+ "c0e14f06e49e32d73f9f52ddf1d0c5c7191609233631dadd76a567db42b78676b38fc800cc53ddb642f5c74442e62be44d727702213e3bb9223c53b767fbfb5db9d270d54c45d9cb6003d2967280b22671e2dbc6375f6ebf219c36f0d127be35e19d65a8",
+ "ripemd160":
+ "b725258b125e0bacb0e2307e34feb16a4d0d6aed6cb4b0eee458fc18290204289e55d962783bf52237d264cbbab25f18d89d8c798f90f558ea7b45bdf3d083340c18b9d23ba842183c5364d18bc0ffde5a8a408dd7ef02dde561a08d21c6d2325a69869b",
+ },
+ },
+ {
+ "key": new Uint8Array([112, 97, 115, 115, 119, 111, 114, 100]),
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "f31afb6d931392daa5e3130f47f9a9b6e8e72029d8350b9fb27a9e0e00b9d991",
+ "sha1":
+ "0c60c80f961f0e71f3a9b524af6012062fe037a6e0f0eb94fe8fc46bdc637164",
+ "sha256":
+ "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b",
+ "sha512":
+ "867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252",
+ "sha224":
+ "3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e63155d4e490557fd85989497",
+ "sha384":
+ "c0e14f06e49e32d73f9f52ddf1d0c5c7191609233631dadd76a567db42b78676",
+ "ripemd160":
+ "b725258b125e0bacb0e2307e34feb16a4d0d6aed6cb4b0eee458fc1829020428",
+ },
+ },
+ {
+ "key": "password",
+ "salt": new Uint8Array([115, 97, 108, 116]),
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "f31afb6d931392daa5e3130f47f9a9b6e8e72029d8350b9fb27a9e0e00b9d991",
+ "sha1":
+ "0c60c80f961f0e71f3a9b524af6012062fe037a6e0f0eb94fe8fc46bdc637164",
+ "sha256":
+ "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b",
+ "sha512":
+ "867f70cf1ade02cff3752599a3a53dc4af34c7a669815ae5d513554e1c8cf252",
+ "sha224":
+ "3c198cbdb9464b7857966bd05b7bc92bc1cc4e6e63155d4e490557fd85989497",
+ "sha384":
+ "c0e14f06e49e32d73f9f52ddf1d0c5c7191609233631dadd76a567db42b78676",
+ "ripemd160":
+ "b725258b125e0bacb0e2307e34feb16a4d0d6aed6cb4b0eee458fc1829020428",
+ },
+ },
+ {
+ "key": new Int32Array([112, 97, 115, 115, 119, 111, 114, 100]),
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "81de8e85b07d7969d9fe530641b63cc4ecbbf2345037cdc0ba61ad329fc7029c",
+ "sha1":
+ "f260ccd0bbc8fe6773119b834feec48636b716caad4180a4d0af4f9aa67c646e",
+ "sha256":
+ "9b4608f5eeab348f0b9d85a918b140706b24f275acf6829382dfee491015f9eb",
+ "sha512":
+ "c44b8f26550fe6ca0a55bce54b4a75e9530398f32ec28b59d0fded996e95e3d5",
+ "sha224":
+ "03d0c2b530ec6339e6418cb0f906e50591619be40aa8817aa9c7305d1773231c",
+ "sha384":
+ "2e69d62ae8c21ebc2de45a885b488f65fb88dfa58aaa9c57dd1fcb9d1edce96a",
+ "ripemd160":
+ "fc69276ba3f145492065feb0259b9edf68179f2023c95094e71ac7d01748018a",
+ },
+ },
+ {
+ "key": "password",
+ "salt": new Int32Array([115, 97, 108, 116]),
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "36587a57770a8eef264391786b4ddfae0723f6a64dc2fc199fe7eb6ad9def701",
+ "sha1":
+ "b297f1ea23008f10ba9d645961e4661109e804b10af26bea22c44244492d6252",
+ "sha256":
+ "f678f0772894c079f21377d9ee1e76dd77b62dfc1f0575e6aa9eb030af7a356a",
+ "sha512":
+ "7f8133f6937ae1d7e4a43c19aabd2de8308d5b833341281716a501334cdb2470",
+ "sha224":
+ "ab66d29d3dacc731e44f091a7baa051926219cf493e8b9e3934cedfb215adc8b",
+ "sha384":
+ "cf139d648cf63e9b85a3b9b8f23f4445b84d22201bc2544bc273a17d5dcb7b28",
+ "ripemd160":
+ "26142e48fae1ad1c53be54823aadda2aa7d42f5524463fb1eff0efafa08edb9d",
+ },
+ },
+ {
+ "key": new Float64Array([112, 97, 115, 115, 119, 111, 114, 100]),
+ "salt": "salt",
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "48336072da7d11ff203c61705b384b1c60953e7d1677fed2cd3e65738d60e67e",
+ "sha1":
+ "c2b17a7e98cc48690a92cd9f753a2c700229045905167571aa281aafe8230bba",
+ "sha256":
+ "55d62579a083a6c14b886710f81b54f567d214d343af776e5e90c467ea81b821",
+ "sha512":
+ "ded01ce343e2683d962fc74b7b5ceef525228f49393ce9353254f44e3dc7e9aa",
+ "sha224":
+ "5f10a348d320c7555b972b8d7d45a363a91e1a82dea063c3ac495cfad74a8d89",
+ "sha384":
+ "4b7f97dbadfd652e0579499d0e23607ec476ed4bea9d6f1740d0b110e2d08792",
+ "ripemd160":
+ "f92080d972a649d98d91a53922863fc7b8076c54869e9885f9a804868ef752e0",
+ },
+ },
+ {
+ "key": "password",
+ "salt": new Float64Array([115, 97, 108, 116]),
+ "iterations": 1,
+ "dkLen": 32,
+ "results": {
+ "md5": "9f1716e6f9d77b0beb56758f9509edea50828d15909073c3c715f66173ac3716",
+ "sha1":
+ "f158b9edd28c16ad3b41e0e8197ec132a98c2ddea73b959f55ec9792e0b29d6f",
+ "sha256":
+ "a6154d17480547a10212f75883509842f88f2ca5d6c1a2419646e47342051852",
+ "sha512":
+ "b10c2ea742de7dd0525988761ee1733564c91380eeaa1b199f4fafcbf7144b0c",
+ "sha224":
+ "29b315ac30c7d5e1640ca0f9e27b68a794fb9f950b8dd117129824f103ffb9db",
+ "sha384":
+ "624b4ed6ad389b976fb7503e54a35109f249c29ac6eb8b56850152be21b3cb0e",
+ "ripemd160":
+ "8999b9280207bc9c76cf25327aa352da26a683fac7a2adff17a39dcc4f4c3b5b",
+ },
+ },
+];
+
+Deno.test("pbkdf2 hashes data correctly", async () => {
+ const promises: Promise<void>[] = [];
+ fixtures.forEach(({
+ dkLen,
+ iterations,
+ key,
+ results,
+ salt,
+ }) => {
+ for (const algorithm in results) {
+ if (Object.hasOwn(results, algorithm)) {
+ promises.push(
+ new Promise((resolve, reject) => {
+ pbkdf2(
+ key,
+ salt,
+ iterations,
+ dkLen,
+ algorithm as Algorithms,
+ (err, res) => {
+ try {
+ assert(!err, String(err));
+ assertEquals(
+ res?.toString("hex"),
+ results[algorithm as Algorithms],
+ );
+ resolve();
+ } catch (e) {
+ reject(e);
+ }
+ },
+ );
+ }),
+ );
+ }
+ }
+ });
+
+ await Promise.all(promises);
+});
+
+Deno.test("pbkdf2Sync hashes data correctly", () => {
+ fixtures.forEach(({
+ dkLen,
+ iterations,
+ key,
+ results,
+ salt,
+ }) => {
+ for (const algorithm in results) {
+ if (Object.hasOwn(results, algorithm)) {
+ assertEquals(
+ pbkdf2Sync(key, salt, iterations, dkLen, algorithm as Algorithms)
+ .toString("hex"),
+ results[algorithm as Algorithms],
+ );
+ }
+ }
+ });
+});
+
+// TODO(@littledivy): assertCallbackErrorUncaught exits for async operations on the thread pool.
+// Deno.test("[std/node/crypto] pbkdf2 callback isn't called twice if error is thrown", async () => {
+// const importUrl = new URL("node:crypto", import.meta.url);
+// await assertCallbackErrorUncaught({
+// prelude: `import { pbkdf2 } from ${JSON.stringify(importUrl)};`,
+// invocation: 'pbkdf2("password", "salt", 1, 32, "sha1", ',
+// });
+// });
diff --git a/tests/unit_node/internal/scrypt_test.ts b/tests/unit_node/internal/scrypt_test.ts
new file mode 100644
index 000000000..bd846ba8d
--- /dev/null
+++ b/tests/unit_node/internal/scrypt_test.ts
@@ -0,0 +1,190 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { scrypt, scryptSync } from "node:crypto";
+import { Buffer } from "node:buffer";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+
+Deno.test("scrypt works correctly", async () => {
+ const { promise, resolve } = Promise.withResolvers<boolean>();
+
+ scrypt("password", "salt", 32, (err, key) => {
+ if (err) throw err;
+ assertEquals(
+ key,
+ Buffer.from([
+ 116,
+ 87,
+ 49,
+ 175,
+ 68,
+ 132,
+ 243,
+ 35,
+ 150,
+ 137,
+ 105,
+ 237,
+ 162,
+ 137,
+ 174,
+ 238,
+ 0,
+ 91,
+ 89,
+ 3,
+ 172,
+ 86,
+ 30,
+ 100,
+ 165,
+ 172,
+ 161,
+ 33,
+ 121,
+ 123,
+ 247,
+ 115,
+ ]),
+ );
+ resolve(true);
+ });
+
+ await promise;
+});
+
+Deno.test("scrypt works with options", async () => {
+ const { promise, resolve } = Promise.withResolvers<boolean>();
+
+ scrypt(
+ "password",
+ "salt",
+ 32,
+ {
+ N: 512,
+ },
+ (err, key) => {
+ if (err) throw err;
+ assertEquals(
+ key,
+ Buffer.from([
+ 57,
+ 134,
+ 165,
+ 72,
+ 236,
+ 9,
+ 166,
+ 182,
+ 42,
+ 46,
+ 138,
+ 230,
+ 251,
+ 154,
+ 25,
+ 15,
+ 214,
+ 209,
+ 57,
+ 208,
+ 31,
+ 163,
+ 203,
+ 87,
+ 251,
+ 42,
+ 144,
+ 179,
+ 98,
+ 92,
+ 193,
+ 71,
+ ]),
+ );
+ resolve(true);
+ },
+ );
+
+ await promise;
+});
+
+Deno.test("scryptSync works correctly", () => {
+ const key = scryptSync("password", "salt", 32);
+ assertEquals(
+ key,
+ Buffer.from([
+ 116,
+ 87,
+ 49,
+ 175,
+ 68,
+ 132,
+ 243,
+ 35,
+ 150,
+ 137,
+ 105,
+ 237,
+ 162,
+ 137,
+ 174,
+ 238,
+ 0,
+ 91,
+ 89,
+ 3,
+ 172,
+ 86,
+ 30,
+ 100,
+ 165,
+ 172,
+ 161,
+ 33,
+ 121,
+ 123,
+ 247,
+ 115,
+ ]),
+ );
+});
+
+Deno.test("scryptSync with options works correctly", () => {
+ const key = scryptSync("password", "salt", 32, { N: 512 });
+ assertEquals(
+ key,
+ Buffer.from([
+ 57,
+ 134,
+ 165,
+ 72,
+ 236,
+ 9,
+ 166,
+ 182,
+ 42,
+ 46,
+ 138,
+ 230,
+ 251,
+ 154,
+ 25,
+ 15,
+ 214,
+ 209,
+ 57,
+ 208,
+ 31,
+ 163,
+ 203,
+ 87,
+ 251,
+ 42,
+ 144,
+ 179,
+ 98,
+ 92,
+ 193,
+ 71,
+ ]),
+ );
+});
diff --git a/tests/unit_node/module_test.ts b/tests/unit_node/module_test.ts
new file mode 100644
index 000000000..f8e117254
--- /dev/null
+++ b/tests/unit_node/module_test.ts
@@ -0,0 +1,72 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { createRequire, Module } from "node:module";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+import process from "node:process";
+import * as path from "node:path";
+
+Deno.test("[node/module _preloadModules] has internal require hook", () => {
+ // Check if it's there
+ // deno-lint-ignore no-explicit-any
+ (Module as any)._preloadModules([
+ "./tests/unit_node/testdata/add_global_property.js",
+ ]);
+ // deno-lint-ignore no-explicit-any
+ assertEquals((globalThis as any).foo, "Hello");
+});
+
+Deno.test("[node/module runMain] loads module using the current process.argv", () => {
+ process.argv = [
+ process.argv[0],
+ "./tests/unit_node/testdata/add_global_property_run_main.js",
+ ];
+
+ // deno-lint-ignore no-explicit-any
+ (Module as any).runMain();
+ // deno-lint-ignore no-explicit-any
+ assertEquals((globalThis as any).calledViaRunMain, true);
+});
+
+Deno.test("[node/module _nodeModulePaths] prevents duplicate /node_modules/node_modules suffix", () => {
+ // deno-lint-ignore no-explicit-any
+ const actual: string[] = (Module as any)._nodeModulePaths(
+ path.join(process.cwd(), "testdata", "node_modules", "foo"),
+ );
+
+ assert(
+ !actual.some((dir) => /node_modules[/\\]node_modules/g.test(dir)),
+ "Duplicate 'node_modules/node_modules' suffix found",
+ );
+});
+
+Deno.test("[node/module _nodeModulePaths] prevents duplicate root /node_modules", () => {
+ // deno-lint-ignore no-explicit-any
+ const actual: string[] = (Module as any)._nodeModulePaths(
+ path.join(process.cwd(), "testdata", "node_modules", "foo"),
+ );
+
+ assert(
+ new Set(actual).size === actual.length,
+ "Duplicate path entries found",
+ );
+ const root = path.parse(actual[0]).root;
+ assert(
+ actual.includes(path.join(root, "node_modules")),
+ "Missing root 'node_modules' directory",
+ );
+});
+
+Deno.test("Built-in Node modules have `node:` prefix", () => {
+ let thrown = false;
+ try {
+ // @ts-ignore We want to explicitly test wrong call signature
+ createRequire();
+ } catch (e) {
+ thrown = true;
+ const stackLines = e.stack.split("\n");
+ // Assert that built-in node modules have `node:<mod_name>` specifiers.
+ assert(stackLines.some((line: string) => line.includes("(node:module:")));
+ }
+
+ assert(thrown);
+});
diff --git a/tests/unit_node/net_test.ts b/tests/unit_node/net_test.ts
new file mode 100644
index 000000000..60cf9d8fc
--- /dev/null
+++ b/tests/unit_node/net_test.ts
@@ -0,0 +1,201 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import * as net from "node:net";
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+import * as path from "@test_util/std/path/mod.ts";
+import * as http from "node:http";
+
+Deno.test("[node/net] close event emits after error event", async () => {
+ const socket = net.createConnection(27009, "doesnotexist");
+ const events: ("error" | "close")[] = [];
+ const errorEmitted = Promise.withResolvers<void>();
+ const closeEmitted = Promise.withResolvers<void>();
+ socket.once("error", () => {
+ events.push("error");
+ errorEmitted.resolve();
+ });
+ socket.once("close", () => {
+ events.push("close");
+ closeEmitted.resolve();
+ });
+ await Promise.all([errorEmitted.promise, closeEmitted.promise]);
+
+ // `error` happens before `close`
+ assertEquals(events, ["error", "close"]);
+});
+
+Deno.test("[node/net] the port is available immediately after close callback", async () => {
+ const deferred = Promise.withResolvers<void>();
+
+ // This simulates what get-port@5.1.1 does.
+ const getAvailablePort = (port: number) =>
+ new Promise((resolve, reject) => {
+ const server = net.createServer();
+ server.on("error", reject);
+ server.listen({ port }, () => {
+ // deno-lint-ignore no-explicit-any
+ const { port } = server.address() as any;
+ server.close(() => {
+ resolve(port);
+ });
+ });
+ });
+
+ const port = await getAvailablePort(5555);
+
+ const httpServer = http.createServer();
+ httpServer.on("error", (e) => deferred.reject(e));
+ httpServer.listen(port, () => {
+ httpServer.close(() => deferred.resolve());
+ });
+ await deferred.promise;
+});
+
+Deno.test("[node/net] net.connect().unref() works", async () => {
+ const ctl = new AbortController();
+ const server = Deno.serve({
+ signal: ctl.signal,
+ handler: () => new Response("hello"),
+ onListen: async ({ port, hostname }) => {
+ const { stdout, stderr } = await new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ `
+ import * as net from "node:net";
+ const socket = net.connect(${port}, "${hostname}", () => {
+ console.log("connected");
+ socket.unref();
+ socket.on("data", (data) => console.log(data.toString()));
+ socket.write("GET / HTTP/1.1\\n\\n");
+ });
+ `,
+ ],
+ cwd: path.dirname(path.fromFileUrl(import.meta.url)),
+ }).output();
+ if (stderr.length > 0) {
+ console.log(new TextDecoder().decode(stderr));
+ }
+ assertEquals(new TextDecoder().decode(stdout), "connected\n");
+ ctl.abort();
+ },
+ });
+ await server.finished;
+});
+
+Deno.test({
+ name: "[node/net] throws permission error instead of unknown error",
+ permissions: "none",
+ fn: () => {
+ try {
+ const s = new net.Server();
+ s.listen(3000);
+ } catch (e) {
+ assert(e instanceof Deno.errors.PermissionDenied);
+ }
+ },
+});
+
+Deno.test("[node/net] connection event has socket value", async () => {
+ const deferred = Promise.withResolvers<void>();
+ const deferred2 = Promise.withResolvers<void>();
+
+ const server = net.createServer();
+ server.on("error", deferred.reject);
+ server.on("connection", (socket) => {
+ assert(socket !== undefined);
+ socket.end();
+ server.close(() => {
+ deferred.resolve();
+ });
+ });
+ server.listen(async () => {
+ // deno-lint-ignore no-explicit-any
+ const { port } = server.address() as any;
+
+ const conn = await Deno.connect({
+ port,
+ transport: "tcp",
+ });
+
+ for await (const _ of conn.readable) {
+ //
+ }
+
+ deferred2.resolve();
+ });
+
+ await Promise.all([deferred.promise, deferred2.promise]);
+});
+
+/// We need to make sure that any shared buffers are never used concurrently by two reads.
+// https://github.com/denoland/deno/issues/20188
+Deno.test("[node/net] multiple Sockets should get correct server data", async () => {
+ const socketCount = 9;
+
+ class TestSocket {
+ dataReceived: ReturnType<typeof Promise.withResolvers<void>> = Promise
+ .withResolvers<void>();
+ events: string[] = [];
+ socket: net.Socket | undefined;
+ }
+
+ const finished = Promise.withResolvers<void>();
+ const serverSocketsClosed: ReturnType<typeof Promise.withResolvers<void>>[] =
+ [];
+ const server = net.createServer();
+ server.on("connection", (socket) => {
+ assert(socket !== undefined);
+ const i = serverSocketsClosed.push(Promise.withResolvers<void>());
+ socket.on("data", (data) => {
+ socket.write(new TextDecoder().decode(data));
+ });
+ socket.on("close", () => {
+ serverSocketsClosed[i - 1].resolve();
+ });
+ });
+
+ const sockets: TestSocket[] = [];
+ for (let i = 0; i < socketCount; i++) {
+ sockets[i] = new TestSocket();
+ }
+
+ server.listen(async () => {
+ // deno-lint-ignore no-explicit-any
+ const { port } = server.address() as any;
+
+ for (let i = 0; i < socketCount; i++) {
+ const socket = sockets[i].socket = net.createConnection(port);
+ socket.on("data", (data) => {
+ const count = sockets[i].events.length;
+ sockets[i].events.push(new TextDecoder().decode(data));
+ if (count === 0) {
+ // Trigger an immediate second write
+ sockets[i].socket?.write(`${i}`.repeat(3));
+ } else {
+ sockets[i].dataReceived.resolve();
+ }
+ });
+ }
+
+ for (let i = 0; i < socketCount; i++) {
+ sockets[i].socket?.write(`${i}`.repeat(3));
+ }
+
+ await Promise.all(sockets.map((socket) => socket.dataReceived.promise));
+
+ for (let i = 0; i < socketCount; i++) {
+ sockets[i].socket?.end();
+ }
+
+ server.close(() => {
+ finished.resolve();
+ });
+ });
+
+ await finished.promise;
+ await Promise.all(serverSocketsClosed.map(({ promise }) => promise));
+
+ for (let i = 0; i < socketCount; i++) {
+ assertEquals(sockets[i].events, [`${i}`.repeat(3), `${i}`.repeat(3)]);
+ }
+});
diff --git a/tests/unit_node/os_test.ts b/tests/unit_node/os_test.ts
new file mode 100644
index 000000000..c18aa07c3
--- /dev/null
+++ b/tests/unit_node/os_test.ts
@@ -0,0 +1,325 @@
+// deno-lint-ignore-file no-undef
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import os from "node:os";
+import {
+ assert,
+ assertEquals,
+ assertNotEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+
+Deno.test({
+ name: "build architecture is a string",
+ fn() {
+ assertEquals(typeof os.arch(), "string");
+ },
+});
+
+Deno.test({
+ name: "build architecture",
+ fn() {
+ if (Deno.build.arch == "x86_64") {
+ assertEquals(os.arch(), "x64");
+ } else if (Deno.build.arch == "aarch64") {
+ assertEquals(os.arch(), "arm64");
+ } else {
+ throw new Error("unreachable");
+ }
+ },
+});
+
+Deno.test({
+ name: "os machine (arch)",
+ fn() {
+ if (Deno.build.arch == "aarch64") {
+ assertEquals(os.machine(), "arm64");
+ } else {
+ assertEquals(os.machine(), Deno.build.arch);
+ }
+ },
+});
+
+Deno.test({
+ name: "home directory is a string",
+ fn() {
+ assertEquals(typeof os.homedir(), "string");
+ },
+});
+
+Deno.test({
+ name: "tmp directory is a string",
+ fn() {
+ assertEquals(typeof os.tmpdir(), "string");
+ },
+});
+
+Deno.test({
+ name: "hostname is a string",
+ fn() {
+ assertEquals(typeof os.hostname(), "string");
+ },
+});
+
+Deno.test({
+ name: "platform is a string",
+ fn() {
+ assertEquals(typeof os.platform(), "string");
+ },
+});
+
+Deno.test({
+ name: "release is a string",
+ fn() {
+ assertEquals(typeof os.release(), "string");
+ },
+});
+
+Deno.test({
+ name: "type is a string",
+ fn() {
+ assertEquals(typeof os.type(), "string");
+ },
+});
+
+Deno.test({
+ name: "getPriority(): PID must be a 32 bit integer",
+ fn() {
+ assertThrows(
+ () => {
+ os.getPriority(3.15);
+ },
+ Error,
+ "pid must be 'an integer'",
+ );
+ assertThrows(
+ () => {
+ os.getPriority(9999999999);
+ },
+ Error,
+ "must be >= -2147483648 && <= 2147483647",
+ );
+ },
+});
+
+Deno.test({
+ name: "setPriority(): PID must be a 32 bit integer",
+ fn() {
+ assertThrows(
+ () => {
+ os.setPriority(3.15, 0);
+ },
+ Error,
+ "pid must be 'an integer'",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(9999999999, 0);
+ },
+ Error,
+ "pid must be >= -2147483648 && <= 2147483647",
+ );
+ },
+});
+
+Deno.test({
+ name: "setPriority(): priority must be an integer between -20 and 19",
+ fn() {
+ assertThrows(
+ () => {
+ os.setPriority(0, 3.15);
+ },
+ Error,
+ "priority must be 'an integer'",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(0, -21);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(0, 20);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(0, 9999999999);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ },
+});
+
+Deno.test({
+ name:
+ "setPriority(): if only one argument specified, then this is the priority, NOT the pid",
+ fn() {
+ assertThrows(
+ () => {
+ os.setPriority(3.15);
+ },
+ Error,
+ "priority must be 'an integer'",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(-21);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(20);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ assertThrows(
+ () => {
+ os.setPriority(9999999999);
+ },
+ Error,
+ "priority must be >= -20 && <= 19",
+ );
+ },
+});
+
+Deno.test({
+ name: "EOL is as expected",
+ fn() {
+ assert(os.EOL == "\r\n" || os.EOL == "\n");
+ },
+});
+
+Deno.test({
+ name: "Endianness is determined",
+ fn() {
+ assert(["LE", "BE"].includes(os.endianness()));
+ },
+});
+
+Deno.test({
+ name: "Load average is an array of 3 numbers",
+ fn() {
+ const result = os.loadavg();
+ assert(result.length == 3);
+ assertEquals(typeof result[0], "number");
+ assertEquals(typeof result[1], "number");
+ assertEquals(typeof result[2], "number");
+ },
+});
+
+Deno.test({
+ name: "Primitive coercion works as expected",
+ fn() {
+ assertEquals(`${os.arch}`, os.arch());
+ assertEquals(`${os.endianness}`, os.endianness());
+ assertEquals(`${os.platform}`, os.platform());
+ },
+});
+
+Deno.test({
+ name: "Total memory amount should be greater than 0",
+ fn() {
+ assert(os.totalmem() > 0);
+ },
+});
+
+Deno.test({
+ name: "Free memory amount should be greater than 0",
+ fn() {
+ assert(os.freemem() > 0);
+ },
+});
+
+Deno.test({
+ name: "Uptime should be greater than 0",
+ fn() {
+ assert(os.uptime() > 0);
+ },
+});
+
+Deno.test({
+ name: "os.cpus()",
+ fn() {
+ assertEquals(os.cpus().length, navigator.hardwareConcurrency);
+
+ for (const cpu of os.cpus()) {
+ assert(cpu.model.length > 0);
+ assert(cpu.speed >= 0);
+ assert(cpu.times.user > 0);
+ assert(cpu.times.sys > 0);
+ assert(cpu.times.idle > 0);
+ }
+ },
+});
+
+Deno.test({
+ name: "os.setPriority() & os.getPriority()",
+ // disabled because os.getPriority() doesn't work without sudo
+ ignore: true,
+ fn() {
+ const child = new Deno.Command(Deno.execPath(), {
+ args: ["eval", "while (true) { console.log('foo') }"],
+ }).spawn();
+ const originalPriority = os.getPriority(child.pid);
+ assertNotEquals(originalPriority, os.constants.priority.PRIORITY_HIGH);
+ os.setPriority(child.pid, os.constants.priority.PRIORITY_HIGH);
+ assertEquals(
+ os.getPriority(child.pid),
+ os.constants.priority.PRIORITY_HIGH,
+ );
+ os.setPriority(child.pid, originalPriority);
+ assertEquals(os.getPriority(child.pid), originalPriority);
+ child.kill();
+ },
+});
+
+Deno.test({
+ name:
+ "os.setPriority() throw os permission denied error & os.getPriority() doesn't",
+ async fn() {
+ const child = new Deno.Command(Deno.execPath(), {
+ args: ["eval", "while (true) { console.log('foo') }"],
+ }).spawn();
+ assertThrows(
+ () => os.setPriority(child.pid, os.constants.priority.PRIORITY_HIGH),
+ Deno.errors.PermissionDenied,
+ );
+ os.getPriority(child.pid);
+ child.kill();
+ await child.status;
+ },
+});
+
+// Gets the diff in log_10 scale
+function diffLog10(a: number, b: number): number {
+ return Math.abs(Math.log10(a) - Math.log10(b));
+}
+
+Deno.test({
+ name:
+ "os.freemem() is equivalent of Deno.systemMemoryInfo().free except on linux",
+ ignore: Deno.build.os === "linux",
+ fn() {
+ const diff = diffLog10(os.freemem(), Deno.systemMemoryInfo().free);
+ assert(diff < 1);
+ },
+});
+
+Deno.test({
+ name:
+ "os.freemem() is equivalent of Deno.systemMemoryInfo().available on linux",
+ ignore: Deno.build.os !== "linux",
+ fn() {
+ const diff = diffLog10(os.freemem(), Deno.systemMemoryInfo().available);
+ assert(diff < 1);
+ },
+});
diff --git a/tests/unit_node/path_test.ts b/tests/unit_node/path_test.ts
new file mode 100644
index 000000000..a6c4ec5a8
--- /dev/null
+++ b/tests/unit_node/path_test.ts
@@ -0,0 +1,16 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import path from "node:path";
+import posix from "node:path/posix";
+import win32 from "node:path/win32";
+
+import { assertStrictEquals } from "@test_util/std/assert/mod.ts";
+
+Deno.test("[node/path] posix and win32 objects", () => {
+ assertStrictEquals(path.posix, posix);
+ assertStrictEquals(path.win32, win32);
+ assertStrictEquals(path.posix, path.posix.posix);
+ assertStrictEquals(path.win32, path.posix.win32);
+ assertStrictEquals(path.posix, path.win32.posix);
+ assertStrictEquals(path.win32, path.win32.win32);
+});
diff --git a/tests/unit_node/perf_hooks_test.ts b/tests/unit_node/perf_hooks_test.ts
new file mode 100644
index 000000000..004eedfd6
--- /dev/null
+++ b/tests/unit_node/perf_hooks_test.ts
@@ -0,0 +1,62 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import * as perfHooks from "node:perf_hooks";
+import { performance } from "node:perf_hooks";
+import { assertEquals, assertThrows } from "@test_util/std/assert/mod.ts";
+
+Deno.test({
+ name: "[perf_hooks] performance",
+ fn() {
+ assertEquals(perfHooks.performance.measure, performance.measure);
+ assertEquals(perfHooks.performance.clearMarks, performance.clearMarks);
+ assertEquals(perfHooks.performance.mark, performance.mark);
+ assertEquals(perfHooks.performance.now, performance.now);
+ assertEquals(
+ perfHooks.performance.getEntriesByName,
+ performance.getEntriesByName,
+ );
+ assertEquals(
+ perfHooks.performance.getEntriesByType,
+ performance.getEntriesByType,
+ );
+ // @ts-ignore toJSON is not in Performance interface
+ assertEquals(perfHooks.performance.toJSON, performance.toJSON);
+ perfHooks.performance.measure("test");
+ perfHooks.performance.mark("test");
+ perfHooks.performance.clearMarks("test");
+ perfHooks.performance.now();
+ assertEquals(perfHooks.performance.getEntriesByName("event", "mark"), []);
+ assertEquals(perfHooks.performance.getEntriesByType("mark"), []);
+ // @ts-ignore toJSON is not in Performance interface
+ perfHooks.performance.toJSON();
+ },
+});
+
+Deno.test({
+ name: "[perf_hooks] performance destructured",
+ fn() {
+ performance.measure("test");
+ performance.mark("test");
+ performance.clearMarks("test");
+ performance.now();
+ // @ts-ignore toJSON is not in Performance interface
+ performance.toJSON();
+ },
+});
+
+Deno.test({
+ name: "[perf_hooks] PerformanceEntry",
+ fn() {
+ assertEquals<unknown>(perfHooks.PerformanceEntry, PerformanceEntry);
+ },
+});
+
+Deno.test({
+ name: "[perf_hooks] performance.timeOrigin",
+ fn() {
+ assertEquals(typeof performance.timeOrigin, "number");
+ assertThrows(() => {
+ // @ts-expect-error: Cannot assign to 'timeOrigin' because it is a read-only property
+ performance.timeOrigin = 1;
+ });
+ },
+});
diff --git a/tests/unit_node/process_test.ts b/tests/unit_node/process_test.ts
new file mode 100644
index 000000000..4f4703d35
--- /dev/null
+++ b/tests/unit_node/process_test.ts
@@ -0,0 +1,986 @@
+// deno-lint-ignore-file no-undef
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import process, { argv, env } from "node:process";
+import { Readable } from "node:stream";
+import { once } from "node:events";
+import {
+ assert,
+ assertEquals,
+ assertFalse,
+ assertObjectMatch,
+ assertStrictEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { stripColor } from "@test_util/std/fmt/colors.ts";
+import * as path from "@test_util/std/path/mod.ts";
+import { delay } from "@test_util/std/async/delay.ts";
+
+const testDir = new URL(".", import.meta.url);
+
+Deno.test({
+ name: "process.cwd and process.chdir success",
+ fn() {
+ assertEquals(process.cwd(), Deno.cwd());
+
+ const currentDir = Deno.cwd();
+
+ const tempDir = Deno.makeTempDirSync();
+ process.chdir(tempDir);
+ assertEquals(
+ Deno.realPathSync(process.cwd()),
+ Deno.realPathSync(tempDir),
+ );
+
+ process.chdir(currentDir);
+ },
+});
+
+Deno.test({
+ name: "process.chdir failure",
+ fn() {
+ assertThrows(
+ () => {
+ process.chdir("non-existent-directory-name");
+ },
+ Deno.errors.NotFound,
+ "file",
+ // On every OS Deno returns: "No such file" except for Windows, where it's:
+ // "The system cannot find the file specified. (os error 2)" so "file" is
+ // the only common string here.
+ );
+ },
+});
+
+Deno.test({
+ name: "process.version",
+ fn() {
+ assertEquals(typeof process, "object");
+ assertEquals(typeof process.version, "string");
+ assertEquals(typeof process.versions, "object");
+ assertEquals(typeof process.versions.node, "string");
+ assertEquals(typeof process.versions.v8, "string");
+ assertEquals(typeof process.versions.uv, "string");
+ assertEquals(typeof process.versions.zlib, "string");
+ assertEquals(typeof process.versions.brotli, "string");
+ assertEquals(typeof process.versions.ares, "string");
+ assertEquals(typeof process.versions.modules, "string");
+ assertEquals(typeof process.versions.nghttp2, "string");
+ assertEquals(typeof process.versions.napi, "string");
+ assertEquals(typeof process.versions.llhttp, "string");
+ assertEquals(typeof process.versions.openssl, "string");
+ assertEquals(typeof process.versions.cldr, "string");
+ assertEquals(typeof process.versions.icu, "string");
+ assertEquals(typeof process.versions.tz, "string");
+ assertEquals(typeof process.versions.unicode, "string");
+ // These two are not present in `process.versions` in Node, but we
+ // add them anyway
+ assertEquals(typeof process.versions.deno, "string");
+ assertEquals(typeof process.versions.typescript, "string");
+ },
+});
+
+Deno.test({
+ name: "process.platform",
+ fn() {
+ assertEquals(typeof process.platform, "string");
+ },
+});
+
+Deno.test({
+ name: "process.mainModule",
+ fn() {
+ assertEquals(process.mainModule, undefined);
+ // Check that it is writable
+ // @ts-ignore these are deprecated now
+ process.mainModule = "foo";
+ // @ts-ignore these are deprecated now
+ assertEquals(process.mainModule, "foo");
+ },
+});
+
+Deno.test({
+ name: "process.arch",
+ fn() {
+ assertEquals(typeof process.arch, "string");
+ if (Deno.build.arch == "x86_64") {
+ assertEquals(process.arch, "x64");
+ } else if (Deno.build.arch == "aarch64") {
+ assertEquals(process.arch, "arm64");
+ } else {
+ throw new Error("unreachable");
+ }
+ },
+});
+
+Deno.test({
+ name: "process.pid",
+ fn() {
+ assertEquals(typeof process.pid, "number");
+ assertEquals(process.pid, Deno.pid);
+ },
+});
+
+Deno.test({
+ name: "process.ppid",
+ fn() {
+ assertEquals(typeof process.ppid, "number");
+ assertEquals(process.ppid, Deno.ppid);
+ },
+});
+
+Deno.test({
+ name: "process.on",
+ async fn() {
+ assertEquals(typeof process.on, "function");
+
+ let triggered = false;
+ process.on("exit", () => {
+ triggered = true;
+ });
+ // @ts-ignore fix the type here
+ process.emit("exit");
+ assert(triggered);
+
+ const cwd = path.dirname(path.fromFileUrl(import.meta.url));
+
+ const command = new Deno.Command(Deno.execPath(), {
+ args: [
+ "run",
+ "--quiet",
+ "--unstable",
+ "./testdata/process_exit.ts",
+ ],
+ cwd,
+ });
+ const { stdout } = await command.output();
+
+ const decoder = new TextDecoder();
+ assertEquals(stripColor(decoder.decode(stdout).trim()), "1\n2");
+ },
+});
+
+Deno.test({
+ name: "process.on signal",
+ ignore: Deno.build.os == "windows",
+ async fn() {
+ const process = new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ `
+ import process from "node:process";
+ setInterval(() => {}, 1000);
+ process.on("SIGINT", () => {
+ console.log("foo");
+ });
+ `,
+ ],
+ stdout: "piped",
+ stderr: "null",
+ }).spawn();
+ await delay(500);
+ for (const _ of Array(3)) {
+ process.kill("SIGINT");
+ await delay(20);
+ }
+ await delay(20);
+ process.kill("SIGTERM");
+ const output = await process.output();
+ assertEquals(new TextDecoder().decode(output.stdout), "foo\nfoo\nfoo\n");
+ },
+});
+
+Deno.test({
+ name: "process.off signal",
+ ignore: Deno.build.os == "windows",
+ async fn() {
+ const process = new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ `
+ import process from "node:process";
+ setInterval(() => {}, 1000);
+ const listener = () => {
+ console.log("foo");
+ process.off("SIGINT")
+ };
+ process.on("SIGINT", listener);
+ `,
+ ],
+ stdout: "piped",
+ stderr: "null",
+ }).spawn();
+ await delay(500);
+ for (const _ of Array(3)) {
+ try {
+ process.kill("SIGINT");
+ } catch { /* should die after the first one */ }
+ await delay(20);
+ }
+ await delay(20);
+ try {
+ process.kill("SIGTERM");
+ } catch { /* should be dead, avoid hanging just in case */ }
+ const output = await process.output();
+ assertEquals(new TextDecoder().decode(output.stdout), "foo\n");
+ },
+});
+
+Deno.test({
+ name: "process.on SIGBREAK doesn't throw",
+ fn() {
+ const listener = () => {};
+ process.on("SIGBREAK", listener);
+ process.off("SIGBREAK", listener);
+ },
+});
+
+Deno.test({
+ name: "process.on SIGTERM doesn't throw on windows",
+ ignore: Deno.build.os !== "windows",
+ fn() {
+ const listener = () => {};
+ process.on("SIGTERM", listener);
+ process.off("SIGTERM", listener);
+ },
+});
+
+Deno.test({
+ name: "process.argv",
+ fn() {
+ assert(Array.isArray(argv));
+ assert(Array.isArray(process.argv));
+ assert(
+ process.argv[0].match(/[^/\\]*deno[^/\\]*$/),
+ "deno included in the file name of argv[0]",
+ );
+ assertEquals(
+ process.argv[1],
+ path.fromFileUrl(Deno.mainModule),
+ );
+ // argv supports array methods.
+ assert(Array.isArray(process.argv.slice(2)));
+ assertEquals(process.argv.indexOf(Deno.execPath()), 0);
+ assertEquals(process.argv.indexOf(path.fromFileUrl(Deno.mainModule)), 1);
+ },
+});
+
+Deno.test({
+ name: "process.argv0",
+ fn() {
+ assertEquals(typeof process.argv0, "string");
+ assert(
+ process.argv0.match(/[^/\\]*deno[^/\\]*$/),
+ "deno included in the file name of argv[0]",
+ );
+ // Setting should be a noop
+ process.argv0 = "foobar";
+ assert(
+ process.argv0.match(/[^/\\]*deno[^/\\]*$/),
+ "deno included in the file name of argv[0]",
+ );
+ },
+});
+
+Deno.test({
+ name: "process.execArgv",
+ fn() {
+ assert(Array.isArray(process.execArgv));
+ assert(process.execArgv.length == 0);
+ // execArgv supports array methods.
+ assert(Array.isArray(process.argv.slice(0)));
+ assertEquals(process.argv.indexOf("foo"), -1);
+ },
+});
+
+Deno.test({
+ name: "process.env",
+ fn() {
+ Deno.env.set("HELLO", "WORLD");
+
+ assertObjectMatch(process.env, Deno.env.toObject());
+
+ assertEquals(typeof (process.env.HELLO), "string");
+ assertEquals(process.env.HELLO, "WORLD");
+
+ assertEquals(typeof env.HELLO, "string");
+ assertEquals(env.HELLO, "WORLD");
+
+ assert(Object.getOwnPropertyNames(process.env).includes("HELLO"));
+ assert(Object.keys(process.env).includes("HELLO"));
+
+ assert(Object.prototype.hasOwnProperty.call(process.env, "HELLO"));
+ assert(
+ !Object.prototype.hasOwnProperty.call(
+ process.env,
+ "SURELY_NON_EXISTENT_VAR",
+ ),
+ );
+
+ // deno-lint-ignore no-prototype-builtins
+ assert(process.env.hasOwnProperty("HELLO"));
+ assert("HELLO" in process.env);
+ assert(Object.keys(process.env.valueOf()).includes("HELLO"));
+
+ assertEquals(process.env.toString(), "[object Object]");
+ assertEquals(process.env.toLocaleString(), "[object Object]");
+
+ // should not error when assigning false to an env var
+ process.env.HELLO = false as unknown as string;
+ assertEquals(process.env.HELLO, "false");
+ process.env.HELLO = "WORLD";
+ assertEquals(process.env.HELLO, "WORLD");
+ },
+});
+
+Deno.test({
+ name: "process.env requires scoped env permission",
+ permissions: { env: ["FOO"] },
+ fn() {
+ Deno.env.set("FOO", "1");
+ assert("FOO" in process.env);
+ assertFalse("BAR" in process.env);
+ assert(Object.hasOwn(process.env, "FOO"));
+ assertFalse(Object.hasOwn(process.env, "BAR"));
+ },
+});
+
+Deno.test({
+ name: "process.env doesn't throw with invalid env var names",
+ fn() {
+ assertEquals(process.env[""], undefined);
+ assertEquals(process.env["\0"], undefined);
+ assertEquals(process.env["=c:"], undefined);
+ assertFalse(Object.hasOwn(process.env, ""));
+ assertFalse(Object.hasOwn(process.env, "\0"));
+ assertFalse(Object.hasOwn(process.env, "=c:"));
+ assertFalse("" in process.env);
+ assertFalse("\0" in process.env);
+ assertFalse("=c:" in process.env);
+ },
+});
+
+Deno.test({
+ name: "process.stdin",
+ fn() {
+ assertEquals(process.stdin.fd, Deno.stdin.rid);
+ assertEquals(process.stdin.isTTY, Deno.stdin.isTerminal());
+ },
+});
+
+Deno.test({
+ name: "process.stdin readable with a TTY",
+ // TODO(PolarETech): Run this test even in non tty environment
+ ignore: !Deno.stdin.isTerminal(),
+ // stdin resource is present before the test starts.
+ sanitizeResources: false,
+ async fn() {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const expected = ["foo", "bar", null, "end"];
+ const data: (string | null)[] = [];
+
+ process.stdin.setEncoding("utf8");
+ process.stdin.on("readable", () => {
+ data.push(process.stdin.read());
+ });
+ process.stdin.on("end", () => {
+ data.push("end");
+ });
+
+ process.stdin.push("foo");
+ process.nextTick(() => {
+ process.stdin.push("bar");
+ process.nextTick(() => {
+ process.stdin.push(null);
+ resolve();
+ });
+ });
+
+ await promise;
+ assertEquals(process.stdin.readableHighWaterMark, 0);
+ assertEquals(data, expected);
+ },
+});
+
+Deno.test({
+ name: "process.stdin readable with piping a file",
+ async fn() {
+ const expected = ["65536", "foo", "bar", "null", "end"];
+ const scriptPath = "./testdata/process_stdin.ts";
+ const filePath = "./testdata/process_stdin_dummy.txt";
+
+ const shell = Deno.build.os === "windows" ? "cmd.exe" : "/bin/sh";
+ const cmd = `"${Deno.execPath()}" run ${scriptPath} < ${filePath}`;
+ const args = Deno.build.os === "windows" ? ["/d", "/c", cmd] : ["-c", cmd];
+
+ const p = new Deno.Command(shell, {
+ args,
+ stdin: "null",
+ stdout: "piped",
+ stderr: "null",
+ windowsRawArguments: true,
+ cwd: testDir,
+ });
+
+ const { stdout } = await p.output();
+ const data = new TextDecoder().decode(stdout).trim().split("\n");
+ assertEquals(data, expected);
+ },
+});
+
+Deno.test({
+ name: "process.stdin readable with piping a stream",
+ async fn() {
+ const expected = ["16384", "foo", "bar", "null", "end"];
+ const scriptPath = "./testdata/process_stdin.ts";
+
+ const command = new Deno.Command(Deno.execPath(), {
+ args: ["run", scriptPath],
+ stdin: "piped",
+ stdout: "piped",
+ stderr: "null",
+ cwd: testDir,
+ });
+ const child = command.spawn();
+
+ const writer = await child.stdin.getWriter();
+ writer.ready
+ .then(() => writer.write(new TextEncoder().encode("foo\nbar")))
+ .then(() => writer.releaseLock())
+ .then(() => child.stdin.close());
+
+ const { stdout } = await child.output();
+ const data = new TextDecoder().decode(stdout).trim().split("\n");
+ assertEquals(data, expected);
+ },
+});
+
+Deno.test({
+ name: "process.stdin readable with piping a socket",
+ ignore: Deno.build.os === "windows",
+ async fn() {
+ const expected = ["16384", "foo", "bar", "null", "end"];
+ const scriptPath = "./testdata/process_stdin.ts";
+
+ const listener = Deno.listen({ hostname: "127.0.0.1", port: 9000 });
+ listener.accept().then(async (conn) => {
+ await conn.write(new TextEncoder().encode("foo\nbar"));
+ conn.close();
+ listener.close();
+ });
+
+ const shell = "/bin/bash";
+ const cmd =
+ `"${Deno.execPath()}" run ${scriptPath} < /dev/tcp/127.0.0.1/9000`;
+ const args = ["-c", cmd];
+
+ const p = new Deno.Command(shell, {
+ args,
+ stdin: "null",
+ stdout: "piped",
+ stderr: "null",
+ cwd: testDir,
+ });
+
+ const { stdout } = await p.output();
+ const data = new TextDecoder().decode(stdout).trim().split("\n");
+ assertEquals(data, expected);
+ },
+});
+
+Deno.test({
+ name: "process.stdin readable with null",
+ async fn() {
+ const expected = ["65536", "null", "end"];
+ const scriptPath = "./testdata/process_stdin.ts";
+
+ const command = new Deno.Command(Deno.execPath(), {
+ args: ["run", scriptPath],
+ stdin: "null",
+ stdout: "piped",
+ stderr: "null",
+ cwd: testDir,
+ });
+
+ const { stdout } = await command.output();
+ const data = new TextDecoder().decode(stdout).trim().split("\n");
+ assertEquals(data, expected);
+ },
+});
+
+// TODO(kt3k): Enable this test case. 'readable' event handler in
+// `process_stdin.ts` doesn't work now
+Deno.test({
+ name: "process.stdin readable with unsuitable stdin",
+ ignore: true,
+ // // TODO(PolarETech): Prepare a similar test that can be run on Windows
+ // ignore: Deno.build.os === "windows",
+ async fn() {
+ const expected = ["16384", "null", "end"];
+ const scriptPath = "./testdata/process_stdin.ts";
+ const directoryPath = "./testdata/";
+
+ const shell = "/bin/bash";
+ const cmd = `"${Deno.execPath()}" run ${scriptPath} < ${directoryPath}`;
+ const args = ["-c", cmd];
+
+ const p = new Deno.Command(shell, {
+ args,
+ stdin: "null",
+ stdout: "piped",
+ stderr: "null",
+ windowsRawArguments: true,
+ cwd: testDir,
+ });
+
+ const { stdout } = await p.output();
+ const data = new TextDecoder().decode(stdout).trim().split("\n");
+ assertEquals(data, expected);
+ },
+});
+
+Deno.test({
+ name: "process.stdout",
+ fn() {
+ assertEquals(process.stdout.fd, Deno.stdout.rid);
+ const isTTY = Deno.stdout.isTerminal();
+ assertEquals(process.stdout.isTTY, isTTY);
+ const consoleSize = isTTY ? Deno.consoleSize() : undefined;
+ assertEquals(process.stdout.columns, consoleSize?.columns);
+ assertEquals(process.stdout.rows, consoleSize?.rows);
+ assertEquals(
+ `${process.stdout.getWindowSize()}`,
+ `${consoleSize && [consoleSize.columns, consoleSize.rows]}`,
+ );
+
+ if (isTTY) {
+ assertStrictEquals(process.stdout.cursorTo(1, 2, () => {}), true);
+ assertStrictEquals(process.stdout.moveCursor(3, 4, () => {}), true);
+ assertStrictEquals(process.stdout.clearLine(1, () => {}), true);
+ assertStrictEquals(process.stdout.clearScreenDown(() => {}), true);
+ } else {
+ assertStrictEquals(process.stdout.cursorTo, undefined);
+ assertStrictEquals(process.stdout.moveCursor, undefined);
+ assertStrictEquals(process.stdout.clearLine, undefined);
+ assertStrictEquals(process.stdout.clearScreenDown, undefined);
+ }
+ },
+});
+
+Deno.test({
+ name: "process.stderr",
+ fn() {
+ assertEquals(process.stderr.fd, Deno.stderr.rid);
+ const isTTY = Deno.stderr.isTerminal();
+ assertEquals(process.stderr.isTTY, isTTY);
+ const consoleSize = isTTY ? Deno.consoleSize() : undefined;
+ assertEquals(process.stderr.columns, consoleSize?.columns);
+ assertEquals(process.stderr.rows, consoleSize?.rows);
+ assertEquals(
+ `${process.stderr.getWindowSize()}`,
+ `${consoleSize && [consoleSize.columns, consoleSize.rows]}`,
+ );
+
+ if (isTTY) {
+ assertStrictEquals(process.stderr.cursorTo(1, 2, () => {}), true);
+ assertStrictEquals(process.stderr.moveCursor(3, 4, () => {}), true);
+ assertStrictEquals(process.stderr.clearLine(1, () => {}), true);
+ assertStrictEquals(process.stderr.clearScreenDown(() => {}), true);
+ } else {
+ assertStrictEquals(process.stderr.cursorTo, undefined);
+ assertStrictEquals(process.stderr.moveCursor, undefined);
+ assertStrictEquals(process.stderr.clearLine, undefined);
+ assertStrictEquals(process.stderr.clearScreenDown, undefined);
+ }
+ },
+});
+
+Deno.test({
+ name: "process.nextTick",
+ async fn() {
+ let withoutArguments = false;
+ process.nextTick(() => {
+ withoutArguments = true;
+ });
+
+ const expected = 12;
+ let result;
+ process.nextTick((x: number) => {
+ result = x;
+ }, 12);
+
+ await delay(10);
+ assert(withoutArguments);
+ assertEquals(result, expected);
+ },
+});
+
+Deno.test({
+ name: "process.hrtime",
+ // TODO(kt3k): Enable this test
+ ignore: true,
+ fn() {
+ const [sec0, nano0] = process.hrtime();
+ // seconds and nano seconds are positive integers.
+ assert(sec0 > 0);
+ assert(Number.isInteger(sec0));
+ assert(nano0 > 0);
+ assert(Number.isInteger(nano0));
+
+ const [sec1, nano1] = process.hrtime();
+ // the later call returns bigger value
+ assert(sec1 >= sec0);
+ assert(nano1 > nano0);
+
+ const [sec2, nano2] = process.hrtime([sec1, nano1]);
+ // the difference of the 2 calls is a small positive value.
+ assertEquals(sec2, 0);
+ assert(nano2 > 0);
+ },
+});
+
+Deno.test({
+ name: "process.hrtime.bigint",
+ fn() {
+ const time = process.hrtime.bigint();
+ assertEquals(typeof time, "bigint");
+ assert(time > 0n);
+ },
+});
+
+Deno.test("process.on, process.off, process.removeListener doesn't throw on unimplemented events", () => {
+ const events = [
+ "beforeExit",
+ "disconnect",
+ "message",
+ "multipleResolves",
+ "rejectionHandled",
+ "uncaughtException",
+ "uncaughtExceptionMonitor",
+ "unhandledRejection",
+ "worker",
+ ];
+ const handler = () => {};
+ events.forEach((ev) => {
+ process.on(ev, handler);
+ assertEquals(process.listenerCount(ev), 1);
+ process.off(ev, handler);
+ assertEquals(process.listenerCount(ev), 0);
+ process.on(ev, handler);
+ assertEquals(process.listenerCount(ev), 1);
+ process.removeListener(ev, handler);
+ assertEquals(process.listenerCount(ev), 0);
+ });
+});
+
+Deno.test("process.memoryUsage()", () => {
+ const mem = process.memoryUsage();
+ assert(typeof mem.rss === "number");
+ assert(typeof mem.heapTotal === "number");
+ assert(typeof mem.heapUsed === "number");
+ assert(typeof mem.external === "number");
+ assert(typeof mem.arrayBuffers === "number");
+ assertEquals(mem.arrayBuffers, 0);
+});
+
+Deno.test("process.memoryUsage.rss()", () => {
+ const rss = process.memoryUsage.rss();
+ assert(typeof rss === "number");
+});
+
+Deno.test("process.exitCode", () => {
+ assertEquals(process.exitCode, undefined);
+ process.exitCode = 127;
+ assertEquals(process.exitCode, 127);
+ // deno-lint-ignore no-explicit-any
+ (process.exitCode as any) = "asdf";
+ // deno-lint-ignore no-explicit-any
+ assertEquals(process.exitCode as any, "asdf");
+ // deno-lint-ignore no-explicit-any
+ (process.exitCode as any) = "10";
+ process.exitCode = undefined; // reset
+});
+
+async function exitCodeTest(codeText: string, expectedExitCode: number) {
+ const command = new Deno.Command(Deno.execPath(), {
+ args: [
+ "eval",
+ codeText,
+ ],
+ cwd: testDir,
+ });
+ const { code } = await command.output();
+ assertEquals(code, expectedExitCode);
+}
+
+Deno.test("process.exitCode in should change exit code", async () => {
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = 127;",
+ 127,
+ );
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = 2.5;",
+ 2,
+ );
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = '10';",
+ 10,
+ );
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = '0x10';",
+ 16,
+ );
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = NaN;",
+ 0,
+ );
+});
+
+Deno.test("Deno.exit should override process exit", async () => {
+ await exitCodeTest(
+ "import process from 'node:process'; process.exitCode = 10; Deno.exit(12);",
+ 12,
+ );
+});
+
+Deno.test("process.config", () => {
+ assert(process.config !== undefined);
+ assert(process.config.target_defaults !== undefined);
+ assert(process.config.variables !== undefined);
+});
+
+Deno.test("process._exiting", () => {
+ // @ts-ignore fix the type here
+ assert(process._exiting === false);
+});
+
+Deno.test("process.execPath", () => {
+ assertEquals(process.execPath, process.argv[0]);
+});
+
+Deno.test("process.execPath is writable", () => {
+ // pnpm writes to process.execPath
+ // https://github.com/pnpm/pnpm/blob/67d8b65d2e8da1df3725034b8c5b1fcf3af4ad81/packages/config/src/index.ts#L175
+ const originalExecPath = process.execPath;
+ try {
+ process.execPath = "/path/to/node";
+ assertEquals(process.execPath, "/path/to/node");
+ } finally {
+ process.execPath = originalExecPath;
+ }
+});
+
+Deno.test("process.getgid", () => {
+ if (Deno.build.os === "windows") {
+ assertEquals(process.getgid, undefined);
+ } else {
+ assertEquals(process.getgid?.(), Deno.gid());
+ }
+});
+
+Deno.test("process.getuid", () => {
+ if (Deno.build.os === "windows") {
+ assertEquals(process.getuid, undefined);
+ } else {
+ assertEquals(process.getuid?.(), Deno.uid());
+ }
+});
+
+Deno.test("process.geteuid", () => {
+ if (Deno.build.os === "windows") {
+ assertEquals(process.geteuid, undefined);
+ } else {
+ assert(typeof process.geteuid?.() === "number");
+ }
+});
+
+Deno.test({
+ name: "process.exit",
+ async fn() {
+ const command = new Deno.Command(Deno.execPath(), {
+ args: [
+ "run",
+ "--quiet",
+ "--unstable",
+ "./testdata/process_exit2.ts",
+ ],
+ cwd: testDir,
+ });
+ const { stdout } = await command.output();
+
+ const decoder = new TextDecoder();
+ assertEquals(stripColor(decoder.decode(stdout).trim()), "exit");
+ },
+});
+
+Deno.test({
+ name: "process.reallyExit",
+ async fn() {
+ const command = new Deno.Command(Deno.execPath(), {
+ args: [
+ "run",
+ "--quiet",
+ "--unstable",
+ "./testdata/process_really_exit.ts",
+ ],
+ cwd: testDir,
+ });
+ const { stdout } = await command.output();
+
+ const decoder = new TextDecoder();
+ assertEquals(stripColor(decoder.decode(stdout).trim()), "really exited");
+ },
+});
+
+Deno.test({
+ name: "process.stdout isn't closed when source stream ended",
+ async fn() {
+ const source = Readable.from(["foo", "bar"]);
+
+ source.pipe(process.stdout);
+ await once(source, "end");
+
+ // Wait a bit to ensure that streaming is completely finished.
+ await delay(10);
+
+ // This checks if the rid 1 is still valid.
+ assert(typeof process.stdout.isTTY === "boolean");
+ },
+});
+
+Deno.test({
+ name: "process.title",
+ fn() {
+ assertEquals(process.title, "deno");
+ // Verify that setting the value has no effect.
+ process.title = "foo";
+ assertEquals(process.title, "deno");
+ },
+});
+
+Deno.test({
+ name: "process.argv[1] in Worker",
+ async fn() {
+ const worker = new Worker(
+ `data:text/javascript,import process from "node:process";console.log(process.argv[1]);`,
+ { type: "module" },
+ );
+ await delay(10);
+ worker.terminate();
+ },
+});
+
+Deno.test({
+ name: "process.binding('uv').errname",
+ ignore: Deno.build.os === "windows",
+ fn() {
+ // @ts-ignore: untyped internal binding, not actually supposed to be
+ // used by userland modules in Node.js
+ const uv = process.binding("uv");
+ assert(uv.errname);
+ assert(typeof uv.errname === "function");
+ assertEquals(uv.errname(-1), "EPERM");
+ },
+});
+
+Deno.test({
+ name: "process.report",
+ fn() {
+ // The process.report is marked as possibly undefined in node 18 typings
+ if (!process.report) throw "No process report";
+
+ assert(typeof process.report.directory === "string");
+ assert(typeof process.report.filename === "string");
+ assert(typeof process.report.getReport === "function");
+ assert(typeof process.report.reportOnFatalError === "boolean");
+ assert(typeof process.report.reportOnSignal === "boolean");
+ assert(typeof process.report.reportOnUncaughtException === "boolean");
+ assert(typeof process.report.signal === "string");
+ assert(typeof process.report.writeReport === "function");
+ },
+});
+
+Deno.test({
+ name: "process.report.writeReport unimplemented result",
+ fn() {
+ // The process.report is marked as possibly undefined in node 18 typings
+ if (!process.report) throw "No process report";
+
+ assertEquals(process.report.writeReport(), "");
+ },
+});
+
+Deno.test({
+ name: "process.report.getReport result",
+ fn() {
+ // The process.report is marked as possibly undefined in node 18 typings
+ if (!process.report) throw "No process report";
+
+ // deno-lint-ignore no-explicit-any
+ const result = process.report.getReport() as any;
+
+ // test and remove dynamic parts
+ assert(typeof result.header.filename === "string");
+ delete result.header.filename;
+ assert(typeof result.header.dumpEventTime === "object");
+ delete result.header.dumpEventTime;
+ assert(typeof result.header.dumpEventTimeStamp === "number");
+ delete result.header.dumpEventTimeStamp;
+ assert(typeof result.header.processId === "number");
+ delete result.header.processId;
+ assert(typeof result.header.cwd === "string");
+ delete result.header.cwd;
+ assert(typeof result.header.nodejsVersion === "string");
+ assert(result.header.nodejsVersion.startsWith("v"));
+ delete result.header.nodejsVersion;
+ assert(typeof result.header.arch === "string");
+ delete result.header.arch;
+ assert(typeof result.header.platform === "string");
+ delete result.header.platform;
+ assert(typeof result.header.componentVersions === "object");
+ delete result.header.componentVersions;
+ assert(typeof result.header.osName === "string");
+ delete result.header.osName;
+ assert(typeof result.header.osMachine === "string");
+ delete result.header.osMachine;
+ assert(Array.isArray(result.header.cpus));
+ delete result.header.cpus;
+ assert(typeof result.header.networkInterfaces === "object");
+ delete result.header.networkInterfaces;
+ assert(typeof result.header.host === "string");
+ delete result.header.host;
+
+ // test hardcoded part
+ assertEquals(result, {
+ header: {
+ reportVersion: 3,
+ event: "JavaScript API",
+ trigger: "GetReport",
+ threadId: 0,
+ commandLine: ["node"],
+ glibcVersionRuntime: "2.38",
+ glibcVersionCompiler: "2.38",
+ wordSize: 64,
+ release: {
+ name: "node",
+ headersUrl:
+ "https://nodejs.org/download/release/v21.2.0/node-v21.2.0-headers.tar.gz",
+ sourceUrl:
+ "https://nodejs.org/download/release/v21.2.0/node-v21.2.0.tar.gz",
+ },
+ osRelease: undefined,
+ osVersion: undefined,
+ },
+ javascriptStack: undefined,
+ javascriptHeap: undefined,
+ nativeStack: undefined,
+ resourceUsage: undefined,
+ uvthreadResourceUsage: undefined,
+ libuv: undefined,
+ workers: [],
+ environmentVariables: undefined,
+ userLimits: undefined,
+ sharedObjects: undefined,
+ });
+ },
+});
diff --git a/tests/unit_node/querystring_test.ts b/tests/unit_node/querystring_test.ts
new file mode 100644
index 000000000..9831d92ed
--- /dev/null
+++ b/tests/unit_node/querystring_test.ts
@@ -0,0 +1,51 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+import { parse, stringify } from "node:querystring";
+
+Deno.test({
+ name: "stringify",
+ fn() {
+ assertEquals(
+ stringify({
+ a: "hello",
+ b: 5,
+ c: true,
+ d: ["foo", "bar"],
+ }),
+ "a=hello&b=5&c=true&d=foo&d=bar",
+ );
+ },
+});
+
+Deno.test({
+ name: "parse",
+ fn() {
+ assertEquals(parse("a=hello&b=5&c=true&d=foo&d=bar"), {
+ a: "hello",
+ b: "5",
+ c: "true",
+ d: ["foo", "bar"],
+ });
+ },
+});
+
+// https://github.com/denoland/deno/issues/21734
+Deno.test({
+ name: "stringify options no encode",
+ fn() {
+ assertEquals(
+ stringify(
+ {
+ a: "hello",
+ b: 5,
+ c: true,
+ d: ["foo", "bar"],
+ },
+ "&",
+ "=",
+ {},
+ ),
+ "a=hello&b=5&c=true&d=foo&d=bar",
+ );
+ },
+});
diff --git a/tests/unit_node/readline_test.ts b/tests/unit_node/readline_test.ts
new file mode 100644
index 000000000..ecd1a893d
--- /dev/null
+++ b/tests/unit_node/readline_test.ts
@@ -0,0 +1,27 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { createInterface, Interface } from "node:readline";
+import { assertInstanceOf } from "@test_util/std/assert/mod.ts";
+import { Readable, Writable } from "node:stream";
+
+Deno.test("[node/readline] createInstance", () => {
+ const rl = createInterface({
+ input: new Readable({ read() {} }),
+ output: new Writable(),
+ });
+
+ // deno-lint-ignore no-explicit-any
+ assertInstanceOf(rl, Interface as any);
+});
+
+// Test for https://github.com/denoland/deno/issues/19183
+Deno.test("[node/readline] don't throw on rl.question()", () => {
+ const rli = createInterface({
+ input: new Readable({ read() {} }),
+ output: new Writable({ write() {} }),
+ terminal: true,
+ });
+
+ // Calling this would throw
+ rli.question("foo", () => rli.close());
+ rli.close();
+});
diff --git a/tests/unit_node/repl_test.ts b/tests/unit_node/repl_test.ts
new file mode 100644
index 000000000..adfc1d60a
--- /dev/null
+++ b/tests/unit_node/repl_test.ts
@@ -0,0 +1,17 @@
+// deno-lint-ignore-file no-undef
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import repl from "node:repl";
+import { assert } from "@test_util/std/assert/mod.ts";
+
+Deno.test({
+ name: "repl module exports",
+ fn() {
+ assert(typeof repl.REPLServer !== "undefined");
+ assert(typeof repl.start !== "undefined");
+ // @ts-ignore not present in declaration files, but libraries depend on it
+ assert(typeof repl.builtinModules !== "undefined");
+ // @ts-ignore not present in declaration files, but libraries depend on it
+ assert(typeof repl._builtinLibs !== "undefined");
+ },
+});
diff --git a/tests/unit_node/stream_test.ts b/tests/unit_node/stream_test.ts
new file mode 100644
index 000000000..ab81497d1
--- /dev/null
+++ b/tests/unit_node/stream_test.ts
@@ -0,0 +1,25 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert } from "@test_util/std/assert/mod.ts";
+import { fromFileUrl, relative } from "@test_util/std/path/mod.ts";
+import { pipeline } from "node:stream/promises";
+import { createReadStream, createWriteStream } from "node:fs";
+
+Deno.test("stream/promises pipeline", async () => {
+ const filePath = relative(
+ Deno.cwd(),
+ fromFileUrl(new URL("./testdata/lorem_ipsum.txt", import.meta.url)),
+ );
+ const input = createReadStream(filePath);
+ const output = createWriteStream("lorem_ipsum.txt.copy");
+
+ await pipeline(input, output);
+
+ const content = Deno.readTextFileSync("lorem_ipsum.txt.copy");
+ assert(content.startsWith("Lorem ipsum dolor sit amet"));
+ try {
+ Deno.removeSync("lorem_ipsum.txt.copy");
+ } catch {
+ // pass
+ }
+});
diff --git a/tests/unit_node/string_decoder_test.ts b/tests/unit_node/string_decoder_test.ts
new file mode 100644
index 000000000..768ae3b3a
--- /dev/null
+++ b/tests/unit_node/string_decoder_test.ts
@@ -0,0 +1,167 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+import { Buffer } from "node:buffer";
+import { StringDecoder } from "node:string_decoder";
+
+Deno.test({
+ name: "String decoder is encoding utf8 correctly",
+ fn() {
+ let decoder;
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(decoder.write(Buffer.from("E1", "hex")), "");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(decoder.write(Buffer.from("E18B", "hex")), "");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(decoder.write(Buffer.from("\ufffd")), "\ufffd");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(
+ decoder.write(Buffer.from("\ufffd\ufffd\ufffd")),
+ "\ufffd\ufffd\ufffd",
+ );
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(decoder.write(Buffer.from("EFBFBDE2", "hex")), "\ufffd");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder("utf8");
+ assertEquals(decoder.write(Buffer.from("F1", "hex")), "");
+ assertEquals(decoder.write(Buffer.from("41F2", "hex")), "\ufffdA");
+ assertEquals(decoder.end(), "\ufffd");
+ },
+});
+
+Deno.test({
+ name: "String decoder is encoding base64 correctly",
+ fn() {
+ let decoder;
+
+ decoder = new StringDecoder("base64");
+ assertEquals(decoder.write(Buffer.from("E1", "hex")), "");
+ assertEquals(decoder.end(), "4Q==");
+
+ decoder = new StringDecoder("base64");
+ assertEquals(decoder.write(Buffer.from("E18B", "hex")), "");
+ assertEquals(decoder.end(), "4Ys=");
+
+ decoder = new StringDecoder("base64");
+ assertEquals(decoder.write(Buffer.from("\ufffd")), "77+9");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("base64");
+ assertEquals(
+ decoder.write(Buffer.from("\ufffd\ufffd\ufffd")),
+ "77+977+977+9",
+ );
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("base64");
+ assertEquals(decoder.write(Buffer.from("EFBFBDE2", "hex")), "77+9");
+ assertEquals(decoder.end(), "4g==");
+
+ decoder = new StringDecoder("base64");
+ assertEquals(decoder.write(Buffer.from("F1", "hex")), "");
+ assertEquals(decoder.write(Buffer.from("41F2", "hex")), "8UHy");
+ assertEquals(decoder.end(), "");
+ },
+});
+
+Deno.test({
+ name: "String decoder is encoding hex correctly",
+ fn() {
+ let decoder;
+
+ decoder = new StringDecoder("hex");
+ assertEquals(decoder.write(Buffer.from("E1", "hex")), "e1");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("hex");
+ assertEquals(decoder.write(Buffer.from("E18B", "hex")), "e18b");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("hex");
+ assertEquals(decoder.write(Buffer.from("\ufffd")), "efbfbd");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("hex");
+ assertEquals(
+ decoder.write(Buffer.from("\ufffd\ufffd\ufffd")),
+ "efbfbdefbfbdefbfbd",
+ );
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("hex");
+ assertEquals(decoder.write(Buffer.from("EFBFBDE2", "hex")), "efbfbde2");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder("hex");
+ assertEquals(decoder.write(Buffer.from("F1", "hex")), "f1");
+ assertEquals(decoder.write(Buffer.from("41F2", "hex")), "41f2");
+ assertEquals(decoder.end(), "");
+ },
+});
+
+Deno.test({
+ name:
+ "String decoder with utf8 would handle incomplete character correctly when append",
+ fn() {
+ let decoder;
+ const specialCharactersText = "不完全な文字のテスト";
+ const encodedBuffer = Buffer.from(specialCharactersText);
+
+ decoder = new StringDecoder("utf8");
+ let str = "";
+ str += decoder.write(encodedBuffer.slice(0, 4));
+ assertEquals(str, "不");
+ str += decoder.write(encodedBuffer.slice(4));
+ assertEquals(str, "不完全な文字のテスト");
+
+ decoder = new StringDecoder("utf8");
+ str = "";
+ str += decoder.write(encodedBuffer.slice(0, 4));
+ str += decoder.write(encodedBuffer.slice(5));
+ assertEquals(str, "不�全な文字のテスト");
+ },
+});
+
+Deno.test({
+ name: "String decoder would have default encoding option as utf8",
+ fn() {
+ let decoder;
+
+ decoder = new StringDecoder();
+ assertEquals(decoder.write(Buffer.from("E1", "hex")), "");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder();
+ assertEquals(decoder.write(Buffer.from("E18B", "hex")), "");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder();
+ assertEquals(decoder.write(Buffer.from("\ufffd")), "\ufffd");
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder();
+ assertEquals(
+ decoder.write(Buffer.from("\ufffd\ufffd\ufffd")),
+ "\ufffd\ufffd\ufffd",
+ );
+ assertEquals(decoder.end(), "");
+
+ decoder = new StringDecoder();
+ assertEquals(decoder.write(Buffer.from("EFBFBDE2", "hex")), "\ufffd");
+ assertEquals(decoder.end(), "\ufffd");
+
+ decoder = new StringDecoder();
+ assertEquals(decoder.write(Buffer.from("F1", "hex")), "");
+ assertEquals(decoder.write(Buffer.from("41F2", "hex")), "\ufffdA");
+ assertEquals(decoder.end(), "\ufffd");
+ },
+});
diff --git a/tests/unit_node/testdata/add_global_property.js b/tests/unit_node/testdata/add_global_property.js
new file mode 100644
index 000000000..814d17d0d
--- /dev/null
+++ b/tests/unit_node/testdata/add_global_property.js
@@ -0,0 +1 @@
+globalThis.foo = "Hello";
diff --git a/tests/unit_node/testdata/add_global_property_run_main.js b/tests/unit_node/testdata/add_global_property_run_main.js
new file mode 100644
index 000000000..c9db1cea6
--- /dev/null
+++ b/tests/unit_node/testdata/add_global_property_run_main.js
@@ -0,0 +1 @@
+globalThis.calledViaRunMain = true;
diff --git a/tests/unit_node/testdata/binary_stdio.js b/tests/unit_node/testdata/binary_stdio.js
new file mode 100644
index 000000000..aa370a933
--- /dev/null
+++ b/tests/unit_node/testdata/binary_stdio.js
@@ -0,0 +1,11 @@
+const buffer = new Uint8Array(10);
+const nread = await Deno.stdin.read(buffer);
+
+if (nread != 10) {
+ throw new Error("Too little data read");
+}
+
+const nwritten = await Deno.stdout.write(buffer);
+if (nwritten != 10) {
+ throw new Error("Too little data written");
+}
diff --git a/tests/unit_node/testdata/child_process_stdio.js b/tests/unit_node/testdata/child_process_stdio.js
new file mode 100644
index 000000000..b13b09562
--- /dev/null
+++ b/tests/unit_node/testdata/child_process_stdio.js
@@ -0,0 +1,16 @@
+import childProcess from "node:child_process";
+import process from "node:process";
+import * as path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const script = path.join(
+ path.dirname(fileURLToPath(import.meta.url)),
+ "node_modules",
+ "foo",
+ "index.js",
+);
+
+const child = childProcess.spawn(process.execPath, [script], {
+ stdio: [process.stdin, process.stdout, process.stderr],
+});
+child.on("close", () => console.log("close"));
diff --git a/tests/unit_node/testdata/child_process_stdio_012.js b/tests/unit_node/testdata/child_process_stdio_012.js
new file mode 100644
index 000000000..e3717f985
--- /dev/null
+++ b/tests/unit_node/testdata/child_process_stdio_012.js
@@ -0,0 +1,16 @@
+import childProcess from "node:child_process";
+import process from "node:process";
+import * as path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const script = path.join(
+ path.dirname(fileURLToPath(import.meta.url)),
+ "node_modules",
+ "foo",
+ "index.js",
+);
+
+const child = childProcess.spawn(process.execPath, [script], {
+ stdio: [0, 1, 2],
+});
+child.on("close", () => console.log("close"));
diff --git a/tests/unit_node/testdata/child_process_unref.js b/tests/unit_node/testdata/child_process_unref.js
new file mode 100644
index 000000000..8201ac44d
--- /dev/null
+++ b/tests/unit_node/testdata/child_process_unref.js
@@ -0,0 +1,10 @@
+import cp from "node:child_process";
+import * as path from "node:path";
+import { fileURLToPath } from "node:url";
+
+const script = path.join(
+ path.dirname(fileURLToPath(import.meta.url)),
+ "infinite_loop.js",
+);
+const childProcess = cp.spawn(Deno.execPath(), ["run", script]);
+childProcess.unref();
diff --git a/tests/unit_node/testdata/exec_file_text_error.js b/tests/unit_node/testdata/exec_file_text_error.js
new file mode 100644
index 000000000..9697e6044
--- /dev/null
+++ b/tests/unit_node/testdata/exec_file_text_error.js
@@ -0,0 +1,2 @@
+console.error("yikes!");
+Deno.exit(1);
diff --git a/tests/unit_node/testdata/exec_file_text_output.js b/tests/unit_node/testdata/exec_file_text_output.js
new file mode 100644
index 000000000..019c0f4bc
--- /dev/null
+++ b/tests/unit_node/testdata/exec_file_text_output.js
@@ -0,0 +1 @@
+console.log("Hello World!");
diff --git a/tests/unit_node/testdata/infinite_loop.js b/tests/unit_node/testdata/infinite_loop.js
new file mode 100644
index 000000000..0e6540a7b
--- /dev/null
+++ b/tests/unit_node/testdata/infinite_loop.js
@@ -0,0 +1,3 @@
+while (true) {
+ await new Promise((resolve) => setTimeout(resolve, 1000));
+}
diff --git a/tests/unit_node/testdata/lorem_ipsum.txt b/tests/unit_node/testdata/lorem_ipsum.txt
new file mode 100644
index 000000000..08e00ed29
--- /dev/null
+++ b/tests/unit_node/testdata/lorem_ipsum.txt
@@ -0,0 +1 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file
diff --git a/tests/unit_node/testdata/node_modules/foo/index.js b/tests/unit_node/testdata/node_modules/foo/index.js
new file mode 100644
index 000000000..24faba789
--- /dev/null
+++ b/tests/unit_node/testdata/node_modules/foo/index.js
@@ -0,0 +1,4 @@
+console.log("foo");
+console.log(typeof require === "function");
+console.log(typeof module === "object");
+console.log(typeof exports === "object");
diff --git a/tests/unit_node/testdata/node_modules/foo/package.json b/tests/unit_node/testdata/node_modules/foo/package.json
new file mode 100644
index 000000000..bde99de92
--- /dev/null
+++ b/tests/unit_node/testdata/node_modules/foo/package.json
@@ -0,0 +1,3 @@
+{
+ "name": "foo"
+}
diff --git a/tests/unit_node/testdata/process_exit.ts b/tests/unit_node/testdata/process_exit.ts
new file mode 100644
index 000000000..57351c087
--- /dev/null
+++ b/tests/unit_node/testdata/process_exit.ts
@@ -0,0 +1,19 @@
+import process from "node:process";
+
+//deno-lint-ignore no-undef
+process.on("exit", () => {
+ console.log(1);
+});
+
+function unexpected() {
+ console.log(null);
+}
+//deno-lint-ignore no-undef
+process.on("exit", unexpected);
+//deno-lint-ignore no-undef
+process.removeListener("exit", unexpected);
+
+//deno-lint-ignore no-undef
+process.on("exit", () => {
+ console.log(2);
+});
diff --git a/tests/unit_node/testdata/process_exit2.ts b/tests/unit_node/testdata/process_exit2.ts
new file mode 100644
index 000000000..3731f745a
--- /dev/null
+++ b/tests/unit_node/testdata/process_exit2.ts
@@ -0,0 +1,4 @@
+import process from "node:process";
+
+process.on("exit", () => console.log("exit"));
+process.exit();
diff --git a/tests/unit_node/testdata/process_really_exit.ts b/tests/unit_node/testdata/process_really_exit.ts
new file mode 100644
index 000000000..16f30b33d
--- /dev/null
+++ b/tests/unit_node/testdata/process_really_exit.ts
@@ -0,0 +1,10 @@
+import process from "node:process";
+
+//deno-lint-ignore no-undef
+// @ts-ignore - Node typings don't even have this because it's
+// been deprecated for 4 years. But it's used in `signal-exit`,
+// which in turn is used in `node-tap`.
+process.reallyExit = function () {
+ console.info("really exited");
+};
+process.exit();
diff --git a/tests/unit_node/testdata/process_stdin.ts b/tests/unit_node/testdata/process_stdin.ts
new file mode 100644
index 000000000..23562b090
--- /dev/null
+++ b/tests/unit_node/testdata/process_stdin.ts
@@ -0,0 +1,11 @@
+import process from "node:process";
+
+console.log(process.stdin.readableHighWaterMark);
+
+process.stdin.setEncoding("utf8");
+process.stdin.on("readable", () => {
+ console.log(process.stdin.read());
+});
+process.stdin.on("end", () => {
+ console.log("end");
+});
diff --git a/tests/unit_node/testdata/process_stdin_dummy.txt b/tests/unit_node/testdata/process_stdin_dummy.txt
new file mode 100644
index 000000000..a907ec3f4
--- /dev/null
+++ b/tests/unit_node/testdata/process_stdin_dummy.txt
@@ -0,0 +1,2 @@
+foo
+bar \ No newline at end of file
diff --git a/tests/unit_node/testdata/rsa_private.pem b/tests/unit_node/testdata/rsa_private.pem
new file mode 100644
index 000000000..cd274ae6d
--- /dev/null
+++ b/tests/unit_node/testdata/rsa_private.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC33FiIiiexwLe/
+P8DZx5HsqFlmUO7/lvJ7necJVNwqdZ3ax5jpQB0p6uxfqeOvzcN3k5V7UFb/Am+n
+kSNZMAZhsWzCU2Z4Pjh50QYz3f0Hour7/yIGStOLyYY3hgLK2K8TbhgjQPhdkw9+
+QtKlpvbL8fLgONAoGrVOFnRQGcr70iFffsm79mgZhKVMgYiHPJqJgGHvCtkGg9zM
+gS7p63+Q3ZWedtFS2RhMX3uCBy/mH6EOlRCNBbRmA4xxNzyf5GQaki3T+Iz9tOMj
+dPP+CwV2LqEdylmBuik8vrfTb3qIHLKKBAI8lXN26wWtA3kN4L7NP+cbKlCRlqct
+vhmylLH1AgMBAAECggEBAJLZ6ti7yDKgY+LcT/NiBDqKyEUBlbMNZIW5vAPnBKbh
+JIDO9WIv9Fs7qSpLbnFHnr0OYtGIfMPXtUiYkyw0QJSc+upHZMvbno4llpes0eHc
+jWVTBWETON4oywvj/Kz53vRc9eiKhxVuVWyagNcQgYSprjzLA+9UTcWeB67Guyrf
+8YJUE2LC23RiMA5nGYoSHfVRl0c75gj7A0X9nwpAI+xw3kcaVHRIhA6WowA3Pj1o
+pK2t692+NLVRylpvMMSS4rziDexomFykCFukYWYB/kZOOSSETSsTWoMXXl1KqsoZ
+8IW06NR4rXtIgQ3sTfbYKGZNF5nWFgZ+hJVx0We1Qg0CgYEA8UovlB4nrBm7xH+u
+7XXBMbqxADQm5vaEZxw9eluc+tP7cIAI4sglMIvL/FMpbd2pEeP/BkR76NTDzzDu
+PAZvUGRavgEjy0O9j2NAs/WPK4tZF+vFdunhnSh4EHAF4Ij9kbsUi90NOpbGfVqP
+dOaHqzgHKoR23Cuusk9wFQ2XTV8CgYEAwxHdEYT9xrpfrHPqSBQPpO0dWGKJEkrW
+Ob+76rSfuL8wGR4OBNmQdhLuU9zTIh22pog+XPnLPAecC+4yu/wtJ2SPCKiKDbJB
+re0CKPyRfGqzvA3njXwMxXazU4kGs+2Fg+xu/iKbaIjxXrclBLhkxhBtySrwAFhx
+xOk6fFcPLSsCgYEAqS/Mdr5CMRGGMH0bKhPUWEtAixUGZhJaunX5wY71Xoc/Gh4c
+nO+b7BNJ/+5L8WZog0vr6PgiLhrqBaCYm2wjpyoG2o2wDHm+NAlzN/wp3G2EFhrS
+xdOux+S1c0kpRcyoiAO2n29rNDa+jOzwBBcU8ACEPdLOCQl0IEFFJO33tl8CgYBY
+DOIqnEsovsucvh3MNzHwkg8i7CdPGHSmUIN0J9/ItpPxYn2VdtccVOM6+3xZ8+uU
+M/9iXGZ+TDkFsZk4/VUsaNmfYOQf1oyLA2ZsNcU90bQbeHNCi/H/19qOJFXgNaCE
+sd5P3DMl9lptFGIjRVBHjvbfTQBUR5fi+BusMGfrTQKBgQCTtzMEJP2sef883AJr
+XuGVPLzwLi9eTBvPzc5r5pfkvh7mDDmWFxHZm5kctvavqgy32uUPsQgMi1Kz67bU
+s5dY9MCVrN2elhTLD8LOiAz8836o3AxFefm5cUWGaU/aZWDYR0QtNqFdyHyRaodo
+JJfnfK+oK1Eq7+PvpXfVN9BkYw==
+-----END PRIVATE KEY-----
diff --git a/tests/unit_node/testdata/rsa_private_pkcs1.pem b/tests/unit_node/testdata/rsa_private_pkcs1.pem
new file mode 100644
index 000000000..215e5cc51
--- /dev/null
+++ b/tests/unit_node/testdata/rsa_private_pkcs1.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAt9xYiIonscC3vz/A2ceR7KhZZlDu/5bye53nCVTcKnWd2seY
+6UAdKersX6njr83Dd5OVe1BW/wJvp5EjWTAGYbFswlNmeD44edEGM939B6Lq+/8i
+BkrTi8mGN4YCytivE24YI0D4XZMPfkLSpab2y/Hy4DjQKBq1ThZ0UBnK+9IhX37J
+u/ZoGYSlTIGIhzyaiYBh7wrZBoPczIEu6et/kN2VnnbRUtkYTF97ggcv5h+hDpUQ
+jQW0ZgOMcTc8n+RkGpIt0/iM/bTjI3Tz/gsFdi6hHcpZgbopPL630296iByyigQC
+PJVzdusFrQN5DeC+zT/nGypQkZanLb4ZspSx9QIDAQABAoIBAQCS2erYu8gyoGPi
+3E/zYgQ6ishFAZWzDWSFubwD5wSm4SSAzvViL/RbO6kqS25xR569DmLRiHzD17VI
+mJMsNECUnPrqR2TL256OJZaXrNHh3I1lUwVhEzjeKMsL4/ys+d70XPXoiocVblVs
+moDXEIGEqa48ywPvVE3Fngeuxrsq3/GCVBNiwtt0YjAOZxmKEh31UZdHO+YI+wNF
+/Z8KQCPscN5HGlR0SIQOlqMANz49aKStrevdvjS1UcpabzDEkuK84g3saJhcpAhb
+pGFmAf5GTjkkhE0rE1qDF15dSqrKGfCFtOjUeK17SIEN7E322ChmTReZ1hYGfoSV
+cdFntUINAoGBAPFKL5QeJ6wZu8R/ru11wTG6sQA0Jub2hGccPXpbnPrT+3CACOLI
+JTCLy/xTKW3dqRHj/wZEe+jUw88w7jwGb1BkWr4BI8tDvY9jQLP1jyuLWRfrxXbp
+4Z0oeBBwBeCI/ZG7FIvdDTqWxn1aj3Tmh6s4ByqEdtwrrrJPcBUNl01fAoGBAMMR
+3RGE/ca6X6xz6kgUD6TtHVhiiRJK1jm/u+q0n7i/MBkeDgTZkHYS7lPc0yIdtqaI
+Plz5yzwHnAvuMrv8LSdkjwioig2yQa3tAij8kXxqs7wN5418DMV2s1OJBrPthYPs
+bv4im2iI8V63JQS4ZMYQbckq8ABYccTpOnxXDy0rAoGBAKkvzHa+QjERhjB9GyoT
+1FhLQIsVBmYSWrp1+cGO9V6HPxoeHJzvm+wTSf/uS/FmaINL6+j4Ii4a6gWgmJts
+I6cqBtqNsAx5vjQJczf8KdxthBYa0sXTrsfktXNJKUXMqIgDtp9vazQ2vozs8AQX
+FPAAhD3SzgkJdCBBRSTt97ZfAoGAWAziKpxLKL7LnL4dzDcx8JIPIuwnTxh0plCD
+dCffyLaT8WJ9lXbXHFTjOvt8WfPrlDP/Ylxmfkw5BbGZOP1VLGjZn2DkH9aMiwNm
+bDXFPdG0G3hzQovx/9fajiRV4DWghLHeT9wzJfZabRRiI0VQR472300AVEeX4vgb
+rDBn600CgYEAk7czBCT9rHn/PNwCa17hlTy88C4vXkwbz83Oa+aX5L4e5gw5lhcR
+2ZuZHLb2r6oMt9rlD7EIDItSs+u21LOXWPTAlazdnpYUyw/CzogM/PN+qNwMRXn5
+uXFFhmlP2mVg2EdELTahXch8kWqHaCSX53yvqCtRKu/j76V31TfQZGM=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/unit_node/testdata/rsa_public.pem b/tests/unit_node/testdata/rsa_public.pem
new file mode 100644
index 000000000..8c30cfa52
--- /dev/null
+++ b/tests/unit_node/testdata/rsa_public.pem
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt9xYiIonscC3vz/A2ceR
+7KhZZlDu/5bye53nCVTcKnWd2seY6UAdKersX6njr83Dd5OVe1BW/wJvp5EjWTAG
+YbFswlNmeD44edEGM939B6Lq+/8iBkrTi8mGN4YCytivE24YI0D4XZMPfkLSpab2
+y/Hy4DjQKBq1ThZ0UBnK+9IhX37Ju/ZoGYSlTIGIhzyaiYBh7wrZBoPczIEu6et/
+kN2VnnbRUtkYTF97ggcv5h+hDpUQjQW0ZgOMcTc8n+RkGpIt0/iM/bTjI3Tz/gsF
+di6hHcpZgbopPL630296iByyigQCPJVzdusFrQN5DeC+zT/nGypQkZanLb4ZspSx
+9QIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/unit_node/testdata/worker_module/index.js b/tests/unit_node/testdata/worker_module/index.js
new file mode 100644
index 000000000..a3e976b65
--- /dev/null
+++ b/tests/unit_node/testdata/worker_module/index.js
@@ -0,0 +1,3 @@
+import { myFunction } from "./other_file.js";
+
+myFunction().then(() => {});
diff --git a/tests/unit_node/testdata/worker_module/other_file.js b/tests/unit_node/testdata/worker_module/other_file.js
new file mode 100644
index 000000000..41789dfe8
--- /dev/null
+++ b/tests/unit_node/testdata/worker_module/other_file.js
@@ -0,0 +1,3 @@
+export async function myFunction() {
+ await new Promise((resolve) => setTimeout(resolve, 100));
+}
diff --git a/tests/unit_node/testdata/worker_module/package.json b/tests/unit_node/testdata/worker_module/package.json
new file mode 100644
index 000000000..486d2f82b
--- /dev/null
+++ b/tests/unit_node/testdata/worker_module/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "foo",
+ "type": "module"
+}
diff --git a/tests/unit_node/testdata/worker_threads.mjs b/tests/unit_node/testdata/worker_threads.mjs
new file mode 100644
index 000000000..03dc462f0
--- /dev/null
+++ b/tests/unit_node/testdata/worker_threads.mjs
@@ -0,0 +1,34 @@
+// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+import {
+ getEnvironmentData,
+ isMainThread,
+ parentPort,
+ threadId,
+ workerData,
+} from "node:worker_threads";
+import { once } from "node:events";
+
+async function message(expectedMessage) {
+ const [message] = await once(parentPort, "message");
+ if (message !== expectedMessage) {
+ console.log(`Expected the message "${expectedMessage}", but got`, message);
+ // fail test
+ parentPort.close();
+ }
+}
+
+await message("Hello, how are you my thread?");
+
+parentPort.postMessage("I'm fine!");
+
+await new Promise((resolve) => setTimeout(resolve, 100));
+
+parentPort.postMessage({
+ isMainThread,
+ threadId,
+ workerData: Array.isArray(workerData) &&
+ workerData[workerData.length - 1] instanceof MessagePort
+ ? workerData.slice(0, -1)
+ : workerData,
+ envData: [getEnvironmentData("test"), getEnvironmentData(1)],
+});
diff --git a/tests/unit_node/timers_test.ts b/tests/unit_node/timers_test.ts
new file mode 100644
index 000000000..f5cccc9a9
--- /dev/null
+++ b/tests/unit_node/timers_test.ts
@@ -0,0 +1,62 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert, fail } from "@test_util/std/assert/mod.ts";
+import * as timers from "node:timers";
+import * as timersPromises from "node:timers/promises";
+
+Deno.test("[node/timers setTimeout]", () => {
+ {
+ const { clearTimeout, setTimeout } = timers;
+ const id = setTimeout(() => {});
+ clearTimeout(id);
+ }
+
+ {
+ const id = timers.setTimeout(() => {});
+ timers.clearTimeout(id);
+ }
+});
+
+Deno.test("[node/timers setInterval]", () => {
+ {
+ const { clearInterval, setInterval } = timers;
+ const id = setInterval(() => {});
+ clearInterval(id);
+ }
+
+ {
+ const id = timers.setInterval(() => {});
+ timers.clearInterval(id);
+ }
+});
+
+Deno.test("[node/timers setImmediate]", () => {
+ {
+ const { clearImmediate, setImmediate } = timers;
+ const id = setImmediate(() => {});
+ clearImmediate(id);
+ }
+
+ {
+ const id = timers.setImmediate(() => {});
+ timers.clearImmediate(id);
+ }
+});
+
+Deno.test("[node/timers/promises setTimeout]", () => {
+ const { setTimeout } = timersPromises;
+ const p = setTimeout(0);
+
+ assert(p instanceof Promise);
+ return p;
+});
+
+// Regression test for https://github.com/denoland/deno/issues/17981
+Deno.test("[node/timers refresh cancelled timer]", () => {
+ const { setTimeout, clearTimeout } = timers;
+ const p = setTimeout(() => {
+ fail();
+ }, 1);
+ clearTimeout(p);
+ p.refresh();
+});
diff --git a/tests/unit_node/tls_test.ts b/tests/unit_node/tls_test.ts
new file mode 100644
index 000000000..d87df4e33
--- /dev/null
+++ b/tests/unit_node/tls_test.ts
@@ -0,0 +1,150 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assertEquals, assertInstanceOf } from "@test_util/std/assert/mod.ts";
+import { delay } from "@test_util/std/async/delay.ts";
+import { fromFileUrl, join } from "@test_util/std/path/mod.ts";
+import { serveTls } from "@test_util/std/http/server.ts";
+import * as tls from "node:tls";
+import * as net from "node:net";
+import * as stream from "node:stream";
+
+const tlsTestdataDir = fromFileUrl(
+ new URL("../testdata/tls", import.meta.url),
+);
+const keyFile = join(tlsTestdataDir, "localhost.key");
+const certFile = join(tlsTestdataDir, "localhost.crt");
+const key = await Deno.readTextFile(keyFile);
+const cert = await Deno.readTextFile(certFile);
+const rootCaCert = await Deno.readTextFile(join(tlsTestdataDir, "RootCA.pem"));
+
+Deno.test("tls.connect makes tls connection", async () => {
+ const ctl = new AbortController();
+ const serve = serveTls(() => new Response("hello"), {
+ port: 8443,
+ key,
+ cert,
+ signal: ctl.signal,
+ });
+
+ await delay(200);
+
+ const conn = tls.connect({
+ host: "localhost",
+ port: 8443,
+ secureContext: {
+ ca: rootCaCert,
+ // deno-lint-ignore no-explicit-any
+ } as any,
+ });
+ conn.write(`GET / HTTP/1.1
+Host: localhost
+Connection: close
+
+`);
+ conn.on("data", (chunk) => {
+ const text = new TextDecoder().decode(chunk);
+ const bodyText = text.split("\r\n\r\n").at(-1)?.trim();
+ assertEquals(bodyText, "hello");
+ conn.destroy();
+ ctl.abort();
+ });
+
+ await serve;
+});
+
+// https://github.com/denoland/deno/pull/20120
+Deno.test("tls.connect mid-read tcp->tls upgrade", async () => {
+ const ctl = new AbortController();
+ const serve = serveTls(() => new Response("hello"), {
+ port: 8443,
+ key,
+ cert,
+ signal: ctl.signal,
+ });
+
+ await delay(200);
+
+ const conn = tls.connect({
+ host: "localhost",
+ port: 8443,
+ secureContext: {
+ ca: rootCaCert,
+ // deno-lint-ignore no-explicit-any
+ } as any,
+ });
+
+ conn.setEncoding("utf8");
+ conn.write(`GET / HTTP/1.1\nHost: www.google.com\n\n`);
+
+ conn.on("data", (_) => {
+ conn.destroy();
+ ctl.abort();
+ });
+
+ await serve;
+});
+
+Deno.test("tls.createServer creates a TLS server", async () => {
+ const deferred = Promise.withResolvers<void>();
+ const server = tls.createServer(
+ // deno-lint-ignore no-explicit-any
+ { host: "0.0.0.0", key, cert } as any,
+ (socket: net.Socket) => {
+ socket.write("welcome!\n");
+ socket.setEncoding("utf8");
+ socket.pipe(socket).on("data", (data) => {
+ if (data.toString().trim() === "goodbye") {
+ socket.destroy();
+ }
+ });
+ },
+ );
+ server.listen(0, async () => {
+ const conn = await Deno.connectTls({
+ hostname: "127.0.0.1",
+ // deno-lint-ignore no-explicit-any
+ port: (server.address() as any).port,
+ caCerts: [rootCaCert],
+ });
+
+ const buf = new Uint8Array(100);
+ await conn.read(buf);
+ let text: string;
+ text = new TextDecoder().decode(buf);
+ assertEquals(text.replaceAll("\0", ""), "welcome!\n");
+ buf.fill(0);
+
+ await conn.write(new TextEncoder().encode("hey\n"));
+ await conn.read(buf);
+ text = new TextDecoder().decode(buf);
+ assertEquals(text.replaceAll("\0", ""), "hey\n");
+ buf.fill(0);
+
+ await conn.write(new TextEncoder().encode("goodbye\n"));
+ await conn.read(buf);
+ text = new TextDecoder().decode(buf);
+ assertEquals(text.replaceAll("\0", ""), "goodbye\n");
+
+ conn.close();
+ server.close();
+ deferred.resolve();
+ });
+ await deferred.promise;
+});
+
+Deno.test("TLSSocket can construct without options", () => {
+ // deno-lint-ignore no-explicit-any
+ new tls.TLSSocket(new stream.PassThrough() as any);
+});
+
+Deno.test("tlssocket._handle._parentWrap is set", () => {
+ // Note: This feature is used in popular 'http2-wrapper' module
+ // https://github.com/szmarczak/http2-wrapper/blob/51eeaf59ff9344fb192b092241bfda8506983620/source/utils/js-stream-socket.js#L6
+ const parentWrap =
+ // deno-lint-ignore no-explicit-any
+ ((new tls.TLSSocket(new stream.PassThrough() as any, {}) as any)
+ // deno-lint-ignore no-explicit-any
+ ._handle as any)!
+ ._parentWrap;
+ assertInstanceOf(parentWrap, stream.PassThrough);
+});
diff --git a/tests/unit_node/tty_test.ts b/tests/unit_node/tty_test.ts
new file mode 100644
index 000000000..43beda4bc
--- /dev/null
+++ b/tests/unit_node/tty_test.ts
@@ -0,0 +1,36 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+// deno-lint-ignore-file no-explicit-any
+
+import { assert } from "@test_util/std/assert/mod.ts";
+import { isatty } from "node:tty";
+import process from "node:process";
+
+Deno.test("[node/tty isatty] returns true when fd is a tty, false otherwise", () => {
+ assert(Deno.stdin.isTerminal() === isatty(Deno.stdin.rid));
+ assert(Deno.stdout.isTerminal() === isatty(Deno.stdout.rid));
+ assert(Deno.stderr.isTerminal() === isatty(Deno.stderr.rid));
+
+ using file = Deno.openSync("README.md");
+ assert(!isatty(file.rid));
+});
+
+Deno.test("[node/tty isatty] returns false for irrelevant values", () => {
+ // invalid numeric fd
+ assert(!isatty(1234567));
+
+ // TODO(kt3k): Enable this test when the below issue resolved
+ // https://github.com/denoland/deno/issues/14398
+ // assert(!isatty(-1));
+
+ // invalid type fd
+ assert(!isatty("abc" as any));
+ assert(!isatty({} as any));
+ assert(!isatty([] as any));
+ assert(!isatty(null as any));
+ assert(!isatty(undefined as any));
+});
+
+Deno.test("[node/tty WriteStream.isTTY] returns true when fd is a tty", () => {
+ assert(Deno.stdin.isTerminal() === process.stdin.isTTY);
+ assert(Deno.stdout.isTerminal() === process.stdout.isTTY);
+});
diff --git a/tests/unit_node/util_test.ts b/tests/unit_node/util_test.ts
new file mode 100644
index 000000000..8480266c1
--- /dev/null
+++ b/tests/unit_node/util_test.ts
@@ -0,0 +1,317 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import {
+ assert,
+ assertEquals,
+ assertStrictEquals,
+ assertThrows,
+} from "@test_util/std/assert/mod.ts";
+import { stripColor } from "@test_util/std/fmt/colors.ts";
+import * as util from "node:util";
+import { Buffer } from "node:buffer";
+
+Deno.test({
+ name: "[util] format",
+ fn() {
+ assertEquals(util.format("%o", [10, 11]), "[ 10, 11, [length]: 2 ]");
+ },
+});
+
+Deno.test({
+ name: "[util] inspect.custom",
+ fn() {
+ assertEquals(util.inspect.custom, Symbol.for("nodejs.util.inspect.custom"));
+ },
+});
+
+Deno.test({
+ name: "[util] inspect",
+ fn() {
+ assertEquals(stripColor(util.inspect({ foo: 123 })), "{ foo: 123 }");
+ assertEquals(stripColor(util.inspect("foo")), "'foo'");
+ assertEquals(
+ stripColor(util.inspect("Deno's logo is so cute.")),
+ `"Deno's logo is so cute."`,
+ );
+ assertEquals(
+ stripColor(util.inspect([1, 2, 3, 4, 5, 6, 7])),
+ `[
+ 1, 2, 3, 4,
+ 5, 6, 7
+]`,
+ );
+ },
+});
+
+Deno.test({
+ name: "[util] isBoolean",
+ fn() {
+ assert(util.isBoolean(true));
+ assert(!util.isBoolean(new Boolean()));
+ assert(!util.isBoolean(new Boolean(true)));
+ assert(util.isBoolean(false));
+ assert(!util.isBoolean("deno"));
+ assert(!util.isBoolean("true"));
+ },
+});
+
+Deno.test({
+ name: "[util] isNull",
+ fn() {
+ let n;
+ assert(util.isNull(null));
+ assert(!util.isNull(n));
+ assert(!util.isNull(0));
+ assert(!util.isNull({}));
+ },
+});
+
+Deno.test({
+ name: "[util] isNullOrUndefined",
+ fn() {
+ let n;
+ assert(util.isNullOrUndefined(null));
+ assert(util.isNullOrUndefined(n));
+ assert(!util.isNullOrUndefined({}));
+ assert(!util.isNullOrUndefined("undefined"));
+ },
+});
+
+Deno.test({
+ name: "[util] isNumber",
+ fn() {
+ assert(util.isNumber(666));
+ assert(!util.isNumber(new Number(666)));
+ assert(!util.isNumber("999"));
+ assert(!util.isNumber(null));
+ },
+});
+
+Deno.test({
+ name: "[util] isString",
+ fn() {
+ assert(util.isString("deno"));
+ assert(!util.isString(new String("DIO")));
+ assert(!util.isString(1337));
+ },
+});
+
+Deno.test({
+ name: "[util] isSymbol",
+ fn() {
+ assert(util.isSymbol(Symbol()));
+ assert(!util.isSymbol(Object(Symbol())));
+ assert(!util.isSymbol(123));
+ assert(!util.isSymbol("string"));
+ },
+});
+
+Deno.test({
+ name: "[util] isUndefined",
+ fn() {
+ let t;
+ assert(util.isUndefined(t));
+ assert(!util.isUndefined("undefined"));
+ assert(!util.isUndefined({}));
+ },
+});
+
+Deno.test({
+ name: "[util] isObject",
+ fn() {
+ const dio = { stand: "Za Warudo" };
+ assert(util.isObject(dio));
+ assert(util.isObject(new RegExp(/Toki Wo Tomare/)));
+ assert(!util.isObject("Jotaro"));
+ },
+});
+
+Deno.test({
+ name: "[util] isError",
+ fn() {
+ const java = new Error();
+ const nodejs = Reflect.construct(Error, [], Object);
+ const bun = new DOMException();
+ const deno = "Future";
+ assert(util.isError(java));
+ assert(util.isError(nodejs));
+ assert(util.isError(bun));
+ assert(!util.isError(deno));
+ },
+});
+
+Deno.test({
+ name: "[util] isFunction",
+ fn() {
+ const f = function () {};
+ assert(util.isFunction(f));
+ assert(!util.isFunction({}));
+ assert(!util.isFunction(new RegExp(/f/)));
+ },
+});
+
+Deno.test({
+ name: "[util] isRegExp",
+ fn() {
+ assert(util.isRegExp(new RegExp(/f/)));
+ assert(util.isRegExp(/fuManchu/));
+ assert(!util.isRegExp({ evil: "eye" }));
+ assert(!util.isRegExp(null));
+ },
+});
+
+Deno.test({
+ name: "[util] isArray",
+ fn() {
+ assert(util.isArray([]));
+ assert(!util.isArray({ yaNo: "array" }));
+ assert(!util.isArray(null));
+ },
+});
+
+Deno.test({
+ name: "[util] isPrimitive",
+ fn() {
+ const stringType = "hasti";
+ const booleanType = true;
+ const integerType = 2;
+ const symbolType = Symbol("anything");
+
+ const functionType = function doBest() {};
+ const objectType = { name: "ali" };
+ const arrayType = [1, 2, 3];
+
+ assert(util.isPrimitive(stringType));
+ assert(util.isPrimitive(booleanType));
+ assert(util.isPrimitive(integerType));
+ assert(util.isPrimitive(symbolType));
+ assert(util.isPrimitive(null));
+ assert(util.isPrimitive(undefined));
+ assert(!util.isPrimitive(functionType));
+ assert(!util.isPrimitive(arrayType));
+ assert(!util.isPrimitive(objectType));
+ },
+});
+
+Deno.test({
+ name: "[util] isDate",
+ fn() {
+ // Test verifies the method is exposed. See _util/_util_types_test for details
+ assert(util.isDate(new Date()));
+ },
+});
+
+Deno.test({
+ name: "[util] isBuffer",
+ fn() {
+ assert(util.isBuffer(new Buffer(4)));
+ assert(!util.isBuffer(new Uint8Array(4)));
+ },
+});
+
+Deno.test({
+ name: "[util] types.isTypedArray",
+ fn() {
+ assert(util.types.isTypedArray(new Buffer(4)));
+ assert(util.types.isTypedArray(new Uint8Array(4)));
+ assert(!util.types.isTypedArray(new DataView(new ArrayBuffer(4))));
+ },
+});
+
+Deno.test({
+ name: "[util] types.isNativeError",
+ fn() {
+ assert(util.types.isNativeError(new Error()));
+ assert(util.types.isNativeError(new TypeError()));
+ assert(!util.types.isNativeError(new DOMException()));
+ },
+});
+
+Deno.test({
+ name: "[util] TextDecoder",
+ fn() {
+ assert(util.TextDecoder === TextDecoder);
+ const td: util.TextDecoder = new util.TextDecoder();
+ assert(td instanceof TextDecoder);
+ },
+});
+
+Deno.test({
+ name: "[util] TextEncoder",
+ fn() {
+ assert(util.TextEncoder === TextEncoder);
+ const te: util.TextEncoder = new util.TextEncoder();
+ assert(te instanceof TextEncoder);
+ },
+});
+
+Deno.test({
+ name: "[util] toUSVString",
+ fn() {
+ assertEquals(util.toUSVString("foo"), "foo");
+ assertEquals(util.toUSVString("bar\ud801"), "bar\ufffd");
+ },
+});
+
+Deno.test({
+ name: "[util] getSystemErrorName()",
+ fn() {
+ type FnTestInvalidArg = (code?: unknown) => void;
+
+ assertThrows(
+ () => (util.getSystemErrorName as FnTestInvalidArg)(),
+ TypeError,
+ );
+ assertThrows(
+ () => (util.getSystemErrorName as FnTestInvalidArg)(1),
+ RangeError,
+ );
+
+ assertStrictEquals(util.getSystemErrorName(-424242), undefined);
+
+ switch (Deno.build.os) {
+ case "windows":
+ assertStrictEquals(util.getSystemErrorName(-4091), "EADDRINUSE");
+ break;
+
+ case "darwin":
+ assertStrictEquals(util.getSystemErrorName(-48), "EADDRINUSE");
+ break;
+
+ case "linux":
+ assertStrictEquals(util.getSystemErrorName(-98), "EADDRINUSE");
+ break;
+ }
+ },
+});
+
+Deno.test({
+ name: "[util] deprecate() works",
+ fn() {
+ const fn = util.deprecate(() => {}, "foo");
+ fn();
+ },
+});
+
+Deno.test({
+ name: "[util] callbackify() works",
+ fn() {
+ const fn = util.callbackify(() => Promise.resolve("foo"));
+ fn((err, value) => {
+ assert(err === null);
+ assert(value === "foo");
+ });
+ },
+});
+
+Deno.test({
+ name: "[util] callbackify(undefined) throws",
+ fn() {
+ assertThrows(
+ // @ts-expect-error: testing runtime error
+ () => util.callbackify(undefined),
+ TypeError,
+ 'The "original" argument must be of type function',
+ );
+ },
+});
diff --git a/tests/unit_node/v8_test.ts b/tests/unit_node/v8_test.ts
new file mode 100644
index 000000000..e48285d4e
--- /dev/null
+++ b/tests/unit_node/v8_test.ts
@@ -0,0 +1,55 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import {
+ cachedDataVersionTag,
+ getHeapStatistics,
+ setFlagsFromString,
+} from "node:v8";
+import { assertEquals } from "@test_util/std/assert/mod.ts";
+
+// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-version-tag.js#L6
+Deno.test({
+ name: "cachedDataVersionTag success",
+ fn() {
+ const tag = cachedDataVersionTag();
+ assertEquals(typeof tag, "number");
+ assertEquals(cachedDataVersionTag(), tag);
+ },
+});
+
+// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-stats.js#L6
+Deno.test({
+ name: "getHeapStatistics success",
+ fn() {
+ const s = getHeapStatistics();
+ const keys = [
+ "does_zap_garbage",
+ "external_memory",
+ "heap_size_limit",
+ "malloced_memory",
+ "number_of_detached_contexts",
+ "number_of_native_contexts",
+ "peak_malloced_memory",
+ "total_available_size",
+ "total_global_handles_size",
+ "total_heap_size",
+ "total_heap_size_executable",
+ "total_physical_size",
+ "used_global_handles_size",
+ "used_heap_size",
+ ];
+ assertEquals(Object.keys(s).sort(), keys);
+ for (const k of keys) {
+ assertEquals(
+ typeof (s as unknown as Record<string, unknown>)[k],
+ "number",
+ );
+ }
+ },
+});
+
+Deno.test({
+ name: "setFlagsFromString",
+ fn() {
+ setFlagsFromString("--allow_natives_syntax");
+ },
+});
diff --git a/tests/unit_node/vm_test.ts b/tests/unit_node/vm_test.ts
new file mode 100644
index 000000000..30449a7b1
--- /dev/null
+++ b/tests/unit_node/vm_test.ts
@@ -0,0 +1,66 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+import { isContext, runInNewContext } from "node:vm";
+import { assertEquals, assertThrows } from "@test_util/std/assert/mod.ts";
+
+Deno.test({
+ name: "vm runInNewContext",
+ fn() {
+ const two = runInNewContext("1 + 1");
+ assertEquals(two, 2);
+ },
+});
+
+Deno.test({
+ name: "vm runInNewContext sandbox",
+ fn() {
+ assertThrows(() => runInNewContext("Deno"));
+ // deno-lint-ignore no-var
+ var a = 1;
+ assertThrows(() => runInNewContext("a + 1"));
+
+ runInNewContext("a = 2");
+ assertEquals(a, 1);
+ },
+});
+
+// https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/javascript/JavascriptParser.js#L4329
+Deno.test({
+ name: "vm runInNewContext webpack magic comments",
+ fn() {
+ const webpackCommentRegExp = new RegExp(
+ /(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/,
+ );
+ const comments = [
+ 'webpackChunkName: "test"',
+ 'webpackMode: "lazy"',
+ "webpackPrefetch: true",
+ "webpackPreload: true",
+ "webpackProvidedExports: true",
+ 'webpackChunkLoading: "require"',
+ 'webpackExports: ["default", "named"]',
+ ];
+
+ for (const comment of comments) {
+ const result = webpackCommentRegExp.test(comment);
+ assertEquals(result, true);
+
+ const [[key, _value]]: [string, string][] = Object.entries(
+ runInNewContext(`(function(){return {${comment}};})()`),
+ );
+ const expectedKey = comment.split(":")[0].trim();
+ assertEquals(key, expectedKey);
+ }
+ },
+});
+
+Deno.test({
+ name: "vm isContext",
+ fn() {
+ // Currently we do not expose VM contexts so this is always false.
+ const obj = {};
+ assertEquals(isContext(obj), false);
+ assertEquals(isContext(globalThis), false);
+ const sandbox = runInNewContext("{}");
+ assertEquals(isContext(sandbox), false);
+ },
+});
diff --git a/tests/unit_node/worker_threads_test.ts b/tests/unit_node/worker_threads_test.ts
new file mode 100644
index 000000000..e79049229
--- /dev/null
+++ b/tests/unit_node/worker_threads_test.ts
@@ -0,0 +1,204 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import {
+ assert,
+ assertEquals,
+ assertObjectMatch,
+} from "@test_util/std/assert/mod.ts";
+import { fromFileUrl, relative } from "@test_util/std/path/mod.ts";
+import * as workerThreads from "node:worker_threads";
+import { EventEmitter, once } from "node:events";
+
+Deno.test("[node/worker_threads] BroadcastChannel is exported", () => {
+ assertEquals<unknown>(workerThreads.BroadcastChannel, BroadcastChannel);
+});
+
+Deno.test("[node/worker_threads] MessageChannel are MessagePort are exported", () => {
+ assertEquals<unknown>(workerThreads.MessageChannel, MessageChannel);
+ assertEquals<unknown>(workerThreads.MessagePort, MessagePort);
+});
+
+Deno.test({
+ name: "[worker_threads] isMainThread",
+ fn() {
+ assertEquals(workerThreads.isMainThread, true);
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] threadId",
+ fn() {
+ assertEquals(workerThreads.threadId, 0);
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] resourceLimits",
+ fn() {
+ assertObjectMatch(workerThreads.resourceLimits, {});
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] parentPort",
+ fn() {
+ assertEquals(workerThreads.parentPort, null);
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] workerData",
+ fn() {
+ assertEquals(workerThreads.workerData, null);
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] setEnvironmentData / getEnvironmentData",
+ fn() {
+ workerThreads.setEnvironmentData("test", "test");
+ assertEquals(workerThreads.getEnvironmentData("test"), "test");
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] Worker threadId",
+ async fn() {
+ const worker = new workerThreads.Worker(
+ new URL("./testdata/worker_threads.mjs", import.meta.url),
+ );
+ worker.postMessage("Hello, how are you my thread?");
+ await once(worker, "message");
+ const message = await once(worker, "message");
+ assertEquals(message[0].threadId, 1);
+ worker.terminate();
+
+ const worker1 = new workerThreads.Worker(
+ new URL("./testdata/worker_threads.mjs", import.meta.url),
+ );
+ worker1.postMessage("Hello, how are you my thread?");
+ await once(worker1, "message");
+ assertEquals((await once(worker1, "message"))[0].threadId, 2);
+ worker1.terminate();
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] Worker basics",
+ async fn() {
+ workerThreads.setEnvironmentData("test", "test");
+ workerThreads.setEnvironmentData(1, {
+ test: "random",
+ random: "test",
+ });
+ const { port1 } = new MessageChannel();
+ const worker = new workerThreads.Worker(
+ new URL("./testdata/worker_threads.mjs", import.meta.url),
+ {
+ workerData: ["hey", true, false, 2, port1],
+ // deno-lint-ignore no-explicit-any
+ transferList: [port1 as any],
+ },
+ );
+ worker.postMessage("Hello, how are you my thread?");
+ assertEquals((await once(worker, "message"))[0], "I'm fine!");
+ const data = (await once(worker, "message"))[0];
+ // data.threadId can be 1 when this test is run individually
+ if (data.threadId === 1) data.threadId = 3;
+ assertObjectMatch(data, {
+ isMainThread: false,
+ threadId: 3,
+ workerData: ["hey", true, false, 2],
+ envData: ["test", { test: "random", random: "test" }],
+ });
+ worker.terminate();
+ },
+ sanitizeResources: false,
+});
+
+Deno.test({
+ name: "[worker_threads] Worker eval",
+ async fn() {
+ const worker = new workerThreads.Worker(
+ `
+ import { parentPort } from "node:worker_threads";
+ parentPort.postMessage("It works!");
+ `,
+ {
+ eval: true,
+ },
+ );
+ assertEquals((await once(worker, "message"))[0], "It works!");
+ worker.terminate();
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] worker thread with type module",
+ fn() {
+ const worker = new workerThreads.Worker(
+ new URL("./testdata/worker_module/index.js", import.meta.url),
+ );
+ worker.terminate();
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] inheritances",
+ async fn() {
+ const worker = new workerThreads.Worker(
+ `
+ import { EventEmitter } from "node:events";
+ import { parentPort } from "node:worker_threads";
+ parentPort.postMessage(parentPort instanceof EventTarget);
+ await new Promise(resolve => setTimeout(resolve, 100));
+ parentPort.postMessage(parentPort instanceof EventEmitter);
+ `,
+ {
+ eval: true,
+ },
+ );
+ assertEquals((await once(worker, "message"))[0], true);
+ assertEquals((await once(worker, "message"))[0], false);
+ assert(worker instanceof EventEmitter);
+ assert(!(worker instanceof EventTarget));
+ worker.terminate();
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] Worker workerData",
+ async fn() {
+ const worker = new workerThreads.Worker(
+ new URL("./testdata/worker_threads.mjs", import.meta.url),
+ {
+ workerData: null,
+ },
+ );
+ worker.postMessage("Hello, how are you my thread?");
+ await once(worker, "message");
+ assertEquals((await once(worker, "message"))[0].workerData, null);
+ worker.terminate();
+
+ const worker1 = new workerThreads.Worker(
+ new URL("./testdata/worker_threads.mjs", import.meta.url),
+ );
+ worker1.postMessage("Hello, how are you my thread?");
+ await once(worker1, "message");
+ assertEquals((await once(worker1, "message"))[0].workerData, undefined);
+ worker1.terminate();
+ },
+});
+
+Deno.test({
+ name: "[worker_threads] Worker with relative path",
+ async fn() {
+ const worker = new workerThreads.Worker(relative(
+ Deno.cwd(),
+ fromFileUrl(new URL("./testdata/worker_threads.mjs", import.meta.url)),
+ ));
+ worker.postMessage("Hello, how are you my thread?");
+ assertEquals((await once(worker, "message"))[0], "I'm fine!");
+ worker.terminate();
+ },
+});
diff --git a/tests/unit_node/zlib_test.ts b/tests/unit_node/zlib_test.ts
new file mode 100644
index 000000000..31ebe0b4f
--- /dev/null
+++ b/tests/unit_node/zlib_test.ts
@@ -0,0 +1,172 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+
+import { assert, assertEquals } from "@test_util/std/assert/mod.ts";
+import { fromFileUrl, relative } from "@test_util/std/path/mod.ts";
+import {
+ brotliCompress,
+ brotliCompressSync,
+ brotliDecompressSync,
+ createBrotliCompress,
+ createBrotliDecompress,
+ createDeflate,
+ gzipSync,
+ unzipSync,
+} from "node:zlib";
+import { Buffer } from "node:buffer";
+import { createReadStream, createWriteStream } from "node:fs";
+import { Readable } from "node:stream";
+import { buffer } from "node:stream/consumers";
+
+Deno.test("brotli compression sync", () => {
+ const buf = Buffer.from("hello world");
+ const compressed = brotliCompressSync(buf);
+ const decompressed = brotliDecompressSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test("brotli compression async", async () => {
+ const buf = Buffer.from("hello world");
+ const compressed: Buffer = await new Promise((resolve) =>
+ brotliCompress(buf, (_, res) => {
+ return resolve(res);
+ })
+ );
+ assertEquals(compressed instanceof Buffer, true);
+ const decompressed = brotliDecompressSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test("gzip compression sync", { sanitizeResources: false }, () => {
+ const buf = Buffer.from("hello world");
+ const compressed = gzipSync(buf);
+ const decompressed = unzipSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test("brotli compression", async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const compress = createBrotliCompress();
+ const filePath = relative(
+ Deno.cwd(),
+ fromFileUrl(new URL("./testdata/lorem_ipsum.txt", import.meta.url)),
+ );
+ const input = createReadStream(filePath);
+ const output = createWriteStream("lorem_ipsum.txt.br");
+
+ const stream = input.pipe(compress).pipe(output);
+
+ stream.on("finish", () => {
+ const decompress = createBrotliDecompress();
+ const input2 = createReadStream("lorem_ipsum.txt.br");
+ const output2 = createWriteStream("lorem_ipsum.txt");
+
+ const stream2 = input2.pipe(decompress).pipe(output2);
+
+ stream2.on("finish", () => {
+ resolve();
+ });
+ });
+
+ await promise;
+ const content = Deno.readTextFileSync("lorem_ipsum.txt");
+ assert(content.startsWith("Lorem ipsum dolor sit amet"));
+ try {
+ Deno.removeSync("lorem_ipsum.txt.br");
+ } catch {
+ // pass
+ }
+ try {
+ Deno.removeSync("lorem_ipsum.txt");
+ } catch {
+ // pass
+ }
+});
+
+Deno.test("brotli end-to-end with 4097 bytes", () => {
+ const a = "a".repeat(4097);
+ const compressed = brotliCompressSync(a);
+ const decompressed = brotliDecompressSync(compressed);
+ assertEquals(decompressed.toString(), a);
+});
+
+Deno.test(
+ "zlib create deflate with dictionary",
+ { sanitizeResources: false },
+ async () => {
+ const { promise, resolve } = Promise.withResolvers<void>();
+ const handle = createDeflate({
+ dictionary: Buffer.alloc(0),
+ });
+
+ handle.on("close", () => resolve());
+ handle.end();
+ handle.destroy();
+
+ await promise;
+ },
+);
+
+Deno.test(
+ "zlib flush i32",
+ // FIXME: Handle is not closed properly
+ { sanitizeResources: false },
+ function () {
+ const handle = createDeflate({
+ // @ts-expect-error: passing non-int flush value
+ flush: "",
+ });
+
+ handle.end();
+ handle.destroy();
+ },
+);
+
+Deno.test("should work with dataview", () => {
+ const buf = Buffer.from("hello world");
+ const compressed = brotliCompressSync(new DataView(buf.buffer));
+ const decompressed = brotliDecompressSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test("should work with a buffer from an encoded string", () => {
+ const encoder = new TextEncoder();
+ const buffer = encoder.encode("hello world");
+ const buf = Buffer.from(buffer);
+ const compressed = brotliCompressSync(buf);
+ const decompressed = brotliDecompressSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test(
+ "zlib compression with dataview",
+ { sanitizeResources: false },
+ () => {
+ const buf = Buffer.from("hello world");
+ const compressed = gzipSync(new DataView(buf.buffer));
+ const decompressed = unzipSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+ },
+);
+
+Deno.test("zlib compression with an encoded string", {
+ sanitizeResources: false,
+}, () => {
+ const encoder = new TextEncoder();
+ const buffer = encoder.encode("hello world");
+ const compressed = gzipSync(buffer);
+ const decompressed = unzipSync(compressed);
+ assertEquals(decompressed.toString(), "hello world");
+});
+
+Deno.test("brotli large chunk size", async () => {
+ const input = new Uint8Array(1000000);
+ for (let i = 0; i < input.length; i++) {
+ input[i] = Math.random() * 256;
+ }
+ const output = await buffer(
+ Readable.from([input])
+ .pipe(createBrotliCompress())
+ .pipe(createBrotliDecompress()),
+ );
+ assertEquals(output.length, input.length);
+});